Universidade Estadual de Campinas – UNICAMP Faculdade

Propaganda
1
Universidade Estadual de Campinas – UNICAMP
Faculdade de Engenharia Elétrica e de Computação (FEEC)
Elementos de Inteligência Artificial utilizados em Jogos Digitais –
Conceitos, Objetivos e Tendências
Alexandre Iakovlevitch Kopelevitch - 041730
Anderson Carlos Bueno dos Santos - 098711
Daniel Bruno Gallinari - 042731
Campinas – SP
2009
2
Universidade Estadual de Campinas – UNICAMP
Faculdade de Engenharia Elétrica e de Computação (FEEC)
Elementos de Inteligência Artificial utilizados em Jogos Digitais –
Conceitos, Objetivos e Tendências
Alexandre Iakovlevitch Kopelevitch - 041730
Anderson Carlos Bueno dos Santos - 098711
Daniel Bruno Gallinari - 042731
Documento dissertativo sobre o tema
“Elementos de Inteligência Artificial utilizados em Jogos Digitais”
redigido para a disciplina IA369 – Turma Q, ministrada pelo
Prof. José Mario De Martino.
Campinas – SP
2009
3
SUMÁRIO
RESUMO ....................................................................................................................................4
ABSTRACT................................................................................................................................4
GLOSSÁRIO ..............................................................................................................................5
1
INTRODUÇÃO ..................................................................................................................6
2
INTELIGÊNCIA ARTIFICIAL – O QUE É? .....................................................................7
2.1
Objetivos da IA ............................................................................................................9
2.1.1
2.2
Aplicações práticas da IA a Jogos Digitais – O que já é possível resolver? ..............10
2.3
IA aplicada a Jogos Digitais – quais os objetivos? ....................................................12
2.4
IA – Quais as restrições encontradas? ........................................................................13
2.4.1
3
Sistemas inteligentes ...........................................................................................10
Restrições da aplicação de IA em Jogos Digitais ...............................................14
Exemplo de aplicação da IA: “Monges e Canibais” .........................................................16
3.1
Melhorando a representação ......................................................................................18
4
TENDÊNCIAS DA INTELIGÊNCIA ARTIFICIAL .......................................................21
5
CONSIDERAÇÕES FINAIS ...........................................................................................22
6
BIBLIOGRAFIA ..............................................................................................................23
4
RESUMO
A Inteligência Artificial aplicada a Jogos Digitais propõe jogos cada vez mais
interativos. A partir desta afirmação, o presente documento expõe conceitos e objetivos
inerentes à Inteligência Artificial, procurando avaliar a veracidade da afirmação inicial. Com
isso, espera-se despertar interesse acerca da formulação dos conceitos e objetivos
relacionados à Inteligência Artificial, além de tentar apontar as tendências desta área.
ABSTRACT
Artificial Intelligence applied to Digital Games offers games increasingly interactive.
From this statement, this document sets out concepts and goals inherent in Artificial
Intelligence, attempting to assess the veracity of the initial statement. With this, it is expected
to arouse interest among the formulation of the concepts and goals related to Artificial
Intelligence, and try to point out the trends in this area.
5
GLOSSÁRIO
First Person Shooter
(FPS)
Gênero de jogos digitais onde o jogador tem a visão do
personagem protagonista, ou seja, ele caminha vendo seus braços
e objetos que segura sem poder ver o corpo inteiro de uma vez.
6
1
INTRODUÇÃO
Desde o início do surgimento da informática, os pesquisadores almejavam conseguir
com que o computador pudesse aprender com seus erros e desta forma melhorar seu
desempenho. É nesta área que entra a Inteligência Artificial (IA), que possibilita o surgimento
de programas especializados que possam agir cada vez mais como os humanos, atuando,
aprendendo e tomando decisões (DINÍZIO, 2003).
A competitividade entre as empresas focadas em jogos digitais possibilitou, nas
últimas décadas, uma melhoria considerável na qualidade de entretenimento e aprendizado
(dependendo do foco do jogo) em comparação com os primeiros jogos digitais desenvolvidos.
À medida que o poder do hardware que executa os jogos digitais aumentou, esforços em
melhorar a qualidade gráfica e sonora se tornaram constantes, entretanto o crescimento da IA
não foi tão grande, pois se ela fosse melhorada haveria sacrifícios na qualidade gráfica – o que
as empresas desenvolvedoras preferiam não perder. Isso provocou certa estagnação no
processo evolutivo da IA para jogos digitais.
Na década de 90 um esforço maior foi iniciado a fim de trazer um comportamento
mais natural para personagens controlados pela máquina. Este esforço culminou no maior uso
e aprimoramento das técnicas de Inteligência Artificial (IA) – onde o resultado foi um
comportamento cada vez mais natural e próximo ao que um ser humano pensaria em fazer
diante de diferentes situações. Atualmente as técnicas mais complexas de IA que encontramos
em jogos, são dos gêneros de First Person Shooter (FPS) que devem levar muitos fatores em
consideração. No jogo Killzone (Playstation 2), por exemplo, os inimigos tentam se esconder
quando são atacados pelo jogador humano, baseando-se em pontos pré-estabelecidos no
mapa, calculando em qual deles a defesa será maior, qual o tempo para se chegar até este
esconderijo e ao mesmo tempo qual destes pontos irá possibilitar uma resposta mais adequada
ao ataque. Um desafio neste tipo de jogo ainda é a capacidade dos inimigos agirem por conta
própria invés de ficarem parados e tomarem uma ação somente quando o jogador estiver em
certa área ou raio de visão.
Há uma associação internacional de desenvolvedores de jogos digitais que está
trabalhando para criar uma série de padrões para a implementação da IA. Atualmente o poder
7
de processamento e capacidade de armazenamento do hardware abre espaço para maior
desenvolvimento da IA nos jogos, sem perda gráfica caso se aumente a capacidade e
velocidade da Inteligência Artificial (MOTT, 2009).
2
INTELIGÊNCIA ARTIFICIAL – O QUE É?
Antes de entrar na discussão sobre as técnicas de IA aplicadas aos jogos é preciso
compreender o que é Inteligência e posteriormente o que é Inteligência Artificial. Tentar
definir o conceito de inteligência é uma tarefa difícil visto que há divergências filosóficas
entre vários pensadores e pesquisadores (antigos e modernos).
Sendo um conceito controverso que não possui uma definição única, há vários grupos
de indivíduos que busca encontrar uma definição que melhor se encaixe a inteligência.
Algumas definições são listadas abaixo:
• “A habilidade de usar memória, conhecimento, experiência, entendimento, raciocínio,
imaginação e julgamento para resolver problemas e adaptar-se a novas situações.”
AllWords Dictionary, 2006
• “A capacidade de adquirir e aplicar conhecimento.” The American Heritage
Dictionary, fourth edition, 2000
• “A habilidade de aprender, entender e tomar decisões ou ter opiniões baseadas no
raciocínio.” Cambridge Advance Learner’s Discitonary, 2006
• “...a habilidade de se adaptar ao ambiente.” World Book Encyclopedia, 2006
• “A habilidade de aprender e entender ou lidar com problemas.” World Central Student
Dictionary, 2006
• “Inteligência é a habilidade de aprender, exercer julgamento e ser imaginativo.” J.
Huarte
Estes são apenas alguns conceitos que tentam definir a inteligência de um modo geral. Há
semelhanças, porém também há pontos de desequilíbrio nestas definições se confrontadas
diretamente. De qualquer forma, os pesquisadores no campo de IA devem tomar um partido e
formatar definições para sua área a partir dos estudos de indivíduos e grupos que adotaram
uma explicação para a inteligência. São apresentadas aqui cindo das muitas definições de
8
pesquisadores da área de IA:
•
“Qualquer sistema ...que gera uma comportamento adaptativo para suprir objetivos
em um grupo de ambientes pode ser chamado de inteligente.” D. Fogel
•
“Atingir objetivos complexos em ambientes complexos.” B. Goertzel
•
“...habilidade de resolver problemas difíceis.” M. Minsky
•
“Inteligência significa melhorar com o tempo.” Schank
•
“Sistemas inteligentes devem trabalhar, e bem, em diferentes ambientes. Sua
propriedade de inteligência proporciona maximizar a probabilidade de sucesso,
mesmo não possuindo total conhecimento da situação. O funcionamento de
sistemas inteligentes não pode ser considerado separadamente do ambiente e da
situação concreta incluindo o objetivo.” R.R. Gudwin
Quando se analisa as definições propostas pelos pesquisadores e grupos, é possível
filtrar pontos comuns que podem servir de base para uma única definição (mesmo que não
esteja completamente correta no sentido da falta de variáveis). Percebemos que se trata de
uma propriedade que um agente individual possui quando interage com um ou mais
ambientes, seguindo um objetivo ou meta que devem ser alcançados com o uso desta
propriedade e tendo a capacidade de aprender as formas mais e menos corretas de resolver um
problema. Este é o conjunto de características que podem fazer parte do conceito inteligência
artificial que será adotado em nosso trabalho (GOERTZEL et. al., 2007).
O filósofo lingüístico John Searle criou um experimento pensante que pode fazer um paralelo
didático ao conceito de Inteligência Artificial, denominado “Sala Chinesa”. Este experimento funciona
da seguinte maneira: John imaginou-se sentado em uma sala. Ele receberia símbolos chineses através da
janela. Ele deveria procurar por esse símbolo em um livro, que diria a ele para encontrar um outro
símbolo em um dos enormes arquivos localizados na sala. Depois ele passaria o novo símbolo pela
janela. Em nenhum momento, ele entenderia qualquer um dos símbolos.
Já as pessoas fora daquela sala (que veriam a resposta devolvida pela janela) estariam fazendo
perguntas pela janela e uma resposta válida estava sendo devolvida. Elas estavam convencidas de que a
sala continha alguém que conhecesse o significado daquelas perguntas e respostas (BENTLEY, 2002).
Este experimento foi publicado pela primeira vez em 1980 pelo próprio John Searle no
artigo “Minds, Brains and Programs”. Naquele contexto, Searle tinha realmente um retrato da
realidade da IA. No entanto, pouco mais a frente é possível rebater tal argumento com simples
9
exemplos um pouco mais sofisticados (implementáveis por meio das técnicas existentes na
atualidade). Dentre eles, pode-se citar: o homem da sala identifica quem fala chinês; o homem
demonstra uma espécie de memória sobre as respostas; etc (COLE, 2008).
2.1
Objetivos da IA
Alguns pesquisadores acreditam que ao fornecerem a um computador poder de
processamento suficiente e provendo-o com certa quantidade de inteligência, é possível criar
uma máquina que possam literalmente pensar e ser conscientes da mesma forma que os seres
humanos. Por outro lado filósofos e outros pesquisadores de IA vêem esta possibilidade como
sendo falsa ou até mesmo ridícula. Este tipo de suposição é leva em consideração apenas
como parte de filmes de ficção científica, mas não é considerada como a meta da inteligência
artificial.
Existem várias técnicas e métodos de IA que servem para propósitos diferenciados.
Um exemplo seria o uso da lógica e raciocínio automatizado para resolver uma série de
problemas mesmo que não se conheça o mundo por trás destes problemas. Em contrapartida
existem métodos que devem lidar com um grande conhecimento a respeito de um mundo e os
problemas que são encontrados dentro dele. De qualquer forma, um método depende do outro,
já que um sistema com conhecimento amplo é inútil sem uma metodologia para lidar com este
conhecimento. O termo Inteligência Artificial foi usado pela primeira vez em 1956 por John
McCarthy em uma conferência na Universidade de Dartmouth em Hanover. Em seguida,
1957, foi apresentada a idéia do General Problem Solver (GPS) que tinha o intuito de resolver
praticamente qualquer problema lógico. A metodologia utilizada focava na idéia de descobrir
o que era preciso fazer e depois trabalhar em uma forma de fazê-lo. Isso funcionou bem para
problemas simples, porém foi logo constatado que de uma forma geral o GPS poderia resolver
somente alguns problemas específicos para os quais ele foi adaptado. Faltava a este sistema
um ingrediente fundamental: conhecimento.
A partir das tentativas dos usos da IA é possível notar que o principal objetivo, a
principio, seria de criar sistemas inteligentes o suficiente para analisar uma situação em um
dado ambiente e tomar uma decisão para resolver problemas que tal situação poderia oferecer.
10
Uma vez tomada a decisão o sistema deveria aprender e saber se a decisão tomada é a correta
ou não, formulando assim uma base de conhecimento adquirido não somente em sua
programação inicial mas fundamentada também nas ações tomadas e sofridas ao longo de seu
funcionamento.
2.1.1 Sistemas inteligentes
Atualmente existem inúmeras aplicações de sistemas inteligentes especialistas que
ajudam em nosso dia-a-dia. Mas qual seria a diferença entre sistemas inteligentes e sistemas
que parecem inteligentes?
Um exemplo claro seria um programa de investimentos que compra uma ação
especifica quando seu preço chega a um nível especifico. Aqui não há uso de inteligência e
sim um comportamento programado que nunca irá mudar independente do resultado deste
comportamento. O sistema inteligente, por outro lado, possui um domínio de conhecimento
que possibilita a tomada de decisões mesmo que os parâmetros oscilem ou surjam situações
inesperadas. Tal sistema seria capaz de comprar livros para um usuário da Internet pelo menor
preço possível. Ele deveria saber como interagir com as livrarias virtuais existentes, bem
como com novas livrarias e negociantes de livros usados. A capacidade de aprender com seu
próprio desempenho, outros sistemas, usuários ou com o ambiente no qual se encontram.
Uma unidade de um sistema inteligente é mais comumente classificada como agente
inteligente no mundo da IA. Um agente pode ser biológico (pessoas ou animais, por
exemplo),
robótico
ou
computacional.
Neste
documento
abordamos
os
agentes
computacionais aos quais são designadas tarefas em nome de um usuário. A cooperação entre
agentes implica numa forma de interação social dos mesmos. Como exemplo, um agente
comprador poderia negociar com um agente vendedor para realizar uma compra (não
esquecendo que um poderia aprender com o outro). Este seria um sistema classificado como
multiagente – um sistema composto de vários agentes inteligentes que interagem formando
um grande e único sistema inteligente.
2.2
Aplicações práticas da IA a Jogos Digitais – O que já é possível
11
resolver?
Segundo Russel e Norvig (2004, p.157), “para pesquisadores de IA, a natureza abstrata
dos jogos os torna um assunto atraente para estudo”.
Uma técnica de inteligência artificial bastante comum em jogos de tiro é a técnica
FSM (Finite State Machine), máquina de estados finitos, em uma tradução livre. Segundo
Karlsson (2005, p.19), uma máquina de estados “é basicamente composta por um conjunto de
estados e um conjunto de regras de transição entre estes estados”.
A Figura 1 exemplifica o uso de FSM em uma entidade pertencente ao estilo FPS
(First Person Shooter) de jogos digitais.
Figura 1. Aplicação de FSM no contexto de jogos digitais – estilo FPS.
Segundo DINÍZIO (2003, p.4), existem dois tipos de máquinas de estado finito, a
determinística, onde a transição pode sempre ser prevista (existe uma entrada e uma transição)
12
e a não-determinística, ou seja, dado uma entrada e um estado atual, a transição nem sempre
pode ser prevista, sendo necessário ter uma entrada para conhecer a transição e o estado final.
Além desta técnica, muitas outras podem ser citadas. A Tabela 1 mostra as técnicas
mais comumente aplicadas a alguns gêneros de jogos digitais na atualidade.
Tabela 1. Comparativo - Técnicas (da IA) versus Gêneros (de jogos digitais).
Fonte: Adaptado de Filho, 2005.
Analisando quantitativamente o uso destas técnicas, é possível verificar a presença de
FSM (Máquina de Estados Finitos) em 8 (oito) dos 9 (nove) gêneros abordados nesta tabela.
Logo atrás, o “Sistema de Mensagens” aparece 7 (sete) vezes, seguido pelo “Sistema de
Script” (seis ocorrências).
2.3
IA aplicada a Jogos Digitais – quais os objetivos?
Ao analisar o termo “Inteligência Artificial”, é possível abstrair o principal objetivo
desta área de pesquisa: criar Inteligência. Inteligência esta criada a partir de programação.
13
No momento em que este conceito é trazido para o contexto de jogos digitais, ganha
ainda mais destaque e desperta um interesse muito grande por parte dos desenvolvedores de
jogos, já que uma das propostas dos jogos digitais é a de produzir interatividade ao jogador
até mesmo jogando sozinho – e isto, na maior parte dos casos, requer o uso da inteligência
artificial.
Os objetivos inerentes a esta área no contexto de jogos digitais tendem a convergir
com os desafios encontrados na reprodução de um sistema inteligente, ou seja, a dificuldade
em desenvolver um sistema que possua as mesmas capacidades entendidas por inteligência no
ser humano. Dentre elas, a capacidade de raciocínio, memorização, aplicação de
conhecimentos (aprendizagem), imaginação e julgamento (GOERTZEL et. al., 2006).
É possível concluir, assim, que o objetivo da IA em Jogos Digitais é criar um ser capaz
de articular-se como uma pessoa real, mas no mundo virtual.
2.4
IA – Quais as restrições encontradas?
Atualmente, os computadores que utilizam Inteligência Artificial, conseguem
reproduzir o comportamento humano enquanto topográfico, mas não de uma maneira
semelhante à forma interativa como os seres humanos conseguem. O ser humano tem uma
capacidade biológica selecionada que nos permite interagir com possibilidades culturais. O
legado radical da Teoria de Evolução desenvolvida por Charles Darwin descreve que não
existe positividade alguma em ser humano e ser inteligente, pois se trata apenas de um
complexo de relações que proporiam um estado particular, produto de um cruzamento
temporal entre extrato biológico e uma complexidade simbólica, assim, a inteligência artificial
encontra um limite claro e preciso do meio onde será gerada a partir dos seus elementos,
sendo diferente da inteligência humana, à medida que os resultados provêm da emergência de
elementos totalmente encontrados nos seres humanos.
Existem atualmente muitas recriações de animais de estimação e recriações de
algumas características da inteligência humana, porém sem execução total na sua magnitude,
14
complexidade e habilidade de adaptação ao seu meio e aprendizado. Um exemplo disto é a
simulação do cérebro de um gato feito pela empresa IBM (novembro de 2009).
Também pode-se citar o campo de reconhecimento de fala como um dos problemas
que recebem grande atenção por parte da comunidade científica. Ele envolve muitas variáveis,
que o tornam complexo. Dentre estas variáveis, pode-se citar: o ambiente no qual o sistema
trabalha (ruidoso, silencioso, irregular); disposição do microfone (posicionamento, distância);
velocidade da fala e entonação.
Coppin(2004) cita um exemplo interessante e pertinente ao assunto aqui tratado. Tratase do computador fictício HAL (Heuristically Programmed ALgorithmic Computer), um
personagem da série “Odisséia espacial”, de Arthur C. Clarke e mais à frente da adaptação
cinematográfica feita por Stanley Kubrick “2001: A Space Odyssey” (1968). Este personagem
chama a atenção por suas habilidades humanas. Dentre elas, destaca-se o reconhecimento de
fala por leitura labial, diálogos elaborados, jogos de xadrez, entre outros.
A partir daí, é possível analisar as restrições e soluções encontradas pela Inteligência
Artificial até os dias atuais. Se o computador HAL precisasse ser desenvolvido hoje, em quais
habilidades ele se assemelharia ao da ficção? Esta resposta muda a cada dia que passa, mas
ainda é o suficiente para levantar as restrições encontradas na IA.
2.4.1 Restrições da aplicação de IA em Jogos Digitais
Segundo Filho (2005), a área gráfica dos jogos consome grande parte dos recursos
computacionais de um jogo, o que complica o processamento da IA.
Com isso, torna-se cada vez mais necessária a criação de um hardware dedicado ao
processamento da IA (assim como o GPU processa a parte gráfica), um IAPU ou AIPU
(Artificial Intelligence Processor Unit). Atualmente, as principais fabricantes de
processadores já investem em processadores descentralizados, trazendo à tona a previsão de
uma AIPU nos próximos modelos.
15
Além disso, os desenvolvedores de jogos digitais dedicam-se à tarefa de interação com
o jogador, algo que ainda mostra-se demasiado nebuloso. Para isto, utilizam-se de sensores e
câmeras que captam os movimentos e registram imagens procurando padrões. A Microsoft
promete o lançamento de um projeto bastante provocante para a área de IA no ano de 2010.
Trata-se do Project Natal para a plataforma Xbox. Este projeto inclui reconhecimento de fala
e interação com o jogador, além de captação de movimentos sem a necessidade de fios ou
sensores no corpo.
São especulações que podem não sair das promessas, mas, se chegarem a resolver bem
questões como as citadas acima, representarão um grande avanço para a comunidade
científica no campo da IA.
16
3
Exemplo de aplicação da IA: “Monges e Canibais”
O problema dos monges e canibais é um problema bastante relatado em estudos de IA.
Segue:
“Três monges e três canibais estão em um lado do rio, com uma canoa. Todos eles
querem atravessar o rio. A canoa suporta somente uma ou duas pessoas por vez. Em nenhum
momento deve haver mais canibais do que monges em um mesmo lado do rio, pois isso
resultaria na morte dos monges.”
Para resolver este problema, é necessário construir uma representação adequada.
Em primeiro lugar, considera-se que um Estado na resolução do problema consiste de
um certo número de canibais e um certo número de monges em cada lado do rio, com o barco
de um lado ou do outro. Pode-se representar isto, por exemplo, como
3, 3, 1
0, 0, 0
Os números à esquerda representam o número de canibais, monges e canoas em um
lado do rio e os que estão à direita representam o que há no outro lado do rio.
Já que os números de um lado são totalmente dependentes dos do outro lado, pode-se
mostrar somente a quantidade existente do lado direito. Desta maneira, o estado inicial é
representado por
0, 0, 0
e o estado pretendido é representado por
3, 3, 1
Um exemplo de estado que deve ser evitado é
2, 1, 1
Neste caso, há dois canibais e apenas um monge, resultando na morte deste.
Para sair de um estado a outro, é necessário aplicar um operador. Os operadores
17
disponíveis neste caso são:
1. Levar um canibal ao outro lado
2. Levar dois canibais ao outro lado
3. Levar um monge ao outro lado
4. Levar dois monges ao outro lado
5. Levar um monge e um canibal ao outro lado
Ao aplicar o operador 5 ao estado representado por 1, 1, 0, obtém-se o resultado 2, 2, 1
(lembrando que está sendo considerado o lado objetivo). Um canibal, um monge e a canoa
agora foram para o outro lado (lado objetivo). Aplicar o operador 3 a este estado resultaria em
um estado ilegal: 2, 1, 0.
Regras como esta são chamadas de constraints. Elas limitam os possíveis operadores
que podem atuar em cada estado. Ao construir corretamente uma representação, as constraints
são definidas e, deste modo, é provável que não haja necessidade de examinar estados ilegais
(na hipótese de constraints bem definidas).
Também é necessário um teste que verifica se o “estado-objetivo” não foi alcançado –
3, 3, 1.
Será considerado como custo do caminho escolhido o número de passos necessários,
ou o número de vezes que um operador é aplicado. Em alguns casos, é desejável que tal custo
seja minimizado.
A Figura 2 mostra os três primeiros níveis de uma árvore de busca para o problema
dos monges e canibais. As arestas possuem o número do operador utilizado.
18
Figura 2. Árvore de busca parcial para o problema dos monges e canibais.
Estendendo esta árvore e incluindo todos os caminhos possíveis, além dos estados aos
quais eles levam, é possível chegar a uma solução. Uma solução para o problema seria
representada por um caminho feito do nó raiz ao nó objetivo.
Esta árvore representa a presença de um ciclo no espaço de busca. Note que o uso de
árvores de busca para representar o espaço de busca significa que a representação não
apresenta ciclos, mesmo quando um caminho cíclico está sendo tomado no espaço de busca.
3.1
Melhorando a representação
Uma representação mais eficiente para o problema seria uma que não incluísse ciclos.
A Figura 3 é uma versão estendida da árvore de busca para o problema que omite ciclos e
inclui “nós objetivos” (nós pretendidos).
Note que nesta árvore, foi omitida a maior parte dos estados repetidos. Por exemplo,
do estado 1, 0, 0, o operador é o único mostrado. Na verdade, também há a possibilidade de
usar os operadores 1 e 3, chegando aos estados 2, 0, 1 e 1, 1, 1, respectivamente. Nenhum
destes foi mostrado, porque já apareceram na árvore.
Assim como evitar ciclos, também foram removidos ciclos sub ótimos da árvore. Se
19
um caminho de comprimento 2 chega em um determinado estado e um outro de comprimento
3 também, dá-se preferência ao mais curto, ou seja, comprimento 2. Desta maneira, pode-se
chegar a um caminho menos custoso.
Assim sendo, os dois caminhos apresentados na Figura 3 são os dois menores
possíveis. Seguramente existem muitos outros caminhos (mais longos) que chegam ao mesmo
resultado.
Figura 3. Árvore de busca para o problema “Monges e Canibais” sem ciclos.
20
Para produzir a árvore de busca sem estados repetidos, é necessário o uso de memória,
a qual pode armazenar os estados visitados a fim de não revisitá-los.
Portanto, resolver o problema “Monges e Canibais” envolve buscar na árvore de
busca. (A Seção 3 é um exemplo traduzido e adaptado do livro: Coppin, Ben. Artificial
Intelligence Illuminated. Jones and Bartlett Publishers, Sudbury, Massachusetts, 2004.)
21
4
TENDÊNCIAS DA INTELIGÊNCIA ARTIFICIAL
Como citado na Seção 2.4, é provável que o uso de hardware dedicado exclusivamente
ao processamento de IA seja somente uma questão de tempo. Notícias indicam que as
principais fabricantes de hardware já falavam de AIPU desde 2006 (pelo menos).
Também abordado na Seção 2.4, o reconhecimento de voz lança desafios que indicam
evoluções nos próximos anos.
Outra tendência natural é a inclinação por pesquisas no ramo cognitivo. Características
como memória episódica, tomada de decisões, aprendizagem, emoções e comunicação estão
entre os alvos desta linha de pesquisa (SALA DE IMPRENSA, 2006).
A simulação da consciência humana é mais uma que atrai muitos pesquisadores de
diversos ramos, como uma das áreas mais conflitantes dentro da IA. Muitos afirmam ser uma
questão filosófica, enquanto outros defendem a viabilidade do tema (WEIL, 2006).
22
5
CONSIDERAÇÕES FINAIS
O campo de estudo abordando a IA é muito abrangente tanto em termos conceituais
quanto em termos práticos para resolução de problemas. O desenvolvimento de sistemas
inteligentes tem crescido rapidamente, porém ainda encontra-se em sua forma embrionária, já
que ainda há muitas barreiras a serem ultrapassadas e em termos históricos a área de pesquisa
sobre IA é muito nova. Com o advento de máquinas mais poderosas, ferramentas inteligentes
com maior capacidade computacional vão sendo desenvolvidas e aprimoradas, mesmo que o
mundo acadêmico ainda não tenha chegado num consenso único de definição da inteligência
artificial (assim como não há uma única definição aceita para a inteligência propriamente
dita).
Mesmo sem uma definição bem modelada, as pesquisas são realizadas e as técnicas
são criadas e melhoradas. O fato é que até em seres humanos a inteligência não é plena.
Alguns indivíduos possuem inteligência para resolver certos tipos de problema que outros não
(que por sua vez possuem capacidade de resolver outra gama de problemas). Isso nos leva a
pensar que o ideal não é desenvolver sistemas que sejam inteligentes para tudo, mas que
sejam ótimos em uma determinada área de aplicação para a qual foram projetados. A
qualidade do resultado final com certeza será muito boa assim como ocorre com indivíduos
orgânicos.
23
6
BIBLIOGRAFIA
Bentley, Peter J.. Biologia Digital: Como a natureza está transformando a tecnologia e
nossas vidas. São Paulo: Ed. Berkeley, 2002. p.93.
Bernardes, Ricardo Martins. C4.5: Um Recurso para Geração de Árvores de Decisão.
Embrapa Informática Agropecuária: Instruções Técnicas, Campinas, SP, 2001.
Cole, David, "The Chinese Room Argument", The Stanford Encyclopedia of Philosophy
(Winter 2008 Edition), Edward N. Zalta (ed.). Disponível em:
<http://plato.stanford.edu/archives/win2008/entries/chinese-room/> Acesso em 25 Nov. 2009.
Coppin, Ben. Artificial Intelligence Illuminated. Jones and Bartlett Publishers, Sudbury,
Massachusetts, 2004.
Dinízio, Clailson Soares. Inteligência Artificial em jogos de Tiro em Primeira Pessoa. UNIT,
Aracaju, SE, 2003.
Filho, Vicente Vieira. Revolution AI Engine: Desenvolvimento de um motor de Inteligência
Artificial para a criação de jogos eletrônicos. UFPE, Recife, 2005.
Flausino, Rodrigo. Estado da Arte da Inteligência Artificial para jogos eletrônicos. 2007.
Disponível em: <http://www.rodrigoflausino.com/blog/artigos-e-tutoriais/estado-da-arte-dainteligencia-artificial-para-jogos-eletronicos/> Acesso em 25 Nov 2009.
Goertzel, Ben; Wang, Pei. Advances in Artificial General Intelligence: Concepts,
Architectures and Algorithms. IOS Press, 2007.
Gudwin, Ricardo Ribeiro. Contribuições ao Estudo Matemático de Sistemas Inteligentes.
Campinas, 1996. Tese (Doutorado em Engenharia Elétrica) – Universidade Estadual de
Campinas.
Intille, Stephen S.; Bobick, Aaron F.. Recognizing Planned, Multiperson Action. Academic
24
Press, 2001.
Karlsson, B. F. F.. Um Middleware de Inteligência Artificial para Jogos Digitais. PUC-RJ,
Rio de Janeiro, 2005.
Millington, Ian. Artifficial Intelligence for Games. Morgan Kaufmann. 2006.
Mott, Ken. Evolution of Artificial Intelligence in Video Games: A Survey. University of
Northern Iowa, 2009. Disponível em:
<http://www.cs.uni.edu/~schafer/courses/previous/161/spring2009/proceedings/papers/paperG
.pdf> Acesso em 25 Nov 2009.
Russell, Stuart e Norvig, Peter. Inteligência Artificial. Tradução: Vanderberg D. De Souza.
Rio de Janeiro: Elservier, 2004. 157p.
Sala de Imprensa, UNICAMP. À imagem e semelhança do homem. Unicamp, 2006.
Disponível em:
<http://www.unicamp.br/unicamp/unicamp_hoje/ju/outubro2006/ju341pag05.html> Acesso
em 25 Nov 2009.
Tatai, Victor Kazuo. Técnicas de Sistemas Inteligentes aplicadas ao Desenvolvimento de
Jogos de Computador. Campinas. Tese (Mestrado em Engenharia Elétrica) – Universidade
Estadual de Campinas.
Turkle, Sherry. The Second Self: Computer and the Human Spirit. The MIT Press, Cambridge,
2005.
Weil, Nancy. MIT debate suposta consciência humana presente em máquinas e robôs. IDG
Now!, 2006. Disponível em:
<http://idgnow.uol.com.br/computacao_pessoal/2006/12/01/idgnoticia.2006-1201.8431881446/> Acesso em 25 Nov 2009.
Download