计算理论基础:2、丘奇-图灵论题

2024-03-27 21:04

本文主要是介绍计算理论基础:2、丘奇-图灵论题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

什么是算法?算法就是图灵机

3.1 图灵机

图灵机用一个无限长的带子作为无限存储,它有一个读写头,能在带子上读、写和左右移动。图灵机开始运作时,带子上只有输入串,其他地方都是空的,如果需要保存信息,它可将这个信息写在带子上。为了读已经写下的信息,它可将读写头往回移动到这个信息所在的位置。机器不停地计算,直到产生输出为止。机器预置了接收和拒绝两种状态,如果进入这两种状态,就产生接收(accept)或拒绝(reject),如果不能进入任何接收或拒绝状态,就继续执行下去,永不停止。

3.1.1 图灵机的形式化定义

D e f 3.1 Def\ 3.1 Def 3.1图灵机是一个7元组 ( Q , ∑ , Γ , δ , q 0 , q a c c e p t , q r e j e c t ) (Q,\sum,\Gamma,\delta,q_0,q_{accept},q_{reject}) (Q,,Γ,δ,q0,qaccept,qreject),其中: Q , ∑ , Γ Q,\sum,\Gamma Q,,Γ都是有穷集合,并且

  1. Q Q Q是状态集
  2. ∑ \sum 是输入字母表,不包括特殊空白符号 ⊔ \sqcup
  3. Γ \Gamma Γ是带子字母表,其中, ⊔ ∈ Γ , ⊳ ∈ Γ , ∑ ⊆ Γ \sqcup\in\Gamma,\rhd\in\Gamma,\sum\subseteq\Gamma Γ,Γ,Γ
  4. δ : Q × Γ → Q × Γ × { L , R } \delta:Q\times\Gamma\rightarrow Q\times \Gamma\times\{L,R\} δ:Q×ΓQ×Γ×{L,R}是转移函数
  5. q 0 ∈ Q q_0\in Q q0Q是起始状态
  6. q a c c e p t ∈ Q q_{accept}\in Q qacceptQ是接收状态
  7. q r e j e c t ∈ Q q_{reject}\in Q qrejectQ是拒绝状态,且 q r e j e c t ≠ q a c c e p t q_{reject}\ne q_{accept} qreject=qaccept

⊳ \rhd 是最左端,转移函数 δ ( q , a ) = ( r , a , L ) \delta(q,a)=(r,a,L) δ(q,a)=(r,a,L)时,机器写下符号 b b b以取代 a a a,并进入状态 r r r,第三个分量指出时向左( L L L)还是向右( R R R),

例:输入一个二进制数n,低位在前,输出n+1

InputOUTput
101 ⊔ ⊔ 101\sqcup\sqcup 101 011 ⊔ ⊔ 011\sqcup\sqcup 011
11 ⊔ ⊔ 11\sqcup\sqcup 11 001 ⊔ ⊔ 001\sqcup\sqcup 001

∑ = { 0 , 1 } , Γ = { 0 , 1 , ⊔ , ⊳ } \sum=\{0,1\},\Gamma=\{0,1,\sqcup,\rhd\} ={0,1},Γ={0,1,,},容易的,一直写0,直到遇到第一个为0或 ⊔ \sqcup 的,改写为1,停下。

0,1/S
1,0/R
q 0
q

格局:图灵机计算过程中,当前状态、当前带子内容和读写头当前位置组合在一起,称为图灵机的格局。对于状态 q q q和带子字母表 Γ \Gamma Γ上的两个字符串 u u u v v v,以 u q v uqv uqv表示如下格局:当前状态是 q q q,当前带子内容是 u v uv uv,读写头的当前位置是 v v v的第一个符号,带子上 v v v的最后一个符号以后的符号都是空白符。

这篇关于计算理论基础:2、丘奇-图灵论题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/853373

相关文章

使用C#代码计算数学表达式实例

《使用C#代码计算数学表达式实例》这段文字主要讲述了如何使用C#语言来计算数学表达式,该程序通过使用Dictionary保存变量,定义了运算符优先级,并实现了EvaluateExpression方法来... 目录C#代码计算数学表达式该方法很长,因此我将分段描述下面的代码片段显示了下一步以下代码显示该方法如

MySQL中my.ini文件的基础配置和优化配置方式

《MySQL中my.ini文件的基础配置和优化配置方式》文章讨论了数据库异步同步的优化思路,包括三个主要方面:幂等性、时序和延迟,作者还分享了MySQL配置文件的优化经验,并鼓励读者提供支持... 目录mysql my.ini文件的配置和优化配置优化思路MySQL配置文件优化总结MySQL my.ini文件

如何用Java结合经纬度位置计算目标点的日出日落时间详解

《如何用Java结合经纬度位置计算目标点的日出日落时间详解》这篇文章主详细讲解了如何基于目标点的经纬度计算日出日落时间,提供了在线API和Java库两种计算方法,并通过实际案例展示了其应用,需要的朋友... 目录前言一、应用示例1、天安门升旗时间2、湖南省日出日落信息二、Java日出日落计算1、在线API2

2024年流动式起重机司机证模拟考试题库及流动式起重机司机理论考试试题

题库来源:安全生产模拟考试一点通公众号小程序 2024年流动式起重机司机证模拟考试题库及流动式起重机司机理论考试试题是由安全生产模拟考试一点通提供,流动式起重机司机证模拟考试题库是根据流动式起重机司机最新版教材,流动式起重机司机大纲整理而成(含2024年流动式起重机司机证模拟考试题库及流动式起重机司机理论考试试题参考答案和部分工种参考解析),掌握本资料和学校方法,考试容易。流动式起重机司机考试技

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

poj 1113 凸包+简单几何计算

题意: 给N个平面上的点,现在要在离点外L米处建城墙,使得城墙把所有点都包含进去且城墙的长度最短。 解析: 韬哥出的某次训练赛上A出的第一道计算几何,算是大水题吧。 用convexhull算法把凸包求出来,然后加加减减就A了。 计算见下图: 好久没玩画图了啊好开心。 代码: #include <iostream>#include <cstdio>#inclu

uva 1342 欧拉定理(计算几何模板)

题意: 给几个点,把这几个点用直线连起来,求这些直线把平面分成了几个。 解析: 欧拉定理: 顶点数 + 面数 - 边数= 2。 代码: #include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm>#include <cstring>#include <cmath>#inc

uva 11178 计算集合模板题

题意: 求三角形行三个角三等分点射线交出的内三角形坐标。 代码: #include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm>#include <cstring>#include <cmath>#include <stack>#include <vector>#include <

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

XTU 1237 计算几何

题面: Magic Triangle Problem Description: Huangriq is a respectful acmer in ACM team of XTU because he brought the best place in regional contest in history of XTU. Huangriq works in a big compa