(每日一题)计算理论与算法模型

雅思2023-10-14 20:10:45佚名

文章目录

一、计算理论内容概览

二、计算问题的有效性

三、语言与算法模型

四、可估算性与可断定性

五、可断定性与有效性

六、语言分类

一、计算理论内容概览

估算理论分为方式语言与自动机,可估算部份,估算复杂性部份;

方式语言与自动机内容:自动机,确定性有限自动机,非确定性有限自动机,正则语言,泵引理,上下文无关句型巴伐利亚算法,下推自动机,都属于方式语言与自动机部份;

可估算内容:图灵机,确定性图灵机,非确定性图灵机,丘奇-图灵命题,可断定性,可估算性等问题;

估算复杂性内容:时间复杂性,模型间的时间复杂性关系,PrmPP类,NPrmNPNP类;

二、计算问题的有效性

可估算性包含可断定性,可断定性包含有效性;

可估算性>可断定性>有效性;

估算问题对应的算法中,有些算法是有效的,有些算法是无效的,

如:穷举算法,蛮力搜索之类的算法,没有有效性可言,肯定不是有效算法;贪心算法,欧几里得算法是有效算法;

这儿希望可以分辨有效算法与无效算法;

在上一篇博客【计算理论】计算复杂性(方程等价|P类|丘奇-图灵论题延展)中给出了有效算法的严格的物理定义;

有效算法:就是在方程时间内,可以执行完毕,得到一个确定的结果的算法;

三、语言与算法模型

语言与算法模型:

①正则语言(自动机):Lr=L(a∗b∗)rmL_r=L(a^*b^*)L

=L(a

),该语言是正则表达式语言;rrmrr下标涵义是正则;

正则语言参考:【计算理论】正则语言(正则表达式原子定义|正则表达式递归定义|正则表达式语言原子定义|正则表达式语言结构归纳|正则表达式语言示例|依据正则表达式构造自动机)

②上下文无关语言(下推自动机):LCFL={anbn:n≥0}rmL_{CFL}={a^nb^n:ngeq0}L

CFL

={a

:n≥0},该语言不是正则表达式语言,是上下文无关语言;下标CFLrm涵义是-Free,上下文无关句型;

上下文无关句型参考:【计算理论】上下文无关句型(句型组成|规则|句型|句型示例|约定的缩写方式|句型剖析树)

③可判断语言(判断机):Ld={anbncn:n≥0}rmL_{d}={a^nb^nc^n:ngeq0}L

={a

:n≥0},该语言不是上下文无关语言,是可判断语言;下标drmdd含意是可判断;

可判断语言参考:【计算理论】可判断性(丘奇-图灵论题|可判断性引入|图灵机语言|图灵机结果|判断机|部份函数与全部函数|可判断性定义)

④可估算语言(图灵机):LTr=ATMrmL_{Tr}=A_{TM}L

Tr

=A

TM

,该语言是可估算的,不是图灵可判断的;下标TrrmTrTr含意是-(图灵机可辨识)即可估算的;

⑤不可估算语言(没有对应算法模型):LnTr=A‾TMrmL_{nTr}={A}_{TM}L

nTr

TM

,图灵机不辨识语言,不可估算语言;

参考博客:【计算理论】可判断性(通用图灵机和停机问题|可判断性与可估算性|语言与算法模型)

四、可估算性与可判断性

可判断性与可估算性

①可判断性():估算模型是图灵机中的判断机;

②可估算性(-图灵机可接受的):估算模型是图灵机;

可估算性包含可判断性;

可估算性与可判断性之间的互相关系:

补集可估算:假如一个语言的补集()是可估算的(-),这么称该语言是补集可估算的(co--);

判断=可估算+补集可估算:假如一个语言是可判断的(),这么这个语言是可估算的(-),同时这个语言又是补集是可估算的(co--);

可估算:-

补集可估算:co--

之前提到过通用图灵机语言ATMrmA_{TM}A

TM

是可估算的,对应的估算模型是图灵机,但ATMrmA_{TM}A

TM

是不可判断的;

可判断=可估算+补集可估算

通用图灵机语言ATMrmA_{TM}A

TM

是不可判断的,可估算的,其补集肯定是不可估算的;

参考博客:【计算理论】可判断性(通用图灵机和停机问题|可判断性与可估算性|语言与算法模型)

五、可判断性与有效性

可判断性与有效性:

①可判断性():估算模型是图灵机中的判断机;

②有效性:在方程时间内,可以执行完毕,得到一个确定的结果的算法;

六、语言分类

语言分类:

①可估算语言:下推自动机等价问题算法EQPDArmEQ_{PDA}EQ

PDA

,通用图灵机语言ATMrmA_{TM}A

TM

②可判断语言:无效算法语言巴伐利亚算法,有效算法语言;

③无效算法语言:蛮力穷举算法;

④有效算法语言:正则表达式,上下文无关语言,动态规划算法,贪心算法;

右图中,分为可估算,可判断,无效算法,有效算法;

①可估算:黑色部份之外的是可估算语言,对应的估算模型是图灵机;

②可判断:黑色圆框之内的是可判断语言,对应的估算模型是判断机;

③无效算法:黑色圆框与蓝色圆框之间的是无效算法,蛮力穷举算法;

④有效算法:红框内的算法是有效算法,可以在方程时间内得到一个结果;

相关推荐

猜你喜欢

大家正在看