计算理论复习

news2024/11/13 12:07:48

1.Turing Machine

确定性图灵机

图灵机有很多不同的定义,这里选取其中一种,其它定义下的图灵机往往与下面这种定义的图灵机计算能力等价。

图灵机是一个在一条可双向无限延伸且被划分为若干格子的纸带上进行操作的机器,其有内部状态,还有一个可以在纸带上进行修改与移动的磁针。

图灵机从初始状态与纸带起点起,每次根据当前的内部状态和当前磁针指向的纸带上的单元格中的字符进行操作:若转移函数没有定义则停机,否则根据转移函数将内部状态和磁针指向的格子中的字符进行修改,根据L/R决定向左移动一格或向右移动一格。

图灵机与冯·诺依曼计算机解决问题的时间复杂度差别在多项式级别内,所以研究复杂度类时可以使用图灵机作为计算模型。 

非确定性图灵机

非确定型图灵机是图灵机的一种,它与确定型图灵机的不同在于:确定型图灵机的每一步只能转移到一个状态,而非确定型图灵机可以「同时」转移到多个状态,从而在多个「分支」并行计算,一旦这些「分支」中有一个在接受状态停机,则此非确定性图灵机接受这个输入。

事实上,任何确定型图灵机都可以用类似于迭代加深搜索的方式在指数级时间内模拟一台非确定型图灵机多项式时间内的行为。

在现实生活中,确定型图灵机相当于单核处理器,只支持串行处理;而非确定型图灵机相当于理想的多核处理器,支持无限大小的并行处理。

在计算过程中,机器可以在 多种可能的转移中选择一种继续进行。它的转移函数具有如下形式:

 图灵可识别当且仅当可用非确定性图灵机识别 

模拟过程:
输入带 1 包含输入 w ,模拟带 2 和地址带 3 都是空的;
输入带 1 复制到模拟带 2 上;
在模拟带 2 上模拟该分支上的确定性计算

多带图灵机

标准的图灵机只能在一条纸带上进行操作,但为了方便,本文中研究多带图灵机。对于一个k带图灵机,其中一条纸带是只读的输入带,而剩下的k-1条纸带可以进行读写,并且这条纸带中还有一条纸带用作输出。

多带图灵机的纸带数必须是有限的。

对于一个多带图灵机,它使用的空间是磁头在除输入带外的其它纸带上所访问过的单元格数目。

 

单带上放入 # w 1 w 2 …w n # # # # ,根据 多带图灵机 的状态转移函数:
1. 模拟读取: 从左端点的第一个 # 开始扫描, 直到第k+ 1 # ,确定带点的符号的位置,读
取每个带子的内容;
2. 模拟移动: 移动带点符号的位置,用带点版本的某一符号替换普通符号;
3. 模拟写入: 移动到某个 # 上,写下指定符号,并把这个位置以右的所有内容向右平移一格,
重新写上 #
  图灵 可识别 当且仅当可用 多带 图灵机识别

丘奇 - 图灵论题

丘奇 - 图灵论题称,若一类问题有一个有效的方法解决,则这类问题可以被某个图灵机解决。

其中,「有效的方法」需要满足:

  1. 包含有限条清晰的指令;
  2. 当用其解决这类问题的其中一个时,这个方法需要在有限步骤内结束,且得到正确的答案。

这个论题没有被证明,但其是计算理论的一条基本公理。

2.可判定性和可归约性

语言与可判定

【定义】语言 :若 集合 A 为包含了所有能被机器 M 接受 的字符串,则称(字符串集合)A 机器 M 语言 ,记作 L ( M ) =A ,又称M 识别 A M 接受 A
【定义】可判定 :如果一个语言能被某一 判定器 (处处停机的图灵机) 识别 ,简称 可判定的

可计算性

不可计算问题

对于一个判定问题,若存在一个总是在有限步内停机且能够正确进行判定的图灵机,则这个问题是一个 图灵可计算 的问题,否则这个问题是一个 图灵不可计算 的问题。

由于图灵机可以被自然数编码,所以图灵机的个数是可数无穷,而语言(即二进制串的集合)的个数是不可数无穷,而每个图灵机最多判定一个语言,所以一定存在图灵不可计算的问题。

停机问题

停机问题是一个经典的图灵不可计算问题:给定  和 ,判定  在输入为  时是否会在有限步内停机。

证明:

可判定问题 

不可判定问题

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1911699.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++ 是否变得比 C 更流行了?

每年都会出现一种新的编程语言。创造一种新语言来解决计算机科学中的挑战的诱惑很难抗拒。一些资料表明,目前有多达 2,500 种语言,这并不奇怪! 对于我们嵌入式软件开发人员来说,这个列表并不长。事实上,我们可以用一只…

go-redis源码解析:连接池原理

1. 执行命令的入口方法 redis也是通过hook执行命令,initHooks时,会将redis的hook放在第一个 通过hook调用到process方法,process方法内部再调用_process 2. 线程池初始化 redis在新建单客户端、sentinel客户端、cluster客户端等&#xff0c…

ChatGPT提问提示指南PDF下载经典分享推荐书籍

ChatGPT提问提示指南PDF,在本书的帮助下,您将学习到如何有效地向 ChatGPT 提出问题,以获得更准确和有用的回答。我们希望这本书能够为您提供实用的指南和策略,帮助您更好地与 ChatGPT 交互。 ChatGPT提问提示指南PDF下载 无论您是…

UMI HTTP接口手册

Translate to English 命令行手册: README_CLI.mdHTTP接口手册: README_HTTP.md HTTP接口手册 (本文档仅适用于 Umi-OCR 最新版本。旧版本请查看 Github备份分支 中对应版本的文档。) 基础说明 如上图,必须允许HTT…

git只列出本地分支

git只列出本地分支 git branch --list git强制删除本地分支 git branch -D_error: the branch dlx-test is not fully merged. -CSDN博客文章浏览阅读648次。git branch -d 可以通过: git branch 查看所有本地分支及其名字,然后删除特定分支。git删除远程remote分支…

IDEA如何创建原生maven子模块

文件 -> 新建 -> 新模块 -> Maven ArcheTypeMaven ArcheType界面中的输入框介绍 名称:子模块的名称位置:子模块存放的路径名创建Git仓库:子模块不单独作为一个git仓库,无需勾选JDK:JDK版本号父项:…

【深度学习基础】MacOS PyCharm连接远程服务器

目录 一、需求描述二、建立与服务器的远程连接1. 新版Pycharm的界面有什么不同?2. 创建远程连接3. 建立本地项目与远程服务器项目之间的路径映射4.设置保存自动上传文件 三、设置解释器总结 写在前面,本人用的是Macbook Pro, M3 MAX处理器&am…

设计模式探索:装饰器模式

1. 装饰器模式定义 装饰器模式(Decorator Pattern) 装饰器模式是一种结构型设计模式,允许向一个对象动态添加行为。在不改变类的接口的情况下,装饰器模式在原始类上增加额外的职责,并且支持多个装饰器嵌套使用。 装…

双色球 | python

1. 玩法规则 “双色球”每注投注号码由 6 个红色球号码和 1 个蓝色球号码组成。红色球号码从 1—33 中选择,蓝色球号码从 1—16 中选择。 球的数字匹配数量和颜色决定了是否中奖。 2. 需求 生成本期双色球中奖号码。(注意:1.生成的红球随机有…

Vuforia AR篇(八)— AR塔防上篇

目录 前言一、设置Vuforia AR环境1. 添加AR Camera2. 设置目标图像 二、创建塔防游戏基础1. 导入素材2. 搭建场景3. 创建敌人4. 创建脚本 前言 在增强现实(AR)技术快速发展的今天,Vuforia作为一个强大的AR开发平台,为开发者提供了…

Docker-compse的应用

1 docker-compose # 使用了docker 面临一个比较大的问题,如果一个djagno项目,使用mysql,redis,不要一次性把所有服务都放到一个容器中,每个服务一个容器,批量的管理多个容器,比较难以操作&…

昇思25天学习打卡营第1天|小试牛刀

这里写自昇思25天学习打卡营第1天|小试牛刀定义目录标题 昇思25天学习打卡营第1天学习了初学入门之基本介绍。了解了昇思MindSpore和华为昇腾AI全栈。训练营中的教程丰富,有初学入门、应用实践和量子计算等。学习打卡营是很好的提升自己的机会。 昇腾计算&#xff…

前端图表库G2快速上手

文档地址&#xff1a; https://g2-v3.antv.vision/zh/docs/manual/getting-started/ https://g2.antv.antgroup.com/ 安装&#xff1a; pnpm i antv/g2在vue3中使用&#xff1a; <script setup> import {Chart} from antv/g2; import {onMounted} from "vue"…

生成多个ssh访问不同git

如果&#xff0c;你的git代码仓库&#xff0c;比如说腾讯云coding&#xff0c;通过ssh秘钥访问&#xff0c;一直用的好好的&#xff0c;有一天&#xff0c;你又增加一个aliyun云效的代码仓库&#xff0c;又配置了aliyun云效的秘钥并且&#xff0c;根据aliyun云效的官方文档上传…

【持续集成_03课_Linux部署Sonar+Gogs+Jenkins】

一、通过虚拟机搭建Linux环境-CnetOS 1、安装virtualbox&#xff0c;和Vmware是一样的&#xff0c;只是box更轻量级 1&#xff09;需要注意内存选择&#xff0c;4G 2、启动完成后&#xff0c;需要获取服务器IP地址 命令 ip add 服务器IP地址 通过本地的工具&#xff0c;进…

后端——全局异常处理

一、老办法try-catch 当我们执行一些错误操作导致程序报错时&#xff0c;程序会捕捉到异常报错&#xff0c;这个异常会存在一个Exception对象里 那我们在spring boot工程开发时&#xff0c;当我们执行一个sql查询时报错了&#xff0c;那就会从最底层的Mapper层捕捉到Exceptio…

三相感应电机的建模仿真(3)基于ABC相坐标系Level2 S-Fun以及定子串不对称电抗起动过程仿真分析

1. 概述 2. 三相感应电动机状态方程式 3. 基于Level2 S-Function的仿真模型建立 4. 动态分析实例 5. 总结 6. 参考文献 1. 概述 三相感应电机自然坐标系下的数学模型是一组周期性变系数微分方程(其电感矩阵是转子位置角的函数,转子位置角随时间按正弦规律变化),将其用…

工作手机监管系统销售防飞单保护企业资源

在竞争激烈的市场环境中&#xff0c;企业的每一笔交易都承载着发展的希望与未来的蓝图。然而&#xff0c;飞单现象如同暗流涌动&#xff0c;悄然侵蚀着企业的利润根基&#xff0c;威胁着团队的凝聚力与客户的信任。为了构建更加稳固的业务防线&#xff0c;我们隆重介绍——百川…

Instruct-GS2GS:通过用户指令编辑 GS 三维场景

Paper: Instruct-GS2GS: Editing 3D Gaussian Splats with Instructions Introduction: https://instruct-gs2gs.github.io/ Code: https://github.com/cvachha/instruct-gs2gs Instruct-GS2GS 复用了 Instruct-NeRF2NeRF 1 的架构&#xff0c;将基于 NeRF 的三维场景编辑方法迁…

gpt-4o看图说话-根据图片回答问题

问题&#xff1a;中国的人口老龄化究竟有多严重&#xff1f; 代码下实现如下&#xff1a;&#xff08;直接调用openai的chat接口&#xff09; import os import base64 import requests def encode_image(image_path): """ 对图片文件进行 Base64 编码 输入…