Baixe o app para aproveitar ainda mais
Prévia do material em texto
Inteligência Artificial Alexandre Fernandes Veiga 1 – Defina Inteligência Artificial. Inteligência: faculdade de aprender, apreender ou compreender; percepção, apreensão, intelecto, intelectualidade (Aurélio, 1996). Artificial: produzido pela arte ou pela indústria; não natural. Inteligência Artificial: existem várias definições para o termo inteligência artificial, entre elas, destacam-se: ”A interessante tarefa de conseguir que os computadores pensem”(Haugeland, 1985). ”O estudo dos cálculos que permitem perceber, raciocinar e agir”(Winston, 1992). ”A arte de criar máquinas com capacidade de realizar funções que quando realizadas por pessoas requerem inteligência”(Kurzweil, 1990). ”Um campo de estudo que se concentra na explicação e emulação da conduta inteligente em função dos processos computacionais” (Schalko_, 1990). ”A inteligência artificial é um subterfúgio, um artifício destinado a dominar as máquinas atribuindo- lhes uma inteligência”, (Ganascia). “Para Kesselring (1993), o homem é um ser que age com responsabilidade enquanto o computador processa as informações com um tipo de inteligência que não tem uma gênese dependente de um fundamento sensório-motor e não se desenvolve, nem está em condições de assumir responsabilidades. Este autor reconhece que a teoria de Piaget pode servir como plataforma para um recíproco aclaramento da inteligência artificial e natural.” “Costa (1994) defende idéias próximas as de Kelssering quanto a -1)um possível avanço recíproco entre a IA e a teoria psicogenética de Piaget, 2) a idéia de evidenciar (ainda que pouco explicitada em Kesselring) que existem uma inteligência de homem e uma inteligência de máquina, de diferentes naturezas; 3) a noção de desenvolvimento, enquanto ausente na máquina e 4) a questão da afetividade (em Costa) e da ética (Kesselring). “ Quanto ao primeiro ponto levantado acima, Viccari (1996) conclui pela necessidade da IA encontrar apoio em um modelo de inteligência formalizável ou mesmo um modelo de aprendizagem que sirvam para fundamentar uma disciplina intitulada matética computacional (do grego "manthanein" = aprender), definida por Self (1991). como: "o estudo da aprendizagem, e de como ela pode ser promovida, utilizando as técnicas, conceitos e metodologias da Ciência da Computação e Inteligência Artificial". O que é IA ? 1 Se abordarmos o conceito de inteligência, veremos que é um conceito relativo à construção de estruturas cognitivas do ser humano, responsáveis pela formação da razão, característica peculiar frente aos demais animais. Como o ser humano é o único animal racional, diz-se que ele é o único ser inteligente . A IA pode ser definida como o esforço de desenvolver sistemas baseados em computadores (hardware ou software) que possam se comportar como seres humanos, ou seja, organizar a solução de problemas de acordo com etapas e passos idênticos a do ser humano. Com a IA, as máquinas podem ter a capacidade de raciocinar e aprender funções normalmente associadas com a inteligência humana. Tais sistemas seriam capazes de aprender linguagens naturais, realizar tarefas físicas coordenadas (robótica), usar aparelhos de percepção que informam seu comportamento e linguagem (sistemas de percepção oral e visual) e emular especialistas e a tomada de decisão humanas (sistemas especialistas). Tais sistemas também podem mostrar lógica, raciocínio, intuição e as qualidades de bom senso que nós associamos com Inteligência Artificial o ser humano. Criada oficialmente em 1956, a IA está intimamente relacionada ao aprendizado da máquina, Jordain. Outro importante elemento são máquinas inteligentes, os hardwares físicos que executam essas tarefas. O sucesso dos sistemas de IA são baseados na especialidade, conhecimento e padrões de raciocínio filtrado humanos, mas eles não exibirão a inteligência do ser humano. A existência dos sistemas de inteligência artificial não propõem soluções novas e originais para resolver problemas. A sua existência estende os poderes dos especialistas, mas de nenhuma maneira os substituem ou obtém conhecimentos superiores a eles. Os sistemas de IA não possuem o senso comum e a generalidade do ser humano naturalmente inteligente. A inteligência humana é vastamente complexa e mais ampla que a inteligência dos computadores. Um fator chave que distingue o ser humano dos outros animais é nossa capacidade de desenvolver associações e usar metáforas e analogias, como por exemplo ”como”, do verbo comer e ”como”, a conjunção ou o advérbio. Usando metáforas e analogia nós criamos novas regras (uma regra pode ser, por exemplo: SE está frio ENTÃO deve-se usar agasalho), aplicamos velhas regras em novas situações e ao mesmo tempo atuamos intuitivamente e/ou instintivamente sem regras. Muito do que nós chamamos de senso comum ou generalizado nos humanos residem na habilidade de criar metáforas e analogia. A inteligência humana também inclui uma habilidade única de impor um aparato conceitual no mundo que nos cerca. Meta-conceitos tais como causa-efeito e tempo, e conceitos de menor importância como, por exemplo, café da manhã, jantar e almoço são todos impostos pelos seres humanos no mundo que os cercam. Pensar nos termos desses conceitos e atuar sobre eles são características centrais da raça humana. Mas o que significaria Inteligência Artificial , então? Há estudos que atribuem o conceito de inteligência a outros animais e vegetais. Mas obviamente não é um conceito comparável ao da inteligência humana. É, isso sim, um conceito relativo à análise em questão: esta inteligência irracional seria a capacidade de adaptação de um ser vivo às circunstâncias de seu meio. Desta forma, poderemos utilizar este conceito para a máquina, definindo, então, uma inteligência de máquina. Esta inteligência seria a sua capacidade genética de instrumento de solução de problemas. Por capacidade genética entenda-se todo o conhecimento embutido a nível de hardware, o que permite um determinado conjunto de estados possíveis de funcionamento através de programas. A inteligência de máquina seria, então, um tipo de inteligência construída pelo homem, portanto, uma inteligência artificial. 2 Mas o conceito de Inteligência Artificial (IA) abarca mais do que a inteligência de máquina pretende-se, com ela, capacitar o computador de um comportamento inteligente. Por comportamento inteligente devemos entender atividades que somente um ser humano seria capaz de efetuar. Dentro destas atividades podem ser citadas aquelas que envolvem tarefas de raciocínio (planejamento e estratégia) e percepção (reconhecimento de imagens, sons, etc.), entre outras. 3 2 – Cite quatro áreas de Inteligência Artificial As empresas estão usando várias técnicas inteligentes da computação para estender sua base de conhecimento antes de fornecer soluções de problemas que são enormes ou complexos para serem manipulados por pessoas. Sistemas especialistas, redes neurais, lógica fuzzy, algoritmos genéticos, raciocínio baseado em caso e agentes inteligentes são aplicações promissoras no mundo corporativo. Sistemas Especialistas Sistemas especialistas são programas de computador de conhecimento intensivo, obtido pela perícia de especialistas em domínios limitados do conhecimento. Eles podem auxiliar na tomada de decisão levantando questões relevantes e explicando as razões para adotar certas ações. Redes Neurais Artificiais Redes neurais artificiais são hardware ou software que tentam imitar o modelo de processamento do cérebro biológico. Seu amplo uso destaca cada vez mais a área conexionista da inteligência artificial. Raciocínio Baseado em CasoPara a construção de sistemas especialistas obtém-se o conhecimento de especialistas individuais. Mas organizações também têm conhecimento coletivo e especialidades que foram construías durante anos. Tal conhecimento pode ser obtido e armazenado através do Raciocínio Baseado em Caso (RBC). O RBC é uma tecnologia de inteligência artificial que representa o conhecimento e experiências passadas como uma base de dados de casos e soluções. O sistema busca por casos armazenados com características similares a um problema novo, acha o mais parecido e aplica as soluções do antigo caso ao novo. Soluções bem sucedidas são adicionadas ao novo caso e ambos são armazenados juntos com os outros casos na base de conhecimento. Já as soluções mal sucedidas também são adicionadas ao banco de dados de casos junto com explicações do porque que as soluções não funcionaram. Os SEs funcionam aplicando um conjunto de regras SE-ENTÃO-SENÃO que formam uma base de conhecimento. O RBC, ao contrário, representa o conhecimento como uma série de casos, e esta base de conhecimento é continuamente expandida e refinada pelos usuários. Os sistemas de RBC simulam o ato humano de relembrar um episódio prévio para resolver um determinado problema em função da identificação de afinidades entre os mesmos. Por exemplo, a Compaq Computer de Houston, Texas, empresa que opera em alto grau de competitividade, ambiente de negócio baseado em serviços orientados a clientes e é diariamente inundada com telefonemas de clientes que precisam de suporte. Manter os clientes satisfeitos exige da Compaq gastar milhões de dólares anualmente para manter a ampla e tecnicamente hábil equipe de suporte a usuário. Quando os clientes entram em contato com a empresa, eles precisam descrever os problemas para o pessoal do suporte e então esperar enquanto são transferidos para técnicos especializados. Os clientes então descrevem todo o problema novamente enquanto os técnicos tentam resolver, o que demonstra uma experiência frustrante. Para melhorar o atendimento ao usuário e controlar os custos, a Compaq iniciou a construção de um software de RBC para clientes que compraram as impressoras Pagemarq. A base de conhecimento do software é composta de centenas de casos reais dos problemas típicos dessas impressoras. O pessoal do suporte treinou o RBC entrando com informações de forma textual, por palavras chaves necessárias para serem problemas categorizados. Eles também informaram uma série de questões que poderiam ser 4 necessárias para permitir ao software chegar a um problema restrito. Finalmente, as soluções foram adicionadas para cada caso. Com o sistema de RBC instalado em seu computador, o usuário não precisa mais ligar para o suporte. Ao invés disso, ele executa o programa e descreve o problema. O sistema rapidamente busca casos reais, descartando os não relacionados e selecionando os relacionados ao problema. Se for necessário promover uma busca mais refinada, o software pedirá ao usuário mais informações. No fim, um ou mais casos relevantes para o problema especificado serão apresentados com suas soluções. Com isso, a Compaq economizou de 10 a 20 milhões de dólares por ano. Existem boas razões para se utilizar um sistema de raciocínio baseado em caso. Primeiro, o conhecimento é adquirido, armazenado em uma base de dados. Segundo é possível dar manutenção ao conhecimento armazenado ou mesmo adicionar novos casos. Ainda, a eficiência com que o sistema resolve os problemas é crescente. Como o RBC armazena também os casos que não foram bem sucedidos, fica mais fácil evitar insucessos. E por último, o usuário final, que realmente experimenta ou usa um sistema RBC, pode comprovar os seus resultados. O Sistema i-hotel, desenvolvido pela Universidade do Vale do Itajaí – UNIVALI e pela Universidade Federal de Santa Catarina - UFSC, dispõe um serviço de apoio ao usuário (neste caso, pessoa que utilizará o serviço através da página na Internet, por exemplo, um turista ou uma agência de viagem) na área hoteleira. O sistema ajuda na escolha de um melhor local para se hospedar e ainda fornece endereços, mapas e até a realização de reserva, dependendo do caso. Por enquanto o i-hotel abrange o estado de Santa Catarina, mas pretende-se implantá-lo para todo o Brasil. Novos softwares comerciais, tal como o Inference’s CasePoint WebServer permite que clientes acessem um banco de dados de casos através da Web. Usando o raciocínio baseado em casos, o servidor indaga aos clientes uma série de questões para estreitar os problemas. A CasePoint então extrai soluções do banco de dados e as passam para os clientes. Lógica Fuzzy Os programas tradicionais requerem precisão e certeza (também chamado de crisp): ligado ou desligado, sim ou não, certo ou errado. Porém isso não acontece no mundo real. Sabemos que 50oC é quente e que -40oC é gelado; mas 23oC é quente, morno, ameno ou frio? A resposta depende de fatores como o vento, umidade, a experiência pessoal e a roupa que cada um está usando. Introduzida em 1965 por Lotfi A. Zadeh, da universidade da Califórnia, a lógica fuzzy (ou lógica difusa) é uma tecnologia da IA baseada em regras que tolera a imprecisão e sempre usa isso para solucionar problemas que nós não conseguíamos resolver antes. Consiste de uma variedade de conceitos e técnicas para representar e inferir o conhecimento que é impreciso, incerto ou que não dê confiança. Os termos (conhecidos como funções de pertinência) da lógica fuzzy são definidos de forma imprecisa. Para controlar o ambiente de um quarto usando esta lógica, o programador poderia desenvolver similarmente definições imprecisas para umidade e outros fatores tais como vento e temperatura externa. Em geral, o código da lógica fuzzy exige menos regras SE-ENTÃO, tornando- o mais simples que os tradicionais. Inúmeras máquinas e processos usam esses controladores, muito difundidos principalmente no Japão. A seguir temos alguns exemplos: • Câmera de vídeo : determina o melhor foco e luz quando há imagem em movimento; • Metrô : aumenta a estabilidade de direção e a precisão da parada através da avaliação das condições de tráfego de passageiros. Fornece partida e paradas suaves; • Aspirador de pó : ajusta a potência do motor do aspirador julgando a quantidade 5 de pó e sujeira e as características do piso. • Plano de saúde : determina o valor da mensalidade de um indivíduo através de sua idade e outros atributos. Um sistema de controle é um sistema de closed-loop, isto é, de ciclo fechado, que normalmente controla uma máquina para realizar uma resposta desejada, dado um número de entradas do ambiente. Estes sistemas usam o processo de fuzificação e defuzificação. A fuzificação gera entradas fuzzy para uma máquina de inferência, enquanto a defuzificação faz o inverso, cria valores reais, também chamados de crisp, para serem aplicados na máquina sob controle. Máquina sob controle é a máquina ou processo que se deseja controlar, por exemplo, uma máquina de lavar roupa saídas respostas do comportamento da máquina saídas fuzzy as mesmas saídas, passadas pela fuzificação máquina de inferência/base de regras fuzzy converte as saídas fuzzy para ações a tomar acessando as regras fuzzy em uma base de regras entradas fuzzy são as ações fuzzy a serem executadas entradas são os indicadores crisp na máquina para controlar seu comportamento, convertido de entradas fuzzy com um defuzificador 6 3 – Descreva dois problemas em que poderíamos utilizar Inteligência Artificial. Como? Algoritmo Genético As aplicações comerciais de algoritmos genéticos estão emergindo. Engenheiros da General Electric (GE) usaram um algoritmogenético para ajudá-los a projetar motores de turbinas de jatos, que era um problema complexo envolvendo cerca de 100 variáveis e 50 equações. Os engenheiros avaliaram os desenhos mudarem em uma estação de trabalho que rodava uma simulação do motor em operação. Pelo fato que cada desenho mudado exigia uma nova simulação para testar sua eficácia, os projetistas poderiam gastar semanas em soluções que não poderiam ser as melhores. Usar um sistema especialista reduziria o tempo para produzir um desenho satisfatório de diversas semanas para diversos dias, mas isso poderia produzir soluções somente para um modelo. Mais tarde, os melhoramentos exigiriam mudanças simultâneas em um amplo número de variáveis. Nesse ponto a GE introduziu um algoritmo genético que pegava a população inicial do desenho produzido pelo sistema especialista e gerava um projeto contendo três vezes o número de melhoramentos em relação ao melhor modelo anterior em apenas dois dias. Agentes Inteligentes Agentes inteligentes são programas que trabalham em segundo plano para executar tarefas específicas, repetitivas e previsíveis para um usuário, um processo na empresa ou um software. Os agentes representam um nível de abstração bem maior, podendo inclusive incorporar outras técnicas de IA. Usam uma base de conhecimento ensinada ou incorporada para realizar tarefas ou tomar decisões em nome do usuário, processo ou software. Eles podem ser programados para tomar decisões de acordo com as preferências pessoais do usuário. Podem ser comparados a um assistente digital pessoal colaborando com o usuário em um mesmo ambiente de trabalho. Atualmente, segundo Laudon, há diversas aplicações de agentes inteligentes em sistemas operacionais, aplicativos, sistemas de e-mail, software de computação móvel e ferramentas de redes. Por exemplo, os Wizards encontrados nas ferramentas do Microsoft Office têm capacidades incorporadas para mostrar aos usuários como executar várias tarefas, tais como formatar documentos ou criar gráfico. De interesse especial para os negócios são os agentes usados para cruzar redes, incluindo a Internet, na busca por informação. Eles estão sendo usados em aplicações de comércio eletrônico para ajudar os consumidores a encontrarem produtos comparando preços e outras características. Os consumidores podem, assim, filtrar e buscar informações ao fazer suas compras de acordo com as características dos produtos de seu interesse. Yahoo!, Excite e Miner, oferecem agentes de compra para algumas categorias de mercadoria, como por exemplo música, livros, eletrônicos e brinquedos. Para usar estes agentes os consumidores submetem informações sobre os produtos desejados em formulários. Os agentes fazem a busca na Web e retornam uma lista de sites que vendem os ítens de acordo com o preço ou outras características fornecidas e um link para a compra. O comércio eletrônico baseado em agentes se tornará ainda mais difundido quando os agentes e a tecnologia Web tornarem-se mais poderosos e flexíveis. Os softwares de agentes têm dificuldade de obter informações de páginas Web cujo o código está em HTML (HiperText Markup Language) pois elas são orientadas em formato, estáticas e visíveis pelas pessoas. O aumento do uso de XML (eXtensible Markup Language), Java e objetos distribuídos, linguagens multiplataformas e mais acessíveis, tornarão o ambiente Web mais propício aos agentes e outros processos automatizados a acessarem e interagirem com informações baseadas na Web de forma mais fácil. 7 4 – Sabendo que o grafo de estados que determina se um número binário é divisível por 3 é : Onde S0 é o estado inicial e estado final, determine o grafo de estados para números binários divisíveis por 5 . 0 1 P (2p+0) Mod5 (2p+1)Mod5 s0 s0 s1 s1 s2 s3 s2 s4 s0 s3 s1 s2 s4 s3 s4 8 5 – Mostre que utilizando busca em profundidade limitada com limite L=2 , não é possível sair do estado e chegar ao estado . 9 6 – Utiliza os 3 métodos de busca para ir de à . Largura Profundidade Profundidade Interativo 10 11 12 13 14 15 7 – Jogo das 8 rainhas é um problema que consiste em colocar 8 rainhas num tabuleiro de xadrez sem que haja ataque entre elas. Uma rainha atacou outra quando está na mesma linha, coluna ou diagonal. Reduza o problema para 4 rainhas, utilize busca em profundidade e em largura para resolvê-la a partir da seguinte configuração inicial. (Considere que cada rainha têm uma coluna fixa). 16
Compartilhar