📜  最后一分钟的笔记——计算理论

📅  最后修改于: 2022-05-13 02:24:08.574000             🧑  作者: Mango

最后一分钟的笔记——计算理论

在此处查看所有主题的最后一分钟注释。

我们将以总结的形式讨论对 GATE 考试有用的重要要点。有关详细信息,您可以参考this。

有限自动机:用于识别特定类型输入的模式。它是最受限制的自动机类型,只能接受正则语言(可以通过正则表达式使用 OR (+)、连接 (.)、Kleene Closure(*) 表示的语言,如 a*b*、(a+b)等等。)

确定性 FA 和非确定性 FA:在确定性 FA 中,每个输入符号上的每个状态只有一次移动,但在非确定性 FA 中,输入符号的一个状态可以有零次或多次移动。

笔记:

  • NDFA 和 DFA 接受的语言相同。
  • NDFA 和 DFA 的功率相同。
  • NDFA 中的状态数小于或等于 no。等效 DFA 中的状态数。
  • 对于具有 n 状态的 NFA,在最坏的情况下,DFA 中可能的最大状态为 2 n
  • 每个 NFA 都可以转换为相应的 DFA。


正则表达式的身份:

摩尔机:摩尔机是具有输出值的有限状态机,其输出仅取决于当前状态。
Mealy 机器:Mealy 机器也是具有输出值的有限状态机,其输出取决于当前状态和当前输入符号。
下推自动:下推自动机具有称为堆栈的额外内存,它比有限自动机提供更多功能。它用于识别上下文无关语言。

确定性和非确定性 PDA:在确定性 PDA 中,每个输入符号上的每个状态只有一次移动,但在非确定性 PDA 中,输入符号可以从一种状态移动不止一次。

笔记:

  • NPDA 的力量超过了 DPDA。
  • 不可能将每个 NPDA 转换为相应的 DPDA。
  • DPDA 接受的语言是 NPDA 接受的语言的子集。
  • DPDA 接受的语言称为 DCFL(Deterministic Context Free Languages),是 NPDA 接受的 NCFL(Non Deterministic CFL)的子集。

线性绑定自动机:线性绑定自动机具有称为磁带的有限内存量,可用于识别上下文相关语言。

  • LBA 比下推自动机更强大。
    FA < PDA < LBA < TM 

    图灵机:图灵机具有无限大小的磁带,用于接受递归可枚举语言。

  • 图灵机可以双向移动。此外,它不接受 ε 。
  • 如果插入的字符串不是语言,机器将停止在非最终状态。

    确定性和非确定性图灵机:在确定性图灵机中,每个输入符号上的每个状态只有一次移动,但在非确定性图灵机中,输入符号的一个状态可以有不止一次移动。

    笔记:

    • NTM、multi-tape TM 和 DTM 接受的语言是相同的。
    • NTM、Multi-Tape TM 和 DTM 的功率相同。
    • 每个 NTM 都可以转换为相应的 DTM。

    乔姆斯基语言分类:

    Grammar TypeProduction RulesLanguage AcceptedAutomataClosed Under
    Type-3 (Regular Grammar)A→a or A→aB where A,B N(non terminal) and aT(Terminal)RegularFinite AutomataUnion, Intersection, Complementation, Concatenation, Kleene Closure
    Type-2 (Context Free Grammar)

    A→ρ where A N

    and ρ (TN)*

    Context FreePush Down AutomataUnion, Concatenation, Kleene Closure
    Type-1 (Context Sensitive Grammar)α→β where α, β (TN)* and len(α) <= len(β) and α should contain atleast 1 non terminal.Context SensitiveLinear Bound AutomataUnion, Intersection, Complementation, Concatenation, Kleene Closure
    Type-0 (Recursive Enumerable)

    α →β where α, β (TN)* and α contains atleast 1 non-terminal

    Recursive EnumerableTuring MachineUnion, Intersection, Concatenation, Kleene Closure

    它们之间的关系可以表示为:

    可判定和不可判定的问题:

    如果可以构造一个图灵机,它接受作为语言一部分的字符串并拒绝其他字符串,则该语言是可判定的或递归的。例如;一个数是否是素数是一个可判定的问题。

    如果可以构造一个图灵机来接受属于语言的字符串,并且对于不属于语言的字符串,它可能会永远循环,那么该语言就是可判定或递归可枚举的。

    如果我们不能构建一个可以给出是或否答案的算法和图灵机,那么问题就无法确定例如; CFG 是否模棱两可是无法确定的。


    可数性:

  • 任何有限字母表上的所有字符串的集合都是可数的。
  • 可数集的每个子集要么是有限的,要么是可数的。
  • 所有图灵机的集合都是可数的。
  • 不能递归枚举的所有语言的集合是不可数的。