SlideShare uma empresa Scribd logo
Linguagens não recursivamente enumeráveis
e
Hierarquia de Chomsky
ou
“As queridinhas de Turing
e a
Hierarquia que todos já falaram”
Linguagens não
recursivamente
enumeráveis
Linguagens não recursivamente enumeráveis
● Não possuem formalização gramatical
● Não existem máquinas de Turing que as
reconheçam
Linguagens não recursivamente enumeráveis
● Não possuem formalização gramatical
● Não existem máquinas de Turing que as
reconheçam
Também conhecidas por:
● Linguagens não gramaticais
● Linguagens não Turing-reconhecíveis
● Linguagens não recursivamente enumeráveis
Linguagens não recursivamente enumeráveis
Algumas linguagens não são Turing-reconhecíveis
Algumas linguagens não são Turing-reconhecíveis
Teorema 1 (Máquinas de Turing são enumeráveis)
“O conjunto C1
= { M | M é uma Máquina de Turing e L(M) ⊆ Σ*
} é enumerável. C1
corresponde ao conjunto de todas as
Máquinas de Turing definíveis sobre um certo alfabeto Σ.”
Algumas linguagens não são Turing-reconhecíveis
Teorema 1 (Máquinas de Turing são enumeráveis)
“O conjunto C1
= { M | M é uma Máquina de Turing e L(M) ⊆ Σ*
} é enumerável. C1
corresponde ao conjunto de todas as
Máquinas de Turing definíveis sobre um certo alfabeto Σ.”
● Toda máquina de Turing pode ser codificada em uma cadeia de caracteres (de
tamanho finito)
Algumas linguagens não são Turing-reconhecíveis
Teorema 1 (Máquinas de Turing são enumeráveis)
“O conjunto C1
= { M | M é uma Máquina de Turing e L(M) ⊆ Σ*
} é enumerável. C1
corresponde ao conjunto de todas as
Máquinas de Turing definíveis sobre um certo alfabeto Σ.”
● Toda máquina de Turing pode ser codificada em uma cadeia de caracteres (de
tamanho finito)
● Toda cadeia pode ser, ou não, uma representação válida de uma máquina de
Turing
Algumas linguagens não são Turing-reconhecíveis
Teorema 1 (Máquinas de Turing são enumeráveis)
“O conjunto C1
= { M | M é uma Máquina de Turing e L(M) ⊆ Σ*
} é enumerável. C1
corresponde ao conjunto de todas as
Máquinas de Turing definíveis sobre um certo alfabeto Σ.”
● Toda máquina de Turing pode ser codificada em uma cadeia de caracteres (de
tamanho finito)
● Toda cadeia pode ser, ou não, uma representação válida de uma máquina de
Turing
● Gerar todas as cadeias possíveis, uma após a outra
Algumas linguagens não são Turing-reconhecíveis
Teorema 1 (Máquinas de Turing são enumeráveis)
“O conjunto C1
= { M | M é uma Máquina de Turing e L(M) ⊆ Σ*
} é enumerável. C1
corresponde ao conjunto de todas as
Máquinas de Turing definíveis sobre um certo alfabeto Σ.”
● Toda máquina de Turing pode ser codificada em uma cadeia de caracteres (de
tamanho finito)
● Toda cadeia pode ser, ou não, uma representação válida de uma máquina de
Turing
● Gerar todas as cadeias possíveis, uma após a outra
● Checar se cada cadeia é, ou não, uma representação válida de uma máquina
de Turing
Algumas linguagens não são Turing-reconhecíveis
Teorema 2 (Cadeias binárias infinitas são não enumeráveis)
“O conjunto das cadeias de tamanho infinito sobre Σ = {0,1}
é não enumerável (e infinito).”
● Método da diagonalização
Algumas linguagens não são Turing-reconhecíveis
Teorema 2 (Cadeias binárias infinitas são não enumeráveis)
“O conjunto das cadeias de tamanho infinito sobre Σ = {0,1}
é não enumerável (e infinito).”
● Método da diagonalização (George Cantor)
● Prova por contradição (semelhante à prova para ℝ)
Algumas linguagens não são Turing-reconhecíveis
Teorema 2 (Cadeias binárias infinitas são não enumeráveis)
Suponha que esse conjunto seja enumerável.
● Correspondência com ℕ
1 - 0 0 0 0 0 0 1 0 0 …
2 - 1 1 1 0 0 0 1 1 0 …
3 - 1 0 1 0 1 0 1 0 1 …
4 - 1 1 1 1 1 1 1 1 1 …
5 - 0 0 1 1 0 1 0 0 1 …
6 - 1 0 0 0 0 1 0 1 0 …
7 - 0 0 1 1 1 0 0 0 1 …
…
● Podemos listar todas as cadeias
Algumas linguagens não são Turing-reconhecíveis
Teorema 2 (Cadeias binárias infinitas são não enumeráveis)
Suponha que esse conjunto seja enumerável.
● Correspondência com ℕ
1 - 0 0 0 0 0 0 1 0 0 …
2 - 1 1 1 0 0 0 1 1 0 …
3 - 1 0 1 0 1 0 1 0 1 …
4 - 1 1 1 1 1 1 1 1 1 …
5 - 0 0 1 1 0 1 0 0 1 …
6 - 1 0 0 0 0 1 0 1 0 …
7 - 0 0 1 1 1 0 0 0 1 …
…
● Podemos listar todas as cadeias
● Se pudermos encontrar uma cadeia
nessa enumeração que não esteja
emparelhada com nenhum elemento
de ℕ, então esse conjunto é não
enumerável
Algumas linguagens não são Turing-reconhecíveis
Teorema 2 (Cadeias binárias infinitas são não enumeráveis)
Suponha que esse conjunto seja enumerável.
● Correspondência com ℕ
1 - 0 0 0 0 0 0 1 0 0 …
2 - 1 1 1 0 0 0 1 1 0 …
3 - 1 0 1 0 1 0 1 0 1 …
4 - 1 1 1 1 1 1 1 1 1 …
5 - 0 0 1 1 0 1 0 0 1 …
6 - 1 0 0 0 0 1 0 1 0 …
7 - 0 0 1 1 1 0 0 0 1 …
…
1 0 0 0 1 0 1 ...
● Podemos listar todas as cadeias
● Se pudermos encontrar uma cadeia
nessa enumeração que não esteja
emparelhada com nenhum elemento
de ℕ, então esse conjunto é não
enumerável
Algumas linguagens não são Turing-reconhecíveis
Teorema 2 (Cadeias binárias infinitas são não enumeráveis)
Suponha que esse conjunto seja enumerável.
● Correspondência com ℕ
1 - 0 0 0 0 0 0 1 0 0 …
2 - 1 1 1 0 0 0 1 1 0 …
3 - 1 0 1 0 1 0 1 0 1 …
4 - 1 1 1 1 1 1 1 1 1 …
5 - 0 0 1 1 0 1 0 0 1 …
6 - 1 0 0 0 0 1 0 1 0 …
7 - 0 0 1 1 1 0 0 0 1 …
…
1 0 0 0 1 0 1 ...
● Podemos listar todas as cadeias
● Se pudermos encontrar uma cadeia
nessa enumeração que não esteja
emparelhada com nenhum elemento
de ℕ, então esse conjunto é não
enumerável
● Chega-se a uma contradição
Algumas linguagens não são Turing-reconhecíveis
Teorema 3 (Linguagens são não enumeráveis)
“O conjunto das linguagens sobre um alfabeto é não
enumerável (e infinito).”
● Seja Σ = {a,b}
Algumas linguagens não são Turing-reconhecíveis
Teorema 3 (Linguagens são não enumeráveis)
“O conjunto das linguagens sobre um alfabeto é não
enumerável (e infinito).”
● Seja Σ = {a,b}
● O conjunto das cadeias de tamanho finito sobre Σ é enumerável
a b aa ab ba bb aaa aab …
Algumas linguagens não são Turing-reconhecíveis
Teorema 3 (Linguagens são não enumeráveis)
“O conjunto das linguagens sobre um alfabeto é não
enumerável (e infinito).”
● Seja Σ = {a,b}
● O conjunto das cadeias de tamanho finito sobre Σ é enumerável
a b aa ab ba bb aaa aab …
● Uma linguagem é um subconjunto do conjunto acima, e pode ser representada
por uma cadeia binária infinita
1 0 1 1 0 0 1 1 0 …
Algumas linguagens não são Turing-reconhecíveis
Teorema 3 (Linguagens são não enumeráveis)
“O conjunto das linguagens sobre um alfabeto é não
enumerável (e infinito).”
● Seja Σ = {a,b}
● O conjunto das cadeias de tamanho finito sobre Σ é enumerável
a b aa ab ba bb aaa aab …
● Uma linguagem é um subconjunto do conjunto acima, e pode ser representada
por uma cadeia binária infinita
1 0 1 1 0 0 1 1 0 …
● Pelo Teorema 2, o conjunto das linguagens é não enumerável
Algumas linguagens não são Turing-reconhecíveis
Teorema 1 (Máquinas de Turing são enumeráveis)
Corolário 1 (Linguagens Turing-reconhecíveis são
enumeráveis)
“O conjunto das linguagens Turing-reconhecíveis é enumerável
(e infinito).”
Algumas linguagens não são Turing-reconhecíveis
Teorema 1 (Máquinas de Turing são enumeráveis)
Corolário 1 (Linguagens Turing-reconhecíveis são
enumeráveis)
“O conjunto das linguagens Turing-reconhecíveis é enumerável
(e infinito).”
● Para cada linguagem Turing-reconhecível existe uma máquina de Turing
correspondente.
Algumas linguagens não são Turing-reconhecíveis
Teorema 1 (Máquinas de Turing são enumeráveis)
Teorema 2 (Cadeias binárias infinitas são não enumeráveis)
Teorema 3 (Linguagens são não enumeráveis)
Corolário 1 (Linguagens Turing-reconhecíveis são
enumeráveis)
Algumas linguagens não são Turing-reconhecíveis
Teorema 1 (Máquinas de Turing são enumeráveis)
Teorema 2 (Cadeias binárias infinitas são não enumeráveis)
Teorema 3 (Linguagens são não enumeráveis)
Corolário 1 (Linguagens Turing-reconhecíveis são
enumeráveis)
Corolário 2 “Algumas linguagens não são
Turing-reconhecíveis”
“Existem mais problemas
do que algoritmos para
resolvê-los.”
Mas como seria a
cara de uma
linguagem não
recursivamente
enumerável?
Mas como seria a
cara de uma
linguagem não
recursivamente
enumerável?
yku uygkuyfygl ihiuh
iuhliuh ioiuy
iyt8ti8ru3wtresgf
zfgvy ygkjhgug
ygutfiyt 6i7g ougi7gu
ygi76giyg i7687h
outvu64uc bo8ho8
vjyrc67vo 78oybi7
46c757 8698v698 ...
Exemplo de linguagens não Turing-reconhecíveis
A linguagem LN
compreende o conjunto das cadeias C(M)w
tais que w representa uma cadeia que não é aceita pela
Máquina de Turing M.
LN
= {C(M)w ∈ Σ*
| w ∉ L(M) }
Hierarquia de
Chomsky
“A hierarquia que todos já falaram”
Recursivamente enumeráveis (0)
Sensíveis ao contexto (1)
Livres de contexto (2)
Regular (3)
Universo de Linguagens
Recursivamente enumeráveis (0)
Sensíveis ao contexto (1)
Livres de contexto (2)
Regular (3)
Universo de Linguagens
Linguagens regulares (tipo-3)
Linguagens: Linguagens Regulares
Gramáticas: Gramáticas Regulares
Reconhecedores: Autômatos Finitos
Linguagens regulares
L={a(ba)*
}
aba, ababa, abababa
L={(a ⋃ b)*
(aa ⋃ bb)}
aa, bb, aaa, abaa
Gramáticas regulares
G=(V,Σ,P,S)
Regras de Produção:
A → wB
A → Bw
A → w
A →
Sendo que w ∈ Σ*
, e A,B ∈ V.
Gramáticas regulares
L={a(ba)*
} (aba, ababa, abababa)
G=({S,A},{a,b},P,S)
S→aA
A→baA |
Recursivamente enumeráveis (0)
Sensíveis ao contexto (1)
Livres de contexto (2)
Regular (3)
Universo de Linguagens
Linguagens livres de contexto (tipo-2)
Linguagens: Linguagens Livre de Contexto
Gramáticas: Livre de Contexto
Reconhecedores: Autômato com Pilha
Linguagens livres de contexto
L = {an
bn
| n≥0}
ab, aabb, aaabbb
L = Expressões aritméticas (+,*,[,])
x+x, x+x*x, x*[x+x]
Gramáticas livres de contexto
G=(V,Σ,P,S)
Regras de Produção:
A → α
Sendo que α ∈ (Σ ⋃ V)*
.
Gramáticas livres de contexto
L={an
bn
| n≥0} (ab, aabb, aaabbb)
G=({S,A,C},{a,b,c},P,S)
S→aSb
S→
Recursivamente enumeráveis (0)
Sensíveis ao contexto (1)
Livres de contexto (2)
Regular (3)
Universo de Linguagens
Linguagens sensíveis ao contexto (tipo-1)
Linguagens: Linguagens Sensíveis ao Contexto
Gramáticas: Gramáticas Sensíveis ao Contexto
Reconhecedores: Máquina de Turing com fita
limitada
Linguagens sensíveis ao contexto
L={an
bn
cn
| n>0}
abc, aaabbccc, aabbcc
L={ww | w ∈ {a,b}*
}
aa, aabb, abaaba
Gramáticas sensíveis ao contexto
G=(V,Σ,P,S)
Regras de Produção:
u → W
Sendo que u ∈ (Σ ⋃ V)+
e w ∈ (Σ ⋃ V)*
, e |u|⪕|w|.
Gramáticas sensíveis ao contexto
L={an
bn
cn
| n>0} (abc, aabbcc, aaabbbccc)
G=({S,A,C},{a,b,c},P,S)
S→aAbc | abc
A→aAbC |
Cb→bC
Cc→cc
Recursivamente enumeráveis (0)
Sensíveis ao contexto (1)
Livres de contexto (2)
Regular (3)
Universo de Linguagens
Linguagens recursivamente enumeráveis (tipo-0)
Linguagens: Linguagens Recursivamente Enumeráveis
Gramáticas: Gramáticas Irrestritas
Reconhecedores: Máquina de Turing
Linguagens recursivamente enumeráveis
L={an
bn
cn
| n≥0}
abc, aaabbbccc, aabbcc
L={u[u] | u ∈ {a,b}*
}
aa[aa], aab[aab], baba[baba]
Gramáticas irrestritas
G=(V,Σ,P,S)
Regras de Produção:
u → W
Sendo que u ∈ (Σ ⋃ V)+
e w ∈ (Σ ⋃ V)*
.
Gramáticas irrestritas
L={an
bn
cn
| n≥0} (abc,aaabbbccc)
G=({S,A,C},{a,b,c},P,S)
S→aAbc |
A→aAbC |
Cb→bC
Cc→cc
Linguagem Gramática Reconhecedor
(0) Recursivamente
Enumerável Irrestrita Máquina de Turing
(1) Sensível ao
Contexto Sensível ao Contexto
Máquina de Turing
com Fita Limitada
(2) Livre de Contexto Livre de Contexto Autômato com Pilha
(3) Regular Regular Autômato Finito
aCc→aA
Cc→bB
Aa→bB
A→aAb
B→aaA
A→abB
A→Bab
A→
0
aCc→aA
Cc→bB
Aa→bB
A→aAb
B→aaA
A→abB
A→Bab
A→
1
0
aCc→aA
Cc→bB
Aa→bB
A→aAb
B→aaA
A→abB
A→Bab
A→
2
1
0
aCc→aA
Cc→bB
Aa→bB
A→aAb
B→aaA
A→abB
A→Bab
A→
3
2
1
0
Obrigado!

Mais conteúdo relacionado

Mais procurados

Python programming
Python programmingPython programming
Python programming
Megha V
 
Variants of Turing Machine
Variants of Turing MachineVariants of Turing Machine
Variants of Turing Machine
Rajendran
 
Applications of Artificial Intelligence-Past, Present & Future
Applications of Artificial Intelligence-Past, Present & FutureApplications of Artificial Intelligence-Past, Present & Future
Applications of Artificial Intelligence-Past, Present & Future
Jamie Gannon
 
Python - Introdução Básica
Python - Introdução BásicaPython - Introdução Básica
Python - Introdução Básica
Christian Perone
 
Turing machine
Turing machineTuring machine
Turing machine
MuhammadSamranTanvee
 
Turing Machine
Turing MachineTuring Machine
Turing Machine
Rahul Narang
 
Introdução ao paradigma imperativo
Introdução ao paradigma imperativoIntrodução ao paradigma imperativo
Introdução ao paradigma imperativo
Tony Alexander Hild
 
Turing Machine
Turing MachineTuring Machine
Turing Machine
Rajendran
 
Analise Algoritmos
Analise AlgoritmosAnalise Algoritmos
Turing machine seminar report
Turing machine seminar reportTuring machine seminar report
Turing machine seminar report
Yashwant Dagar
 
Turing machine
Turing machineTuring machine
Turing machine
HimanshuSirohi6
 
CptS 440 / 540 Artificial Intelligence
CptS 440 / 540 Artificial IntelligenceCptS 440 / 540 Artificial Intelligence
CptS 440 / 540 Artificial Intelligence
butest
 
Lec 2 algorithms efficiency complexity
Lec 2 algorithms efficiency  complexityLec 2 algorithms efficiency  complexity
Lec 2 algorithms efficiency complexity
Anaya Zafar
 
C++ vs python
C++ vs pythonC++ vs python
C++ vs python
AbdulhameedMandili
 
тема 3 лекція
тема 3 лекціятема 3 лекція
тема 3 лекція
cdecit
 
Clock
ClockClock
18364 1 artificial intelligence
18364 1 artificial intelligence18364 1 artificial intelligence
18364 1 artificial intelligence
Abhishek Abhi
 
Turing machine
Turing machineTuring machine
Turing machine
Захір Райхан
 
Aula 10 maquinade turing
Aula 10   maquinade turingAula 10   maquinade turing
Aula 10 maquinade turing
wab030
 
Pipeline Técnica de processadores.
Pipeline Técnica de processadores.Pipeline Técnica de processadores.
Pipeline Técnica de processadores.
Cleber Ramos
 

Mais procurados (20)

Python programming
Python programmingPython programming
Python programming
 
Variants of Turing Machine
Variants of Turing MachineVariants of Turing Machine
Variants of Turing Machine
 
Applications of Artificial Intelligence-Past, Present & Future
Applications of Artificial Intelligence-Past, Present & FutureApplications of Artificial Intelligence-Past, Present & Future
Applications of Artificial Intelligence-Past, Present & Future
 
Python - Introdução Básica
Python - Introdução BásicaPython - Introdução Básica
Python - Introdução Básica
 
Turing machine
Turing machineTuring machine
Turing machine
 
Turing Machine
Turing MachineTuring Machine
Turing Machine
 
Introdução ao paradigma imperativo
Introdução ao paradigma imperativoIntrodução ao paradigma imperativo
Introdução ao paradigma imperativo
 
Turing Machine
Turing MachineTuring Machine
Turing Machine
 
Analise Algoritmos
Analise AlgoritmosAnalise Algoritmos
Analise Algoritmos
 
Turing machine seminar report
Turing machine seminar reportTuring machine seminar report
Turing machine seminar report
 
Turing machine
Turing machineTuring machine
Turing machine
 
CptS 440 / 540 Artificial Intelligence
CptS 440 / 540 Artificial IntelligenceCptS 440 / 540 Artificial Intelligence
CptS 440 / 540 Artificial Intelligence
 
Lec 2 algorithms efficiency complexity
Lec 2 algorithms efficiency  complexityLec 2 algorithms efficiency  complexity
Lec 2 algorithms efficiency complexity
 
C++ vs python
C++ vs pythonC++ vs python
C++ vs python
 
тема 3 лекція
тема 3 лекціятема 3 лекція
тема 3 лекція
 
Clock
ClockClock
Clock
 
18364 1 artificial intelligence
18364 1 artificial intelligence18364 1 artificial intelligence
18364 1 artificial intelligence
 
Turing machine
Turing machineTuring machine
Turing machine
 
Aula 10 maquinade turing
Aula 10   maquinade turingAula 10   maquinade turing
Aula 10 maquinade turing
 
Pipeline Técnica de processadores.
Pipeline Técnica de processadores.Pipeline Técnica de processadores.
Pipeline Técnica de processadores.
 

Semelhante a Linguagens não recursivamente enumeráveis e Hierarquia de Chomsky

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
shichibukai_01
 
01 maquinas de turing
01 maquinas de turing01 maquinas de turing
01 maquinas de turing
Yuri Passos
 
05 indecibilidade
05 indecibilidade05 indecibilidade
05 indecibilidade
Yuri Passos
 
Tipos de Dados em Python: Como Manipulamos Dados em Python?
Tipos de Dados em Python: Como Manipulamos Dados em Python?Tipos de Dados em Python: Como Manipulamos Dados em Python?
Tipos de Dados em Python: Como Manipulamos Dados em Python?
Marcelo Fabiano N. de Oliveira
 
06-Complementos de LRE e LR - Reducoes.pdf
06-Complementos de LRE e LR - Reducoes.pdf06-Complementos de LRE e LR - Reducoes.pdf
06-Complementos de LRE e LR - Reducoes.pdf
Yuri Passos
 
Introdução a Python - Python Poli
Introdução a Python  - Python PoliIntrodução a Python  - Python Poli
Introdução a Python - Python Poli
Rodrigo Lira
 
Introducao ao python
Introducao ao pythonIntroducao ao python
Introducao ao python
Vinicius Marangoni
 

Semelhante a Linguagens não recursivamente enumeráveis e Hierarquia de Chomsky (7)

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
 
01 maquinas de turing
01 maquinas de turing01 maquinas de turing
01 maquinas de turing
 
05 indecibilidade
05 indecibilidade05 indecibilidade
05 indecibilidade
 
Tipos de Dados em Python: Como Manipulamos Dados em Python?
Tipos de Dados em Python: Como Manipulamos Dados em Python?Tipos de Dados em Python: Como Manipulamos Dados em Python?
Tipos de Dados em Python: Como Manipulamos Dados em Python?
 
06-Complementos de LRE e LR - Reducoes.pdf
06-Complementos de LRE e LR - Reducoes.pdf06-Complementos de LRE e LR - Reducoes.pdf
06-Complementos de LRE e LR - Reducoes.pdf
 
Introdução a Python - Python Poli
Introdução a Python  - Python PoliIntrodução a Python  - Python Poli
Introdução a Python - Python Poli
 
Introducao ao python
Introducao ao pythonIntroducao ao python
Introducao ao python
 

Mais de Marcos Paulo Maia dos Santos

Inclusão Digital - Conceitos básicos de informática
Inclusão Digital - Conceitos básicos de informáticaInclusão Digital - Conceitos básicos de informática
Inclusão Digital - Conceitos básicos de informática
Marcos Paulo Maia dos Santos
 
Regressão simbólica - Resolvendo problemas de planejamento não-determinísticos
Regressão simbólica - Resolvendo problemas de planejamento não-determinísticosRegressão simbólica - Resolvendo problemas de planejamento não-determinísticos
Regressão simbólica - Resolvendo problemas de planejamento não-determinísticos
Marcos Paulo Maia dos Santos
 
Problema da Árvore Geradora de Rotulação Mínima (PAGRM)
Problema da Árvore Geradora de Rotulação Mínima (PAGRM)Problema da Árvore Geradora de Rotulação Mínima (PAGRM)
Problema da Árvore Geradora de Rotulação Mínima (PAGRM)
Marcos Paulo Maia dos Santos
 
Introdução a ciência de dados com Python
Introdução a ciência de dados com PythonIntrodução a ciência de dados com Python
Introdução a ciência de dados com Python
Marcos Paulo Maia dos Santos
 
Applied plotting, charting & data representation in Python (pt. 2)
Applied plotting, charting & data representation in Python (pt. 2)Applied plotting, charting & data representation in Python (pt. 2)
Applied plotting, charting & data representation in Python (pt. 2)
Marcos Paulo Maia dos Santos
 
Resolução de problemas por meio de busca
Resolução de problemas por meio de buscaResolução de problemas por meio de busca
Resolução de problemas por meio de busca
Marcos Paulo Maia dos Santos
 
Planejamento em Inteligência Artificial
Planejamento em Inteligência ArtificialPlanejamento em Inteligência Artificial
Planejamento em Inteligência Artificial
Marcos Paulo Maia dos Santos
 
Planejamento como verificação de modelos
Planejamento como verificação de modelosPlanejamento como verificação de modelos
Planejamento como verificação de modelos
Marcos Paulo Maia dos Santos
 
Diagramas de decisão binária
Diagramas de decisão bináriaDiagramas de decisão binária
Diagramas de decisão binária
Marcos Paulo Maia dos Santos
 
Linguagens de programação - Go
Linguagens de programação - GoLinguagens de programação - Go
Linguagens de programação - Go
Marcos Paulo Maia dos Santos
 
Planejamento em Inteligência Artificial
Planejamento em Inteligência ArtificialPlanejamento em Inteligência Artificial
Planejamento em Inteligência Artificial
Marcos Paulo Maia dos Santos
 

Mais de Marcos Paulo Maia dos Santos (11)

Inclusão Digital - Conceitos básicos de informática
Inclusão Digital - Conceitos básicos de informáticaInclusão Digital - Conceitos básicos de informática
Inclusão Digital - Conceitos básicos de informática
 
Regressão simbólica - Resolvendo problemas de planejamento não-determinísticos
Regressão simbólica - Resolvendo problemas de planejamento não-determinísticosRegressão simbólica - Resolvendo problemas de planejamento não-determinísticos
Regressão simbólica - Resolvendo problemas de planejamento não-determinísticos
 
Problema da Árvore Geradora de Rotulação Mínima (PAGRM)
Problema da Árvore Geradora de Rotulação Mínima (PAGRM)Problema da Árvore Geradora de Rotulação Mínima (PAGRM)
Problema da Árvore Geradora de Rotulação Mínima (PAGRM)
 
Introdução a ciência de dados com Python
Introdução a ciência de dados com PythonIntrodução a ciência de dados com Python
Introdução a ciência de dados com Python
 
Applied plotting, charting & data representation in Python (pt. 2)
Applied plotting, charting & data representation in Python (pt. 2)Applied plotting, charting & data representation in Python (pt. 2)
Applied plotting, charting & data representation in Python (pt. 2)
 
Resolução de problemas por meio de busca
Resolução de problemas por meio de buscaResolução de problemas por meio de busca
Resolução de problemas por meio de busca
 
Planejamento em Inteligência Artificial
Planejamento em Inteligência ArtificialPlanejamento em Inteligência Artificial
Planejamento em Inteligência Artificial
 
Planejamento como verificação de modelos
Planejamento como verificação de modelosPlanejamento como verificação de modelos
Planejamento como verificação de modelos
 
Diagramas de decisão binária
Diagramas de decisão bináriaDiagramas de decisão binária
Diagramas de decisão binária
 
Linguagens de programação - Go
Linguagens de programação - GoLinguagens de programação - Go
Linguagens de programação - Go
 
Planejamento em Inteligência Artificial
Planejamento em Inteligência ArtificialPlanejamento em Inteligência Artificial
Planejamento em Inteligência Artificial
 

Último

História da Rádio- 1936-1970 século XIX .2.pptx
História da Rádio- 1936-1970 século XIX   .2.pptxHistória da Rádio- 1936-1970 século XIX   .2.pptx
História da Rádio- 1936-1970 século XIX .2.pptx
TomasSousa7
 
Segurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas PráticasSegurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas Práticas
Danilo Pinotti
 
Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
Momento da Informática
 
Certificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdfCertificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdf
joaovmp3
 
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
Faga1939
 
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdfEscola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Gabriel de Mattos Faustino
 
Manual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdfManual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdf
WELITONNOGUEIRA3
 
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
Momento da Informática
 

Último (8)

História da Rádio- 1936-1970 século XIX .2.pptx
História da Rádio- 1936-1970 século XIX   .2.pptxHistória da Rádio- 1936-1970 século XIX   .2.pptx
História da Rádio- 1936-1970 século XIX .2.pptx
 
Segurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas PráticasSegurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas Práticas
 
Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
 
Certificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdfCertificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdf
 
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
 
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdfEscola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
 
Manual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdfManual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdf
 
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
 

Linguagens não recursivamente enumeráveis e Hierarquia de Chomsky

  • 1. Linguagens não recursivamente enumeráveis e Hierarquia de Chomsky ou “As queridinhas de Turing e a Hierarquia que todos já falaram”
  • 3. Linguagens não recursivamente enumeráveis ● Não possuem formalização gramatical ● Não existem máquinas de Turing que as reconheçam
  • 4. Linguagens não recursivamente enumeráveis ● Não possuem formalização gramatical ● Não existem máquinas de Turing que as reconheçam Também conhecidas por: ● Linguagens não gramaticais ● Linguagens não Turing-reconhecíveis ● Linguagens não recursivamente enumeráveis
  • 6. Algumas linguagens não são Turing-reconhecíveis
  • 7. Algumas linguagens não são Turing-reconhecíveis Teorema 1 (Máquinas de Turing são enumeráveis) “O conjunto C1 = { M | M é uma Máquina de Turing e L(M) ⊆ Σ* } é enumerável. C1 corresponde ao conjunto de todas as Máquinas de Turing definíveis sobre um certo alfabeto Σ.”
  • 8. Algumas linguagens não são Turing-reconhecíveis Teorema 1 (Máquinas de Turing são enumeráveis) “O conjunto C1 = { M | M é uma Máquina de Turing e L(M) ⊆ Σ* } é enumerável. C1 corresponde ao conjunto de todas as Máquinas de Turing definíveis sobre um certo alfabeto Σ.” ● Toda máquina de Turing pode ser codificada em uma cadeia de caracteres (de tamanho finito)
  • 9. Algumas linguagens não são Turing-reconhecíveis Teorema 1 (Máquinas de Turing são enumeráveis) “O conjunto C1 = { M | M é uma Máquina de Turing e L(M) ⊆ Σ* } é enumerável. C1 corresponde ao conjunto de todas as Máquinas de Turing definíveis sobre um certo alfabeto Σ.” ● Toda máquina de Turing pode ser codificada em uma cadeia de caracteres (de tamanho finito) ● Toda cadeia pode ser, ou não, uma representação válida de uma máquina de Turing
  • 10. Algumas linguagens não são Turing-reconhecíveis Teorema 1 (Máquinas de Turing são enumeráveis) “O conjunto C1 = { M | M é uma Máquina de Turing e L(M) ⊆ Σ* } é enumerável. C1 corresponde ao conjunto de todas as Máquinas de Turing definíveis sobre um certo alfabeto Σ.” ● Toda máquina de Turing pode ser codificada em uma cadeia de caracteres (de tamanho finito) ● Toda cadeia pode ser, ou não, uma representação válida de uma máquina de Turing ● Gerar todas as cadeias possíveis, uma após a outra
  • 11. Algumas linguagens não são Turing-reconhecíveis Teorema 1 (Máquinas de Turing são enumeráveis) “O conjunto C1 = { M | M é uma Máquina de Turing e L(M) ⊆ Σ* } é enumerável. C1 corresponde ao conjunto de todas as Máquinas de Turing definíveis sobre um certo alfabeto Σ.” ● Toda máquina de Turing pode ser codificada em uma cadeia de caracteres (de tamanho finito) ● Toda cadeia pode ser, ou não, uma representação válida de uma máquina de Turing ● Gerar todas as cadeias possíveis, uma após a outra ● Checar se cada cadeia é, ou não, uma representação válida de uma máquina de Turing
  • 12. Algumas linguagens não são Turing-reconhecíveis Teorema 2 (Cadeias binárias infinitas são não enumeráveis) “O conjunto das cadeias de tamanho infinito sobre Σ = {0,1} é não enumerável (e infinito).” ● Método da diagonalização
  • 13. Algumas linguagens não são Turing-reconhecíveis Teorema 2 (Cadeias binárias infinitas são não enumeráveis) “O conjunto das cadeias de tamanho infinito sobre Σ = {0,1} é não enumerável (e infinito).” ● Método da diagonalização (George Cantor) ● Prova por contradição (semelhante à prova para ℝ)
  • 14. Algumas linguagens não são Turing-reconhecíveis Teorema 2 (Cadeias binárias infinitas são não enumeráveis) Suponha que esse conjunto seja enumerável. ● Correspondência com ℕ 1 - 0 0 0 0 0 0 1 0 0 … 2 - 1 1 1 0 0 0 1 1 0 … 3 - 1 0 1 0 1 0 1 0 1 … 4 - 1 1 1 1 1 1 1 1 1 … 5 - 0 0 1 1 0 1 0 0 1 … 6 - 1 0 0 0 0 1 0 1 0 … 7 - 0 0 1 1 1 0 0 0 1 … … ● Podemos listar todas as cadeias
  • 15. Algumas linguagens não são Turing-reconhecíveis Teorema 2 (Cadeias binárias infinitas são não enumeráveis) Suponha que esse conjunto seja enumerável. ● Correspondência com ℕ 1 - 0 0 0 0 0 0 1 0 0 … 2 - 1 1 1 0 0 0 1 1 0 … 3 - 1 0 1 0 1 0 1 0 1 … 4 - 1 1 1 1 1 1 1 1 1 … 5 - 0 0 1 1 0 1 0 0 1 … 6 - 1 0 0 0 0 1 0 1 0 … 7 - 0 0 1 1 1 0 0 0 1 … … ● Podemos listar todas as cadeias ● Se pudermos encontrar uma cadeia nessa enumeração que não esteja emparelhada com nenhum elemento de ℕ, então esse conjunto é não enumerável
  • 16. Algumas linguagens não são Turing-reconhecíveis Teorema 2 (Cadeias binárias infinitas são não enumeráveis) Suponha que esse conjunto seja enumerável. ● Correspondência com ℕ 1 - 0 0 0 0 0 0 1 0 0 … 2 - 1 1 1 0 0 0 1 1 0 … 3 - 1 0 1 0 1 0 1 0 1 … 4 - 1 1 1 1 1 1 1 1 1 … 5 - 0 0 1 1 0 1 0 0 1 … 6 - 1 0 0 0 0 1 0 1 0 … 7 - 0 0 1 1 1 0 0 0 1 … … 1 0 0 0 1 0 1 ... ● Podemos listar todas as cadeias ● Se pudermos encontrar uma cadeia nessa enumeração que não esteja emparelhada com nenhum elemento de ℕ, então esse conjunto é não enumerável
  • 17. Algumas linguagens não são Turing-reconhecíveis Teorema 2 (Cadeias binárias infinitas são não enumeráveis) Suponha que esse conjunto seja enumerável. ● Correspondência com ℕ 1 - 0 0 0 0 0 0 1 0 0 … 2 - 1 1 1 0 0 0 1 1 0 … 3 - 1 0 1 0 1 0 1 0 1 … 4 - 1 1 1 1 1 1 1 1 1 … 5 - 0 0 1 1 0 1 0 0 1 … 6 - 1 0 0 0 0 1 0 1 0 … 7 - 0 0 1 1 1 0 0 0 1 … … 1 0 0 0 1 0 1 ... ● Podemos listar todas as cadeias ● Se pudermos encontrar uma cadeia nessa enumeração que não esteja emparelhada com nenhum elemento de ℕ, então esse conjunto é não enumerável ● Chega-se a uma contradição
  • 18. Algumas linguagens não são Turing-reconhecíveis Teorema 3 (Linguagens são não enumeráveis) “O conjunto das linguagens sobre um alfabeto é não enumerável (e infinito).” ● Seja Σ = {a,b}
  • 19. Algumas linguagens não são Turing-reconhecíveis Teorema 3 (Linguagens são não enumeráveis) “O conjunto das linguagens sobre um alfabeto é não enumerável (e infinito).” ● Seja Σ = {a,b} ● O conjunto das cadeias de tamanho finito sobre Σ é enumerável a b aa ab ba bb aaa aab …
  • 20. Algumas linguagens não são Turing-reconhecíveis Teorema 3 (Linguagens são não enumeráveis) “O conjunto das linguagens sobre um alfabeto é não enumerável (e infinito).” ● Seja Σ = {a,b} ● O conjunto das cadeias de tamanho finito sobre Σ é enumerável a b aa ab ba bb aaa aab … ● Uma linguagem é um subconjunto do conjunto acima, e pode ser representada por uma cadeia binária infinita 1 0 1 1 0 0 1 1 0 …
  • 21. Algumas linguagens não são Turing-reconhecíveis Teorema 3 (Linguagens são não enumeráveis) “O conjunto das linguagens sobre um alfabeto é não enumerável (e infinito).” ● Seja Σ = {a,b} ● O conjunto das cadeias de tamanho finito sobre Σ é enumerável a b aa ab ba bb aaa aab … ● Uma linguagem é um subconjunto do conjunto acima, e pode ser representada por uma cadeia binária infinita 1 0 1 1 0 0 1 1 0 … ● Pelo Teorema 2, o conjunto das linguagens é não enumerável
  • 22. Algumas linguagens não são Turing-reconhecíveis Teorema 1 (Máquinas de Turing são enumeráveis) Corolário 1 (Linguagens Turing-reconhecíveis são enumeráveis) “O conjunto das linguagens Turing-reconhecíveis é enumerável (e infinito).”
  • 23. Algumas linguagens não são Turing-reconhecíveis Teorema 1 (Máquinas de Turing são enumeráveis) Corolário 1 (Linguagens Turing-reconhecíveis são enumeráveis) “O conjunto das linguagens Turing-reconhecíveis é enumerável (e infinito).” ● Para cada linguagem Turing-reconhecível existe uma máquina de Turing correspondente.
  • 24. Algumas linguagens não são Turing-reconhecíveis Teorema 1 (Máquinas de Turing são enumeráveis) Teorema 2 (Cadeias binárias infinitas são não enumeráveis) Teorema 3 (Linguagens são não enumeráveis) Corolário 1 (Linguagens Turing-reconhecíveis são enumeráveis)
  • 25. Algumas linguagens não são Turing-reconhecíveis Teorema 1 (Máquinas de Turing são enumeráveis) Teorema 2 (Cadeias binárias infinitas são não enumeráveis) Teorema 3 (Linguagens são não enumeráveis) Corolário 1 (Linguagens Turing-reconhecíveis são enumeráveis) Corolário 2 “Algumas linguagens não são Turing-reconhecíveis”
  • 26. “Existem mais problemas do que algoritmos para resolvê-los.”
  • 27. Mas como seria a cara de uma linguagem não recursivamente enumerável?
  • 28. Mas como seria a cara de uma linguagem não recursivamente enumerável? yku uygkuyfygl ihiuh iuhliuh ioiuy iyt8ti8ru3wtresgf zfgvy ygkjhgug ygutfiyt 6i7g ougi7gu ygi76giyg i7687h outvu64uc bo8ho8 vjyrc67vo 78oybi7 46c757 8698v698 ...
  • 29. Exemplo de linguagens não Turing-reconhecíveis A linguagem LN compreende o conjunto das cadeias C(M)w tais que w representa uma cadeia que não é aceita pela Máquina de Turing M. LN = {C(M)w ∈ Σ* | w ∉ L(M) }
  • 30. Hierarquia de Chomsky “A hierarquia que todos já falaram”
  • 31. Recursivamente enumeráveis (0) Sensíveis ao contexto (1) Livres de contexto (2) Regular (3) Universo de Linguagens
  • 32. Recursivamente enumeráveis (0) Sensíveis ao contexto (1) Livres de contexto (2) Regular (3) Universo de Linguagens
  • 33. Linguagens regulares (tipo-3) Linguagens: Linguagens Regulares Gramáticas: Gramáticas Regulares Reconhecedores: Autômatos Finitos
  • 34. Linguagens regulares L={a(ba)* } aba, ababa, abababa L={(a ⋃ b)* (aa ⋃ bb)} aa, bb, aaa, abaa
  • 35. Gramáticas regulares G=(V,Σ,P,S) Regras de Produção: A → wB A → Bw A → w A → Sendo que w ∈ Σ* , e A,B ∈ V.
  • 36. Gramáticas regulares L={a(ba)* } (aba, ababa, abababa) G=({S,A},{a,b},P,S) S→aA A→baA |
  • 37. Recursivamente enumeráveis (0) Sensíveis ao contexto (1) Livres de contexto (2) Regular (3) Universo de Linguagens
  • 38. Linguagens livres de contexto (tipo-2) Linguagens: Linguagens Livre de Contexto Gramáticas: Livre de Contexto Reconhecedores: Autômato com Pilha
  • 39. Linguagens livres de contexto L = {an bn | n≥0} ab, aabb, aaabbb L = Expressões aritméticas (+,*,[,]) x+x, x+x*x, x*[x+x]
  • 40. Gramáticas livres de contexto G=(V,Σ,P,S) Regras de Produção: A → α Sendo que α ∈ (Σ ⋃ V)* .
  • 41. Gramáticas livres de contexto L={an bn | n≥0} (ab, aabb, aaabbb) G=({S,A,C},{a,b,c},P,S) S→aSb S→
  • 42. Recursivamente enumeráveis (0) Sensíveis ao contexto (1) Livres de contexto (2) Regular (3) Universo de Linguagens
  • 43. Linguagens sensíveis ao contexto (tipo-1) Linguagens: Linguagens Sensíveis ao Contexto Gramáticas: Gramáticas Sensíveis ao Contexto Reconhecedores: Máquina de Turing com fita limitada
  • 44. Linguagens sensíveis ao contexto L={an bn cn | n>0} abc, aaabbccc, aabbcc L={ww | w ∈ {a,b}* } aa, aabb, abaaba
  • 45. Gramáticas sensíveis ao contexto G=(V,Σ,P,S) Regras de Produção: u → W Sendo que u ∈ (Σ ⋃ V)+ e w ∈ (Σ ⋃ V)* , e |u|⪕|w|.
  • 46. Gramáticas sensíveis ao contexto L={an bn cn | n>0} (abc, aabbcc, aaabbbccc) G=({S,A,C},{a,b,c},P,S) S→aAbc | abc A→aAbC | Cb→bC Cc→cc
  • 47. Recursivamente enumeráveis (0) Sensíveis ao contexto (1) Livres de contexto (2) Regular (3) Universo de Linguagens
  • 48. Linguagens recursivamente enumeráveis (tipo-0) Linguagens: Linguagens Recursivamente Enumeráveis Gramáticas: Gramáticas Irrestritas Reconhecedores: Máquina de Turing
  • 49. Linguagens recursivamente enumeráveis L={an bn cn | n≥0} abc, aaabbbccc, aabbcc L={u[u] | u ∈ {a,b}* } aa[aa], aab[aab], baba[baba]
  • 50. Gramáticas irrestritas G=(V,Σ,P,S) Regras de Produção: u → W Sendo que u ∈ (Σ ⋃ V)+ e w ∈ (Σ ⋃ V)* .
  • 51. Gramáticas irrestritas L={an bn cn | n≥0} (abc,aaabbbccc) G=({S,A,C},{a,b,c},P,S) S→aAbc | A→aAbC | Cb→bC Cc→cc
  • 52. Linguagem Gramática Reconhecedor (0) Recursivamente Enumerável Irrestrita Máquina de Turing (1) Sensível ao Contexto Sensível ao Contexto Máquina de Turing com Fita Limitada (2) Livre de Contexto Livre de Contexto Autômato com Pilha (3) Regular Regular Autômato Finito