《计算复杂性:现代方法》——第一部分 基本复杂性类 第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节。

相关文章
|
1月前
|
机器学习/深度学习 数据采集 监控
机器学习-特征选择:如何使用递归特征消除算法自动筛选出最优特征?
机器学习-特征选择:如何使用递归特征消除算法自动筛选出最优特征?
71 0
|
7月前
|
机器学习/深度学习 算法 Python
K最近邻算法:简单高效的分类和回归方法(三)
K最近邻算法:简单高效的分类和回归方法(三)
|
10天前
|
数据可视化
R语言实现有限混合模型建模分析
R语言实现有限混合模型建模分析
10 0
|
1月前
|
机器学习/深度学习
大模型开发: 解释批量归一化以及它在训练深度网络中的好处。
批量归一化(BN)是2015年提出的加速深度学习训练的技术,旨在解决内部协变量偏移、梯度消失/爆炸等问题。BN通过在每层神经网络的小批量数据上计算均值和方差,进行标准化处理,并添加可学习的γ和β参数,保持网络表达能力。这样能加速训练,降低超参数敏感性,对抗过拟合,简化初始化。BN通过稳定中间层输入分布,提升了模型训练效率和性能。
30 3
|
7月前
|
数据采集 存储 运维
K最近邻算法:简单高效的分类和回归方法
K最近邻算法:简单高效的分类和回归方法
|
4月前
|
机器学习/深度学习 人工智能 安全
人工智能中非平衡数据处理方法、欠采样、过采样讲解(简单易懂)
人工智能中非平衡数据处理方法、欠采样、过采样讲解(简单易懂)
117 0
|
5月前
|
机器学习/深度学习 算法 前端开发
【机器学习基础】机器学习的模型评估(评估方法及性能度量原理及主要公式)
【机器学习基础】机器学习的模型评估(评估方法及性能度量原理及主要公式)
290 0
|
7月前
|
机器学习/深度学习 数据采集 并行计算
K最近邻算法:简单高效的分类和回归方法(二)
K最近邻算法:简单高效的分类和回归方法(二)
|
9月前
|
计算机视觉
ONE-PEACE: 更好的通用表征模型
ONE-PEACE: 更好的通用表征模型
|
9月前
|
算法 数据挖掘 计算机视觉
在对比学习中引入显式跨图像相似度建模能力,中南大学显著提高无监督表征的泛化能力(2)
在对比学习中引入显式跨图像相似度建模能力,中南大学显著提高无监督表征的泛化能力