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.