Você está na página 1de 38

Inteligência Artificial

Profa. Marluce
Conceito de Inteligência Artificial
• Estudo de sistemas programados que são
capazes de simular, até certo ponto, atividades
humanas, tais como percepção, pensamento,
aprendizado e atuação.
História
• Há 2400 anos Aristóteles inventou o conceito de
raciocínio lógico
• Leibniz e Newton despenderam esforços para
terminar a linguagem da lógica
• Boole desenvolveu a álgebra booleana no século
XIX: estabeleceu os fundamentos dos circuitos
dos computadores
• Alan Turing propôs a máquina de Turing
• O termo inteligência artificial surgiu em 1956, por
John McCarthy
Teste de Turing
• Proposto em 1950
• Fornece uma definição de inteligência em uma máquina
• Compara o comportamento inteligente de um ser humano
com o de um computador
• Um interrogador faz uma série de perguntas que são
encaminhadas para um computador e um ser humano
• O interrogador recebe dois conjuntos de respostas, mas
não sabe qual é do ser humano e qual é do computador
• Depois de examinar as respostas, se o interrogador não
conseguir identificar qual conjunto de respostas é do
computador e qual pertence ao ser humano, o computador
passou no teste de Turing por ter apresentado
comportamento inteligente
Agentes inteligentes
• Sistema que percebe seu ambiente, aprende e
interage com ele de maneira inteligente
• Agente de software: conjunto de programas
projetados para realizar tarefas específicas.
– Exemplo: agente para organizar correio eletrônico
(e-mail). Verifica o conteúdo de e-mails recebidos
e classifica-os em diferentes categorias (lixo,
menos importantes, importantes, muito
importantes e assim por diante)
Agentes inteligentes
• Agente físico (robô):
sistema programável que
pode ser empregado para
desempenhar diversas
tarefas. Robôs simples
podem ser utilizados em
áreas de produção para
realizar trabalhos
rotineiros, como
montagem, soldagem e
pintura.
Utilização de robôs móveis
Robôs
Simuladores de robôs móveis
• Microsoft Robotics Studio
– Desenvolvido pela Microsoft
– Simula e controla robôs móveis
– Simulação física (3D)
– SO: Windows
Simuladores de robôs móveis
• Webots
– Desenvolvido pela Cyberbotics
– Simula e controla robôs móveis
– Simulação física (3D)
– Exige licença
– SO: Linux, Windows e Mac.
Linguagens de programação
• LISP: inventada em 1958
– Manipula listas, tratando dados e programas como listas
– Um programa em Lisp é capaz de modificar a si mesmo
– Desvantagem: lista longa gera lentidão e complexidade de
sua sintaxe
• Prolog: pode criar um banco de dados de fatos e uma
base de conhecimento de regras
– Permite responder questões que podem ser inferidas a
partir de uma base de conhecimento
– Não é muito eficiente
Representação de conhecimento
• Métodos de representação
– Redes semânticas
– Frames
– Lógica de predicados
– Sistemas baseados em regras
Redes semânticas
• Utilizam grafos dirigidos para representar
conhecimento
– Vértices (nós): representam conceitos
– Arestas (arcos): representam a relação entre dois
conceitos
Redes semânticas
• Exemplo

Fonte: http://www.inf.ufrgs.br/~alvares/INF01048IA/redes_semanticas.pdf
Frames
• Relacionados às redes semânticas
• Um grafo é utilizado para representar
conhecimento
• As estruturas de dados são utilizada para
representar o mesmo conhecimento
• Um frame tem nome e um conjunto de pares
atributo-valor
Frames
• Sistema de frames correspondente à rede
semântica

Fonte: http://www.inf.ufrgs.br/~alvares/INF01048IA/redes_semanticas.pdf
Lógica de predicados
• Trata-se de uma linguagem bem definida, desenvolvida
ao longo de uma longa história da lógica teórica.
• Lógica proposicional: composta de um conjunto de
sentenças que podem ser utilizadas para desenvolver
um raciocínio lógico a respeito do mundo
– Operadores: não(¬), ou(∨), e(∧), se...então(→), se e
somente se (↔)
– Sentença
– Hoje é terça-feira (A)
– Está chovendo (B)
– Hoje é terça-feira ou quarta-feira (A ∨C)
– Não está chovendo (¬B)
– Se um cachorro é um mamífero, então um gato é um mamífero (C → E)
Lógica de predicados
• Lógica proposicional
– Operadores: não(¬), ou(∨), e(∧), se...então(→), se e somente
se (↔)
– Sentença
– Hoje é terça-feira (A)
– Está chovendo (B)
– Hoje é terça-feira ou quarta-feira (A ∨C)
– Não está chovendo (¬B)
– Se um cachorro é um mamífero, então um gato é um mamífero (C → E)
– Dedução:considerando duas sentenças verdadeiras (premissas)
podemos deduzir uma nova sentença verdadeira (conclusão)
– Ou ele está em sua casa ou está no escritório (Premissa 1)
– Ele não está em casa (Premissa 2) (C)
– Portanto, ele está no escritório (Conclusão) (E)

– {CvE, C} | E
Lógica de predicados
• Lógica de predicados: uma sentença é dividida
em um predicado e argumentos
– Ex: a sentença “John trabalha para a irmã de Ann”
pode ser escrita como:
trabalha[John, irmã(Ann)]

Utilizada como argumento


• Quantificadores:
• para todo ou quantificador universal (∀)
• existe ou quantificador existencial (∃)
Lógica de predicados

• Quantificadores:
– Ex: A sentença “todos os homens são mortais“ pode
ser escrita como:
∀ x[homem(x) →mortal(x)].
– Ex: A sentença “algumas flores são vermelhas” pode
ser escrita como:
∃ x[flor(x) ∧ vermelha(x)].
– Ex: A sentença “John tem um livro” pode ser escrita
como:
∃ X[livro(x) ∧ tem(John,x)].
Lógica de predicados

• Dedução:
• Exemplo
• Todos os homens são mortais Premissa 1
• Sócrates é um homem Premissa 2
• Portanto, Sócrates é mortal Conclusão

∀ x[homem(x) →mortal(x)], homem(Sócrates) | mortal (Sócrates)


Sistema baseado em regras

• Representa o conhecimento utilizando um


conjunto de regras que podem ser utilizadas para
deduzir novos fatos a partir de fatos conhecidos
• As regras expressam o que é verdadeiro se
condições específicas são atendidas
• Um banco de dados baseado em regras é um
conjunto de declarações se...então... na forma
– Se A então B ou A →B
– A é o antecedente e B o consequente
Sistema baseado em regras

• Um sistema baseado em regras é formado por


interpretador (ou mecanismo de inferência),
base de conhecimento e banco de dados de
fatos
Sistema especialista
• Sistemas que empregam o conhecimento humano para
resolver problemas que requerem a presença de um
especialista
• Expertise: conhecimento especializado adquirido por
longo treinamento, leitura e experiência
• Especialista: quem possui o conhecimento,
experiência, métodos e a habilidade de aplicá-los para
dar conselhos e resolver problemas.
• Engenheiro de conhecimento: guia a aquisição,
representação do conhecimento especializado, bem
como a implementação e refinamento do sistema
especialista
Sistema especialista
• Personagens de um sistema especialista
Sistema especialista
MYCIN
• Diagnosticar rapidamente meningite e outras infecções bacterianas, e prescrever tratamento
• Representação de conhecimento baseada em regras probabilísticas (em torno de 500)
• Fez sucesso: acima de 90% de acerto introduziu explicação e boa interface com usuário

Quick Medical Reference System (QMR)


• Realiza o diagnóstico diferencial em muitas áreas da Medicina Interna, e também é útil para ensino
• Testado com 31 casos
• O sistema QMR acertou 85 %
Exemplo de regra
• Se as seguintes condições são verdadeiras:
o paciente apresenta estridor respiratório;
há história prévia de insuficiência respiratória congestiva
• então são prováveis os seguintes diagnósticos:
edema pulmonar, com uma probabilidade de 80%;
asma, com uma probabilidade de 50% ;
embolismo pulmonar com uma probabilidade de 20%.
Processamento de imagem
• Processamento de imagem ou visão computacional é
uma área de IA que lida com a percepção de objetos
pro intermédio dos olhos artificiais de um agente,
como uma câmera
• Um processador de imagem capta uma imagem
bidimensional do mundo externo e tenta criar uma
descrição dos objetos tridimensionais presentes na
cena
– Entrada: uma ou mais imagens da cena
– Saída: descrição dos objetos da cena
• O processador utiliza um banco de dados contendo as
características do objeto para comparação
Processamento de imagem
• Etapas:
1. Detecção de bordas: encontrar onde estão as bordas da
imagem
2. Segmentação: dividir a imagem em áreas ou segmentos
homogêneos
3. Encontrar a profundidade do(s) objeto(s) na imagem
4. Encontrar a orientação: pode ser determinada utilizando
sombreamento (quantidade de luz refletida) e textura
(um padrão repetido regularmente).
5. Reconhecimento de objetos: o agente precisa ter um
modelo do objeto na memória a fim de fazer uma
comparação. Assume-se que um objeto é a combinação
de um conjunto de formas geométricas simples.
Busca
• Uma das técnicas para solucionar problemas
em inteligência artificial
• Solução de um problema utilizando um
conjunto de estados
– Um procedimento de busca começa a partir do
estado inicial, prossegue por estados
intermediários até atingir o estado-alvo.
– O conjunto de todos os estados utilizados por um
processo de busca é chamado espaço de busca
Busca – jogo dos 8

Estado inicial
Busca – jogo dos 8

Estado final
Métodos de busca
• Força bruta: pode ser realizado primeiro em
largura ou em profundidade
– Lista todas as potenciais soluções para o problema
de uma maneira sistemática
– Avaliar as soluções uma a uma, desqualificando as
não práticas e mantendo a melhor encontrada até
o momento
– Quando a busca terminar, anunciar o vencedor
Exemplo-caxeiro viajante
• Dadas n cidades com distâncias conhecidas
entre cada par, encontrar o trajeto mais curto
que passe por todas as cidades exatamente
uma vez antes de retornar à cidade de origem
Métodos de busca
• Busca heurística: atribuímos um valor
quantitativo a cada nó. Esse valor quantitativo
mostra a proximidade relativa do nó em
relação ao estado objetivo
Redes neurais
• Redes Neurais Artificiais são técnicas
computacionais que apresentam um modelo
matemático inspirado na estrutura neural de
organismos inteligentes e que adquirem
conhecimento através da experiência.
Redes neurais
• Aplicações:
– Reconhecimento óptico de caracteres: o agente
inteligente é capaz de ler qualquer caligrafia, e a
concessão de crédito, quando diferentes fatores
podem ser ponderados para estabelecer
avaliações do crédito, por exemplo, para um
candidato a um empréstimo
Áreas de IA
• As áreas de aplicação de IA envolvem o raciocínio
humano, tentando imitá-lo e realizando
inferências. Incluem, entre outras:
– Sistemas Especialistas ou Sistemas Baseados em
Conhecimento.
– Sistemas Inteligentes/Aprendizagem.
– Compreensão/Tradução de Linguagem Natural
– Compreensão/Geração de voz
– Análise de imagem e cena em tempo real
– Programação Automática.
Referências consultadas
• Wolf, D. F., Simões, E. V., Osório, F. S. e Trindade Jr, O. Robótica Móvel
Inteligente: da Simulação às Aplicações no Mundo Real. Disponível em
http://osorio.wait4.org/palestras/JAI2009-Denis.pdf. Acesso em novembro
de 2011.
• Behrouz A. Forouzan; Firouz Mosharraf. Fundamentos da Ciência da
Computação - Tradução da 2ª Edição Internacional , Cengage
Learning,2011.

Você também pode gostar