图灵机:确定性与非确定性语言识别器
在计算理论中,图灵机是一种重要的计算模型,可用于识别各种语言。本文将介绍确定性图灵机语言识别器和非确定性图灵机语言识别器的相关内容,包括状态不变式、正确性证明以及具体的实现示例。
确定性图灵机:识别语言 (L = a^*)
状态不变式
为了验证图灵机在处理输入时的正确性,定义了几个状态不变式:
- S - INV :验证从位置 1 到给定位置减 1 的所有磁带元素都是 (a)。
;; tape natnum →Boolean
;; Purpose: Everything in tape[1..i-1] is an a
(define (S-INV t i)
(or (= i 0)
(andmap (λ (s) (eq? s 'a))
(take (rest t) (sub1 i)))))
- Y - INV :验证给定位置的磁带值是空白,并且从位置 1 到给定位置减 1 的所有磁带元素都是 (a)。
;; tape natnum →Boolean
;; Purpose: Everything in tape[1..i-1] is an a ∧ tape[i] = BLANK
(define (Y-INV t i)
(and (eq? (list-ref t i) BLANK)
超级会员免费看
订阅专栏 解锁全文
17

被折叠的 条评论
为什么被折叠?



