Você está na página 1de 56

LINGUAGENS, AUTMATOS E

COMPUTABILIDADE


Universidade de Pernambuco
Curso de Licenciatura em Informtica
Perodo 2011.2


LINGUAGENS, AUTMATOS E
COMPUTABILIDADE

AULA 02


Anselmo Lacerda
anselmodsi@gmail.com

1
Conceitos Bsicos de Sistemas
Nota (Relao com Sistemas Formais)(1/2):
Em um sistema formal a cada aplicao de uma regra
de derivao criado um novo elemento do
sistema formal. Estes elementos podem ser
colocados na ordem de sua criao; primeiro,
segundo, etc, podendo ser enumerados.
Casos como este trata-se de sistema temporal com
tempo nmero natural ou enumervel.
2
Conceitos Bsicos de Sistemas
Nota (Relao com Sistemas Formais)(2/2):
Tem-se ainda:
U: alfabeto de entrada;
Y: alfabeto de sada;
O: mesmo que U*;
I: mesmo que Y*;
T: tempo, aqui sub-conjunto dos naturais
3
Conceitos Bsicos de Sistemas
Sistema Funcional S
f
(Conceito de Estado):
Em alguns sistemas orientados, a uma mesma entrada
podem corresponder mais de uma saida. Por exemplo, uma
agenda telefnica, em que se tem mais de um telefone para
a mesma pessoa. Cria-se, para ter uma funo, conjunto
auxiliar X (ex: {fixo, celular}) chamado estado.
S
f
: O X I
4
Conceitos Bsicos de Sistemas
Sistema Dinmico S
d

<T, T, X, U, Y, O, I, |, q> onde:
T: conjunto munido de relao de ordem;
X: conjunto de valores possveis de estado;
U,Y: valores de entrada e sada;
O, I: funes de entrada e sada;
|: funo transio de estado; |: T T X O X
q: T U X Y funo sada.
5
Exemplos de Sistema Dinmico
Um computador um sistema dinmico. O tempo T
dado por seu relgio interno, o conjunto de estados X
o conjunto de configuraes possveis de memria,
Valores de entrada U o conjunto das entradas
possveis {teclado, mouse, mancho, etc) Y o
conjunto de sadas possvel {caracteres na tela, som,
impresso, etc) |, q so dados pelo programa em
execuo.
6
Exemplos de Sistema Dinmico
Um neurnio formal um sistema dinmico com #X=1,
T=N, ou R dependendo de ser a tempo contnuo ou
discreto.
Dois argumentos T na funo de transio de estados
til para representar modificao da mesma por
envelhecimento.
7
Exemplos de Sistema Dinmico
Suspenso de automvel um sistema dinmico. Seu
modelo um sistema de equaes diferenciais do tipo:
x = f(x,u(t))
y = g (x,u(t))
onde x a derivada do vetor x, soluo de um sistema
de equaes diferenciais normal.
8
Tipos de Sistemas Dinmicos
Sistema finito:
Um sistema dinmico
dito a finito quando o
conjunto de valores de
entrada, saida ou estado
so conjuntos finitos.
Neste caso a estes valores
costuma-se chamar
alfabeto.
Sistema a saida
finita:
Um sistema dinmico cuja
saida tem valores tomados
de um conjunto finito gera
sequncias ou cadeias sobre
este alfabeto, sendo portanto
um gerador de uma
linguagem.
9
Tipos de Sistemas Dinmicos
Automato:
Um sistema dinmico
atempo discreto, de
entrada e saida finitas
dito um automato.
Em latim:
Singular: automaton,
Plural: automata
Automato finito:
Se alm de ser um automato,
o conjunto de estados for
tambm finito, tem-se um
automato finito.

Os automatos finitos so
algumas vzes chamados
mquinas de estado finitas.
10
Representaes da Automatos
Finitos
Tabelas:
Pode-se definir um
automato finito por tabelas
definindo tanto as funes
de transio de estados
quanto a de saida.

Ao lado exemplo de
transio de estado
u Estados


Novos estados
11
Representaes da Automatos
Finitos
Grafos:
Essencialmente dois tipos
de grafos podem ser
usados:
1-Associando ns dos grafos
aos estados e marcando
nos arcos as entradas que
provocam as transies de
estado e as saidas
correspondentes.

X1 X2
X3
0/a
1/b
1/b
0/a
1/b
0/a
12
Representaes da Automatos
Finitos
2-Associando ns dos
grafos aos estados e
marcando nos arcos apenas
as enrtadas. As saidas so
marcadas diretamente nos
estados.
Claro que esta
representao supe a
funo saida a identidade

X1/a X2/b
X3/c
0
1
1
0
1 0
13
Notao Usual em Automatos
Um automato finito pode ser visto como lendo um
conjunto finito de smbolos, do alfabeto de
entrada e transformando-os em outro conjunto
finito, o alfabeto de saida.
portanto usual empregar notao compatvel
com linguagens formais, e simplificar ao mximo a
definio de sistema dinmico.
Mas no esquecer que automatos so:
Sistemas Dinmicos
14
Notao Usual em Automatos
Assim:
Conjunto de valores de entrada U se escreve como
uma letra grega maiscula, E, por exemplo.
O segmento de entrada agora E*.
X estado se costuma usar a letra Q.
O tempo T se omite.
S se usa funo saida quando essencial.
A transio de estado geralmente denotada pela
letra
15
Notao Usual em Automatos
Assim para automato de alfabeto de entrada e
saida:
E = {a
1
, a
2
, , a
n
}
O automato como a mquina:


(q
u
, a
j
) , q
v
a
i
a
j
a
k
. . . a
r
a
i
a
j
a
k
. . . a
r
q
u
16
Automato de Pilha
Automato de Pilha
um automato que
dispe de uma pilha
onde capaz de
escrever dados a
serem usados
futuramente.
Um teorema a ser
visto que
automatos de pilha
so reconhecedores
de linguagens livres
de contexto.
17
Automata de Pilha
Incio:




(q
0
, a
i
, Z
0
)
| (q
3
, z
1
z
2
z
r
)
a
i
a
j
a
k
. . . a
r
q
0
Z
0
18
Automato de Pilha





(q
3
, a
j
, z
1
)
| (q
3
, s
1
s
t
)
a
i
a
j
a
k
. . . a
r
q
3
z
1
z
r
.
.
.
z
2
19
Automato de Pilha





(q
3
, a
k
, s
1
)
| (q
5
, c

)
a
i
a
j
a
k
. . . a
r
q
3
s
t
z
r
.
.
.
z
2
s
1
s
2
.
.
20
Automato de Pilha



Continue at que
Mquina falte argumento
(pilha vazia) ou chegue
ao fim da fita.
a
i
a
j
a
k
. . . a
r
q
5
s
t
z
r
.
.
.
z
2
s
2
.
.
21
Automato de Pilha



Existem 2 modos de definir
Aceitao de palavras
pelo estado final
por esvaziar a pilha
a
i
a
j
a
k
. . . a
r
q
m
z
.
.
.
.
.
s
22
Ponto de Equilbrio
Um elemento do conjunto de estados, para um
sistema dinmico contnuo no tempo, dito um
ponto de equilbrio se, corresponder a uma soluo
da equao:
x= f(x,u(t))
Para x= 0.
Se este ponto de equilbrio for calculado para
u(t)=0 ser de sistema autnomo, caso contrrio
ser de sistema forado
23
Ponto de Equilbrio
Um elemento do conjunto de estados, para um
sistema dinmico a tempo discreto, dito um
ponto de equilbrio se, corresponder a uma soluo
da equao:
x(k)= f(x(k),u(k))

Se este ponto de equilbrio for calculado para
u(k)=0 ser de sistema autnomo, caso contrrio
ser de sistema forado
24
Ponto de Equilbrio (Nota)
Pela definio de ponto de equilbrio nota-se que o
conceito, estudado em Lambda clculo de ponto
fixo, corresponde a ponto de equilbrio.
Existe uma analogia entre programas que no
terminam, entrando em ciclos e outros que
terminam e sistemas dinmicos instveis e
estveis.
PENSE!
25
Ponto de Equilbrio Estvel
Um ponto de equilbrio dito estvel se o sistema
tende a voltar a ele aps uma perturbao
No caso contrrio ser dito instvel.

No me empurre
Que euCaio!
Pode me empurrar
Estou seguro!
26
Observabilidade
Um sistema dinmico dito observvel se com
informao de um segmento finito de entrada e saida
possivel determinar o estado inicial do sistema. Estado
inicial o valor do estado que corresponde ao tempo,
incio do segmento de entrada e saida observado.
No caso contrrio o sistema ser dito no observvel.
27
Observabilidade
Como exemplo, seja o sistema caracterizado
pelo sistema de equaes discretas, (como se
costuma modelar redes neurais sncronas),
que para simplicidade de tratamento se
tomar o caso linear:
x(k+1)=Ax(k) + Bu(k)
y(k) = Cx(k) + Du(k) onde:
xe R
n
; ue R
m
; ye R
p
; A,B,C,D matrizes reais.
28
Observabilidade
Para uma deduco simplificada seja D matriz nula.
Se n=p=1 y(0) = Cx(0), (1)
C escalar logo se C 0 x(0) = y(0)/C
Se n=2,p=1 a equao acima no permite calcular
x(0), mas usando a equao de transio de estado:
y(1)=Cx(1)=CAx(0)+CBu(0) (2)
Eq.1 e Eq.2 formam sistema linear:
|y(0) y(1)|
T
= |C CA|
T
+ |0 CB|
T
u(0) cuja soluo
depende de se a matriz |C CA| regular
(determinante 0)
29
Observabilidade
Este resultado, devido Kalman (1960) apresentado
no 1 Congresso do IFAC (International Federation
on Automatic Control), para o caso com n,p
quaisquer se torna:

Um sistema dinmico linear estacionrio
observvel se a matriz:
|C CA CA2 CA3 CAN-1|
for de posto n, isto , contiver submatriz
quadrada, regular de dimenso (n x n)
30
Observabilidade (caso geral)
Um sistema dinmico no caso geral ser
observvel dependendo do ncleo da
aplicao composta da transio de estado
e saida.

No se conhece critrio para dizer da
observabilidade no caso geral.

31
Controlabilidade
Um sistema dinmico dito controlvel se
com informao do estado inicial possvel
determinar um segmento de entrada capaz
de transferir deste estado inicial para
qualquer outro.

No caso contrrio o sistema ser dito no
controlvel.

32
Controlabilidade
Seja como exemplo, o mesmo sistema
estudado em observabilidade, modelo de
redes neurais sncronas no caso linear:
x(k+1)=Ax(k) + Bu(k)
y(k) = Cx(k) + Du(k) onde:
xe R
n
; ue R
m
; ye R
p
; A,B,C,D matrizes reais.
33
Controlabilidade
A segunda equao no intervem neste caso.
Assim:
x(1)=Ax(0) + Bu(0)
x(2)=Ax(1) + Bu(1)=A
2
x(0) + ABu(0) + Bu(1)
x(3)=Ax(2)+Bu(2)=A
3
x(0)+A
2
Bu(0)+ABu(1)+ Bu(2)
E assim por diante at se ter:

n-1

x(n)=A
n
+ E
j=0
A
n-j-1
B

u(j)
A existncia de soluo depender neste caso da matriz:
|A
n-1
B A
n-2
B . B|

34
Alcanabilidade
Um estado de um sistema dinmico dito
alcanavel a partir de um outro estado se existe
uma segmento de entrada capaz de transferir o
sistema de um estado a outro.
Se um sistema for totalmente alcanavel ele
ser controlvel, e neste caso toda transio de
estado ser possvel.
No caso contrrio o par de estados sero ditos
no alcanaveis.
35
Conceitos Bsicos de Sistemas
Sistema Complexo S
c
Um sistema dito complexo quando
constitudo por um conjunto de sistemas
como os definidos anteriormente
interligados.

36
Reconhecedor de
Linguagens

Anselmo Lacerda
UPE
37
Reconhecedor de Linguagens
Estou perdido!
Resolveram escrever cada
mensagem em uma lngua...
38
Mquina reconhecedora de
linguagem
Pode-se definir mquinas que reconhecem se uma
cadeia pertence ou no a uma linguagem. Seja
mquina azul, palavra na fita e transio abaixo:

a
i
a
j
a
k
. . . a
r
q
0
(q
0
, a
i
) q
3
39
Mquina reconhecedora de
linguagem
A cabea se move lendo sucessivamente
novas entradas e o estado muda. Assim aps
o primeiro passo:

(q
3
, a
j
) q
7
a
i
a
j
a
k
. . . a
r
q
3
40
Mquina reconhecedora de
linguagem
E vai sucessivamente mudando de estado
segundo as transices previstas na mquina:

(q
7
, a
k
) q
0
a
i
a
j
a
k
. . . a
r
q
7
41
Mquina reconhecedora de
linguagem
Quando a mquina acaba de ler a fita observa-se em
que estado ficou a mquina. Estados finais podem ser
aceitadores e regeitadores:

a
i
a
j
a
k
. . . a
r
q
m
42
Mquina reconhecedora de
linguagem
Se q
m
um estado previamente definido
como aceitador ento a mquina aceita
a
i
a
j
a
k
a
r
como elemento da linguagem.

No caso contrrio, a
i
a
j
a
k
a
r
no um
elemento da linguagem.
43
Mquina reconhecedora de
linguagem
Entretanto nem toda linguagem pode ser
reconhecida por um automato deste tipo,
isto , por mquina sequencial.

As linguagens que podem ser reconhecidas
so as chamadas linguagens regulares ou
tipo 3 na hierarquia de Chomsky.
44
Mquina reconhecedora de
linguagem
Um automato deterministico finito uma tupla
(Q, E, q
0
, o, F), where
Q o conjunto finito de estados {q
0
,q
1
,,q
m
}
E alfabeto finito {a
1
, a
2
, , a
n
}
q
0
o estado inicial,
o : Q E Q uma funo parcial chamada de
transio de estado
F _ Q um subconjunto de estados finais,
identificados no grafo por crculos concntricos.
45
Mquina reconhecedora de
linguagem
Se o definida para todos pares de Q E, o uma
funo total e se tem uma automato completo
A funo o pode ser descrita pela Tabela de
Transio:
a
1
a
2
a
n
q
0

q
1
the valores
de o(q
i
, a
j
)

46
Diagrama de Transies
q
0
q
3
q
1
q
2
b
c
c
a
b
a
a,b
b
c
47
Exemplo
Este autmato aceita :
c
b
k
for all k > 1
b
k
c
2l
b
m
for all, k, l > 0 m > 0
b
k
c
2l
b
m
c
2n+1
bc
p
ab for all k, l, m, n,
p > 0
E muitos outros!
48
Tipo 3 e Autmato Finito
Assim uma linguagem tipo 3 pode ser
reconhecida por um autmato finito.
Geralmente se usa o formalismo da saida
coincidir com o estado.
Pode ser usado tambm um autmato em
que as transies so feitas com uma certa
probabilidade, mas isto no aumenta as
possibilidades do autmato.
49
Tipo 2 e Automato de Pilha
Um automato finito ao qual se da a possibilidade de
manipular uma pilha se torna capaz de reconhecer
uma linguagem tipo 2, ou livre de contexto.
50
Automato de Pilha como
Reconhecedor
Um automato finito ao qual se da a possibilidade de
manipular uma pilha se torna capaz de reconhecer
uma linguagem tipo 2, ou livre de contexto.
So os mais usados na construo de compiladores j
que a maioria das linguagens de programanao so
deste tipo.
51
Autmato de Pilha





(q
3
, a
j
, z
1
) (q
3
, s
1
s
t
)
a
i
a
j
a
k
. . . a
r
q
3
z
1
z
r
.
z
2
52
Autmato de Pilha





(q
3
, a
j
, z
1
) (q
3
, s
1
s
t
)
a
i
a
j
a
k
. . . a
r
q
3
z
r
.
z
2
s
2
.
s
1
53
Tipo 1 e Autmato Linear Limitado
O autmato linear limitado uma Mquina
de Turing Aleatria que nunca deixa o
espao da fita onde estava a entrada.
O termo linear se usa para indicar que o
mesmo trabalha com uma fita e limitado
que no sai da regio predeterminada.
Este ALL capaz de reconhecer uma
linguagem tipo 1, ou sensvel ao contexto.
54
Tipo 0 e Mquina de Turing
Para reconhecer linguagens tipo 0 deve-se
usar a Mquina de Turing.
55
Problemas No Decidveis
Dada uma cfg ou csg, ou tipo 0 provar se
L(G) vazia.
Dada uma cfg ser que L(G) so todos as
sequencias geradas?

???
56

Você também pode gostar