Documente Academic
Documente Profesional
Documente Cultură
Maquinas de Turing
DEINFO - UFRPE
Julho, 2014
Maquinas de Turing
Introduo
Motivao
Definio
Definio
Definio
A fita e delimitada fisicamente a esquerda, mas estende-se
indefinidamente para a direita
Maquinas de Turing
Introduo
Definio
A fita e delimitada fisicamente a esquerda, mas estende-se
indefinidamente para a direita
A extremidade a esquerda e marcada com B.
Maquinas de Turing
Introduo
Definio
A fita e delimitada fisicamente a esquerda, mas estende-se
indefinidamente para a direita
A extremidade a esquerda e marcada com B.
Sempre que a MT encontrar B, sua posio sera movida
imediatamente a direita.
Maquinas de Turing
Introduo
Definio
A fita e delimitada fisicamente a esquerda, mas estende-se
indefinidamente para a direita
A extremidade a esquerda e marcada com B.
Sempre que a MT encontrar B, sua posio sera movida
imediatamente a direita.
Os smbolos e denotam movimentos para a esquerda e
direita, respectivamente. E no fazem parte de nenhum
alfabeto.
Maquinas de Turing
Introduo
Definio
A fita e delimitada fisicamente a esquerda, mas estende-se
indefinidamente para a direita
A extremidade a esquerda e marcada com B.
Sempre que a MT encontrar B, sua posio sera movida
imediatamente a direita.
Os smbolos e denotam movimentos para a esquerda e
direita, respectivamente. E no fazem parte de nenhum
alfabeto.
A cadeia de entrada e gravada na previamente nas celulas mais
a esquerda da fita, logo apos B.
Maquinas de Turing
Introduo
Definio
A fita e delimitada fisicamente a esquerda, mas estende-se
indefinidamente para a direita
A extremidade a esquerda e marcada com B.
Sempre que a MT encontrar B, sua posio sera movida
imediatamente a direita.
Os smbolos e denotam movimentos para a esquerda e
direita, respectivamente. E no fazem parte de nenhum
alfabeto.
A cadeia de entrada e gravada na previamente nas celulas mais
a esquerda da fita, logo apos B.
O restante da fita e preenchido com espaos em branco t.
Maquinas de Turing
Introduo
Definio
A fita e delimitada fisicamente a esquerda, mas estende-se
indefinidamente para a direita
A extremidade a esquerda e marcada com B.
Sempre que a MT encontrar B, sua posio sera movida
imediatamente a direita.
Os smbolos e denotam movimentos para a esquerda e
direita, respectivamente. E no fazem parte de nenhum
alfabeto.
A cadeia de entrada e gravada na previamente nas celulas mais
a esquerda da fita, logo apos B.
O restante da fita e preenchido com espaos em branco t.
A MT e livre para modificar o contedo da fita, bem como
para gravar nas celulas em branco.
Maquinas de Turing
Introduo
Definio
A fita e delimitada fisicamente a esquerda, mas estende-se
indefinidamente para a direita
A extremidade a esquerda e marcada com B.
Sempre que a MT encontrar B, sua posio sera movida
imediatamente a direita.
Os smbolos e denotam movimentos para a esquerda e
direita, respectivamente. E no fazem parte de nenhum
alfabeto.
A cadeia de entrada e gravada na previamente nas celulas mais
a esquerda da fita, logo apos B.
O restante da fita e preenchido com espaos em branco t.
A MT e livre para modificar o contedo da fita, bem como
para gravar nas celulas em branco.
Dado que a MT pode apenas mover uma celula por vez,
conclui-se que, apos uma computao finita, apenas um
Maquinas de Turing
Introduo
Definio
A fita e delimitada fisicamente a esquerda, mas estende-se
indefinidamente para a direita
A extremidade a esquerda e marcada com B.
Sempre que a MT encontrar B, sua posio sera movida
imediatamente a direita.
Os smbolos e denotam movimentos para a esquerda e
direita, respectivamente. E no fazem parte de nenhum
alfabeto.
A cadeia de entrada e gravada na previamente nas celulas mais
a esquerda da fita, logo apos B.
O restante da fita e preenchido com espaos em branco t.
A MT e livre para modificar o contedo da fita, bem como
para gravar nas celulas em branco.
Dado que a MT pode apenas mover uma celula por vez,
conclui-se que, apos uma computao finita, apenas um
Maquinas de Turing
Introduo
Definio
Definio
Definio formal
Uma MT e uma quntupla (K , , , s, H), onde
K e um conjunto de estados;
e o alfabeto de entrada, que contem o simbolo de espao em
branco t e o simbolo de extremidade esquerda B, mas que no
contem os smbolos e ;
s K e o estado inicial; H K e o conjunto de estados de parada;
, a funo de transio, e uma funo de (K H) para
K ( {, }), tal que
1 q K H, se (q, B) = (p, b), ento b =
2 q K H e a , se (q, a) = (p, b), ento b 6= B
Maquinas de Turing
Introduo
Exemplo 1
q (q, )
q0 a (q1 , t)
q0 t (h, t)
q0 B (q0 , )
q1 a (q0 , a)
q1 t (q0 , )
q1 B (q1 , )
Maquinas de Turing
Introduo
Exemplo 2
q (q, )
q0 a (q0 , )
q0 t (h, t)
q0 B (q0 , )
Maquinas de Turing
Introduo
Configuracao
Computao
Sejam duas configuraes de M, (q1 , w1 a1 u1 ) e (q2 , w2 a2 u2 ), onde
a1 , a2 .
(q1 , w1 a1 u1 ) `M (q2 , w2 a2 u2 )
Maquinas de Turing
Introduo
Computao
Sejam duas configuraes de M, (q1 , w1 a1 u1 ) e (q2 , w2 a2 u2 ), onde
a1 , a2 .
(q1 , w1 a1 u1 ) `M (q2 , w2 a2 u2 )
Seja o exemplo anterior, sua computao e como segue:
(q1 , Btaaaa) `M (q0 , B t aaaa) (1)
Maquinas de Turing
Introduo
Computao
Sejam duas configuraes de M, (q1 , w1 a1 u1 ) e (q2 , w2 a2 u2 ), onde
a1 , a2 .
(q1 , w1 a1 u1 ) `M (q2 , w2 a2 u2 )
Seja o exemplo anterior, sua computao e como segue:
(q1 , Btaaaa) `M (q0 , B t aaaa) (1)
`M (q1 , B t taaa) (2)
Maquinas de Turing
Introduo
Computao
Sejam duas configuraes de M, (q1 , w1 a1 u1 ) e (q2 , w2 a2 u2 ), onde
a1 , a2 .
(q1 , w1 a1 u1 ) `M (q2 , w2 a2 u2 )
Seja o exemplo anterior, sua computao e como segue:
(q1 , Btaaaa) `M (q0 , B t aaaa) (1)
`M (q1 , B t taaa) (2)
`M (q0 , B t taaa) (3)
Maquinas de Turing
Introduo
Computao
Sejam duas configuraes de M, (q1 , w1 a1 u1 ) e (q2 , w2 a2 u2 ), onde
a1 , a2 .
(q1 , w1 a1 u1 ) `M (q2 , w2 a2 u2 )
Seja o exemplo anterior, sua computao e como segue:
(q1 , Btaaaa) `M (q0 , B t aaaa) (1)
`M (q1 , B t taaa) (2)
`M (q0 , B t taaa) (3)
`M (q1 , B t ttaa) (4)
Maquinas de Turing
Introduo
Computao
Sejam duas configuraes de M, (q1 , w1 a1 u1 ) e (q2 , w2 a2 u2 ), onde
a1 , a2 .
(q1 , w1 a1 u1 ) `M (q2 , w2 a2 u2 )
Seja o exemplo anterior, sua computao e como segue:
(q1 , Btaaaa) `M (q0 , B t aaaa) (1)
`M (q1 , B t taaa) (2)
`M (q0 , B t taaa) (3)
`M (q1 , B t ttaa) (4)
`M (q0 , B t t t aa) (5)
Maquinas de Turing
Introduo
Computao
Sejam duas configuraes de M, (q1 , w1 a1 u1 ) e (q2 , w2 a2 u2 ), onde
a1 , a2 .
(q1 , w1 a1 u1 ) `M (q2 , w2 a2 u2 )
Seja o exemplo anterior, sua computao e como segue:
(q1 , Btaaaa) `M (q0 , B t aaaa) (1)
`M (q1 , B t taaa) (2)
`M (q0 , B t taaa) (3)
`M (q1 , B t ttaa) (4)
`M (q0 , B t t t aa) (5)
`M (q1 , B t t t ta) (6)
Maquinas de Turing
Introduo
Computao
Sejam duas configuraes de M, (q1 , w1 a1 u1 ) e (q2 , w2 a2 u2 ), onde
a1 , a2 .
(q1 , w1 a1 u1 ) `M (q2 , w2 a2 u2 )
Seja o exemplo anterior, sua computao e como segue:
(q1 , Btaaaa) `M (q0 , B t aaaa) (1)
`M (q1 , B t taaa) (2)
`M (q0 , B t taaa) (3)
`M (q1 , B t ttaa) (4)
`M (q0 , B t t t aa) (5)
`M (q1 , B t t t ta) (6)
`M (q0 , B t t t ta) (7)
Maquinas de Turing
Introduo
Computao
Sejam duas configuraes de M, (q1 , w1 a1 u1 ) e (q2 , w2 a2 u2 ), onde
a1 , a2 .
(q1 , w1 a1 u1 ) `M (q2 , w2 a2 u2 )
Seja o exemplo anterior, sua computao e como segue:
(q1 , Btaaaa) `M (q0 , B t aaaa) (1)
`M (q1 , B t taaa) (2)
`M (q0 , B t taaa) (3)
`M (q1 , B t ttaa) (4)
`M (q0 , B t t t aa) (5)
`M (q1 , B t t t ta) (6)
`M (q0 , B t t t ta) (7)
`M (q1 , B t t t tt) (8)
Maquinas de Turing
Introduo
Computao
Sejam duas configuraes de M, (q1 , w1 a1 u1 ) e (q2 , w2 a2 u2 ), onde
a1 , a2 .
(q1 , w1 a1 u1 ) `M (q2 , w2 a2 u2 )
Seja o exemplo anterior, sua computao e como segue:
(q1 , Btaaaa) `M (q0 , B t aaaa) (1)
`M (q1 , B t taaa) (2)
`M (q0 , B t taaa) (3)
`M (q1 , B t ttaa) (4)
`M (q0 , B t t t aa) (5)
`M (q1 , B t t t ta) (6)
`M (q0 , B t t t ta) (7)
`M (q1 , B t t t tt) (8)
`M (q0 , B t t t t t t) (9)
Maquinas de Turing
Introduo
Computao
Sejam duas configuraes de M, (q1 , w1 a1 u1 ) e (q2 , w2 a2 u2 ), onde
a1 , a2 .
(q1 , w1 a1 u1 ) `M (q2 , w2 a2 u2 )
Seja o exemplo anterior, sua computao e como segue:
(q1 , Btaaaa) `M (q0 , B t aaaa) (1)
`M (q1 , B t taaa) (2)
`M (q0 , B t taaa) (3)
`M (q1 , B t ttaa) (4)
`M (q0 , B t t t aa) (5)
`M (q1 , B t t t ta) (6)
`M (q0 , B t t t ta) (7)
`M (q1 , B t t t tt) (8)
`M (q0 , B t t t t t t) (9)
Maquinas de Turing
Introduo
Exemplos
Exemplos
Exemplos
Exemplos
Exemplos
Definio
Seja M = (K , , , s, H), tal que H = {y , n} (y e n denotam sim e
no, respectivamente). Qualquer configurao que tenha y como
estado componente dita configurao de aceitao, enquanto
uma configurao com n dita configurao de rejeio.
Dizemos que M aceita uma entrada w ( {t, B})? , se
(s, Btw ) levar a uma configurao de aceitao. E M rejeita w , se
(s, Btw ) leva a uma configurao de rejeio.
Seja 0 {t, B} um alfabeto de entrada de M. Dizemos
que M decide a linguagem L ?0 , se, para qualquer cadeia
w ?0 , se w L, ento M aceita w ; e se w / L, ento M rejeita
w.
Finalmente, dizemos que L recursiva se houver uma MT que a
decide.
Maquinas de Turing
Computaes usando maquinas de Turing
Exemplo
Exemplo
Exemplo
Funes recursivas
Funes recursivas
Funes recursivas
Funes recursivas
Definio
Seja M = (K , , , s, {h}) uma MT, 0 {t, B} um
alfabeto, e w ?0 . Suponha que M para ao operar sobre a
entrada w e que (s, Btw ) `M (h, Btz) para algum z ?0 . Ento
z dito sada de M para entrada w e denotado M(w ).
Seja f qualquer funo ?0 ?0 . Dizemos que M computa f , se,
para todo w ?0 , M(w ) = f (w ). Assim, para todo w ?0 , M
para e sua fita contem a cadeia B t f (w ).
Uma funo f dita recursiva, se houver uma MT que computa f .
Maquinas de Turing
Computaes usando maquinas de Turing
Funes recursivas
Funes recursivas
Cadeias sobre o alfabeto binrio {0, 1}? podem ser usadas para
representar inteiros no-negativos na notao binaria usual.
Qualquer cadeia w = a1 a2 . . . an {0, 1}? representa o numero
Maquinas de Turing
Computaes usando maquinas de Turing
Funes recursivas
Cadeias sobre o alfabeto binrio {0, 1}? podem ser usadas para
representar inteiros no-negativos na notao binaria usual.
Qualquer cadeia w = a1 a2 . . . an {0, 1}? representa o numero
Funes recursivas
Cadeias sobre o alfabeto binrio {0, 1}? podem ser usadas para
representar inteiros no-negativos na notao binaria usual.
Qualquer cadeia w = a1 a2 . . . an {0, 1}? representa o numero
Funes recursivas
Cadeias sobre o alfabeto binrio {0, 1}? podem ser usadas para
representar inteiros no-negativos na notao binaria usual.
Qualquer cadeia w = a1 a2 . . . an {0, 1}? representa o numero
Funes recursivas
Cadeias sobre o alfabeto binrio {0, 1}? podem ser usadas para
representar inteiros no-negativos na notao binaria usual.
Qualquer cadeia w = a1 a2 . . . an {0, 1}? representa o numero
Funes recursivas
Definio
Seja M = (K , , , s, {h}) uma MT tal que 0, 1, ; e seja f
qualquer funo de Nk para N, para algum k 1. Dizemos que M
computa f , se para todo w1 , . . . , wk 0 1(0 1)? ,
num(M(w1 ; . . . ; wk )) = f (num(w1 ), . . . , num(wk )).
Uma funo f : Nk N dita recursiva se houver uma MT M
que computa f .
Maquinas de Turing
Computaes usando maquinas de Turing
Funes recursivas
Funes recursivas
Fitas mltiplas
Fitas mltiplas
Fitas mltiplas
Fitas mltiplas
Fitas mltiplas
Fitas mltiplas
Mltiplos cabeotes
Mltiplos cabeotes
Mltiplos cabeotes
Mltiplos cabeotes
Mltiplos cabeotes
Fita bidimensional
Fita bidimensional
Fita bidimensional
Fita bidimensional
Gramaticas
MTs so reconhecedores de linguagens. A partir delas,
surgiram as linguagens recursivas e recursivamente
enumerveis.
Maquinas de Turing
Gramaticas
Gramaticas
MTs so reconhecedores de linguagens. A partir delas,
surgiram as linguagens recursivas e recursivamente
enumerveis.
Novo tipo de gerador de linguagem: uma generalizao da
gramatica livre de contexto, chamada de gramatica (ou
gramatica irrestrita).
Maquinas de Turing
Gramaticas
Gramaticas
MTs so reconhecedores de linguagens. A partir delas,
surgiram as linguagens recursivas e recursivamente
enumerveis.
Novo tipo de gerador de linguagem: uma generalizao da
gramatica livre de contexto, chamada de gramatica (ou
gramatica irrestrita).
Semelhante a GLC, exceto que os lados esquerdos das regras
podem consistir de mais de um simbolo.
Maquinas de Turing
Gramaticas
Gramaticas
MTs so reconhecedores de linguagens. A partir delas,
surgiram as linguagens recursivas e recursivamente
enumerveis.
Novo tipo de gerador de linguagem: uma generalizao da
gramatica livre de contexto, chamada de gramatica (ou
gramatica irrestrita).
Semelhante a GLC, exceto que os lados esquerdos das regras
podem consistir de mais de um simbolo.
O lado esquerdo pode ter qualquer cadeia de terminais e
no-terminais, que contenha pelo menos um no-terminal.
Maquinas de Turing
Gramaticas
Gramaticas
MTs so reconhecedores de linguagens. A partir delas,
surgiram as linguagens recursivas e recursivamente
enumerveis.
Novo tipo de gerador de linguagem: uma generalizao da
gramatica livre de contexto, chamada de gramatica (ou
gramatica irrestrita).
Semelhante a GLC, exceto que os lados esquerdos das regras
podem consistir de mais de um simbolo.
O lado esquerdo pode ter qualquer cadeia de terminais e
no-terminais, que contenha pelo menos um no-terminal.
O produto final tambm uma cadeia de terminais.
Maquinas de Turing
Gramaticas
Gramaticas
MTs so reconhecedores de linguagens. A partir delas,
surgiram as linguagens recursivas e recursivamente
enumerveis.
Novo tipo de gerador de linguagem: uma generalizao da
gramatica livre de contexto, chamada de gramatica (ou
gramatica irrestrita).
Semelhante a GLC, exceto que os lados esquerdos das regras
podem consistir de mais de um simbolo.
O lado esquerdo pode ter qualquer cadeia de terminais e
no-terminais, que contenha pelo menos um no-terminal.
O produto final tambm uma cadeia de terminais.
Uma regra pode assumir a forma uAv uwv , que pode ser
lida substituir A por w no contexto de u e v .
Maquinas de Turing
Gramaticas
Gramaticas
MTs so reconhecedores de linguagens. A partir delas,
surgiram as linguagens recursivas e recursivamente
enumerveis.
Novo tipo de gerador de linguagem: uma generalizao da
gramatica livre de contexto, chamada de gramatica (ou
gramatica irrestrita).
Semelhante a GLC, exceto que os lados esquerdos das regras
podem consistir de mais de um simbolo.
O lado esquerdo pode ter qualquer cadeia de terminais e
no-terminais, que contenha pelo menos um no-terminal.
O produto final tambm uma cadeia de terminais.
Uma regra pode assumir a forma uAv uwv , que pode ser
lida substituir A por w no contexto de u e v .
Substituio depende do contexto.
Maquinas de Turing
Gramaticas
Exemplo
G = (V , , R, S) gera a linguagem L = {an b n c n : n 1}, onde
V = {S, a, b, c, A, B, C , Ta , Tb , Tc }, = {a, b, c} e
R = {S ABCS (11)
S Tc (12)
CA AC (13)
BA AB (14)
CB BC (15)
CTc Tc c (16)
CTc Tb c (17)
BTb Tb b (18)
BTb Ta b (19)
ATa Ta a (20)
T }. (21)
Maquinas de Turing
Gramaticas
Gramaticas
Gramaticas
Gramaticas
Funes numricas
Funes numricas
Funes numricas
Funes numricas
Funes numricas
Funes numricas
Funes numricas
Funes numricas
f (n1 , . . . , nk , 0) = g (n1 , . . . , nk )