วิธีแสดงรูปแบบการคำนวณสองแบบนั้นเทียบเท่ากันได้อย่างไร


21

ฉันกำลังหาคำอธิบายว่าจะพิสูจน์ได้อย่างไรว่าแบบจำลองการคำนวณสองแบบนั้นเทียบเท่ากัน ฉันอ่านหนังสือในเรื่องนี้แล้วยกเว้นการพิสูจน์ความเท่าเทียมกัน ฉันมีแนวคิดพื้นฐานเกี่ยวกับความหมายของการคำนวณทั้งสองรุ่นว่าเท่ากัน (มุมมองออโตมาตะ: หากพวกเขายอมรับภาษาเดียวกัน) มีวิธีอื่นในการคิดเกี่ยวกับความเท่าเทียมกันหรือไม่? หากคุณสามารถช่วยฉันเข้าใจวิธีการพิสูจน์ว่าโมเดลทัวริงของเครื่องจักรเทียบเท่ากับแคลคูลัสแลมบ์ดานั่นก็เพียงพอแล้ว


ฉันเดาว่าคุณเลือกหนังสือผิด
ราฟาเอล

@ ราฟาเอลหนังสือดี ๆ ในเรื่องอะไร
saadtaame

ฉันต้องการจะพูดว่า "หนังสือเล่มใดเกี่ยวกับออโตมาตะ" แต่เห็นได้ชัดว่าตอนนี้เป็นเรื่องจริง น่าเสียดายที่ฉันไม่มีหนังสือภาษาอังกฤษที่เหมาะสมอยู่ในมือขออภัย
Raphael

1
หนังสือเกี่ยวกับออโตมาตะจะไม่เพียงพอ
reinierpost

คุณใช้หนังสืออะไร
saadtaame

คำตอบ:


20

คุณแสดงให้เห็นว่าทั้งสองรุ่นสามารถจำลองอื่น ๆ ที่ได้รับเครื่องในรุ่น A แสดงให้เห็นว่ามีเครื่องในรุ่น B ที่คำนวณฟังก์ชั่นเดียวกัน โปรดทราบว่าการจำลองนี้ไม่จำเป็นต้องคำนวณ (แต่มักจะเป็น)

พิจารณาตัวอย่างเช่นกดลงออโตมาต้าพร้อมสองกอง (2-PDA) ในอีกคำถามหนึ่งการจำลองทั้งสองทิศทางนั้นได้อธิบายไว้ หากคุณทำสิ่งนี้อย่างเป็นทางการคุณจะต้องใช้เครื่องทัวริงทั่วไป (tuple) และสร้างสิ่งที่ 2-PDA ที่สอดคล้องกันอย่างชัดเจนและในทางกลับกัน


อย่างเป็นทางการการจำลองอาจมีลักษณะเช่นนี้ ปล่อย

M=(Q,ΣI,ΣO,δ,q0,QF)

เป็นเครื่องทัวริง (มีหนึ่งเทป) จากนั้น

AM=(Q{q1,q2},ΣI,ΣO,δ,q1,QF)

กับΣO=ΣO.{$}และδมอบให้โดย

(q1,a,hl,hr)δ(q1,ahl,hr)สำหรับทุกΣ ผมและเอชอาร์ , เอชลิตรΣ O ,aΣIhr,hlΣO
(q1,ε,hl,hr)δ(q2,hl,hr)สำหรับทุกhr,hlΣO ,
(q2,ε,hl,hr)δ(q2,ε,hlhr)สำหรับทุกhr,hlΣOกับhl$ ,
(q2,ε,$,hr)δ(q0,$,hr)สำหรับทุกhrΣO ,
(q,ε,hl,hr)δ(q,ε,hla)(q,hr)δ(q,a,L)สำหรับทุกqQและhlΣO ,
(q,ε,$,hr)δ(q,$,a)(q,hr)δ(q,a,L)สำหรับทุกqQ ,
(q,ε,hl,hr)δ(q,ahl,ε)(q,hr)δ(q,a,R) for all qQ,hlΣO,
(q,ε,hl,$)δ(q,hl,$) for all qQ and hlΣO, and
(q,ε,hl,hr)δ(q,hl,a)(q,hr)δ(q,a,N) for all qQ,hlΣO

ΣO$ΣO(q,a,hl,hr)δ(q,l1li,r1rj) means that AM consumes input a, switches states from q to q and updates the stacks like so:

stack update
[source]

It remains to show that AM enters a final state on xΣI if and only if M does so. This is quite clear by construction; formally, you have to translate accepting runs on M into accepting runs on AM and vice versa.


@frabala You were right, I had the initial states the wrong way around. Fixed now, thanks!
Raphael

4

At the beginning of Communicating and Mobile Systems: the Pi-Calculus by Robin Milner, there is a introduction on automata and how they can simulate each other so that they cannot be distinguished : Bisimulation. (cf Bisimulation on wikipedia)

I don't remember well, I should re-read the chapter, but there was a trouble with simulation and bisimulation that made them not sufficient for computational equivalences.

Thus Robin Milner introduces his Pi-Calculus and exposes it for the rest of the book.

Ultimately, in his last book The Space and Motion of Communicating Agents, you could have a look at Robin Milner's Bigraphs. They can model Automata, Petri nets, Pi-Calculus and other computational methodologies.


2

As far as I know, the only (or at least most common) way to do this is to compare the languages the machines/models accept. That's the whole point of Automata theory: it takes the vague concept of a problem or algorithm and turns it into a concrete mathematical set (i.e. a language) which we can reason about.

The easiest way to do this is, given an arbitrary machine/function from one model, to construct a machine from the second model that computes the same language. Odds are you'll use induction in the length of the expression, states in the machine, rules in the grammar, etc.

I haven't seen this done with Lambda and TMs (though I'm 99% sure it's possible), but I have definitely seen this kind of thing for proving equivalence of NFAs and Regular expressions. First you show a NFA which can accept any atom, then using induction, you make NFAs which accept the union/concatenation/Kleene-star of any smaller NFAs.

Then you do the opposite, to find an RE for any NFA.

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.