SlideShare uma empresa Scribd logo
1 de 26
Baixar para ler offline
Linguagens Formais e Teoria da Computa¸c˜ao
Sidnei Pereira Jr.
Universidade Federal do Rio Grande
sidnei.pereira@furg.br
2017
Sidnei Pereira Jr. (C3 - FURG) Difini¸c˜oes de M´aquinas de Turing 2017 1 / 26
Agenda
1 Introdu¸c˜ao
No¸c˜oes de Linguagens, Gram´aticas e Autˆomatos
2 A M´aquina de Turing Padr˜ao
Defini¸c˜ao de M´aquina de Turing
3 M´aquinas de Turing como Reconhecedoras de Linguagens
Sidnei Pereira Jr. (C3 - FURG) Difini¸c˜oes de M´aquinas de Turing 2017 2 / 26
No¸c˜oes de Linguagens, Gram´aticas e Autˆomatos
Linguagens naturais
Portuguˆes, inglˆes...
Linguagens formais
Todas as regras da linguagem s˜ao explicitamente declaradas
N˜ao permite viola¸c˜ao `as regras
Linguagens de programa¸c˜ao: Compiladores
Abstratas
Sidnei Pereira Jr. (C3 - FURG) Difini¸c˜oes de M´aquinas de Turing 2017 3 / 26
No¸c˜oes de Linguagens, Gram´aticas e Autˆomatos
Alfabeto
Conjunto de s´ımbolos representado por Σ
Cadeias ou strings
Sequˆencias finitas de s´ımbolos: se o alfabeto for Σ = {a, b}, ent˜ao a abab
e aaabba s˜ao cadeias sobre Σ. a cadeia vazia ´e aquela sem nenhum
s´ımbolo, e ser´a denotada por λ
Concaten¸c˜ao
Jun¸c˜ao de palavras: sejam w = bbab e v = aaab. Ent˜ao wv = bbabaaab
e vw = aaabbbab
Palavra reversa
S´ımbolos na ordem contr´aria: sejam w = bbab e v = aaab. Ent˜ao
wR = babb e vR = baaa
Sidnei Pereira Jr. (C3 - FURG) Difini¸c˜oes de M´aquinas de Turing 2017 4 / 26
No¸c˜oes de Linguagens, Gram´aticas e Autˆomatos
Prefixo e Sufixo
Se w = vu. Ent˜ao v ´e chamado de prefixo e u ´e chamado de sufixo de w. Seja
w = abbab, o conjunto de todos os prefixos de w ´e {λ, a, ab, abb, abba, abbab} e
de todos os sufixos ´e {λ, b, ab, bab, bbab, abbab}
Comprimento
Denotado por |w|, ´e o n´umero de simbolos: wn ´e a cadeia obtida
concatenando w com ela pr´opria n vezes. Portanto, wn+1 = wwn. No
caso especial de n = 0, w0 = λ.
Fecho Estrela e Fecho Positivo
O fecho estrela Σ∗
, ´e o conjunto de todas as cadeias (finitas) obtidas
concatenando zero ou mais s´ımbolos de Σ. O fecho positivo Σ+
, ´e o conjunto de
todas as cadeias (finitas) de Σ sem a cadeia vazia. Isto ´e, Σ+
= Σ∗
− {λ}. Se
Σ = {a}, ent˜ao Σ∗
= {λ, a, aa, aaa, aaaa, . . .}
Sidnei Pereira Jr. (C3 - FURG) Difini¸c˜oes de M´aquinas de Turing 2017 5 / 26
No¸c˜oes de Linguagens, Gram´aticas e Autˆomatos
Linguagens
Um subconjunto qualquer de Σ∗ pode ser visto como um linguagem sobre
o alfabeto Σ. Uma cadeia w numa linguagem L, isto ´e w ∈ L, ser´a
chamada palavra ou senten¸ca.
Exemplo
Seja Σ = {a, b}. Ent˜ao Σ∗ = {λ, a, b, aa, ab, ba, bb, aaa, aab, ...}. O
conjunto L = {a, aa, aab}, uma linguagem finita, e L = {anbn|n ≥ 0},
uma linguagem infinita, s˜ao linguagens sobre Σ.
Sidnei Pereira Jr. (C3 - FURG) Difini¸c˜oes de M´aquinas de Turing 2017 6 / 26
No¸c˜oes de Linguagens, Gram´aticas e Autˆomatos
Defini¸c˜ao
Como as linguagens s˜ao conjuntos: opera¸c˜oes de uni˜ao, interse¸c˜ao e diferen¸ca de
duas linguagens s˜ao imediatamente definidadas. O complemento de uma
linguagem L sobre um alfabeto Σ, ´e definida com respeito a Σ∗
, isto ´e, o
complemento de L ´e a linguagem, sobre Σ, definida por L = Σ∗
− L.
Complemento
Seja L = {w ∈ Σ∗||w| ´e par}. Ent˜ao L = {w ∈ Σ∗||w| ´e ´ımpar}
Concatena¸c˜ao
Seja L = {anbn|n ≥ 0}. Ent˜ao L2 = {ambmanbn|m ≥ 0 e n ≥ 0}
Sidnei Pereira Jr. (C3 - FURG) Difini¸c˜oes de M´aquinas de Turing 2017 7 / 26
No¸c˜oes de Linguagens, Gram´aticas e Autˆomatos
Fecho Estrela e Fecho Positivo
Seja L = {aa, bb, aba}, ent˜ao
L∗
= {λ, aa, bb, aba, aaaa, aabb, aaaba, bbaa, bbbb, bbaba, abaaa, ababb, abaaba, aaaaaa, ...}, e
L+
= {aa, bb, aba, aaaa, aabb, aaaba, bbaa, bbbb, bbaba, abaaa, ababb, abaaba, aaaaaa, ...}
Reversa
w ∈ L se e somente se wR
∈ LR
. Como (wR
)R
= w para qualquer cadeia w,
definimos LR
= {w ∈ |wR
∈ L}. Seja L = {aa, baa, aba, abbb}, ent˜ao
LR
= {aa, aab, aba, bbba}
Prefixo e Sufixo
LP
= {v ∈ Σ∗
|vw ∈ L para algum w ∈ Σ∗
}. E LS
= {w ∈ Σ∗
|vw ∈ L para algum
v ∈ Σ∗
}. Seja L = {aa, ba, baa}, ent˜ao LP
= {λ, a, b, aa, ba, baa} e
LS
= {λ, a, ba, aa, baa}
Sidnei Pereira Jr. (C3 - FURG) Difini¸c˜oes de M´aquinas de Turing 2017 8 / 26
No¸c˜oes de Linguagens, Gram´aticas e Autˆomatos
Linguagens Regulares
1 Autˆomatos Finitos
2 Gram´aticas Regulares
3 Example
Linguagens livres de contexto
1 Autˆomatos de Pilha
2 Gram´aticas Livres de Contexto
3 Example
As linguagens regulares s˜ao subconjunto pr´oprio das linguagens livres do
contexto.
Mas, e linguagens simples do tipo:
L = {anbncn|n ≥ 0} e {ww|w ∈ {a, b}}.
N˜ao s˜ao livres do contexto.
Sidnei Pereira Jr. (C3 - FURG) Difini¸c˜oes de M´aquinas de Turing 2017 9 / 26
A M´aquina de Turing Padr˜ao
Uma m´aquina de Turing ´e um autˆomato cuja mem´oria tempor´aria ´e uma fita a
qual ´e dividida em c´elulas, cada uma das quais ´e capaz de manter um s´ımbolo.
Associado `a fita existe um cabe¸cote de leitura-escrita que pode se mover, uma
c´elula para a direita ou para a esquerda.
Sidnei Pereira Jr. (C3 - FURG) Difini¸c˜oes de M´aquinas de Turing 2017 10 / 26
A M´aquina de Turing Padr˜ao
Defini¸c˜ao 8.1.1
Uma m´aquina de Turing M ´e uma s´ete-tupla M = Q, Σ, Γ, δ, q0, , F , onde
Q ´e um conjunto finito de estados interno,
Σ ´e um conjunto finito de s´ımbolos, chamado alfabeto de entrada,
Γ ´e um conjunto finito de s´ımbolos, chamado alfabeto da fita,
δ ´e uma fun¸c˜ao (parcial) de transi¸c˜oes,
∈ Γ ´e um s´ımbolo especial, chamado branco,
q0 ∈ Q ´e o estado inicial e
F ⊆ Q ´e o conjunto de estados finais.
Na defini¸c˜ao, assumiremos que Σ ⊆ Γ − , isto ´e, que o alfabeto de entrada, n˜ao
inclui o branco.
Sidnei Pereira Jr. (C3 - FURG) Difini¸c˜oes de M´aquinas de Turing 2017 11 / 26
A M´aquina de Turing Padr˜ao
Defini¸c˜ao
A fun¸c˜ao de transi¸c˜ao δ ´e definida como:
δ : Q × Γ −→ Q × Γ × {E, D}.
Sidnei Pereira Jr. (C3 - FURG) Difini¸c˜oes de M´aquinas de Turing 2017 12 / 26
A M´aquina de Turing Padr˜ao
Defini¸c˜ao
Podemos ver uma m´aquina de Turing como um computador simples: unidade de
processamento, com mem´oria finita e a fita, unidade de mem´oria secund´aria com
capacidade ilimitada.
Instru¸c˜oes
perceber um s´ımbolo na fita;
us´a-lo como resultado para
decidir o pr´oximo passo.
A¸c˜oes
rescrever o s´ımbolo corrente;
trocar o estado do controle e mover
o cabe¸cote uma c´elula, para direita
ou esquerda.
Defini¸c˜ao
Uma m´aquina de Turing p´ara de computar se atinge uma configura¸c˜ao para a
qual δ n˜ao est´a definida. Isto ´e poss´ıvel porque δ ´e uma fun¸c˜ao parcial. De fato,
assumiremos que s´o existe um ´unico estado final para o qual n˜ao s˜ao definidas
transi¸c˜oes. Portanto, a m´aquina de Turing parar´a sempre que ela entrar nesse
estado final.
Sidnei Pereira Jr. (C3 - FURG) Difini¸c˜oes de M´aquinas de Turing 2017 13 / 26
A M´aquina de Turing Padr˜ao
Exemplo 1
Considere a m´aquina de Turing definida por:
Q = {q0, q1},
Σ = {a, b},
Γ = {a, b, },
F = {q1} e
δ(q0, a) = (q0, b, D), δ(q0, b) = (q0, b, D), δ(q0, ) = (q1, , E).
Sidnei Pereira Jr. (C3 - FURG) Difini¸c˜oes de M´aquinas de Turing 2017 14 / 26
A M´aquina de Turing Padr˜ao
Exemplo 2
Tome Q, Σ, Γ e F, como no exemplo anterior. Defina δ por:
δ(q0, a) = (q1, a, D), δ(q0, b) = (q1, b, D), δ(q0, ) = (q1, , D),
δ(q1, a) = (q0, a, E), δ(q1, b) = (q0, b, E), δ(q1, ) = (q0, , D).
Sidnei Pereira Jr. (C3 - FURG) Difini¸c˜oes de M´aquinas de Turing 2017 15 / 26
A M´aquina de Turing Padr˜ao
Caracter´ısticas do Modelo
1 A m´aquina de Turing tem uma fita que ´e ilimitada em ambas as dire¸c˜oes,
permitindo qualquer n´umero de movimentos para a direita ou para a
esquerda.
2 A m´aquina de Turing ´e determin´ıstica no sentido de que δ define, no
m´aximo, um movimento para cada configura¸c˜ao.
3 N˜ao existe fita de entrada especial. Assumimos que no in´ıcio a fita tem um
conte´udo especial. Alguns destes podem ser considerados entradas.
Analogamente, n˜ao existe nenhum dispositivo de sa´ıda. Sempre que a
m´aquina p´ara, algum, ou todo o conte´udo da fita pode ser visto como sa´ıda.
Descri¸c˜ao Instantˆanea
Qualquer configura¸c˜ao de uma m´aquina de Turing ´e completamente determinada
pelo estado corrente da unidade de controle, o conte´udo da fita, e a posi¸c˜ao do
cabe¸cote de leitura-escrita.
Sidnei Pereira Jr. (C3 - FURG) Difini¸c˜oes de M´aquinas de Turing 2017 16 / 26
A M´aquina de Turing Padr˜ao
Defini¸c˜ao
Seja M = Q, Σ, Γ, δ, q0, , F uma m´aquina de Turing. Toda tripla
(u, q, v) ∈ Γ × Q × Γ ´e chamada de descri¸c˜ao instantˆanea de M. Por
simplicidade notacional escreveremos uqv em vez de (u, q, v).
a1a2 · · · ak−1qakak+1 · · · an
Exemplo 3
A sequˆencia de descri¸c˜ao instantˆanea do Exemplo 1 ´e q0aa, bq0a, bbq0 e bbq1b.
Sidnei Pereira Jr. (C3 - FURG) Difini¸c˜oes de M´aquinas de Turing 2017 17 / 26
A M´aquina de Turing Padr˜ao
Defini¸c˜ao
Um movimento v´alido de uma configura¸c˜ao a outra ser´a denotado por .
Portanto, se
δ(q1, c) = (q2, e, D)
um movimento poss´ıvel ´e
abq1cd abeq2d.
Os simbolos ∗
e +
podem ser usados para representar um n´umero arbrit´ario de
movimentos.
Exemplo 4
A a¸c˜ao da m´aquina de Turing do Exemplo 1 pode ser representada por
q0aa bq0a bbq0 bq1b. ou q0bb ∗
bq1b.
Sidnei Pereira Jr. (C3 - FURG) Difini¸c˜oes de M´aquinas de Turing 2017 18 / 26
A M´aquina de Turing Padr˜ao
Defini¸c˜ao 8.1.8
Sejam u, v ∈ Γ∗
, a, b, c ∈ Γ e q, q ∈ Q. Se δ(q, a) = (q , b, D) ent˜ao h´a um
movimento v´alido da descri¸c˜ao instantˆanea uqav para a descri¸c˜ao instantˆanea
ubq v que denotamos por uqav ubq v. Se δ(q, a) = (q , b, E) ent˜ao h´a um
movimento v´alido da descri¸c˜ao instantˆanea ucqav para a descri¸c˜ao instantˆanea
uq cbv que denotamos por ucqav uq cbv.
Defini¸c˜ao 8.1.8
Uma descri¸c˜ao instantˆanea uqpav ´e uma configura¸c˜ao de parada, denotado por
uqpav ⊥, se δ(qp, a) n˜ao ´e definido ou, equivalente, se n˜ao existe uma descri¸c˜ao
instantˆanea u q v tal que uqpav u q v . Assim, uma m´aquina de Turing M
p´ara para a descri¸c˜ao instantˆanea inicial uqv se
uqv ∗
⊥.
A sequˆencia de configura¸c˜ao levando a uma configura¸c˜ao de para em que o
estado ser´a chamda de computa¸c˜ao
Sidnei Pereira Jr. (C3 - FURG) Difini¸c˜oes de M´aquinas de Turing 2017 19 / 26
A M´aquina de Turing Padr˜ao
Sidnei Pereira Jr. (C3 - FURG) Difini¸c˜oes de M´aquinas de Turing 2017 20 / 26
A M´aquina de Turing Padr˜ao
Defini¸c˜ao 8.1.7 (2009)
O exemplo 8.1.4 mostra a possibilidade de que uma m´aquina de Turing pode
nunca parar, permanecendo em um la¸co sem fim do qual ela n˜ao pode escapar.
Esta situa¸c˜ao desempenha um papel fundamental de uma m´aquina de Turing,
representemo-la por
uqv ∗
∞ ou x1qx2
∗
∞ .
indicando que, iniciando da configura¸c˜ao inicial uqv a m´aquina nunca p´ara.
Sidnei Pereira Jr. (C3 - FURG) Difini¸c˜oes de M´aquinas de Turing 2017 21 / 26
A M´aquina de Turing como Reconhecedora de Linguagens
Sidnei Pereira Jr. (C3 - FURG) Difini¸c˜oes de M´aquinas de Turing 2017 22 / 26
A M´aquina de Turing como Reconhecedora de Linguagens
Defini¸c˜ao 8.1.9
Seja M = Q, Σ, Γ, δ, q0, , F uma m´aquina de Turing. Ent˜ao a linguagem
reconhecida por M ´e
L(M) = {w ∈ Σ∗
| q0w ∗
uqf v} para algum qf ∈ F, u, v ∈ Γ∗
Sidnei Pereira Jr. (C3 - FURG) Difini¸c˜oes de M´aquinas de Turing 2017 23 / 26
A M´aquina de Turing como Reconhecedora de Linguagens
Sidnei Pereira Jr. (C3 - FURG) Difini¸c˜oes de M´aquinas de Turing 2017 24 / 26
References
Aci´oly, Benedito. e Bedregal, Benjam´ın R.C. e Lyra, Aar˜ao (2010)
Introdu¸c˜ao `a Teoria das Linguagens Formais, dos Autˆomatos e da Computabilidade.
Sidnei Pereira Jr. (C3 - FURG) Difini¸c˜oes de M´aquinas de Turing 2017 25 / 26
The End
Sidnei Pereira Jr. (C3 - FURG) Difini¸c˜oes de M´aquinas de Turing 2017 26 / 26

Mais conteúdo relacionado

Mais procurados

Problemas função exponencial
Problemas   função exponencialProblemas   função exponencial
Problemas função exponencial
Péricles Penuel
 
Redes Neurais: Estimação de Densidades
Redes Neurais: Estimação de DensidadesRedes Neurais: Estimação de Densidades
Redes Neurais: Estimação de Densidades
Renato Vicente
 
Medida de risco por Teoria de Valores Extremos
Medida de risco por Teoria de Valores ExtremosMedida de risco por Teoria de Valores Extremos
Medida de risco por Teoria de Valores Extremos
Renato Vicente
 
Redes Neurais: Técnicas Bayesianas
Redes Neurais: Técnicas BayesianasRedes Neurais: Técnicas Bayesianas
Redes Neurais: Técnicas Bayesianas
Renato Vicente
 
Introdução aos espaços de dimensão infinita
Introdução aos espaços de dimensão infinitaIntrodução aos espaços de dimensão infinita
Introdução aos espaços de dimensão infinita
Felipe Rocha Felix
 
Exercicis de funções exponenciais
Exercicis de funções exponenciaisExercicis de funções exponenciais
Exercicis de funções exponenciais
tiowans
 
[Robson] 3. Método Simplex
[Robson] 3. Método Simplex[Robson] 3. Método Simplex
[Robson] 3. Método Simplex
lapodcc
 
Redes Neurais: classificação e regressão
Redes Neurais: classificação e regressãoRedes Neurais: classificação e regressão
Redes Neurais: classificação e regressão
Renato Vicente
 
Lista de exercicio de funcao exponencial
Lista de exercicio de funcao exponencialLista de exercicio de funcao exponencial
Lista de exercicio de funcao exponencial
Cleidison Melo
 
[Robson] 7. Programação Não Linear Irrestrita
[Robson] 7. Programação Não Linear Irrestrita[Robson] 7. Programação Não Linear Irrestrita
[Robson] 7. Programação Não Linear Irrestrita
lapodcc
 

Mais procurados (20)

Problemas função exponencial
Problemas   função exponencialProblemas   função exponencial
Problemas função exponencial
 
Redes Neurais: Estimação de Densidades
Redes Neurais: Estimação de DensidadesRedes Neurais: Estimação de Densidades
Redes Neurais: Estimação de Densidades
 
Análise de Algoritmos - Análise Assintótica
Análise de Algoritmos - Análise AssintóticaAnálise de Algoritmos - Análise Assintótica
Análise de Algoritmos - Análise Assintótica
 
Medida de risco por Teoria de Valores Extremos
Medida de risco por Teoria de Valores ExtremosMedida de risco por Teoria de Valores Extremos
Medida de risco por Teoria de Valores Extremos
 
Cal i a02
Cal i a02Cal i a02
Cal i a02
 
Redes Neurais: Técnicas Bayesianas
Redes Neurais: Técnicas BayesianasRedes Neurais: Técnicas Bayesianas
Redes Neurais: Técnicas Bayesianas
 
Integracaonumerica
IntegracaonumericaIntegracaonumerica
Integracaonumerica
 
Introdução aos espaços de dimensão infinita
Introdução aos espaços de dimensão infinitaIntrodução aos espaços de dimensão infinita
Introdução aos espaços de dimensão infinita
 
Análise de Algoritmos - Método Guloso
Análise de Algoritmos - Método GulosoAnálise de Algoritmos - Método Guloso
Análise de Algoritmos - Método Guloso
 
Exercicis de funções exponenciais
Exercicis de funções exponenciaisExercicis de funções exponenciais
Exercicis de funções exponenciais
 
[Robson] 3. Método Simplex
[Robson] 3. Método Simplex[Robson] 3. Método Simplex
[Robson] 3. Método Simplex
 
Redes Neurais: classificação e regressão
Redes Neurais: classificação e regressãoRedes Neurais: classificação e regressão
Redes Neurais: classificação e regressão
 
Programação Dinâmica - Segmento de Soma Máxima
Programação Dinâmica - Segmento de Soma MáximaProgramação Dinâmica - Segmento de Soma Máxima
Programação Dinâmica - Segmento de Soma Máxima
 
Lista de exercicio de funcao exponencial
Lista de exercicio de funcao exponencialLista de exercicio de funcao exponencial
Lista de exercicio de funcao exponencial
 
Apostila de matemática cursinho
Apostila de matemática   cursinhoApostila de matemática   cursinho
Apostila de matemática cursinho
 
Análise de Algoritmos - Problemas, instâncias, algoritmos e tempo
Análise de Algoritmos - Problemas, instâncias, algoritmos e tempoAnálise de Algoritmos - Problemas, instâncias, algoritmos e tempo
Análise de Algoritmos - Problemas, instâncias, algoritmos e tempo
 
[Robson] 7. Programação Não Linear Irrestrita
[Robson] 7. Programação Não Linear Irrestrita[Robson] 7. Programação Não Linear Irrestrita
[Robson] 7. Programação Não Linear Irrestrita
 
Mnae aula 1 introducao
Mnae aula 1 introducaoMnae aula 1 introducao
Mnae aula 1 introducao
 
V@R Não-Linear
V@R Não-LinearV@R Não-Linear
V@R Não-Linear
 
Lista 05
Lista 05Lista 05
Lista 05
 

Semelhante a Definições de Máquinas de Turing (10)

01 maquinas de turing
01 maquinas de turing01 maquinas de turing
01 maquinas de turing
 
2º/2012 - Prova 03 de Autômatos e Computabilidade
2º/2012 - Prova 03 de Autômatos e Computabilidade2º/2012 - Prova 03 de Autômatos e Computabilidade
2º/2012 - Prova 03 de Autômatos e Computabilidade
 
Manual winplot
Manual winplotManual winplot
Manual winplot
 
02 maquinas de turing modificadas
02 maquinas de turing modificadas02 maquinas de turing modificadas
02 maquinas de turing modificadas
 
Linguagens formais e autômatos
Linguagens formais e autômatosLinguagens formais e autômatos
Linguagens formais e autômatos
 
Sequencias e series unicamp
Sequencias e series   unicampSequencias e series   unicamp
Sequencias e series unicamp
 
Aula 10 maquinade turing
Aula 10   maquinade turingAula 10   maquinade turing
Aula 10 maquinade turing
 
03-Notacoes O omega teta Complexidade e Corretude.pdf
03-Notacoes O omega teta Complexidade e Corretude.pdf03-Notacoes O omega teta Complexidade e Corretude.pdf
03-Notacoes O omega teta Complexidade e Corretude.pdf
 
Complexidade de Algoritmos, Notação assintótica, Algoritmos polinomiais e in...
Complexidade de Algoritmos, Notação assintótica, Algoritmos polinomiais e in...Complexidade de Algoritmos, Notação assintótica, Algoritmos polinomiais e in...
Complexidade de Algoritmos, Notação assintótica, Algoritmos polinomiais e in...
 
Sequencias e series
Sequencias e seriesSequencias e series
Sequencias e series
 

Definições de Máquinas de Turing

  • 1. Linguagens Formais e Teoria da Computa¸c˜ao Sidnei Pereira Jr. Universidade Federal do Rio Grande sidnei.pereira@furg.br 2017 Sidnei Pereira Jr. (C3 - FURG) Difini¸c˜oes de M´aquinas de Turing 2017 1 / 26
  • 2. Agenda 1 Introdu¸c˜ao No¸c˜oes de Linguagens, Gram´aticas e Autˆomatos 2 A M´aquina de Turing Padr˜ao Defini¸c˜ao de M´aquina de Turing 3 M´aquinas de Turing como Reconhecedoras de Linguagens Sidnei Pereira Jr. (C3 - FURG) Difini¸c˜oes de M´aquinas de Turing 2017 2 / 26
  • 3. No¸c˜oes de Linguagens, Gram´aticas e Autˆomatos Linguagens naturais Portuguˆes, inglˆes... Linguagens formais Todas as regras da linguagem s˜ao explicitamente declaradas N˜ao permite viola¸c˜ao `as regras Linguagens de programa¸c˜ao: Compiladores Abstratas Sidnei Pereira Jr. (C3 - FURG) Difini¸c˜oes de M´aquinas de Turing 2017 3 / 26
  • 4. No¸c˜oes de Linguagens, Gram´aticas e Autˆomatos Alfabeto Conjunto de s´ımbolos representado por Σ Cadeias ou strings Sequˆencias finitas de s´ımbolos: se o alfabeto for Σ = {a, b}, ent˜ao a abab e aaabba s˜ao cadeias sobre Σ. a cadeia vazia ´e aquela sem nenhum s´ımbolo, e ser´a denotada por λ Concaten¸c˜ao Jun¸c˜ao de palavras: sejam w = bbab e v = aaab. Ent˜ao wv = bbabaaab e vw = aaabbbab Palavra reversa S´ımbolos na ordem contr´aria: sejam w = bbab e v = aaab. Ent˜ao wR = babb e vR = baaa Sidnei Pereira Jr. (C3 - FURG) Difini¸c˜oes de M´aquinas de Turing 2017 4 / 26
  • 5. No¸c˜oes de Linguagens, Gram´aticas e Autˆomatos Prefixo e Sufixo Se w = vu. Ent˜ao v ´e chamado de prefixo e u ´e chamado de sufixo de w. Seja w = abbab, o conjunto de todos os prefixos de w ´e {λ, a, ab, abb, abba, abbab} e de todos os sufixos ´e {λ, b, ab, bab, bbab, abbab} Comprimento Denotado por |w|, ´e o n´umero de simbolos: wn ´e a cadeia obtida concatenando w com ela pr´opria n vezes. Portanto, wn+1 = wwn. No caso especial de n = 0, w0 = λ. Fecho Estrela e Fecho Positivo O fecho estrela Σ∗ , ´e o conjunto de todas as cadeias (finitas) obtidas concatenando zero ou mais s´ımbolos de Σ. O fecho positivo Σ+ , ´e o conjunto de todas as cadeias (finitas) de Σ sem a cadeia vazia. Isto ´e, Σ+ = Σ∗ − {λ}. Se Σ = {a}, ent˜ao Σ∗ = {λ, a, aa, aaa, aaaa, . . .} Sidnei Pereira Jr. (C3 - FURG) Difini¸c˜oes de M´aquinas de Turing 2017 5 / 26
  • 6. No¸c˜oes de Linguagens, Gram´aticas e Autˆomatos Linguagens Um subconjunto qualquer de Σ∗ pode ser visto como um linguagem sobre o alfabeto Σ. Uma cadeia w numa linguagem L, isto ´e w ∈ L, ser´a chamada palavra ou senten¸ca. Exemplo Seja Σ = {a, b}. Ent˜ao Σ∗ = {λ, a, b, aa, ab, ba, bb, aaa, aab, ...}. O conjunto L = {a, aa, aab}, uma linguagem finita, e L = {anbn|n ≥ 0}, uma linguagem infinita, s˜ao linguagens sobre Σ. Sidnei Pereira Jr. (C3 - FURG) Difini¸c˜oes de M´aquinas de Turing 2017 6 / 26
  • 7. No¸c˜oes de Linguagens, Gram´aticas e Autˆomatos Defini¸c˜ao Como as linguagens s˜ao conjuntos: opera¸c˜oes de uni˜ao, interse¸c˜ao e diferen¸ca de duas linguagens s˜ao imediatamente definidadas. O complemento de uma linguagem L sobre um alfabeto Σ, ´e definida com respeito a Σ∗ , isto ´e, o complemento de L ´e a linguagem, sobre Σ, definida por L = Σ∗ − L. Complemento Seja L = {w ∈ Σ∗||w| ´e par}. Ent˜ao L = {w ∈ Σ∗||w| ´e ´ımpar} Concatena¸c˜ao Seja L = {anbn|n ≥ 0}. Ent˜ao L2 = {ambmanbn|m ≥ 0 e n ≥ 0} Sidnei Pereira Jr. (C3 - FURG) Difini¸c˜oes de M´aquinas de Turing 2017 7 / 26
  • 8. No¸c˜oes de Linguagens, Gram´aticas e Autˆomatos Fecho Estrela e Fecho Positivo Seja L = {aa, bb, aba}, ent˜ao L∗ = {λ, aa, bb, aba, aaaa, aabb, aaaba, bbaa, bbbb, bbaba, abaaa, ababb, abaaba, aaaaaa, ...}, e L+ = {aa, bb, aba, aaaa, aabb, aaaba, bbaa, bbbb, bbaba, abaaa, ababb, abaaba, aaaaaa, ...} Reversa w ∈ L se e somente se wR ∈ LR . Como (wR )R = w para qualquer cadeia w, definimos LR = {w ∈ |wR ∈ L}. Seja L = {aa, baa, aba, abbb}, ent˜ao LR = {aa, aab, aba, bbba} Prefixo e Sufixo LP = {v ∈ Σ∗ |vw ∈ L para algum w ∈ Σ∗ }. E LS = {w ∈ Σ∗ |vw ∈ L para algum v ∈ Σ∗ }. Seja L = {aa, ba, baa}, ent˜ao LP = {λ, a, b, aa, ba, baa} e LS = {λ, a, ba, aa, baa} Sidnei Pereira Jr. (C3 - FURG) Difini¸c˜oes de M´aquinas de Turing 2017 8 / 26
  • 9. No¸c˜oes de Linguagens, Gram´aticas e Autˆomatos Linguagens Regulares 1 Autˆomatos Finitos 2 Gram´aticas Regulares 3 Example Linguagens livres de contexto 1 Autˆomatos de Pilha 2 Gram´aticas Livres de Contexto 3 Example As linguagens regulares s˜ao subconjunto pr´oprio das linguagens livres do contexto. Mas, e linguagens simples do tipo: L = {anbncn|n ≥ 0} e {ww|w ∈ {a, b}}. N˜ao s˜ao livres do contexto. Sidnei Pereira Jr. (C3 - FURG) Difini¸c˜oes de M´aquinas de Turing 2017 9 / 26
  • 10. A M´aquina de Turing Padr˜ao Uma m´aquina de Turing ´e um autˆomato cuja mem´oria tempor´aria ´e uma fita a qual ´e dividida em c´elulas, cada uma das quais ´e capaz de manter um s´ımbolo. Associado `a fita existe um cabe¸cote de leitura-escrita que pode se mover, uma c´elula para a direita ou para a esquerda. Sidnei Pereira Jr. (C3 - FURG) Difini¸c˜oes de M´aquinas de Turing 2017 10 / 26
  • 11. A M´aquina de Turing Padr˜ao Defini¸c˜ao 8.1.1 Uma m´aquina de Turing M ´e uma s´ete-tupla M = Q, Σ, Γ, δ, q0, , F , onde Q ´e um conjunto finito de estados interno, Σ ´e um conjunto finito de s´ımbolos, chamado alfabeto de entrada, Γ ´e um conjunto finito de s´ımbolos, chamado alfabeto da fita, δ ´e uma fun¸c˜ao (parcial) de transi¸c˜oes, ∈ Γ ´e um s´ımbolo especial, chamado branco, q0 ∈ Q ´e o estado inicial e F ⊆ Q ´e o conjunto de estados finais. Na defini¸c˜ao, assumiremos que Σ ⊆ Γ − , isto ´e, que o alfabeto de entrada, n˜ao inclui o branco. Sidnei Pereira Jr. (C3 - FURG) Difini¸c˜oes de M´aquinas de Turing 2017 11 / 26
  • 12. A M´aquina de Turing Padr˜ao Defini¸c˜ao A fun¸c˜ao de transi¸c˜ao δ ´e definida como: δ : Q × Γ −→ Q × Γ × {E, D}. Sidnei Pereira Jr. (C3 - FURG) Difini¸c˜oes de M´aquinas de Turing 2017 12 / 26
  • 13. A M´aquina de Turing Padr˜ao Defini¸c˜ao Podemos ver uma m´aquina de Turing como um computador simples: unidade de processamento, com mem´oria finita e a fita, unidade de mem´oria secund´aria com capacidade ilimitada. Instru¸c˜oes perceber um s´ımbolo na fita; us´a-lo como resultado para decidir o pr´oximo passo. A¸c˜oes rescrever o s´ımbolo corrente; trocar o estado do controle e mover o cabe¸cote uma c´elula, para direita ou esquerda. Defini¸c˜ao Uma m´aquina de Turing p´ara de computar se atinge uma configura¸c˜ao para a qual δ n˜ao est´a definida. Isto ´e poss´ıvel porque δ ´e uma fun¸c˜ao parcial. De fato, assumiremos que s´o existe um ´unico estado final para o qual n˜ao s˜ao definidas transi¸c˜oes. Portanto, a m´aquina de Turing parar´a sempre que ela entrar nesse estado final. Sidnei Pereira Jr. (C3 - FURG) Difini¸c˜oes de M´aquinas de Turing 2017 13 / 26
  • 14. A M´aquina de Turing Padr˜ao Exemplo 1 Considere a m´aquina de Turing definida por: Q = {q0, q1}, Σ = {a, b}, Γ = {a, b, }, F = {q1} e δ(q0, a) = (q0, b, D), δ(q0, b) = (q0, b, D), δ(q0, ) = (q1, , E). Sidnei Pereira Jr. (C3 - FURG) Difini¸c˜oes de M´aquinas de Turing 2017 14 / 26
  • 15. A M´aquina de Turing Padr˜ao Exemplo 2 Tome Q, Σ, Γ e F, como no exemplo anterior. Defina δ por: δ(q0, a) = (q1, a, D), δ(q0, b) = (q1, b, D), δ(q0, ) = (q1, , D), δ(q1, a) = (q0, a, E), δ(q1, b) = (q0, b, E), δ(q1, ) = (q0, , D). Sidnei Pereira Jr. (C3 - FURG) Difini¸c˜oes de M´aquinas de Turing 2017 15 / 26
  • 16. A M´aquina de Turing Padr˜ao Caracter´ısticas do Modelo 1 A m´aquina de Turing tem uma fita que ´e ilimitada em ambas as dire¸c˜oes, permitindo qualquer n´umero de movimentos para a direita ou para a esquerda. 2 A m´aquina de Turing ´e determin´ıstica no sentido de que δ define, no m´aximo, um movimento para cada configura¸c˜ao. 3 N˜ao existe fita de entrada especial. Assumimos que no in´ıcio a fita tem um conte´udo especial. Alguns destes podem ser considerados entradas. Analogamente, n˜ao existe nenhum dispositivo de sa´ıda. Sempre que a m´aquina p´ara, algum, ou todo o conte´udo da fita pode ser visto como sa´ıda. Descri¸c˜ao Instantˆanea Qualquer configura¸c˜ao de uma m´aquina de Turing ´e completamente determinada pelo estado corrente da unidade de controle, o conte´udo da fita, e a posi¸c˜ao do cabe¸cote de leitura-escrita. Sidnei Pereira Jr. (C3 - FURG) Difini¸c˜oes de M´aquinas de Turing 2017 16 / 26
  • 17. A M´aquina de Turing Padr˜ao Defini¸c˜ao Seja M = Q, Σ, Γ, δ, q0, , F uma m´aquina de Turing. Toda tripla (u, q, v) ∈ Γ × Q × Γ ´e chamada de descri¸c˜ao instantˆanea de M. Por simplicidade notacional escreveremos uqv em vez de (u, q, v). a1a2 · · · ak−1qakak+1 · · · an Exemplo 3 A sequˆencia de descri¸c˜ao instantˆanea do Exemplo 1 ´e q0aa, bq0a, bbq0 e bbq1b. Sidnei Pereira Jr. (C3 - FURG) Difini¸c˜oes de M´aquinas de Turing 2017 17 / 26
  • 18. A M´aquina de Turing Padr˜ao Defini¸c˜ao Um movimento v´alido de uma configura¸c˜ao a outra ser´a denotado por . Portanto, se δ(q1, c) = (q2, e, D) um movimento poss´ıvel ´e abq1cd abeq2d. Os simbolos ∗ e + podem ser usados para representar um n´umero arbrit´ario de movimentos. Exemplo 4 A a¸c˜ao da m´aquina de Turing do Exemplo 1 pode ser representada por q0aa bq0a bbq0 bq1b. ou q0bb ∗ bq1b. Sidnei Pereira Jr. (C3 - FURG) Difini¸c˜oes de M´aquinas de Turing 2017 18 / 26
  • 19. A M´aquina de Turing Padr˜ao Defini¸c˜ao 8.1.8 Sejam u, v ∈ Γ∗ , a, b, c ∈ Γ e q, q ∈ Q. Se δ(q, a) = (q , b, D) ent˜ao h´a um movimento v´alido da descri¸c˜ao instantˆanea uqav para a descri¸c˜ao instantˆanea ubq v que denotamos por uqav ubq v. Se δ(q, a) = (q , b, E) ent˜ao h´a um movimento v´alido da descri¸c˜ao instantˆanea ucqav para a descri¸c˜ao instantˆanea uq cbv que denotamos por ucqav uq cbv. Defini¸c˜ao 8.1.8 Uma descri¸c˜ao instantˆanea uqpav ´e uma configura¸c˜ao de parada, denotado por uqpav ⊥, se δ(qp, a) n˜ao ´e definido ou, equivalente, se n˜ao existe uma descri¸c˜ao instantˆanea u q v tal que uqpav u q v . Assim, uma m´aquina de Turing M p´ara para a descri¸c˜ao instantˆanea inicial uqv se uqv ∗ ⊥. A sequˆencia de configura¸c˜ao levando a uma configura¸c˜ao de para em que o estado ser´a chamda de computa¸c˜ao Sidnei Pereira Jr. (C3 - FURG) Difini¸c˜oes de M´aquinas de Turing 2017 19 / 26
  • 20. A M´aquina de Turing Padr˜ao Sidnei Pereira Jr. (C3 - FURG) Difini¸c˜oes de M´aquinas de Turing 2017 20 / 26
  • 21. A M´aquina de Turing Padr˜ao Defini¸c˜ao 8.1.7 (2009) O exemplo 8.1.4 mostra a possibilidade de que uma m´aquina de Turing pode nunca parar, permanecendo em um la¸co sem fim do qual ela n˜ao pode escapar. Esta situa¸c˜ao desempenha um papel fundamental de uma m´aquina de Turing, representemo-la por uqv ∗ ∞ ou x1qx2 ∗ ∞ . indicando que, iniciando da configura¸c˜ao inicial uqv a m´aquina nunca p´ara. Sidnei Pereira Jr. (C3 - FURG) Difini¸c˜oes de M´aquinas de Turing 2017 21 / 26
  • 22. A M´aquina de Turing como Reconhecedora de Linguagens Sidnei Pereira Jr. (C3 - FURG) Difini¸c˜oes de M´aquinas de Turing 2017 22 / 26
  • 23. A M´aquina de Turing como Reconhecedora de Linguagens Defini¸c˜ao 8.1.9 Seja M = Q, Σ, Γ, δ, q0, , F uma m´aquina de Turing. Ent˜ao a linguagem reconhecida por M ´e L(M) = {w ∈ Σ∗ | q0w ∗ uqf v} para algum qf ∈ F, u, v ∈ Γ∗ Sidnei Pereira Jr. (C3 - FURG) Difini¸c˜oes de M´aquinas de Turing 2017 23 / 26
  • 24. A M´aquina de Turing como Reconhecedora de Linguagens Sidnei Pereira Jr. (C3 - FURG) Difini¸c˜oes de M´aquinas de Turing 2017 24 / 26
  • 25. References Aci´oly, Benedito. e Bedregal, Benjam´ın R.C. e Lyra, Aar˜ao (2010) Introdu¸c˜ao `a Teoria das Linguagens Formais, dos Autˆomatos e da Computabilidade. Sidnei Pereira Jr. (C3 - FURG) Difini¸c˜oes de M´aquinas de Turing 2017 25 / 26
  • 26. The End Sidnei Pereira Jr. (C3 - FURG) Difini¸c˜oes de M´aquinas de Turing 2017 26 / 26