什麼是 TOC 中的摩爾機?


摩爾機是一種有限狀態機,其中下一狀態由當前狀態和當前輸入符號決定。

給定時間的輸出符號僅取決於機器的當前狀態。

摩爾機有 6 個元組

(Q, q0, Σ, O, δ, λ)

其中,

  • Q:有限狀態集
  • q0:機器的初始狀態
  • Σ:有限輸入符號集
  • O:輸出字母表
  • δ:轉移函式,其中 Q × Σ → Q
  • λ:輸出函式,其中 Q → O

狀態圖如下所示:

示例 1

輸入 - 010

轉移 - δ (q0,0) => δ(q1,1) => δ(q1,0) => q2

輸出 - 1110(q0 為 1,q1 為 1,q1 再次為 1,q2 為 0)

摩爾機的狀態轉換表如下所示:

當前狀態下一狀態輸出
01
q0q1q21
q1q2q11
q2q2q00

解釋

  • 步驟 1 - 當前狀態 q0 在輸入“0”時轉到狀態 q1,在輸入“1”時轉到狀態 q2,生成輸出 1。
  • 步驟 2 - q1 在輸入“0”時轉到狀態 q2,在輸入“1”時轉到狀態 q1,生成輸出“1”。
  • 步驟 3 - q2 在輸入“0”時轉到 q2,在輸入“1”時轉到 q0,生成輸出“0”。

示例 2

設計一個摩爾機,判斷輸入字串是否包含偶數或奇數個 1。

如果輸入是偶數個 1,則輸出為 1

否則,輸出為 0

狀態轉換圖如下所示:

狀態轉換表

狀態轉換表如下所示:

當前狀態輸入 0 的下一狀態輸入 1 的下一狀態輸出
->q0q0q11
q1q1q00


更新於: 2021 年 6 月 11 日

3K+ 次檢視

開啟你的 職業生涯

透過完成課程獲得認證

立即開始
廣告

© . All rights reserved.