Fundamentos de Sistemas Inteligentes
Fundamentos de Sistemas Inteligentes
Sistemas Inteligentes
I
Docente: Henriques Fernando
Setembro/2022
Código: zdycfpg
Apresentação
Cadeira
• Sistemas Inteligentes
Sumário
• Informação Geral
• Objectivos e Programa
• Avaliação
• Material de Apoio
Informação Geral
Aulas
• Teóricas
• Teóricas_Práticas
Geral
Objectivos
• Dotar os estudantes de conhecimentos
sobre agente, aprendizagem, resolução
de problemas, busca, conhecimento,
raciocínio e programação em lógica de
formas capacita-los a desenvolver
aplicações inteligentes que resolvam
problemas complexos.
• Fornecer as competências necessárias
para a análise crítica de Aplicações e
algoritmos existentes de formas a
desenvolver Sistemas Inteligentes
Programa
Nº Aula Aula- Tema
1 Apresentação Metodologias
Introdução Conceitos e Evolução Histórica
Aplicações e Perspectivas
2 Agentes Inteligentes Estrutura e Modelos
Agentes Reactivos e não reactivos
Agentes baseados em objectivos
3 Métodos de Busca Busca cega: Algoritmos DFS e BDF;
Busca heurística:
Greedy search e A*;
busca competitiva: Algoritmo Minimax
4 Representação de Formalismos de representação do conhecimento;
Conhecimento Sistemas baseados em conhecimento.
5 Paradigmas de O Paradigma Lógico; Prolog: Características e aplicações;
Programação Criação de base de conhecimento.
6 Aprendizagem de Aprendizado supervisionado;
máquina Aprendizado não-supervisionado;
Aprendizagem por esforço.
7 Fundamento de Fundamentos de Mineração de Dados
Mineração de Dados
Programa
❑ Ano/Semestre: 3º Ano / 1º Semestre Carga H.
Semanal: 2T + 2P Carga H. Semestral: 64 Créditos:
5 Tipo: Obrigatória
Agentes Inteligentes
Métodos de Busca
Representação de Conhecimento
Apredizado de Máquina
Disciplina
Ideia Principal
IA - Abordagens
Turing (1950)
• Filosofia;
• Lógica;
• Matemática;
• Economia;
• Psicologia;
• Neurociência;
• Linguística; e
• etc.
Surgimento de IA
• Processamento em linguagem
Natural
• Representação de Conhecimento
• Raciocínio Automático
• Aprendizado de Máquina
Início de IA (Dartmouth) –
John MacCarthy - 1956
Ciências
Cognitivas + Engenharia de
Ciências de Conhecimento
Computação
Ciências
Agentes
de Autónamos
Dados
Darthmouth (John MacCarthy-
1956)
• Primeiros sistemas especialistas: uso de
conhecimento para resolução de problemas;
• Codificar o conhecimento de um especialista de
uma certa área;
• Dendral (1965) : analisava as moléculas de
química orgânica de formas a pensar como os
átomos se posicionavam i.e. tentar encontrar a
estrutura de uma molécula ;
• Mycyn(1875): sistema de recomendações de
antibióticos para infecçoes bacterianas
• Tom Mitchel(1978): Primeiro algoritmo de
aprendizagem em máquina
Quase em todas as áreas
Aplicações
• Smartphones (cálculo de rotas)
• Sistemas de recomendações (Netflix, Youtube, Spotify..)
• Google (anúncios )
• Simulação e Jogos(DeepBlue: primeiro a ganhar o campeão de
xadrez e AlphaGo: primeiro a ganhar do campeão de Go)
• Robótica
• Veículos autónomos;
• Automação de Sistemas complexos (automação industrial)
• Sistemas de controlo (carros autonámos)
• Previsão do mercado
• Recuperação de informações
• Detecção de intrusão e filtragem de spam
• Interface Humana Computador
• Sistemas de informações(tomada de decisões)
Novas experiencias e novas formas de interação
• Interface por voz (alexa- amazon, Siri- Apple, Home- Google)-
comando por voz e recebe a informação por texto
• Netflix- entende o comportamento e recomenda filmes e capas
Visão Geral
• Resolução de Problema
• Como representar um problema;
• Como buscar soluções a partir da
representação;
• Sem informação sobre o domínio;
• Informada (heurísticas)
• Resolução de problemas utilizando lógica
Exemplos de Problemas
• Xadrez, Quebra – Cabeça, Encontrar caminho
Elementos para definição de um
problema
• Estado inicial;
• Acções;
• Teste de objecto;
• Custo.
Solução
•Sequência de estados que
levam do estado inicial ao
estado objectivo;
•Solução óptima é aquele que
oferece o custo mínimo.
Exemplo- Sair de casa para o
trabalho
Engenharia
2 Dispositivos
• Sistemas inteligentes podem ajudar especialistas a
projectar novos dispositivos
Classificação de Sistemas Inteligentes
Sistemas Simbólicos
Sistemas sub-simbólicos
• Redes neurais
• Algoritmos genéticos
• Autômatos celulares
• Sistemas complexos adaptativos
Arquitectura de Sistemas
Computação Convencional Computação Simbólica Engenheiro de
Utilizador Conhecimento
Utilizador
Dados
Dados
Utilizador Interface
Explicação do
Raciocínio
Dados
Especialista
Dados Explicações
Utilizador
Dados
Treinados
Dados
Pesos(RN)
Provas(RB) ou Pesos(RN)
Programador individuais(AG) Provas(RB) ou
Treinados individuais(AG)
Treinados
Dados
Treinamento Dados Utilizador
Comprador Dados
Programa agente
Agente
Sensor
Percepção
(Entradas)
Ambiente
Qual é a aparência
actual do Mundo ?
Acção(Saídas)
Actuador
Exemplo Aspirador de Pó
A B
C
D
Estado
Sensor
Percepção
Ambiente
Ambiente
Como o mundo
era antes e
Como está o
como evoluiu
Mundo Agora ?
Impacto da
minhas acções
Que acção devo
Regras de
executar agora?
condição- Acção
Acção
Actuador
Exemplo
• O objetivo do agente
• Os resultados de suas ações
O agente pode escolher ações que alcancem o objetivo
• A seleção da açcão baseada em objectivo pode ser:
• Directa: quando o resultado de uma única ação atinge o
objetivo;
• Mais complexa: quando será necessário longas sequências
de açcões para atingir o objectivo;
• Busca é um subcampo da IA dedicado a encontrar
sequencias de açcões que alcançam os objetivos dos
agentes)
Cont..
Para encontrar sequências de ações que alcançam os
objectivos
• Algoritmos de Busca
• A tomada de decisão envolve a consideração do futuro
• “O que acontecerá se eu fizer isso ou aquilo?”
• “O quanto isso me ajudará a atingir o objetivo?”
• Agentes reactivos: reaçcão -> frear quando carro da frente
• frear. Simplesmente aplica a regra condição-ação
• Agentes baseado em objetivo: raciocínio -> carro da frente
freia -> carro da frente diminui velocidade -> objetivo: Não
atingir outros carros -> açcão para atingir objectivo: travar
Agente Reactivo Baseado
em Objectivos
Agente
Sensor
Percepção
Estado
Ambiente
Como o mundo Como está o
era antes e Mundo Agora ?
Ambiente
como evoluiu
Efeitos da Sinulação de
minhas acções Acções(Como o
mudo ficará se
realizar acção X)
Actuador
Ex. minimizar a poera no ambiente
Limitações
É mais flexivel
• Agente reflexo -> açcões pré-compiladas
(condição-açcão)
• Agente p/ objetivo -> pode alterar somente o
objectivo sem necessidade de se reescrever as
regras de comportamento
Permite modificações
• O objectivo não garante o melhor comportamento
para o agente, apenas a distinção entre estados
objectivos e não objectivos;
• Ex: Algumas alternativas de planeamento de
açcões futuras podem ser mais rápidas, seguras ou
baratas que outras
Agente Baseado em utilidade
Sozinhos os objetivos não são suficientes para gerar um
comportamento de alta qualidade.
• Muitas seqüências de açcões levarão o táxi até seu destino,
porém algumas são mais rápidas, seguras e económicas
• Se um estado do mundo é mais desejável que outro, então
ele terá maior utilidade para o agente
• Utilidade é uma função que mapeia um estado para um
número real que representa o grau de satisfação com este
estado. A função de utilidade mede suas preferências entre
estados do mundo
• Especificação completa da função de utilidade – decisões
racionais em dois tipos de casos:
• Quando existem objetivos conflitantes (velocidade x
segurança) a função de utilidade especifica o compromisso
apropriado
• Quando existem vários objetivos que se deseja alcançar e
nenhum deles pode ser atingido com certeza – ponderar a
importância dos objectivos
Agente
Agente Utilidade
Sensor
Percepção
Estado
Ambiente
Como está o
Ambiente
Como o mundo Mundo Agora ?
evoluiu
Sinulação de
Efeitos da Acções(Como o
minhas acções mudo ficará se
realizar acção X)
Utilidade Utilidade de Acções(Quão satisfeito
estarei nesse estado?)
Acção
Que acção devo
executar agora?
Actuador
Agente Baseado
Em agentes sem aprendizagem tudo em
o queApredizagem
o agente sabe
foi colocado nele pelo projectista
• Aprendizagem também permite ao agente actuar
em ambientes totalmente desconhecidos e se tornar
mais competente do que o seu conhecimento inicial
poderia permitir Ex. motorista sem o mapa da
cidade
Componentes conceptuais
• Elemento de aprendizado
• Crítico
• Elementos de desempenho
• Gerador de problemas
Agente Baseado em Apredizagem
Elemento de Apredizado(Modificador de Regras)
• Responsável pela execução dos aperfeiçoamentos
• Utiliza realimentação do crítico sobre como o
agente está funcionando
• Determina de que maneira o elemento de
desempenho
Crítico
• Informa ao elemento de aprendizado como o
agente está se comportando em relação a um
padrão fixo de desempenho
• É necessário porque as percepções não fornecem
nenhuma indicação de sucesso
• Ex.: O crítico pode indicar para o agente que o
xeque-mate é algo bom. O agente não deverá
modifica-lo
Agente Baseado em Apredizagem
Elemento de desempenho
Gerador de problemas
• Responsável por sugerir ações que levarão a
• experiências novas e informativas. Ações não
ótimas a curto prazo para descobrir
• ações ótimas a longo prazo
Exemplo Motorista de Taxi
Elemento Crítico: conhecimento e procedimentos paradirigir
• Ex.: o agente vira sem dar seta. O crítico observa que
isso gera uma reação agressiva dos outros motoristas e
informa ao elemento de aprendizagem.
• Elemento de Apredizado
Elemento de Apredizado
• É capaz de formular uma regra afirmando que a ação foi
boa/ruim. Modifica o elemento de desempenho pela
instalação da nova regra
Gerador de problemas:
• Identifica áreas que precisam de melhorias
• Sugere experimentos: testar os freios em diferentes
superfícies
Inteligência colectiva
Situações /solução
• comunicação
• negociação (ex. compra-venda na Web)
• estados mentais
• crença,
• Tensão (Trade-Off)
• Quanto mais agentes, mais simples
(subdividido) fica o problema
• No entanto, mais complexa fica a
comunicação e coordenação entre os agentes
Padrão de
Desempenho
Agente com Apredizado
Crítico
Sensor
Percepção
Feedback
Alterações
Ambiente
Elemento de Elemento de
Ambiente
Apredizado Desempenho
Conhecimento
Objectivos de
Apredizado
Gerador de
Problemas
Acção
Actuador
Agente
Avaliar o Sucesso
Como
Quando
Implementação
Algumas Capacidades
• Comportamento guiado por objetivos e autonomia
• Reatividade e raciocínio
• Adaptabilidade e aprendizagem
• Comunicação e cooperação
• Personalidade
• Outros mobilidades
Resumo
Agente: arquitetura + programa do agente;
6
29
5 17 36
1 7
32 54
N elementos da árvore Log(n) complexidade da busca < O(n)
Busca de elemento 32
Pseudocódigo
• 1º 32>14 descarta o ramo a esquerda
• 2º 32>29 descarta o ramo a esquerda
• 36>32 descarta o ramo a direita
Pseudocódigo
• Busca_binária(V[], ínicio, fim, e)
• i recebe o índice do meio entre ínicio e fim
• Se (V[i]=e) então
• Devolva o índice e # elemento é encontrado
• Fim-se
• Se (inicio=fim) então
• Não encontrou o elemento procurado
• Senão se (V[i] vem antes de e) então
• faça a busca binária( V, i+1, fim, e)
• Senão
• faça a busca binária(V,ínicio, i-1, e)
• Fim-se
• Fim
Métodos de Busca
Busca não Informada- Busca exaustiva Cega ou aleatória
Busca Competitiva
• Algoritmo Minimax
Métodos de Busca
Busca Cega
Algoritmo de busca
Especificação de Operações
• move_right(State1, State2):-
• space_position(State1, Pos, Part1, [X|Part2]),
• \+ member(Pos, [3, 6, 9]),
• append(Part1, [X, 0|Part2], State2).
• O programa recebe um estado e produz a representação do estado que
resulta a aplicação da operação
Exempo A procura em profundidade primeiro e a procura em largura primeiro
são algoritmos de força bruta
• Procuram, às cegas, todas as possíveis sequências de operações até
encontrar uma solução para o problema recebido
Resolução de Problemas Reais
Possibilidades ou Alternativas
• Envolve quantidades astronómicas de
possibilidades, o que conduz a tempos de
resolução inaceitáveis em muitas
circunstâncias
• necessário guiar a procura de soluções na
direção mais promissora, o que exige
conhecimento do domínio do problema.
Best First search (melhor primeiro)
• A busca não é cega. cada decisão que tem de tomar,
encaminha-se para aquela que parecer melhor.
Conceitos Importantes Métodos de
Busca
Conceitos
Solução
Três programas
• Encapsulam todo o domínio do conhecimento do
problema
• Permite que o resto do algoritmo continua totalmente
idempendente do domínio da da aplicação
Exemplo
Expansão e Geração
E
B
H
A C F
D G I
D G I
1 2 3 1 2 3 1 2 3 1 2 3
Abaixo Direita Direita
5 6 4 5 6 4 5 6 4 5 6
4 7 8 7 8 7 8 7 8
Custo de Tempo
Custo de Memória
Otimalidade/qualidade (optimality):
Custo de Total
• Custo do caminho + custo de busca
2 8 3
2 8 3 1 4
1 4 7 6 5
7 6 5
2 8 3
1 4
7 6 5
Exemplo de Problema de Busca
Ir de Bauru a São Paulo
Exemplo Viagem
Ir para São Paulo
Cálculo de rotas
Direcção de Ramificação
1 2 3 6 1 2 3
1 2 3
4 5 6 Direita 4 5 6 Cima 4 6
2:2
7 8 5:3 7 8 D 7 5 8
ire
ita
i xo
Aba 2 3
1 2 3 1 2 3
1 5 6
5 6 7 4 5 6
Acima 4 7 8
4 7 8 3 7 8
Dir
1:1 eit 1 2 3
a
5 6
4
4 7 8
1 2 3 a
1 2 3 Cont..
Acim 4 6
4 5 6
Busca Largura Primeiro 7 8 7 5 8
Ad
ita
5:5 ire 10
ita
re
2 3
Di
1 2 3 1 2 3
1 5 6
4 5 6 4 5 6
4 7 8
7 8 7 8
6
a
xo 2:2
it
i
Aba Di
re
1 2 3 11
1 2 3 2 3 5 7 6
5 6 1 5 6 4 8
Acima 7
4 7 8 4 7 8 o
Dir ix 1 3
eit 3:3 A ba
1:1 a 5 2 6
1 2 3
A cima 4 7 8 Escolha sempre o nó não
5 6 8 espandido menos profundo
Di
re
4 7 8 ita 1 2 3
5 6
4:4
4 7 8 9
Cont..
Limitações
• A maioria dos problemas reais têm espaços de estados
muitíssimo grandes e, em alguns casos, infinitos.
• Os recursos consumidos por um algoritmo de procura
para em alguns casos, infinitos.
• Os recursos consumidos por um algoritmo de procura
para encontrar uma solução (tempo e memória)
dependem do tamanho do espaço do problema.
Solução
• É importante que algoritmo não procure todo o espaço
e deve ncaminhe por uma trajetória que conduza mais
rapidamente ao objectivo
• para que o algoritmo saiba qual dos caminhos é mais
promissor, necessita usar
• conhecimento específico sobre o problema que está a
resolver e escolher depois da avaliação àquele mais
promissor
Busca em Largura (BFS)
Estratégias para determinar a ordem de ramificação
dos nós:
• Ordem de ramificação dos nós:
• 1. Nó raiz
• 2. Todos os nós de profundidade 1
• 3. Todos os nós de profundidade 2, etc.
• Percorre todos os nós vinhos da fronteira antes de
passar para o próximo nível
Algoritmo
• 1função Busca-em-Largura (problema)
• retorna uma solução ou falha
• Busca-Genérica (problema, Insere-no-Fim)
Cont..
BFS
Obs.
• 1. Nó raiz
• 2. Todos os nós de profundidade 1
• 3. Todos os nós de profundidade 2, etc.
Algoritmo
A A
A
B C B C
B C
G D E F G
D E F D E F G
Método BFS
A estratégia é Completa
Óptima
B C D K
E F K+1
Exemplo
Explora a vizinhança dos nós já visitados, na
ordem 1º a entrar 1º a sair
2
A
G
1
B 3
E
D
4 F
C
1
3 4 7
1
9
5 6
Execução
1 2 3 4 5 6 7 8 9 10 S=7
Visitados 0 0 0 1 0 0 1 0 0 1
N N N 7 N N N N N 7
Predecessor
7
BFS: 7, 4,10, 11,
1
4 0 11
mD = {
0: 'F',
1: 'MO',
2: 'JU',
Python BFS
3: 'P',
5: 'CG',
4: 'N', F
7: 'A',
6: 'JP',
9: 'JP',
8: 'CA',
10: 'R', M
11: 'MA'}
grafo = [[2, 1], # vizinho do nó o
O
[5, 4, 0], # vizinho do nó 1
[3, 0], # vizinho do nó 2 N
[7, 5, 2], # vizinho do nó 3
[6, 1], # vizinho do nó 4
[8, 6, 3, 1], # vizinho do nó 5 J
[10, 5, 4], # vizinho do nó 6
U P CG
[11, 3], # vizinho do nó 7
[11, 10, 5], # vizinho do nó 8 JP
[10, 5, 4], # vizinho do nó 9
[11, 8, 6], # vizinho do nó 10
[10, 8, 7]] # vizinho do nó 11
def buscaEmLargura(nohDeDepartida, nohDeChegada): C
fila = []
[Link](nohDeDepartida)
A R
while len(fila) > 0:
noh = [Link](0)
nohsVisitados[noh] = 1 A M
print(mD[noh])
if noh == nohDeChegada:
A
print('Chegou ao Destino')
break
for n in grafo[noh]:
if nohsVisitados[n] == 0:
nohsVisitados[n] = 1
[Link](n) Ir de F até MA
nohDePartida = 0
nohDeChegada = 11
Métodos DFS
B C D
E F
Métodos DFS
Ordem de Ramificação dos Nóns
• Sempre expande o nó no nível mais profundo da árvore:
• 1. nó raiz
• 2. primeiro nó de profundidade 1
• 3. primeiro nó de profundidade 2, etc.
• Quando um nó final não é solução, o algoritmo volta para
expandir os nós que ainda estão na fronteira do espaço
de estados (backtracking)
Algoritmo
• função Busca-em-Profundidade (problema)
• retorna uma solução ou falha
• Busca-Genérica (problema, Insere-no-Começo)
Métodos DFS
Expansão dos Nóns
Custo de Memória
• necessita armazenar apenas b.m nós para um espaço de
• estados com fator de ramificação b e profundidade m, onde m
• pode ser maior que d (profundidade da 1a. solução).
Custo de Tempos
• O(bm ), no pior caso.
• Para problemas com várias soluções, esta estratégia pode ser
• bem mais rápida do que busca em largura.
Métodos DFS
Métodos DFS
Implementação
Espaço de estado
• Podem ser representados como uma árvore onde os estados são nós e as
operações são arcos
7
2
4
8
3
10 9
Exemplo
Métodos DFS
4: 'N',
7: 'A',
6: 'JP',
9: 'JP',
8: 'CA',
10: 'R',
11: 'MA'}
grafo = [[1, 2], # vizinho do nó 0
[0, 4, 5], # vizinho do nó 1
F
[0, 3], # vizinho do nó 2
[2, 7, 5], # vizinho do nó 3
[1, 6], # vizinho do nó 4
[1, 3, 6, 8], # vizinho do nó 5 M
[4, 5, 10], # vizinho do nó 6
[3, 11], # vizinho do nó 7
O
[5, 10, 11], # vizinho do nó 8
[4,5, 10], # vizinho do nó 9 N
[6, 8, 11], # vizinho do nó 10
[7, 8, 10]] # vizinho do nó 11
J
nohsVisitados[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
U P CG
nohDePartida = 0
nohDeChegada = 11 JP
def buscaEmProfundidade(nohDeDepartida, nohDeChegada):
pilha = []
[Link](nohDeDepartida) C
while len( pilha) > 0:
noh = [Link]()
A R
if nohsVisitados[nohdaVez] = =0:
nohsVisitados[nohdaVez]=1
print(mD[nohdaVez]) A M
if nohdaVez == nohDeChegada:
print('Chegou ao Destino')
A
break
else:
for noh in grafo[nohdaVez]:
[Link](noh)
Métodos DFS
Procedimento
BFS e DFS
• Não são considerada buscas inteligentes, por
percorrerem e visitarem todos os vertices dos
grafos
• Não tem objectivos predeterminados a
alcançar.
• Utiliza conceitos de pilhas e filas onde os
valores para percorrer todos os nóns
Métodos A*
Procura no melhor primeiro (Best-First Search)
• Baseia no princípio de avaliar os nós já conhecidos do espaço de procura e expandir o
melhor deles.
• utilização de uma função de avaliação dos estados, a qual permite ao algoritmo escolher
para expandir, em cada passo, o nó mais promissor
• f(n) = g(n) + h(n), em que g(n) é o custo do caminho desde o estado inicial ao estado
representado no nó n; e h(n) é a estimativa do custo do melhor caminho que liga o nó n ao
estado final.
• Termina sempre, mesmo que não haja solução para um problema e não fica preso em
ciclos infinito
• Se a estimativa h(n) for sempre menor do que o custo real mínimo do caminho entre o nó
n e um nó objectivo, então o A* encontra a melhor solução para o problema, se ela existir.
• Se h(n)=0 para qualquer nó n, o algoritmo A* dá os mesmos resultados que o algoritmo de
caminho ótimo de Dijkstra.
Aplicações
• Sistemas de GPS
• Jogos (ex. jogos de tiro, faz traçado de menor rota para atingir o alvo)
• Unit de jogos implementa muitos algoritmos A*
Métodos A*
A distância em linha recta é a heurística, uma forma
de resolver o problema para ajudar o algoritmo Distância em linha recta
151 99
80 178
380 193
Aradea Rinnicu Fagaras
531 273 277
7 147
98 160
Adicionar Heuristicas
Piteste Craiova
- Via com pontos turisticos
145 306
- O trecho é perigoso tem
0 101 assaltos frenquentes
Bucareste - Quantas portagens em
101 cada trecho
Métodos Greedy Search
Estratégia de Busca Gulosa
• Estratégia gulosa é aquela usada por um montanhista que decide
caminhar sempre "para cima", na direção de "maior subida"
• Na esperança de assim chegar ao pico mais alto da montanha.
• Escolhe, em cada iteração, o objecto mais "apetitoso" que vê pela
frente
• Utiliza heurísticas (distância em linha recta), metríca muito utilizado
por sistemas de GPS para verificar a menor distância entre dois
trechos
• GPS armazena uma tabela com todas as heuristicas para suporte a
decisão
• Os valores são colocados numa estrutura ordenada (i.e Vector)
Heurísticas
• A distância em linha recta funciona se tem um mapa
cartesiano(localização das cidades na terra)
• Não se aplica a travesia de um avião de um continente a outro, pois a
distância será muito maior por considerar a curvatura da terra.
Cont..
Aplicações
Definição do Apetitoso
• Moedas=(100,50,25,5,1)
• Troco: 75
• Quantidade mímina de moedas: 2 (1 de 50 + 1 de 25)
• 50 -> 75 < 50 – 1 de 50
• 75-50=25
• 50 -> 25 < 50
• 50-25= 25
• 25-> 25 <= 25 – 1 de 25
• 25-25=0
Métodos Gulosa/Busca Heurística
Funcionamento Distância em linha recta
• Permite traçar uma rota, o algoritmo deve
encontrar o melhor caminho para se chegar
a um destino
• Heurística é uma determinada informação
que possui sobre o problema
• GPS já armazena uma tabela de Heurísticas
• Unit
Guloso
Arad
118
374 75 329
140
253 Timisoara
Zerind
Sibiu
178
380 193
Fagaras
Aradea Rinnicu
0
Bucareste
Factores a Considerar Gulosa
Devem ser adicionadas as Heurísticas o custo associado
a:
0 0 x
0 0 x 0 0 x Min
x 0
x x 0 x 0
x x
x x x
+1 +1 0 +1
0 +1 Max
0 0 x 0 0 x 0 0 x 0 0 x 0 0 x 0 0 x
x x 0 x x 0 x 0 0 x 0 x 0 0 x 0
0 x 0 x x x 0 x x x x x 0 x
0 +1 +1 0 +1
+1
0 0 x 0 0 x 0 0 x 0 0 x 0 0 x
0 0 x
x x 0 x x 0 x 0 0 x x 0 x 0 0
x x 0
0 x x x 0 x x x x 0 x x x x x
x 0 x
0 (Max)
Exemplo Jogo da Velha
-7
-10
1 (Min) -7
10
2 (Max) -10 5 -7
3 (Min) 10 5 -10 5 - -7
4 (Max)
10 + 5 -10 7 5 - -7 -5
Exercício
Execute o Minimax dado o seguinte espaço de estado inicial
0 0 X
X 0
X
Representação de Conhecimento
RC
• O papel em IA é o de reduzir problemas de acção
inteligente a problemas de busca
Definições
• Conjunto de frase em uma linguagem formal para a
qual foram definidas uma semântica e um conjunto de
regras de inferência capazes de gerar novas frase a
partir das sentenças disponíveis;
• Conjunto de convenções sobre como descrever uma
classe de objectos “ Uma descrição faz uso das
convenções de uma representação para descrever um
objeto em particular.” Todas as representações
possibilitar representar: objectos, atributos e seus
relacionamentos
Conhecimento Certo
Representações
Exemplo de conhecimento
Exemplo de dados
Devantagens
Instância -de
Tem_idade
Roda
28 Maria Motor
Parte_de Parte_de
Estacionado
tem-_dono
Av.5
Automóvel Carroceria
Carro1 Parte_de
tem-_KM Instância -de
Branco Veículo
Exemplo
Mão
Pessoa Direita
ISA
Masculino Altura
Adulto 1.78
ISA
Armador Ala
Quilan 1966
• o significado poderia ser representado como
relacionamento entre dois objectos.
• Representações mais complicadas tais como
frames são realces desta idéia
Características
• Indexam as declarações pelas entidades que
descrevem;
• Facilitam a descrição de propriedades de
relações;
• Originaram os conceitos da programação
orientada a objectos;
• Facilitam a visualização directa dos conceitos e
dos relacionamentos entre eles.
Aplicações
• Modelagem de conhecimento;
• Mapas Conceituais;
• Processamento da linguagem natural,
• Raciocínio por abstração;
• Programação orientada a objectos.
Propriedades
• Permite estruturar o conhecimento para refletir a parte do
universo que está a ser representada
• Valores default
• Sintaxe clara, já a semântica precisa ser trabalhada
Exemplo RS simples
Relações
❑ Ako (a-kind-of): relações entre classes
❑ é-um (is-a): relações entre classes e instâncias – uma entidade pertence a uma classe mais
alta ou uma categoria de objetos.
❑ tem-um (has-a): identifica características ou atributos das entidades
❑ parte-de (part-of): identifica características ou atributos das entidades
❑ variados: identifica características gerais
Exemplo 2
Mobilia
Ako
Pessoa Couro
Cadeira É-um
É-um Estofamento
É-um
Dono
Cadeira
Ana Assento
_X
Tem-um
Cor
Preta
Exemplo Planta
Folhas Fábrica
Exemplo Planta
Or
Folhas Bens
Lugar
Exemplo
Função Bomba
Metabólico
Pode Ser
É –Regulado pela
Potencial
Potencial de
de Acção
Membrana
Pode Ser É -Um
É -Um
Potencial Potencial
Processo
de Acção de Acção Sinal de
Electro
Informação
Químico
Apresenta
Processo Processo
Electro Electro
Químico Químico
Exemplo RS simples
faz
Animal Comer
Passáro
Mamífero
tem
Ako
Cão Pêlos
Transitividade
Ferramenta Exploratória
Maria Azul
Ako
Passáro
Mamífero
Ako tem
Cão Pêlos
Detectar Instanciais - Instance-of
Maria
Instace-of cor
Carro C2 Azul
azul
Instace-of
C1 Preto
cor
possuidor
Eu C1 e C2 são instâncias particulares,
Carro é um conceito
Exemplo
João
Instace-of É-um
Carro
Carro1 Veículo
cor
Preto Roda Meios_Trasp
Exemplo
Móvel
É-um É-parte
Pessoa Cadeira Assento
É-um Dono É-um
Cor
Ana Cadeira-X Preta
Estofado Meios_Trasp
Preto Couro
Conceito= Cadeira
Herança= É- parte e É-um
Transitividade Cadeira-X- Móvel
Exemplo
Dar
Agente É-um
João Deu Livro-X
Objecto
É-um
• Representação Natural
• Oferece uma visão global do problema representado
Desvantagem
• isa(tanque, componente)
• parede(tanque, blocos_de_concreto)
• parede(tanque, blocos_de_concreto)<- isa(X, tanque)
• Conteúdo (X, água) <- isa(X, tanque)
• isa(X, tanque) ← isa(X, tanque-domo)
Frame
• Colecções de questões a serem respondidas sobre uma
situação hipotética
• Estruturas de dados estáticas usado para representar
situações estereotipadas bem compreendidas (Minsky,
1975)
• Representa objectos do domínio.
• Uma estructura de dados para colocar o conhecimento
relevante da classe de objectos em vez de distribuir o
conhecimento em forma de regras de fórmulas lógicas.
Mamífero
É um Objectos do Domínio
Animal
tem Pêlos
Exemplo de RS como Frame
Exemplo 1
Animal
Está Comer
Mamífero
Passáro É-um
É-um
Tem Pêlos
Cão
É-um
Exemplo de RS como Frame
Exemplo 1
Animal
Está Comer
Mamífero
Passáro É-um
É-um
Tem Pêlos
Cão
É-um
Expansão- Frames
Frame Cão
• O frame “Cão” poderia ser expandido acrescentando-se novos slots e
valores para o frame
Cão
É um Mamífero
Slotes
Nome Valores
Cão
É um Mamífero
Nome Rex
Gorjeta
Quebra
Esperar por
Estacionar o Entrar no uma mesa
carro :::
Restaurante Ler o menu
Ir até a
Mesa
Restaurante
• Colocando os eventos juntos aos demais
elementos, poderíamos imaginar o script
“Restaurante” assinalando apenas algumas
coisas, tais como:
• Papéis: Freguês, garçom, cozinha...
• Objectos de cena: Mesas, cadeiras, garfos,
facas, pratos, copos, garrafas de vinho...
• Entradas condicionais: freguês está faminto;
freguês está vestido inapropriadamente; freguês
tem dinheiro..
Exemplo de Script
Restaurante
• Cena1: Entrar
• Estacionar o carro
• Entrar no restaurante
• Esperar por uma mesa
• Ou
• Ir até a mesa
• Ler o menu
• Cena 2- Pedir refeição
• ..
• Mecanismo de inferência:
• dada uma base de conhecimento KB, pode
gerar novas sentença que seguem de KB.
• dada uma base de conhecimento e uma
sentença , pode dizer se consequência logica
de KB.
Introdução a Prolog
• Linguagem de programação
utilizada para resolver problemas
envolvendo objectos e relações entre
objetos
Prolog vs. procedural
Procedural
• Programa=Algoritmo+ Estruturas de
Dados
Prolog
• Algoritmo= Lógica +Controlo
• Programa=Lógica+Controle+
Estruturas de Dados
• Em prolog programa-se de forma
declarativa ( especifica-se o que ?) e
não o como deve ser computado
Programar em Prolog
• São os modelos de AM
Algoritmos
• Etapa em que os algoritmos aprendem com
os dados
Treinamento • Identifica-se nessa etapa os padrões nos
dos Modelos dados, depois pode-se fazer predições em
dados desconhecidos
Dados Saída
Programação
Modelo Tradicional
Dados Modelo
Apredizado de
Saídas Máquina
Programação Tradicional
Dados Saída
Programação
Modelo Tradicional
Cálculo de Imposto de Renda:
Modelo
- Classe em função do salário
Dados de entrada
- NIF
- Salário
Saída
- Imposto
Apredizado de Máquina
A máquina aprende por sí
Dados Modelo
Apredizado de
Saídas Máquina
Lógica Invertida – O algoritmo aprende a partir dos dados e
de saídas esperadas
- Sistema anti fraude
- Não é perciso programar todas as regras de anti-
fraude
- Basta pegar os dados de saída e gerará um modelo
que classifica o que é fraude e o que não é
Obs: Aprende as regras e a saída será o modelo
Apredizado Supervisionado
Analisa os dados de treino e produz uma função inferida que
será utilizada para analisar novos exemplos
Span
Classificador
Span
Span
Span
Classificação
Processo
• De categorizar um determinado conjunto de dados em
classes.
• No exemplo da classificação de e-mails como spam,
teríamos um exemplo de classificação binária, no qual o
modelo através dos dados fornecidos, precisaria gerar
como resposta se o e-mail é spam ou não.
Algoritmos
• KNN
• Naive Bayes
• Logistic Regression
• Support Vector Machines
• Decision Trees
Regressão
Modelos
Modelo de Regressão
Uma variável dependente Modelo de
Regressão Duas ou mais variáveis
• dependentes
Simples
Múltiplos
• Linear Regression
• Polynomial Regression
• Logistic Regression
• Principal Components Regression (PCR)
Classificador de Maça
Reconhecimento de Maça
Fala
Reconhecimento de Maça
Imagem
PLN Maça
Algoritmos
AM não
Supervisionado
Separable Unseparable
underfitted overfitted
Mineração de Dados
Fundamentos
Ferramentas Weeka
Mineração de Dados
Fundamentos
• Data Mining é uma tecnologia que emergiu da
intersecção de três áreas: estatística clássica,
inteligência artificial e aprendizado de máquina.
• É o processo de descobrir informações relevantes,
como padrões, associações, mudanças, anomalias e
estruturas, em grandes quantidades de dados
armazenados em baSE de dados, depósitos de dados
ou outros repositórios de informação.
• Análise inteligente visando manipulação automática
de quantidades imensas de dados
• Larga aplicação nos mais variados ramos da indústria,
comércio, medicina, governo, administração, etc.
• Integra várias técnicas e tecnologias
Mineração de Dados
Fundamentos
• A maioria dos exemplos conhecidos de aplicações de
aprendizado de máquina são sistemas que realizam a
tarefa de classificação.
• Classificação consiste em determinar a que classe um
objeCto pertence dados os valores de um conjunto de
atributos do objecto
Exemplos
• Por exemplo, filtragem de spam: dado o conteúdo de
uma mensagem de email (conjunto de palavras) decidir
se esta mensagem é ou não é spam. Outros exemplos
são detectar se uma operação com cartão de crédito é
fraudulenta ou não, e detectar se um conjunto de pixels
é um rosto ou não
• Treinar um classificador é faze-lo aprender a função de
classificação, a partir de um conjunto de dados cuja
classe de cada objeto é conhecida.
Mineração de Dados
Exemplos
• Banco central dos EUA
• Selecçionou entre seus clientes, aqueles com
menor risco de dar calotes
• Em três anos o banco lucrou 30 milhões de dólares
com a carteira de empréstimos
• Fraldas e cervejas
• Homens casados, entre 25 e 30 anos compravam
fraldas e/ou cervejas às sextas-feiras à tarde
• Wal-Mart
• Optimizou as gôndolas e o consumo cresceu 30%
Problema de Classificação
Definição Informal
• Dada uma colecção de Dados detalhados neste caso
5 exemplos de esperança e 5 de gafanhotos. Decida
a qual tipo de insecto o exemplo não rotulado
pertence
Problema de Classificação
Definição Informal
• Para qualquer domínio de interesse podemos medir
características
• Cor{verde, cinza, verde, etc..}
• Compimento{do abdomem, torax, antenas, pernas}
• Tamanho da mandíbula
• Diâmetro dos orifícios ed respiração
8
7
6
5
4
3
2
1
1 2 3 4 5 6 7 8 9 10
Comprimento do Abdômem
Problema de Classificação
Cada um desses objectos
10
de dados é chamado de
9 exemplar …
Comprimento das antenas
8 - Exemplo (de
treinamento)
7
- Instância
6 - Tupla
4
3
2
1
1 2 3 4 5 6 7 8 9 10
Comprimento do Abdômem
Problema de Pombo
8 1.5
De que classe é o objecto ?
4.5 7
Espaços Dimensionais
maiores
Classificador Linear Simples
3D
Acurâcia
imperfeita
Classificador
Quadrático
Classificador Linear Simples
Classificador Vizinhos mais Próximos
K- Nearest Neighbor
[Link] Meet
Frequência
Data 3/11
Conteúdo a Avaliar
❑ Agentes Inteligentes
❑ Algoritmos de Busca ( BFS,DFS, A* e Busca Gulosa)
❑ Redes Semânticas
[Link] Meet