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”?

RECONHECIMENTO DE LINGUAGENS

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.]




O MUNDO DOS AUTÓMATOS

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.

Resolução dos Grafos

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.