Informática Teórica
• Créditos: 4;
• Pré-requisito: IP;
• Carga horária total h/a:80;
• Carga horária total h/r:60.
1
Ementa
• Programas e máquinas.
• Autômatos;
• Funções recursivas.
• Máquina de Turing.
• Análise de algoritmos.
• Complexidade computacional.
• Computabilidade.
2
Referências Básicas
• SIPSER, Michael. Introdução à Teoria da Computação. São Paulo, SP.
2o Ed. Thomson Pioneira. 2007.
• HOPCROFT, John E. Introduction to automata theory, languages, and
computation. 2. ed. Boston: Addison-Wesley, 2001.
• SINGH, Arindama; GRIES, David; SCHNEIDER, Fred B. Elements of
computation theory. London: Springer, 2009.
3
Aula 10
Lema do Bombeamento
4
Lema do Bombeamento
• O lema do bombeamento serve para provar que uma linguagem NÃO
É REGULAR.
• Não pode ser usado para provar que uma linguagem é regular.
5
Lema do Bombeamento
ms"SuceaobjaimcoarpdLoreiumiuaimesg)nuastaoaltliaidsnefpgauzbpeaoongmdedemboesaaesrmreseeegsgnucutlraoiinrt".at)etcEsaonclmtoãqnooudewiçecõx=aeidsxstay:ezc(auid.mee.iawinwpteodidreoe Lsepcromd≥ivci1doimd(apchreiammmetanrdêtoos
1. |y| ≥ 1
2. |xy| ≤ p
3. para todo i ≥ 0, xyiz ∈ L
y é a subcadeia que pode ser bombeada (removida ou repetida arbitrariamente).
Descrição das condições:
Para poder ser bombeada, y precisa ter comprimento maior ou igual a 1;
y precisa estar entre os p primeiros caracteres;
rPeosdueltmanotserpeepretteirncaerrbáitaraLr.iamente (e inclusive omitir) a subcadeia y, e a cadeia xyz
6
Lema do Bombeamento
sPiagraaopsrpoavsasroqsuaeseugmuair l(isnegruáaugmema pAronvãaopéorrceognutlararduiçsãaon)d:o lema do bombeamento,
• Assuma que a linguagem A é regular;
• Então terá uma cadeia de bombeamento (P);
• Todas cadeias maiores que P podem ser bombeadas |S|>=P;
• Ache a cadeia S tal que |S|>=P;
• Extraia S de xyz;
• Mostre que xyiz ∉ A para qualquer i >= 0;
• Então considere que S sempre pode ser extraída de xyz;
• sMimosutlrteaneqaumeennteen; huma das três condições anteriores pode ser satisfeita
• Então S não pode ser bombeado (CONTRADIÇÃO)
7
Lema do Bombeamento
Exemplo
Usando o lema do bombeamento, prove que a linguagem definida por
A={anbn|n>=0} não é regular.
8
Lema do Bombeamento
Usando o lema do bombeamento, prove que a linguagem definida por
A={anbn|n>=0} não é regular.
Solução:
Assumimos que A é regular.
Faremos |P| o tamanho da cadeia.
S=aPbP
P=7
Dividir S em xyz
S=aaaaaaabbbbbbb
9
Lema do Bombeamento
UA=sa{anndbon|no>=0le}mnãao édoregbuolamr.beamento, prove que a linguagem definida por
Solução:
S=aaaaaaabbbbbbb
Primeiro caso: y se encontra na parte dos a:
S=aaaaaaabbbbbbb
x, y e z
Segundo caso: y se encontra na parte dos b:
S=aaaaaaabbbbbbb
x, y e z
Terceiro caso: y se encontra na parte dos a e b:
S=aaaaaaabbbbbbb
x, y e z
10
Lema do Bombeamento
Primeiro caso: y se encontra na parte dos a:
S=aaaaaaabbbbbbb
x, y e z
xyiz=>xy2z
S´=aaaaaaaaaaabbbbbbb;
S´∈L ?
|a|=11
|b|=7
|a|≠|b|
S´∉ L
11
Lema do Bombeamento
Segundo caso: y se encontra na parte dos b:
S=aaaaaaabbbbbbb
x, y e z
xyiz=>xy2z
S´= aaaaaaabbbbbbbbbbb
S´∈L ?
|a|=7
|b|=11
|a|≠|b|
S´∉ L
12
Lema do Bombeamento
Terceiro caso: y se encontra na parte dos a e b:
S=aaaaaaabbbbbbb
x, y e z
xyiz=>xy2z
S´= aaaaaaabbaabbbbbbb
S´∈L ?
anbn não é obedecido no caso acima.
13
FIM
Aula 10
14