Prévia do material em texto
1 Fundamentos da Inteligência Artificial 2 3 Sumário Fundamentos da inteligência artificial e sua história Introdução as definições de Inteligência Artificial IA, um campo interdisciplinar Filosofia Matemática Economia Neurociência Psicologia Engenharia de computadores Teoria de controle e cibernética Linguística A história da IA Agentes inteligentes e o ambiente para a IA Definições introdutórias sobre os agentes e a IA O teste de Turing e os agentes inteligentes Tipos de agentes Agentes e sua relação com o ambiente Onde os agentes estão presentes em nossas vidas Lógica proporcional O que são agentes baseados em conhecimentos Introdução a lógica na computação CLIQUE NO CAPÍTULO PARA SER REDIRECIONADO 6 7 10 11 11 12 13 14 14 15 16 16 19 20 22 24 25 28 30 31 33 4 Sumário A lógica proposicional e os sistemas inteligentes Grafos para busca em espaço de estados O que são grafos O que é uma máquina de estados Grafos de planejamentos Tipos de buscas computacionais em espaço de estados Planejamentos estratégicos com busca em espaço Referências CLIQUE NO CAPÍTULO PARA SER REDIRECIONADO 34 41 42 45 47 48 48 52 5 Objetivos Definição Explicando Melhor Você Sabia? Acesse Resumindo Nota Importante Saiba Mais Reflita Atividades Testando Para o início do desenvolvimento de uma nova competência; Se houver necessidade de se apresentar um novo conceito; Algo precisa ser melhor explicado ou detalhado; Curiosidades indagações lúdicas sobre o tema em estudo, se forma necessárias; Se for preciso acessar um ou mais sites para fazer download, assistir vídeos, ler textos, ouvir podcast; Quando for preciso se fazer um resumo acumulativo das últimas abordagens; Quando forem necessárias observações ou complementações para o seu conhecimento; As observações escritas tiveram que ser priorizadas para você; Textos, referências bibliográficas e links para aprofundamento do seu conhecimento; Se houver a necessidade de chamar a atenção sobre algo a ser refletido ou discutido sobre; Quando alguma atividade de autoaprendizagem for aplicada; Quando o desenvolvimento de uma competência for concluído e questões forem explicadas. 6 @faculdadelibano_ 1 Fundamentos da inteligência artificial e sua história 7 Fundamentos da Inteligência Artificial Capitulo 1 Fundamentos da inteligência artificial e sua história Introdução as definições de Inteligência Artificial Há muito tempo, os pensadores gregos procuraram entender aspectos fundamentais da natureza e do homem, como: o sentido da vida, os fenômenos naturais, das relações entre os homens e os deuses, assim como, entre o homem e o homem. Dentro das reflexões realizadas pelos pensadores do passado, estava o entendimento da inteligência humana como um importante aspecto ligado a nossa natureza, buscando o entendimento de como pensamos, uma habilidade compartilhada por todos os indivíduos e sendo a fonte principal de nossa sobrevivência. Em razão disto, originou-se o termo Homo sapiens, tendo por significado “homem sábio”, reforçando mais uma vez a ideia da inteligência como um diferencial humano em relação as demais criaturas. Objetivos A Inteligência Artificial (IA) é um dos campos mais recentes da Ciência da Computação, com menos de 100 anos de desenvolvimentos e pesquisas. Porém, sua aplicação moldou e continua a moldar a nossa sociedade e a forma como nos relacionamos com a tecnologia. Neste sentido, para entender como a IA é uma área altamente relevante para nossas vidas, este capítulo abordará a história e os principais conceitos e fundamentos gerais ligados à IA e como estes estão relacionados ao desenvolvimento social e tecnológico atual, bem como, permitir uma reflexão sobre seus impactos futuros. Vamos juntos explorar estes conhecimentos! 8 Fundamentos da Inteligência Artificial Fundamentos da inteligência artificial e sua história Capitulo 1 Entre as principais características da inteligência, estão as habilidades de perceber, compreender, prever, construir e manipular o mundo em que estamos inseridos, sendo estes aspectos uma das bases fundamentais da Inteligência Artificial quanto ciência, procurando criar entidades artificiais capazes de simular as características citadas, entre outras, referentes à inteligência presente no homem. Desta forma, uma vez que algumas das principais características das IAs foram apresentadas, poderemos definir o que é uma IA. Porém, esta é uma tarefa um pouco complexa, visto que, além de existirem diversas definições sobre o que é um sistema dotado de inteligência, estas definições também levam em consideração aspectos particulares da aplicação e da simulação a ser feita. Segundo Russell (2013), podemos definir às IAs de acordo com 4 estratégias: pensando com humanos, pensando racionalmente, agindo como seres humanos e agindo racionalmente. Note que, pensar como humano e pensar racionalmente, está relacionado ao processo de pensamento e raciocínio, enquanto, agir como um ser humano e agir racionalmente, está relacionado a comportamentos. Desta forma, podemos apresentar um conjunto de definições sobre IA relativas a cada uma das quatro estratégias apresentadas. O Quadro 1 apresenta um conjunto de duas definições para cada uma das estratégias, totalizando em oito definições que demonstram a alta maleabilidade que sistemas inteligentes possuem em suas aplicações e na forma como são desenvolvidos. 9 Fundamentos da Inteligência Artificial Fundamentos da inteligência artificial e sua história Capitulo 1 FIGURA 1 Estratégias de criação de sistemas inteligentes FONTE Russel (2013 Uma vez apresentada as definições, vamos construir juntos nossa própria definição. Em primeiro lugar, é preciso atentar para o fato de que uma IA dota um equipamento, sistema ou artefato computacional com suas características. 10 Fundamentos da Inteligência Artificial Fundamentos da inteligência artificial e sua história Capitulo 1 Em seguida, notamos que a inteligência é uma capacidade psíquica que permite a seu portador habilidades como: perceber, compreender, prever, construir e manipular algo ligado ao ambiente que se está inserido ou o ambiente como todo. Desta forma, depreende-se que a Inteligência Artificial é a capacidade fornecida a um sistema digital, artefato ou equipamento de manifestar habilidades psíquicas ligadas ao ambiente em que está inserido. IA, um campo interdisciplinar A Inteligência Artificial é um dos mais recentes campos da computação a serem desenvolvidos e compreendidos como ciência. Este fato corrobora para que um número elevado de outras disciplinas sejam usadas como base para a criação de produtos inteligentes. Muitos destes produtos estão presentes em nossas vidas em diversas formas, como os sistemas de venda que procuram avaliar os perfis de compra dos clientes para oferecer ofertas direcionadas aos padrões de consumo específicos de cada cliente, o qual, este tipo de análise de perfil de consumo também está inserido em redes sociais e outras ferramentas de uso diário, permitindo uma análise mais profunda e acertada sobre os ditos padrões. Outras ferramentas procuram perceber os padrões dos usuários para melhorar a experiência de uso, como sistemas de navegação que utilizam gps, a analise do perfil de rotas faz o sistema dar preferencialmente rotas feitas corriqueiramente pelo usuário. Sistemas de entretenimento em massa por mídia de vídeo também utilizam esta análise para indicar filmes e série especificas para cada usuário, entre outras funções. Desta forma, perceba que a IA está mais próxima de nós do que muitas vezes imaginamos, seja em um aplicativo de filmes e séries, uma rede social, o uso de uma agenda ou despertador digital, entre outros.Você é capaz de perceber estes sistemas no seu cotidiano? 11 Fundamentos da Inteligência Artificial Fundamentos da inteligência artificial e sua história Capitulo 1 Neste sentido, esta seção apresentará um breve resumo de como certas áreas do conhecimento contribuíram e contribuem para a Inteligência Artificial. Filosofia A filosofia é um dos campos do conhecimento mais antigo que temos registros e o mãe de outros diversos campos de conhecimentos, bem como, da fundamentação dos conceitos de ciência como a conhecemos hoje. Um dos primeiros pensadores a levantarem o tema sobre as leis que fundamentam a parte racional da mente foi Aristóteles (384-322 a.C.), sendo este um dos primeiros passos para o desenvolvimento e estudos de como as ideias se organizam racionalmente. Este raciocínio permitiu que outros grandes nomes como Hobble (1588-1679) e Leonardo da Vinci (1452-1519) não apenas proporem, mas também desenvolvessem artefatos mecânicos levando em consideração que o raciocínio humano era similar à computação numérica. Todas as breves contribuições citadas estão fortemente ligadas a conjuntos de questionamentos ligados à prática filosófica, sendo alguns deles apresentados abaixo: • A utilização de regras formais apresenta válidas conclusões? • Como se dá o desenvolvimento intelectual em um cérebro biológico? • Qual a origem do conhecimento? • Como o conhecimento está vinculado as ações? Perguntas, muitas vezes simples, como estas, provocam os desenvolvedores de sistemas inteligentes a procurarem soluções cada vez mais eficientes e próximas da forma como os humanos as respondem. Matemática A filosofia permitiu o levantamento de questões que ao serem respondidas, fomentaram as principais ideias ligadas a IA. Porém, foi através da matemática que muitas destas 12 Fundamentos da Inteligência Artificial Fundamentos da inteligência artificial e sua história Capitulo 1 ideias puderam ser aplicadas, formalizando três áreas da matemática fundamentais para a IA: lógica, computação e a probabilidade. O termo computação é uma derivação da palavra computar, ou seja, a capacidade de realizar operações matemáticas. Todavia, o termo computação atualmente está fortemente ligado a lógica booleana, onde os números usados variam entre 0 e 1, uma aplicação revolucionária para o desenvolvimento tecnológico, em especial pela relativa facilidade no tratamento de pulsos elétricos representando os valores 1 e 0 na presença ou ausência de corrente em um espaço determinado de tempo e a capacidade de representar qualquer número ou operação realizada em outros sistemas numéricos, como o decimal, através da combinação dos pulsos elétricos. Além da computação e da lógica, a probabilidade também fornece uma base matemática importante para a IA. Neste sentido, a probabilidade, na qualidade de ciência quantitativa, permite o tratamento eficiente de problemas de raciocínio incertos presentes nos sistemas inteligentes. Perguntas relevantes também são levantadas com base nos fundamentos matemáticos citados, como os presentes abaixo: • Quais as regras formais para obtenção de conclusões válidas? • Quais dados podem ser computador? • Como se dá o raciocínio através de dados incertos? Com base nos estudos matemáticos, modelos importantes como o proposto por Thomas Bayes (1702-1761), chamado de análise bayesiana, aplicam probabilidade em sistemas computacionais baseados em lógica para solucionar problemas ligados ao raciocínio incerto. Economia A economia como ciência foi constituída através dos trabalhos de Adam Smith (1723-1790), filósofo escocês que contribuiu com uma visão científica sobre achados econômicos já estudados por filósofos de todo o mundo no passado, como por exemplo os filósofos gregos. 13 Fundamentos da Inteligência Artificial Fundamentos da inteligência artificial e sua história Capitulo 1 Dentre as contribuições da economia para a IA está o pensamento crítico sobre o grau de satisfação e rentabilidade que são obtidos das coisas, chamado de teoria da utilidade, ligado as teorias probabilísticas, permitindo a tomada de decisão sobre a incerteza. Outra contribuição importante advinda da economia e da matemática é a teoria dos jogos de John von Neumann (1903-1957) e Oskar Morgenstern (1902-1977), que demostrou que em certos ambientes (jogos), certos agentes podem adotar aspectos aleatórios na busca por melhorar seus resultados. Tais esforços econômicos contribuirão para o desenvolvimento de algoritmos de decisão sequenciais como o processo de decisão de Markov, um algoritmo utilizado para tratamento de incertezas com base em estudos probabilísticos e regras ligadas a conceitos como os ligados a teoria da utilidade. Neurociência A neurociência é um ramo da ciência que estuda o funcionamento do sistema nervoso, com ênfase, mas não somente, no cérebro. A muito tempo os estudiosos sabem que o cérebro humano possui características que o diferenciam de outros animais, apresentando o maior cérebro em proporção ao tamanho do corpo. Em 1938, o físico teórico Nicolas Rashevsky (1899-1972) fez uma das primeiras propostas onde modelos matemáticos foram criados para representar e auxiliar os estudos sobre o sistema nervoso. Para a IA, os modelos matemáticos podem ser usados para representar uma das principais, se não a mais importante, estrutura que compõem o sistema nervoso, os neurônios. Os neurônios são compostos de três partes principais, o corpo celular, responsável por realizar o processamento das informações, os dendritos, responsável por receber os impulsos nervosos e o axônio, prolongamentos que levam a informação em uma estrutura ramificada entre um neurônio e outros. 14 Fundamentos da Inteligência Artificial Fundamentos da inteligência artificial e sua história Capitulo 1 Da mesma forma, os sistemas digitais, em especial alguns tipos de IA, como as redes neurais artificiais, dividem-se em três estruturas onde uma é responsável pelo processamento, outras duas pela comunicação entre diversos agentes (similar aos neurônios), sendo uma especializada em enviar e a outra em receber informações. Os estudos da Neurociência também permitiram um entendimento melhor de como as estruturas do cérebro atuam em parceria para aumentar o poder de processamento e consequentemente a capacidade de respostas mais rápidas e eficientes para os diversos estímulos. Tais estudos fundamentaram não apenas a computação e criação de computadores cadavez mais eficientes, mas também, na conexão entre diversos sistemas aumentando consequentemente seu poder de processamento. Psicologia A psicologia é responsável por realizar estudos sobre o comportamento e a mente dos humanos e animais com base em critérios científicos baseados em evidências. Por sua vez, uma das áreas da psicologia que mais contribuíram para a IA foi a psicologia cognitiva. A psicologia cognitiva procura estudar como as pessoas percebem, aprendem, lembram-se e pensam sobre dados que estas venham a ter contato (STERNBERG, 2008). Outra teoria importante que contribui para o desenvolvimento da IA é o movimento chamado behaviorismo, responsável por realizar estudos sobre o comportamento humano baseado em parâmetros ou métricas definidas ligadas a estímulos e respostas. Assim, os projetistas de IAs devem atentar para perguntas ligadas a como os animais e humanos pensam e agem, sendo essa uma de suas principais contribuições para a IA. Engenharia de computadores 15 Fundamentos da Inteligência Artificial Fundamentos da inteligência artificial e sua história Capitulo 1 O desenvolvimento dos computadores evoluiu e continua a evoluir aumentando o poder de processamento enquanto barateia o custo dos meios de armazenamento de dados. Está evoluçãopode ser percebida quando analisamos o poder de processamento do computador que auxiliou a ida do homem à lua, o qual, consistia em um aparelho de 36Kg com clock máximo de 2.048 MHz e uma RAM de 4 kB. Ao ser comparado com um processador Intel I7-7700HQ com capacidade de clock máximo de até 3.80 GHz com a memória RAM dos computadores modernos facilmente superando os 2 GB. Note que, ao passo que os computadores aumentaram seu poder de processamento e armazenamento, o custo destes mesmos computadores reduziu a ponto de podermos possuir hoje máquinas muito superiores aos computadores que levaram o homem à lua. Mesmo que os computadores apresentem configurações cada vez mais robustas e acessíveis, a aplicação das técnicas de engenharia de software como gerência de requisitos, boas práticas de desenvolvimento como a rastreabilidade e padrões de projeto, entre outras aplicações que procuram dar produtividade e qualidade aos softwares, tem contribuído para a criação de sistemas de IA cada vez mais eficientes. Teoria de controle e cibernética A teoria do controle, cujo qual tem por base as teorias probabilísticas, tem por objetivo maximizar uma função objetivo em relação ao tempo, com a subárea conhecida como métodos estocásticos, cujo os objetos não possuem estado e origem determinados, como uma das principais contribuições. Tais estudos contribuíram para que novos modelos fossem propostos em contra partida aos modelos behavioristas, em especial com a proposta de que máquinas poderiam ser dotadas de inteligência, dando luz a cibernética. Assim, o levantamento do questionamento de como um sistema digital pode operar de forma autônomas, é o questionamento levantado para a IA. 16 Fundamentos da Inteligência Artificial Fundamentos da inteligência artificial e sua história Capitulo 1 Linguística Por fim, a linguística moderna é uma área do conhecimento que surgiu aproximadamente na mesma época que a IA compartilhando áreas de estudo como o processamento de linguagem natural. A linguística estuda aspectos da fala, linguagem e da própria língua, avaliando aspectos importantes sobre sua relação com o pensamento, ao avaliar os processos como, análise, interpretação, compreensão, entre outros ligados ao campo de estudo abrangente da linguística. Desta forma, sua contribuição se dá ao avaliar como o pensamento é influenciado pelas relações presentes na linguagem. As disciplinas e áreas apresentadas não esgotam a possibilidade de outras disciplinas apresentarem contribuições para a IA. Devemos lembrar que o ramo de pesquisa das IAs está em pleno desenvolvimento até hoje, com cada vez mais participação e formação de profissionais para atender a demanda do mercado por pesquisas e desenvolvimentos na área. A história da IA A história da IA é altamente rica e cheia de reviravoltas, porém, esta seção procurará não apenas fundamentar os principais fatos e históricos, mas também, procurar instigar a busca por mais informações sobre essa os fatos que levaram a IA a ser um dos campos mais interessantes da computação. O primeiro trabalho ligado a IA apresentado foi em 1943, onde Warren McCulloch e Walter Pitts apresentaram uma proposta de um modelo de neurônio artificial baseado em estudos sobre neurociência, teoria dos sistemas e lógica proporcional. Porém, nesta época ainda não existia o conceito moderno, bem como o termo, Inteligência Artificial. Neste trabalho, foi demostrado que todos os operadores lógicos (e, ou, não, etc.) e funções computáveis, poderiam ser implementados em uma rede conectada de neurônios simples. 17 Fundamentos da Inteligência Artificial Fundamentos da inteligência artificial e sua história Capitulo 1 Em 1956, em um seminário no Dartmouth College, em Hanover, New Hampshire, liderados pelo PhD John McCarthy (1927-2011), foi proposto que a IA deveria se tornar um campo próprio de pesquisas. Porém, mesmo sendo cunhado o termo e a área de pesquisa da IA, o seminário não apresentou novidades, em contrapartida, criou um grupo forte de pesquisadores formado por professores e alunos que dominaram as pesquisas na área nos próximos 20 anos. Os primeiros anos após a criação da área de pesquisas sobre IA causaram entusiasmo na comunidade acadêmica, fato devido possivelmente a visão que os computadores eram meras máquinas para realizar operações aritméticas, como citado por Russell (2013). Porém, por volta da metade da década de 60 do século XX, notou- se que o rápido avanço e a maravilha de computadores pensantes não seria algo para ser alcançado em 10 ou 20 anos, na sorte que, muitas das predições realizadas no início da IA, prevendo seu acontecimento para 10, só se concretizaram cerca de 40 anos depois, como um computador ser campeão de xadrez, ocorrido em 1993 quando o sistema Deep Blue da IBM derrotou o então campeão mundial de xadrez Garry Kasparov. Foi apenas por volta de 1980 que a IA se tornou comercialmente bem sucedida com um sistema que foi capaz de configurar pedidos de novos sistemas de computadores, acarretando na economia de cerca de 40 milhões de dólares por ano, o R1, da empresa Digital Equipment Corporation. Saiba Mais Sobre a história da IA assistindo o vídeo “A história da Inteligência Artificial - TecMundo”. Acesse o vídeo clicando aqui. https://www.youtube.com/watch?v=Lhu8bdmkMCM 18 Fundamentos da Inteligência Artificial Fundamentos da inteligência artificial e sua história Capitulo 1 Através do sucesso comercial, outras empresas pelo mundo passaram a desenvolver sistemas inteligentes para as mais diversas funções, como: sistemas de suporte financeiros, robôs, assistentes, entre outros. Atualmente, a IA está presente em diversos sistemas, todavia, nota-se certo foco nas áreas de análise de grande quantidade de dados e procura por padrões, ambos utilizados fortemente pela indústria e comércio para dar mais eficiência na oferta e produção de serviços e produtos. Resumindo Neste capítulo observamos que a IA – Inteligência Artificial – pode ser conceituada de acordo com diferentes estratégias, permitindo aos desenvolvedores aplicarem definições diferentes entre as estratégias e dentro das próprias estratégias. Em seguida, vimos que o campo de conhecimento da IA é composto de contribuições de diversas outras áreas do conhecimento, como engenharia de software, economia, filosofia e outras, cada uma contribuindo com reflexões que permitem uma visão mais complexa e profunda sobre como dotar um sistema de capacidades que simulam a inteligência. Por fim, fizemos um pequeno resumo da história da IA apresentando os principais momentos históricos e sua relevância para as pesquisas e aplicações atuais da Inteligência Artificial. Assim, esperamos que os conteúdos apresentados tenham sido compreendidos, pois, entender as origens e os clássicos nos permitem não apenas não replicar os erros do passado, mas refletir sobre eles e procurar continuar com as boas práticas já realizadas, as melhorando e encontrando novos caminhos para as futuras gerações. Assim é a ciência! 19 @faculdadelibano_ 2 Agentes inteligentes e o ambiente para a IA 20 Fundamentos da Inteligência Artificial Capitulo 2 Agentes inteligentes e o ambiente para a IA Definições introdutórias sobre os agentes e a IA No capítulo 1 deste módulo, aprendemos conceitos da IA e sua relação multidisciplinar com diversos campos do conhecimento. Todavia, não chegamos a conceituar o que fundamentalmente é inteligência. Na figura abaixo, Quadro 2, está apresentado os conceitos de inteligência segundo o minidicionário da língua portuguesa (BUENO, 2016), e o dicionário Houaiss da língua portuguesa (2009). Objetivos O conceito de agentes é um importante conhecimento para quem vai estudar IA, pois, são os agentesque são dotados de inteligência através de diversos modelos, o qual, estudaremos a frente alguns. Assim, o objetivo deste capítulo é familiarizá-lo com o conceito e identificação do que vem a ser um agente para IA. 21 Fundamentos da Inteligência Artificial Agentes inteligentes e o ambiente para a IA Capitulo 2 Note que, as definições citadas possuem algumas características comuns, a capacidade de interpretar o ambiente em algum nível, sendo todas elas vinculadas a um indivíduo capaz de agir segundo princípios de autonomia. Desta forma, podemos simplificar que um ser inteligente é um agente, ou seja, um ser que age, assim como seu significado em latim, agere, significando fazer. Os humanos e outras espécies de seres vivos também podem ser entendidos como agentes, pois uma função biológica presente em todos estes seres é a capacidade sensorial que por sua vez culmina em ações em resposta a estímulos externos ao ser. Por exemplo. Um humano ao colocar a mão sobre uma superfície muito quente, reagirá, em geral, automaticamente retirando a mão da dita superfície. FIGURA 2 Estratégias de criação de sistemas inteligentes FONTE Autor (2020). 22 Fundamentos da Inteligência Artificial Agentes inteligentes e o ambiente para a IA Capitulo 2 Da mesma forma, os olhos são sensores capazes de captar uma certa faixa do espectro eletromagnético, convertendo-o em imagens ou objetos que representam o ambiente em que está. Assim, como citado por Segundo Russell (2013), quando um agente responde a estímulos externos internos e externos em pró de alcançar bons resultados, este agente pode ser entendido como um agente racional. Estes agentes racionais irão em pró de benefícios próprios ou de uma comunidade de agentes, procurar interagir com seu ambiente e com os demais agentes colaborando para solucionar problemas da forma mais eficiente. Esta definição acima é será a definição padrão para agentes inteligentes computacionais, também chamados de agentes inteligentes artificiais. As seções a seguir tratarão de aspectos fundamentais ligados aos agentes e sua aplicação na IA. O teste de Turing e os agentes inteligentes Esta seção abordará conceitualmente o teste de Turing e sua importância para a IA, bem como, sua ligação com o conceito de agente já apresentado. O cientista da computação e matemático Alan Mathison Turing (1912- 1954), realizou importantes contribuições para a ciência da computação com seus trabalhos sobre formalização de algoritmos e com a máquina de Turing Saiba Mais Um dos feitos notórios de Turing foi trabalhar na decodificação da máquina enigma das alemãs, uma espécie de computador capaz de criptografar e descriptografar informações, sendo este feito muito importante para o esforço de guerra dos aliados. 23 Fundamentos da Inteligência Artificial Agentes inteligentes e o ambiente para a IA Capitulo 2 Por volta de 1950, Alan Turing apresentou a proposta de um teste que procurou avaliar se um computador era capaz de agir de forma inteligente, com este teste também servindo para definir o conceito de inteligência operacional (TURING, 1950). O teste é relativamente simples em seu conceito. Um ser humano deveria fazer um conjunto de perguntas textuais para um conjunto de agentes, sendo estes agentes humanos e mecânicos (representado por computadores). Uma vez analisada as perguntas, os agentes deveriam responder as questões que seriam posteriormente analisadas pelo humano que as formulou. Este humano em seguida deveria dizer se as respostas foram dadas por um humano ou por um computador. Segundo a proposta de Turing em seu teste, para que uma máquina venha a conseguir sucesso neste teste ela deve apresentar um conjunto de características fundamentais, sendo elas: • Ser capaz de processar linguagem natural, ou seja, linguagens próximas das línguas faladas por pessoas, como inglês e português. • Ser capaz de armazenar um conjunto de conhecimentos sobre dados que tem acesso. • Ser capaz de realizar operações de raciocínio, compreendendo o que está analisando e gerando inferências sobre estes dados. • Ser capaz de aprender baseada em padrões matemáticos como os definidos na área da computação chamada aprendizado de máquina, onde modelos matemáticos são usados para identificar padrões de dados, o que acarreta na possibilidade de aprender e tratar dados segundo características específicas. 24 Fundamentos da Inteligência Artificial Agentes inteligentes e o ambiente para a IA Capitulo 2 Por fim, notem que o teste de Turin procura verificar se um sistema é capaz de apresentar um certo tipo de inteligência ou simulação das capacidades psíquicas humanas, todavia, estes sistemas com tais capacidades podem ser vistos como agentes inteligentes. Tipos de agentes Um agente pode ser implementado ou aplicado com base em características que atendam a seu propósito, sendo construído parcialmente ou completamente os conceitos que definem um agente. A forma mais simples de implementar um agente é dotá-lo da capacidade de reagir condicionalmente a um conjunto de dados. Este tipo de agente é denominado agente reativo simples, e são os agentes mais fáceis de serem implementados e mais utilizados devido esta característica. Se o objetivo do sistema é monitorar o ambiente em que o agente está inserido, ele deverá manter um tipo de estado parcial do mundo em sua memória, para poder comparar quando ocorrerem mudanças dentro da área analisada. Esta memória parcial é chamada de modelo do mundo, um termo que nomeia este tipo de agente, os agentes reativos baseados em modelo. Manter um modelo do mundo permite o agente observar as mudanças que ocorrem em seu ambiente, porém, apenas a percepção da mudança não significa que o agente agia de diferentes maneiras ou específicas. Nota É inevitável a observação dos trabalhos e propostas de Turing para o desenvolvimento de diversas subáreas da IA, como as pesquisas sobre linguagem natural e aprendizado de máquina, com muitos cientistas e entusiastas procurando criar sistemas que passem no teste proposto por Turing até os dias de hoje. 25 Fundamentos da Inteligência Artificial Agentes inteligentes e o ambiente para a IA Capitulo 2 Para isso, os agentes baseados em objetivos, nome dado pela regra de criar objetivos a serem alcançados, procuram manter conjuntos de regras a serem utilizados em conjunto com o modelo do mundo, permitindo por sua vez que estratégias possam ser aplicadas em pró de alcançar objetivos pré-determinados. Por fim, o último tipo de agente explanado neste módulo, será os agentes baseados em utilidade. Estes agentes procuram executar suas ações com base em objetivos, porém, estes procuram a melhor forma de fazê-lo, ou procuram atingir um certo nível de felicidade pessoal, por exemplo, executando o objetivo com o menor custo computacional possível. O termo utilidade no nome do agente tem sua origem no entendimento dos economistas e cientistas da computação que felicidade é um termo pouco científico, utilizando utilidade em seu lugar. Estes são alguns dos modelos de agentes existentes, porém, esta seção tem por objetivo dar uma visão geral da modularidade que os agentes são capazes de apresentar, cabendo ao desenvolvedor avaliar o que o agente deve fazer, seus objetivos e como se dá a relação entre o agente e o ambiente, bom como, entre o agente e outros agentes. Agentes e sua relação com o ambiente O ambiente é um importante fornecedor de estímulos para os agentes pois está constantemente sendo influenciado por eventos externos, bem como, pelos próprios agentes que estão dentro de si. Podemos fazer uma abstração de um ambiente ao compará-lo a uma cidade, desta forma, as pessoas seriam os agentes que constantementeo modificam e interagem com outros agentes. Da mesma sorte, a cidade pode sofrer influência de eventos naturais ou realizar comércio com outras cidades. Todas estas interações permitem que os agentes ao perceberem as mudanças no ambiente, possam reagir segundo suas próprias estratégias a estas, realizando alguma ação ou as ignorando. 26 Fundamentos da Inteligência Artificial Agentes inteligentes e o ambiente para a IA Capitulo 2 Da mesma forma que um humano não é capaz de ver toda uma cidade de uma vez, bem como, perceber todos os eventos de uma vez, alguns ambientes computacionais podem ser do tipo completamente observáveis ou parcialmente observáveis para um dado agente. Apesar de incomum, um ambiente também pode ser inobservável para um agente que não possui sensores para analisar o ambiente. Os ambientes apresentam conjuntos de características que os definem, podendo algumas serem implementadas separadamente e outras sendo concorrentes de modelos opostos como apresentado abaixo: Ambientes determinísticos vs estocásticos: Um ambiente determinístico é aquele que possui seu próximo estado baseado no estado anterior. Por sua vez, ambientes estocásticos possuem estados aleatórios ou com regras muito complexas, o que as torna muito difícil ou impossíveis de serem previstas. Ambiente episódico vs sequencial: Um agente presente em um ambiente episódico tem suas ações atuais não gerando repercussões em um dado período de tempo, com o próximo episódio iniciando o agente segundo características pré-definidas para cada momento. Porém, agentes em ambientes sequenciais quando executam alguma ação, a reação gera um efeito em cadeia que permanecerá até que alguma regra o modifique ou finalize. Ambiente estático vs dinâmico vs semi-estático: Estas características permitem ou não que agentes modifiquem o ambiente durante suas ações. Estas modificações, presentes em ambientes dinâmicos, também geram modificações no desempenho dos próprios agentes, algo que não ocorre nos ambientes estáticos, porém, se um agente em um dado período sofrer modificações sem que ocorram modificações no ambiente, este ambiente é caracterizado como semi-estático. Ambientes discretos ou contínuos: Um ambiente discreto é aquele que a passagem do tempo se dá em intervalos definidos e, em geral, não muito curtos, como, por exemplo, uma partida de xadrez, onde um jogador deve esperar para realizar sua ação após o outro jogador finalizar a sua. Por sua vez, os ambientes contínuos são os que o intervalo de tempo são quase ou completamente imperceptíveis, como, por exemplo, uma partida de futebol, onde cada agente no campo atua em tempo real em relação as modificações que estão correndo com outros agentes e com o próprio ambiente. 27 Fundamentos da Inteligência Artificial Agentes inteligentes e o ambiente para a IA Capitulo 2 Ambientes conhecidos vs desconhecidos: este conceito determina que um agente em um ambiente conhecido é capaz de prever as possíveis saídas para suas ações, porém, ambientes desconhecidos forçam os agentes a aprender, criar suas próprias regras e com elas, gerar as saídas. Em alguns ambientes, o conjunto de regras e saídas possíveis podem ser conhecidas, porém, é a interação entre os diversos agentes e o ambiente que determinará as saídas, não sendo qualquer agente capaz de prever qual saída ocorrerá. Neste caso, o ambiente é considerado semi-conhecido, pois mesmo não tendo controle das ações que levam as saídas, os agentes as conhecem bem devido as regras pré- estipuladas. Ambiente multiagente ou com apenas um agente: Ambientes em geral são populosos na vida real, porém, note que, uma pessoa na condição de agente, pode ficar só em casa e decidir fazer uma faxina ou exercícios de IA para fixação. Da mesma um agente virtual pode estar vinculado sozinho a um ambiente. Assim, ambientes que possuem mais de um agente, mesmo que existam dois agentes e um não tenha sensores, são chamados de ambientes multiagentes ou sistemas multiagentes. Sistemas que possuem quantidade dinâmica de agentes, podendo em algum momento possuir zero e em outros muitos agentes, podem nomear o ambiente de acordo com a quantidade de agentes presentes no ambiente, ou apenas ser chamados de multiagentes. Todas as características citadas apresentaram dois conjuntos ou mais de regras concorrentes, todavia, uma vez escolhida uma regra concorrente, esta pode ser combinada com outras. Por exemplo: O ambiente não pode ser discreto, contínuo e conhecido ao mesmo tempo, pois discreto e contínuo são concorrentes entre si. Podendo apenas ou ser discreto e conhecido ou contínuo e conhecido. 28 Fundamentos da Inteligência Artificial Agentes inteligentes e o ambiente para a IA Capitulo 2 Esta regra também serve para combinações com as outras caraterísticas apresentadas, podendo ao ambiente apresentar apenas uma ou todas, mas, sem conter características concorrentes. Onde os agentes estão presentes em nossas vidas Como já citado, agentes podem ser qualquer objeto ou criatura virtual ou real que seja capaz de avaliar conjuntos de dados e realizar inferências com base nestes. Assim, podemos observar que estamos rodeados de sistemas compostos de agentes em todas as partes. No campo computacional, coisas que vemos no dia a dia como um semáforo, um despertador, ou o sistema eletrônico de controle de filas em bancos e outros locais, são na prática agentes atuando segundo conjuntos de regras em ambientes específicos. Por exemplo, como citado, o semáforo que altera o estado da luz entre vermelho, amarelo e verde de acordo com regras baseadas no tempo decorrido. Fato que também ocorre com os despertadores. Por sua vez, um sistema de controle de senhas em filas, levará em consideração mais variáveis, como, se o cliente é idoso ou requer atendimento diferenciado/acelerado. Desta forma, procure analisar ao seu redor e identificar quais sistemas computacionais são agentes ou não. Também procure identificar padrões na sociedade que podem definir certos indivíduos como agentes e seus respectivos ambientes, procurando criar relações lógicas entre as ações dos agentes e as características dos ambientes. 29 Fundamentos da Inteligência Artificial Agentes inteligentes e o ambiente para a IA Capitulo 2 Resumindo Neste capítulo estados sobre os agentes e suas características. Em um primeiro momento, procuramos apresentar conceitos fundamentais sobre inteligência e sua ligação com a IA permitindo em seguida definir o que vem a ser um agente e suas principais características. Em seguida, falamos sobre o teste de Turing e sua contribuição para o desenvolvimento de diversas áreas da IA, bem como, sua ligação com os agentes inteligentes. Uma vez apresentado os conceitos e fundamentos básicos sobre agentes, foi apresentado alguns tipos de agentes, procurando demostrar que cada aplicação deve ser levada em consideração ao definir as características presentes nos agentes. Além das características dos agentes, também foi demostrado a importância do ambiente e suas características, que em geral, possuem forte influência nos agentes. Por fim, foi feita uma análise breve e provocativa de como estamos rodeados por sistemas baseados em agentes. 30 @faculdadelibano_ 3 Lógica proporcional 31 Fundamentos da Inteligência Artificial Capitulo 3 Lógica proporcional O que são agentes baseados em conhecimentos Uma das belezas da vida é a diversidade dos seres. Alguns são grandes e outros pequenos, alguns rápidos e outros lentos, alguns vivem muitos e outros apenas um dia. Porém a habilidade de raciocinar está presente apenas a seletos grupos de seres, entre eles os animais e consequentemente os humanos. O cérebro humano é composto por diversas partes, porém, podemosdestacar três especiais ligadas a teoria do cérebro trino (DELGADO; GOMES, 2019). Nesta teoria, o cérebro é dividido em 3 partes distintas: o neocortex, parte mais externa do cérebro e responsável pelo pensamento racional; sistema límbico, ao qual, controla as emoções; e o chamado cérebro reptiliano, parte mais primitiva do cérebro e responsável pelo pensamento irracional, ou seja, pelas ações realizadas com pouco em nenhum controle, como a respiração e o impulso de retirar a mão de superfícies e objetos quentes. Vide Figura 1 para ver um modelo da teoria do cérebro trino. O cérebro reptiliano presente nos humanos, é caracterizado como a parte irracional, ou automatizada, de nossa inteligência, atuando de forma a reduzir a carga de atenção nas demais camadas. Além disso, sua característica reativa está presente em todas as formas de vida conhecidas, capacitando os seres sensitivos a responderem a estímulos internos e externos ao organismo. Objetivos Neste capítulo abordaremos sobre agentes capazes de raciocinar e como esta simulação é feita através do uso de modelos de conhecimento e estratégias de processamento de dados. Vamos lá! 32 Fundamentos da Inteligência Artificial Lógica proporcional Capitulo 3 Desta forma, podemos fazer um comparativo com os agentes apresentados no capítulo anterior, onde, estas entidades computacionais de forma simplista, apresentam no mínimo a capacidade de reagir a estímulos diversos, como por exemplo, a chamada de uma função ou análise condicional de um conjunto de dados. Porém, apenas reagir a estímulos, não significa propriamente que a reação foi inteligente, logicamente, considerando inteligência algo particular, ligado especialmente ao raciocínio. Da mesma forma que nosso cérebro possui uma camada racional, o neocórtex. Os agentes precisam de mais algumas camadas para serem consideradas capazes de raciocinar. Entre essas camadas, podemos destacar uma base de conhecimento por aprendizado ou fornecida, para servir de base para o raciocínio. Desta forma, um agente capaz de realizar tomadas de decisão, possuindo também um conjunto de regras reativas e uma base de conhecimento, é chamado de agente baseado em conhecimento. FIGURA 3 Modelo da teoria do cérebro trino FONTE Autor (2020) 33 Fundamentos da Inteligência Artificial Lógica proporcional Capitulo 3 Introdução a lógica na computação Esta seção não tem por objetivo aprofundar sobre os conceitos de lógica computacional, mas, apresentar uma visão geral o capacitando a entender sobre os assuntos ligados a aplicação da lógica nos sistemas inteligentes. Como citado no capítulo 1, a lógica é uma das disciplinas fundamentais para a computação, em especial, através da lógica booleana, permitindo que dados em forma de pulsos elétricos possam ser processados em estruturas maiores e altamente complexas usadas tanto em circuitos digitais, como na própria lógica para criação de programas. A lógica booleana em sistemas digitais, permite que um pulso possa ser tratado com valor 1 ou 0, porém, a combinação entre estes valores é uma de suas principais base de estudos, pois, ao combinar um conjunto de entradas 1’s e 0’s, usando-se modelos lógicos, é possível gerar dados de resposta específicos. Se um aparelho é capaz de receber um sinal 0 ou 1, processá-lo e dar uma saída de um único dígito, sua resposta será baseada no valor da entrada. Por exemplo, se a entrada é 1, o sistema reativo pode ter como saída o valor 1 ou 0 de acordo com as regras preexistentes. Todavia, outro aparelho pode ser capaz de receber dois sinais simultâneos aleatórios, podendo ser compostos pelas seguintes combinações. 00, 01, 10 ou 11 e com saída com Importante O sistema límbico da teoria citada acima, pode ser implementado em um agente simulando emoções. O nome desta área da IA é computação afetiva, apesar deste assunto não ser abordado neste módulo e nos módulos a seguir, é recomendado que você pesquise um pouco sobre e como a parte racional dos agentes combina as emoções para tomar decisões mais próximas dos seres vivos, em especial, dos humanos. 34 Fundamentos da Inteligência Artificial Lógica proporcional Capitulo 3 apenas um dígito. Desta forma, será o conjunto de regras que também definirá o valor da saída. Para permitir uma espécie de linguagem universal onde diferentes projetistas de hardware e softwares, a lógica booleana possui modelos que tratam as entradas e permitem que saídas específicas sejam geradas. Uma vez tratada como linguagem universal, é preciso criar conjuntos de classificações semelhantes as gramáticas das línguas, semelhante ao português e inglês por exemplo. Assim, podemos definir um conjunto de sentenças como entrada, sendo as sentenças combinações de 0’s e 1’s, as organizando de acordo com o modelo sintático específico. Um exemplo de modelo sintático seria x + y = z. Este modelo é facilmente identificado como correto por qualquer pessoa que estudou certos fundamentos matemáticos. Porém, note que a expressão xyz+= não é uma sentença sintaticamente correta na matemática. Em seguida, as sentenças devem ser organizadas e definidas através de um modelo semântico. Por exemplo, se x + y = 10, x e y devem possuir valores tal que a soma seja sempre igual a 10, onde x pode assumir o valor 6 e y 4, bem como, x pode ser igual a 5 e y também e assim sucessivamente. Para a lógica booleana, as sentenças são combinações entre valores 1’s e 0’s, o qual, sempre são analisados um a um ou dois a dois, sendo está a regra sintática. Por sua vez, a regra semântica permite que o resultado possa ser previsto de acordo com as entradas. Como as entradas são representadas por dois valores possíveis, o 1 e o 0, e se tomarmos por fundamento a lógica dos circuitos digitais, podemos dar o nome para 1 de verdadeiro, existe um estímulo, e 0 de falso, não existe um estímulo. A lógica proposicional e os sistemas inteligentes 35 Fundamentos da Inteligência Artificial Lógica proporcional Capitulo 3 Baseado no conceito apresentado, a lógica booleana possui um conjunto de tabelas (modelos) que permitem prever as saídas com base em regras definidas através de modelos matemáticos. Esse conjunto de modelos é chamado de lógica proposicional. Os modelos semânticos da lógica booleana, servem como base fundamental de conhecimento, com as regras embutidas nos próprios modelos, sendo a capacidade simples de raciocinar sobre os dados de entrada, ou seja, sobre os estímulos. No total, existem 7 modelos representado em forma de tabelas. Cada tabela possui sua própria base matemática advinda da teoria dos conjuntos. A primeira tabela recebe apenas um valor como entrada e sua saída é o valor inverso. Esta tabela é chamada de não lógico e sua representação gráfica é um ‘~’ (til). Note no Quadro 3 que a tabela é composta na primeira coluna do símbolo do modelo na primeira linha e os valores possíveis nas demais linhas da primeira coluna. Por sua vez, a última coluna representa as saídas para cada valor de entrada. Atente que, os dados de entrada e saída são chamados de verdade (1) ou falso (0), fator que resulta na forma como as tabelas são chamadas, tabelas verdade. FIGURA 4 Não lógico FONTE Autor (2020) 36 Fundamentos da Inteligência Artificial Lógica proporcional Capitulo 3 O Quadro 4 apresenta dois valores de entrada, ou seja, a combinação de dois valores e a respectiva saída. Esta regra também será utilizada nas demais tabelas. Este quadro se chama ‘e lógico’. Sua regra define que para uma saída ser verdadeira, 1, é preciso que ambas as entradas sejam também verdadeiras como demostrado abaixo. O Quadro 5 é chamada de Ou lógico e sua regra define que para uma saída ser falsa, é preciso que ambas entradas também a sejam. Um exemplo prático é a escolha entre dois objetos,no fim, um será selecionado, ou os dois. FIGURA 5 E lógico FONTE Autor (2020) 37 Fundamentos da Inteligência Artificial Lógica proporcional Capitulo 3 O modelo da tabela ‘se, então’ será verdadeiro sempre que a primeira entrada condicionar verdadeiramente a segunda. Por exemplo: O conjunto dos naturais, N, está contido no conjunto dos inteiros, Z, que por sua vez está contido no conjunto dos racionais, Q. Note que, nem todos os números presentes em Z estão presentes em N, porém, o inverso é verdade. Assim, podemos dizer que uma entrada verdadeira, por exemplo um valor de N, for condicionada pelo se então e sua condição for falsa, pois um valor qualquer de N pode não estar contido em Z, podemos afirmar que estas entradas, os conjuntos, resultam em uma saída falsa. FIGURA 6 Ou lógico FONTE Autor (2020) Importante O quadro do Ou lógico possui duas variações que não serão apresentadas aqui, sendo chamadas de ou exclusivo (xor) e não ou exclusivo (xnor). Ambos são bastante utilizados no desenvolvimento de circuitos digitais, onde as tabelas são chamadas de portas lógicas. 38 Fundamentos da Inteligência Artificial Lógica proporcional Capitulo 3 Desta forma, o quadro verdade do ‘se, então’ está apresentada no Quadro 6. Atente para seu símbolo na primeira célula da primeira coluna. O último quadro apresentado neste material é referente ao modelo do ‘se somente se’, um modelo que gera uma dependência entre os valores de entrada com suas respectivas saídas. Como ambas as entradas são dependentes, note que, se ambas são verdadeiras ou falsas, significa que a dependência foi atingida, resultando em uma saída verdadeira. Nota Os quadros verdades apresentadas acima são aplicadas na programação lógica em estruturas como o se (if) e o escolha (switch), ocorrendo a verificação do valor da entrada segundo as regras dos modelos e lógico e ou lógico, porém, pode-se entender a estrutura do se (if), como um se, então. FIGURA 7 Se, então FONTE Autor (2020) 39 Fundamentos da Inteligência Artificial Lógica proporcional Capitulo 3 Porém, se as entradas possuírem valores diferentes, o valor da saída será falso, visto não ter atendido a dependência. Vide o Quadro 7. Como citado, com base nos modelos presentes nas tabelas verdades apresentadas, um agente é capaz de realizar tomadas de decisões diferentes, por exemplo, aplicando dentro de uma condição ou função regras baseadas estes modelos para a tomada de decisão. Desta forma, a lógica proposicional e seu conjunto de tabelas, permitem que agentes virtuais possam realizar raciocínio simples e estruturado, o que por sua vez, permite que lógicas mais complexas possam ser sobre os modelos citados. FIGURA 8 Se, somente se FONTE Autor (2020) 40 Fundamentos da Inteligência Artificial Lógica proporcional Capitulo 3 Resumindo Este capítulo tratou sobre o raciocínio em máquinas e como os modelos básicos da lógica proposicional permitem criar uma base de conhecimento para este fim. Para isto, primeiro tratamos de apresentar uma visão geral sobre o que são agentes baseados em conhecimento ao citar a camada reativa dos agentes e a necessidade de uma base de informações para poder raciocinar sobre as entradas e gerar posteriormente saídas bem definidas. Para dar o entendimento não apenas da camada de raciocínio e de conhecimento, foi dada uma introdução a lógica proposicional, o permitindo visualizar as bases de conhecimentos baseadas em modelos matemáticos e seu poder na capacidade de raciocínio dos sistemas. 41 @faculdadelibano_ 4 Grafos para busca em espaço de estados 42 Fundamentos da Inteligência Artificial Capitulo 4 Grafos para busca em espaço de estados O que são grafos Antes de definir o que vem a ser um grafo, é preciso apresentar alguns conceitos advindos da teoria dos conjuntos. Um conjunto é uma estrutura que contém zero até infinitos elementos, especificamente, como definido por Dante (2013), “...Um conjunto é uma coleção qualquer de objetos...”. Por exemplo: podemos definir que pinceis pertencem ao conjunto de objetos capazes de pintar. Porém, podemos definir um conjunto para inserir apenas os pinceis de uma determinada cor. Assim, podemos dizer que os conjuntos contêm objetos segundo um conjunto de regras pré-definidos. Na matemática, a teoria dos conjuntos divide os números de acordo com regras bem definidas, por exemplo. Os números que começam a partir de 0 em intervalos de 1 em 1 até valores ditos infinitos, são valores pertencentes ao conjunto dos naturais, representados por um N. Exemplo: (0, 1, 2, 3, 4 e 5), são elementos pertencentes ao conjunto N. Objetivos Este capítulo continua os assuntos sobre como dotar um sistema digital com a capacidade de raciocinar. O conteúdo abordado apresentará a ideia de grafos e como estes objetos auxiliam na criação de modelos superiores. 43 Fundamentos da Inteligência Artificial Grafos para busca em espaço de estados Capitulo 4 Porém, existem outros conjuntos que expandem a variação de números, como por exemplo o conjunto dos inteiros, representado pela letra Z, o qual, adiciona a variação de valores negativos aos inteiros. Exemplo: (-5, -3, 0, 6 e 120) são exemplos de números pertencentes ao conjunto dos Z. Perceba que os números naturais estão presentes no conjunto dos números inteiros, porém, o inverso não é verdade. Com base nos conceitos simples de um objeto pertencer a um conjunto, agora podemos avançar nos conceitos básicos que fundamentam os grafos. Agora, vamos falar um pouco sobre conceitos de geometria, em especial, sobre alguns objetos fundamentais. Um dos objetos mais simples que podem ocupar um espaço qualquer é um ponto. Como aprendido em disciplinas básicas de matemática, um conjunto de pontos forma uma reta. Podemos entender que uma reta é um traço continuo que partem de um dado ponto de origem até outro ponto de chegada. Note que, o ponto de origem e o ponto de chegada podem ser entendidos com dois elementos distintos, assim como a reta que liga ambos os pontos. Nota A teoria dos conjuntos, como é chamado os conceitos apresentados acima, possuem um conjunto de regras próprias e bem fundamentadas. O modelo citado acima serve para um entendimento geral, porém, é indicado que você procure por materiais adicionais sobre essa teoria, em especial pelo fato de a teoria dos conjuntos ser uma das bases fundamentais da computação. 44 Fundamentos da Inteligência Artificial Grafos para busca em espaço de estados Capitulo 4 Na geometria, estes pontos isolados são objetos e as linhas que os conectam são chamados de vértices. Por fim, quando três pontos distintos, vamos dar o nome a estes pontos de A, B e C, se unem através de vértices, a ligação de duas arestas a um único ponto é chamada de aresta. Para dar uma visualização mais objetiva destes conceitos, observe a Figura 2. Observe que as arestas entre os pontos (A e B) e entre os pontos (B e C) formam uma estrutura chamada de aresta, ou seja, um ponto que está ligado a mais de um outro ponto. Agora sim. Com estes fundamentos simples, podemos em fim conceituar o que são grafos. A teoria dos grafos é um ramo da matemática que estuda a combinação (relação) entre objetos discretos (NETTO, 2011), porém, a computação a utiliza na análise e desenvolvimento de diversos algoritmos. Por sua vez, um grafo é uma estrutura formada pela combinação entre dois ou mais objetos (pontos), onde podemos através de modelos, aplicar técnicas de tratamento sobre os dados, sempre possuindo um ponto de origem e um ou mais pontos objetivos. FIGURA 9 Pontos, vértices e arestas FONTE Autor (2020). 45 Fundamentos da Inteligência Artificial Grafos para busca em espaço de estados Capitulo 4 O que é uma máquina de estados Como vimos,um grafo é uma estrutura formada por pontos e vértices, assim, podemos considerar que os pontos são áreas de processamento de dados e os vértices o modelo de ligação entre as interfaces de entrada e saída dos pontos. Assim, podemos criar modelos e regras para tratar os dados que estão vendo de um ponto qualquer e definir qual as saídas e para onde estas devem ser direcionadas. Por exemplo. Se definirmos que um conjunto de cidades é interpretadas como pontos e a ligação entre elas como arestas, é possível definir rotas entre as cidades até chegar ao objetivo. Não apenas traçar uma rota, também é possível traçar qual a melhor rota com base na distância, tampo para atravessar a cidade, ou seja, de acordo com os modelos e regras de custos. Assim, tanto o grafo, como suas regras, pode ser entendido como o modelo que permite que um viajante qualquer saia de um ponta para outro e identifique o menor custo de tempo para sua viagem, ou seja, é um tipo de raciocínio prático baseado em regras. Desta forma, podemos expandir um pouco mais a ideia geral de grafos e definir um outro conceito computacional que utiliza os grafos para tomada de decisão estratégicas. As máquinas de estados. De forma simples, podemos dizer que uma máquina de estados é uma estrutura condicional que permite que um fluxo de dados saía de uma origem até um destino de forma estruturada, ou seja, através de estruturas que definem como os dados devem ser tratados e para qual ponto o fluxo deve seguir. A Figura 3 apresenta um exemplo curto de máquina de estado que avalia a idade do usuário e diz quais os conteúdos podem ser acessados. 46 Fundamentos da Inteligência Artificial Grafos para busca em espaço de estados Capitulo 4 Observe, como um fluxo, o grafo da Figura 4 após iniciar coleta a idade do usuário e já trata o perfil de acesso. Em seguida direciona para a área específica de tratamento de coleta de cada faixa etária e por fim, recupera os conteúdos limitando o acesso ou não com base na idade, finalizando o grafo em seguida. Perceba que a estrutura direciona os dados e as saídas, porém, é a etapa de coleta de dados que direciona para um fluxo específico, finalizando em seguida o sistema. Perceba também que a análise feita na coleta da idade não é demonstrada claramente, apenas citando que algum processamento foi feito para esta coleta e para o direcionamento da saída. Desta forma, se pensarmos um agente específico para limitar o acesso por faixa etária, o raciocínio é dado nas diferentes possibilidades e em suas regras. FIGURA 10 Exemplo de máquina de estado FONTE Autor (2020). 47 Fundamentos da Inteligência Artificial Grafos para busca em espaço de estados Capitulo 4 Existem diferentes formas de estruturar um grafo, muitas delas documentadas em diferentes literaturas, sendo a usada acima baseada em estados para a frente, ou seja, baseado em progressão. Algo importante na análise dos grafos no planejamento estratégico, é que nunca mais de um estado estará ativo ao mesmo tempo, assim, podemos em um dado período de tempo, avaliar qual estado está ativo e quais as possibilidades de fluxo que este estado pode ativar em seguida. Grafos de planejamentos Um grafo de planejamento é uma estrutura de dados que permite um planejamento que apresente estimativas mais precisas sobre as saídas. Estas regras de planejamento podem ser entendidas como heurísticas específicas. Desta forma, a heurística pode ser aplicada a diferentes métodos de busca em pró da criação do modelo de procura pela melhor solução, ou seja, um modelo de raciocínio computacional. Importante É importante citar que o uso de estruturas de dados como vetores, árvores, entre outros, auxiliam nas estratégias implementadas para processar os dados e na forma como cada elemento se relaciona. Nota Heurística são métodos que tem por objetivo a resolução de problemas por aproximação, ou seja, não é esperado a melhor solução, mas uma solução viável (BUENO, 2009). 48 Fundamentos da Inteligência Artificial Grafos para busca em espaço de estados Capitulo 4 Tipos de buscas computacionais em espaço de estados Para permitir um bom planejamento, a estratégia de busca deve ser antes definida. Nesta seção abordaremos de forma conceitual algumas formas de busca computacionais para espaço de estados. A progressão, ou busca para frente, é uma forma de busca aplica em estruturas de dados similares a árvores, ou seja, com um início definido e com fim possível. Esta busca parte do início verificando todas as possibilidades para ir para os ativar os próximos estados (nós) até alcançar a solução pretendida. Podemos exemplificar utilizando a Figura 4, onde a partir de qualquer nó ativo, podemos verificar quais as possíveis ramificações que podemos ir e se ela é o objetivo ou fim da execução. Por sua vez, outra estratégia é a busca para trás (regressão), onde, a partir do objetivo, é traçado o caminho até a origem, o que por vezes, resultada em uma análise mais rápida que a busca para frente, uma vez que um estado posterior sempre terá apenas um estado anterior caso a estrutura seja baseada em uma árvore. Porém, se a estrutura permitir que mais de um estado anterior possam ramificar para um estado posterior, o custo total da busca para trás pode se tornar igual ao da busca para frete. Para que ambas as estratégias possam ser implementadas de forma eficiente, é preciso que uma boa heurística seja desenvolvida, procurando tornar as buscas admissível em um espaço de tempo. Para isto, a busca em grafos de planejamento, aponta-se como uma solução eficaz. Planejamentos estratégicos com busca em espaço Grafos de planejamento são indicados unicamente para problemas baseados no planejamento proposicional, apresentado no capítulo 3. 49 Fundamentos da Inteligência Artificial Grafos para busca em espaço de estados Capitulo 4 Estes grafos são chamados de grafo direcionados, ou seja, um grafo que os dados fluem para uma dada direção. Sua estrutura é baseada em níveis, como nível S0, progredindo até um objetivo G definido. Porém, o algoritmo não define a existência de um caminho existente entre S0 e G, mas sim uma aproximação polinomial entre os dois, estimando o número de passos. Os níveis S definem o fluxo verdadeiro que cada nó S contém. Por sua vez, cada nível S está associado a um nível A, que representa as ações, regras, que são aplicadas a cada S. Desta forma, em um tempo i, um número de Si níveis podem ser acessados, bem como, uma quantidade Ai de processos que cada S pode executar. Um exemplo simples de aplicação é o trivial algoritmo de produção de um bolo, o qual, pode ser demostrado através de grafos de planejamento, porém, apresentaremos o algoritmo de ter e comer um bolo, apresentado por Russell (2013), apresentada na Figura 4. FIGURA 11 Algoritmo ter e comer bolo FONTE Russell (2013). Perceba que a ação estratégica é em cada linha descrito abaixo: 50 Fundamentos da Inteligência Artificial Grafos para busca em espaço de estados Capitulo 4 Linha 1: no início é preciso ter o bolo. Linha 2: o objetivo é comer o bolo, para isso, é preciso ter um bolo e comê-lo. Linha3: é referente a ação de comer o bolo Linha 4: é a pré-condição da ação, ou seja, ter o bolo. Linha 5: o efeito da ação é não ter o bolo, uma vez que foi comido, e a própria ação de comido. Linha 6: é a ação de assar um bolo. Linha 7: a pré-condição é não ter um bolo. Note que o símbolo apresentado nesta condição é de negação, assim, o ato de ter um bolo é negado, passando ao estado de não ter um bolo. Linha 8: é o efeito de assar, passando a ter um bolo. Perceba que este algoritmo simples permite é composto de alguns níveis S com suas respectivas regras A. Mesmo simples, essa é uma estratégia útil para criar modelos de planejamento para dotar um agente da capacidade de raciocinar, os aproximando da proposta apresentada no testede Turing, existir uma máquina inteligente, tal que, um humano entrevistador não é capaz de discernir se está entrevistando um humano ou máquina. 51 Fundamentos da Inteligência Artificial Grafos para busca em espaço de estados Capitulo 4 Resumindo Estudamos neste capítulo sobre os grafos e como podemos dotar sistemas irracionais com grafos e permiti-los apresentar características de raciocínio. Para isso, primeiramente apresentamos uma visão geral de o que são grafos. Em seguida passamos a falar sobre as máquinas de estado e seu poder ligado a escolha e fluxos diferentes de dados para uma saída com base em sua entrada. Por fim, discutimos sobre o uso de grafos no planejamento estratégico da racionalidade dos agentes. Assim, esperamos que este conteúdo o auxilie nas demais unidades, onde exploraremos de forma mais profunda e objetiva o poder da IA. 52 Fundamentos da Inteligência Artificial Referências BUENO, F. Métodos Heurísticos: Teoria e Implementações. IFSC. Araranguá, 2009. Disponível. em:. Acesso em 5 maio 2020. B. NETTO, P. O. Grafos: Teoria, Modelos, Algaritmos. 5. Ed. São Paulo: Editora Blucher, 2011. BUENO, S. Minidicionário da língua Portuguesa. 3 ed. São Paulo:FTD, 2016. DANTE, L. R. Matemática: contexto & aplicações. 2 ed. São Paulo: Ática, 2013. DELGADO, L. F. M.; GOMES, R. S. A função do neuromarketing no jornalismo online. Scientia Alpha-Revista Científica Multidisciplinar da Faculdade ALFA Umuarama, v. 1, n. 1, 2019. HAUGELAND, J. Artificial Intelligence: The Very Idea. MIT Press. 1985. NILSSON, N. J. Artificial Intelligence: A New Synthesis. Morgan Kaufmann. 1998. POOLE, D. MACKWORTH, A. K. e GOEBEL, R. Computational intelligence: A logical approach. Oxford University Press. 1998. RICH, E. e KNIGHT, K. Artificial Intelligence, ed. 2. McGraw-Hill. 1992. RUSSELL, S. Inteligência artificial. 3. ed. Rio de Janeiro: Editora Elsevier, 2013. STERNBERG, R. J. Psicologia cognitiva. 4. ed. Porto Alegre: Editora Artmed, 2008. TEC MUNDO. YOUTUBE, 2018. Disponível em: . Acesso em: 10 de maio de 2020. TURING, A. M. Computing machinery and intelligence. Mind, Volume LIX, Issue 236, Pages 433–460. 1950. 53 Fundamentos da inteligência artificial e sua história Introdução as definições de Inteligência Artificial IA, um campo interdisciplinar Filosofia Matemática Economia Neurociência Psicologia Engenharia de computadores Teoria de controle e cibernética Linguística A história da IA Agentes inteligentes e o ambiente para a IA Definições introdutórias sobre os agentes e a IA O teste de Turing e os agentes inteligentes Tipos de agentes Agentes e sua relação com o ambiente Onde os agentes estão presentes em nossas vidas Lógica proporcional O que são agentes baseados em conhecimentos Introdução a lógica na computação A lógica proposicional e os sistemas inteligentes Grafos para busca em espaço de estados O que são grafos O que é uma máquina de estados Grafos de planejamentos Tipos de buscas computacionais em espaço de estados Planejamentos estratégicos com busca em espaço Referências