21
a b (q0,0) (q0,110) (q2, ) (q0,1) (q0,111) (q1, ) (q1,1) (q1, ) (q1,0) (q2, ) 3(a), pag. 112: a n b 2n

3(a), pag. 112: a n b 2n

  • Upload
    babu

  • View
    23

  • Download
    0

Embed Size (px)

DESCRIPTION

3(a), pag. 112: a n b 2n. 3(b) pag. 112: wcw R. Só dicas. 3(c): a n b m c n+m basta empilhar a’s e b’s e desempilhá-los com os c’s 3(d): a n b n+m c m - PowerPoint PPT Presentation

Citation preview

Page 1: 3(a), pag. 112:  a n b 2n

a b

(q0,0) (q0,110) (q2, )

(q0,1) (q0,111) (q1, )

(q1,1) (q1, )

(q1,0) (q2, )

3(a), pag. 112: anb2n

Page 2: 3(a), pag. 112:  a n b 2n

3(b) pag. 112: wcwR

a b c

(q0,0) (q0,10) (q0,20) (q1,0)(q0,1) (q0,11) (q0,21) (q1,1)(q0,2) (q0,12) (q0,22) (q1,2)(q1,0) (q2,)(q1,1) (q1, )(q1,2) (q1, )

Page 3: 3(a), pag. 112:  a n b 2n

Só dicas ...

• 3(c): anbmcn+m

– basta empilhar a’s e b’s e desempilhá-los com os c’s

• 3(d): anbn+mcm

– basta empilhar a’s, desempilhá-los com alguns dos b’s até que todos os a’s sejam desempilhados passando a empilhar os b’s restantes que serão desempilhados com os c’s

Page 4: 3(a), pag. 112:  a n b 2n

3(e): anbm, n≤m≤3n

S aSb | aSbb | aSbbb | 1 2 3 4S aSA1 | aSA2 | aSA3 |

A1 b

A2 bA1

A3 bB

B bA1

Page 5: 3(a), pag. 112:  a n b 2n

Será mesmo que L(G)=L?

• Provemos então que

L(G)={anbm, n≤m≤3n}• L(G)L i.e. Se Sn+1anbm, então n≤m≤3n.

Por indução em n.(base) n=0 S n=1 S2ab, S2abb, S2abbb(passo) (Se Sn+1anbm, então n≤m≤3n) implica (Sn+2an+1bm’ com n+1≤m’≤3(n+1))

Page 6: 3(a), pag. 112:  a n b 2n

• Sn+1anbm implica que Sn anSbm anbm

a) Sn anSbm anaSbbm

n≤m, logo n+1≤m+1m≤3n, logo m+1≤3n+3

b) Sn anSbm anaSbbbm

n≤m, logo n+1≤m+2m≤3n, logo m+2≤3n+3

c) Sn anSbm anaSbbbbm

n≤m, logo n+1≤m+3m≤3n, logo m+3≤3n+3

Page 7: 3(a), pag. 112:  a n b 2n

• L(G)L Dado anbm com n≤m≤3n, seja k=m-n i.e. m=n+k.

• k=0, k=n, k=2n é trivial!• 0<k<n:

S n-k an-kSbn-k k anSbn+k anbn+k 1 2 4

• n<k<2nk=2p, 1≤p

S n-p an-pSbn-p p anSbn+2p anbn+k 1 3 4

k=2p-1, 1≤p Sn-p an-pSbn-pan-p+1Sbn-p+2p-1anbn+2p-1

1 2 3

Page 8: 3(a), pag. 112:  a n b 2n

S aSA1 | aSA2 | aSA3 |

A1 b

A2 bA1

A3 bB

B bA1

δ(q,a,S)={(q,SA1), (q,SA2), (q,SA3), (q,)}

δ(q,b,A1)={(q,)}

δ(q,b,A2)={(q,SA1)}

δ(q,b,A3)={(q,B)}

δ(q,b,B)={(q,A1)}

Page 9: 3(a), pag. 112:  a n b 2n

Para exercitar ...

3(f):S aaX | aXa | baY | bYa | X bS | aXX | bY aS | bYY | a

3(g):S aaSbS | aSbSaS | bSaaS |

Page 10: 3(a), pag. 112:  a n b 2n

Cuidado com o (h)

• Posto que L não é uma LLC uma vez que jogando contra o diabo para cada k que ele escolha basta dar akbkck e ele perde.

Page 11: 3(a), pag. 112:  a n b 2n

3(i): L={w : |w|a+|w|b=|w|c}

a b c

(q0,z) (q0,0z) (q0,0z) (q0,1z) (qf,z)

(q0,0) (q0,00) (q0,00) (q0, )

(q0,1) (q0, ) (q0, ) (q0,11)

Page 12: 3(a), pag. 112:  a n b 2n

Descrições Informais de MTs

• Uma máquina de Turing para {ww | w{a,e}*}

• Dada x como entrada, varrer até encontrar o primeiro símbolo vazio, contando o número de símbolos mod 2 rejeitando caso x não seja par.

Page 13: 3(a), pag. 112:  a n b 2n

• Escreve um marca de fim ┤ à direita e repetidamente varre um lado e outro da fita.

• Em cada passada da direita para a esquerda, marca o primeiro a ou e não marcado com '.

• Na passada da esquerda para a direita marca com `.

• Vai assim até todos os símbolos estarem marcados.

• por exemplo ...

Page 14: 3(a), pag. 112:  a n b 2n

├aaeeaaaeea■■■■...├aaeeaaaeeá┤■■■■...├àaeeaaaeeá┤■■■■...├àaeeaaaeéá┤■■■■...├ààeeaaaeéá┤■■■■......├ààèèàááééá┤■■■■...• agora varre a fita da esquerda para a

direita repetidamente. Em cada passo apaga o primeiro marcado com ` mas se lembra deste símbolo

Page 15: 3(a), pag. 112:  a n b 2n

• daí varre até o primeiro não marcado, checa se igual ao apagado e apaga-o;

• se os símbolos não são iguais rejeita;

• se todos os símbolos forem apagados, aceita.

├ààèèàááééá┤■■■■...├■àèèà■áééá┤■■■■...├■■èèà■■ééá┤■■■■......├■■■■■■■■■■┤■■■■...

Page 16: 3(a), pag. 112:  a n b 2n

Número de a's é primo

• Crivo de Eratóstenes:2 3 4 5 6 7 8 9 10 11 12 13 3 5 7 9 11 13 5 7 11 13

• seja ap na fita├aaaaaaaaaaaaaOOO...(por razões tipográficas O vai representar o

células vazia)

Page 17: 3(a), pag. 112:  a n b 2n

• se p=0 rejeita, se p=1 aceita;• se tem pelo menos dois a's, apaga o

primeiro, varre até o último a e o substitui por $

• agora temos um a nas posições 2,3, ..., p-1 e $ na posição p.

├Oaaaaaaaaaaa$OOO...• repita o laço: • varrendo do começo ├, encontre o

primeiro símbolo não-vazio, digamos na posição m

Page 18: 3(a), pag. 112:  a n b 2n

• Então m é primo! (invariante);• se o símbolo for $, p é primo e pare• senão, marque o a com ^ e tudo entre

ele e ├ com ':├Óâaaaaaaaaaa$OOO...• entra num laço para apagar todos os

símbolos que ocorrem em posições que são múltiplas de m.

• primeiro apaga o a debaixo de ^. ├ÓÔaaaaaaaaaa$OOO...

Page 19: 3(a), pag. 112:  a n b 2n

• Desloca as marcas uma por vez para direita a uma distância igual ao número de marcas:

├OOáâaaaaaaaa$OOO...• apaga o símbolo sob ^, que está na

posição 2m.├OOáÔaaaaaaaa$OOO...• mantenha-se deslocando as as

marcas e apagando os símbolos sob ^ até o fim.

├OOaOaOaOaO$'ÔOO...

Page 20: 3(a), pag. 112:  a n b 2n

• se estivermos para apagar o $, rejeite a cadeia!

• senão, volta e repete todo o pro-cesso acima; encontre o primeiro símbolo não vazio mais a esquerda marque-o com ^ e marca tudo a sua esquerda com ';

├ÓÓâOaOaOaO$OOO...• e vai deslocando e apagando:├OOOOaOaOOÓ$'ÔOO...

Page 21: 3(a), pag. 112:  a n b 2n

• volta e repete até ou tenta-se apagar $ e rejeita-se a cadeia ou se apagam todos os a's e aceita.

├OOOOaOaOOÓ$'ÔOO...├ÓÓÓÓâOOÓ$'ÔOO...├OOOOOÓÓÓ$'ÔOO...