Buscar

Inteligência Artificial

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 80 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 80 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 80 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

- -1
INTELIGÊNCIA ARTIFICIAL APLICADA A 
JOGOS DIGITAIS
APRESENTAÇÃO
- -2
BEM VINDO(A) À DISCIPLINA ONLINE: INTELIGÊNCIA ARTIFICIAL APLICADA A JOGOS DIGITAIS
A construção de uma entidade com capacidades humanas em especial a inteligência, sempre fez parte dos
sonhos da humanidade. Pode-se observar esse interesse em diversos registros históricos que falam de
autômatos e personagens místicos criados pelo homem. Personagens como Frankenstein de Mary Shelley ou o
Robô da obra (Eu Robô) de Isaac Asimov faziam parte do imaginário humano, até então classificados como ficção
científica, demonstrando um sentimento ambíguo, de fascínio e de medo, em relação ao que viria a ser a
Inteligência Artificial.
A Inteligência Artificial é um ramo da ciência da computação, que por um lado procura estudar e compreender o
fenômeno da inteligência e do pensar, e por outro, enquanto engenharia, procura construir instrumentos para
apoiar e simular a inteligência humana.
Esta ciência, ainda nova em relação a outras ciências, já existe a algumas décadas (aproximadamente desde a
década de 50), sendo grandemente impulsionada com o rápido desenvolvimento da informática e da
computação, permitindo que novos elementos sejam rapidamente agregados a seu cabedal. De fato, apenas
recentemente, com o surgimento do computador moderno, é que a inteligência artificial ganhou meios e massa
crítica para se estabelecer de fato como ciência, com metodologias e ferramental próprios. Desde então, seu
desenvolvimento tem extrapolado e suplantado o pensamento comum e limitado de que I.A está apenas para os
programas de xadrez ou a construção de autômatos inteligentes, mas sim uma área presente em nosso dia a dia
em subáreas como visão computacional, agentes de software e jogos, análise e síntese da voz, lógica difusa, redes
neurais artificiais, algoritmos genéticos e muitas outras.
AULA 01: Definições em Inteligência Artificial (IA)
Nessa aula serão apresentados e discutidos os conceitos de inteligência e raciocínio lógico, criando a base
necessária para a definição de Inteligência Artificial. Falar-se-á sobre o matemático Alan Turing, e suas
contribuições para o que viria a ser IA, especialmente o teste de nominado Teste de Turing.
AULA 02: Histórico e bases científicas da IA
Nessa aula serão apresentadas as fases históricas da Inteligência Artificial indo desde sua pré-história até os dias
atuais. Também serão abordadas as bases científicas enquanto área multidisciplinar, bem como suas áreas de
aplicação.
AULA 03: Representação de Conhecimento
A aula conterá definições e considerações sobre a representação de conhecimento computacional, quais as
características do conhecimento, sua tipologia e as principais propostas de representação computacional do
conhecimento (e.g. lógica, frames, redes semânticas).
- -3
AULA 04: Resolução de Problemas em IA
Na aula será feita a definição e caracterização de problemas na área de IA. Também serão apresentados
exemplos de problemas e sua estruturação de acordo com a área.
AULA 05: Buscas em espaço de estados
Nesta aula será introduzido o conceito de busca em espaço de estados, os tipos (cegas e heurísticas) e subtipos
de buscas e seus métodos.
AULA 06: Inteligência Artificial e Jogos
Nesta aula será apresentada a intercessão da IA com jogos, mais especificamente a busca Minimax e os Cortes
Alfa-Beta.
AULA 07: Sistemas Baseados em Conhecimento (SBCs)
Nesta aula são abordados os sistemas baseados em conhecimento e sistemas especialistas. Qual a arquitetura
básica de um SBC, e como programá-los bem como exemplos de SBCs estruturados.
AULA 08: Aprendizado de Máquina
Nesta aula serão feitas as considerações iniciais no que tange ao aprendizado de máquina. Será tratado
especificamente o aprendizado indutivo de máquina e as árvores de decisão.
AULA 09: Agentes de Software e Sistemas Multi-Agente
Na aula serão apresentados os conceitos e definição sobre agentes, seu histórico e aplicações, as arquiteturas e
tipos de agentes. Definidos agentes será apresentado o conceito dos Sistemas Multi-Agentes, suas aplicações,
arquiteturas, ferramentas e usos.
AULA 10: Tópicos Avançados de IA
Nesta aula serão abordadas e conceituadas outras metodologias e ferramentas de IA como Lógica Fuzzy,
Algoritmos Genéticos e Redes Neurais.
BIBLIOGRAFIA
Russel, Stuart J.; Norvig, Peter, 2a Edição), Editora. Campus, 2004. Inteligência Artificial (
Rezende, S. O. Fundamentos e Aplicações. Barueri: Editora Manole, 2003. 525 p.Sistemas Inteligentes:
Luger, G. F., - Estruturas e Estratégias para a Solução de Problemas Complexos, 4a Edição,Inteligência Artificial
Bookman, 2004.
Bittencourt, Guilherme: – Ferramentas e Teorias. Editora da UFSC. 2ª. Edição.Inteligência Artificial 
Florianópolis, 2001. 362p.
Artigos, tutoriais, apostilas, páginas web e outros recursos on-line.
AVALIAÇÃO
- -4
A avaliação é contínua, integradora, com ênfase nos aspectos colaborativos, incluindo tarefas coletivas, e
contempla o diagnóstico, o processo e os resultados alcançados por intermédio de avaliações diagnósticas,
formativas e somativas, considerando os aspectos da autoavaliação.
A avaliação somativa da aprendizagem é realizada presencialmente pelo aluno no Polo de EAD da IES e segue a
normativa da Universidade. A(s) prova(s) presencial(is) segue(m) o calendário acadêmico divulgado para o
aluno.
Durante o Curso, os alunos realizam atividades propostas, compostas de questões objetivas e discursivas
referentes ao conteúdo estudado, podendo ser elas de autodiagnóstico ou de discussão.
Ao final dessa disciplina você será capaz de:
1. Caracterizar a Inteligência Artificial, seus conceitos básicos, história e evolução, linhas de pesquisa, desafios e
suas aplicações;
2. Demonstrar os principais algoritmos, ferramentas e técnicas da Inteligência Artificial aplicáveis ao
desenvolvimento de sistemas interativos;
3. Capacitar o discente a identificar e utilizar técnicas, ferramentas e algoritmos da Inteligência Artificial
adequadas aos diferentes contextos do projeto de sistemas interativos;
4. Discernir condutas éticas e não éticas nas práticas que envolvam o uso de técnicas de Inteligência Artificial em
aplicações computacionais.
Fique Atento(a) e Bom Estudo!
- -1
INTELIGÊNCIA ARTIFICIAL APLICADA A 
JOGOS DIGITAIS
DEFINIÇÕES EM INTELIGÊNCIA 
ARTIFICIAL (IA)
- -2
Olá!
Ao final desta aula, você será capaz de:
1 - Discutir os conceitos de inteligência;
2 - Criar a base necessária para definir a inteligência artificial;
3 - Compreender o teste de turing e outros testes relacionados a inteligência artificial.
O que é a inteligência? O que significa ser inteligente? Poderíamos definir a inteligência como a capacidade
mental de raciocinar, aprender, planejar, resolver problemas, além de abstrair e compreender ideias e
linguagens. No campo da Psicologia outras qualidades tais como a criatividade, caráter e sabedoria não são
consideradas aspectos da inteligência, e podem ser, juntas com ela, consideradas como aspectos da
personalidade de um indivíduo.
De aorcdo com uma pqsieusa de uma uinrvesriddae ignlsea, não ipomtra em qaul odrem as lrteas de
uma plravaa etãso, a úncia csioa iprotmatne é que a piremria e útmlia lrteas etejasm no lgaur crteo
Interessante, não? Como vimos, não é fácil descrever de maneira precisa o que é a inteligência, muito menos
medi-la, você já teve ter ouvido falar ou até mesmo ter feito os famosos testes de QI, os quais são falhos. Apesar
disso, dado o avanço da eletrônica e da computação, nós temos a possibilidade de construir máquinas
"inteligentes". Sendo assim, como podemos medir a inteligência de uma máquina? Na década de 30 o matemático
inglês Alan Turing pensou como isto seria possível, pensou como testar a compreensão que uma máquina tem da
linguagem humana e como avaliar o nível de consciência da mesma.
O Teste de Turing, como é conhecido, tem então como objetivo determinar se as máquinas podem pensar. No
teste participamdois humanos e uma máquina (computador), colocados em salas fechadas e separadas. Um dos
humanos é o juiz. O juiz deverá fazer perguntas (através de um teclado e um monitor) para o outro humano e
para a máquina. Se o juiz não conseguir identificar precisamente quem é a máquina, então esta passará no Teste
de Turing.
“Em certos momentos, essa máquina precisará fazer um enorme “esforço” para imitar o ser humano em
suas respostas, já em outros (perguntas que envolvam cálculos matemáticos, por exemplo) a máquina
terá de diminuir sua capacidade propositadamente para se parecer com o ser humano.”
CARVALHO, Luís Alfredo Vidal de. “DATAMINING, A MINERAÇÃO DE DADOS NO MARKETING, MEDICINA,
ECONOMIA, ENGENHARIA E ADMINISTRAÇÃO”.
- -3
Um indivíduo precisa descobrir em que sala está o computador “inteligente” apenas formulando perguntas por
meio de teclado e monitor.
Exemplo
Suponha que o juiz faz o papel de um paciente e o computador e o outro humano fazem o papel de médico.
Seguindo a conversa abaixo você saberia dizer, se fosse o juiz, que o médico que está respondendo é humano, ou
máquina?
Inicialmente parece uma consulta normal entre médico e paciente, apesar da consulta ser feita de forma não
convencional (através de um terminal de computador, tendo ambos em salas separadas).
Após alguns minutos de conversa (que não foi representada completa no diálogo), o paciente é capaz de notar
que seu médico se comporta de uma forma um tanto estranha. A consulta foi então interrompida e o paciente
(juiz) consegue identificar que o médico em questão é na verdade uma máquina. Esta máquina foi então
reprovada no Teste de Turing no momento em que o paciente percebe “algo estranho” com o seu “médico”.
- -4
Até hoje foi impossível a construção de uma máquina capaz de imitar o ser humano perfeitamente. Todos os
computadores já construídos para passar no Teste de Ti mais cedo ou mais tarde foram reprovados. Em 1996 e
1997 o supercomputador Blue conseguiu ganhar um campeonato de xadrez contra o grande campeão Garry
Kasparov. Apesar das controvérsias, esta vitória parece ser um indicativo que os computadores estão ficando
cada vez mais "inteligentes", imitando superando os seres humanos em tarefas específicas, tais como o jogo de
xadrez quem sabe, um dia, o atendimento médico...
Links
Não deixe de ler:
https://pt.wikipedia.org/wiki/Deep_Blue
1 Algumas propriedades da inteligência
Como é muito difícil definir o que é a inteligência, faz mais sentido identificarmos algumas de suas propriedades:
Capacidade de comunicação com o mundo;
Consciência - Capacidade do ser humano em reconhecer-se como o que realmente é;
Aprendizado;
Capacidade de resolver problemas;
Capacidade de planejar;
Memória - Armazenamento de informações.
https://pt.wikipedia.org/wiki/Deep_Blue
https://pt.wikipedia.org/wiki/Deep_Blue
- -5
Outra propriedade importante é a criatividade, ela não é considerada por muitos como uma propriedade da
inteligência e sim como um aspecto à parte. A criatividade é uma das qualidades mais belas, interessantes e
inexplicáveis que temos, envolvendo a imaginação, abstração, raciocínio, memória e outras propriedades que
nos permitem dar saltos de conhecimento.
2 As subáreas da Inteligência Artificial
O problema geral de simular (ou da a criar) a inteligência foi dividido em um número de subproblemas
específicos. Estes consistem em abordar características ou capacidades particulares que os pesquisadores
gostariam que um sistema inteligente tratasse. As subáreas descritas abaixo são as que têm recebido mais
atenção por parte da comunidade científica.
Solução de problemas
Busca o desenvolvimento de novos métodos para resolver problemas matemáticos complexos que são, em geral,
requerem um número de com binações muito grande, consumindo muito tempo e recursos computacionais
(memória e processador, por exemplo). A Inteligência Artificial busca, então, métodos para resolver o problema
de forma aproximada e não necessariamente exata, porém em tempo curto e consumindo menos recursos.
Representação do conhecimento
A pesquisa na área de representação do conhecimento tenta responder diversas perguntas como: Como
representamos nosso conhecimento? As pessoas representam conhecimento todas da mesma maneira? Existe
alguma forma de representar qualquer coisa? Como programas inteligentes devem representar conhecimento?
Planejamento
- -6
Os sistemas inteligentes desenvolvidos aqui devem ser capazes de escolher objetivos e alcançá-los. Alguns
sistemas são capazes de planejar estratégias na área administrativa, outros podem gerar planos de como ligar e
desligar redes de equipamentos sem causar danos, problema comum nas refinarias de petróleo.
Sistemas especialistas
Um sistema especialista é uma forma de sistema baseado no conhecimento especialmente projetado para emular
a especialização humana de algum domínio específico. Um sistema especialista irá possuir uma base de
conhecimento formada de fatos e regras sobre o domínio, tal como um especialista humano faria, e devem ser
capazes de oferecer sugestões e conselhos aos usuários. A máquina simulando o médico no Teste de Turing que
mostramos anteriormente é um exemplo de sistema especialista.
Processamento da linguagem digital
Dá às máquinas a habilidade de ler e compreender as línguas que os seres humanos falam e escrevem. Sistemas
de processamento da linguagem devem possuir um conhecimento embutido muito grande, bem representado,
de fácil acesso, além da capacidade de realizar inferências. Alguns sistemas já desenvolvidos podem dialogar
dentro de certos contextos, resumirem textos e “entender” perguntas feitas para consultas a banco de dados.
Aprendizado de máquina
É a subárea que estuda como um sistema pode aprender com o ambiente no qual está exposto. Se ao sistema for
fornecida urna grande massa de dados, um algoritmo de aprendizado embutido no sistema deve ser capaz de
retirar algumas conclusões sobre as relações existentes nesses dados. Uma rede de computadores pode ter um
sistema de detecção de ataques de hackers (sistema de detecção de intrusão) que monitora o tráfego da rede
(grande massa de dados) e conclui, avisando ao administrador da rede, que um ataque está ocorrendo.
Robótica – Manipulação e Navegação
O campo da robótica está intimamente relacionado ao campo da IA. Os robôs requerem diversos níveis de
inteligência para que sejam capazes de executarem tarefas, tais como a manipulação de um objeto (através de
um braço mecânico, por exemplo), e a navegação, que inclui a localização (saber onde está), o mapeamento
(saber o que está a sua volta) e planejamento de rota (calcular como chegar até determinado local).
Percepção – Reconhecimento de padrões e visão computacional
Estuda a habilidade de usar o sinal de sensores (tais como câmeras, microfones, etc.) para tirar conclusões a
respeito do mundo no qual tais sensores estão inseridos. Quando enxergamos um objeto ou escutamos uma
palavra estamos reconhecendo um padrão visual e auditivo respectivamente.
Saiba mais
Para saber mais sobre os tópicos estudados nesta aula, pesquise na internet sites, vídeos e
- -7
O que vem na próxima aula
Na próxima aula, você estudará sobre os assuntos seguintes:
• Histórico da Inteligência Artificial;
• Áreas multidisciplinares da Inteligência Artificial;
• Áreas de aplicação da Inteligência Artificial.
CONCLUSÃO
Nesta aula, você:
• Compreendeu como testar a inteligência de uma máquina;
• Aprendeu os conceitos de Inteligência Artificial;
• Analisou testes comparativos da inteligência da máquina com a da humana.
Para saber mais sobre os tópicos estudados nesta aula, pesquise na internet sites, vídeos e
artigos relacionados ao conteúdo visto. Se ainda tiver alguma dúvida, fale com seu professor
online utilizando os recursos disponíveis no ambiente de aprendizagem.
Uma leitura interessante e descontraída é o livro que conta a história e vida de Alan Turing:
LEAVITT, David. “O HOMEM QUE SABIA DEMAIS- ALAN TURING E A INVENÇÃO DO
COMPUTADOR”. Ed. Novo Conceito, 2007.
•
•
•
•
•
•
- -1
INTELIGÊNCIA ARTIFICIAL APLICADA A 
JOGOS DIGITAIS
HISTÓRICO DA INTELIGÊNCIA ARTIFICIAL 
(IA) E SUAS APLICAÇÕES
- -2
Olá!
Nesta aula, você irá:
1. Histórico da Inteligência Artificial;
2. O Estado da Arte na área de Inteligência Artificial;
3. A influência da Inteligência Artificial nas áreas multidisciplinares;
4. Áreas de aplicação da Inteligência Artificial.
Apesar de relativamente recente como Inteligência Artificial, esta ciência é a realização de um sonho do homem
que remonta à Antiguidade Clássica. O filósofo grego (384-322 A.C) foi um dos primeiros a tentarAristóteles
codificar "pensamento correto", ou seja, processos de raciocínio irrefutáveis. Muitos autores, tais como RUSSEL
(2004), consideram ele como um dos principais precursores dos estudos de Inteligência Artificial. Segundo
Aristóteles, o estudo sobre o pensamento era a base para todo o conhecimento. Em uma de suas obras,
introduziu o conceito de silogismo, que provia argumentos para provar a veracidade de certas sentenças a partir
de outras que são sabidamente verdadeiras. Um famoso exemplo de um silogismo é: "Sócrates é homem; todos
os homens são mortais; logo, Sócrates é mortal".
Em sua obra Lógica, Aristóteles desenvolveu um ' dos conceitos fundamentais da Inteligência Artificial e da
Ciência Cognitiva. Segundo ele, a lógica é um instrumento, e o estudo do pensamento é o alicerce para o
conhecimento. Foi a partir desses estudos da lógica, que bem ' (por volta do séc.) foi concebida amais tarde
Prova Automática de Teoremas.
- -3
1 O Estado da Arte
O desenvolvimento da Inteligência Artificial foi tão grande que seu potencial de aplicação se tornou bastante
abrangente. Algumas áreas de aplicação incluem:
Planejamento e agendamento autônomo: Usado pela NASA para o controle de agentes remotos (robôs 
enviados em missões interplanetárias);
Entretenimento: Na forma de jogos eletrônicos ou no teste científico do poder computacional da Inteligência
Artificial em comparação com o de um ser humano, como foi feito pela IBM ao lançar o programa jogador de
xadrez Deep Blue;
Medicina: Através de sistemas especialistas é possível fazer diagnósticos cuja qualidade fica próxima à de um
especialista na área;
Robótica: Sempre foi de interesse do homem desenvolver máquinas à sua semelhança. Atualmente elas não 
chegaram neste nível ainda, mas já executam tarefas simples como varrer uma casa e desviar-se de obstáculos;
Compreensão da linguagem: Ainda não foi construído um programa capaz de compreender perfeitamente a
linguagem humana, devido a sua ambiguidade e contextualização, mas existem programas que traduzem com
certa fidelidade alguns textos de uma língua para outra.
• Sistemas de reconhecimento ótico de caracteres (OCR) podem traduzir letra escrita de forma arbitrária 
em texto.
• Reconhecimento de escrita a mão é usada em milhões de Assistentes Pessoais Digitais.
• Reconhecimento de voz está disponível comercialmente e é amplamente usado.
• Sistemas de álgebra computacional, tais como Mathematica e Macsyma, são bons exemplos de aplicações 
de Inteligência Artificial na solução de problemas algébricos.
• Sistemas com Visão computacional são usados em muitas aplicações industriais.
• Aplicações utilizando Vida Artificial são utilizadas na indústria de entretenimento e no desenvolvimento 
da Computação Gráfica.
• A área de Redes Neurais vem sendo usadas em uma larga variedade de tarefas, de sistemas de detecção 
de intrusos a jogos de computadores.
• Sistemas baseados na ideia de agentes artificiais, denominados Sistemas Multiagentes, têm se tornados 
comuns para a resolução de problemas complexos.
• Chatterbots, personagens virtuais que conversam em linguagem natural como se fossem humanos de 
verdade, são cada vez mais comuns na internet.
A visão da Inteligência Artificial substituindo julgamento humano profissional tem surgido muitas vezes na
história do campo, em Ficção Científica e, hoje em dia, em algumas áreas especializadas onde "Sistemas
Especialistas" (aprenderão na aula 07 deste curso) são usados para melhorar ou para substituir julgamento
profissional em engenharia e medicina, por exemplo.
•
•
•
•
•
•
•
•
•
- -4
2 Áreas de pesquisa em Inteligência Artificial
As principais áreas de pesquisa em Inteligência Artificial simbólica são atualmente: sistemas especialistas,
aprendizagem, representação de conhecimento, aquisição de conhecimento, tratamento de informação
imperfeita, visão computacional, robótica, controle inteligente, inteligência artificial distribuída, modelagem
cognitiva, arquiteturas para sistemas inteligentes, linguagem natural e interfaces inteligentes. Além das linhas
conexionista e simbólica, observa-se hoje o crescimento de uma nova linha de pesquisa em Inteligência Artificial,
baseada na observação de mecanismos evolutivos encontrados na natureza, tais como a auto-organização e o
comportamento adaptativo. Nesta linha, os modelos mais conhecidos são os algoritmos genéticos e os autômatos
celulares.
3 Campos de aplicação
Aprendizado: Existem programas de Inteligência Artificial que conseguem aprender certos fatos por meio da 
experiência, desde que esse conhecimento possa ser representado de acordo com o formalismo adotado pelo
programa.
Processamento de linguagem natural: É o estudo voltado para a construção de programas capazes de
compreender a linguagem natural (interpretação) e gerar textos. A Geração de Linguagem Natural é a produção
de textos por um programa a partir de um conteúdo semântico representado internamente no próprio
programa. Objetiva aperfeiçoar a comunicação entre as pessoas e os computadores.
Reconhecimento de padrões: É uma das áreas de pesquisa bem avancadas da Inteligência Artificial. A
capacidade de reconhecimento de padrões permite ao programa reconhecer a fala em linguagem natural, os
caracteres digitados e a escrita (ex.: assinatura). Os scanners, por exemplo, utilizam programas de
reconhecimento óptico desenvolvidos pelas pesquisas em Inteligência Artificial.
Visão computacional: Busca desenvolver formas do computador trabalhar com a visão bidimensional e 
tridimensional.
Programação de jogos: É o estudo voltado para a construção de programas de jogos envolvendo raciocínio. Os 
jogos computadorizados são um grande sucesso, ainda mais quando exibem um tipo de inteligência capaz de
desafiar as habilidades do jogador. O jogo de xadrez, por exemplo, foi utilizado para as primeiras experiências
em programação do raciocínio artificial, onde o computador se tornou capaz de analisar milhões de jogadas por
segundo para tentar derrotar o adversário. Além de analisar as jogadas, os programas utilizam um método
heurístico que consiste na utilização de uma árvore de busca, a mesma possui ramificações a partir de certos nós,
- -5
que representam pontos de decisão no caminho a tomar, com um certo número de etapas, para chegar a um
objetivo. Deste modo, ele pode analisar vários nós, de acordo com a situação atual do jogo, e escolher o melhor
caminho (o mais curto ou menos arriscado).
Robótica: É o campo de estudo voltado para desenvolver meios de construir máquinas que possam interagir 
com o meio (ver, ouvir e reagir aos estímulos sensoriais). A expressão robô vem do tchêco robota, significa
trabalhador, foi criada por Karel Capek, em 1917. O primeiro robô industrial do mundo, batizado de UNIMATE,
surgiu em 1962.
4 Áreas multidisciplinares
Na filosofia (428
A C a t é a
atualidade)
Quando o Homem começou a discutir questões como por exemplo I "de onde vem o
conhecimento?", ou "como a mente desenvolve o conhecimento?" e a desenvolver a
idéia de que a mente em muitos aspectos pode ser considerada como uma máquina, e
que, a partir disso, poderiam se criar regras formais que possibilitariam a construção
de uma máquina que funcionasse de maneira semelhante à mente.
Na matemática
(800até a
atualidade)Que fornece as ferramentas necessárias para que a representação formas do
conhecimento, bem como o desenvolvimento da lógica, declarações de incerteza,
probabilidade e a base era a compreensão da computação e do raciocínio sobre
algoritmos.
Na economia
(1776 atéa
atualidade)
Que desenvolve a idéia de como uma decisão pode afetar positiva ou negativamente o
resultado esperado e quais as maneiras para maximizar o resultado final.
Na neurociência
epsicologia
(1861 e 1879 até
a atualidade)
Pelos estudos sobre o funcionamento do cérebro (Neurociência) e sobre o
funcionamento da mente humana e de que os seres humanos e animais podem ser
considerados como máquinas que processam informações (Psicologia).
- -6
Na engenharia
decomputadores
(1940 até a
atualidade)
Pelo desenvolvimento do instrumento ao qual se tomaram possíveis as aplicações de
Inteligência Artificial, os computadores, e também pelo desenvolvimento dos sistemas
operacionais, linguagens de programação, entre outros.
O que vem na próxima aula
Na próxima aula, você estudará sobre os assuntos seguintes:
• Representação do conhecimento computacional.
• Características do conhecimento segundo sua tipologia e principais propostas de representação 
computacional do conhecimento (e.g. lógica, frames, redes semânticas).
Saiba mais
Para saber mais sobre os tópicos estudados nesta aula, pesquise na internet sites, vídeos e
artigos relacionados ao conteúdo visto. Se ainda tiver alguma dúvida, fale com seu professor
online utilizando os recursos disponíveis no ambiente de aprendizagem.
Creatures - um jogo de computador com produção que envolvia criatura codificada de um
código genético superior utilizando um sofisticado biochemistry e cérebros de rede neural (
).https://pt.wikipedia.org/w/index.php?title=Creatures&action=edit&redlink=1
Cyc - Uma base de conhecimento com coleção vasta dos fatos sobre o mundo real e a
habilidade lógica do raciocínio
( ).https://pt.wikipedia.org/w/index.php?title=Cyc&action=edit&redlink=1
ELIZA - Um programa que simula um psicoterapeuta, desenvolvido na década de 1960. (
).https://pt.wikipedia.org/wiki/ELIZA
PAM (Plan Applier Mechanism) - Um entendedor de histórias desenvolvido em 1978 por John
Wilenksy.
EURISKO - uma linguagem para resolver problema que consistam em heuristicas, incluindo a
descrição do heuristicas explicando como usá-lo e modifica-lo. Desenvolvido em 1978 por
Douglas Lenat
( )https://pt.wikipedia.org/w/index.php?title=EURISKO&action=edit&redlink=1
AM - Precursor do EURISKO foi um programa desenvolvido pelo mesmo autor com o objetivo
de aprender sozinho conceitos novos no domínio da matemática.( https://pt.wikipedia.org
) ( )/wiki/AM https://pt.wikipedia.org/w/index.php?title=EURISKO&action=edit&redlink=1
X-Ray Vision for Surgeons - grupo no MIT que investigou visão médica (https://www.csail.mit.
).edu/research/medical-vision-group
•
•
https://pt.wikipedia.org/w/index.php?title=Creatures&action=edit&redlink=1
https://pt.wikipedia.org/w/index.php?title=Cyc&action=edit&redlink=1
https://pt.wikipedia.org/wiki/ELIZA
https://pt.wikipedia.org/w/index.php?title=EURISKO&action=edit&redlink=1
https://pt.wikipedia.org/wiki/AM
https://pt.wikipedia.org/wiki/AM
https://pt.wikipedia.org/w/index.php?title=EURISKO&action=edit&redlink=1
https://www.csail.mit.edu/research/medical-vision-group
https://www.csail.mit.edu/research/medical-vision-group
- -7
CONCLUSÃO
Nesta aula, você:
• Nesta aula, você conheceu a evolução das descobertas feitas a respeito da matemática e O QUE ela 
ajudou para entender e organizar de forma simbólica a inteligência até dar origem a Inteligência Artificial 
computacional.
• Aprendeu que a Inteligência Artificial reproduz artificialmente habilidades humanas como o 
aprendizado e uso da linguagem.
• Percebeu que o pensamento é uma forma de computação.
• Conheceu as diversas áreas em que a Inteligência Artificial é aplicada.
•
•
•
•
- -1
INTELIGÊNCIA ARTIFICIAL APLICADA A 
JOGOS DIGITAIS
REPRESENTAÇÃO DE CONHECIMENTO
- -2
Olá!
Nesta aula, você irá:
1. Conhecer as condições necessárias sobre a representação de conhecimento computacional em inteligência
artificial;
2. Representar as diferentes formas do conhecimento utilizando: lógica, redes semânticas e quadros;
3. Saber as principais propostas de representação computacional do conhecimento.
Os psicólogos cognitivos gostariam de poder explorar e analisar como cada um de nós representa o
conhecimento, pena que os métodos empíricos são praticamente improváveis a curto e médio prazo. Já a
abordagem racionalista tenta deduzir logicamente a explicação mais razoável de como se representa esse
conhecimento. Na epistemologia clássica, os filósofos dividiam o conhecimento em duas classes de estruturas: o
conhecimento declarativo e o conhecimento procedural.
Para representar o conhecimento, devemos possuir formas de representar tanto as informações, como os
procedimentos (ações). Existem várias formas de representação do conhecimento, três delas são:
Lógica (procedimentais) - é a base para a maioria dos formalismos de representação de conhecimento, seja de
forma explícita, como nos sistemas especialistas baseados na linguagem Prolog, seja mascarada na forma de
representações específicas que podem facilmente ser interpretadas como proposições ou predicados lógicos.
Redes semânticas (declarativas) - é um nome utilizado para definir um conjunto heterogêneo de sistemas. Em
última análise, a única característica comum a todos estes sistemas é a notação utilizada: uma rede semântica
consiste em um conjunto de nós conectados por um conjunto de arcos. Os nós em geral representam objetos e os
arcos, relações binárias entre esses objetos. Mas os nós podem também ser utilizados para representar
predicados, classes, palavras de uma linguagem, entre outras possíveis interpretações, dependendo do sistema
de redes semânticas em questão.
Quadros/frames (declarativas) - e sua variação, os roteiros (.scripts.), foram introduzidos para permitir a
expressão das estruturas internas dos objetos, mantendo a possibilidade de representar herança de
propriedades como as redes semânticas. As ideias fundamentais destes métodos foram introduzidas por Marvin
Minsky, em seu artigo: A framework to represent knowledge.
Entretanto, para que possamos compreendê-las, é necessário entender com quais entidades eles lidam.
Fundamentalmente, podemos falar em duas entidades: os fatos (ou seja, as verdades ou informações que
- -3
possuímos sobre um determinado contexto) e a representação dos fatos (formalismo simbólico que permite
representar e manipular o conhecimento em um determinado contexto).
A IA deve ter mecanismos para a representação de fatos. A abordagem mais comum para este fim é usar a
linguagem da lógica. A prova de teoremas foi um dos primeiros domínios nos quais as técnicas de IA eram
exploradas.
1 Lógica matemática
Para a representação do conhecimento através da lógica utilizam-se os seguintes símbolos lógicos padrões:
• Símbolos lógicos
Pontuação: (,)
• Conectivos
negação: ~ (Não)
conjunção: Ʌ (e)
disjunção: V (ou)
implicação: → (se-então)
bi-implicação ou bi-condicional: ↔ (se-somente-se)
2 Lógica de primeira ordem ou cálculo proposicional
A Representação Lógica (também conhecida como Lógica de Primeira Ordem) é baseada em uma notação que
procura representar os fatos evitando as ambiguidades da linguagem natural e permite realizar inferências de
novos fatos. O problema é que nem sempre o conhecimento pode ser mapeado em uma relação um-para-um,
como em:
•
•
- -4
Por vezes, é necessário utilizar representações de muitos-para-muitos, como em:
As declarações um-para-um são tratadas com uma área da lógica chamada de Cálculo Proposicional e as
declarações muitos-para-muitos são tratadas por uma área chamada Cálculo de Predicados. Para representar o
conhecimento de um mundo que um sistema de IA necessita, usa-se a lógica proposicional. Representa- se os
fatos domundo real através das proposições lógicas.
3 Semântica das linguagens proposicionais
As fórmulas de urna linguagem proposicional, incluindo os símbolos proposicionais, terão como significado os
valores-verdade: FALSO (F) ou VERDADEIRO (V). A letra v indica o valor-verdade da proposição:
- -5
4 O método da tabela-verdade
Para combinarmos os valores possíveis com os conectivos definidos, precisamos definir os valores resultantes
das operações lógicas. Estes valores estão representados na Tabela Verdade, que é objeto de deduções que
podem ser provadas, através de procedimentos da Lógica de Primeira Ordem. Esta é uma tabela base de consulta
das combinações. Ela é largamente utilizada na matemática pura, engenharia elétrica e na programação
(principalmente nos testes das estruturas de seleção e repetição if-else while.
4.1 Construção da tabela-verdade
Para saber quantas linhas a tabela verdade terá, basta contar quantas proposições existem (n) e aplicar na
fórmula: 2n.
Exemplo:
2 proposições = 4 linhas
3 proposições = 8 linhas.
- -6
4 proposições = 16 linhas
Posicione as proposições nas primeiras colunas. Exemplo: Para as 3 proposições p, q, r
Para a primeira coluna, pegue o total de linhas (8) e divida por 2 que resultará 4. Preencha-a com quatro V da
metade das linhas para cima e com quatro F da metade pra baixo.
Para a segunda coluna, pegue o total de linhas (8) e divida por 4 que será igual a 2. Ou seja, preencha com dois V
a metade da quarta parte para cima e com dois F a metade da quarta parte pra baixo. Faça isso novamente com a
outra metade que sobrou.
Para a terceira coluna, pegue o total de linhas (8) e divida por 8 que resultará em 1. Preencha de V e F
alternadamente. Começando com V.
- -7
Primeira e segundas colunas preenchidas. Colocar em modo de animação V e F da terceira coluna respeitando o
que está escrito no item 5.
5 Lógica de predicados
Nas proposições lógicas que vimos até agora, lidávamos apenas com um único objeto. Proposições acerca de
vários objetos, tais como “Todos os Homens são mortais” ou “Os times do Rio são os melhores”. Os objetos destas
proposições são “homens”, no primeiro caso e “times”, no segundo caso. Já “mortais” e “melhores” são as
propriedades.
Aos objetos chamamos sujeitos e às propriedades chamamos predicados.
Na lógica de Predicados representamos, por exemplo, a proposição “Marcos nasceu em Pompéia” como:
Pompeano (Marcos). Essa proposição é dita fechada, porque pode ser avaliada como verdadeira ou falsa.
Nesta mesma lógica, quando o sujeito não é conhecido, pode ser substituído por uma variável. Por exemplo,
representamos a proposição “Alguém governava Pompéia” como: Governador(x). Resumidamente, pode ser
escrita na forma G(x), ou ainda Gx. Essa proposição é dita aberta porque não é possível avaliá-la, uma vez que
não conhecemos o valor de x.
A transformar a proposição aberta em fechada, é chamado de instanciação ou especificação.
Universo de uma variável é o conjunto de todos os valores que ela pode assumir.
Os valores do Universo que tornam a proposição verdadeira constituem o seu Conjunto Verdade.
6 Redes semânticas
Uma rede semântica é uma forma de representação do conhecimento para modelos computacional de memórias
humana (memória semântica). Ela é um conjunto ou um grafo de nós conectados por ligações. Os vértices (nós
/nodos) representam objetos, situações ou conceitos (elementos), as arestas (arcos) representam relações
- -8
semânticas entre os conceitos e as ligações podem ser quaisquer mas devem transmitir a semântica de maneira
mais fiel possível. Elas são consideradas uma forma comum de um dicionário legível por uma máquina.
A semântica é o estudo do significado de conceitos individuais utilizados na linguagem. É uma tentativa de
descrever os significados das palavras e as condições sob as quais eles podem interagir para serem compatíveis
com outros aspectos de uma linguagem.
Os tipos mais comuns de ligações em uma rede semântica são: “é-parte-de” e “é-um” ou “é-uma”.
As divisões e tipos básicos de ligações em redes semânticas
Propriedade
Relaciona um nó com outro.
Subparte
Indica que um nó é subparte ou componente de outro (“é parte-de”).
Subclasse
Exprime que um nó é uma subclasse (representada por outro nó).
Relacionamento
Informa que os nós envolvidos se relacionam de alguma forma.
Tipos de semântica
Procura mostrar o quanto a descrição se aproxima da realidade representada.Semântica Descritiva: 
 Procura estabelecer equivalências entre a representação efetuada e uma outraSemântica de Equivalência:
forma de representação do conhecimento.
Semântica Procedural: Usa programas para exprimir o significado (exige entendimento de uma linguagem de
programação).
7 Frames
Modelo de representação de conhecimento onde um elemento de um domínio é representado por um conjunto
de características. “Um frame possui um nome que identifica o conceito por ele definido e um conjunto de
atributos (slots). Um frame é uma estrutura de dados complexa, útil para modelar objetos do mundo real.
Assemelham-se a registros de um banco de dados porém mais poderosos e expressivos.”
Frames são conjuntos de slots (campos) e de valores, cuja estrutura contém informações referentes a
determinados objetos, as quais são armazenadas de forma hierárquica.
Os frames podem ser criados a partir de uma coleção de frames (já existentes) conectados entre si. Isto se torna
possível uma vez que um atributo de um frame pode ser outro frame.
- -9
"Um frame é uma coleção de atributos, em geral chamados de escaninhos (slots), e valores a eles associados (e
possivelmente restrições a estes valores) que descrevem alguma entidade do mundo."
O que vem na próxima aula
Na próxima aula, você estudará sobre os assuntos seguintes:
• Na próxima aula, você irá estudar resolução de problemas em Inteligência Artificial.
• A aula conterá definições e caracterização de problemas como: o problema das jarras, o problema das 8 
rainhas, o problema do quebra-cabeças de 8 peças, os problemas de roteamento e de tour, o problema do 
caixeiro viajante, os problemas relacionados a jogos de computador, o problema da pesquisa na Internet 
e outros problemas relacionados à Indústria.
• Compreenderá que podem existir várias soluções para um problema e que a solução ótima é aquela que 
tem o caminho de menor custo.
CONCLUSÃO
Nesta aula, você:
• Conheceu as diferentes formas de representação do conhecimento.
• Percebeu que poderá utilizar estas formas de conhecimento para organizar melhor os procedimentos de 
um jogo.
• Compreendeu a importância do cálculo proposicional e de predicados para a representação do 
conhecimento.
• Aprendeu a distinguir as diferentes formas de representação do conhecimento e analisar cada uma delas.
Saiba mais
Para saber mais sobre os tópicos estudados nesta aula, pesquise na internet sites, vídeos e
artigos relacionados ao conteúdo visto. Se ainda tiver alguma dúvida, fale com seu professor
online utilizando os recursos disponíveis no ambiente de aprendizagem.
Histórico da Lógica:
https://pt.wikipedia.org/wiki/Hist%C3%B3ria_da_l%C3%B3gica
Minsky (representação do conhecimento - Frames)
www.media.mit.edu/people/minsky///web.media.mit.edu/~minsky/papers/Frames/frames.
html
•
•
•
•
•
•
•
https://pt.wikipedia.org/wiki/Hist%C3%B3ria_da_l%C3%B3gica
http://www.media.mit.edu/people/minsky/web.media.mit.edu/~minsky/papers/Frames/frames.html
http://www.media.mit.edu/people/minsky/web.media.mit.edu/~minsky/papers/Frames/frames.html
- -1
INTELIGÊNCIA ARTIFICIAL APLICADA A 
JOGOS DIGITAIS
RESOLUÇÃO DE PROBLEMAS EM 
INTELIGÊNCIA ARTIFICIAL
- -2
Olá!
Nesta aula, você irá:
1. Definir e caracterizar problemas na área de Inteligência Artificial.
2. Estruturar e exemplificar problemas de acordo com a sua área de interesse.
Para solucionar problemas através de técnicas de Inteligência Artificial, vamos começar definindo de forma
precisa os elementos que constituem o problema e suasolução. Um problema pode ser definido, formalmente,
por quatro componentes:
Para explicar os componentes anteriores, vamos utilizar alguns problemas como exemplo, primeiro, um
problema bem simples:
João está na estação Central do metrô no Rio de Janeiro. Ele precisa ir para o Flamengo. Considere que João só
pode ser locomover de metrô.
Se conhecermos bem o metrô do Rio, ou tivermos seu mapa, saberemos que somente um dos três sentidos nos
leva corretamente para o Flamengo, mas vamos fingir que não sabemos.
- Zona Norte. Próxima estação: Universidade X
- Zona Sul. Próxima estação: Pres. Vargas
- Pavuna. Próxima estação: Cidade Nova
- -3
Definindo o problema, através dos seus componentes:
Estado inicial: Ponto de partida do problema, no nosso caso poderia ser descrito como Em(Central). 
- -4
Uma descrição das ações possíveis que estão disponíveis. Dado um estado particular x,Função sucessor: 
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 é um estado que pode ser alcançado a partir de x aplicando-se a ação. No
nosso caso, se utilizarmos, por exemplo, o estado Em(Central), a função sucessor retomaria:
<Ir(Zona Norte), Em(Praça Onze)>, <Ir(Zona Sul), Em(Pres. Vargas)>, cir(Pavuna), Em(Cidade Nova)> ;
Juntos, o estado inicial e a função sucessor (quando aplicada a todos os estados) definem implicitamente o
espaço de estados do problema: o conjunto de todos estados possíveis a partir do estado inicial.
Determina se um estado é um estado objetivo. Às vezes, podem haver vários estadosTeste de objetivo: 
objetivos possíveis, no nosso caso o estado objetivo é único, Em(Flamengo). Às vezes, também pode ser que o
estado objetivo não seja necessariamente um conjunto de um ou mais estados explicitamente enumerados, pode
ser uma propriedade abstrata. Por exemplo, no xadrez, o objetivo é alcançar um estado chamado "xeque-mate",
onde o rei do oponente está sob ataque e não consegue escapar.
- -5
Atribui um custo numérico a cada caminho. Um caminho no espaço de estados é umaCusto do caminho: 
sequência de estados conectados por uma sequência de ações, por exemplo: <Ir(Zona Sul), Em(Pres. Vargas), <Ir
(Zona Sul), Em(Uruguaiana)>, <Ir(Zona Sul), Em(Carioca)>, <Ir(Zona Sul), Em(Cinelândia)>
O custo poderia ser a soma das distâncias em Km entre uma estação e outra.
- -6
Atenção
Os elementos precedentes definem um problema e podem ser reunidos em uma única estrutura de dados, que é
fornecida como entrada para um algoritmo de resolução de problemas.
Solução do Problema:
A solução do problema é um caminho desde o estado inicial até um estado objetivo. A qualidade da solução é
medida pela função de custo do caminho, uma solução ótima tem o menor custo de caminho dentre todas as
soluções possíveis.
A solução ótima para o problema do metrô seria:
<Ir(Zona Sul), Em(Pres. Vargas)>, <Ir(Zona Sul), Em(Uruguaiana)>, <Ir(Zona Sul), Em(Carioca)>, <Ir(Zona Sul),
Em(Cinelândia)>, <Ir(Zona Sul), Em(Glória)>, <Ir(Zona Sul), Em(Catete)>, <Ir(Zona Sul), Em(Largo do Machado)
>, <Ir(Zona Sul), Em(Flamengo)>.
Só para ilustrar, outra solução, que obviamente não seria ótima:
Ir(Zona Norte), Em(Praça Onze)>, <Ir(Zona Sul), Em(Central)>, <Ir(Zona Sul), Em(Pres. Vargas)>, <Ir(Zona Sul),
Em(Uruguaiana)>, <Ir(Zona Sul), Em(Carioca)>, <Ir(Zona Sul), Em(Cinelândia)>, <Ir(Zona Sul), Em(Glória)>, <Ir
(Zona Sul), Em(Catete)>, <Ir(Zona Sul), Em(Largo do Machado)>, <Ir(Zona Sul), Em(Flamengo)>.
Vamos agora a outro exemplo de problema mais interessante para nós, um jogo/desafio mental:
- -7
Você possui duas jarras de água, uma com capacidade de 4 litros e outra de 3 litros, ambas estão inicialmente
vazias. Como obter 2 litros de água na jarra de 4 litros? Você deve sempre encher ou esvaziar as jarras de forma
completa e pode transferir água de uma jarra para outra.
Para esse problema, tente definir o estado inicial, o teste de objetivo, todas as funções sucessor a partir do estado
inicial, e a solução ótima. Vamos representar cada estado por dois números, o primeiro é a quantidade de água
na jarra de 4 litros (x) e o segundo é a quantidade de água na jarra de 3 litros (y), assim: (x, y).
Depois compare com as respostas que seguem:
Estado inicial: (0,0)
Teste de objetivo: (2,0)
Função sucessor:
Estado inicial (0,0)
<Enche jarra de 4, (4,0)>, <Enche jarra de 3, (0,3)>
Estado (4,0)
<Esvazia jarra de 4, (0,0)>, <Enche jarra de 3, (4,3)>, <Transfere4para3, (1,3)>
Estado (0,3)
<Esvazia jarra de 3, (0,0)>, <Enche jarra de 4, (4,3)>, <Transfere3para4, (3,0)>
Estado (4,3) <Esvazia jarra de 4, (0,3)>, <Esvazia jarra de 3, (4,0)>
Estado (1,3)
<Esvazia jarra de 4, (0,3)>, <Esvazia jarra de 3, (1,0)>, <Enche jarra de 4, (4,3)>, <Transfere3para4, (4,0)>
Estado (3,0)
<Esvazia jarra de 4, (0,0)>, <Enche jarra de 4, (4,0)>, <Enche jarra de 3, (3,3)>, <Transfere4para3, (0,3)>
Estado (1,0)
- -8
<Esvazia jarra de 4, (0,0)>, <Enche jarra de 4, (4,0)>, <Enche jarra de 3, (1,3)>, <Transfere4para3, (0,1)>
Estado (3,3)
<Esvazia jarra de 4, (0,3)>, <Esvazia jarra de 3, (3,0)>, <Enche jarra de 4, (4,3)>,
<Transfere3para4, (4,2)>
Estado (0,1)
< Esvazia jarra de 3, (0,0)>, <Enche jarra de 3, (0,3)>, < Enche jarra de 4, (4,1)>,
<Transfere3para4, (1,0)>
Estado (4,1)
<Esvazia jarra de 4, (0,1)>, < Esvazia jarra de 3, (4,0)>, <Enche jarra de 3, (4,3)>, <Transfere4para3, (2,3)>
Estado (4,2)
<Esvazia jarra de 4, (0,2)>, < Esvazia jarra de 3, (4,0)>, <Enche jarra de 3, (4,3)>, <Transfere4para3, (3,3)>
Estado (0,2)
<Esvazia jarra de 3, (0,0)>, < Enche jarra de 4, (4,2)>, <Enche jarra de 3, (0,3)>, <Transfere3para4, (2,0)> Estado
objetivo!
Solução do Problema
<Enche jarra de 3, (0,3)>,
<Transfere3para4, (3,0)>,
<Enche jarra de 3, (3,3)>,
<Transfere3para4, (4,2)>,
<Esvazia jarra de 4, (0,2)>,
<Transfere3para4, (2,0)>
- -9
Exemplos de Problemas
Miniproblemas:
• Servem para ilustrar, exercitar ou comparar métodos de solução de problemas.
• Geralmente, possuem descrição concisa e exata.
Problemas no mundo real
• Problemas cujas soluções preocupam as pessoas e são importantes para a humanidade.
• Tendem a não apresentar uma descrição consensual.
O que vem na próxima aula
Na próxima aula, você estudará sobre os assuntos seguintes:
• O conceito de busca em espaço de estados.
• Os tipos e subtipos de buscas (cegas e heurísticas).
• Os métodos de busca.
•
•
•
•
Saiba mais
Para saber mais sobre os tópicos estudados nesta aula, pesquise na internet sites, vídeos e
artigos relacionados ao conteúdo visto. Se ainda tiver alguma dúvida, fale com seu professor
online utilizando os recursos disponíveis no ambiente de aprendizagem.
Conheça o site de jogos de lógica plastelina.net ( ).www.plastelina.net
•
•
•
http://www.plastelina.net/
- -10
CONCLUSÃO
Nesta aula, você:
• Conheceu o problema das jarras, o problema das 8 rainhas, o problema do quebra-cabeças de 8 peças, os 
problemas de roteamento e de tour, o problema do caixeiro viajante, os problemas relacionados a jogos 
de computador, o problema da pesquisa na internet e outros problemas relacionados à indústria.
• Aprendeu que um problema deve ser dividido em 4 componentes: estado inicial, função sucessor, teste 
de objetivo e custo do caminho; aprendeu também que para IA os problemas se dividem em mini-
problemas e problemas do mundo real.
• Percebeu que os problemas necessitam de um tratamento preciso e detalhado para se alcançar uma 
determinada solução.
• Compreendeu que podem existir várias soluções para um problema e que a solução ótima é aquela que 
tem o caminho de menor custo.
• Analisou o problema das jarras, identificando os componentes do problema.
•
•
•
•
•
- -1
INTELIGÊNCIA ARTIFICIAL APLICADA A 
JOGOS DIGITAIS
BUSCA EM ESPAÇO DE ESTADOS
- -2
Olá!
Nesta aula, você irá:
1. Apresentar o conceito de busca, em espaço de estados.
2. Estudar as buscas cegas e as heurísticas.
3. Conhecer os subtipos debusca e seus métodos.
No capítulo anterior, aprendemos como formular corretamente os problemas e demos os primeiros passos em
busca das soluções. Agora, neste capitulo, aprenderemos como solucionar problemas através de técnicas de
busca em espaço de estados.
Lembra do problema das jarras, no capítulo anterior?
Ali, nós resolvemos o problema pela chamada força bruta, construindo uma árvore com todos os estados
possíveis, desde o estado inicial, até encontrarmos um estado objetivo.
Mas, nem sempre um problema ou mini-problema possui um espaço de estados pequeno, que permite examinar
todos os casos possíveis e encontrar a solução ou a solução ótima.
Vejamos um exemplo intermediário. Vamos retomar o jogo das 8 peças, apresentado no capítulo anterior, no
qual um tabuleiro com 9 posições contém 8 peças e uma casa vazia, por meio da qual se faz o movimento das
peças. O objetivo do jogo é atingir uma posição final específica (teste de objetivo), a partir de uma posição inicial
qualquer (aleatória, por exemplo), movimentando-se cada peça por meio do espaço vazio.
Vamos simbolizar o problema como uma matriz 3x3, numerando as peças de 1 a 9 e o espaço vazio como 0.
- -3
Aplicar uma função sucessor e construir todos os estados possíveis pode ser bastante complexo e demorado,
com tabuleiros maiores, então, até para um computador isso pode se tornar complicado de se realizar em tempo
razoável.
Vamos, então, pensar de forma inteligente. Como podemos mover as peças? Cada peça pode se mover,
potencialmente, em 4 direções possíveis, isso nos dá 32 regras para os possíveis movimentos. Se imaginarmos o
espaço vazio como uma peça, reduzimos nossas regras para apenas 4, assumindo que o espaço vazio é que é uma
"peça" que pode se movimentar nas quatro direções possíveis.
Teremos, então, quatro movimentos:
MC - movimento do espaço vazio (0) para cima.
MD - movimento do espaço vazio (0) para direita. 
MB - movimento do espaço vazio (0) para baixo. 
ME - movimento do espaço vazio (0) para esquerda.
A solução para o problema se dará pela execução do seguinte algoritmo:
Selecionar uma regra de movimento dentre as quatro possíveis, respeitando obviamente as fronteiras do
tabuleiro. Qual a melhor regra a ser selecionada? É aqui que entra uma parte extremamente importante do
método; lembre-se bem desse passo, dentro do contexto da solução, voltaremos aqui em breve.
Aplique a regra selecionada, gerando um novo estado e, consequentemente, um novo ramo da árvore, filho do
anterior.
Se o novo estado é igual ao estado objetivo, termine; caso contrário, volte ao passo 1.
Dá para perceber que o coração do sistema é o passo 1, pois, é nele que se seleciona (ou se tenta selecionar) a
melhor regra a ser aplicada, diminuindo assim a possibilidade de realizar uma busca muito grande e errática.
Observe a árvore de busca (incompleta):
Obs.: foram descartadas as funções sucessoras, que voltam ao estado anterior.
- -4
Podemos notar que a árvore de busca completa poderia ser bastante extensa, dependendo do estado inicial!
Como encontrar a solução de forma mais rápida, sem fazer a árvore de busca completa?
Para responder, vamos estudar os tipos de busca a seguir.
Busca cega - busca sem informação
Heurística - busca com informação
1 Busca cega
São buscas sem informação. Não há nenhuma informação adicional sobre os estados, além daquela fornecida na
definição do problema.
Vamos estudar dois métodos:
Busca em largura: é um algoritmo usado para realizar uma busca numa estrutura de árvore ou grafo. Começa 
pelo nó raiz e segue, explorando todos os nós vizinhos inexplorados, examinando sistematicamente todos os nós
de unia árvore, sem considerar o seu alvo de busca, até que ele o encontre.
- -5
E assim por diante...
é um algoritmo usado para realizar uma busca numa estrutura de árvore ou grafo.Busca em profundidade: 
Começa pelo nó raiz e se aprofunda, seguindo pela esquerda, explorando tanto quanto possível cada um dos seus
ramos, até que o alvo da busca seja encontrado, ou até que ele se depare com um nó que não possui filhos (nó
folha). Então a busca retrocede (backtrack) e recomeça no próximo nó vizinho.
No problema do quebra cabeça de 8 peças, teríamos a seguinte sequência de estados:
- -6
E assim por diante...
Obs.: As buscas em profundidade podem ser limitadas, isto é, podem ter um limite no qual ao atingi-lo o
algoritmo considera que chegou a um estado que não tem sucessor, ou seja, um nó que não possui filhos (nó
folha). Então, a busca retrocede (backtrack) e recomeça no próximo nó vizinho.
Concluímos que a busca cega encontrará, em média, a solução de forma mais rápida do que utilizando força
bruta, mas poderemos ter soluções ainda mais eficientes? Claro que sim!
2 Heurísticas
São buscas com informação. São utilizadas informações que permitem descobrir se um estado a ser seguido é
mais promissor que outro, dentro da árvore de busca.
Busca A*
Outro método de busca bastante difundido é a busca A* (busca completa e ótima) que, para gerar um novo
estado, dá preferência ao que possui a melhor função de avaliação, considerando nesta função a soma do custo e
a avaliação heurística. Esse método é ótimo e completo, mas com complexidades de tempo e de espaço
exponenciais. Porém, geralmente, gera menos nós que os outros métodos de busca.
Busca gulosa
A busca gulosa é um tipo de irrevogável, isto é, ela se caracteriza por não permitir que se volte atrás no espaço de
busca. Ela é muito utilizada, quando se tem pouco conhecimento do problema tratado.
O que vem na próxima aula
Na próxima aula, você estudará o assunto seguinte:
• Sistemas baseados em conhecimento e os sistemas especialistas.•
- -7
CONCLUSÃO
Nesta aula, você:
• Conheceu a busca em espaço de estados.
• Aprendeu que existem dois tipos de busca: as buscas cegas e as heurísticas.
• Percebeu que há meios de resolver problemas de forma inteligente, sem uso de força bruta.
• Conheceu as buscas em largura, em profundidade, a busca gulosa e busca A*.
• Compreendeu que nem sempre uma busca com uma heurística ótima pode ser a mais eficiente.
• Analisou os métodos de busca, utilizando o jogo das 8 peças.
•
•
•
•
•
•
- -1
INTELIGÊNCIA ARTIFICIAL APLICADA A 
JOGOS DIGITAIS
SISTEMAS BASEADOS EM CONHECIMENTO 
E SISTEMAS ESPECIALISTAS
- -2
Olá!
Nesta aula, você irá:
1. Estudar os sistemas baseados em conhecimento (SBCs) e os sistemas especialistas.
2. Conhecer exemplos de SBCs.
3. Compreender detalhes da programação de SBCs.
1 Humanos vs máquinas
O conhecimento é um requisito indispensável na resolução de problemas complexos e específicos. Existem
problemas em que nós, humanos, somos mais bem sucedidos do que as máquinas. Para que as máquinas
resolvam problemas desse tipo, elas devem ter o conhecimento que nós temos para resolvê-los.
As máquinas são melhores que os seres humanos em relação à velocidade e consistência que executam certas
tarefas, mas para que as máquinas executem tarefas para as quais o ser humano é melhor, devemos fornecer a
elas um conhecimento especializado, comparável ao que um especialista humano possui.
2 Sistemas baseados em conhecimento
Um sistema baseado em conhecimento (SBC) é um programa de computador que usa conhecimento
representado explicitamente para resolver problemas. Os SBCs são desenvolvidos para resolver problemas que
requerem uma quantidade razoável de conhecimento humano e especialização.
- -3
3 Sistemas especialistas
Um sistema especialista (SE) é um tipo de sistema baseado em conhecimento especialmente projetado para
emular a especialização humana de algum domínio específico. Um SE irá possuir uma base de conhecimento
formada de fatos e regras sobre o domínio, tal como um especialista humano faria.
Os Sistemas Especialistas (SEs) devem ser capazes de oferecer sugestões e conselhos aos usuários, no nível
comparável ao de especialistas naquela área. Essa habilidade de explicação é especialmente necessária em
domínios incertos (tal comono diagnóstico médico), para aumentar a confiabilidade do usuário, no conselho
fornecido pelo sistema, ou mesmo, para permitir o usuário detectar algum possível problema no raciocínio do
sistema.
Podemos, então, afirmar que todo sistema especialista é, em sua essência, um sistema baseado em
conhecimento, enquanto que a recíproca nem sempre é verdadeira, uma vez que podemos ter programas dentro
do escopo de IA que apresentem essa estrutura de conhecimento, mas não podem ser considerados sistemas
especialistas.
SEs
Aplicam conhecimento especializado em problemas difíceis existentes, sendo capazes de explicar seu
comportamento.
SBCs
Tornam o domínio de conhecimento explícito e separado de outras partes do sistema.
Aplicativos de IA
Exibem comportamento inteligente pela aplicação hábil de heurísticas.
- -4
Para que um SBC tenha desempenho similar a um especialista humano, ele deve:
• Possuir grande quantidade de conhecimento disponível.
• Acessar esse conhecimento rapidamente.
• Ser capaz de raciocinar adequadamente com esse conhecimento.
Adicionalmente, um SE deve ter uma capacidade amigável de interação humano-computador que torna o
raciocínio do sistema transparente ao usuário.
4 Arquitetura de um SBC
A arquitetura de um SBC é composta de:
• Base de Conhecimento.
• Área/memória de Trabalho.
• Mecanismo/motor de Inferência.
• Interface com usuário.
Módulo de aquisição de dados.
Módulo de Explicações.
•
•
•
•
•
•
•
- -5
Base de conhecimento
Contém informações necessárias, para solucionar problemas em um domínio específico, no nível de um
especialista. Possui um conjunto de sentenças expressas em uma linguagem de representação do conhecimento
(vide capítulo 3), que modelam o problema que se deseja resolver. As linguagens de representação do
conhecimento baseiam-se em diferentes técnicas de representação, tais como as redes semânticas, fremes e
lógica.
Área de trabalho
Armazena fatos deduzidos a respeito do problema corrente. Ela é atualizada sempre que novas informações
tornam-se disponíveis. A área de trabalho é urna memória temporária e tem seu conteúdo geralmente
descartado após a execução.
Mecanismo de inferência
É o cérebro do sistema, sendo capaz de realizar inferências sobre a base de conhecimento e obter conclusões.
Aplica as estratégias de inferência e controle, processando informações contidas na base de conhecimento e na
memória de trabalho, tentando assim encontrar uma solução para o problema.
Interface
É um processador de linguagem projetado para processar e produzir comunicação orientada a problemas entre
o usuário e o sistema, que ocorre usualmente numa linguagem natural, podendo ser complementada por menus
e elementos gráficos. Composta por:
Módulo de aquisição de dados: - Acionado pelo Mecanismo de Inferência quando este necessita dados
específicos. - Pergunta ao usuário, obtém as respostas, enviando-as ao Mecanismo de Inferência.
- -6
Módulo de Explicação: - Módulo que facilita a explicação, justificando as conclusões e explicando o
comportamento do sistema através de questões interativas.
5 Desenvolvimento de um SBC
O desenvolvimento de um SBC é uma forma de preservar, aproveitar e fazer uso da experiência dos membros de
uma organização.
O conhecimento de um especialista é capturado, organizado e disponibilizado na base de conhecimento durante
a construção deum SBC.
O que justifica a construção de um SBC?
Fatores:
• Custo.
• Habilidade e disponibilidade do especialista.
• Delimitações do domínio de conhecimento.
Quando é justificável
O desenvolvimento de um SBC é justificável quando (e/ou):
• A resolução do problema trará lucros.
• A falta de um especialista afeta a eficiência da tarefa.
• A tarefa tem um domínio bem delimitado.
• Especialistas são necessários em vários locais.
• Existe a necessidade de retenção de conhecimento.
5.1 Divisão do desenvolvimento do SBC
Podemos dividir o desenvolvimento de um SBC/SE nas seguintes fases:
1) Planejamento
• Identificação do domínio do conhecimento.
• Seleção da equipe de desenvolvimento.
• Seleção da ferramenta de desenvolvimento
(Prolog, Expert Sinta etc.).
2) Construção da base de conhecimento
• Aquisição de conhecimento.
• Representação de conhecimento (formalização).
3) Implementação
• Codificação.
• Representação o conhecimento na ferramenta.
• Construção do sistema de explicação, interface etc.
• Documentação do sistema.
4) Refinamento e validação
• Validação e verificação.
• Refinamento.
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
- -7
• Validação e verificação.
• Refinamento.
5.2 Ferramentas para o desenvolvimento de SBCs e SE
Historicamente, foram desenvolvidas diversas ferramentas com o intuito de auxiliar no processo de
implementação de SBCs e SEs. Dentre elas podem-se destacar:
Expert SINTA: É uma ferramenta visual para criação de sistemas especialistas que usa regras de produção;
desenvolvida pelo Laboratório de Inteligência Artificial da Universidade Federal
do Ceará.
ESPERTO: Ferramenta Web para o desenvolvimento colaborativo de Sistemas Especialistas de Classificação.
Prolog: Uma linguagem de programação que se enquadra no paradigma de Programação em Lógica Matemática. 
É uma linguagem de uso geral que é especialmente associada com a inteligência artificial e linguística
computacional.
6 Aplicações dos sistemas baseados em conhecimento e 
dos sistemas especialistas
Os sistemas baseados em conhecimento e os sistemas especialistas podem ser aplicados na solução de diversos
tipos de problemas, tais como:
Interpretação
• Análise de dados para determinar o seu significado.
• Exemplos: Processamento de imagem, reconhecimento de fala.
Classificação
• Determinar falhas num sistema a partir de um conjunto de sintomas.
• Exemplos: Diagnóstico de doenças, falhas de máquinas.
Monitoração
• Observação contínua de um sistema para agir quando uma situação acontece.
• Exemplos: Centrais de energia nuclear, tráfego aéreo, pacientes internados.
Planejamento
• Determinar conjunto de ações para atingir uma determinada meta.
• Exemplos: Operações de robôs, ações militares, genética molecular.
Projetos
• Especificações de um projeto de modo a obedecer a um conjunto de requisitos.
• Exemplos: Layout de circuitos eletrônicos, computadores, estruturas de engenharia.
Jogos
• Jogos de tabuleiro, de estratégia e outros.
• Exemplos: Xadrez, damas, Akinator.
•
•
•
•
•
•
•
•
•
•
•
•
•
•
- -8
Não deixe de visitar o site para ter uma idéia rápida e divertida do que um sistema baseado em conhecimento é
capaz de fazer. http://pt.akinator.com
O que vem na próxima aula
Na próxima aula, você estudará o seguinte assunto:
• O aprendizado de máquina: serão feitas as considerações iniciais, no que tange ao aprendizado de 
máquina. Será tratado, especificamente, o aprendizado indutivo de máquina e as árvores de decisão.
CONCLUSÃO
Nesta aula, você:
• Conheceu os sistemas baseados em conhecimento (sbcs).
• Conheceu também os sistemas especialistas e suas especificidades.
Saiba mais
Não deixe de acessar o Akinator, o Gênio da Internet! (Um sistema especialista capaz de
adivinhar o personagem que você está pensando!) //pt.akinator.com
•
•
•
http://pt.akinator.com/
http://pt.akinator.com
http://pt.akinator.com/
- -1
INTELIGÊNCIA ARTIFICIAL APLICADA A 
JOGOS DIGITAIS
APRENDIZADO DE MÁQUINA
- -2
Olá!
Nesta aula, você irá:
1. Conhecer o aprendizado de máquina e a necessidade (ou não) do seu uso.
2. Estudar as redes neurais.
3. Estudar as árvores de decisão.
1 Introdução
Jogos populares, como xadrez e dama, foram um dos pioneiros a utilizar técnicas de Aprendizado de Máquina,
também denominada, na literatura, como Machine Learning. Jogos modernos, que possuem gráficos e sons
realistas, alta interatividade e um gerenciamento mais cuidadoso dos recursos disponíveis, exigem a aplicação de
técnicas mais sofisticadas, indicando, assim, que estes novos jogos não são aplicações dedicadas a realizar
somente cálculos de InteligênciaArtificial.
Nesta aula, são discutidas técnicas de aprendizado que estão sendo utilizadas, atualmente, em jogos de
entretenimento digital.
2 Usar ou não técnicas de aprendizado de máquina?
O campo de Aprendizado de Máquina, em jogos de entretenimento em tempo real, até o momento, foi pouco
explorado, mas já manifestou bons exemplos de sucesso. Há alguns motivos para a falta do uso de técnicas de
aprendizado, podemos citar:
A utilização dessas técnicas é vista como de alto risco.
Há sempre uma associação com técnicas, como redes neurais e algoritmos genéticos, que normalmente têm uma
“fama” de serem consideradas de difícil utilização em jogos.
Apesar da falta do uso dessas técnicas de Aprendizado de Máquina, ou algoritmos baseados no princípio de
aprendizado, há vários benefícios em favor de uma maior utilização das mesmas: adaptar o jogo a estilos de
jogadores que não foram previstos na fase de desenvolvimento; ou determinar soluções para problemas que
- -3
seriam difíceis de resolver manualmente. Por exemplo, no jogo Colin McRae Rally 2.0, é usada uma rede neural
para aprender como dirigir um carro, evitando a necessidade de escrever um conjunto complexo de regras para
esta tarefa.
Por outro lado, é preciso verificar a real necessidade da utilização de aprendizado em um jogo, pois, poderá
ocorrer uma situação, onde teremos um gasto elevado de tempo de desenvolvimento em algo que poderá não ser
percebido pelo jogador. Ou seja, vale a pena?
É fundamental analisar os benefícios para os desenvolvedores e jogadores e a quantidade adicional de
complexidade exigida para programar esses algoritmos, tanto nas fases de desenvolvimento, quanto nas de
testes. Às vezes, a escolha por uma “impressão de aprendizado” pode ser mais vantajosa. Por exemplo: induzir
erros para uma IA simples que resolve o problema e, com o passar do tempo, fazer que esta quantidade de erros
seja diminuída para passar a impressão ao jogador de um aprendizado progressivo.
3 Comportamento adaptativo do aprendizado de máquina
Em jogos, o aprendizado pode ser feito através de duas maneiras de comportamento adaptativo:
Adaptação indireta: Extrai dados do mundo que são usados pelo sistema de IA, para modificar o 
comportamento do agente. O desenvolvedor de IA interpreta e determina quais os dados provocam alguma
mudança no comportamento do agente.
Adaptação direta: São aplicados algoritmos de aprendizado no próprio agente.
4 Técnicas de aprendizado
Entre as técnicas de Aprendizado de Máquina utilizadas até o momento, existem as sem embasamento científico,
como por exemplo, a que foi implementada no jogo Magic & Mayhem, desenvolvido pela empresa Mythos Games,
em que o jogador assume o papel de um mago que deve destruir monstros, feiticeiros, entre outros obstáculos.
Nesse jogo, periodicamente, são gravadas informações sobre as disputas com o jogador e, antes de iniciar uma
nova batalha, a IA do jogo compara a técnica de ataque a ser utilizada com essas informações armazenadas para
determinar o grau de efetividade deste tipo de ataque. Dessa forma, o jogo tem uma característica de se adaptar
ao estilo do jogador.
Entre as técnicas com embasamento científico, destacam-se a utilização das Redes Neurais, Algoritmos Genéticos
e, mais recentemente, as Árvores de Decisão. Nas subseções a seguir, são dados os conceitos das técnicas, Redes
Neurais e Árvores de Decisão.
- -4
5 Redes neurais
As Redes Neurais são baseadas nos comportamentos dos neurônios no cérebro. Elas se caracterizam por um
modelo de processamento paralelo e distribuído. Os neurônios transmitem sinais através de impulsos elétricos e
esses sinais chegam até os neurônios através dos dendritos e saem através dos axônios.
Um cérebro humano é composto por cerca de 1011 neurônios e cada neurônio tem por volta de 10.000 conexões
através dos dendritos. A região onde um axônio encontra um dendrito é denominada sinapse.
6 Árvores de decisão
Amplamente utilizadas em algoritmos de classificação, as Árvores de Decisão são representações simples do
conhecimento, e um meio eficiente de construir classificadores que predizem ou revelam classes ou informações
úteis baseadas nos valores de atributos de um conjunto de dados. Eles são muito úteis em atividades de
mineração de dados, isto é, o processo de extração de informações previamente desconhecida, a partir de
grandes bases de dados. Aplicações dessa técnica podem ser vistas em diversas áreas, desde cenários de
negócios até sistemas de piloto automático de aeronaves e diagnósticos médicos.
- -5
O que vem na próxima aula
Na próxima aula, você estudará os seguintes assuntos:
• Os Agentes de Software e os Sistemas Multiagentes. Serão apresentados os conceitos e definição sobre 
agentes, seu histórico e aplicações, as arquiteturas e tipos de agentes.
CONCLUSÃO
Nesta aula, você:
• Conheceu o aprendizado de máquina e a necessidade (ou não) do seu uso.
• Estudou as redes neurais e as árvores de decisão.
•
•
•
- -1
INTELIGÊNCIA ARTIFICIAL APLICADA A 
JOGOS DIGITAIS
AGENTES DE SOFTWARE E SISTEMAS 
MULTIAGENTE EM JOGOS
- -2
Olá!
Nesta aula, você irá:
1. Serão apresentados os conceitos e definição sobre agentes, aplicações, as arquiteturas e tipos de agentes.
2. Definido agente será apresentado o conceito dos Sistemas Multiagente, suas aplicações, arquiteturas,
ferramentas e usos.
1 Introdução
A pesquisa e o desenvolvimento de sistemas multiagente têm aumentado consideravelmente. Em relação a jogos
digitais este aumento foi motivado pelo surgimento e evolução das GPUs, com alto desempenho, grande
capacidade de memória, etc.
Com as (Graphics Processing Units) fazendo todo o trabalho gráfico pesado, o processador fica liberadoGPUs
para ser explorado por outros cálculos, por exemplo, cálculos de Inteligência Artificial envolvendo sistemas
multiagente.
A visualização da interação de diversos agentes, exibindo comportamentos distintos, propicia cada vez mais a
sensação de realismo de um jogo. Vamos definir a seguir o que são agentes e sistemas multiagente, bem como a
relação dos mesmos com os jogos digitais.
2 Agentes
Veja as definições que seguem:
"Um agente é uma entidade computacional com um comportamento autônomo que lhe permite decidir
suas próprias ações"
ALVARES, L.O.; SICHMAN, J. Introdução aos Sistemas Multiagentes. In: JORNADA DE ATUALIZAÇÃO EM
INFORMÁTICA, 16.; CONGRESSO DA SBC, 17., 1997, Brasília. Anais... Brasília: SBC, 1997. p.1-38.
"Um agente é definido como uma entidade computacional que pode perceber um ambiente através de
sensores e agir através de atuadores."
RUSSELL, Stuart. Norving, Peter. “INTELIGÊNCIA ARTIFICIAL”. Ed. Campus, 2003.
"Agentes autônomos estão situados em um ambiente no qual eles sentem e agem, sobre o tempo,
mantendo a sua própria agenda e sentem os efeitos de suas ações no futuro."
- -3
Franktln, S., Et Gtatoser, A. C. (19961. Is It an agent or pot a program? A taxcnotny for autonoman agem.
Proceedings of the Agent Theones. Architectures. and Languages Workshop. Spnnger-Yeriag
"Em relação a jogos eletrônicos, o termo agente é considerado como uma entidade que têm objetivos
(Por exemplo: permanecer vivo, defender uma cidade...), que pode sentir certas propriedades do
ambiente (Por exemplo: ver objetos, ouvir sons), e que pode executar ações específicas (Por exemplo:
Andar, comer uma maçã.
Nareyek..A. (http://www.ai-center.com/projects/excalibur/documentation/intro/agents/)
A partir das definições anteriores percebemos que o termo agente é amplamente utilizado, mas não possui um
consenso acerca do seu significado. Apesar disso, podem-se notar semelhanças entre as definições, assim,
podemos imaginar um agente de acordo com a última definição, (Alexander Nereyek), que estámenos formal 
relacionada a jogos digitais. Releia a última definição e observe a figura abaixo:
O termo agente é utilizado em muitas áreas da Ciência da Computação, mas especialmente na área de
Inteligência Artificial, empregando-sea forma agente inteligente.
3 Propriedades de um agente
Algumas propriedades em um agente consideradas importantes:
Autonomia: Capacidade de atuar sem a interferência do usuário, possuindo algum tipo de controle sobre suas 
ações e seu estado interno. As tomadas de decisão são elaboradas baseando-se mais em experiências passadas
do que no conhecimento previamente inserido pelo programador da inteligência artificial.
Proatividade: Capacidade de atingir suas metas tomando iniciativas para o cumprimento das mesmas e não
simplesmente em resposta ao seu ambiente. Em outras palavras: ter um comportamento orientado a objetivos e
não apenas responder aos estímulos do ambiente (comportamento puramente reativo).
Reatividade: Percebem seu ambiente e respondem às mudanças ocorridas. Em alguns casos o agente fica em 
stand-by e só é ativado se algum evento específico ocorrer no ambiente.
http://www.ai-center.com/projects/excalibur/documentation/intro/agents/
http://www.ai-center.com/projects/excalibur/documentation/intro/agents/
- -4
Sociabilidade: Interagem com outros agentes e em alguns casos com seres humanos por algum tipo de
linguagem de comunicação.
Continuidade temporal: Executam continuamente processos que tanto podem estar ativos, em foreground,
quanto adormecidos, em background.
Mobilidade: Capaz de se deslocar para ambientes diferentes do original.
Atenção
Para considerarmos um agente como inteligente devemos ter, no mínimo, a presença das quatro primeiras
propriedades: autonomia, pró-atividade, reatividade e sociabilidade.
Estamos interessados nos agentes inteligentes, assim, a partir de agora, quando nos referirmos a agentes
estaremos nos referindo a “agentes inteligentes”, ou seja, aqueles dentro dos critérios expostos acima.
Existem duas categorias para classificar os agentes quanto à aquisição de inteligência:
Eles podem ser deliberativos e reativos.
Agentes deliberativos: São aqueles que possuem um modelo de raciocínio e um modelo simbólico e interno, 
utilizado para tomar decisões e executar tarefas necessárias para alcançar seus objetivos. Estes agentes também
são chamados de simbólicos ou cognitivos.
Agentes reativos: , executam apenas quando estimulados, em resposta ao Diferentemente dos deliberativos
estado atual do ambiente no qual estão inseridos. Eles não possuem um modelo simbólico e interno dos mesmos.
Eles também são denominados reflexivos.
A diferença está relacionada no fato dos agentes reativos considerarem as informações correntes do ambiente
para tomadas de decisão, eles não têm "memória" para armazenar experiências, agem por “instinto”. Os
deliberativos podem aprender através de experiências e utilizam um conhecimento adquirido para auxiliar nas
tomadas de decisão. Entretanto, não se deve concluir que devido ao fato de serem considerados reativos, os
agentes são de simples modelagem ou fácil implementação.
4 Sistemas multiagente
Agentes podem conviver em um mesmo ambiente, formando assim, uma sociedade. Nesta sociedade, existem
constantes trocas de informações entre os agentes as quais são designadas como interações.
Estas interações indicam que os agentes podem ser influenciados por outros agentes, ou até por alguma
intervenção humana, quando estão realizando seus objetivos. A interação pode ser feita de uma forma indireta,
através do ambiente em que o agente está inserido, por exemplo, quando o agente modifica o ambiente ou
observa outros agentes.
- -5
A interação também pode ser de forma direta através da utilização de linguagens de comunicação,
proporcionando assim a troca de informações.
Nos sistemas multiagente (SMA), MultiAgent Systems, são estudados os meios apropriados para organizar os
agentes, incluindo conceitos organizacionais e mecanismos de comunicação.
Quando falamos sobre sistemas multiagente é importante comentar que estamos tratando no âmbito da
Inteligência Artificial Distribuída.
A Inteligência Artificial Distribuída (IAD), é o estudo e projeto de sistemas em que vários agentes interagem,
distribuindo-se logicamente, ou algumas vezes, espacialmente, onde podem ser de chamados autônomos e
inteligentes.
STONE, P., VELOSO, M. - Multiagent Systems: A Survey from a Machine Learning Perspective. CMU CS technical
report number CMU-CS-97-193, USA, 1997.
Podemos identificar a Inteligência Artificial Distribuída como a interseção da Computação Distribuída e da
Inteligência Artificial:
- -6
Não foi preciso passar muito tempo, para que aplicações como os jogos eletrônicos fossem utilizados para
pesquisas na área da Inteligência Artificial Distribuída, utilizando portando sistemas multiagente.
O xadrez foi um dos primeiros a serem utilizados. Com a meta de se vencer uma partida de xadrez como um
problema padrão, era possível testar duas soluções diferentes para o mesmo problema ou mesmo testar uma das
versões contra um jogador humano de boa qualidade.
Em jogos eletrônicos de esporte como os jogos da série FIFA Soccer, e de primeira pessoa, como Quake, Doom e
Unreal, temos usos massivos de sistemas multiagente. Cada personagem é modelado com um agente inteligente
e coopera com os demais para vencer o (no caso, você).oponente 
Os (agentes) podem aprender com os movimentos do jogador, dificultando o jogo quando opersonagens
jogador é muito bom, ou facilitando quando o mesmo é ruim.
Os Sistemas multiagente reativos, apesar de serem formados somente por agentes reativos, podem realizar
tarefas complexas. A interação dos agentes pode revelar a comportamentos emergentes impressionantes. O
comportamento das formigas na natureza é um ótimo exemplo inspirador, pois uma formiga não revela muito
poder de atuação, mas atuando em conjunto com outras, formam uma sociedade bem organizada.
Como exemplo, uma forma de animação de um comportamento chamado flocking define claramente o que é este
comportamento emergente: No flocking, um grupo de entidades, chamadas boids, que utilizam regras simples,
quando estão em grupo, apresentam comportamentos realísticos, muito similares aos cardumes de peixes ou
bando de aves se movendo de forma sincronizada.
Este comportamento emergente tem sido constantemente utilizado em jogos eletrônicos para simulação da
movimentação de grupos de entidades, como tropas de batalhas e animais. Em títulos como Super Mario 64,
Unreal e Half-Life foram usados algoritmos de flocking para a movimentação de monstros e outras criaturas
mais simples, como pássaros e peixes.
Os SMAs reativos também são encontrados em jogos de combate. Nestes jogos, os SMAs assumem a
denominação de Team AI, também conhecido pelo termo Squad AI. São responsáveis pelo comportamento de
grupos de personagens que representam adversários ou aliados do jogador. Estes personagens podem assumir a
forma de humanos, monstros entre outras criaturas. Os adversários se organizam para atacar da melhor forma
possível, procurando lugares estratégicos para se protegerem e atacarem, informando uns aos outros sobre a
posição e orientação do jogador, entre outras atitudes. Os aliados também se organizam de forma similar aos
adversários, mas com o objetivo de beneficiar o jogador. Nestes grupos cada membro é modelado normalmente
como um agente reativo, e há uma constante troca de mensagens entre eles para decidirem qual a melhor ação
que deve ser executada em determinado momento.
Duas formas de controle são adotadas para manipulação desses agentes:
- -7
Centralizada: Um agente pensa nas decisões pelo grupo. Aspectos como coordenação e sincronismo são 
favorecidos nesta abordagem.
Descentralizada: Cada agente faz a sua tomada de decisão. Aspectos como variação e comportamentos 
emergentes são evidentes.
O controle descentralizado é o único que pode ser considerado um SMA reativo, pois os agentes nesta
abordagem são autônomos, não há a presença de um líder. Na abordagem centralizada, a presença do líder
tomando as decisões para todos os membros, torna a autonomia de cada agente nula.
Os SMAs deliberativos

Continue navegando