簡體   English   中英

圖靈機協助

[英]Turing Machine Assistance

我一直在設計圖靈機,最近解決的是一種語言L = {w:n a (w)= n b (w)},其中w中a的數量等於數量的b在w中

但是,我將如何設計一種圖靈機,使其語言在w中a的個數不等於w中b的個數? (例如L = {w:n a (w)≠n b (w)}?

我一直在參考的書和網站對圖靈機的定義如下:

M =(Q,Σ,ℾ,δ,q 0 ,☐,F),其中Q是狀態,Σ是輸入字母,ℾ是磁帶字母,δ是過渡,q 0是開始狀態,☐是一個空白空間,是ℾ(☐∊)的元素,F是指定為q f的最終狀態。

如果您最近解決了a和b的數目相等的情況,那么對於不相等的情況的直接解決方案是:

  • 如果您曾經崩潰過(沒有有效的過渡),則向halt_accept添加過渡;
  • 如果您過去曾經通過halt_reject來明確拒絕,則轉到halt_accept;
  • 如果您以前通過輸入halt_accept接受,則轉至halt_reject。

新的TM(1)接受a和b相等的情況下TM不會接受的任何內容,(2)拒絕a數目等於a的情況下TM可以接受的任何東西和b。

實際上,該過程適用於任何僅以機器語言確定輸入字符串成員資格的TM; 枚舉補充語言中的字符串是行不通的,但這並不一定是您所需要的(您可以通過將像這樣構造的機器作為子機器,再枚舉所有字符串並對其進行檢查來獲得枚舉)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM