Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
1.
2.
3.
4.
5.
6.
7.
8.
9.
02/04/2015
02/04/2015
Hierarquia de Chomsky
classe de linguagens mais simples
algoritmos de reconhecimento, gerao ou converso entre
formalismos
pouca complexidade
grande eficincia
fcil implementao
02/04/2015
02/04/2015
Captulos subseqentes
minimizao de autmatos finitos
propriedades da Classe
algumas importantes aplicaes
02/04/2015
Estado
somente informaes do passado
necessrias para determinar as aes para a prxima
entrada
02/04/2015
Motivacional
associados a diversos tipos de sistemas naturais e
construdos
Exp:
Exp: Elevador
Exp:
Exp: Analisador Lxico, Processador de Texto
Estado: memoriza a estrutura do prefixo da palavra em
anlise
Entrada: texto
Restrio
nem todos os sistemas de estados finitos
so adequados para serem estudados por esta abordagem
Exp:
Exp: Crebro humano
Neurnio: nmero finito de bits
Crebro: cerca de 235 clulas
abordagem pouco eficiente
exploso de estados
02/04/2015
Exp:
Exp: Computador
processadores e memrias: sistema de estados finitos
estudo da computabilidade
exige uma memria sem limite predefinido
Mquina de Turing
mais adequado ao estudo da computabilidade
computabilidade e solucionabilidade de problemas
apenas introduzido
questes tratadas na Teoria da Computao
02/04/2015
Composio
Seqencial
Concorrente
No-Determinista
Seqencial
execuo da prxima componente
depende da terminao da componente anterior
Concorrente
componentes independentes
ordem em que so executadas no importante
portanto, podem ser processadas ao mesmo tempo
02/04/2015
NoNo-Determinista
prxima componente: escolha entre diversas alternativas
em oposio determinista
para as mesmas condies
prxima componente sempre a mesma
no-determinismo pode ser
interno: sistema escolhe aleatoriamente
externo: escolha externa ao sistema
Sistemas reais
as trs formas de composio so comuns
Exp:
Exp: Banco
Seqencial
fila: prximo cliente depende do atendimento do anterior
pagamento de uma conta depende do fornecimento de um
valor
Concorrente
diversos caixas atendem independentemente diversos
clientes
clientes nos caixas: aes independentemente dos clientes
na fila
No-determinista
dois ou mais caixas disponveis ao mesmo tempo
prximo cliente pode escolher o caixa
caminhar de um indivduo: perna esquerda ou direita
10
02/04/2015
Linguagens Formais
seqencial e no-determinimo: especialmente importantes
Semntica do nono-determinismo adotada
a usual para Linguagens Formais, Teoria da Computao...
no-determinismo interno
objetivo: determinar a capacidade de reconhecer
linguagens e de solucionar problemas
difere da adotada no estudo dos Modelos para Concorrncia
exemplo: Sistemas Operacionais
pode causar confuso com a semntica da concorrncia
11
02/04/2015
smbolo
pode assumir um conjunto de estados (portanto
no-determinstico)
12
02/04/2015
Movimento vazio
pode ser visto como transies encapsuladas
excetuando-se por uma eventual mudana de estado
nada mais pode ser observado
anlogo encapsulao das linguagens orientadas a
objetos
Trs tipos de autmatos: equivalentes
em termos de poder computacional
13
02/04/2015
Fita finita
dividida em clulas
cada clula armazena um smbolo
smbolos pertencem a um alfabeto de entrada
no possvel gravar sobre a fita (no existe memria
auxiliar)
palavra a ser processada ocupa toda a fita
Unidade de controle
nmero finito e predefinido de estados
origem do termo controle finito
leitura
l o smbolo de uma clula de cada vez
move a cabea da fita uma clula para a direita
posio inicial da cabea clula mais esquerda da fita
14
02/04/2015
Def:
Def: Autmato Finito (Determinstico) ou AFD
M = (, Q, , q0, F)
um alfabeto (de smbolos) de entrada
Q um conjunto de estados possveis do autmato (finito)
uma (funo) programa ou funo de transio (funo
parcial)
: Q Q
transio do autmato: (p, a) = q
q0 um elemento distinguido de Q: estado inicial
F um subconjunto de Q: conjunto de estados finais
15
02/04/2015
16
02/04/2015
(p, a) = q
17
02/04/2015
Exp:
Exp: Autmato Finito: aa ou bb como subpalavra
L1 = { w | w possui aa ou bb como subpalavra }
Autmato finito
M1 = ({ a, b }, { q0, q1, q2, qf }, 1, q0, { qf })
18
02/04/2015
19
02/04/2015
20
02/04/2015
Def:
Def: Funo Programa Estendida, Computao
M = (, Q, , q0, F) autmato finito determinstico
*: Q * Q
: Q Q estendida para palavras - indutivamente
definida
*(q, ) = q
*(q, aw) = *((q, a), w)
Observe
sucessiva aplicao da funo programa
para cada smbolo da palavra
a partir de um dado estado
se a entrada for vazia, fica parado
aceita/rejeita: funo programa estendida a partir do
estado inicial
Exp:
Exp: Funo Programa Estendida
*(q0, abaa) =
*((q0, a), baa) =
*(q1, baa) =
*((q1, b), aa) =
*(q2, aa) =
*((q2, a), a) =
*(q1, a) =
*((q1, a), ) =
*(qf, ) = qf
funo estendida
processa abaa
funo estendida
processa baa
funo estendida
processa aa
funo estendida
processa a
funo estendida
induo; ACEITA
sobre abaa
sobre baa
sobre aa
sobre a
sobre : fim da
21
02/04/2015
Def:
Def: Linguagem Aceita, Linguagem Rejeitada
M = (, Q, , q0, F) autmato finito determinstico.
Linguagem Aceita ou Linguagem Reconhecida por M
L(M) = ACEITA(M) = { w | *(q0, w) F }
Linguagem Rejeitada por M:
REJEITA(M) = { w | *(q0, w) F ou *(q0, w) indefinida }
Supondo que * o conjunto universo
ACEITA(M) REJEITA(M) =
ACEITA(M) REJEITA(M) = *
~ACEITA(M) = REJEITA(M)
~REJEITA(M) = ACEITA(M)
*
ACEITA(M)
REJEITA(M)
22
02/04/2015
Exp:
Exp: Autmato Finito: Vazia, Todas as Palavras
Linguagens sobre o alfabeto { a, b }
L2 =
L3 = *
23
02/04/2015
Exp:
Exp: Autmato Finito: Vazia, Todas as Palavras
L2 =
L3 = *
diferena entre 2 e 3?
o que, exatamente, diferencia M2 de M3?
Exp:
Exp: Autmato Finito: nmero par de cada smbolo
L4 = { w | w possui um nmero par de a e um nmero par de b }
24
02/04/2015
Obs:
Obs: Funo Programa Funo Programa Estendida
Objetivando simplificar a notao
e a sua correspondente extenso *
podem ser ambas denotadas por
Obs:
Obs: Computaes Caminhos de um Grafo
conjunto de arcos: computaes possveis
subconjunto de arcos
com origem no estado inicial
destino em algum estado final
linguagem aceita
Obs:
Obs: Computaes Caminhos de um Grafo
25