《计算复杂性:现代方法》——第一部分 基本复杂性类 第1章 计算模型——为什么模型选择无关紧要 1.1 计算的建模:你真正需要了解的内容

简介:

本节书摘来自华章计算机《计算复杂性:现代方法》一书中的第1章,第1.1节,作者 [美]桑杰夫·阿罗拉(Sanjeev Arora),博阿兹·巴拉克(Boaz Barak),译 骆吉洲,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

第一部分

基本复杂性类

第1章

计算模型——为什么模型选择无关紧要

screenshot

初看起来,为计算建立数学模型可谓难上加难。这是由于,历史上人类在解决各种计算任务的过程中用尽了各种各样的方法——从直觉和灵感到算盘或计算尺,再到现代的计算机。此外,自然界中其他生物或系统也时刻需要处理各种计算任务,而它们的解决之道也是纷乱繁杂。怎样才能找出一个能抓住这些计算方法共性的简洁的数学模型呢?如果再考虑到本书要关注的计算效率问题,则建模问题就更加无从下手了。考虑计算效率问题似乎必须小心地选择计算模型,因为即便是孩童也知道一款新的视频游戏是否能“高效运行”将依赖于他的计算机硬件。

令人惊讶的是,一个简洁的计算模型——图灵机足以研究关于计算及其效率的所有问题。将讨论范围仅限于这种计算模型的理由是充分的,因为它能够模拟所有能被物理实现的计算方法而仅在计算效率上略有损失。因此,图灵机“能高效解决”的计算任务至少与其他计算方法能高效解决的计算任务一样多(一个可能的例外是第10章讨论的量子计算机模型,但目前还不清楚它能否被物理实现)。

本章将给出图灵机的形式定义,并研究它的一些基本性质。1.1节概述了图灵机模型及其基本性质。该小节还为普通读者概述了1.2节至1.5节的结论,以帮助这些读者跳过图灵机模型杂乱的细节而直接从1.6节开始进入复杂性理论。

由于复杂性理论 “complexity”一词译做“复杂性”或“复杂度”。当比较抽象地论及“complexity”时译作“复杂性”,当用具体函数论及“complexity”的高低时,译作“复杂度”。关注的是计算效率,因此1.6节给出了本书最重要的几个定义之一,亦即复杂性类P的定义,它从数学上刻画了由所有能被高效求解的判定问题构成的集合。1.6节还就下面的问题展开了一些讨论:类P是否真的刻画了“高效计算”这一非正式概念的本质。该小节还表明了图灵机的定义是如何贯穿全书的;同时还指出,类P是定义很多其他模型的出发点,这些模型包括非确定型图灵机、概率型图灵机、量子图灵机、布尔线路、并行计算机、判定树和通信游戏,其中有些模型用于研究物理计算的有争议的实现模式,而另一些则主要用于深入理解图灵机计算的本质。

1.1 计算的建模:你真正需要了解的内容

形式地讨论图灵机将不可避免地遇到一些单调乏味的概念。我们先概述这些直觉概念,以便普通读者可以跳过正式的讨论而直接进入从1.6节开始的复杂性理论。当他们在阅读后续章节的过程中偶尔遇到确实需要图灵机模型的细节时,可以随时回头阅读跳过的小节。

千百年来,“计算”这个词曾一直被理解为将机械的规则作用于操作数上,其中完成操作的人或机器允许使用演草纸来记录中间结果。图灵机是这种直觉概念的具体实现。1.2.1节表明,图灵机等价于任何一种现代程序设计语言——除了对内存大小没有限制之外。

下面,我们按照本章开头所引用的图灵的话非正式地描述图灵机模型。令f是一个以位串(即{0,1}中的成员)为输入而以0或1为输出的函数。计算f的一个算法是一组机械的规则,根据这组规则我们可以为任意输入x∈{0,1}计算函数值f(x)。所采用的计算规则是固定不变的(即同一组规则必须适用于所有输入),尽管其中每条规则被使用的次数是任意的。每条规则将用到如下定义的一个或多个“基本”操作:

1.从输入中读取一个位;

2.从算法使用的演草纸或工作空间中读取一个位(也可能是某个更大的字母表中的一个符号,例如集合{0,…,9}中的一个十进制位)。

根据读取的值,

1.在草稿纸上写出一个位或符号;

2.要么停机并输出0或1,要么重新选择下一步要执行的计算规则。

最后,图灵机的运行时间指的是上述基本操作被执行的次数。我们采用渐进术语描述运行时间。因此,如果图灵机在长度为n的输入上至多执行T(n)个基本操作,则称该图灵机的运行时间为T(n)。

下面列举图灵机模型的一些简单事实。

screenshot

screenshot

4.简单地利用前面两个事实可以证明,存在不能被任何图灵机计算的函数,见1.5节。不可计算性与著名的哥德尔不完全定理关系密切,见1.5.2节。

相关文章
|
人工智能
写歌词的技巧和方法基础教程:引领你走进音乐世界,妙笔生词智能写歌词软件
音乐是灵魂的语言,歌词则是承载灵魂的载体。本文介绍写歌词的基础技巧,包括寻找灵感、确定主题、构建结构和运用语言,同时推荐《妙笔生词智能写歌词软件》作为创作助手,助力你走进丰富多彩的音乐世界。
|
人工智能 自然语言处理 运维
AI中台助力企业智能化转型
本文主要和大家分享 “AI中台如何助力企业数字化以及智能化转型”,以及我在构建 AI中台方面的一些心得和经验。
AI中台助力企业智能化转型
|
JavaScript 前端开发 网络协议
Reactive 架构才是未来
Reactive 编程模型有哪些价值?它的原理是什么?如何正确使用?本文作者将根据他学习和使用的经历,分享 Reactive 的概念、规范、价值和原理。欢迎同学们共同探讨、斧正。(文末福利:Java 系列直播,畅谈架构、Reactive Spring、DDD 和高可用。)
9005 0
Reactive 架构才是未来
|
机器学习/深度学习 弹性计算
ECS:利用ECS进行深度学习详细攻略
ECS:利用ECS进行深度学习详细攻略
ECS:利用ECS进行深度学习详细攻略
|
存储 负载均衡 数据可视化
[典藏版]深入理解Golang协程调度GPM模型
《深入理解Golang协程调度器GPM模型》介绍了Golang中调度器的由来,以及如何演进到GPM模型的设计,其中包含一个Go协程在启动过程中如何运行和加载GPM模型的细节动作,也包括GPM模型的可视化编程和调试分析。最后形象介绍GPM模型的各个触发条件及运作的场景。
758 1
[典藏版]深入理解Golang协程调度GPM模型
|
JSON JavaScript 机器人
玩转掘金自动签到+每日抽奖+海底掘金+邮件通知
玩转掘金自动签到+每日抽奖+海底掘金+邮件通知
901 0
|
存储 人工智能 城市大脑
产品百科 |数字政府解决方案总述
本文介绍了产品百科 |数字政府解决方案总述
产品百科 |数字政府解决方案总述
|
算法 调度
文件系统-性能优化-磁臂调度算法
操作系统 文件系统 性能优化 磁臂调度算法 先来先服务 FCFS (First Come First Served) 最短寻道时间优先 SSF (Shortest Seek First) 扫描算法(SCAN)/电梯算法 (Elevator algorithm) 单向扫描调度算法 (C-SCAN)N-Step-SCAN FSCAN 旋转调度
903 0
文件系统-性能优化-磁臂调度算法
|
编解码 5G 芯片
真•千元5G手机,realme V3现已开售
9月1日,realme正式发布了真我 V3手机,该机支持5G,采用联发科芯片,5000mAh电池,支持18瓦有线快充,6GB+64GB售价仅需999元,是真千元5G手机。
415 0
真•千元5G手机,realme V3现已开售