tópicos de inteligência artificial curso de mestrado em ... · pdf...
TRANSCRIPT
Tópicos de Inteligência Artificial Notas de apoio às aulas
Curso de Mestrado em Sistemas de Informação Geográfica
DECivil, IST
João Bento
Jorge Côrte-Real
Secção de Mecânica Aplicada
Departamento de Engenharia Civil
-1-
Parte I
INTRODUÇÃO
-2-
Se a elucidação da mente é a última fronteira
das ciências da vida,
a consciência parece ser o último mistério da
elucidação da mente.
(António Damásio, in «O Sentimento de Si»)
-3-
Programa Introdução
Um conceito de Inteligência Artificial (IA) Fontes da IA Síntese Histórica da IA Modelação e resolução de problemas Utilização de computadores em apoio das actividades de modelação em problemas mal estruturados Métodos computacionais aplicados à resolução de problemas
Programação procedimental Programação declarativa
Conceitos básicos para a aplicação de técnicas de IA aos SIG Métodos básicos de resolução de problemas (problem-solving)
Espaços de estados Redução de problemas Procura num espaço de estados
Abordagens Simbólicas Paradigmas formais para a representação do conhecimento
Tipos de inferência Estratégias de raciocínio
Sistemas periciais Sistemas fundados no Raciocínio Baseado em Casos (RBC) Sistemas de indução
Abordagens Conexionistas Redes Neuronais Artificiais
Exemplos de aplicação e casos de estudo Sistemas periciais Sistemas de indução Sistema fundados no RBC Sistemas de extracção, classificação e de extrapolação com Redes Neuronais Artificiais
Introdução ao uso de ferramentas para a construção de sistemas inteligentes
Programação em lógica: PROLOG Lógica e objectos: XLOG+ Sistemas de produção / enquadramentos: KAPPA-PC Sistemas fundados no RBC: ESTEEM Sistemas de indução Redes Neuronais Artificiais: NeuroSolutions
-4-
Detalhe do Programa
Matéria Apresentação Introdução
Um conceito de Inteligência Artificial (IA) Fontes da IA Síntese Histórica da IA Modelação e resolução de problemas Utilização de computadores em apoio das actividades de modelação em problemas mal estruturados Métodos computacionais aplicados à resolução de problemas
Programação procedimental Programação declarativa
Conceitos básicos para a aplicação de técnicas de IA aos SIG Métodos básicos de resolução de problemas (problem-solving)
Espaços de estados Redução de problemas Procura num espaço de estados
Abordagens Simbólicas Paradigmas formais para a representação do conhecimento
Tipos de inferência Estratégias de raciocínio
Introdução ao uso de ferramentas para a construção de sistemas inteligentes
Programação em lógica: PROLOG Lógica e objectos: XLOG+
Sistemas Periciais Introdução ao uso de ferramentas para a construção de sistemas inteligentes
Sistemas de produção / enquadramentos: KAPPA-PC Abordagens Simbólicas
Sistemas fundados no Raciocínio Baseado em Casos (RBC) Introdução ao uso de ferramentas para a construção de sistemas inteligentes
Sistemas fundados no RBC: ESTEEM Sistemas de indução
Abordagens Conexionistas Redes Neuronais Artificiais Introdução ao uso de ferramentas para a construção de sistemas inteligentes
Redes Neuronais Artificiais: NeuroSolutions
-5-
Bibliografia
Além de textos manuscritos de apoio às aulas, a fornecer casualmente ao longo do período, sugere-se, a seguinte bibliografia de apoio (não essencial):
ALEXANDER, I.; MORTON, H., An Introduction to Neural Computing, Chapman & Hall, London, 1990.
DIM, C.; LEVITT, R., Knowledge-based Systems in Engineering, McGraw-Hill, 1991. KOLODNER, J., Case-Based Reasoning, Georgia Institute of Technology, Morgan Kaufmann Publishers Inc., 1993
HERTZ, J.; KROGH, A.; PALMER, R., Introduction to the Theory of Neural Computation, Santa Fe Institute, Addison Wesley, 1991.
PARSAY, K.; CHIGNELL, M., Expert Systems for Experts, John Wiley and Sons, Inc., New York, 1988.
PATTERSON, D., Artificial Neural Networks: Theory and Applications, Prentice Hall, 1995.
RICH, E.; KEVIN KNIGHT: Artificial Intelligence-Second Edition, McGraw-Hill Inc., New York, 1991.
RUSSELL, S.; NORVIG, P.: Artificial Intelligence-A Modern Approach, Prentice Hall, New Jersey, 1995.
Avaliação Modelo 1:
• exame: 60% nota final; • trabalho: 40% nota final;
Modelo 2:
• trabalho de nível de dificuldade superior: 100% nota final.
Horário e calendário Ano lectivo de 2000/01:
• Quinta-feira: 12:00 - 14:30; • 10-12 semanas
-6-
«Posicionamo-nos no limiar de uma nova era susceptível de
vencer a dicotomia primária entre inteligência humana e
artificial, em que o desafio desta última consistia em
imitar de forma cada vez mais perfeita a primeira. No
universo da inteligência colectiva ou partilhada as
pirâmides são substituídas por árvores do conhecimento e a
aprendizagem produz-se em sistemas abertos e ligados em
rede, ou seja, mediante a construção de verdadeiras
comunidades do saber…»
(Roberto Carneiro, Ex-Ministro de Educação, membro da
Comissão Internacional para a Educação no séc. XXI,
1998).
-7-
Outros temas de reflexão: 1- «The opposite of artificial intelligence is natural
stupidity»; 2- «O computador é um objecto naturalmente estúpido»; 3- A natureza estática, definitiva e fechada da maior parte
dos programas comerciais e o seu uso indevido estão na
origem de novos problemas relacionados com a utilização
de computadores: «contrariamente ao que seria de esperar,
a informatização generalizada popularizou os projectos de
estruturas e, simultaneamente, reduziu drasticamente a
sua qualidade. A utilização indiscriminada, e sem
qualquer controlo, de programas de cálculo automático em
que os projectistas não têm necessidade de intervir
activamente nas diferentes fases do cálculo, e a
confiança cega nos resultados do computador, conduzem à
perda de sensibilidade estrutural […] Ainda que
inconscientemente, a utilização destes programas traduz-
se, por vezes, na demissão das responsabilidades do
projectista» (Lourenço et al., 1999);
4- Se é certo que «até agora, aprendemos quase nada sobre as
capacidades e métodos cognitivos humanos a partir do
desenvolvimento de programas de jogos de xadrez» (Casti,
1988), pelo menos foi possível demonstrar que «as
capacidades dos computadores podem suplantar as
capacidades humanas numa área significativa da cognição
humana… e que as investigações aprenderam algo das
estratégias cognitivas dos jogadores de xadrez, ainda que
os programas desenvolvidos não raciocinem como eles»
(Cross, 1999).
-8-
Inteligência Artificial (IA)
Possível definição:
Domínio científico que visa o estudo da inteligência humana
e o da construção de sistemas computacionais capazes de
evidenciar comportamento inteligente.
A IA, ao longo da sua história, tem produzido abordagens
distintas, das quais se podem destacar as seguintes (Russel
et al., 1995, p. 5):
(1) «Sistemas que pensam racionalmente»;
(2) «Sistemas que pensam como humanos»;
(3) «Sistemas que actuam racionalmente»;
(4) «Sistemas que actuam como humanos».
As duas primeiras orientam-se para os processos do
raciocínio e da cognição, enquanto que as últimas se
preocupam essencialmente com comportamentos. As perspectivas
associadas à racionalidade mobilizam aspectos da matemática
e da engenharia, enquanto que as centradas nos humanos
envolvem hipóteses e experiências para a sua validação.
-9-
Uma definição operacional de inteligência foi estabelecida
nos primórdios da IA, através do teste de Turing (1950).
Programar um computador para passar este teste exigiria
dotá-lo das seguintes capacidades:
- Comunicação, através do processamento de linguagem
natural;
- Representação do conhecimento, com a finalidade de o
armazenar e manipular;
- Raciocínio (Inferência) automático, a partir do
conhecimento armazenado, com a finalidade de responder a
quesitos ou de alcançar novo conhecimento;
- Aprendizagem Mecânica, de modo a permitir a adequação a
novas circunstâncias e a induzir relações e padrões.
-10-
Sensores Actuadores
Avaliação do Desempenho
Crítica
Base de Conhecimento
Específicocasos
exemplos
Genéricofunções
regras lógicas
Justificação
Orientação
Ambiente Exterior
AprendizagemJustificação
Orientação
Inferência
Sensores
INTERPRETAÇÃOANÁLISE
AVALIAÇÃOPROSPECÇÃO
Selecção
Sensores Actuadores
Avaliação do Desempenho
Crítica
Base de Conhecimento
Específicocasos
exemplos
Genéricofunções
regras lógicas
Justificação
Orientação
Justificação
Orientação
Ambiente Exterior
AprendizagemJustificação
Orientação
Inferência
Sensores
INTERPRETAÇÃOANÁLISE
AVALIAÇÃOPROSPECÇÃO
Selecção
Modelo de sistema com capacidades para evidenciar comportamento
inteligente (Andrade, 1999, p. 98)
-11-
Fontes e áreas de trabalho e resultados em
Inteligência Artificial
Inteligência Artificial
Fontes
Contribuições
•Representação do Conhecimento •Raciocínio •Apoio ao projecto •Aprendizagem •Ferramentas de software para IA •Planeamento •Processamento de línguas •Robótica •...
•Ciência da computação •Linguística •Lógica •Psicologia •Ciência cognitiva •...
•Sistemas Periciais •Animação comportamental •Demonstração de teoremas •Interfaces “inteligentes” •Planeamento •Raciocínio geométrico •Reconhecimento de padrões •Robótica e Controlo •Tradução automática •Visão •...
Áreas de trabalho
-12-
Fontes da Inteligência Artificial
A IA constitui um domínio autónomo ecléctico.
a) Da Filosofia
Dos mais de 2000 anos de tradição da filosofia, recebeu
teorias do conhecimento e da aprendizagem. Desde o século 5
a.c., que a epistemologia tem assumido três vias:
(1) A do racionalismo (de Platão, de Sócrates, de
Descartes), com o primado do abstrato, de absoluto, do
a priori e do dedutivo;
(2) A do construtivismo e do empirismo (dos Sofistas
gregos, de Bacon, de Locke e Hume), caracterizado pela
percepção, pelo relativo, pelo a posteriori, pelo
indutivo e pelo abdutivo;
(3) A do dualismo (de Aristóteles, Kant e Bertrand Russel).
b) Da Matemática
Dos mais de 400 anos da matemática, a IA incluiu teorias da
lógica, das probabilidades, da decisão e da computação.
A abordagem filosófica da lógica remonta a Aristóteles.
George Boole (1815-1864)definiu uma linguagem formal que
proporcionava inferências lógicas.
-13-
Em 1879, Gottlob Frege estabeleceu a lógica de predicados ou
lógica de 1ª ordem, a qual constitui, hoje, o sistema mais
básico de representação do conhecimento.
Gödel (1906-1978), através do teorema da incompletude,
demonstrou que, em qualquer linguagem suficientemente capaz
de descrever as propriedades dos números naturais, existem
afirmações cuja verdade não pode ser estabelecida por
nenhum algoritmo.
Em meados de 1960 Cogham estabeleceu a noção de
intractabilidade, estabelecendo a distinção entre problemas
cujo tempo de resolução tem um crescimento polinomial ou
exponencial em função da dimensão das entidades envolvidas.
Na mesma década surgiu, na teoria da complexidade, o
conceito de redução, através do qual é possível transformar
problemas de uma classe numa outra, de modo a que as
soluções da primeira classe possam ser encontradas na
segunda e, desse modo, possibilitar a resolução dos
problemas.
A noção de exprimir uma computação como um algoritmo formal
tem origens nos Árabes, no século IX.
A teoria da decisão, iniciada por Neumann (1944), combina a
teoria das probabilidades dom a teoria da utilidade.
c) Da Psicologia
Da psicologia, a IA aproveitou os processos de investigação
sobre a inteligência humana.
-14-
d) Da Linguística
Da linguística, a IA recebeu teorias da estrutura (a
sintaxe) e do significado da linguagem (a semântica). Por
outro lado, tem existido uma intricada colaboração entre a
linguística e a IA no que respeita à representação do
conhecimento.
e) Da Ciência da Computação
Finalmente, da ciência da computação, a IA tem recebido o
artefacto e o software de desenvolvimento.
O computador foi adoptado como o artefacto com a maior
capacidade de demonstrar inteligência. Até se chegar, em
1940, ao primeiro computador operacional actual,
desenvolvido por Alan Turing, diversos instrumentos de
cálculo o antecederam.
O ábaco existe à cerca de 7000 anos.
A máquina de Pascal, que subtraía e adicionava, foi criada
no século XVII.
O projecto de Babbage de uma máquina de computação
programável (com memórias endereçáveis, armazenamento de
programas e saltos condicionais), foi concebido no séc.
XVIII. O primeiro programador é considerado Ada Lovelace,
que escreveu programas para a máquina de Babbage.
A ciência da computação, em termos de software, proporcionou
os sistemas operacionais, as linguagens de programação e as
ferramentas necessárias para escrever os programas actuais.
-15-
f) Da Ciência Cognitiva
A ciência cognitiva começou por tentar explicar, a cognição,
a inteligência e a linguagem humana de uma forma
racionalista, defendendo que a representação simbólica é a
base, necessária e suficiente, da inteligência e
considerando que o comportamento inteligente é independente
do suporte em que ele se desenvolve (seja ele o cérebro ou o
computador) (Newell, Shaw, Simon, 1967). De acordo com esta
teoria:
(1) Os sistemas inteligentes raciocinam sobre
representações simbólicas do mundo real através de
processos independentes do suporte onde são executados;
(2) A resolução de problemas é o resultado de processos de
Procura num espaço confinado de potenciais soluções;
(3) A comunicação consiste na troca de informações.
Em contrapartida, os que se orientam para a abordagem
funcionalista, na qual a cognição humana é olhada,
essencialmente, na perspectiva da implementação de processos
sobre um determinado suporte, entendem que as actividades
cognitivas são condicionadas pelas limitações dos meios que
as implementam.
Clark (1990) salienta que nenhum estudo sério sobre a
inteligência pode ser conduzido num vácuo biológico.
-16-
Nesta óptica, a comunicação não tem por finalidade a troca
de informação e a linguagem não serve para descrever, mas
antes constitui uma acção que estabelece compromissos e
orientação mútua entre os agentes envolvidos.
O entendimento de uma mensagem só poderá ser alcançado se os
intervenientes tiverem conhecimentos e interesses comuns que
lhes permita o estabelecimento de orientações comuns.
O significado de uma mensagem é contextual e, por isso,
criado dentro da rede de compromissos estabelecida (Turk,
1998).
A modelação Cognitiva: (1) Fundamentos; (2) Avaliação; (3) Apoio.
(Andrade, 1999)
Teoria Cognitiva
InteligênciaArtificial
1InterpretaçãoIntrospecção
Psicologia cognitiva
1
AprendizagemTécnicas de IA
2
1
ActividadesCognitivas Humanas
3
21
1
Sistemas de Apoio
Teoria Cognitiva
InteligênciaArtificial
1InterpretaçãoIntrospecção
Psicologia cognitiva
InterpretaçãoIntrospecção
Psicologia cognitiva
1
AprendizagemTécnicas de IA
2
1
ActividadesCognitivas Humanas
3
21 21
1
Sistemas de Apoio
-17-
Síntese Histórica da Inteligência Artificial
Época Descrição 1943-
1956
A gestação da IA
1943- O modelo de neurónios artificiais de McCulloch e Pitts-> início da tradição lógica e do conexionismo na IA.
1949- Hebb propôs uma regra de adaptação das ligações entre neurónios, que proporcionava a aprendizagem automática.
1950- Shannon e Turing concebem programas de xadrez.
1951- Minsky constrói o primeiro computador de redes neuronais.
1956- Newell e Simon concebem o primeiro programa de inferência lógica.
É estabelecido o nome do novo domínio: Inteligência Artificial.
1952-
1969
Desenvolvimentos iniciais
1952- através de uma série de programas de jogos, Samuel refuta a ideia de que os computadores só conseguem executar aquilo para o qual foram programados.
1958- McCarthy define a linguagem Lisp, inventa o time sharing e descreve o Advice Taker, considerado o primeiro sistema completo de IA. Este sistema utiliza a estratégia de procura na resolução dos problemas, adopta uma representação formal explícita envolve processos dedutivos de manipulação deste conhecimento.
-18-
1959- Friedberg leva a cabo experiências na evolução mecânica (hoje designada por algoritmos genéticos), baseada no conceito da simples mutação do código máquina dos programas.
1963- Robinson descobre o método de resolução, um algoritmo de prova completo para a lógica de 1ª ordem.
1960- Widrow cria as redes adalines;
1962- Rosenblatt cria os perceptrões e prova o teorema de convergência do perceptrão, demonstrando que o seu algoritmo de aprendizagem é capaz de ajustar os pesos das ligações de um perceptrão de modo a corresponder a qualquer conjunto de dados de entrada, desde que essa correspondência exista.
1966- Green cria sistemas de pergunta, resposta e de planeamento; Shakey desenvolve projectos de robótica.
1966-
1974
Fase de Estagnação em resultado de: - Expectativas pouco consistentes;
- Desenvolvimentos aplicáveis apenas a universos
restritos;
- Manipulação meramente sintáctica de reduzido
conhecimento acumulado, sem nenhum enquadramento
proporcionado por conhecimento genérico, que originaram
erros graves, como o da tradução de «the spirit is
willing but the flesh is weak» em «the vodka is good but
the meat is rotten»;
- Dificuldades em abordar a intractabilidade de muitos
problemas;
- Limitações fundamentais nas estruturas básicas
utilizadas para gerar comportamentos inteligentes (e.g.
Minsky e Papert, demonstraram a incapacidade dos
perceptrões em lidar com a não separação linear).
-19-
1969- Bryson e Ho. descobrem o algoritmo de aprendizagem
por retro-propagação das redes neuronais, mas o seu
impacto só se fará sentir mais tarde.
1969-
1979
Sistemas Baseados no Conhecimento
As abordagens anteriores foram designadas de métodos fracos.
1969- Buchanan et al. desenvolvem o primeiro sistema bem sucedido possuidor de conhecimento do domínio, designado de DENDRAL. Desenvolvimentos subsequentes incorporam conhecimento na forma de regras, em moldes que permitem a sua clara separação dos componentes de inferência.
-A partir de um Projecto de Programação Heurística, são investigadas novas aplicações baseadas na nova metodologia dos sistemas periciais, designadamente no diagnóstico médico e no estudo da linguística natural.
-Surgem novas linguagens de representação do conhecimento. Umas baseadas na lógica, como a Prolog, outras baseadas na ideia de Minsky que originou uma abordagem mais estruturada designada por enquadramentos (1975).
1980-
1988
Desenvolvimentos comerciais
Diversas aplicações de sistemas periciais obtiveram sucessos comerciais em áreas específicas.
1986- ...
O ressurgimento das Redes Neuronais e dos Algoritmos Genéticos
- São identificadas as limitações dos sistemas periciais.
1986 - A reinvenção de algoritmo de aprendizagem por retro-propagação impulsiona o desenvolvimento das redes neuronais e permite suplantar a limitação identificada por Minsky.
- Holland revitaliza o potencial exploratório dos
algoritmos genéticos.
-20-
1987- ...
O Estado da Arte
- O modelo Conexionista;
- O Raciocínio Baseado em Casos;
- Os sistemas cooperativos de IA distribuída, nos quais os sistemas individuais constituem agentes autónomos, especializados num domínio específico, que interagem entre si para alcançar as funcionalidades globais;
- Os Algoritmos Genéticos;
- Os Sistemas Periciais;
- A participação colaborativa num universo multidisciplinar distribuído no espaço, no tempo e em conteúdo.
-21-
Introdução à Modelação e Resolução de Problemas De acordo com Simon et al. (1958) um problema bem
estruturado caracteriza-se por:
(1) Poder ser completamente descrito em termos
quantitativos;
(2) O objectivo a atingir poder ser descrito por uma
função objectivo;
(3) Existirem algoritmos que permitem obter e descrever
soluções quantitativamente.
Todos os problemas que não cumpram um destes requisitos são
considerados «fracamente estruturados».
Um problema pode ser descrito formalmente através dos
seguintes quatro componentes:
(1) Um estado inicial;
(2) Um conjunto de operadores;
(3) Uma função de teste do objectivo a atingir;
(4) Uma função de utilidade associada a cada caminho para
se alcançar o estado objectivo.
(5) O caminho que, no espaço de estados, une o estado
inicial ao estado objectivo constitui,
simultaneamente, a solução e a história da solução do
problema.
A abordagem tradicional da resolução de problemas estabelece
que, para cada problema «bem estruturado» resolúvel, existe
uma solução, possivelmente a melhor, a qual pode ser
encontrada no espaço do problema, entre um conjunto de
-22-
possíveis soluções disponíveis, através de um processo de
Procura mais ou menos inteligente.
Espaço de estados
As diversas soluções alternativas, assim como os estados
iniciais e intermédios que as antecederam, definem um espaço
de estados do problema.
O conceito da IA prevalecente na modelação de problemas é o
de que o espaço de estados contém todas as soluções
concebíveis num determinado domínio de aplicação.
Deste modo, a aplicação deste conceito proporciona
delimitações que permitem o emprego de estratégias de
procura e de planeamento.
Contudo, em muitos domínios complexos, este espaço é
infinito e muitos dos seus estados não são conhecidos a
priori. Esta é a situação que caracteriza os problemas
definidos como fracamente estruturados.
Abordagens da resolução de problemas
A resolução de problemas pode ser vista segundo duas
perspectivas:
(1) A derivativa;
(2) A generativa.
Na abordagem derivativa o espaço de estados é total e
previamente conhecido. Os estados objectivos representam
potenciais soluções e os estados iniciais são definidos
-23-
pelos dados do problema. Uma vez que todas as hipóteses que
conduzem a uma solução estão contidas na base de
conhecimento, a resolução do problema apenas consiste em
derivar hipóteses, a partir dos dados do problema, que em si
mesmo são uma parte da solução, ligando os estados iniciais
aos estados finais. Esta perspectiva, na qual a
identificação de soluções não é mais de que uma procura de
explicações para os dados do problema, modela adequadamente
actividades como as de diagnóstico.
As actividades criativas caracterizam-se por serem
generativas. Neste caso, não é possível antecipar o
conhecimento dos estados seguintes antes da sua criação. Na
resolução generativa de problemas, as soluções são
estabelecidas pela combinação de componentes das soluções
existentes na base de conhecimento. Estes componentes são
problemas «primitivos» – problemas que não são decomponíveis
e de solução trivial. A combinação dos componentes da
solução pode ser guiada por um conjunto de restrições e por
critérios de avaliação estabelecidos, que incluem
conhecimento heurístico.
Estratégias de resolução de problemas
Os sistemas que implementam a resolução de problemas
baseiam-se num modelo, que simula uma dada tarefa, criado e
representado numa base de dados com informações específicas
sobre o problema em causa. As soluções são encontradas
através de estratégias de procura ou de planeamento.
Na estratégia de procura o espaço de estados é percorrido
de modo a localizar uma ou a melhor solução, consoante a
formulação do problema. Este é um processo típico da
modelação orientada pelo produto, como no caso dos processos
-24-
de configuração, nos quais as composições dos artefactos são
estabelecidas por reorganização de componentes pesquisados
em memória.
Na estratégia de planeamento pretende-se encontrar
sequências de acções que permitam atingir um estado
objectivo a partir de um estado inicial. É a estratégia
adoptada na modelação orientada por processos. Neste modelo
as soluções não existem explicitamente na base de
conhecimento, mas antes são a tradução implícita dos
operadores empregues. Uma vez que são os operadores que
transformam os dados do problema em soluções, o aspecto
essencial deste paradigma também envolve uma procura, neste
caso, dos operadores mais apropriados a cada estado do
processo.
-25-
Programação Sequencial Procedimental (ou Imperativa)
Descrição: Um conjunto de números descrevendo o problema (input) é
mapeado para um outro conjunto de números que descreve os
resultados (output) pela aplicação sequencial e pré-
-estabelecida de um conjunto de rotinas ou procedimentos
previamente conhecidos – algoritmo.
INTERFACE
Procedimentos/ /Rotinas
Algoritmo/receita INPUT
(conjunto de números)
OUTPUT (conjunto de números)
Exemplo de programação Procedimental:
Programa de análise estrutural pelo Método dos Elementos Finitos
INTERFACE
Procedimentos/ /Rotinas
Algoritmo/receita INPUT
(conjunto de números)
OUTPUT (conjunto de
números)
Geometria, forças, características materiais, etc.
Modos vibração, esforços
deslocamentos, tensões, etc.
D
F = k δ F = m cx + kx
Menus
Rato
Janelas
esenhos
-26-
x +
-27-
Programação Declarativa
Descrição: Declara-se meramente o conhecimento existente sobre um dado
domínio, obedecendo a um determinado formalismo de
representação (usando conjuntos de símbolos habitualmente
não numéricos). Os mecanismos de inferência (raciocínio) que
podem operar sobre esse conhecimento ficam absolutamente
independentes do conhecimento expresso.
INPUT
(linguagem natural, sugestões)
OUTPUT (respostas, explicações,
sugestões)
Interface Máquina
de Inferência
Base de Conhecimento
factos
regras objectos
-28-
Principais características
que distinguem ambas as abordagens
Abordagem declarativa
• Problemas podem ser mal estruturados e não resolúveis
algoritmicamente (ou, sendo-o, provocam explosões
combinatórias de hipóteses).
• Separação clara entre base de conhecimentos e controlo do
programa;
• Capacidade de diálogo: podem fazer-se perguntas não
previstas antecipadamente e pedir-se explicações sobre as
respostas obtidas;
• Transparência na representação do conhecimento: pode
compreender-se uma base de conhecimentos através da sua
leitura, i.e. o conhecimento assim expresso está aberto à
introspecção;
• Capacidade de crescimento incremental: pode aumentar-se ou
diminuir-se a base de conhecimentos em qualquer altura,
sem necessidade de re-escrever outras partes;
• Processamento simbólico.
Abordagem procedimental
• Controlo embutido implicitamente no programa;
• Problemas podem ser modelados por processos algorítmicos;
• Processamento numérico;
• Conhecimento expressa, essencialmente, procedimentos.
-29-
Abordagens conexionistas vs. abordagens simbólicas em IA
Ambas as abordagens citadas visam abordar problemas do foro
cognitivo tais como representação de conhecimento,
raciocínio, resolução de problemas, aprendizagem, etc.
Tal dicotomia, resulta, em parte, do facto de as duas
famílias de modelos cognitivos mais proeminentes serem o
cognitivismo clássico e o conexionismo (Clark, 1989; Coyne,
1990). O primeiro centra-se na utilização de símbolos como
forma de representação mental. O segundo, ocupa-se da
representação implícita do conhecimento a um nível mais
baixo, replicando abordagens neuro-fisiológicas do
funcionamento do cérebro humano; evita, pois, a utilização
de estruturas proposicionais e a sua consequente
manipulação, para a representação de conhecimento e
raciocínio.
As principais diferenças que se identificam são as
seguintes:
Abordagens simbólicas:
• Representam conhecimento de forma explícita como, por
exemplo, em:
João é Professor ≡ Professor(João).
• Fornecem explicações para as inferências produzidas;
• Oferecem menor suporte para formas de “aprendizagem”
automática.
-30-
Abordagens conexionistas:
• Uma rede neuronal, por exemplo, não está aberta à
introspecção directa. O conhecimento que contém não existe
de uma forma explícita, senão enquanto um conjunto de
números (um conjunto de pesos associados às ligações entre
unidades);
• Não fornecem explicação sobre a forma como processa
informação e conhecimento;
• São muito mais vocacionadas para tarefas de aprendizagem.
i
j
kSaída k
Entrada i
Oculta j
Camadas:
Wjk
Wij
Arquitectura de um perceptrão de múltiplas camadas
-31-
Introdução aos Sistemas Periciais
De entre muitas outras disciplinas da área da IA, os
Sistemas Periciais ou Sistemas Baseados em Conhecimento,
emergiram como um dos casos de maior sucesso e de maior
impacto social.
Trata-se, à luz da classificação anterior, de uma disciplina
que se situa claramente do lado das abordagens simbólicas.
É, por outro lado, um resultado paradigmático da chamada
fase do conhecimento da IA, porquanto:
• se tratam de sistemas em que o conhecimento representado
sobre um domínio concreto de aplicação ocupa um papel
decisivo na capacidade de resolver problemas; i.e., em que
o uso desse conhecimento específico se sobrepõe à
manipulação sintáctica de estruturas de representação de
conhecimento, através de métodos genéricos de inferência;
• estão associados à aplicação comercial em larga escala da
IA.
Definição:
Programa de computador destinado a executar tarefas que
anteriormente eram desempenhadas unicamente por peritos no
domínio de conhecimento em causa.
-32-
Razões que permitiram o
aparecimento de Sistemas Baseados em Conhecimento
Sistemas Periciais
Trabalho teórico sobre representação e manuseamento de conhecimento
Novas técnicas de programação
Linguagens para manipulação simbólica: •Representação do conhecimento •Implementação de técnicas de emulação de raciocínio •dedução, abdução, indução
Metodologias para estruturação de conhecimento: •enquadramentos; •lógica; •redes semânticas; •regras de produção; •gestão e restrições; •agentes; •...
-33-
Sistemas Periciais
Principais componentes
1. Base de Conhecimentos: • Factos; • Regras; • Objectos; • Enquadramentos; • …
2. Máquina de Inferência; 3. Utilitário para Explicação; 4. Componente para aquisição automática de conhecimento; 5. Interface em língua natural.
Utilizador
Interface com utilizador
Utilitário de explicação
Máquina de inferência
Base de conhecimentos
Aquisição de conhecimento automática
Peritos(s)
Sensores, comunicações,
programas, etc.
Base de dados
externa
-34-
Um sistema baseado no conhecimento pode envolver três níveis de comunicação: 1) O do Conhecimento ou o Epistemológico- o nível mais
abstracto, revelador do conhecimento do sistema (e.g. «Humidade de precipitação em resultado de manchas concêntricas associadas a fendas».
2) O Lógico- codifica o conhecimento (e.g.
Sintoma(HumidadePrecipitação,ManchasConcêntricas,Fendas). 3) O de Implementação- o nível que é empregue no
desenvolvimento do sistema (e.g. uma matriz de caracteres “Sintoma(HumidadePrecipitação,ManchasConcêntricas,Fendas)” contida numa lista de matrizes de caracteres).
-35-
Representação do Conhecimento A finalidade da representação do conhecimento é a sua explicitação numa forma que seja manipulável pelo computador. Uma linguagem de representação do conhecimento é definida por dois aspectos: - A Sintaxe descreve as possíveis configurações das frases
(e.g. a sintaxe da frase Fumo=>Fogo indica uma relação de implicação entre dois factos);
- A Semântica determina o significado das frases,
estabelecendo uma ligação entre as frases e os factos do domínio em causa (e.g. a semântica da frase Fumo=>Fogo é verdadeira, uma vez que não há fumo sem fogo). As linguagens são caracterizadas Ontológica (a natureza da realidade que encerram) e Epistemologicamente (o conhecimento acerca dos possíveis estados da realidade representada).
Exemplos de Linguagens
Ontologia Epistemologia
Lógica de Proposições
Factos V/F/desconhecido
Lógica de Predicados
Factos,Objectos, Relações
V/F/desconhecido
Probabilidades Factos Certeza 0..1 Lógica Fuzzy Graus de Certeza Certeza 0..1
Inferência A inferência é todo o processo de construção de novas representações do conhecimento a partir das existentes. Este processo é correcto quando as novas representações têm correspondência a factos que estão relacionados com aqueles que correspondiam às representações existentes.
-36-
Representação de conhecimento e inferência
Exemplo introdutório (adaptado de Rich,1985):
Ferramenta: Lógica de 1ª ordem Representação do conhecimento: lógica de predicados Inferência: dedução (por resolução linear)
Questão: "Marco odiava César ?"
Base de conhecimentos:
• Marco era um homem. • Marco vivia em Pompeia. • Todos os cidadãos de Pompeia eram romanos. • César era um ditador. • Todos os romanos eram leais a César ou odiavam César. • Todos são leais a alguém. • As pessoas só tentam assassinar ditadores a quem não são
leais. • Marco tentou assassinar César. • Todos os homens são pessoas.
Representação formal do conhecimento expresso:
Bastaria ao utilizador re-escrever a base de conhecimentos de acordo com a gramática imposta pelo sistema em utilização. Exemplificando com o uso da linguagem XLOG (Feijó, 1897), far-se-ia:
• homem(Marco). • pompeu(Marco). • romano(x) se pompeu(x). • ditador(César). • leal a(x, César) ou odeia(x,César) se romano(x). • leal a(x, y). • ¬ leal a(x, y) se pessoa(x) e ditador(y) e tentou
assassinar(x,y). • tentou assassinar(Marco,César). • pessoa(x) se homem(x).
A pergunta poderia, então, ser feita através de: odeia(Marco,César) ?
-37-
Representação de conhecimento e inferência Exemplo introdutório
(continuação):
Tarefas a desempenhar relativamente ao conhecimento a
formalizar:
1º- Transformar o conhecimento expresso pelas frases declaradas para uma representação formalmente mais correcta em lógica de predicados:
• homem(Marco). • pompeu(Marco). • ∀ x, pompeu(x) → romano(x). • ditador(César). • ∀ x, romano(x) → leal a(x, César) ∨ odeia(x, César). • ∀ x, ∃ y → leal a(x, y). • ∀ x, ∀ y pessoa(x) ^ ditador(y) ^ tentou assassinar(x,y) →
¬leal a(x,y). • tentou assassinar(Marco, César). • ∀ x, homem(x) → pessoa(x).
2ª-Transformação de frases expressas em lógica de predicados para a forma clausal: […] várias etapas
• homem(Marco). • pompeu(Marco). • ¬ pompeu(s1) ∨ romano(s1). • ditador(César). • ¬ romano(s3) ∨ leal a(s3,César) ∨ odeia(s3,César).
• Leal a(x, s(x)). • ¬ pessoa(s4) ∨ ¬ditador(s5) ∨ ¬tentou assassinar(s4,s5) ∨ ∨ ¬leal a(s4,s5).
• tentou assassinar(Marco,César). • ¬ homem(s2) ∨ pessoa(s2).
-38-
Implementação de um mecanismo de dedução
Princípio da Resolução
Considerem-se as seguintes duas cláusulas
i. verão ∨ inverno. ii. ¬inverno ∨ frio
e note-se que a informação nelas contida pode ser mais
sinteticamente descrita pela cláusula iii, derivada a partir
das duas anteriores
iii. verão ∨ frio.
Para tal, analise-se o valor de ambas as cláusulas para
qualquer valor da preposição inverno:
• Repare-se que, caso inverno seja uma preposição verdadeira
a cláusula i também o é independentemente do valor de
verão; contudo, ¬inverno será falsa, pelo que, para que a
cláusula ii seja verdadeira é forçoso que frio também o
seja.
• Sendo óbvio que, caso inverno seja falsa, verão terá que
ser verdadeira e a validade da cláusula ii fica assegurada
independentemente do valor de frio, confirma-se que i e ii
podem ser substituídos por iii, pois para que i e ii sejam
ambas verdadeiras (independentemente do valor de inverno)
basta-nos assegurar que iii é verdadeira.
i. ii.
Verão ∨ inverno ¬inverno ∨ frio i ∧ ii V V → frio seja V V
F → verão seja V V V
inverno
-39-
Uma outra forma de compreender esta ilustração do princípio da resolução consiste em reparar como se pode derivar iii. a partir da seguinte representação de i. e ii baseadas no facto de ¬A ∨ B ser equivalente a A→B.
i. verão ∨ inverno ↔ ¬verão →inverno
ii. ¬inverno ∨ frio ↔ inverno → frio
iii. ∴ ¬verão → frio ↔ verão ∨ frio
-40-
Implementação de um mecanismo de dedução
Princípio da Resolução
Demonstração por redução ao absurdo:
Para demonstrar a validade de um dado teorema, pode
demonstrar-se que a sua negação é falsa. Pode, então,
adicionar-se uma cláusula correspondente essa negação, ao
conhecimento já existente e demonstrar que desse modo se
gera uma contradição, i.e. que o novo conhecimento assim
obtido é logicamente inconsistente.
Exemplo:
Para responder à pergunta "Marco odiava César ?", dever-se-á
tentar demonstrar que a negação dessa afirmação — " Marco
não odiava César" — está em contradição com o conhecimento
que se possui sobre Roma e Pompeia expresso na pequena base
de conhecimento em apreço.
Note-se, finalmente, que ao usar uma ferramenta para
construir sistemas periciais baseada em lógica (tal como no
exemplo analisado), bastaria ao utilizador re-escrever a
base de conhecimentos de acordo com a gramática imposta pelo
sistema em consideração. Todas as restantes operações não
ficariam a cargo do utilizador.
Caso se utilizasse o ambiente XLOG, por exemplo, tal
programa seria o seguinte:
homem(Marco) pompeu(Marco) romano(x) se pompeu(x) ditador(César) leal a(x César) ou odeia(x César) se romano(x) leal a(x y) não leal a(x y) se pessoa(x) e ditador(y) e tentou assassinar(x y) tentou assassinar(Marco César) pessoa(x) se homem(x)
A pergunta poderia, então, ser feita através de:
pergunta(odeia(Marco César))
-41-
Implementação de um mecanismo de dedução
Princípio da Resolução Atente-se, então, na construção e utilização do pequeno
sistema pericial sobre Pompeia acabado de analisar.
Base de conhecimentos: 1. homem(Marco). 2. pompeu(Marco). 3. ¬pompeu(s1) ∨ romano(s1). 4. ditador(César). 5. ¬romano(s3) ∨ leal a(s3,César) ∨ odeia(s3,César). 6. leal a(x, s(x)). 7. ¬pessoa(s4) ∨ ¬ditador(s5) ∨ ¬tentou assassinar(s4,s5)
∨ ¬leal a(s4, s5).
8. tentou assassinar(Marco,César). 9. ¬homem(s2) ∨ pessoa(s2).
Input:
0. ¬odeia(Marco,César).
Nas duas páginas seguintes, ilustra-se o processo de
inferência seguido para responder à pergunta anterior,
usando o algoritmo de resolução linear, para produzir a
demonstração pretendida, por dois caminhos possíveis.
Implementação de um mecanismo de dedução
Princípio da Resolução
0. 5.
10 3.
s3/M
¬romano(M) ∨ leal
134.
¬
) 2. 1
¬pompeu(M) ∨ leal a(M,C-42-
127.
8. 14
( 15
161.
c
1
leal a(M,C)
¬pessoa(M) ∨ ¬ditador(C) ∨ ¬tentoupessoa(M) ∨ ¬tentou
9.
¬pessoaM
¬homem(.q.d
M≡MarcoC≡César
Implementação de um mecanismo de dedução
Princípio da Resolução
0. 5.
¬ 10 7.
s3/M
romano(M) V leal
8.
¬19.
¬ 1
s2/M
4. 1
¬pessoa(M) V ¬ditador(C) V ¬tentou-43-
¬1
M
1.
c
1
pessoa(M) V ¬tentou
2pessoa(
3homem(M)
4.q.d
M≡MarcoC≡César
s4/M; /
-44-
Introdução ao
Raciocínio Baseado em Casos (RBC) No seio da IA, o RBC tem assumido diferentes perspectivas,
as quais constituem subdivisões desta abordagem, com
terminologia e conceitos específicos:
− Raciocínio baseado em exemplos ou protótipos- focaliza a resolução de problemas na sua associação com classes
previamente estabelecidas, as quais, por sua vez,
resultaram da uma agregação de exemplos conhecidos;
− Raciocínio baseado na memória– interpreta o RBC como um processo de resolução de problemas através da procura e
recuperação de casos afins de uma ampla memória;
− Raciocínio baseado na analogia– termo que foi
estabelecido para designar os processos que efectuam
comparações entre domínios de modo a permitir a
reutilização de casos de um domínio na resolução de
problemas de outro diferente;
− Raciocínio baseado em casos– este termo (incluído no
termo mais genérico RBC) está normalmente associado a
processos que manipulam representações explícitas e muito
estruturadas do conhecimento na adaptação dos casos
recuperados ao corrente contexto.
O Raciocínio Baseado em Casos tem sido reconhecido como uma
abordagem apropriada para lidar com conhecimento não
totalmente compreendido e adequado a domínios abertos.
-45-
O RBC é uma técnica da IA que se fundamenta na premissa de
que é útil inferir com base em analogias.
Materializa-se na procura, selecção e recuperação dos casos
passados, que mais se assemelham à situação em estudo, e na
sua posterior adaptação. Os projectistas adaptam as soluções
passadas à situação corrente estabelecendo preferências e
restrições e envolvendo indução, dedução, abdução, intuição
e experiência. Deste modo, o RBC é adequado para apoiar o
subprocesso de Síntese das estruturas que se estabelecerem.
A sua capacidade de aprendizagem decorre da integração das
novas soluções adaptadas ou de outros casos passados.
O RBC permite obviar limitações inerentes à representação e
processamento do conhecimento, designadamente no que se
refere ao apoio a tarefas essencialmente abdutivas (Smith,
1997). Igualmente contempla a intuição ou o «senso-comum»,
uma vez que lida com várias experiências passadas originadas
com base em diferentes concepções, adoptadas por diferentes
autores.
Esta técnica possui o potencial para assegurar apoio directo
à geração e utilização de conhecimento personalizado – seja
ele baseado em soluções ou em processos – a partir da
recuperação de casos ou fragmentos de casos passados, com
significado para a situação corrente. A personalização do
conhecimento através desta técnica pode ser alcançada quer
na organização dos casos passados guardados em memória, quer
na definição dos critérios para a sua recuperação, quer
ainda nas suas diferentes adaptações. «Nesta perspectiva, o
RBC pode constituir um poderoso meio de arquivar e
reutilizar conhecimento personalizado [...] , quer esse
-46-
conhecimento lide com concepção, modelação e análise ou com
o detalhe» (Fenves, 1998, p. 89).
descrição doCONTEXTO
RECUPERAÇÃOProcura Selecção
ADAPTAÇÃO
INTERPRETAÇÃOANÁLISE
AVALIAÇÃOPROSPECÇÃO
APRENDIZAGEM
Basede
Casos
RELAÇÃODE
AFINIDADE
Selecção
Uma modelação do Raciocínio Baseado em Casos (Andrade, 1999)