360 likes | 572 Views
Paradigmas de Inteligência Artificial. Jacques Robin Geber Ramalho CIn-UFPE. Paradigmas de IA. Várias metáforas para modelagem computacional de raciocínio e conhecimento: Simbólico Probabilista Conexionista Evolucionista Nebuloso Multiagente Híbrido Diferenças chaves:
E N D
Paradigmas de Inteligência Artificial Jacques Robin Geber Ramalho CIn-UFPE
Paradigmas de IA • Várias metáforas para modelagem computacional de raciocínio e conhecimento: • Simbólico • Probabilista • Conexionista • Evolucionista • Nebuloso • Multiagente • Híbrido • Diferenças chaves: • Forma de representar o conhecimento • Forma de raciocinar com esse conhecimento • Forma de adquirir esse conhecimento • Ciências provendo metáfora
segue-se fatos fatos sentenças sentenças Mundo semântica semântica Representação implica IA Simbólica • Raciocinar como manipulação de símbolos representando as entidades, relações, eventos de domínio de aplicação • Construção de novas sentenças a partir de sentenças já conhecidas • Deve-se assegurar que o raciocínio é plausível (sound) • Exemplo: • representar entidades, relações e eventos como formulas da lógica • usar provador de teorema para raciocinar dedutivamente com tais formulas
IA Simbólica • Inspirada na lógica, semiologia, lingüística e psicologia cognitiva • IA via mímica do “software” do cérebro humano • Representação do conhecimento: todos os tipos • Raciocínio: todos os tipos • Aquisição do conhecimento: todos os tipos • Já vimos vários exemplos: • Capitão West é criminoso • Codificação em lógica de conhecimento de agente explorador do mundo do wumpus
IA Simbólica • Mais antiga, mais versátil e ainda mais utilizada • Inadequada para: • Raciocínio pelo qual eliciar conhecimento explícito é muito difícil • Raciocínio de baixo nível de interpretação de percepção • Reconhecimento de padrões, visão computacional, processamento da fala • Raciocínio de baixo nível para disparo de ações reflexas • Controle dos motores dos efetuadores do robôs • Raciocínio com conhecimento incerto ou muito ruidoso • Raciocínio envolvendo cálculo ou probabilidades
IA Conexionista • Raciocinar como ativações de ligações em uma redes(de neurônios, de eventos, de entidades) • Inspirada na neurologia • IA via mímica do “hardware” do cérebro humano • Representação do conhecimento: conjunto de atributo-valores de poder expressivo equivalente a lógica proposicional • Raciocínio: indutivo ou analógico durante treinamento, dedutivo, abdutivo ou analógico durante utilização • Aquisição do conhecimento: aprendizagem
Entrada da rede:codificação binária depares atributos-valores Saída da rede:codificação binária depares atributos-valores Redes neurais: exemplo do mundo do Wumpus
Redes Neurais: princípios s1 w1i e(i) sj wji ó õ s(i) wni sn camada de entrada camada de saída camada escondida
Redes Neurais: princípios • Criar base de exemplos: • Exemplos positivos: pares (seqüência de percepção,seqüência de ação) que resultaram no explorador sair da caverna vivo com o ouro • Exemplos negativos: pares (seqüência de percepção,seqüência de ação) que resultaram no explorador morrer • Dividir essa base em treinamento e teste • Iniciar pesos da rede com valores aleatórias • Codificar todas as seqüências de percepção em bits de entrada da rede • Propagar cada vetor de percepção e comparar saída da rede com codificação binária da melhor ação escolhida ma média das seqüências bem sucedidas • Ajustar pesos por retro-propagação para minimizar distância média quadrada entre saída da rede e dessa melhor ação • Iterar até convergir rede implementar comportamento quase ótimo no conjunto de treinamento
IA Conexionista • Adequada para: • Raciocínio pelo qual eliciar conhecimento explícito é muito difícil • Raciocínio de baixo nível de interpretação de percepção • Reconhecimento de padrões, visão computacional, processamento da fala • Raciocínio de baixo nível para disparo de ações reflexas • Controle dos motores dos efetuadores do robôs • Inadequada: • Para domínios relacionais requerem representação da 1a ordem • Para aplicações críticas requerendo explicações detalhadas e claras do porque das decisões do agentes (ex, central nuclear, cirurgia, investimento de grande porte)
IA Evolucionista • Raciocinar como construção de soluções por um processo iterativo de geração semi-aleatório de hipóteses seguida por uma seleção das mais adaptadas ao ambiente • Inspirada na teoria da evolução, paleontologia, socio-biologia • IA via mímica do “processo de desenvolvimento” do cérebro humano • Representação do conhecimento: conjunto de atributo-valores de poder expressivo equivalente a lógica proposicional • Raciocínio: indutivo durante treinamento, dedutivo ou abdutivo durante utilização • Aquisição do conhecimento: aprendizagem
glitter? stench? yes no yes pick breeze? breeze? stench? yes no yes no yes no turnLeft shoot pick turnRight pick pick Indivíduo 1 Indivíduo N Algoritmos genéticos: exemplo no mundo do Wumpus • Entrada: vocabulário básico de atributos e domínio de valores • glitter, stench, breeze, ... {yes/no} • action {forward,turnRight,turnLeft,shoot,pick, ...} • Saída: árvore de decisão cujos ramos testam valores de (alguns) atributos e cujas folhas indicam decisão a tomar • 1a geração de indivíduo: conjunto de árvores de decisão gerados aleatóriamente • Cada par (atributo,valor) é visto como um gen • Cada árvore de decisão é visto como um genótipo ...
Algoritmos genéticos: princípio • Os indivíduos da geração i são testados no ambiente • Função de fitness determina métrica de desempenho e limiar de sobrevivência • A geração i+1 é formada por: • Cruzamento dos genótipos dos sobrevivente da geração i (reprodução) • Cortar e colar aleatória da árvore pai com a árvore mãe • Mutação dos sobreviventes da geração i • Modificação aleatória da árvore • Iteração até uma geração conter indivíduo com desempenho acima de limiar desejado
Filho stench? glitter? Filha yes yes no no breeze? stench? breeze? pick yes no yes no yes no turnLeft shoot pick pick pick turnRight Algoritmos genéticos: reprodução Mãe Pai glitter? stench? yes no yes no stench? breeze? breeze? pick yes no yes no yes no pick pick turnLeft shoot pick turnRight
breeze? breeze? yes no yes no turnLeft shoot pick turnRight Algoritmos genéticos: mutação Original glitter? Mutante 1 glitter? yes no yes no breeze? breeze? stench? breeze? yes no yes no yes no yes no turnLeft shoot pick turnRight turnLeft shoot pick turnRight Mutante 2 glitter? Mutante 3 glitter? yes no yes no breeze? yes no turnLeft shoot pick
IA Evolucionista • Adequada para: • Raciocínio pelo qual eliciar conhecimento explícito é muito difícil • Raciocínio de baixo nível de interpretação de percepção • Reconhecimento de padrões, visão computacional, processamento da fala • Raciocínio de baixo nível para disparo de ações reflexas • Controle dos motores dos efetuadores do robôs • Inadequada para domínios relacionais requerem representaçãoda 1a ordem
IA Nebulosa • Raciocinar em termos intuitivos com “palavras” e “quantidades qualitativas” do quotidiano • “alto”, “baixo”, “muito”, “pouco”, ... • “Voce vai ao cinema hoje?” “Vou de tardezinha.” “Estou com muita vontade de ir” • Inspirada na lingüística e lógicas não booleanas com valores de verdades contínuas • IA via mímica do “software” do cérebro humano • Representação do conhecimento: versões nebulosas de lógica e regras • Raciocínio: dedução e abdução • Aquisição do conhecimento: manual
IA nebulosa Teoria de Conjunto Convencional (Booleano): 38.7°C 38°C 40.1°C 41.4°C Teoria de Conjunto Fuzzy: 42°C 39.3°C “Febre Alta” 38.7°C 38°C 37.2°C 40.1°C 41.4°C “mais ou menos“ ao invés de “ou isto ou aquilo”! 42°C 39.3°C 37.2°C
1 1 baixo alto baixo alto X(m) X(m) 1,55 1,80 IA Nebulosa Função de pertinência mA de elemento X a conjunto nebuloso A mA: X -> [0,1] mALTO(1,70) = 0.6, lêia-se 1,70 pertence à classe alto c/ pertinência de 0.6
IA Nebulosa • Nova teoria dos conjuntos => nova lógica • rejeita os axiomas da consistência (P ÙØ P Þ F) e do terceiro excluído (P ÚØ P Þ T) • Operadores lógicos: • Sendo r, r1 e r2 fórmulas bem formadas Ø r = 1 - r r1Ù r2 = min (r1,r2) ou r1´ r2 (t-norma) r1Ú r2 = max (r1,r2) ou r1+ r2 (s-norma) $ ri = min (r1,r2), i Î U " ri = max (r1,r2), i Î U r1Þ r2 = min (r1,r2)
IA Nebulosa Lógica Fuzzy define a estratégia de controle no nível linguístico! Command Variables Measured Variables Inference + composition (Linguistic Values) (Linguistic Values) Linguistic Level Defuzzification Fuzzification Numerical Level Plant Command Variables Measured Variables (Numerical Values) (Numerical Values)
Lógica nebulosa: exemplo no mundo do Wumpus • X,Y m(loc(X,Y),smelly,1) m(loc(X+1,Y),safe,0.10) X,Y m(loc(X,Y),smelly,1) m(loc(X-1,Y),safe,0.10) X,Y m(loc(X,Y),smelly,1) m(loc(X,Y+1),safe,0.10) X,Y m(loc(X,Y),smelly,1) m(loc(X,Y-1),safe,0.10) X,Y m(loc(X,Y),breezy,1) m(loc(X+1,Y),safe,0.10) X,Y m(loc(X,Y),breezy,1) m(loc(X-1,Y),safe,0.10) X,Y m(loc(X,Y),breezy,1) m(loc(X,Y+1),safe,0.10) X,Y m(loc(X,Y),breezy,1) m(loc(X,Y-1),safe,0.10) • m(loc(1,1),smelly,0) m(loc(1,1),breezy,0) m(loc(1,1),safe,?) • m(loc(1,2),smelly,0) m(loc(1,2),breezy,1) m(loc(1,1),safe,?) • m(loc(1,2),smelly,1) m(loc(1,2),breezy,1) m(loc(1,1),safe,?)
Lógica nebulosa: exemplo no mundo do Wumpus • X,Y m(loc(X,Y),smelly,1) m(loc(X+1,Y),safe,0.25) X,Y m(loc(X,Y),smelly,1) m(loc(X-1,Y),safe,0.25) X,Y m(loc(X,Y),smelly,1) m(loc(X,Y+1),safe,0.25) X,Y m(loc(X,Y),smelly,1) m(loc(X,Y-1),safe,0.25) X,Y m(loc(X,Y),breezy,1) m(loc(X+1,Y),safe,0.25) X,Y m(loc(X,Y),breezy,1) m(loc(X-1,Y),safe,0.25) X,Y m(loc(X,Y),breezy,1) m(loc(X,Y+1),safe,0.25) X,Y m(loc(X,Y),breezy,1) m(loc(X,Y-1),safe,0.25) • m(loc(1,1),smelly,0) m(loc(1,1),breezy,0) m(loc(1,1),safe,0.56) m(loc(1,2),smelly,0) m(loc(1,2),breezy,1) m(loc(1,1),safe,0.19) m(loc(1,2),smelly,1) m(loc(1,2),breezy,1) m(loc(1,1),safe,0.06)
IA Probabilista • Raciocinar usando as leis das probabilidades e da estatística representando eventos de domínio de aplicação como variáveis aleatórias • Inspirada na probabilidade e estatística • IA como escolha da decisão que maximiza a esperança matemática da utilidade dado uma distribuição de probabilidades de eventos • Representação do conhecimento: distribuição de probabilidade ou versões com anotações probabilistas dos formalismos simbólicos • Raciocínio: todos os tipos • Aquisição do conhecimento: todos os tipos • Adequado para ambientes não-deterministas e conhecimento incerto
IA Híbrida • Híbrida: • Metáforas • Formalismos de representação do conhecimento • Máquina de inferência • Metodologias de aquisição do conhecimento • De: • Vários paradigmas • Vários sub-paradigmas • Hibridação é conceitual enquanto integração é apenas arquitetural
Métodos de IA Simbólica Representação do Conhecimento Aquisição do Conhecimento
Sistemas híbridos simbólicos • Engenharia manual do conhecimento: • Regras + Lógica: Programação em lógica • Classes + Lógica: Lógicas Descritivas • Regras + Classes + Procedimentos: Sistemas de Produção Orientados a Objetos (EOOPS) • Regras + Classes + Lógica: Programação em Lógica Orientada a Objetos (OOLP)
Métodos de IA Numérica Representação do Conhecimento Aquisição do Conhecimento
Sistemas híbridos numéricos • Aprendizagem de máquina: • Conexionista + Nebuloso: Sistemas neuro-fuzzy • Evolucionista + Nebuloso: Sistemas fuzzy-genéticos • Evolucionista + Conexionista: Sistemas neuro-genéticos • Evolucionista + Conexionista + Nebuloso:Sistemas neurofuzzy-genéticos
Sistemas híbridos numérico-simbólicos • Engenharia manual do conhecimento: • Numérica + lógica: Lógica nebulosa • Aprendizagem de máquina: • Conexionista + regras: Sistemas neuro-simbólico • Engenharia manual do conhecimentoe/ou aprendizagem de máquina: • Conexionista + probabilista + simbólico: Redes Bayesianas
Identificar as características do ambiente do agente Escolher a arquitetura de agente mais adequada para tais características Para cada elemento nessa arquitetura: Identificar: Tipos de raciocínios necessários Tipos de conhecimentos necessários Disponibilidade de conhecimento na forma de especialista humano, literatura ou documentação, ontologia parcialmente re-aproveitável Disponibilidade de dados, exemplos, casos ou ambiente de simulação Em função disso, escolher: Paradigma de IA Formalismo de representação de conhecimento Máquina de inferência Métodos e ferramentas de aquisição de conhecimento Aplicar sub-processo de desenvolvimento da base de conhecimento Integrar os elementos Testar o protótipo completo e possivelmente iterar Processo de desenvolvimento de agentes baseado em conhecimento
Ambiente Sensores BCE: interpretação das percepções BCD: modelo dos ambientespassados e atual BCE: atualização do modelo do ambiente Ask Tell Retract Ask BCE: atualização do objetivos Máquina de inferência BCD: Objetivos BCE: predição deambientes futuros BCD: modelo de ambientes futuros hipotéticos BCE: estratégia de escolha de ações Efetuadores Por exemplo: agente deliberativo