Buscar

Inteligência Artificial e Robótica - Aula2

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 25 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 25 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 25 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

AULA 2 
 
 
 
 
 
 
 
 
 
INTELIGÊNCIA ARTIFICIAL E 
ROBÓTICA 
 
 
 
 
 
 
 
 
 
Prof. Luciano Frontino de Medeiros 
 
 
2 
TEMA 1 – AGENTES INTELIGENTES 
A Robótica é uma ciência pragmática por princípio. Os pesquisadores de 
robôs — sejam empresas fabricantes de robôs industriais, sejam crianças 
construindo seguidores de linha — precisam lidar com conhecimentos de maneira 
experimental, levando em consideração conceitos e ideias consolidadas em 
outras áreas, além de empreender por tentativa e erro, tendo em mente certa 
finalidade. 
Em primeiro lugar, um robô deverá trabalhar de forma autônoma. A 
autonomia considera que ele deverá estar atento a certos eventos ou condições 
existentes no ambiente em que deverá executar suas tarefas. Deverá “pensar” 
sobre essas condições e depois “tomar decisões”, sem a interferência de um ser 
humano, pressupondo um comportamento autônomo. 
Assim, a tarefa do construtor de robôs é, de certa forma, provê-lo de uma 
certa “consciência” e fazê-lo agir conforme regras estabelecidas em seu projeto. 
A Robótica herda da Inteligência Artificial o conceito de agente inteligente. 
De forma mais geral do que um robô, um agente precisa executar tarefas de forma 
autônoma, testando as condições do ambiente e executando ações conforme um 
programa estabelecido, o que se aplica tanto para um robô quanto para um 
software que não esteja embutido em um artefato real. 
Conforme Russell e Norvig (2004), um agente é um artefato equipado com 
sensores que têm a capacidade para perceber o ambiente e agir sobre ele por 
meio de atuadores. Em comparação com o ser humano, os sensores são 
equivalentes aos olhos, ouvidos, nariz e o tato. Os atuadores podem equivaler às 
mãos, às pernas, à boca e às demais partes ativas de nossa anatomia. 
Hoje em dia os robôs são construídos tendo sensores, tais como 
câmeras, dispositivos de infravermelho, de som e ultrassom, de gás, de 
temperatura e de umidade, dentre outros. Como atuadores, podemos 
relacionar os servomotores, motores de passo, pistões hidráulicos e 
relês. Mas um agente precisa também processar os sinais provenientes 
dos sensores para efetuar alguma ação que seja caracterizada como 
inteligente sobre o seu ambiente (Medeiros, 2018, p.35). 
Por exemplo, um robô seguidor de linha tem sensores para detectar as 
variações de luz de uma trilha de cor diferente do chão por onde deverá se 
movimentar (conforme a Figura 1). 
Tal sensor pode ser baseado em um componente denominado light 
dependent resistor — LDR (resistor dependente de luz) ou em um conjunto de 
 
 
3 
emissor-receptor de luz infravermelha. Por meio da movimentação e das 
variações de luz, o robô tem em seu programa um conjunto de regras que permite 
continuar o seu movimento sobre a trilha. Como atuadores, o robô possui motores 
para dar velocidade e ajustar a direção do movimento conforme a detecção do 
trajeto. 
Figura 1 – Exemplo de um robô seguidor de linha 
 
Crédito: MASSIMO PARISI/SHUTTERSTOCK 
De forma geral, um agente inteligente interage com o seu ambiente da 
maneira que será mostrada na Figura 2. Por meio dos sensores, um agente tem 
percepções do ambiente. 
Os sensores podem atuar de forma combinada para caracterizar uma 
percepção de algo acontecendo ao redor deles. Entretanto, a percepção do 
ambiente está sujeita a mudanças, possuindo um aspecto temporal, sendo 
necessário considerar, também, a sequência de percepções. 
Essa sequência é processada internamente pelo agente. Conforme Russel 
e Norvig (2004, p.34), “a escolha da ação de um agente em qualquer instante 
dado pode depender da sequência inteira de percepções observadas até o 
momento”. 
 
 
 
4 
Figura 2 – Interação do agente inteligente com o ambiente e seus elementos 
internos 
 
Fonte: Russel; Norvig, 2004. 
O processamento dos sinais sensoriados pelo agente para a execução de 
ações tem uma similaridade bastante grande com o conceito função da 
Matemática. Denomina-se função do agente o mapeamento das possíveis ações 
por meio de sequências de percepções disponíveis na memória do referido 
agente, de acordo com Russel e Norvig (2004). 
A tarefa nobre do projetista de robôs está na determinação da função do 
agente. 
Para robôs que executarão tarefas simples, a função do agente pode ser 
bem determinada, e seu comportamento pode acondicionar um conjunto de ações 
bem definidas. Para outros robôs, a função do agente pode ser impossível de 
descrever de forma bem definida. 
Agentes que desenvolvam tarefas simples, como um robô aspirador, tem 
uma função de agente bem delimitada de forma a produzir um 
comportamento que pode ser aplicado a uma gama bem definida de 
ambientes sobre os quais pode fazer a limpeza. Por outro lado, um robô 
destinado a jogar xadrez representa um desafio, pois a quantidade de 
jogadas possíveis chega a valores astronômicos (aproximadamente 
10120 possibilidades – o número estimado de átomos no Universo chega 
a 1080). Dessa forma, um agente inteligente para o jogo de xadrez deve 
ter a sua função de agente limitada, de forma que não leve milhões de 
anos para fazer uma jogada, e que tenha memória suficiente para 
armazenar jogadas possíveis considerando um horizonte de poucas 
jogadas à frente (Medeiros, 2018, p.36). 
 
 
5 
A função do agente se trata de uma descrição abstrata, que pode ser feita 
utilizando diagramas ou outras simbologias que permitam representar o que o 
agente deve fazer. Por meio da função do agente, elabora-se o programa do 
agente, que é implementado de forma concreta e está comprometido com 
aspectos da arquitetura do agente, segundo Russel e Norvig (2004, p. 34). 
O programa se exprime na linguagem de programação utilizada para 
desenvolver o agente. Por exemplo, um robô baseado na plataforma Arduino pode 
utilizar a linguagem “C” ou mesmo a linguagem Scratch. 
Para ilustrar com outro exemplo, supõe-se um mundo de um robô aspirador 
bastante simples, composto de nove blocos nos quais ele pode se posicionar e 
identificar se existe sujeira ou não (conforme mostra a Figura 3). 
Os blocos são referenciados mediante linhas e colunas. Caso ele comece 
inicialmente no quadrado central, uma sequência de ações pode fazer com que o 
robô proceda a uma varredura e verifique se existe sujeira ou não em cada 
quadrado que for visitar, segundo Medeiros (2018). 
Figura 3 – Representação do ambiente de um robô aspirador 
 
Fonte: Medeiros, 2018, p. 37. 
Podem-se imaginar diferentes formas pelas quais o robô poderá visitar 
cada um dos blocos. Possuindo um sensor detector de sujeira e atuadores na 
forma de motores para auxiliar a movimentação, o robô pode se movimentar pelos 
blocos. Assim, diversas sequências de percepções podem ser obtidas. 
 
 
6 
Na Figura 4 está descrita uma sequência de percepções possível. Cada 
percepção é composta da posição de onde o robô se encontra, além do sinal 
proveniente do detector de sujeira. 
Conforme a definição, o robô deve levar em consideração os movimentos 
feitos nessa sequência, para que se atinja sua finalidade geral — que é a limpeza 
de todo o seu “mundo”. 
Essa sequência pode ser combinada com a representação do ambiente do 
agente, conforme ilustra a Figura 5. 
Quadro 1 – Descrição da função do agente para o exemplo do robô aspirador 
 
Fonte: Medeiros (2018, p.38). 
 
 
 
7 
Figura 4 – Representação do ambiente do robô aspirador com o mapeamento de 
ações conforme a sequência de percepções 
 
Fonte: Medeiros, 2018, p. 38. 
Como constatado, existem diversas formas pelas quais o robô aspirador 
pode executar a sua tarefa. Apesar de ele conseguir deixar o seu ambiente limpo, 
podemos nos questionar se o robô está sendo eficiente no desenvolver dessa 
atividade. 
Surge então as seguintes perguntas: existe uma maneira correta de o robô 
executar a tarefa? Existe um caminho pelo qual ele pode se movimentar de forma 
mínima para que o ambiente todoesteja limpo? 
Até agora não houve preocupação quanto a isso. Entretanto, à medida que 
a função do agente se torna mais complexa, tais questionamentos podem se 
tornar prioridade, dado que um robô poderá se movimentar de forma interminável, 
sem deixar o ambiente limpo (por exemplo, o robô poderia entrar em loop, saindo 
do centro para um bloco lateral, para um bloco diagonal, para outro lateral 
adjacente e voltar novamente ao centro, assim sucessivamente). 
O agente — além de cumprir a tarefa (ou seja, ser eficiente) — precisa ser 
também racional: aquele que, por meio do resultado das suas ações, possa obter 
o maior sucesso. 
Desse modo, é preciso considerar algum método para a quantificação do 
sucesso de um certo agente, segundo Russel e Norvig (2004, p. 36) “para cada 
 
 
8 
sequência de percepção possível, um agente racional deve selecionar uma ação 
que se espera venha a maximizar sua medida de desempenho, dada a evidência 
fornecida pela sequência de percepções e por qualquer conhecimento interno do 
agente”. 
Portanto, é necessária uma medida (ou um conjunto de medidas) de 
desempenho, para que se possa aferir a racionalidade do agente. 
De acordo com Russel e Norvig (2004, p. 36), a racionalidade irá depender 
em qualquer momento de quatro fatores. Vejamos: 
1. a medida de desempenho como critério para obtenção do sucesso da 
tarefa; 
2. o conhecimento prévio do agente em relação ao ambiente; 
3. as ações que o agente pode executar; 
4. a sequência de percepções que o agente tem até o momento. 
No caso do robô aspirador, uma medida de desempenho poderia ser a 
quantidade de quadrados limpos em um período de tempo ou por movimentação. 
O ambiente em que o robô executa a sua tarefa é conhecido, mas a sujeira 
pode aparecer de maneira variável nos blocos. O sensor de posição pode 
identificar o bloco em que ele se encontra (usando um leitor de posição) e, assim, 
averiguará se existe sujeira ou não — por meio de uma câmera ou de algum 
sensor que identifique a diferença de um bloco limpo ou sujo. 
Portanto, o robô aspirador poderá ser classificado como um agente 
racional. 
TEMA 2 – TIPOS DE AMBIENTES 
Devido à importância que o ambiente desempenha no papel de um agente, 
um projetista de robôs precisa saber caracterizar adequadamente como tal 
ambiente é. Dessa forma, é um dos elementos essenciais para a criação de um 
agente racional. 
Russell e Norvig (2004, p. 39) apontam que uma das primeiras atividades 
na modelagem de um agente é a definição do ambiente de tarefa. Este é composto 
de quatro elementos: desempenho, ambiente, atuadores e sensores. No inglês, 
assume o acrônimo PEAS (Performance, Environment, Actuators and Sensors). 
 
 
9 
No Quadro 2 estão alguns exemplos de caracterização do PEAS para 
diferentes situações: sistema de diagnóstico médico, jogo de xadrez, tutor 
inteligente e robô de solda. 
Quadro 2 – Exemplos de agentes racionais e as descrições do PEAS 
Tipo de Agente Medida de desempenho Ambiente Atuadores Sensores 
Sistema de 
diagnóstico 
médico 
Paciente 
saudável, 
minimizar 
custos. 
Quarto de 
hospital, 
paciente, 
equipe. 
Mostrar 
perguntas, 
testes, 
diagnósticos, 
tratamentos. 
Entrada por 
teclado, voz, 
descoberta de 
informação. 
Sistema de 
xadrez 
Calcular a 
jogada ótima, 
ganhar a partida. 
Tabuleiro 8x8, 
peças de 
xadrez, 
posições 
iniciais, jogadas 
possíveis. 
Braço articulado 
para mover as 
peças. 
Câmera para ver 
as posições das 
peças. 
Tutor 
inteligente 
Maximizar as 
notas dos alunos 
nos testes. 
Área de 
interação do 
software, chat 
de mensagens. 
Mostrar 
conteúdos, exibir 
exercícios. 
Entrada pelo 
teclado 
Robô de solda Efetuar os 
pontos de solda 
no tempo 
previsto, 
qualidade da 
solda. 
Linha de 
montagem. 
Braço articulado 
para 
movimentos no 
espaço, ponteira 
de solda. 
Identificação de 
novo objeto a 
ser soldado, 
quantidade de 
solda, 
temperatura de 
solda. 
Fonte: Adaptado de Russell; Norvig, 2004, p. 40. 
Dentro do PEAS, os ambientes ainda podem receber diferentes 
classificações conforme uma série de critérios, de acordo com Russel e Norvig 
(2004, p. 41-42): 
• Completamente observável x parcialmente observável: se os sensores 
acessarem de forma completa os estados do ambiente em cada instante, o 
espaço que o rodeia será completamente observável. Mas se houver ruído 
sensoriamento impreciso ou lacunas, será parcialmente observável. Por 
exemplo, um jogo de xadrez é completamente observável. Já um sistema 
de busca na internet é parcialmente observável. 
• Determinístico x estocástico: caso o estado seguinte seja 
completamente determinado mediante o estado atual — e pela ação 
executada pelo agente —, o ambiente será determinístico ou estocástico. 
Caso o sistema seja determinístico, porém apresentando elementos 
estocásticos, o ambiente poderá ser estratégico. Por exemplo, o robô 
 
 
10 
aspirador de pó é determinístico; um carro com direção autônoma é 
estocástico. 
• Episódico x sequencial: em um ambiente episódico o agente experimenta 
os eventos de forma atômica, com os episódios começando a partir da 
percepção do agente, bem como pela execução de uma única ação. No 
caso de um ambiente sequencial, existe a dependência dos estados atuais 
com os estados anteriores. Por exemplo, um jogo de xadrez é sequencial. 
Um robô aspirador de movimento aleatório é episódico. 
• Estático x dinâmico: um ambiente que se altera enquanto o agente 
executa a tarefa é dinâmico. Caso o ambiente não se altere, será estático. 
No entanto, pode haver situações em que os ambientes sejam 
semidinâmicos. Por exemplo, um jogo de xadrez é estático. Já um carro 
com direção autônoma é dinâmico (ou semidinâmico, considerando as 
rotas predefinidas). 
• Discreto x contínuo: Depende da forma com que o tempo decorre, do 
estado do ambiente, das percepções e das ações. Uma sequência de 
estados discretos muda aos “saltos” de um estado para outro. Uma 
sequência de estados contínua, por sua vez, muda de maneira suave. Por 
exemplo, um jogo de xadrez é considerado discreto, ao passo que um 
sistema de refrigeração de temperatura pode ser contínuo. 
• Individual x multiagente: refere-se à quantidade de agentes utilizados 
para a resolução de um problema. Caso exista somente um agente, 
significa que é individual. Caso contrário, o sistema será considerado 
multiagente. Por exemplo, um jogo de xadrez pode ser um agente 
individual. No caso de um agente jogar contra o outro, é multiagente. Já um 
sistema de busca na internet pode ser multiagente por utilizar vários bots 
que encontram e organizam a informação. 
No Quadro 3 estão alguns exemplos a respeito da caracterização da 
natureza do ambiente. 
 
 
 
11 
Quadro 3 – Alguns exemplos de caracterização do ambiente de tarefa 
 
Fonte: Russell; Norvig, 2004, p. 44. 
TEMA 3 – TIPOS DE AGENTES 
O estudo do tipo de agente, em vez da caracterização do ambiente, 
preocupa-se com aspectos internos deste. Como foi visto, deve-se agora lidar com 
o programa do agente, de acordo com a finalidade que ele terá. 
O agente deverá ter uma arquitetura que permita implementar o programa 
do agente, por meio de um conjunto de sensores e atuadores, conectados a um 
processador que irá executar o programa do agente, consoante Russel e Norvig 
(2004, p. 44). 
Portanto, o mesmo conceito pode ser aplicado a robôs. 
Conforme a sua arquitetura, um agente poderá ser classificado em cinco 
tipos, de acordo com Russel e Norvig (2004, p. 48): 
• Agentes reativos simples; 
• Agentes reativos baseados em modelo; 
• Agentes baseados em objetivos; 
• Agentes baseados na utilidade; 
 
 
12 
• Agentes com aprendizagem. 
3.1 Agentes reativos simples 
É o tipo mais simples de agente. O programa do agente sempre irá mapear 
as ações com base na percepção atual, descartando a sequência de percepções 
anteriores. 
A implementação de programas para esse tipo de agente pode serfeita 
utilizando-se regras de produção ou regras de lógica se-então. Elas têm uma 
característica determinística e, por meio de teste de condições, serão executadas 
ações, conforme o conjunto de regras que estão implementadas. 
SE <condição> ENTÃO <ação> 
O robô aspirador do exemplo mencionado anteriormente poderá conter 
quatro regras que irão gerar o comportamento desejado para o robô, segundo 
Medeiros (2018, p. 44). 
1. SE estado = Sujo ENTÃO Aspirar 
2. SE estado = Limpo ENTÃO faça movimento = SIM SENÃO faça movimento 
= NÃO 
3. SE faça movimento = SIM E quadrado na frente = SIM ENTÃO direção do 
movimento = FRENTE 
4. SE faça movimento = SIM E quadrado na frente = NÃO ENTÃO direção do 
movimento = DIREITA 
Nesse sistema de quatro regras, a primeira se encarrega da limpeza do 
quadrado por meio da variável estado. 
Caso o quadrado esteja limpo, a variável faça movimento recebe o valor 
SIM, o que é feito pela segunda regra. Com isso, as regras 3 e 4 ficam habilitadas 
para operar. Assim, é testada a variável quadrado na frente (ou seja, armazena o 
valor do sensor que identifica o quadrado). 
Se houver um quadrado à frente, a variável de ação direção do movimento 
recebe o valor FRENTE. 
Caso não houver (ou seja, o quadrado estará à direita), a variável direção 
de movimento recebe o valor DIREITA. 
 
 
13 
De maneira geral, a arquitetura de um agente reativo simples é mostrada 
na Figura 5. Boa parte dos robôs mais simples que podem ser construídos em 
robótica educacional poderá contar com essa arquitetura, o que facilitará a 
implementação por parte dos alunos. 
Por meio das percepções do ambiente, o agente se pergunta: “qual é a 
aparência do mundo?”. Tal aparência irá consistir em um conjunto de condições 
que irão “disparar” as regras que conseguirem atender a elas, e assim a ação a 
ser executada será selecionada e levada aos atuadores. 
Figura 5 – Arquitetura para um agente reativo simples 
 
Fonte: Adaptado de Russell; Norvig, 2004, p. 47. 
3.2 Agentes reativos baseados em modelo 
No caso de um ambiente ser caracterizado como observável parcialmente, 
é necessário que o robô mantenha estados internos que dependam da sequência 
de percepções para atuar de maneira mais efetiva. Por exemplo, se o robô 
aspirador tiver uma memória em que possa armazenar um histórico de 
percepções, ele terá informação em quais blocos apareceram mais sujeira do que 
outros, podendo começar os movimentos por tais blocos. 
Um agente que tem o conhecimento de “como o mundo funciona” possui 
um modelo de mundo. Um agente que tenha um modelo de mundo é denominado 
agente reativo baseado em modelo (Figura 6). 
 
 
 
14 
Figura 6 – Arquitetura para um agente reativo baseado em modelo 
 
Fonte: Adaptado de Russell; Norvig, 2004, p. 49. 
3.3 Agentes baseados em objetivos 
Apenas o conhecimento do estado atual do ambiente pode não ser o 
suficiente para que um robô decida o que fazer. 
Além de saber a descrição do estado atual e da sequência de percepções 
obtidas até o momento, pode ser necessária a definição de algum objetivo 
relacionado a situações ou a cenários desejados, consoante Russel e Norvig 
(2004, p. 49). 
A tomada de decisão baseada em objetivos é diferente do uso de regras 
de produção, pois a primeira está envolvida em uma situação a ser alcançada, 
uma situação de futuro. 
O agente então se pergunta: “o que vai acontecer se eu fizer essa ação ou 
aquela outra?” ou “isso irá me fazer feliz?”. Tais informações nos agentes reativos 
não são representadas de maneira explícita, graças ao mapeamento direto das 
percepções para as ações (Figura 7). 
Para Russel e Norvig (2004, p. 49), ainda que o agente baseado em 
objetivos possa parecer menos eficiente, ele tende a ser mais flexível. 
Voltando ao exemplo do robô aspirador, pode ser colocado em seu projeto 
um objetivo que leve em conta o custo de operação ou de consumo de energia. 
Com a execução contínua, o robô pode antecipar a frequência com que as 
limpezas são feitas, e nos intervalos ele pode entrar em modo de economia de 
energia para alcançar esse objetivo, segundo Medeiros (2018, p. 46). 
 
 
15 
Figura 7 – Esquema de um agente baseado em objetivo 
 
Fonte: Adaptado de Russell; Norvig, 2004, p. 50. 
3.4 Agentes baseados em utilidade 
Como saber se um agente está sendo útil por meio de uma medida? Até 
agora, os agentes anteriores não estavam preocupados com esse aspecto. Pode-
se especificar uma espécie de medida de utilidade: conforme a avaliação de uma 
função de utilidade, o agente ou o robô poderá tomar decisões mais adequadas 
(Figura 8). 
Pode ser que o robô tenha objetivos contraditórios e apenas alguns deles 
podem ser alcançados em dado momento. Ou pode haver vários objetivos, mas 
nenhum deles pode ser alcançado com alto grau de certeza, conforme lecionam 
Russel e Norvig (2004, p. 50). 
Por exemplo, um robô seguidor de linha pode conter um sensor que permite 
identificar se existe um bloqueio intermitente na trilha para a execução do 
movimento. Portanto, além da avaliação das regras conforme o sensoriamento da 
trilha, deverá também monitorar a todo momento se há algum objeto bloqueando 
a trilha. No caso de haver mais de uma trilha a ser percorrida, o robô poderá 
executar aquela em que uma função de avaliação minimize o percurso ou em que 
maximize o alcance do objetivo. 
Figura 8 – Esquema de um agente baseado em utilidade 
 
 
16 
 
Fonte: Adaptado de Russell; Norvig, 2004, p. 51. 
3.5 Agentes com Aprendizagem 
O agente com aprendizagem permite ir além do conhecimento prévio na 
construção do agente, dotando-o de mecanismos para que possa aprender na 
experiência com o ambiente, tornando-se mais competente ao longo da sua 
operação (Figura 9). 
Conforme ensinamentos de Russel e Norvig (2004, p. 51-52), um agente 
de aprendizado pode ser dividido em quatro elementos: 
• Elemento de desempenho: é a parte considerada até agora sobre 
agentes, que recebem as percepções e decide qual ação executar. 
• Crítico: elemento do agente que informa como ele está se comportando 
em relação ao seu padrão constante de desempenho. 
• Elemento de aprendizado: utiliza a informação proveniente do crítico para 
modificar o elemento de desempenho em direção a um melhor 
funcionamento no futuro. 
• Gerador de problemas: elemento responsável para sugestão de novas 
regras e ações que podem levar a novas experiências. 
 
 
 
17 
Figura 9 – Esquema de um agente com aprendizagem 
 
Fonte: Adaptado de Russell; Norvig, 2004, p. 52. 
TEMA 4 – AGENTE DE RESOLUÇÃO DE PROBLEMAS POR BUSCA 
Os agentes de resolução de problemas precisam tomar decisões sobre os 
próximos passos, de modo a encontrar as sequências de ações que resultam em 
estados que são desejáveis, segundo Russel e Norvig (2004, p. 62). Por exemplo, 
um problema recorrente é o de roteirização. Esse problema é característico de 
várias áreas tais como a área de logística e turismo. Quando se tem um conjunto 
de locais que precisam ser visitados considerando a existência de rotas definidas 
para esses locais, o objetivo é como percorrer todos eles considerando um custo 
mínimo ótimo. Esse problema foi retratado na Inteligência Artificial como o 
problema do viajante. 
Aplicando o problema a um mapa rodoviário, ilustrado na Figura 10, o 
objetivo é sair da cidade de Foz do Iguaçu e chegar à cidade de Curitiba. 
Dessa forma, o agente deve escolher uma rota ou um curso de ação que 
permita chegar ao destino, e aqueles que não permitem chegar em um tempo 
considerado aceitável possam ser rejeitados. Assim, a formulação de objetivos se 
baseia na situação atual do agente e na medida de desempenho do mesmo, 
configurando o primeiro passo para a resolução do problema. 
 
 
 
18 
Figura 10 – Mapa rodoviário utilizado no texto 
 
Fonte: Medeiros, 2018, p. 54. 
Se o agente possui um mapa, ele pode obter informações sobre os estados 
em que sepossa entrar e quais as ações ele pode perfazer. 
O agente considera então as possíveis rotas a partir das cidades 
consideradas. Dessa forma, um agente que possua uma série de opções 
imediatas de valor desconhecido pode decidir o que fazer avaliando 
primeiro as diferentes sequências de ações possíveis que irão levar a 
estados de valor conhecido, tendo condições de escolher a melhor 
sequência. O processo de procurar esta sequência é denominado de 
busca (Russel; Norvig, 2004, p. 62). 
Um algoritmo de busca recebe em sua entrada um problema e apresenta 
na sua saída uma solução, descrita sob a forma de uma sequência de ações 
definidas. Por meio da obtenção da solução, as ações recomendadas por ela são 
colocadas em execução. O algoritmo para a resolução de problemas simples pode 
ser então descrito nos seguintes passos, segundo os dizeres de Russel e Norvig 
(2004, p. 63): 
• Formulação do objetivo e do problema; 
• Busca de uma sequência de ações que resolvem o problema; 
• Execução das ações uma por uma. 
Quando a sequência se completa, ele formula outro objetivo e então 
recomeça. É importante observar que na execução da sequência, o agente não 
leva em conta as percepções, na hipótese de que a solução que foi encontrada 
na busca sempre funcione. 
 
 
19 
Um problema pode ser definido de maneira formal em quatro componentes: 
• Um estado inicial: o estado no qual o agente começa. Por exemplo, se o 
agente do exemplo da viagem estiver em Foz do Iguaçu, o estado inicial 
pode ser descrito como origem (Foz do Iguaçu). 
• Uma função sucessor: dado um estado particular x, Sucessor(x) retorna 
um conjunto de pares ordenados <Ação Sucessor>, em que cada ação é 
uma das ações válidas no estado x, e cada sucessor pode ser alcançado 
partindo-se de x. Como exemplo, no caso do estado inicial ser Origem (Foz 
do Iguaçu), a função sucessor para o problema retornaria 
{<Destino(Cascavel), Origem(Foz do Iguaçu)>, 
<Destino(Pato Branco), Origem(Foz do Iguaçu)>} 
O estado inicial e a função denominada Sucessor definem o espaço de 
estados do problema, ou seja, o conjunto de todos os estados acessíveis 
tendo como partida o estado inicial. O espaço de estados representa um 
gráfico, em que os nós são os estados, e os arcos entre os nós são as 
ações. 
• O teste de objetivo: determina se um estado é um estado objetivo. O 
objetivo do exemplo é o estado final Origem(Curitiba). Em alguns casos, 
um objetivo pode ser definido como uma propriedade abstrata e não por 
um estado ou por um conjunto de estados específicos. Por exemplo, em 
um jogo de xadrez, o objetivo é alcançar o xeque-mate. 
• A função de custo: também chamada de função de custo de caminho, que 
atribui um custo numérico a cada caminho. O agente irá escolher, portanto, 
uma função de custo que irá significar a sua própria medida de 
desempenho. No caso do agente do exemplo, a função de custo seria a 
distância em quilômetros (Figura 11). Há, então, um custo de passo para ir 
de um estado a outro. 
Definidos os quatro elementos da formulação do problema, uma solução 
para um problema é um caminho que leva o agente desde o estado inicial até o 
estado objetivo. Considerando a qualidade da solução, a qual é medida pela 
função Custo, uma solução ótima é aquela que apresenta o menor custo entre 
todas as soluções possíveis, de acordo com Russel e Norvig (2004, p. 64). 
Figura 11 – Mapa com as distâncias em quilômetros do Estado do Paraná. 
 
 
20 
 
Fonte: Medeiros (2018, p.56). 
Os problemas a serem estudados na Inteligência Artificial podem ser 
divididos em miniproblemas (para ilustração de métodos de resolução) ou 
problemas do mundo real (geralmente não tendem a ter uma descrição concisa e 
exata). No Quadro 4, encontra-se a formulação do problema para o robô 
aspirador. 
Quadro 4 – Formulação do miniproblema do robô aspirador 
Robô Aspirador 
Formulação Descrição 
Estados O agente se posiciona em uma de 9 posições 
diferentes que podem conter sujeira ou não. A 
quantidade de espaços possíveis (contando que 
todos contenham sujeira) é de 9 x 2 estados mais 
2 do estado inicial resultando em 20 estados. 
Estado inicial Robô na posição (2,2) 
Função sucessor Gera os estados válidos resultantes da tentativa 
de ação (Para-frente, Para-direita, Aspirar). Ver 
na Figura 3. 
Teste de objetivo Verificar se todos os quadrados estão limpos 
Custo de caminho Cada passo custa 1 unidade; o custo do caminho 
é o número de passos. 
Para o miniproblema do robô seguidor de linha, o Quadro 5 mostra uma 
possível formulação. Nesse caso, é adotado como premissa que existe um início 
na trilha (que pode ser uma marcação na trilha de outra cor) e que o robô adote 
um movimento genérico para poder ficar sobre a trilha, caso esteja fora dela (por 
exemplo, adote um caminho aleatório até que esteja posicionado sobre a trilha). 
Quadro 5 – Formulação do miniproblema do robô seguidor de linha. 
 
 
21 
Robô Seguidor de Linha 
Formulação Descrição 
Estados O robô se posiciona em qualquer lugar no tablado 
onde se encontra a trilha a ser seguida. Ele pode 
estar em uma posição sobre a trilha ou fora dela. 
Estado inicial Robô em qualquer posição sobre o tablado onde 
se encontra a trilha. 
Função sucessor Aciona o motor esquerdo caso detecte que está à 
esquerda da trilha; aciona o motor direito caso 
detecte que está à direita da trilha. 
Teste de objetivo Verifica se alcançou o marco de início da trilha 
Custo de caminho Cada acionamento de um motor custa 1 unidade; 
o custo do caminho é o número de acionamentos 
do motor, relativo ao número de vezes em que 
esteve fora da trilha. 
Segundo Russell e Norvig (2004, p. 73), no caso de um agente de resolução 
de problemas por busca, a avaliação de desempenho de um algoritmo pode ser 
feita a partir de quatro aspectos: 
• Completeza: o algoritmo de busca oferece a garantia de encontrar uma 
solução quanto ela existir? 
• Otimização: a estratégia encontra a solução ótima? 
• Complexidade de tempo: quanto tempo é dispendido para encontrar 
uma solução? 
• Complexidade de espaço: quanto de memória é necessária para a 
execução da busca? 
TEMA 5 – ESTRATÉGIAS DE BUSCA 
A partir de um problema de busca formulado adequadamente, do qual não 
existe um algoritmo determinístico para a resolução, é necessário que o agente 
adote alguma estratégia para poder alcançar uma possível resolução. 
As estratégias de busca se dividem em duas classes: estratégias sem 
informação ou estratégias cegas e estratégias com informação ou busca 
heurística. As estratégias se diferenciam conforme a ordem de expansão dos nós 
da árvore de busca. 
As estratégias sem informação dividem-se em: 
• Busca em extensão ou amplitude; 
• Busca de custo uniforme; 
• Busca em profundidade; 
 
 
22 
• Busca em profundidade limitada; 
• Busca de aprofundamento iterativo; 
• Busca bidirecional. 
Apesar de haver vários tipos de estratégias, podemos destacar dois 
procedimentos principais: a busca em extensão (ou em amplitude) e a busca em 
profundidade. 
A busca em extensão (ou em amplitude) é uma estratégia simples em que 
o nó raiz é expandido inicialmente; posteriormente, os sucessores do nó raiz; 
depois, os sucessores dos sucessores do nó raiz e assim por diante, de acordo 
com as lições de Russell e Norvig (2004, p. 74). 
Figura 12 – Exemplo da busca em extensão de uma árvore binária simples. O 
marcador indica qual o é nó que será expandido 
 
A estratégia de busca em profundidade expande sempre o nó mais 
profundo na borda atual da árvore de busca. Na Figura 8 podemos ver como esse 
algoritmo se desenvolve. A busca prossegue até o nível mais profundo da árvore, 
em que não existem mais nós sucessores. Após visitar os nós mais profundos, a 
busca retorna ao nível mais raso que ainda possua nós não explorados, 
asseveram Russell e Norvig (2004, p. 76). 
Essas duas estratégias básicas formam a base para as outras estratégias 
de buscasem informação. 
 
 
23 
Figura 13 – Ilustração da busca em profundidade em uma árvore binária. Os nós 
que foram expandidos e não possuem descendentes na borda podem ser 
removidos da memória 
 
As estratégias de busca sem informação tendem a ser ineficientes na 
maioria dos casos. As que utilizam algum conhecimento específico do sistema 
podem ser uma opção mais eficiente. As estratégias de busca com informação 
podem contar com uma função de avaliação do problema (por exemplo, a 
distância entre cada cidade, no exemplo do mapa rodoviário) e uma função 
heurística (a distância em linha reta de cada cidade até o objetivo, isto é, Curitiba), 
segundo Medeiros (2018, p. 73). 
Dois tipos de estratégias de busca com informação são: 
• Busca gulosa; 
 
 
24 
• Algoritmo A* (A — estrela). 
A busca gulosa é uma estratégia que leva em consideração apenas a 
função heurística. Nesse caso, o passo seguinte será aquele em que for 
apresentado o valor da função heurística de menor custo. No caso do mapa 
rodoviário, será levada em consideração apenas a distância em linha reta de cada 
cidade, conforme expõe Medeiros (2018, p. 74). 
A busca A* combina a função de avaliação e a função heurística. No caso 
de a função heurística atender a certas condições, essa estratégia é considerada 
completa e ótima. Completa porque sempre encontrará uma solução, e ótima pois 
a solução que será encontrada é a melhor de todas, leciona Medeiros (2018, p. 
75). 
 A busca A* é bastante utilizada em jogos para que um avatar percorra uma 
distância até encontrar um jogador oponente. Em Robótica, a busca A* pode ser 
utilizada para trajetórias de robôs e a resolução de puzzles, tais como o cubo de 
Rubik. 
 
 
 
25 
REFERÊNCIAS 
MATARIC, J. M. Introdução à robótica. São Paulo: UNESP/Blucher, 2014. 
MEDEIROS, L. F. de. Inteligência artificial aplicada: uma abordagem 
introdutória. Curitiba: InterSaberes, 2018. 
PAPERT, S. A máquina das crianças: repensando a escola na era da 
informática. Porto Alegre: ed. Artes Médicas, 1994. 
RESNICK, M. et al. Scratch: programming for all. Communications of the ACM, 
v. 52, n. 11, p. 60–67, Nov. 2009. 
RUSSEL, S.; NORVIG, P. Inteligência artificial. Tradução da 2. ed. Rio de 
Janeiro: Campus, 2004. 
SANTOS, I. Contribuição da robótica como ferramenta pedagógica no ensino 
da matemática no terceiro ano do ensino fundamental. 161 f. Dissertação 
(Mestrado Profissional em Educação e Novas Tecnologias) – Centro Universitário 
Internacional UNINTER, Curitiba, 2017. 
ZILLI, S. do R. A robótica educacional no ensino fundamental: perspectivas e 
práticas. 89 f. Dissertação (Mestrado em Engenharia de Produção) – Universidade 
Federal de Santa Catarina, Florianópolis, 2004.

Outros materiais