inteligência artificial unidade - 2. teoria da computabilidade, máquina de turing, conteúdo
TRANSCRIPT
![Page 2: Inteligência Artificial Unidade - 2. Teoria da Computabilidade, Máquina de Turing, Conteúdo](https://reader035.vdocuments.pub/reader035/viewer/2022081418/552fc14d497959413d8e29f4/html5/thumbnails/2.jpg)
• Teoria da Computabilidade,• Máquina de Turing,
Conteúdo
![Page 3: Inteligência Artificial Unidade - 2. Teoria da Computabilidade, Máquina de Turing, Conteúdo](https://reader035.vdocuments.pub/reader035/viewer/2022081418/552fc14d497959413d8e29f4/html5/thumbnails/3.jpg)
Introdução a conceitos fundamentais da computação, estudo de funções
computáveis e estabelecimento da existência das funções não computáveis.
Teoria da Computabilidade
![Page 4: Inteligência Artificial Unidade - 2. Teoria da Computabilidade, Máquina de Turing, Conteúdo](https://reader035.vdocuments.pub/reader035/viewer/2022081418/552fc14d497959413d8e29f4/html5/thumbnails/4.jpg)
Como qualquer outra ferramenta, computadores
tem capacidades e limitações que devem ser entendidas para seu bom
uso.
![Page 5: Inteligência Artificial Unidade - 2. Teoria da Computabilidade, Máquina de Turing, Conteúdo](https://reader035.vdocuments.pub/reader035/viewer/2022081418/552fc14d497959413d8e29f4/html5/thumbnails/5.jpg)
Teoria da Computação
–Existem diferentes computadores, com diferentes arquiteturas, e existem diversos tipos de linguagens de programação.
–Programas e máquinas são tratados como entidades distintas, mas complementares e necessárias para a definição de computação.
![Page 6: Inteligência Artificial Unidade - 2. Teoria da Computabilidade, Máquina de Turing, Conteúdo](https://reader035.vdocuments.pub/reader035/viewer/2022081418/552fc14d497959413d8e29f4/html5/thumbnails/6.jpg)
• O conceito de programa
–Um programa pode ser descrito como um conjunto estruturado de instruções que capacitam uma máquina aplicar sucessivamente certas operações básicas em uma parte determinada dos dados iniciais fornecidos, até que esses dados tenham se transformado numa forma desejável.
![Page 7: Inteligência Artificial Unidade - 2. Teoria da Computabilidade, Máquina de Turing, Conteúdo](https://reader035.vdocuments.pub/reader035/viewer/2022081418/552fc14d497959413d8e29f4/html5/thumbnails/7.jpg)
• O conceito de máquina
–Interpreta os programas de acordo com os dados fornecidos.
–O objetivo de uma máquina é suprir todas as informações necessárias para que a computação de um programa possa ser descrita.
![Page 8: Inteligência Artificial Unidade - 2. Teoria da Computabilidade, Máquina de Turing, Conteúdo](https://reader035.vdocuments.pub/reader035/viewer/2022081418/552fc14d497959413d8e29f4/html5/thumbnails/8.jpg)
Sistemas formais• Sistema abstrato apresentado em
modelo matemático.• Um sistema formal pode ser visto
como uma espécie de "jogo" rigorosamente definido, que especifica regras para manipulação de símbolos.
![Page 9: Inteligência Artificial Unidade - 2. Teoria da Computabilidade, Máquina de Turing, Conteúdo](https://reader035.vdocuments.pub/reader035/viewer/2022081418/552fc14d497959413d8e29f4/html5/thumbnails/9.jpg)
• três aspectos desse 'jogo' devem ser estabelecidos
• a natureza dos símbolos, • a descrição da situação inicial do
"jogo”,• uma lista de quais movimentos são
permitidos a uma dada posição.
![Page 10: Inteligência Artificial Unidade - 2. Teoria da Computabilidade, Máquina de Turing, Conteúdo](https://reader035.vdocuments.pub/reader035/viewer/2022081418/552fc14d497959413d8e29f4/html5/thumbnails/10.jpg)
Alan Turing
• Uniu matemática e lógica na forma de uma máquina.
![Page 11: Inteligência Artificial Unidade - 2. Teoria da Computabilidade, Máquina de Turing, Conteúdo](https://reader035.vdocuments.pub/reader035/viewer/2022081418/552fc14d497959413d8e29f4/html5/thumbnails/11.jpg)
• Máquina de Turing
–Proposta em 1936 por Alan Turing.–Modelo mais utilizado como formalização
de algoritmo.–É um mecanismo simples que formaliza a
idéia de uma pessoa que realiza cálculos usando um instrumento de escrita e um apagador.
![Page 12: Inteligência Artificial Unidade - 2. Teoria da Computabilidade, Máquina de Turing, Conteúdo](https://reader035.vdocuments.pub/reader035/viewer/2022081418/552fc14d497959413d8e29f4/html5/thumbnails/12.jpg)
• Máquina de Turing–Modelo formal é baseado em:
•uma fita (usada para entrada, saída e rascunho),
•uma unidade de controle,•um programa.
–Na realidade, se trata de um programa para uma máquina universal.
![Page 13: Inteligência Artificial Unidade - 2. Teoria da Computabilidade, Máquina de Turing, Conteúdo](https://reader035.vdocuments.pub/reader035/viewer/2022081418/552fc14d497959413d8e29f4/html5/thumbnails/13.jpg)
Noção intuitiva:
–Uma pessoa, equipada com um instrumento de escrita e um apagador, realiza cálculos em uma folha de papel organizada em quadrados.
–Inicialmente, a folha de papel contém somente os dados iniciais do problema.
![Page 14: Inteligência Artificial Unidade - 2. Teoria da Computabilidade, Máquina de Turing, Conteúdo](https://reader035.vdocuments.pub/reader035/viewer/2022081418/552fc14d497959413d8e29f4/html5/thumbnails/14.jpg)
• Noção como máquina:
–Fita:• Usada simultaneamente como dispositivo de
entrada, de saída e de memória de trabalho.• É finita à esquerda e infinita (tão grande quanto
necessário) à direita, sendo dividida em células, cada uma das quais armazenando um símbolo.
a b b c a ß ß ...
c o n tro l e
f i ta
c a b e ç ad a f i ta u n i d a d e d e
c o n tro l e
ma rc a d o r d ei n íc i o d e f i ta b ra n c oe n tra d a
![Page 15: Inteligência Artificial Unidade - 2. Teoria da Computabilidade, Máquina de Turing, Conteúdo](https://reader035.vdocuments.pub/reader035/viewer/2022081418/552fc14d497959413d8e29f4/html5/thumbnails/15.jpg)
Noção intuitiva:–O trabalho da pessoa pode ser resumido em
seqüências de operações simples como segue:• ler um símbolo de um quadrado;• alterar um símbolo em um quadrado;• mover os olhos para outro quadrado;• quando é encontrada alguma representação
satisfatória para a resposta desejada, a pessoa termina seus cálculos.
–Comportamento da pessoa a cada momento é determinado pelo seu estado presente e pelo símbolo para o qual sua atenção está voltada.
![Page 16: Inteligência Artificial Unidade - 2. Teoria da Computabilidade, Máquina de Turing, Conteúdo](https://reader035.vdocuments.pub/reader035/viewer/2022081418/552fc14d497959413d8e29f4/html5/thumbnails/16.jpg)
Unidade de Controle:•Possui uma unidade de leitura e gravação (cabeça da fita), a qual acessa uma célula da fita de cada vez.
•A cabeça da fita lê o símbolo de uma célula de cada vez e grava um novo símbolo. Após a leitura/gravação (a gravação é realizada na mesma célula de leitura), a cabeça move-se uma célula para a direita ou esquerda.
![Page 17: Inteligência Artificial Unidade - 2. Teoria da Computabilidade, Máquina de Turing, Conteúdo](https://reader035.vdocuments.pub/reader035/viewer/2022081418/552fc14d497959413d8e29f4/html5/thumbnails/17.jpg)
–Programa:
•O programa comanda as leituras e gravações, o sentido de movimento da cabeça e define o estado da máquina.
•Programa é uma função que, dependendo do estado corrente da máquina e do símbolo lido, determina o símbolo a ser gravado, o sentido do movimento da cabeça e o novo estado.
![Page 18: Inteligência Artificial Unidade - 2. Teoria da Computabilidade, Máquina de Turing, Conteúdo](https://reader035.vdocuments.pub/reader035/viewer/2022081418/552fc14d497959413d8e29f4/html5/thumbnails/18.jpg)
Notação Esquemática de uma Máquina de Turing (MT)
Cabeça de leitura-escrita
Fita infinita
mov: esq/dir
Existe um b aqui!
a
![Page 19: Inteligência Artificial Unidade - 2. Teoria da Computabilidade, Máquina de Turing, Conteúdo](https://reader035.vdocuments.pub/reader035/viewer/2022081418/552fc14d497959413d8e29f4/html5/thumbnails/19.jpg)
• A máquina continua sua computação até decidir produzir uma saída.
–As saídas aceita e rejeita são obtidas quando ela entra nos estados de aceitação e rejeição, respectivamente.
–Se ela não entra nestes dois estados roda para sempre.
![Page 20: Inteligência Artificial Unidade - 2. Teoria da Computabilidade, Máquina de Turing, Conteúdo](https://reader035.vdocuments.pub/reader035/viewer/2022081418/552fc14d497959413d8e29f4/html5/thumbnails/20.jpg)
Definição Formal de uma MT
1. Q – um conjunto finito de estados.
![Page 21: Inteligência Artificial Unidade - 2. Teoria da Computabilidade, Máquina de Turing, Conteúdo](https://reader035.vdocuments.pub/reader035/viewer/2022081418/552fc14d497959413d8e29f4/html5/thumbnails/21.jpg)
Definição Formal de uma MT
2. - o alfabeto de entrada, um conjunto finito não contendo o símbolo branco.
![Page 22: Inteligência Artificial Unidade - 2. Teoria da Computabilidade, Máquina de Turing, Conteúdo](https://reader035.vdocuments.pub/reader035/viewer/2022081418/552fc14d497959413d8e29f4/html5/thumbnails/22.jpg)
Definição Formal de uma MT
3. - o alfabeto da fita, em que e _.
![Page 23: Inteligência Artificial Unidade - 2. Teoria da Computabilidade, Máquina de Turing, Conteúdo](https://reader035.vdocuments.pub/reader035/viewer/2022081418/552fc14d497959413d8e29f4/html5/thumbnails/23.jpg)
Definição Formal de uma MT
4. :QQ{L,R} – a função de transição.
q0
a
q0
![Page 24: Inteligência Artificial Unidade - 2. Teoria da Computabilidade, Máquina de Turing, Conteúdo](https://reader035.vdocuments.pub/reader035/viewer/2022081418/552fc14d497959413d8e29f4/html5/thumbnails/24.jpg)
Definição Formal de uma MT
5. q0 – o estado inicial
![Page 25: Inteligência Artificial Unidade - 2. Teoria da Computabilidade, Máquina de Turing, Conteúdo](https://reader035.vdocuments.pub/reader035/viewer/2022081418/552fc14d497959413d8e29f4/html5/thumbnails/25.jpg)
Definição Formal de uma MT
6. qacceptQ - estado de aceitação
![Page 26: Inteligência Artificial Unidade - 2. Teoria da Computabilidade, Máquina de Turing, Conteúdo](https://reader035.vdocuments.pub/reader035/viewer/2022081418/552fc14d497959413d8e29f4/html5/thumbnails/26.jpg)
Definição Formal de uma MT
7. qrejectQ – estado de rejeição qrejectqaccept.
![Page 27: Inteligência Artificial Unidade - 2. Teoria da Computabilidade, Máquina de Turing, Conteúdo](https://reader035.vdocuments.pub/reader035/viewer/2022081418/552fc14d497959413d8e29f4/html5/thumbnails/27.jpg)
Definição Formal de uma MT Sumário
1. Q - conjunto finito de estados.
2. - o alfabeto de entrada.
3. - o alfabeto da fita
4. :QQ{L,R} - a função de transição.
5. q0 - o estado inicial.
6. qacceptQ - estado de aceitação.
7. qrejectQ - estado de rejeição .
![Page 28: Inteligência Artificial Unidade - 2. Teoria da Computabilidade, Máquina de Turing, Conteúdo](https://reader035.vdocuments.pub/reader035/viewer/2022081418/552fc14d497959413d8e29f4/html5/thumbnails/28.jpg)
ComputaçõesA Configuração Inicial
q0cabeça: na
célula mais à esquerda
A entrada: começa a partir da esquerda
Estado inicial
![Page 29: Inteligência Artificial Unidade - 2. Teoria da Computabilidade, Máquina de Turing, Conteúdo](https://reader035.vdocuments.pub/reader035/viewer/2022081418/552fc14d497959413d8e29f4/html5/thumbnails/29.jpg)
ComputaçõesExemplo
q0
(q0,a)=(q0,b,R)
q0
b
Nota: a cabeça não pode se mover para à esquerda desta célula!
![Page 30: Inteligência Artificial Unidade - 2. Teoria da Computabilidade, Máquina de Turing, Conteúdo](https://reader035.vdocuments.pub/reader035/viewer/2022081418/552fc14d497959413d8e29f4/html5/thumbnails/30.jpg)
Computações Configuração de Aceitação
qaccept
Se a computação sempre entra no estado de aceitação, ela pára.
![Page 31: Inteligência Artificial Unidade - 2. Teoria da Computabilidade, Máquina de Turing, Conteúdo](https://reader035.vdocuments.pub/reader035/viewer/2022081418/552fc14d497959413d8e29f4/html5/thumbnails/31.jpg)
Computações Configuração de Rejeição
qreject
Se a computação sempre entra no estado de
rejeição, ela também pára.
![Page 32: Inteligência Artificial Unidade - 2. Teoria da Computabilidade, Máquina de Turing, Conteúdo](https://reader035.vdocuments.pub/reader035/viewer/2022081418/552fc14d497959413d8e29f4/html5/thumbnails/32.jpg)
A Linguagem que uma MT Aceita• Uma máquina de Turing aceita sua entrada,
se ela alcança uma configuração de aceitação.
• O conjunto de entradas que ela aceita é chamado sua linguagem L(M).
Aceita(M)
Rejeita(M)Loop(M)
Partições do conjunto de palavras sobre *
w L(M)
w L(M)w L(M)
![Page 33: Inteligência Artificial Unidade - 2. Teoria da Computabilidade, Máquina de Turing, Conteúdo](https://reader035.vdocuments.pub/reader035/viewer/2022081418/552fc14d497959413d8e29f4/html5/thumbnails/33.jpg)
Uma MT para uma Linguagem Simples
L = { anbncn | n0 }
aaabbbccc
aaabbbccc
Exemplos:
Pertence à L:Não Pertence à L:aaabbccc
caaabbccc
c
![Page 34: Inteligência Artificial Unidade - 2. Teoria da Computabilidade, Máquina de Turing, Conteúdo](https://reader035.vdocuments.pub/reader035/viewer/2022081418/552fc14d497959413d8e29f4/html5/thumbnails/34.jpg)
A Função de Transição
q0
q3
q2
q1
q4
qa
c
aa, R
cZ,L
bY,R
bb, R
ZZ, L
XX, R
YY, R ZZ, R
__, R
__, R
YY, R
transições não
especificadasaqui levam
ao qreject
aX,R
YY, RZZ, R
bb, L aa, LYY, L
q0
q3
q2
q1
q4
qac
aa, R
cZ,L
bY,R
bb, R
ZZ, L
XX, R
YY, R ZZ, R
__, R
YY, R
aX,R
YY, RZZ, R
bb, L aa, LYY, L
![Page 35: Inteligência Artificial Unidade - 2. Teoria da Computabilidade, Máquina de Turing, Conteúdo](https://reader035.vdocuments.pub/reader035/viewer/2022081418/552fc14d497959413d8e29f4/html5/thumbnails/35.jpg)
Demonstração
q0
q3
q2
q1
q4
qa
c
aX,R
aa, R YY, R
cZ,L
bY,R
bb, R ZZ, R
ZZ, L bb, L YY, L aa, L
XX, R
YY, R ZZ, R
__, R
__, RYY, R
a b c _ . . .
q0
q3
q0
q1
X
q2
q1
Y Z
q2
q3
q0q0
q4
_
q4
qa
c
![Page 36: Inteligência Artificial Unidade - 2. Teoria da Computabilidade, Máquina de Turing, Conteúdo](https://reader035.vdocuments.pub/reader035/viewer/2022081418/552fc14d497959413d8e29f4/html5/thumbnails/36.jpg)
• 1 I 2 - Estado 1: se há um I no quadrado ativo, substitua-o por - e vá para estado 2;
• 2 - 3 > Estado 2: se há um - no quadrado ativo, vá para estado 3 e ande um quadrado a direita;
• 3 I 3 > Estado 3: se há um I no quadrado ativo, vá para estado 3 e ande um quadrado a direita;
• 3 - 4 > Estado 3: se há um - no quadrado ativo, vá para estado 4 e ande um quadrado a direita;
• 4 I 4 > Estado 4: se há um I no quadrado ativo, vá para estado 4 e ande um quadrado a direita;
Exemplo
![Page 37: Inteligência Artificial Unidade - 2. Teoria da Computabilidade, Máquina de Turing, Conteúdo](https://reader035.vdocuments.pub/reader035/viewer/2022081418/552fc14d497959413d8e29f4/html5/thumbnails/37.jpg)
• 4 - 5 I Estado 4: se há um - no quadrado ativo, substitua-o por I vá para estado 5;
• 5 I 5 > Estado 5: se há um I no quadrado ativo, vá para estado 5 e ande um quadrado a direita;
• 5 - 6 I Estado 5: se há um - no quadrado ativo, substitua-o por I vá para estado 6;
• 6 I 6 < Estado 6: se há um I no quadrado ativo, vá para estado 6 e ande um quadrado a esquerda;
• 6 - 7 < Estado 6: se há um - no quadrado ativo, vá para estado 7 e ande um quadrado a esquerda;
Exemplo
![Page 38: Inteligência Artificial Unidade - 2. Teoria da Computabilidade, Máquina de Turing, Conteúdo](https://reader035.vdocuments.pub/reader035/viewer/2022081418/552fc14d497959413d8e29f4/html5/thumbnails/38.jpg)
• 7 I 8 < Estado 7: se há um I no quadrado ativo, vá para estado 8 e ande um quadrado a esquerda;
• 8 I 8 < Estado 8: se há um I no quadrado ativo, vá para estado 8 e ande um quadrado a esquerda;
• 8 - 1 > Estado 8: se há um - no quadrado ativo, vá para estado 1 e ande um quadrado a direita;
Exemplo
![Page 39: Inteligência Artificial Unidade - 2. Teoria da Computabilidade, Máquina de Turing, Conteúdo](https://reader035.vdocuments.pub/reader035/viewer/2022081418/552fc14d497959413d8e29f4/html5/thumbnails/39.jpg)
O jogo neste caso é duplicar uma seqüência de Is que estejam na fita. Se a fita contiver I I I I, no final conterá
I I I I I I I I.
Note que se houver um branco no quadrado ativo quando os estados forem 1 ou 7, ou se há um I no quadrado ativo quando o
estado da máquina é 2, ela pára, pois não saberia o que fazer.
Exemplo