à¤Ã×èͧ·ÑÇÃÔ§ (Turing Machines)
¤ÇÒÁÊÒÁÒö¢Í§à¤Ã×èͧ·ÕèÈÖ¡ÉÒÁÒÂÍÁÃѺÀÒÉÒ·ÕèÁÕ¢éͨӡѴÍÂÙè àªè¹ ÀÒÉÒ»¡µÔ (â´ÂÍÍâµÁÒµÒ¨Ó¡Ñ´) ÀÒÉÒäÁè¾Ö觺ÃÔº·
(â´ÂÍÍâµÁÒµÒ¡´Å§) ã¹¢Ñé¹µèÍä»àÃÒ¨ÐÊÃéÒ§à¤Ã×èͧ·ÕèÊÒÁÒöÂÍÁÃѺÀÒÉÒÍ×è¹·Õèà¤Ã×èͧàËÅèÒ¹Ñé¹ÂÍÁÃѺäÁèä´é àÃÕ¡ÇèÒà¤Ã×èͧ·ÑÇÃÔ§ à¤Ã×èͧ·ÑÇÃÔ§¶Ù¡¤Ô´¤é¹¤ÃÑé§ááâ´Â
ÍÅѹ ·ÑÇÃÔ§ (Alan Turing) ã¹»Õ ¤.È. 1936
â´Â·ÕèËÅÑ¡¡Òâͧà¤Ã×èͧ¹Õé¶×Íä´éÇèÒà»ç¹áÁèẺ¢Í§Ê¶Ò»ÑµÂ¡ÃÃÁ¢Í§à¤Ã×èͧ¤ÍÁ¾ÔÇàµÍÃì·ÕèÁÕ˹èÇ»ÃÐÁÇżÅà´ÕèÂÇ ã¹»Ñ¨¨ØºÑ¹à¤Ã×èͧ·ÑÇÃÔ§ÊÒÁÒöáºè§ÍÍ¡ä´éà»ç¹
- à¤Ã×èͧ·ÑÇÃԧᶺà´ÕèÂÇ»ÅÒÂà»Ô´·Ò§à´ÕÂÇ (One-way infinite single tape Turing machine),
- à¤Ã×èͧ·ÑÇÃԧᶺà´ÕèÂÇ»ÅÒÂà»Ô´Êͧ·Ò§ (Two-way infinite single tape Turing machine)
- ËÃ×Í à¤Ã×èͧ·ÑÇÃÔ§ËÅÒÂᶺ (Multitape Turing machine)
µÒÁ¨Ó¹Ç¹á¶ºáÅСÒÃãªé§Ò¹á¶º ã¹Âؤáá·ÑÇÃÔ§Í͡Ẻà¤Ã×èͧã¹ÅѡɳТͧà¤Ã×èͧ·ÑÇÃԧᶺà´ÕèÂÇ»ÅÒÂà»Ô´Êͧ·Ò§ áµèà¾×èͤÇÒÁ§èÒµèÍ¡ÒÃà¢éÒã¨
àÃÒ¨ÐàÃÔèÁÈÖ¡ÉÒà¤Ã×èͧ·ÑÇÃԧᶺà´ÕèÂÇ»ÅÒÂà»Ô´·Ò§à´ÕÂÇ¡è͹ áÅéǤè;ԨÒóÒà¤Ã×èͧ·ÑÇÃÔ§·Õèãªéᶺà´ÕèÂÇ»ÅÒÂà»Ô´Êͧ·Ò§ áÅÐà¤Ã×èͧ·ÑÇÃÔ§ËÅÒÂᶺ
äÁèÇèÒÍÂèÒ§äáçµÒÁàÃÒÊÒÁÒöáÊ´§ä´éÇèÒà¤Ã×èͧ·ÑÇÃÔ§·Ñé§ËÁ´ÊÁÁÙšѹ
º·¹ÔÂÒÁ à¤Ã×èͧ·ÑÇÃԧᶺà´ÕèÂÇ»ÅÒÂà»Ô´·Ò§à´ÕÂÇ (One-way infinite single tape Turing machine)
áµèÅÐà¤Ã×èͧ»ÃСͺ´éÇÂ
- ૵¢Í§Ê¶Ò¹Ð (state) ·Ñé§ËÁ´«Öè§à»ç¹à«µ¨Ó¡Ñ´ à¢Õ¹᷹´éÇ Q
- ૵¢Í§ÊÑÅѡɳìÃѺà¢éÒ (input symbol) ·Ñé§ËÁ´«Öè§à»ç¹à«µ¨Ó¡Ñ´ à¢Õ¹᷹´éÇÂ
- ૵¢Í§ÊÑÅѡɳìᶺ (tape symbol) ·Ñé§ËÁ´«Öè§à»ç¹à«µ¨Ó¡Ñ´ à¢Õ¹᷹´éÇÂ
ÊѧࡵÇèÒ
- ૵¢Í§Ê¶Ò¹ÐÂÍÁÃѺ (accepting state) ·Ñé§ËÁ´«Öè§à»ç¹ÊѺ૵¢Í§ Q à¢Õ¹᷹´éÇ F
- ʶҹÐàÃÔèÁµé¹ (initial state) «Öè§à»ç¹ÊÁÒªÔ¡ã¹ Q à¢Õ¹᷹´éÇ q0
- ÊÑÅѡɳì¾ÔàÈÉ·ÕèºÍ¡µÓá˹觫éÒÂÊØ´¢Í§á¶º à¢Õ¹᷹´éÇ Z0 áÅÐÊÑÅѡɳì·ÕèºÍ¡ÇèÒäÁèÁÕ¢éÍÁÙźѹ·Ö¡ã¹ªèͧ
à¢Õ¹᷹´éÇÂ
â´Â·Õè Z0 äÁèãªèµÑÇà´ÕÂǡѺ
- ¿Ñ§¡ìªÑ¹¡ÒüèÒ¹ (transition function)
à»ç¹¿Ñ§¡ìªÑ¹·ÕèÁÕâ´àÁ¹à»ç¹ÊѺ૵¢Í§
Q × áÅоÔÊÑÂà»ç¹ÊѺ૵¢Í§ Q ×
× {R, L, S} áÅÐÁÕà§×è͹ä¢ÇèÒ
(qf, i) äÁèÁÕ¤èÒ·Ø¡ qf
F, i

- áÅжéÒ
(q, Z0) = (p, X, D) áÅéÇ D
L áÅÐ X = Z0
º·¹ÔÂÒÁ á¼¹ÀÒ¾¡ÒüèÒ¹ (transition diagram) ¢Í§à¤Ã×èͧ·ÑÇÃԧᶺà´ÕèÂÇ»ÅÒÂà»Ô´·Ò§à´ÕÂÇ (Q,
, ,
, q0, Z0, F) ¤×Í ¡ÃÒ¿à·ÕÂÁ·ÕèÁÕ·ÔÈ·Ò§ ÁÕ Q à»ç¹à«µ¢Í§¨Ø´ÂÍ´
ÁÕÅÙ¡ÈêÕéà¢éÒ·Õè¨Ø´ÂÍ´ q0 ¨Ø´ÂÍ´·Ø¡¨Ø´ã¹ F ÁÕǧ¡ÅÁÅéÍÁÃͺÊͧǧ áÅжéÒ (q, a)
= (p, X, D) áÅéǨеéͧÁÕÍÒÃì¡àª×èÍÁ¨Ò¡¨Ø´ÂÍ´ q ä»Âѧ¨Ø´ÂÍ´ p â´ÂÁÕ (a), (X, D) à¢Õ¹¡Ó¡Ñº ´Ñ§ÃÙ»
µÑÇÍÂèÒ§·Õè 1: ¨§à¢Õ¹ἹÀÒ¾¡ÒüèÒ¹¢Í§à¤Ã×èͧ·ÑÇÃÔ§ M = (Q,
, ,
, q0, Z0, F) â´Â·Õè Q = {q0, q1,
q2}, = {0, 1}, = {0, 1,
X, Z0, }, F = {q1} áÅÐ
(q0, Z0) = (q0, Z0, R),
(q0, 0) = (q1, X, R),
(q0, 1) = (q2, 1, R),
(q2, 0) = (q1, X, R),
(q2, 1) = (q0, 1, R)
º·¹ÔÂÒÁ ÊÓËÃѺà¤Ã×èͧ·ÑÇÃԧᶺà´ÕèÂÇ»ÅÒÂà»Ô´·Ò§à´ÕÂÇ M = (Q,
, ,
, q0, Z0, F) àÃÒ¡ÅèÒÇÇèÒ c à»ç¹ â¤Ã§áºº (configuration)
˹Ö觢ͧà¤Ã×èͧ·ÑÇÃÔ§ M ¡çµèÍàÁ×èÍ c = (q,  i
) â´Â·Õè q Q,
*, i
áÅÐ
*
«Öè§ËÁÒ¤ÇÒÁÇèÒ ¢³Ð¹Ñé¹à¤Ã×èͧ·ÑÇÃÔ§ M ¡ÓÅѧÍÂÙèã¹Ê¶Ò¹Ð q ÊÒÂÍÑ¡¢ÃзÕè»ÃÒ¡®º¹á¶º¤×Í
i (ÍÒ¨¨ÐäÁèãªèÊÒÂÍÑ¡¢ÃÐÃѺà¢éÒ)
áÅÐËÑÇÍèÒ¹ªÕéÍÂÙè·Õè i ´Ñ§ÃÙ»
àÃÒ¡ÅèÒÇÇèÒ c à»ç¹â¤Ã§áººàÃÔèÁµé¹ (initial configuration) ¡çµèÍàÁ×èÍ c = (q0,
Z0w) àÁ×èÍ w à»ç¹ÊÒÂÍÑ¡¢ÃÐÃѺà¢éÒ â´Â·ÑèÇ仨ÐãªéÊÑÅѡɳì c0
á·¹â¤Ã§áººàÃÔèÁµé¹
àÃÒ¡ÅèÒÇÇèÒ c à»ç¹â¤Ã§áººËÂØ´ (halting configuration) ¡çµèÍàÁ×èÍ c = (q,
 i
) â´Â·Õè (q, i) äÁèÁÕ¤èÒ
¶éÒ c = (q,  i
) áÅÐ c' = (q', '
i' ') µèÒ§¡çà»ç¹â¤Ã§áºº¢Í§à¤Ã×èͧ·ÑÇÃÔ§
M áÅÐ (q, i) = (p, X, D) áÅéÇ àÃÒ¡ÅèÒÇÇèÒ c' à»ç¹â¤Ã§áºº¶Ñ´¨Ò¡ c
à¢Õ¹᷹´éÇ c c' ¡çµèÍàÁ×èÍ p = q' áÅÐ
- ¶éÒ D = R áÅéÇ
' = X
áÅÐ = i'
- ¶éÒ D = L áÅéÇ
= 'i'
áÅÐ = X
- ¶éÒ D = S áÅéÇ
' = ,
= áÅÐ i' = X
àÃÒ¡ÅèÒÇÇèÒ c' à»ç¹â¤Ã§áºº·Õèä´éÁÒ¨Ò¡ c à¢Õ¹᷹´éÇ c c' ¡çµèÍàÁ×èÍ c = c' ËÃ×Í
ÁÕâ¤Ã§áºº c1, c2, ..., cn ·Õè c = c1, c' = cn áÅÐ c1
c2, c2
c3, ..., cn-1 cn
º·¹ÔÂÒÁ ãËé M à»ç¹à¤Ã×èͧ·ÑÇÃÔ§áÅÐ w à»ç¹ÊÒÂÍÑ¡¢ÃÐÃѺà¢éÒ ¨Ð¡ÅèÒÇÇèÒ M ÂÍÁÃѺ w ¡çµèÍàÁ×èÍ ÁÕâ¤Ã§áºº c
·Õè c0 c â´Â·ÕèʶҹзÕè»ÃÒ¡®ã¹â¤Ã§áºº c à»ç¹Ê¶Ò¹Ð˹Öè§·Õèà»ç¹Ê¶Ò¹ÐÂÍÁÃѺ
ÀÒÉÒ·Õè M ÂÍÁÃѺ à¢Õ¹᷹´éÇ L(M) ¤×Í૵¢Í§ÊÒÂÍÑ¡¢ÃÐÃѺà¢éÒ·Ñé§ËÁ´·Õè M ÂÍÁÃѺ ¨Ðä´é L(M) = {
w * |
M ÂÍÁÃѺ w }
ÊÓËÃѺÀÒÉÒ L ã´æ àÃÒ¡ÅèÒÇÇèÒ M ÂÍÁÃѺ L ¡çµèÍàÁ×èÍ L = L(M)
µÑÇÍÂèÒ§·Õè 2 ¨§µÃǨÊͺÇèÒ à¤Ã×èͧ·ÑÇÃÔ§ã¹µÑÇÍÂèÒ§·Õè 1 ÂÍÁÃѺÊÒÂÍÑ¡¢ÃеèÍ仹ÕéËÃ×ÍäÁè
- 010
- 1101
µÑÇÍÂèÒ§·Õè 3 ¨§à¢Õ¹ἹÀÒ¾¡ÒüèÒ¹¢Í§à¤Ã×èͧ·ÑÇÃԧᶺà´ÕèÂÇ»ÅÒÂà»Ô´·Ò§à´ÕÂÇ·ÕèÂÍÁÃѺ L àÁ×èÍ
- L = { w
{0,1}* | w ÁÕ 0 »ÃÒ¡®ÍÂèÒ§¹éÍÂ˹Öè§µÑÇ }
- L = {0n1n | n
}
- L = { wwR | w
{0, 1}* }
- L = { ww | w
{0, 1}* }
º·¹ÔÂÒÁ à¤Ã×èͧ·ÑÇÃԧᶺà´ÕèÂÇ»ÅÒÂà»Ô´Êͧ·Ò§ (Two-way infinite single tape Turing machine)
áµèÅÐà¤Ã×èͧ»ÃСͺ´éÇÂ
- ૵¢Í§Ê¶Ò¹Ð (state) ·Ñé§ËÁ´«Öè§à»ç¹à«µ¨Ó¡Ñ´ à¢Õ¹᷹´éÇ Q
- ૵¢Í§ÊÑÅѡɳìÃѺà¢éÒ (input symbol) ·Ñé§ËÁ´«Öè§à»ç¹à«µ¨Ó¡Ñ´ à¢Õ¹᷹´éÇÂ
- ૵¢Í§ÊÑÅѡɳìᶺ (tape symbol) ·Ñé§ËÁ´«Öè§à»ç¹à«µ¨Ó¡Ñ´ à¢Õ¹᷹´éÇÂ
ÊѧࡵÇèÒ
- ૵¢Í§Ê¶Ò¹ÐÂÍÁÃѺ (accepting state) ·Ñé§ËÁ´«Öè§à»ç¹ÊѺ૵¢Í§ Q à¢Õ¹᷹´éÇ F
- ʶҹÐàÃÔèÁµé¹ (initial state) «Öè§à»ç¹ÊÁÒªÔ¡ã¹ Q à¢Õ¹᷹´éÇ q0
- ¿Ñ§¡ìªÑ¹¡ÒüèÒ¹ (transition function)
à»ç¹¿Ñ§¡ìªÑ¹·ÕèÁÕâ´àÁ¹à»ç¹ÊѺ૵¢Í§
Q × áÅоÔÊÑÂà»ç¹ÊѺ૵¢Í§ Q ×
× {R, L, S} áÅÐÁÕà§×è͹ä¢ÇèÒ
(q, i) äÁèÁÕ¤èÒ·Ø¡ q F, i
áµèÁÕà§×è͹ä¢à¾ÔèÁàµÔÁÇèÒ¢³ÐàÃÔèÁµé¹¨ÐÍÂÙèã¹Ê¶Ò¹Ð q0 ÍèÒ¹ÊÒÂÍÑ¡¢ÃÐÃѺà¢éÒàÃÔèÁ¨Ò¡µÑÇ·ÕèÍÂÙè«éÒÂÊØ´¢Í§ÊÒÂÍÑ¡¢ÃйÑé¹
â´Â·ÑèÇ仨Ðà¢Õ¹᷹à¤Ã×èͧ·ÑÇÃÔ§¹Õé´éÇ (Q, ,
, , q0, F)
º·¹ÔÂÒÁ á¼¹ÀÒ¾¡ÒüèÒ¹ (transition diagram) ¢Í§à¤Ã×èͧ·ÑÇÃԧᶺà´ÕèÂÇ»ÅÒÂà»Ô´Êͧ·Ò§ (Q,
, ,
, q0, F) ¨ÐàËÁ×͹¡Ñº¢Í§à¤Ã×èͧ·ÑÇÃԧᶺà´ÕèÂÇ»ÅÒÂà»Ô´·Ò§à´ÕÂÇ
¤×Í ¡ÃÒ¿à·ÕÂÁ·ÕèÁÕ·ÔÈ·Ò§ ÁÕ Q à»ç¹à«µ¢Í§¨Ø´ÂÍ´ ÁÕÅÙ¡ÈêÕéà¢éÒ·Õè¨Ø´ÂÍ´ q0 ¨Ø´ÂÍ´·Ø¡¨Ø´ã¹ F ÁÕǧ¡ÅÁÅéÍÁÃͺÊͧǧ áÅжéÒ
(q, a) = (p, X, D) áÅéǨеéͧÁÕÍÒÃì¡àª×èÍÁ¨Ò¡¨Ø´ÂÍ´ q ä»Âѧ¨Ø´ÂÍ´ p â´ÂÁÕ (a), (X, D) à¢Õ¹¡Ó¡Ñº
¹ÔÂÒÁ¢Í§â¤Ã§áºº â¤Ã§áººàÃÔèÁµé¹ â¤Ã§áººËÂØ´ â¤Ã§áºº¶Ñ´¨Ò¡ áÅÐâ¤Ã§áºº·Õèä´éÁÒ¨Ò¡¤Ó ¢Í§à¤Ã×èͧ·ÑÇÃԧᶺà´ÕèÂÇ»ÅÒÂà»Ô´Êͧ·Ò§
àËÁ×͹¡Ñºà¤Ã×èͧ·ÑÇÃԧᶺà´ÕèÂÇ»ÅÒÂà»Ô´·Ò§à´ÕÂÇ
µÑÇÍÂèÒ§·Õè 4 ¨§à¢Õ¹ἹÀÒ¾¡ÒüèÒ¹¢Í§à¤Ã×èͧ·ÑÇÃԧᶺà´ÕèÂÇ»ÅÒÂà»Ô´Êͧ·Ò§·ÕèÂÍÁÃѺ
L àÁ×èÍ L = { w {0,1}* | n(0, w) = n(1, w) }
º·¹ÔÂÒÁ à¤Ã×èͧ·ÑÇÃÔ§ k-ᶺ (k-tape Turing machine) áµèÅÐà¤Ã×èͧ»ÃСͺ´éÇ (Q,
, ,
, q0, Z0, F) â´Â·Õè¿Ñ§¡ìªÑ¹¡ÒüèÒ¹ (transition function)
à»ç¹¿Ñ§¡ìªÑ¹·ÕèÁÕâ´àÁ¹à»ç¹ÊѺ૵¢Í§ Q ×
(
{ }) × k
Q × k ×
{R, L, S}k+1 â´Â·Õè (q, a, x1, x2, ..., xk)
äÁèÁÕ¤èÒ·Ø¡ q F, a
{ }, (x1, x2, ..., xk)
k áÅÐ
- ¶éÒ
(q, a, x1, x2, ..., xk) = (q',
y1, y2, ..., yk, D, D1, D2, ..., Dk) áÅéÇ D
L áÅÐ Di L ÊÓËÃѺáµèÅÐ i
{1, 2, ..., k} ·Õè xi = Z0
ËÁÒÂà˵Ø
- àÃÒ¶×ÍÇèÒà¤Ã×èͧ·ÑÇÃÔ§ k-ᶺ »ÃСͺ´éÇÂᶺ·Ñé§ËÁ´ k+1 ᶺ (¹Ñºá¶ººÑ¹·Ö¡¢éÍÁÙÅÃѺà¢éÒà¾ÔèÁÍա˹Öè§á¶º
áÅзÕèàËÅ×Íà»ç¹á¶ºÊÓËÃѺ˹èǤÇÒÁ¨ÓÍÕ¡ k ᶺ) â´Âᶺ˹èǤÇÒÁ¨Ó k ᶺà»ç¹á¶º·ÕèÁÕ»ÅÒÂà»Ô´·Ò§à´ÕÂÇ
- ËÑÇÍèÒ¹¢Í§á¶ººÑ¹·Ö¡ÃѺà¢éÒà¤Å×è͹¢ÇÒËÃ×ÍÍÂÙè·Õèà´ÔÁà·èÒ¹Ñé¹ (¨Ö§äÁè¨Óà»ç¹µéͧÁÕÊÑÅѡɳì¾ÔàÈÉ Z0)
- ËÑÇÍèÒ¹¢Í§á¶ºÊÓËÃѺ˹èǤÇÒÁ¨ÓÊÒÁÒöà¤Å×è͹«éÒ ¢ÇÒËÃ×ÍÍÂÙè·Õèà´ÔÁ¡çä´é ´Ñ§¹Ñ鹨֧µéͧÁÕÊÑÅѡɳì¾ÔàÈÉ Z0
à¾×èͺ͡µÓá˹觫éÒÂÊØ´¢Í§áµèÅÐᶺ
- ËÑÇÍèÒ¹áµèÅÐᶺà¤Å×è͹·Õèä´éÍÂèÒ§à»ç¹ÍÔÊÃÐäÁè¢Öé¹µè͡ѹ
- 㹡óշÕèäÁèä´éÃÐºØ k àÃÒàÃÕ¡ÃÇÁæ ÇèÒ à¤Ã×èͧ·ÑÇÃÔ§ËÅÒÂᶺ (multitape Turing Machine)
- 㹡óշÕèàÃÒµéͧ¡ÒÃãËéà¤Ã×èͧ·ÑÇÃÔ§ÊÒÁÒöà¢Õ¹¢éÍÁÙÅÍÍ¡ àÃÒà¾ÔèÁ૵¢Í§¢éÍÁÙÅÍÍ¡·Ñé§ËÁ´ áÅпѧ¡ìªÑ¹¢Í§¢éÍÁÙÅÍÍ¡´Ñ§¹Õé
à¤Ã×èͧ·ÑÇÃÔ§ k-ᶺ·ÕèÁÕ¢éÍÁÙÅÍÍ¡ (k-tape Turing machine with output) áµèÅÐà¤Ã×èͧ»ÃСͺ´éÇ Q,
, ,
, q0, Z0, F àËÁ×͹㹺·¹ÔÂÒÁ¢Í§à¤Ã×èͧ·ÑÇÃÔ§ k-ᶺ áÅÐãËé O
à»ç¹à«µ¢Í§ÊÑÅѡɳì¢éÍÁÙÅÍÍ¡ áÅÐ à»ç¹¿Ñ§¡ìªÑ¹¢éÍÁÙÅÍÍ¡ ·Õè¹ÔÂÒÁâ´Â
:partial Q × (
{ }) ×
k O × {R, S}
º·¹ÔÂÒÁ á¼¹ÀÒ¾¡ÒüèÒ¹ (transition diagram) ¢Í§à¤Ã×èͧ·ÑÇÃÔ§ k-ᶺ (Q,
, ,
, q0, Z0, F) ¤×Í¡ÃÒ¿à·ÕÂÁÃкطÔÈ·Ò§·ÕèÁÕ Q à»ç¹à«µ¢Í§¨Ø´ÂÍ´·Ñé§ËÁ´
ÁÕÅÙ¡ÈêÕéà¢éÒ·Õè¨Ø´ÂÍ´ q0 ¨Ø´ÂÍ´·Ø¡¨Ø´ã¹ F ÁÕǧ¡ÅÁÅéÍÁÃͺÊͧǧ áÅжéÒ (q, a,
x1, x2, ..., xk) = (p, y1, y2, ..., yk, D, D1, D2,
..., Dk) áÅéÇ ¨ÐµéͧÁÕÍÒÃì¡àª×èÍÁ¨Ò¡¨Ø´ÂÍ´ q ä»Âѧ¨Ø´ÂÍ´ p â´ÂÁÕ
- (a, x1, x2, ..., xk), (y1, y2, ..., yk, D,
D1, D2, ..., Dk) à¢Õ¹¡Ó¡Ñº
㹡óշÕèà¤Ã×èͧ·ÑÇÃÔ§ÁÕ¢éÍÁÙÅÍÍ¡ áÅжéÒ (q, a,
x1, x2, ..., xk) = (o, D') áÅéÇ àÃÒ¨ÐàµÔÁ /(o, D') µèÍ·éÒ¤×Í
º·¹ÔÂÒÁ àÃÒ¡ÅèÒÇÇèÒ c à»ç¹ â¤Ã§áºº (configuration) ˹Ö觢ͧà¤Ã×èͧ·ÑÇÃÔ§ k-ᶺ M ¡çµèÍàÁ×èÍ
- c = (q, x
iy, 1
A1 1,
2 A2
2, ..., k
Ak k)
â´Â·Õè q Q, x
*, i
{ }, y
* áÅÐ j
*, Aj
,
j
* ÊÓËÃѺ·Ø¡ j = 1, 2, ..., k
«Öè§ËÁÒ¶֧ ¢³Ð¹Ñé¹à¤Ã×èͧ·ÑÇÃÔ§ M ÍÂÙèã¹Ê¶Ò¹Ð q ÊÒÂÍÑ¡¢ÃзÕè»ÃÒ¡®º¹á¶ººÑ¹·Ö¡ÃѺà¢éÒ¤×Í xiy â´ÂÁÕËÑÇÍèÒ¹ªÕéÍÂÙè·Õè i áÅÐÊÓËÃѺáµèÅÐ j
{1, 2, ..., k} ÊÒÂÍÑ¡¢ÃзÕè»ÃÒ¡®º¹á¶ºË¹èǤÇÒÁ¨Óᶺ·Õè j ¤×Í
jAjBj â´ÂÁÕËÑÇÍèÒ¹ªÕéÍÂÙè·Õè Aj ´Ñ§ÃÙ»
àÃÒàÃÕ¡ c ÇèÒà»ç¹ â¤Ã§áººàÃÔèÁµé¹ (initial configuration) ¡çµèÍàÁ×èÍ q = q0, x =
, i
{ }, 0 =
1 = ... = k
= , A1 = A2 = ... = Ak = Z0 áÅÐ
1 = 2 = ... =
k =
â´Â·ÑèÇä»àÃÒ¨ÐãªéÊÑÅѡɳì c0 á·¹â¤Ã§áººàÃÔèÁµé¹ ´Ñ§¹Ñé¹
- c0 = (q0,
iy,
Z0, Z0,
..., Z0)
àÃÒ¡ÅèÒÇÇèÒ c à»ç¹ â¤Ã§áººËÂØ´ (halting configuration) ¡çµèÍàÁ×èÍ q F ËÃ×Í
(q, i, A1, A2, ..., Ak) äÁèÁÕ¤èÒ
ÊÓËÃѺà¤Ã×èͧ·ÑÇÃÔ§·ÕèÁÕ¢éÍÁÙÅÍÍ¡ ¶éÒº¹á¶º¢éÍÁÙÅÍÍ¡»ÃÒ¡®ÊÒÂÍÑ¡¢ÃÐ uo â´ÂÁÕËÑÇÍèÒ¹ªÕé·Õè o áÅéÇ àÃÒ¹ÔÂÒÁâ¤Ã§áººâ´Âà¾ÔèÁ
u o à¢éÒä»ã¹µÍ¹·éÒ¢ͧâ¤Ã§áºº à¢Õ¹ä´éà»ç¹
- c = (q, x
iy, 1
A1 1,
2 A2
1, ..., k
Ak k,
u o)
áÅÐâ¤Ã§áººàÃÔèÁµé¹¤×Í
- c0 = (q0,
iy,
Z0, Z0,
..., Z0,
)
Êèǹâ¤Ã§áººËÂØ´ÁÕ¹ÔÂÒÁàËÁ×͹à´ÔÁ
º·¹ÔÂÒÁ
- ãËé c = (q, x
iy,
1 A1
1, 2
A2 2, ...,
k Ak
k) áÅÐ
- c' = (q', x'
i'y',
1' A1'
1', 2'
A2' 2', ...,
k' Ak'
k') à»ç¹â¤Ã§áºº¢Í§à¤Ã×èͧ·ÑÇÃÔ§ k ᶺ M à¤Ã×èͧ˹Öè§
- ¶éÒ
(q, i, A1, A2, ..., Ak) = (p,
y1, y2, ..., yk, D, D1, D2, ..., Dk) áÅéÇ àÃÒ¡ÅèÒÇÇèÒ c' à»ç¹
â¤Ã§áºº¶Ñ´¨Ò¡ c (à¢Õ¹᷹´éÇ c c') ¡çµèÍàÁ×èÍ
- p = q'
- ¢éÍã´¢éÍ˹Öè§ã¹Êͧ¢é͹Õéµéͧà»ç¹¨ÃÔ§
2.1 ¶éÒ D = R áÅéÇ x' = xi áÅÐ y = i'y'
2.2 ¶éÒ D = S áÅéÇ x = x', i = i' áÅÐ y = y'
- ÊÓËÃѺáµèÅÐ j
{1, 2, ..., k} ¢éÍã´¢éÍ˹Öè§ã¹ÊÒÁ¢é͹Õéµéͧà»ç¹¨ÃÔ§
3.1 ¶éÒ Dj = R áÅéÇ j' =
jyj,
j = Aj'
j'
3.2 ¶éÒ Dj = L áÅéÇ j =
j'Aj' áÅÐ
j' = yj
j
3.3 ¶éÒ Dj = S áÅéÇ j =
j', Aj' = yj áÅÐ
j = j'
àÃÒ¡ÅèÒÇÇèÒ c' à»ç¹ â¤Ã§áºº·Õèä´éÁÒ¨Ò¡ c (à¢Õ¹᷹´éÇ c c') ¡çµèÍàÁ×èÍ
c = c' ËÃ×ÍÁÕâ¤Ã§áºº c1, c2, ..., cn ·Õè c = c1, c' = cn áÅÐ c1
c2, c2
c3, ..., cn-1 cn
- ÊÓËÃѺà¤Ã×èͧ·ÑÇÃÔ§·ÕèÁÕ¢éÍÁÙÅÍÍ¡ ¶éÒ c = (q, x
iy,
1 A1
1, 2
A2 2, ...,
k Ak
k, u o) áÅÐ
- c' = (q', x'
i'y',
1' A1'
1', 2'
A2' 2', ...,
k' Ak'
k', , u' o')
µèÒ§¡çà»ç¹â¤Ã§áºº¢Í§à¤Ã×èͧ¹Õé áÅжéÒ
- ¶éÒ
(q, i, A1, A2, ..., Ak) = (p,
y1, y2, ..., yk, D, D1, D2, ..., Dk) áÅÐ
(q, i, A1, A2, ..., Ak) = (v, N)
áÅéÇ ¹ÔÂÒÁ¢Í§ c c' ¨ÐàËÁ×͹·Õè¡ÅèÒÇ¢éÒ§µé¹ ¡Ñºà§×è͹ä¢à¾ÔèÁàµÔÁ¤×Í
- ¶éÒ N = R áÅéÇ u' = uv áÅÐ o' =
- ¶éÒ N = S áÅéÇ u' = u áÅÐ o' = v
ÊÓËÃѺ¹ÔÂÒÁ c c' àËÁ×͹¡Ñº¢éÒ§µé¹
µÑÇÍÂèÒ§·Õè 5 ¨§à¢Õ¹ἹÀÒ¾¡ÒüèÒ¹¢Í§à¤Ã×èͧ·ÑÇÃÔ§ËÅÒÂᶺ·ÕèÂÍÁÃѺ
L àÁ×èÍ L = { w {0,1}* | n(0, w)
n(1, w) }
¹Í¡¨Ò¡¹ÕéàÃÒÂѧÊÒÁÒöÊÃéÒ§à¤Ã×èͧ·ÑÇÃÔ§·Õè¤Ó¹Ç³¤èҢͧ¿Ñ§¡ìªÑ¹ áÅéÇáÊ´§¼ÅÅѾ¸ìº¹á¶º¢éÍÁÙÅÍÍ¡ ´Ñ§¹Õé
µÑÇÍÂèÒ§·Õè 6 ¨§à¢Õ¹ἹÀÒ¾¡ÒüèÒ¹¢Í§à¤Ã×èͧ·ÑÇÃÔ§·Õè¤Ó¹Ç³¤èҢͧ¿Ñ§¡ìªÑ¹
f :
·Õè¹ÔÂÒÁâ´Â f(n) = n+1 ·Ø¡ n
àÁ×èÍ¡Ó˹´ÇèÒ n à¢Õ¹᷹´éÇÂ
- ÊÒÂÍÑ¡¢ÃТͧ 1
- àÅ¢°Ò¹Êͧ
ËÁÒÂà˵Ø
- àÃÒÁÑ¡¡Ó˹´ãËéà¤Ã×èͧ·ÑÇÃÔ§·Õè¤Ó¹Ç³¤èҿѧ¡ìªÑ¹ÁÕᶺºÑ¹·Ö¡ÃѺà¢éÒ áÅÐᶺ¢éÍÁÙÅÍÍ¡ â´Â·Õ袳ÐàÃÔèÁµé¹º¹á¶ºÃѺ¢éÍÁÙÅà¢éÒ¨ÐÁÕ
ÊÒÂÍÑ¡¢ÃзÕèá·¹ÊÁÒªÔ¡ã¹â´àÁ¹¢Í§¿Ñ§¡ìªÑ¹ áÅÐàÁ×èͨº¡Ò÷ӧҹ º¹á¶ºªéÍÁÙÅÍÍ¡¨Ð»ÃÒ¡®ÊÒÂÍÑ¡¢ÃзÕèá·¹¤èҢͧ¿Ñ§¡ìªÑ¹·Õè¨Ø´¹Ñé¹
- à¹×èͧ¨Ò¡¨Ó¹Ç¹¿Ñ§¡ìªÑ¹·ÕèµèÒ§¡Ñ¹·Ñé§ËÁ´¨Ò¡
ä»Âѧ
Áըӹǹ͹ѹµìẺ¹ÑºäÁèä´é áµè¨Ó¹Ç¹à¤Ã×èͧ·ÑÇÃÔ§·Õè¤Ó¹Ç³¤èҢͧ¿Ñ§¡ìªÑ¹¨Ò¡à«µ´Ñ§¡ÅèÒÇÁըӹǹ͹ѹµìẺ¹Ñºä´é
´Ñ§¹Ñ鹨ÐÁտѧ¡ìªÑ¹ºÒ§ª¹Ô´«Öè§äÁèÁÕà¤Ã×èͧ·ÑÇÃÔ§·Õè¤Ó¹Ç³¤èҢͧ¿Ñ§¡ìªÑ¹¹Ñé¹ä´é
- ¿Ñ§¡ìªÑ¹·ÕèÁÕâ´àÁ¹à»ç¹ÊѺ૵¢Í§
k áÅоÔÊÑÂà»ç¹ÊѺ૵¢Í§
·ÕèàÃÒÊÒÁÒöÊÃéÒ§à¤Ã×èͧ·ÑÇÃÔ§·Õè¤Ó¹Ç³¤èҢͧ¿Ñ§¡ìªÑ¹¹Ñé¹ä´é ÁÕª×èÍàÃÕ¡ÇèÒ
¿Ñ§¡ìªÑ¹·ÑÇÃÔ§-¤Ó¹Ç³ä´é (Turing-computable function) «Öè§¡ÅØèÁ¢Í§¿Ñ§¡ìªÑ¹¹Õé¨Ðà»ç¹¡ÅØèÁà´ÕÂǡѺ¡ÅØèÁ¢Í§¿Ñ§¡ìªÑ¹ÃÕà¤ÍÃì«Õ¿
(recursive function)
µÑÇÍÂèÒ§·Õè 7 ¨§ÊÃéÒ§à¤Ã×èͧ·ÑÇÃÔ§·Õè¤Ó¹Ç³¤èҢͧ¿Ñ§¡ìªÑ¹¡Òúǡ¨Ó¹Ç¹¹ÑºÊͧ¨Ó¹Ç¹ ¡ÒÃËÑ¡ÍÍ¡¢Í§¨Ó¹Ç¹¹ÑºÊͧ¨Ó¹Ç¹
¡Òäٳ¢Í§¨Ó¹Ç¹¹ÑºÊͧ¨Ó¹Ç¹
º·¹ÔÂÒÁ à¤Ã×èͧ·ÑÇÃԧᶺà´ÕèÂÇ»ÅÒÂà»Ô´·Ò§à´ÕÂÇàªÔ§äÁè¡Ó˹´ (Nondeterministic one-way infinite single
tape Turing machine) àÃÕ¡ÊÑ鹿 ÇèÒ àÍç¹·ÕàÍçÁ (NTM) áµèÅÐà¤Ã×èͧà»ç¹à¤Ã×èͧ·ÑÇÃԧᶺà´ÕèÂÇ»ÅÒÂà»Ô´·Ò§à´ÕÂÇ·ÕèÁտѧ¡ìªÑ¹¡ÒüèÒ¹
ÊÍ´¤Åéͧà§×è͹䢴ѧ¹Õé
:partialQ ×
૵¢Í§ÊѺ૵¨Ó¡Ñ´·Ñé§ËÁ´¢Í§ Q ×
× {R, L, S} â´Â·Õè (q, a) äÁèÁÕ¤èÒ
·Ø¡ q F, a

- ¶éÒ (p, X, D)
(q, Z0)
áÅéÇ D L
â¤Ã§áºº¢Í§àÍç¹·ÕàÍçÁ à¢Õ¹᷹´éÇ (q, 
i ) àªè¹à´ÕÂǡѺ¹ÔÂÒÁ¢Í§à¤Ã×èͧ·ÑÇÃԧᶺà´ÕèÂÇ»ÅÒÂà»Ô´·Ò§à´ÕÂÇ áÅжéÒ
c = (q,  i
) áÅÐ c' = (q', '
i' ) à»ç¹â¤Ã§áºº¢Í§àÍç¹·ÕàÍçÁ
áÅéǨСÅèÒÇÇèÒ c' à»ç¹â¤Ã§áºº¶Ñ´¨Ò¡ c (à¢Õ¹᷹´éÇ c c') ¡çµèÍàÁ×èÍ
¢éÍã´¢éÍ˹Öè§ã¹ÊÒÁ¢é͵èÍ仹Õéµéͧà»ç¹¨ÃÔ§
- (q', X, R)
(q, i),
' = X áÅÐ
= i'
- (q', X, L)
(q, i),
= 'i' áÅÐ
' = X
- (q', X, S)
(q, i),
i' = X, = áÅÐ
= '
áÅÐàÃÒ¡ÅèÒÇÇèÒ c' à»ç¹â¤Ã§áºº·Õèä´éÁÒ¨Ò¡ c (à¢Õ¹᷹´éÇ c c') ¡çµèÍàÁ×èÍ
c = c' ËÃ×ÍÁÕâ¤Ã§áºº c1, c2, ..., cn ·Õè c = c1, c' = cn áÅÐ c1
c2, c2
c3, ..., cn-1 cn
á¼¹ÀÒ¾¡ÒüèÒ¹ (Transition diagram) ¢Í§àÍç¹·ÕàÍçÁ ¨ÐàËÁ×͹¡Ñº¢Í§à¤Ã×èͧ·ÑÇÃԧᶺà´ÕèÂÇ»ÅÒÂà»Ô´·Ò§à´ÕÂÇ
ÊÓËÃѺ¹ÔÂÒÁ¢Í§à¤Ã×èͧ·ÑÇÃÔ§àªÔ§äÁè¡Ó˹´Í×è¹ æ ¡ç¹ÔÂÒÁä´é㹷ӹͧà´ÕÂǡѹ
µÑÇÍÂèÒ§·Õè 8 ãËé M = (Q, ,
, , q0, Z0, F)
à»ç¹àÍç¹·ÕàÍçÁ·ÕèÁÕ Q = {q0, q1, q2}, = {0, 1},
= {0, 1, , X, Y}, F = {q2}
áÅÐ ¹ÔÂÒÁ´Ñ§¹Õé
| Z0
| 0 | 1 |
Y |
q0 |
{(q0, Z0, R)} | {(q1, X, R)} |
{(q0, 1, R), (q1, Y, R)} |
{(q0, Y, R)} |
q1 |
| {(q0, 0, L)} |
{(q2, Y, L)} |
|
q2 |
| |
| |
¨§µÃǨÊͺÇèÒ M ÂÍÁÃѺÊÒÂÍÑ¡¢ÃÐ 101 áÅÐ 100 ËÃ×ÍäÁè
à¤Ã×èͧ·ÑÇÃÔ§¤Ãͺ¨Ñ¡ÃÇÒÅ (Universal Turing Machines)
à¤Ã×èͧ·ÑÇÃÔ§·Õèä´é¾Ô¨ÒÃ³Ò à»ÃÕºàÊÁ×͹â»Ãá¡ÃÁáµèÅÐâ»Ãá¡ÃÁ·ÕèÊÃéÒ§à¾×èÍá¡é»ÑËÒ੾ÒÐÍÂèÒ§ áµèâ´ÂËÅÑ¡¡Ò÷ӧҹ¢Í§
¤ÍÁ¾ÔÇàµÍÃì·Õèá·é¨ÃÔ§áÅéÇ µéͧÊÒÁÒö·Ó§Ò¹ä´éËÅÒÂËÅÒ¡¢Öé¹ÍÂÙè¡Ñºâ»Ãá¡ÃÁ·Õè¶Ù¡à¢Õ¹ àÃÒ¨ÐÈÖ¡ÉÒ¡ÒÃÊÃéÒ§à¤Ã×èͧ·ÑÇÃÔ§·Õè¨ÓÅͧ¡Ò÷ӧҹ¢Í§
à¤Ã×èͧ·ÑÇÃԧᶺà´ÕèÂÇ»ÅÒÂà»Ô´·Ò§à´ÕÂÇàªÔ§¡Ó˹´·Ø¡à¤Ã×èͧÀÒÂãµéÊÑÅѡɳìẺà´ÕÂǡѹ à¾×èͤÇÒÁÊдǡàÃҨСÓ˹´
= {0, 1, , Z0}
à¤Ã×èͧ¹ÕéàÃÒ¨ÐãËéª×èÍÇèÒ à¤Ã×èͧ·ÑÇÃÔ§¤Ãͺ¨Ñ¡ÃÇÒÅ (Universal Turing Machines) ËÃ×ÍàÃÕ¡ÊÑé¹ æ ÇèÒ ÂÙ·ÕàÍçÁ (UTM)
ÊÓËÃѺÊÑÅѡɳì¢Í§ÊÒÂÍÑ¡¢ÃÐÃѺà¢éÒ àÃÒ¡Ó˹´ãËéãªéä´é੾ÒÐ 0 ËÃ×Í 1 à·èÒ¹Ñé¹ ´Ñ§¹Ñé¹àÃÒµéͧÁÕ¡ÒáÓ˹´ÃËÑÊãËé¡Ñºà¤Ã×èͧ·ÑÇÃÔ§
µèÍä»àÃҨйÔÂÒÁ¡ÒáÓ˹´ÃËÑÊ·Õèãªé¡Ñºà¤Ã×èͧ·ÑÇÃÔ§
º·¹ÔÂÒÁ ãËé M = (Q, ,
, , q0, Z0, F)
à»ç¹à¤Ã×èͧ·ÑÇÃԧᶺà´ÕèÂÇ»ÅÒÂà»Ô´·Ò§à´ÕÂÇàªÔ§¡Ó˹´ã´ æ ·ÕèÁÕ = {0, 1,
, Z0}, Q = {q1, q2, ..., qm} â´Â·Õè
q1 à»ç¹Ê¶Ò¹ÐàÃÔèÁµé¹ áÅÐ F = {q2}
- àÃÒá·¹ÊÑÅѡɳì·Õè»ÃÒ¡®º¹á¶º´éÇ X1, X2, X3, X4 ÊÓËÃѺ 0, 1,
, Z0 µÒÁÅӴѺ
- àÃÒá·¹¡ÒÃàÅ×è͹ËÑÇÍèÒ¹´éÇ D1, D2, D3 ÊÓËÃѺ R, L áÅÐ S µÒÁÅӴѺ
- áÅÐÊÓËÃѺáµèÅÐ i áÅÐ r
{1, 2, ..., m}, j áÅÐ n
{1, 2, 3, 4}, k {1, 2, 3},
- àÃÒá·¹
(qi, Xj) = (qr, Xn,
Dk) ´éÇÂÃËÑÊ (code): - 00...i µÑÇ ...0100...j µÑÇ...0100...r µÑÇ ...0100...n µÑÇ...0100...k µÑÇ...0
áÅÐá·¹ÃËÑʢͧà¤Ã×èͧ·ÑÇÃÔ§ M ´éÇÂÃËÑʢͧà¤Ã×èͧ (Turing code)
- 111code111code211...11codet111
àÁ×èÍ code1, code2, ..., codet à»ç¹ÃËÑʢͧ¤èÒ ·Ñé§ËÁ´
¢Í§à¤Ã×èͧ·ÑÇÃÔ§¹Õé
àÃÒãªéÊÑÅѡɳì <M> á·¹ÃËÑʢͧà¤Ã×èͧ·ÑÇÃÔ§ áÅжéÒ w à»ç¹ÊÒÂÍÑ¡¢ÃйÓà¢éҢͧ M àÃÒ¨Ðá·¹ÊÑÅѡɳì
<M,w> ËÁÒ¶֧ 111code111code211...11codet111w
µÑÇÍÂèÒ§·Õè 9 ãËé M = ({q1, q2, q3}, {0,1}, {0, 1,
, Z0}, , q1,
Z0, {q2}) à»ç¹à¤Ã×èͧ·ÑÇÃԧᶺà´ÕèÂÇ»ÅÒÂà»Ô´·Ò§à´ÕÂÇàªÔ§¡Ó˹´·ÕèÁÕ
¹ÔÂÒÁ´Ñ§¹Õé
(q1, Z0) = (q1, Z0, R),
(q1, 0) = (q1, 0, L),
(q1, 1) = (q3, 0, R),
(q3, 0) = (q1, 1, R),
(q3, 1) = (q2, 0, R),
(q3, ) = (q3,
1, L)
¨§à¢Õ¹ÃËÑʢͧà¤Ã×èͧ·ÑÇÃÔ§¹Õé
ÂÙ·ÕàÍçÁ à»ÃÕºä´é¡Ñºà¤Ã×èͧ¤ÍÁ¾ÔÇàµÍÃì·ÕèàÃÒãªé§Ò¹ÍÂÙè㹻Ѩ¨ØºÑ¹ áÅÐà¤Ã×èͧ·ÑÇÃÔ§áµèÅÐà¤Ã×èͧ·Õè¶Ù¡à¢éÒÃËÑÊã¹á¶º¢éÍÁÙŹÓà¢éÒ·ÕèÂÙ·ÕàÍçÁ·Ó¡ÒèÓÅͧà»ÃÕºä´é¡Ñºâ»Ãá¡ÃÁµèÒ§
æ ·Õèà¤Ã×èͧ¤ÍÁ¾ÔÇàµÍÃìãªé§Ò¹ÍÂÙè àÃÒ¨ÐãªéÊÑÅѡɳì Lu á·¹ÀÒÉÒ·ÕèÂÙ·ÕàÍçÁÂÍÁÃѺ ¹Ñ鹤×Í
- Lu = {<M, w> | M à»ç¹à¤Ã×èͧ·ÑÇÃÔ§, w
{0, 1}* áÅÐ M ÂÍÁÃѺ w} {0, 1}*
|