Professional Documents
Culture Documents
e autmatos em cursos
superiores de computao
Marcus Vincius Midena Ramos
Vol. I
No. 1
Resumo
Linguagens formais e autmatos uma disciplina fundamental dos
cursos superiores da rea de computao, especialmente daqueles
que apresentam nfase na formao cientfica do aluno, como o
caso dos cursos de bacharelado em Cincia da Computao e de
vrios cursos de Engenharia de Computao. Ela faz parte do ncleo denominado Fundamentos da Computao (conforme o currculo de referncia da Sociedade Brasileira de Computao [1]), e
contempla tpicos que, normalmente, so considerados, pelos alunos, excessivamente ridos, abstratos, complexos e desvinculados
da sua futura realidade profissional, o que contribui para reduzir o
interesse e a motivao pelo seu aprendizado. O objetivo do presente artigo refletir sobre os contedos programticos usualmente
adotados para o ensino do seu contedo, oferecendo alternativas
que possam contribuir para uma melhor assimilao dos tpicos da
disciplina. Inicialmente feita uma anlise da enfoque comumente
adotado para a construo e o desenvolvimento do referido contedo. A seguir, apresentam-se propostas que possam contribuir
para uma maior motivao dos alunos para o estudo da disciplina,
assim como para uma aprendizagem mais eficiente.
Palavras-chave: linguagens formais, autmatos, ensino, aprendizagem.
Abstract
Formal languages and automata theory is a fundamental discipline in undergraduate computer programs, specially those with
emphasis in the scientific education of the student, such as Computer Science and Computer Engineering . The discipline belongs
to the kernel known as Foundations of Computing (according
to the Brazilian Computer Society [1]), and contains a body of
knowledge which is normally considered, by its students, as highly
abstract, complex and unrelated to their future professional activities, thus reducing their interest and motivation for its study. The
objective of the present article is to reflect upon common practices adopted in the development of its contents, presenting some
alternatives that may contribute for a better absorption of the
discipline. It starts with an analysis of the most usual approaches
adopted, and then presents proposals that might contribute for a
higher degree of motivation of the students, as well as for a more
efficient learning process.
ISSN 2176-7998
22
1 Introduo
Linguagens formais e autmatos constitui matria considerada clssica na rea da computao,
uma vez que os seus principais resultados foram
consolidados nas dcadas de 1960 e 1970,portanto
h mais de 30 anos. Como resultado, existe um enfoque tambm clssico utilizado na produo de
contedos programticos e de estruturas curriculares voltados para o ensino dessa matria. Textos
didticos (tais como livros, apostilas e apresentaes) costumam adotar enfoques igualmente clssicos, com pouca diferenciao e inovao. Tais
enfoques deixam, por vezes, de explorar caminhos
que podem contribuir para aprimorar a qualidade
da aprendizagem dos alunos. O objetivo do presente artigo analisar o enfoque clssico, apresentando e analisando algumas sugestes para a
construo de contedos programticos (e, consequentemente, tambm, de textos didticos) que
sejam voltados para um ensino de linguagens formais e autmatos mais eficaz e mais estimulador
do aprendizado.
2 Formao terica
O rea da computao tornou-se, em pouco mais
de 60 anos, um verdadeiro universo. O profissional
moderno pode atuar em sub-reas muito diversificadas, as quais requerem conhecimentos especficos e aptides tambm bastante variadas.
Em funo de toda essa diversidade, e tambm
da complexidade a ela associada, os cursos superiores de computao se deparam com o dilema
de procurar, com grandes esforos, acompanhar
as inovaes e as tendncias tecnolgicas da rea,
incorporando-as de alguma forma aos seus currculos, ou, ento, de oferecer aos seus alunos uma
slida formao acadmica, sobre a qual o futuro
profissional possa construir uma tambm slida
carreira, conforme a sub-rea em que pretenda
atuar.
Se, por um lado, os cursos que possuem uma nfase maior nos aspectos tecnolgicos da computao favorecem a empregabilidade do aluno recmformado, por outro lado esses mesmos alunos se
ressentem, medida que o tempo passa, da falta
de uma formao terica mais completa que lhes
permita se renovarem e se manterem competitivos
no mercado de trabalho por mais tempo.
Por esse motivo, o estudo de matrias tericas,
como o caso de Linguagens Formais e Autmatos, no pode ter a sua importncia relativizada na estrutura curricular de cursos que pretendam formar profissionais preparados para enfrentar no apenas os desafios atuais da computao,
mas tambm, e especialmente, aqueles que ainda
esto por vir.
O investimento no aprendizado dos fundamentos da computao significa a garantia de supri-
Vol. I
No. 1
3 Temas
O corpo de conhecimento contido na rea de linguagens formais e autmatos derivado de duas
sub-reas de conhecimento que eram consideradas de forma independente uma da outra at a
dcada de 1960: linguagens formais, de um lado,
e teoria de autmatos, de outro. Foi a partir das
pesquisas efetuadas e dos resultados obtidos nessa
dcada que se pde estabelecer uma relao mais
direta entre tais sub-reas, as quais foram, a partir
de ento, combinadas numa nica grande rea de
conhecimento e so, nos dias de hoje, consideradas como sendo praticamente indissociveis uma
da outra.
A sub-rea linguagens formais trata da caracterizao, classificao, formalizao e estudo das
propriedades das linguagens estruturadas em frases. O marco inicial dessa sub-rea o trabalho
de Chomsky, um matemtico e lingusta que, em
meados da dcada de 1950, pesquisava a formalizao gramatical de linguagens naturais. Apesar do seu insucesso no cumprimento desse objetivo, ele apresentou uma classificao das linguagens estruturadas em frases, organizada em nveis
de complexidade crescente, que se tornaria referncia fundamental para o estudo das linguagens
formais. Tal classificao passou a ser conhecida
como Hierarquia de Chomsky [2].
Partindo-se da classe de linguagens mais simples em direo classe de linguagens mais complexa (os termos simples e complexa referemse aos diversos aspectos das classes de linguagens consideradas, mas costumam englobar propriedades estruturais, aspectos de formalizao
sinttica, custo do reconhecimento e grau de dificuldade na demonstrao de certas propriedades),
ISSN 2176-7998
23
Os trs tipos de tema que podem ser considerados como principais estruturadores de materiais
didticos sobre o assunto so, portanto: (i) as vrias classes de linguagens; (ii) os vrios tipos de
Por se tratar de uma taxonomia de linguagens dispositivos de anlise e (iii) os vrios tipos de
na qual se percebe, naturalmente, uma escala de dispositivos de sntese. Como consequncia, cocomplexidade crescente, e, tambm, devido ao mum encontrar materiais didticos que sejam esfato de que as classes de complexidade inferior truturados em torno de combinaes diversas desesto propriamente contidas nas classes de com- ses trs tipos de tema, sem preocupao especial
plexidade mais elevada, comum considerar a Hi- com relao sua uniformidade.
erarquia de Chomsky como ponto de partida para
No caso de temas escolhidos no universo dos
a organizao de contedos programticos (e ou- dispositivos de anlise, as denominaes tipicatros materiais didticos) para a disciplina lingua- mente adotadas so Autmatos Finitos (disposigens formais e autmatos, adotando-se as diferen- tivos capazes de reconhecer linguagens regulares),
tes classes de linguagens contidas nessa hierarquia Autmatos de Pilha (capazes de reconhecer lincomo principais temas de estudo.
guagens livres de contexto) e Mquinas de TuTal organizao proporciona ao aluno uma in- ring (capazes de reconhecer, com pequenas variatroduo natural aos assuntos da rea e permite es, linguagens sensveis ao contexto, linguagens
que o seu envolvimento acontea de maneira gra- recursivas e linguagens recursivamente enumerdual, medida que o estudo das classes de lingua- veis).
gens mais simples d lugar ao estudo das classes
De maneira similar, temas como Gramticas
de linguagens mais complexas.
Livres de Contexto e Gramticas Sensveis ao
Como as classes de linguagens esto propria- Contexto podem ser encontrados em materiais
mente contidas umas nas outras, o estudo de uma organizados em funo dos tipos de dispositivo de
nova classe a partir da anterior preserva todo o co- sntese. Linguagens Regulares, Linguagens Linhecimento adquirido pelo aluno at aquele mo- vres de Contexto etc so tpicos para temas derimento, e permite o aprendizado incremental da vados das principais classes de linguagens conhematria, em que so estudados apenas os aspectos cidas.
especficos das linguagens contidas na nova classe
Organizar um contedo programtico em torno
e que no existiam na classe anterior.
de temas que correspondam aos nomes das classes
Aps a consolidao da Hierarquia de Chomsky de linguagens ou dos tipos dos dispositivos de sncomo referencial principal para o estudo das lin- tese e anlise correspondentes no constitui, por
guagens formais, novas pesquisas identificaram si s, um obstculo ao aprendizado. Os problemas
diversas novas e importantes classes de lingua- podem surgir quando se adota um enfoque misto,
gens situadas entre aquelas j identificadas por em que partes do material so designados a partir
Chomsky. Entre as mais importantes encontram- dos nomes das classes de linguagens e outros so
se: a classe das linguagens livres de contexto de- designados a partir dos nomes dos correspondenterminsticas e a classe das linguagens recursivas. tes dispositivos de anlise ou sntese.
Por se tratar de classes de linguagens relevantes tanto do ponto de vista terico quanto prtico, pelo menos um subconjunto dessas seis classes de linguagens (regulares, livres de contexto determinsticas, livres de contexto gerais, sensveis
ao contexto, recursivas e recursivamente enumerveis) nomalmente adotado como base para a
seleo dos temas principais que sero desenvolvidos numa disciplina sobre o assunto.
Se, por um lado, a sub-rea de linguagens formais oferece uma perspectiva de estudo baseada
na sntese de cadeias (atravs de dispositivos gramaticais) para o estudo das vrias classes de linguagens, por outro lado a sub-rea de teoria de
autmatos oferece uma perspectiva de estudo baseada na anlise de cadeias (atravs de dispositivos de reconhecimento) com o mesmo objetivo.
Naturalmente, a equipotncia dos dispositivos de
sntese e de anlise para cada classe de linguagens considerada permite uma grande liberdade
ISSN 2176-7998
Vol. I
No. 1
24
cia mais localizada e de natureza distinta, contribuindo assim para uma melhor compreenso do
Assim, por exemplo, o tema sobre linguagens contexto no qual se desenvolve o contedo.
sensveis ao contexto poderia ser desenvolvido sobre Mquinas de Turing com fita limitada, o tema
sobre linguagens recursivas sobre Mquina de Tu- 4 Subtemas
ring que sempre param e, finalmente, o tema sobre
linguagens recursivamente enumerveis sobre M- A escolha, a denominao e o sequenciamento dos
quinas de Turing que podem ou no parar quando subtemas que so discutidos dentro de cada tema
a cadeia de entrada no pertence linguagem em so igualmente importantes para motivar o aluno,
facilitar a sua contextualizao em relao resquesto.
tante do assunto e orientar o seu estudo.
Trata-se, sem dvida, de um desenvolvimento
Quando se trata da organizao interna dos teum pouco mais trabalhoso, se comparado com o
tradicional, no qual adota-se como ponto de par- mas de um material didtico sobre linguagens fortida a Mquina de Turing geral para depois criar- mais e autmatos, no existe uma estrutura conse verses restritas, derivando-se delas as subclas- ceitual padro que possa servir como referncia
ses de linguagens correspondentes. A estratgia para o seu desenvolvimento. Por outro lado, os
proposta, no entanto, garante uma absoro gra- subtemas que so discutidos dentro de cada tema
dual e sempre justificada do contedo apresen- so considerados clssicos e h pouca variao em
tado, sem mudanas bruscas dos conceitos funda- relao ao que se encontra num ou noutro texto
mentais orientadores do estudo e sem antecipaes da rea. Por esse motivo, usual se trabalhar com
de assuntos que so, no fundo, dispensveis para grande liberdade na gerao do contedo, porm
nem sempre o resultado favorece a construo de
discutir a classe de linguagens sob foco.
Situaes similares a essa acontecem quando uma viso, e portanto de um entendimento, estruturados por parte do aluno.
so escolhidos, como temas principais, termos
Considera-se, normalmente, que cada classe de
de naturezas distintas que designam, alm dos
linguagens
tem as suas caractersticas e o seu prtipos j citados, outros tpicos relacionados s
prio
conjunto
de subtemas que devem ser discuticlasses de linguagens, como por exemplo: (i) as
dos
no
contexto
da prpria classe. Pouca ateno
suas propriedades gerais (questes decidveis, procostuma
ser
dada
s possibilidades de construo
priedades de fechamento etc); (ii) as suas prode
um
roteiro
que
possa
ser replicado para diferenpriedades especficas (minimizao de autmatos
tes
classes
de
linguagens,
o que poderia contribuir
finitos,pumping lemmasetc);ou (iii) particularipara
uma
melhor
percepo
dos subtemas que so
dades de uma determinada classe de linguagens
comuns
e
daqueles
que
so
especficos
para as di(como o caso da decidibilidade).
versas classes de linguagens consideradas.
A superao desse obstculo conceitual pode
Uma anlise preliminar de tais subtemas, no
ser alcanada se for possvel atingir um elevado
grau de uniformizao na denominao dos te- entanto, revela que, para as classes de linguamas principais, considerando-se apenas conceitos gens consideradas anteriormente, todos os seguinde mesma natureza, de preferncia conceitos de tes subtemas so presentes e relevantes, podendo
maior abrangncia e que englobem outros que lhe assim constituir o alicerce para uma organizao
so naturalmente subordinados ou especializados. mais estruturada do material didtico, independentemente da classe de linguagens considerada
Sugere-se, como alternativa, que os temas prin(com uma ou outra exceo): (i) propriedades escipais sejam denominados a partir das classes de
truturais; (ii) formalizao gramatical; (iii) molinguagens que se deseja apresentar, iniciando-se
com a mais simples e terminando com a mais delo de reconhecimento; (iv) equivalncia entre os
formalismos de representao de linguagens; (v)
complexa. Todos os demais assuntos relacionados
principais propriedades; (vi) a relao da classe
(dispositivos de sntese, dispositivos de anlise,
propriedades etc) podem facilmente ser acomoda- corrente com a classe de linguagens precedente
(consideradas numa escala de complexidade cresdos dentro de uma estrutura de tpicos (doravante
cente) e, finalmente, (vii) a demonstrao da exisdenominados subtemas) que contemple no apetncia de linguagens que no pertencem classe de
nas os aspectos genricos mas tambm os aspectos
linguagens corrente (como fator motivador para a
especficos das classes de linguagens consideradas.
apresentao da classe de linguagens seguinte).
Dessa forma, o ponto de partida para o estudo
Considere-se, por exemplo, a classe das linguaser sempre uma classe de linguagens, e todos os
gens livres de contexto. De acordo com o enfodetalhes a ela relacionados ficam dentro dela enque proposto, uma possvel sequncia de apresencapsulados e a ela subordinados. O sequenciatao dos subtemas relacionados a essa classe de
mento de temas, nessa proposta, evita que o foco
do leitor seja deslocado do conceito mais funda- linguagens, e que ainda guardam relao com subtemas equivalentes para as outras classes de linmental a classe de linguagens que est sendo
guagens, seria: (i) balanceamento de termos (aniestudada para outros conceitos de abrangnnhamento); (ii) gramticas livres de contexto; (iii)
ISSN 2176-7998
Vol. I
No. 1
25
autmatos de pilha; (iv) equipotncia dos autmatos de pilha com as gramticas livres de contexto (no que se refere capacidade de representao de linguagens livres de contexto); (v) questes decidveis e propriedades de fechamento (das
linguagens livres de contexto); (vi) demonstrao
de que a classe das linguagens regulares est propriamente contida na classe das linguagens livres
de contexto e (vii) demonstrao de que existem
linguagens que no so livres de contexto (atravs
do Pumping Lemma para as linguagens livres de
contexto).
De maneira semelhante, roteiros equivalentes
podem ser desenvolvidos para as demais classes
de linguagens.
Vol. I
No. 1
Se, por um lado, a escolha de um conjunto padro de subtemas a ser desenvolvido para cada
classe de linguagens colabora de maneira significativa para o melhor entendimento acerca da natureza de cada subtema e tambm da maneira como
ele contextualizado em cada classe de linguagens, por outro lado fato que existem outros
subtemas que so especficos de um grupo reduAtravs da percepo das semelhanas e tamzido de classes de linguagens,ou mesmo pertinen- bm das diferenas entre os subtemas que comtes a uma nica classe de linguagens.
pem o corpo de conhecimento acerca de cada
Pode-se citar como exemplo, entre outros, os classe de linguagens, o aluno instrumentado de
subtemas transdutores finitos e a minimizao de forma que ele possa, em cada momento do seu
autmatos finitos (para a classe das linguagens estudo, compreender de forma contextualizada a
regulares), rvores de derivao e ambiguidade relevncia e a abrangncia de cada tpico que lhe
(para a classe das linguagens livres de contexto) apresentado, o que naturalmente contribui para
e decidibilidade (para a classe das linguagens re- uma melhor absoro do contedo.
cursivamente enumerveis).
Nesses casos, a harmonizao de tais subtemas
especficos, juntamente com os subtemas que sejam comuns a todas as demais classes de linguagens, pode produzir o efeito de fazer com que o
aluno tenha uma melhor percepo das particularidades encontradas em cada classe de linguagens
estudada, ou seja, das caractersticas e propriedades que so nicas em cada classe (ou subconjunto
de classes).
5 Demonstraes
No raro encontrar materiais didticos que deixam para o leitor a tarefa, nem sempre fcil, de
completar a demonstrao de certos teoremas.
ISSN 2176-7998
26
6 Intuio e redundncias
A aquisio de um conhecimento uma tarefa
complexa que pode ser simplificada quando se faz
uso de dois mecanismos complementares importantes: explicaes que apelam para a intuio do
aluno e o emprego de formas alternativas para se
apresentar um mesmo assunto ou resultado.
Os materiais didticos da rea de linguagens
formais e autmatos adotam, normalmente, uma
linguagem matemtica (e portanto rida),que requer grande capacidade de abstrao e raciocnio
lgico do aluno. Se, por um lado, essa caracterstica no pode ser mudada na sua essncia (pois
a matemtica, especialmente a matemtica discreta, a base para todo o corpo de conhecimento
desenvolvido acerca do assunto), por outro lado
fato que, por trs de todo formalismo, dispositivo algbrico ou demonstrao de algum teorema,
existe uma fundamentao que pode ser traduzida em termos mais coloquiais, sem prejuzo para
o rigor matemtico necessrio ao seu desenvolvimento, e que colabora de forma significativa para
uma melhor compreenso dos assuntos que esto
sendo apresentados.
Dessa maneira, constitui boa prtica acrescentar, ao lado das demonstraes matemticas formais,textos em linguagem natural, exemplos que
de alguma forma remetam s experincias ou conhecimentos prvios do aluno, a comparaes com
resultados ou assuntos similares encontrados na
mesma rea ou em outras reas do conhecimento,
e o que mais se julgar conveniente, de modo que,
juntamente com o rigor dos formalismos empregados, o aluno tenha mais e melhores condies
de inferir sobre o que se pretende demonstrar, fixando com mais convico os resultados e despertando para correlaes nem sempre bvias que
possam existir entre o tpico estudado e outros
que faam parte do mesmo corpo de conhecimento
ou mesmo de disciplinas distintas.
O emprego de redundncias tambm contribui
com esses objetivos. Certos teoremas podem ser
demonstrados atravs da anlise de um ou mais
algoritmos que produzem o resultado desejado.
Por exemplo, a eliminao de transies em vazio
em autmatos finitos, a minimizao de autmatos finitos e a demonstrao da equipotncia entre
autmatos de pilha no-determinsticos e gramticas livres de contexto podem ser feitas atravs
de mais de um algoritmo diferente em cada caso.
Nessas situaes, a escolha de apenas um algoritmo em cada caso suprime, para o aluno, a
possibilidade de comparar solues, compreender
melhor a natureza de cada uma delas e, finalmente, considerar a possibilidade de desenvolver
a sua prpria soluo.
O uso de redundncias um recurso didtico
que pode ser decisivo e ajudar muito o aluno que,
por um motivo qualquer, s vezes enfrenta obstculos de difcil transposio se o caminho que lhe
oferecido nico. Nem sempre o que considerado mais claro, mais simples ou mais didtico
pelo professor percebido da mesma forma pelo
aluno, uma vez que tais adjetivos no possuem
um sentido objetivo e, geralmente, o seu significado decorre das experincias prvias vividas pelo
indivduo em questo.
Vol. I
No. 1
7 Temas relacionados
Certos tpicos no so direta ou obviamente relacionados. Em alguns casos, no entanto, um enfoque que desvende relaes menos bvias entre esses tpicos, relacionando-os de alguma forma no
usual ou no tradicional, pode contribuir, e muito,
para um melhor entendimento de ambos os assuntos, eventualmente alargando as fronteiras de viso do aluno para alm do trivial.
Isso acontece, por exemplo, com as questes decidveis das linguagens livres de contexto e quando
a questo A cadeia w pertence linguagem L?
apresentada ao aluno. O encaminhamento natural
da resposta para essa questo consiste na apresen-
ISSN 2176-7998
27
tao de um algoritmo que, aceitando como entrada uma gramtica livre de contexto na Formal
Normal de Greibach, gera sempre como sada uma
resposta (afirmativa ou negativa) para a questo
acima.
Se essa estratgia contempla uma soluo satisfatria para a questo apresentada, por outro lado
fato que, nesse estgio do estudo, a insero de
tpicos contendo uma introduo ao tema da anlise sinttica bem-vindas, pois eles guardam uma
relao direta com a questo formulada.
Se adotada, essa estratgia permite que o aluno
compreenda melhor a abrangncia e a profundidade de uma questo aparentemente simples e sem
maiores consequncias, e, alm disso, entenda a
origem de toda uma tecnologia que foi desenvolvida com o objetivo de produzir solues eficientes
para a resposta dessa mesma pergunta. Em adio, podese introduzir as classes das linguagens
LL(k) e LR(k), mostrando a relao delas com
as demais classes de linguagens consideradas, em
particular a classe das linguagens livres de contexto. Como resultado, verifica-se que a explorao conjunta dessas dois tpicos contribui para
fortalecer a compreenso de ambos.
que ensejam duas parties da classe das linguagens livres de contexto. E a pergunta que surge
naturalmente : Qual a relao que existe entre
essas parties?.
Uma investigao um pouco mais cuidadosa [3]
permite concluir, no entanto, que a classe das
linguagens livres de contexto determinsticas est
propriamente contida na classe das linguagens livres de contexto no-ambguas. Ou seja, (i) toda
linguagem determinstica tambm no-ambgua;
(ii) nem toda linguagem no-ambgua pode ser
reconhecida de forma determinstica e (iii) existem linguagens que so, simultaneamente, inerentemente ambguas e no-determinsticas.
Portanto, a classe das linguagens livres de contexto pode ser considerada a partir de trs outras subclasses propriamente contidas umas nas
outras, e todas elas de grande importncia prtica
e terica:a subclasse das linguagens determinsticas descendentes LL(k), a subclasse das linguagens determinsticas ascendentes LR(k), que corresponde tambm classe das linguagens livres de
contexto determinsticas, e a subclasse das linguagens no-ambguas, esta ltima contida propriamente na classe das linguagens livres de contexto
Outra situao que pode ser explorada de forma gerais.
semelhante refere-se ao estudo dos temas ambiguiTal enfoque, no usualmente adotada no endade e no-determinismo em linguagens livres de sino de linguagens formais e autmatos, associa
contexto, dois assuntos encontrados normalmente dois conceitos aparentemente desconexos (deterna maioria dos materiais didticos da rea de lin- minismo e ambiguidade) e produz resultados que
guagens formais. A explorao da relao entre fazem com que o leitor tenha melhor domnio e
eles, no entanto, no encontrada com tanta fa- compreenso sobre ambos, entendendo vrios dos
cilidade.
seus desdobramentos, como por exemplo a definiA definio de gramticas e de linguagens amb- o natural de outras classes de linguagens, alm
guas, em particular de linguagens inerentemente das inicialmente consideradas.A alternativa (ou
ambguas (ou seja, aquelas para as quais no exis- seja,a no explorao dessa correlao) simplestem gramticas que no sejam ambguas), conduz mente deixa de contribuir para uma maior solidez
naturalmente a um particionamento da classe das e abrangncia do aprendizado do aluno.
linguagens livres de contexto entre (i) o subconjunto das linguagens que so inerentemente ambguas e (ii) o subconjunto das linguagens que so, 8 Pesquisas anteriores e atuais
por assim dizer, no-ambguas (ou seja, aquelas
para as quais possvel identificar pelo menos uma A rea de linguagens formais e autmatos
gramtica que as gerem e que no sejam amb- desenvolveu-se principalmente nas dcadas de
1960 e 1970, quando pesquisadores no mundo inguas).
teiro voltaram as suas atenes para as questes
Por outro lado, a definio de determinismo
em aberto da rea, conseguindo produzir os retambm conduz a uma partio da classe das linguagens livres de contexto. Nesse caso, entre o sultados mais importantes que so conhecidos e
usados nos dias hoje. Por esse motivo, a rea
subcojunto das linguagens para as quais posentendida como sendo formada por um corpo de
svel identificar pelo menos um autmato de piconhecimento slido e estvel, em torno do qual
lha determinstico que as reconhea (as chamapouco se pode fazer em termos de inovao, includas linguagens livres de contexto determinsticas) e o subconjunto das linguagens para as quais sive e principalmente do ponto de vista pedaggico.
isso no possvel (ou seja, linguagens que poIsso, no entanto, no precisa ser necessariadem ser reconhecidas apenas atravs de autmamente
verdade.Tal viso desconsidera os seguintos de pilha no-determinsticos), tambm conhetes
fatos:
(i) que parte do grande volume de cocida como classe das linguagens livres de contexto
nhecimento
produzido nos anos passados no est
no-determinsticas.
presente de forma significativa nos contedos proDeterminismo (ou no-determinismo) e ambigramticos e nos materiais didticos atuais; e (ii)
guidade (ou no-ambiguidade) so dois conceitos
que os resultados das pesquisas atuais no so se-
ISSN 2176-7998
Vol. I
No. 1
28
representativo o caso dos autmatos de pilha estruturados [5], formalismo desenvolvido para
permitir a construo de reconhecedores sintticos
que apresentam vantagens importantes, inclusive
didticas, quando comparados com os tradicionais
autmatos de pilha.
Organizado na forma de mltiplas submquinas mutuamente recursivas, esse formalismo apresenta, como principais vantagens: (i) uma maior
eficincia de execuo (pois a pilha utilizada apenas quando isso for estritamente necessrio, ou
seja, no reconhecimento de construes aninhadas, operando como um autmato finito quando
esse no for o caso), e (ii) a possibilidade de se
criar projetos e implementaes modulares, com
ganhos em termos de legibilidade e de manuteno.
Um outro exemplo so as pesquisas atuais sobre dispositivos adaptativos [6], as quais podem
ser aplicadas a dispositivos de natureza diversa,
como o caso das gramticas e dos autmatos.
Vol. I
No. 1
A insero de tpicos sobre gramticas e autmatos adaptativos num texto introdutrio sobre
linguagens formais e autmatos pode trazer os
seguintes benefcios para o aluno: (i) demonstra, como nos casos das gramticas controladas
por regras e dos autmatos de pilha estruturados, que a concepo de novos formalismos com
base nos formalismos tradicionais pode ser vantajosa sob inmeros aspectos, especialmente os
de carter mais prtico (facilidade de construo
e eficincia da operao); (ii) demonstra que a
rea ainda objeto de pesquisas e que ela constitui,portanto,campo frtil para a atuao de futuros jovens pesquisadores.
Naturalmente que a idia no esgotar todos
os principais resultados de uma linha de pesquisa
atual (qualquer que seja ela) num material ou
numa atividade didtica de carter introdutrio,
at porque esse no o seu objetivo principal. No
entanto, a simples citao, apresentao e exemplificao de alguns resultados mais importantes
de uma linha de pesquisa moderna pode ter um
efeito altamente motivador sobre o aluno, criando
perspectivas positivas para o aprofundamento do
seu estudo e propiciando uma melhor compreenso dos conceitos da teoria clssica.
Recomenda-se, portanto, manter sempre em
vista o conhecimento gerado no passado, muitas
vezes deixado perdido no tempo e no espao, mas
ainda assim capaz de contribuir para uma aprendizagem mais eficaz no momento atual, e tambm
o conhecimento gerado no presente, muitas vezes
de circulao restrita, mas, apesar disso, maduro
o suficiente para se relacionar com o conhecimento
tradicional, proporcionando ao aluno mais e melhores instrumentos de aprendizagem.
ISSN 2176-7998
29
9 Experimentao
comum que os materiais e as atividades didticas de linguagens formais e autmatos adotem um
enfoque essencialmente algbrico, o que exige dos
alunos no apenas uma boa formao matemtica
mas tambm, e principalmente, uma grande capacidade de raciocno lgico e abstrato. Por esse
motivo, os estudantes de tais textos precisam lidar com um nvel de complexidade adicional, alm
daquele que inerente aos assuntos da rea, para
conseguir bons resultados na disciplina.
No raro, por outro lado, encontrar enfoques
que buscam superar essas dificuldades atravs do
uso de ferramentas computacionais que permitem
ao aluno vivenciar, em ambientes de simulao,
os principais conceitos vistos na teoria. Ao contemplar o estudante com uma estratgia didtica
complementar e alternativa em relao quela exclusivamente algbrica, criam-se as condies para
que, atravs de perspectivas diferentes, ele obtenha um nvel de compreenso mais completo em
relao matria.
A categoria mais comum de dispositivos empregados para essa finalidade so os simuladores, sejam eles grficos ou no. Um simulador um programa de computador que permite ao aluno construir dispositivos computacionais que reproduzam
comportamentos equivalentes aos dos dispositivos
algbricos estudados na teoria.
Dessa forma, possvel experimentar com gramticas, reconhecedores, transdutores ou outros
formalismos abstratos (como por exemplo expresses regulares), bem como verificar suas propriedades (por exemplo, determinar se a linguagem
aceita por um autmato finito vazia ou no) ou
aplicar algoritmos de mapeamento (por exemplo
para a minimizao de autmatos finitos).
A diferena entre o uso de um ambiente grfico
ou no-grfico (baseado em texto apenas) consiste
na facilidade com que o usurio consegue criar,
visualizar e modificar os seus modelos para, em
seguida, aplicar sobre eles um conjunto normalmente bsico e predefinido de operaes disponibilizadas pelo simulador.
Um simulador de gramticas livres de contexto
poderia, por exemplo, alm de verificar a sintaxe
da gramtica fornecida como entrada, oferecer ao
usurio operaes que lhe permitissem, por exemplo, gerar de forma aletria sentenas pertencentes
linguagem por ela definida, montar rvores de
derivao, detectar a existncia de smbolos inteis e inacessveis, simplificar a gramtica e obter uma forma normal qualquer equivalente. Conforme o tipo de formalismo, a lista pode ser tornar
relativamente extensa.
De especial interesse, quando se trata da simulao de autmatos (finitos, de pilha, Mquinas
de Turing, etc), so os simuladores grficos, que
permitem ao usurio um grande conforto na edi-
Vol. I
No. 1
ISSN 2176-7998
30
ISSN 2176-7998
Vol. I
No. 1
31
Linguagens Formais, Autmatos e Computabilidade est contida no ncleo denominado Fundamentos da Computao, e possui os seguintes tpicos sugeridos: (i) gramticas; (ii) linguagens regulares, livres-de-contexto e sensveis-ao-contexto;
(iii) tipos de reconhecedores; (iv) operaes com
linguagens; (v) propriedades das linguagens; (vi)
autmatos de estados finitos; (vii) autmatos de
pilha; (viii) Mquina de Turing; (ix) funes recursivas; (x) Tese de Church; (xi) Teorema da Incompletude de Gdel; (xii) classes de problemas
P, NP, NP-completo e NP-difcil; (xiii) mtodos
de reduo de problemas.
Aqui tambm possvel observar o uso de temas de natureza distinta para definir o contedo
da matria. Seno, os tpicos (iii), (vi), (vii) e
(viii) referem-se a dispositivos de anlise, e os tpicos (i), (ii), (iv) e (v), respectivamente, a dispositivos de sntese, classes de linguagens, operaes
e propriedades das classes de linguagens.
claro que uma simples relao de tpicos,
como essas da ACM e da SBC, no precisa, necessariamente, ser adotada como roteiro definitivo para a elaborao de contedos programticos ou de materiais didticos. Mas provvel
que uma organizao de tpicos alternativa, compatvel com os princpios anteriormente apresentados, talvez represente uma contribuio importante para aqueles que buscam em tais documentos referncias para a preparao dos seus trabalhos.
Tambm nos livros-texto da rea encontram-se
situaes semelhantes. Esse o caso de [9], considerado, at os dias hoje, umas das principais referncias sobre o assunto.
Seus captulos so: (i) preliminares; (ii) autmatos finitos e expresses regulares; (iii) propriedades dos conjuntos regulares; (iv) gramticas livres de contexto; (v) autmatos de pilha; (vi) propriedades das linguagens livres de contexto; (vii)
Mquinas de Turing; (viii) indecidibilidade; (ix)
Hierarquia de Chomsky; (x) linguagens livres de
contexto determinsticas; (xi) propriedades de fechamento das famlias de linguagens. O livro segue com outros captulos.
Alm de comentrios similares aos feitos anteriormente para os currculos de referncia da ACM
e da SBC, possvel fazer alguns comentrios adicionais acerca dessa organizao.
Os captulos (ii) e (iii) tratam da classe das
linguagens regulares, mas isso no fica explcito
atravs de uma simples inspeo do sumrio. O
mesmo ocorre com os captulos (iv), (v), (vi) e
(x), que tratam da classe das linguagens livres de
contexto. No caso do captulo (ii), os dispositivos de sntese e anlise so discutidos de forma
conjunta. No caso das linguagens livres de contexto, eles so discutidos em captulos separados
(respectivamente os captulos (iv) e (v)).
J o captulo (vii) serve para introduzir as M-
Vol. I
No. 1
ISSN 2176-7998
32
que pode contribuir de forma decisiva para a motivao, reteno e aprendizado dos alunos.
Vol. I
No. 1
Referncias
[1] Sociedade Brasileira de Computao,
Currculo de Referncia da SBC para
Cursos de Graduao em Computao e
Informtica, 1999. Disponvel em http:
//www.sbc.org.br/index.php?language=
1&subject=28&content=downloads&id=82.
[2] A. N. Chomsky, Three models for the description of language, Information Theory,
IRE Transactions on, vol. 2, no. 3, pp. 113
124, 1956.
[3] M. V. M. Ramos, J. J. Neto, and I. S. Vega,
Linguagens formais: teoria, modelagem e
implementao. Bookman, 2009. ISBN:
9788577804535.
[4] A. Salomaa, Formal languages. Academic
Press Professional, Inc. San Diego, CA, USA,
1987.
[5] J. J. Neto and M. E. S. Magalhes, Reconhecedores sintticos-uma alternativa didtica para uso em cursos de engenharia,
in XIV Congresso Nacional de Informatica,
pp. 140148, 1981.
[6] J. J. Neto, Solving complex problems efficiently with adaptative automata, in Conference on the Implementation and Application
of Automata - CIAA 2000, CIAA, London,
Ontario, Canada, 2000.
[7] JFLAP.
Disponvel em http://www.
jflap.org/. Acessado em setembro de 2008.
[8] Computing curricula 2001, J. Educ.
Resour. Comput., 2001.
Disponvel em
http://www.computer.org/portal/cms_
docs_ieeecs/ieeecs/education/cc2001/
cc2001.pdf.
ISSN 2176-7998
33
Mini-currculo do autor: Marcus Vincius Midena Ramos Engenheiro eltrico (1982) e mestre em sistemas digitais (1990) pela
Escola Politcnica da Universidade de So Paulo. Atuou em diversas instituies de ensino superior, entre pblicas, privadas e
confessionais, em So Paulo e em Recife, em cursos de Bacharelado em Cincia da Computao, Engenharia da Computao e
outros relacionados. Sua rea de atuao abrange as disciplinas de
Linguagens Formais e Autmatos, Teoria da Computao, Compiladores e Linguagens de Programao. Atualmente professor
assistente do colegiado de Engenharia da Computao da Universidade Federal do Vale do So Francisco, sediada em Petrolina,
Pernambuco.
Vol. I
No. 1
34
ISSN 2176-7998