Professional Documents
Culture Documents
David Poole, Alan Mackworth e Randy Goebel Computational Intelligence A logical approach - cap. 5 julho/2007
1
Problemas e solues
Tipicamente o problema a ser resolvido ou a tarefa a ser feita tambm constitui uma soluo e definida informalmente
Entregue os pacotes prontamente quando eles chegarem Determine o que est errado com o sistema eltrico da casa
Expandir a tarefa e determinar o que constitui uma soluo Representar o problema E somente ento usar um computador para resolv-lo
O que uma soluo para o problema? O que necessrio na linguagem para representar o problema? Como podemos mapear a descrio informal do problema para uma representao? Quais distines do mundo so importantes para resolver o problema? Qual o conhecimento necessrio? Qual o nvel de detalhes necessrio?
Quais estratgias de raciocnio so adequadas? O desempenho do pior caso e do caso mdio so tempos crticos a minimizar? importante que algum entenda como a resposta foi derivada? Como podemos adquirir conhecimento? De especialistas? Ou de experincias? Como podemos debugar, manter e melhorar o conhecimento?
Com uma definio informal de um problema, precisamos determinar o que constituir uma soluo Tipicamente problemas no so bem definidos
Muita coisa no especificada, e o que no especificado pode ser preenchido de qualquer forma Quando ordenamos a um rob entregador que leve todo o material dispensvel para o lixo, no esperamos que ele leve todas as coisas para l
Queremos que o computador seja capaz de fazer concluses de senso comum sobre suposies no-declaradas
Qual a importncia se a resposta for errada ou alguma resposta estiver faltando? Classes de solues:
Soluo tima: a melhor soluo de acordo com alguma medida de qualidade (utilidade) Soluo Satisfatria: uma que boa o bastante de acordo com alguma descrio de quais solues so adequadas Soluo Aproximadamente tima: uma para qual a medida de qualidade est muito perto daquela teoricamente possvel Soluo Provvel: uma que est apta a ser uma soluo
7
Decises e conseqncias
Boas decises podem ter conseqncias ruins. Decises ruins podem ter conseqncias boas. Um agente necessita de uma informao e decide acessar uma fonte de conhecimento
Atividades dos agentes tem custo associado - determinar custo x benefcio Nem toda a informao necessria para o agente est diretamente disponvel para ele
Informao pode ser valiosa porque conduz a decises melhores: valor da informao Quando definir uma soluo temos que nos preocupar com:
Qual informao necessria? Como ela pode ser obtida? Custo x benefcio associado com as aes de obt-las?
9
Algoritmo a qualquer tempo: um algoritmo para o qual a qualidade da soluo melhora com o tempo Compromisso entre encontrar a melhor soluo e encontrar uma resposta rapidamente
10
Uma lgica uma linguagem + a especificao do que segue de um conjunto de sentenas da linguagem
11
12
13
Nveis de abstrao
Nvel de Conhecimento: em termos do que o agente sabe e quais so os objetivos dele (sobre o mundo externo)
No especificado como a soluo ser computada Nem mesmo quais das muitas estratgias possveis disponveis o agente ir utilizar
14
Qual o nvel de abstrao do problema que queremos representar? Quais objetos e relaes no mundo que queremos representar? Com podemos representar o conhecimento para assegurar que a representao natural, modular e fcil de manter? Como podemos adquirir informaes de dados, sensores, experincias ou outros agentes?
15
Uma descrio de alto-nvel mais fcil para um ser humana especificar e entender Uma descrio de baixo-nvel pode ser mais precisa e preditivo
Descries de alto nvel extraem detalhes que podem ser importantes para resolver o problema
Quanto mais baixo o nvel, maior a dificuldade de raciocinar com ele Podemos no conhecer a informao necessria para uma representao de baixo-nvel Algumas vezes possvel utilizar mltiplos nveis de abstrao
16
Ex: vamos supor que vermelho uma categoria apropriada para classificar objetos
Podemos tratar vermelho como uma relao unria e escrever que um pacote a vermelho: vermelho(a).
Podemos perguntar o que vermelho?: ?vermelho(X). Mas difcil perguntar qual a cor do pacote a?: no podemos perguntar ?X(a).
Nomes de predicados podem ser variveis. Vermelho no precisa ser um predicado. Podemos considerar cores como indivduos
Vermelho uma constante, podemos usar o predicado cor(Obj, Val), para significar que o objeto Obj tem a cor Val O pacote a vermelho: cor(a, vermelho). Qual a cor do pacote a?: cor(a, C).
17
Com a representao cor(Obj, Val), no conseguimos perguntar Qual propriedade do pacote a tem valor vermelho? Podemos fazer para toda relao o que fizemos com cor?
Podemos ver a relao cor como um indivduo e escrever: prop(a,cor, red) Agora podemos responder todas as perguntas
A representao objeto-atributo-valor prop(Obj, Att, Val) significa que o objeto Obj tem o valor Val para o atributo Att
18
prop(a, _um, pacote), onde _um um atributo especial prop(a, pacote, true), onde pacote um atributo booleano
19
Para representar a relao programado(C, S, T, R), onde S uma seo, C um curso, T a hora e R a sala.
seo 2 do curso cs422 est programada para s 10:30 na sala cc208: programado(cs422, 2, 1030, cc208). Para representar da forma objeto-atributo-valor, precisamos inventar novos indivduos Podemos chamar reserva que tem um nmero de propriedades como curso, seo, hora e sala
prop(b123, curso, cs422). prop(b123, seo, 2). prop(b123, hora, 1030). prop(b123, sala, cc208).
20
Redes Semnticas
Quando temos somente uma relao, podemos omiti-la sem qualquer perca de informao Assim podemos representar uma relao prop(Obj, Att, Val) como um grafo onde Obj e Val so ns e Att o rtulo do arco Estes grafos so chamados de Redes semnticas
21
22
23
A notao grfica
Vantagens:
Os humanos entendem os relacionamentos com facilidade sem necessariamente saber a sintaxe Ajuda os construtores da BC a estruturar seu conhecimento No temos que rotular ns os quais os nomes no fazem muito sentido (Ex: b123)
Podemos agrupar todos os pares atributos-valores juntos em um simples objeto, isto um frame
til para trazer todas as informaes sobre um objeto juntas No necessrio criar constantes artificiais Atributos so chamados slots e valores so chamados fillers
24
Frames
Especifica quais slots so necessrios e quais so opcionais para um indivduo daquele tipo Ajuda a construir a BC
25
formado por um conjunto de slots, que representam atributos dos objetos Slots podem possuir vrias facets, que trazem informaes particulares de cada slot (atributo)
Uma facet pode possuir vrias views, que representam diferentes contextos em que aquela facet pode ser avaliada Cada view possui um filler, ou seja o valor daquela view, para aquela facet, para aquele slot Podemos ter deamons (procedimentos) associados a slots
Frame1[ slot1[ facet1[ view1[ valor]] ], slot2[ facet1[ view1[ valor]], facet2[ view1[ valor]]
]
]
Conhecimento primitivo: definido explicitamente pelos fatos Conhecimento derivado: definido pelas regras
Permite uma representao mais compacta Permite que concluses sejam tiradas das observaes do domnio
Importante porque no observamos tudo diretamente do domnio Muito do que sabemos do domnio inferido pelas observaes e pelo conhecimento mais geral
30
Ex: Ao invs de especificar que o computador comp_2347 tem como logo um lemon disc, podemos saber que todos os computadores da marca Lemon tem este logo Associar as propriedades com as classes e no com os indivduos Permitir um atributo especial _um entre um indivduo e uma classe ou entre duas classes
31
32
Uma arco p de uma classe c significa que todo indivduo na classe tem valor n para o atributo p
33
Herana mltipla
Ex: a mesma pessoa pode ser uma me, uma professora, uma rbitra de futebol...
Um indivduo pode herdar propriedades de todas as classes herana mltipla Se existem valores default para as propriedades
Podemos ter um problema quando um indivduo herda valores default conflitantes de classes diferentes: problema da herana mltipla
34
Associar um valor de um atributo com a classe mais geral que contm o valor No associe propriedades contingentes de uma classe com a classe
Ex: Pode ser que todos os computadores de uma empresa sejam de uma determinada marca, com gabinete preto.
No uma boa idia associar a cor preta a todos os computadores Podem ser comprados computadores de outras marcas com cores diferentes
Axiomatize na direo causal. Queremos conhecimento que seja estvel com as mudanas do mundo.
a ^ b, a b ou b a?
35
36
O algoritmo usado
O nvel de detalhes afeta diretamente a eficincia, pois modifica o espao de busca Talvez o fator que menos importa a escolha da linguagem de programao
Provavelmente melhor utilizar uma linguagem que foi projetada para o tipo de problema que queremos resolver
37