COMPUTAÇÃO NA ESCOLA
Autómatos
Se pesquisares por “autómato” no Google Imagens, vais deparar-te com imagens de bonecos assustadores feitos de metal e rodas dentadas; aparelhos que parecem o cruzamento de um router com um micro-ondas; robôs gigantes que se assemelham a Transformers...
ENSICO(Texto)
Os primeiros autómatos surgiram há cerca de 250 anos, com o despertar da Revolução Industrial. Estávamos no século XVIII e conceitos de programação e robôs praticamente não figuravam nas mais criativas obras de ficção científica.
Quem foi o espertinho que se lembrou de designar todas estas coisas pelo mesmo nome?! Para respondermos a esta pergunta, precisamos de falar de um outro (outro!) tipo de autómatos, que não habitam o mundo físico, mas sim o mundo intelectual. Lubrifica as tuas engrenagens mentais e vem descobrir estas criaturas fantásticas connosco! 🤩
No contexto das Ciências da Computação, um autómato é uma máquina abstrata que pretende modelar o funcionamento de uma máquina ou mecanismo real. Por exemplo, as chaves do teu magnífico Ferrari são constituídas por vários botões, incluindo um para trancar o carro e outro para o destrancar.
E, como é evidente, o carro pode estar aberto ou fechado. O que acontece ao estado do carro quando pressionas estes botões? Há quatro possibilidades:
O autómato que modela esta situação é simplesmente um grafo etiquetado (recorda o que já aprendeste no artigo sobre GRAFOS) com dois estados – ABERTO e FECHADO – e dois tipos de transições – trancar e destrancar – como a figura abaixo ilustra:
Por exemplo, a seta com etiqueta “destrancar” que vai do estado FECHADO para o estado ABERTO indica que se o carro estiver fechado e clicares no botão “destrancar”, então ele vai ficar aberto.
Eis que surge a questão habitual: como podemos transmitir a informação contida neste diagrama a um computador? É simples, basta considerarmos uma sequência (chamemos-lhe “ferrari”) em que cada elemento é um par do tipo ((estado 1, estado 2), transição):
A título ilustrativo, o par ((ABERTO,FECHADO),trancar) indica que o Ferrari passa do estado aberto para o estado fechado ao pressionar o botão de trancar. É intuitivo, certo? 😊
Por muito simples que possam parecer, os autómatos servem para modelar praticamente todas as coisas que “funcionam sozinhas”! Isto significa que os autómatos secretamente governam o nosso mundo e estão infiltrados em micro-ondas, máquinas de lavar louça, semáforos, elevadores... Aliás, o computador ou smartphone que estás a utilizar neste momento é modelado, de forma abstrata, por um autómato bastante sofisticado denominado por Máquina de Turing.
Podemos mesmo dizer que sem autómatos não haveria Computação! 😱
A personagem de um certo jogo pode estar parada, a saltar ou a correr. O autómato abaixo ilustra a mecânica desse jogo, sendo que as transições correspondem aos botões que o jogador pode pressionar no seu comando da PlayStation. És capaz de descobrir uma sequência de 5 botões que levem a personagem do estado “Parar” ao estado “Correr”?
Se já estás rendido ao poder dos autómatos, então agora é que vais ficar de queixo caído... Sabias que, quando dás instruções por voz ao teu telemóvel (ou falas com a Siri ou com a Alexa), é graças aos autómatos que ele compreende aquilo que queres dizer? É verdade, estes teus novos amigos desempenham um papel importantíssimo no que diz respeito ao processamento de linguagens humanas e reconhecimento de comandos por voz. Como deves imaginar, trata-se de uma tarefa bastante complexa e que ainda estamos longe de concretizar na perfeição. Ainda é provável que o teu telemóvel ache que estás a dizer “beijo” em vez de “queijo”, o que pode dar azo a situações bastante constrangedoras... 😳
Para ficares com uma ideia do papel que os autómatos desempenham no reconhecimento de linguagens, vamos apresentar-te uma língua bizarra conhecida por Bcês. Na língua bcesa, todas as palavras obedecem às seguintes regras:
Por exemplo, a palavra ACABA não é uma palavra válida pois a letra C que surge na 2ª posição não é precedida por nenhum B; já a palavra ABCAB é válida, assim como AAA ou BBCB. Ao lado encontras o autómato que reconhece esta estranha língua bcesa.
Calma, não te assustes com o seu aspeto! Passamos a explicar.
Há três estados verdes, S1, S2 e S3, que são os estados “SIM”, e um único estado vermelho (N), que é o estado “NÃO”.
Cada palavra deve começar a ser lida a partir do estado S1, para o qual aponta uma setinha a laranja. Este estado é designado por estado inicial do autómato.
Ao lermos uma palavra, se acabarmos num estado verde (S1, S2 ou S3), então estamos perante uma palavra válida na língua bcesa; se acabarmos no estado vermelho (N), essa palavra é inválida.
Por exemplo, a palavra AC é inválida pois a leitura de um C imediatamente após um A coloca-nos no estado vermelho; de facto, qualquer palavra começada por AC será inválida: uma vez chegados ao estado vermelho, não há forma de regressarmos a um estado verde! Por outro lado, como mencionamos acima, a palavra ABCAB já é bcesa, uma vez que, ao ser lida, os estados percorridos são S1, S3, S2, S1, S3:
Assim, como a leitura de ABCAB termina no estado S3, que é verde, trata-se de uma palavra escrita de forma correta na língua bcesa 😄
Como podes ver, os autómatos desempenham um papel fulcral quer a nível de hardware, quer a nível de software. Por isso, se quiseres fabricar um robô que te leve o pequeno-almoço à cama ou inventar uma língua secreta para comunicares com os teus amigos, já sabes a quem recorrer! 😉
Colaboração de Mano a Mano Graphic Design Club
[Às quintas-feiras, o PÚBLICO na Escola dá espaço às ciências da computação, numa parceria com a ENSICO - Associação para o Ensino da Computação.]
No vídeo de hoje, a Embaixadora da ENSICO e Master Teacher, Inês Guimarães (a conhecida Youtuber MathGurl), explora o mundo dos autómatos - modelos abstratos de máquinas que secretamente governam a Computação... 😱
Assiste para ficares a saber ainda mais sobre autómatos e para te inspirares a criar uma máquina que, talvez um dia, possa resolver um problema concreto na sociedade.
1. Quem está a seguir que pessoas no Instagram há mais tempo?
O Pedro é quem segue alguém (a Isabel) há mais tempo (desde 2016).
2. Qual é a pessoa mais popular?
A pessoa que tem mais seguidores é a Isabel.
3. Que pessoas são seguidas há menos tempo por alguém?
O Rui, a Joana e a Isabel (começaram a ser seguidos apenas em 2021).
4. Se a Isabel decidir abandonar o Instagram, como é que fica a sequência ‘instagram’? E o respetivo grafo?
1. A sequência que representa o grafo no computador é:
2. A obra tem a duração total de 5+4+3 = 12 semanas.
3. Não, uma vez que as paredes demoram 5 semanas a ser erguidas e as portas demoram apenas 1 semana a ser feitas.
Gerir notificações
Estes são os autores e tópicos que escolheu seguir. Pode activar ou desactivar as notificações.
Gerir notificações
Receba notificações quando publicamos um texto deste autor ou sobre os temas deste artigo.
Estes são os autores e tópicos que escolheu seguir. Pode activar ou desactivar as notificações.
Notificações bloqueadas
Para permitir notificações, siga as instruções: