Escolar Documentos
Profissional Documentos
Cultura Documentos
Resumo Artificial Intelligence - A Modern Approach, Russel and Norvig Capítulos 1 e 2 Disciplina de Sistemas Multi-Agentes O Que É IA?
Resumo Artificial Intelligence - A Modern Approach, Russel and Norvig Capítulos 1 e 2 Disciplina de Sistemas Multi-Agentes O Que É IA?
O que IA?
Definies de inteligncia artificial so mostradas na figura 1.1, de acordo com oito livros
texto. Estas definies variam ao longo de duas principais dimenses. Grosseiramente, as no topo
so preocupadas com processos de pensamento e raciocnio, enquanto as de baixo endeream a
comportamento. As definies esquerda medem sucesso em termos de fidelidade para a
performance humana, enquanto as da direita medem contra um conceito ideal de inteligncia, que
chamaremos de racionalidade. Um sistema racional se ele faz a coisa certa, dado o que ele
sabe.
Sistemas que pensam como humanos
O excitante novo esforo para fazer O estudo de faculdades mentais por meio do
computadores pensarem mquinas com uso de modelos computacionais. (Charniak e
mentes, no sentido literal e completo. McDermott, 1985)
(Haugeland, 1985)
[A automao de] atividades que ns O estudo de computaes que fazem possvel
associamos com pensamento humano, atividades perceber, raciocinar e agir. (Winston, 1992)
tais como tomada de deciso, resoluo de
problemas, aprendizagem... (Bellman, 1978)
Sistemas que agem como humanos
1 de 21
objetivos. Um agente racional um que age de forma a alcanar o melhor resultado ou, quando em
incerteza, o melhor resultado esperado.
Na proposta das leis do pensamento a enfase foi em inferncias corretas. Fazendo corretas
inferncias algumas vezes parte de ser um agente racional, devido uma forma de agir
racionalmente raciocinar logicamente para a concluso que uma dada ao ir alcanar um
objetivo e ento agir na concluso. Por outro lado, inferncias corretas no so tudo de
racionalidade, devido existirem frequentemente aes onde no h uma coisa provavelmente correta
a fazer, mas alguma coisa deve ser feita. Existem tambm formas de agir racionalmente que no
podem envolver inferncia. Por exemplo, se afastar de um forno quente uma ao de reflexo que
tem normalmente mais sucesso que uma ao mais lenta tomada depois de cuidadosa deliberao.
Neurocincia
Chips de computador podem executar instrues em nanosegundos, enquanto neurnios so
milhes de vezes mais lentos. A lei de Moore diz que o nmero de transistores por polegada
quadrada dobra a cada 1 ou 1,5 ano. A capacidade do crebro humano dobra grosseiramente a cada
2 a 4 milhes de anos.
Filosofia
Kenneth Craik especificou os trs passos chaves de um agente baseado em conhecimento
(DEFINIR AGENTE BASEADO EM CONHECIMENTO): 1) o estmulo deve ser traduzido em
representaes internas, 2) a representao manipulada pelo processo cognitivo (DEFINIR
COGNITIVO) para derivar novas representaes internas, e 3) estes so por sua vez, retraduzidos
de volta em ao. Ele claramente explicou por que isso era um bom projeto para um agente:
Se o organismo transporta um modelo de pequena escala de realidade externa e de
suas prprias possveis aes dentro de sua cabea, ele capaz de tentar vrias
alternativas, concluir qual a melhor delas, reagir a situaes futuras antes que elas
surjam, utilizar o conhecimento de eventos passados tratando com o presente e o futuro,
e em cada forma de reagir de uma muito mais completa, segura e mais competente
maneira emergncias com as quais ele encara.
Engenharia de Computao
O primeiro computador eletrnico, o ABC, foi montado por John Atanasoff e seu estudante
Clifford Berry entre 1940 e 1942 na universidade estadual de Iowa. Sua pesquisa recebeu pouco
suporte e reconhecimento; foi o ENIAC, desenvolvido como parte de um projeto militar secreto na
universidade de Pennsylvania pelo time incluindo John Mauchly e John Eckert, que provou ser o
mais influente precursor dos computadores modernos.
Na metade do sculo, desde ento, cada gerao de hardware de computador tem trazido um
aumento na velocidade e capacidade e reduzido no preo. Performance dobra a cada 18 meses ou
mais, com uma dcada ou duas nesta taxa de crescimento. Depois disto, ns precisaremos de
engenharia molecular ou alguma outra nova tecnologia.
3 de 21
A mquina analtica de Charles Babbage (1792-1871) foi de longe a mais ambiciosa: ele
inclua memria enderevel, programas armazenados e pulos condicionais, e foi a primeira capaz
de realizar computao universal. A colega de Babbage, Ada Lovelace, foi talvez a primeira
programadora do mundo (a linguagem de programao Ada foi nomeada depois dela).
A IA tem pioneirizado muitos trabalhos na rea de cincia da computao, como time
sharing, interpretadores interativos, computadores pessoais com janelas e mouse, ambientes de
desenvolvimento rpido de aplicaes (Rapid Application Development Tools RAD Tools), tipos
de dados de listas encadeadas, gerenciamento automtico de armazenamento e conceitos chaves de
programao simblica, funcional, dinmica e orientada a objetos.
4 de 21
O nascimento da IA (1956)
Princeton foi a casa de outra figura influente em IA, John McCarthy. Depois da graduao
foi para o Dartmouth College, que se tornou o local oficial de nascimento da rea de IA.
Soviticas) em 1957. Foi pensado inicialmente que seriam simples transformaes sintticas
baseadas nas gramticas russa e inglesa, e substituio de palavras usando um dicionrio
eletrnico, bastaria para preservar o exato significado das sentenas. O fato que a traduo requer
conhecimento geral do assunto para resolver ambiguidades e estabelecer o contedo da sentena.
O segundo tipo de dificuldade foi a no intratabilidade de problemas que a AI estava
tentando resolver. Muitos dos primeiros programas de IA resolveram problemas tentando diferentes
combinaes de passos at a soluo ser encontrada. Esta estratgia funcionou inicialmente porque
micro mundos continham pouqussimos objetos e portanto, pouqussimas aes possveis e
curtssimas sequncias de soluo. Antes da teoria de complexidade computacional ser
desenvolvida, era amplamente pensado que resolver problemas maiores era simplesmente uma
questo de hardware mais rpido e mais memria.
6 de 21
Resumo
7 de 21
Psiclogos adotaram a idia de que humanos e animais podem ser considerados mquinas de
processamento de informaes. Linguistas mostraram qual uso de linguagem adequado
neste modelo.
Engenheiros de computao proveram os artefatos que fazem as aplicaes de IA possveis.
Programas de IA tendem a ser grandes, e eles podem no funcionar sem um grande avano
na velocidade e memria que a indstria de computadores tem provido.
Teoria do controle trata com projeto de dispositivos que agem opcionalmente na base de
feedbacks do ambiente. Inicialmente, as ferramentas matemticas de teoria do controle eram
muito diferentes da IA, mas os campos esto ficando mais prximos.
A histria da IA tem ciclos de sucesso, otimismos mal colocados, resultando cortes no
entusiamo e financiamento. Houveram tambm ciclos de introduo de novas propostas
criativas e sistemtico refinamento das melhores.
IA tem avanado mais rapidamente na dcada passada devido ao grande uso de mtodos
cientficos em experimentos e propostas de comparao.
Progresso recente no entendimento da base terica de inteligncia tem sido disseminado,
com melhorias nas capacidades reais do sistema. As sub-reas da IA tem se tornado mais
integradas, e a AI tem encontrado base comum com outras disciplinas.
2. Agentes Inteligentes
Agentes e Ambientes
Um agente qualquer coisa que pode perceber seu ambiente atravs de sensores e e agir
nesse ambiente por meio de atuadores. Esta simples idia ilustrada na figura 2.1. Um agente
humano tem olhos, orelhas e outros rgos como sensores, e mos, pernas, boca e outras partes do
corpo como atuadores. Um agente rob pode ter cmeras e localizadores infravermelho como
sensores, e vrios motores como atuadores. Um agente de software recebe entradas do teclado,
contedo de arquivos e pacotes de rede como sensores de entrada e age no ambiente mostrando
resultados na tela, gravando em arquivos e enviando pacotes pela rede.
8 de 21
v para o outro quadrado. Uma tabulao parcial desta funo de agente mostrada na figura 2.3.
Um simples programa de agente para esta funo de agente dado posteriormente na figura 2.8.
Medidas de performance
A medida de performance incorpora o critrio de sucesso do comportamento de um
agente. Quando um agente atirado em um ambiente, ele gera uma sequncia de aes de acordo
com as percepes que ele recebe. Se a sequncia desejvel, ento o agente tem desempenhado
seu trabalho bem. Obviamente, no existe nenhuma medida fixa adequada para todos os agentes.
Podemos propor como uma medida de performance, a quantidade de sujeira limpa em um
nico turno de 8 horas. Um agente racional pode maximizar esta medida de performance, limpando
a sujeira e jogando ela no cho novamente, ento limpando outra vez, e assim consecutivamente.
Uma medida de performance mais adequada poderia premiar o agente por ter limpado o cho. Por
exemplo, um ponto pode ser conseguido por cada quadrado limpo a cada passo (talvez com uma
penalidade por consumo de energia e gerao de rudo).
A seleo de uma medida de performance no sempre fcil. Por exemplo, a noo de
cho limpo no pargrafo anterior baseada na mdia de limpeza sobre o tempo. Ainda que a
mesma mdia de limpeza possa ser alcanada por dois diferentes agentes, um pode fazer um
trabalho medocre todo o tempo enquanto o outro limpa energicamente mas faz longas paradas.
10 de 21
Racionalidade
O que racional em um dado intervalo depende de 4 coisas:
Considerando o agente aspirador de p, ele pode ser considerado racional, pois ele realiza as
aes visando maximizar sua performance, a geografia do ambiente conhecida, mas a sua
distribuio da sujeira e localizao inicial no, as aes de ir para esquerda ou direita so
executadas de modo que o agente no saia dos dois quadrados, o agente percebe sua localizao e se
existe sujeira nela.
Algum pode ver facilmente que um mesmo agente poderia ser irracional sobre diferentes
circunstncias. Por exemplo, uma vez que toda a sujeira limpa, ele ir ficar se movendo
desnecessariamente; se a medida de performance inclui uma penalidade de um ponto para cada
movimento, o agente ir ter um desempenho baixssimo. Um agente melhor para este caso poderia
no fazer nada, uma vez que ele est certo de que todos os quadrados esto limpos. Se o quadrado
pode se tornar sujo novamente, o agente poderia ocasionalmente checar e limpar novamente se
necessrio.
olhar ajuda a maximizar a performance esperada. Fazendo aes para modificar percepes futuras
algumas vezes chamada de obteno de informaes uma importante parte da racionalidade.
Um segundo exemplo de obteno de informaes provido pela explorao que deve ser
responsabilidade do agente aspirador de p em um ambiente inicialmente desconhecido.
Nossa definio de agente racional no somente no sentido de obter informaes, mas
tambm de aprender tanto quanto possvel a partir de suas percepes. O agente pode ter algum
conhecimento prvio do ambiente. Existem casos extremos em que o ambiente totalmente
conhecido a priori, nestes casos, o agente no precisa perceber ou aprender; ele simplesmente age
corretamente. Obviamente, tais agentes so muito frgeis. Ver exemplo do besouro e da vespa na
pgina 37.
Medidas de Performance
(Performance Measure)
Ambiente
(Environment)
Atuadores
(Actuators)
Sensores
(Sensors)
Txi
Seguro, rpido, legal, viagem Ruas,
trfego, Direo, acelerador, Cmeras,
sonar,
automatizado confortvel,
maximizar pedestre, clientes
frio, setas, buzina, velocmetro,
GPS,
lucros
painel
odmetro, medidor de
acelerao, sensores
no motor, teclado
Figura 2.4
Primeiro, qual a medida de performance que gostaramos que nosso txi aspire?
Qualidades desejveis incluem pegar o destino correto; minimizar consumo de combustvel e
desgaste; minimizar tempo de viagem e/ou custo; minimizar violaes de leis de trnsito e
perturbaes a outros motoristas; maximizar a segurana e conforto do passageiro; maximizar os
lucros. Obviamente, alguns desses objetivos conflitam, logo, existiro trocas envolvidas.
Em seguida, qual o ambiente que o txi ir encarar? Qualquer motorista de txi deve tratar
com uma variedade de ruas, desde vielas rurais e becos urbanos a auto-estradas. As ruas contm
outros trfegos, pedestres, animais debandados, ruas em obras, carros de polcia, poas e buracos. O
txi deve tambm interagir com potenciais e atuais passageiros. Existem tambm algumas escolhas
opcionais. O txi pode precisar operar na Califrnia do Sul, onde neve um problema rarssimo, ou
no Alasca, onde constantemente . Ele pode sempre dirigir pela direita, mas pode ser flexvel para
dirigir pela esquerda quando estiver no Japo ou Gr-Bretanha. Obviamente, quanto mais restrito o
ambiente, mais fcil de projetar uma soluo.
Os atuadores disponveis em um txi automatizado sero quase os mesmos dos disponveis
para um motorista humano: controle sobre o motor atravs do acelerador e controle sobre a direo
e frenagem. Adicionalmente, ele necessitar de uma sada para uma tela ou sintetizador de voz para
falar com os passageiros, e talvez alguma forma de se comunicar com outros veculos,
12 de 21
educadamente.
Para alcanar seus objetivos no ambiente, o txi necessitar conhecer onde ele est, o que
mais h na rua, e a velocidade que ele est indo. Seus sensores bsicos podem ento incluir uma ou
mais cmeras de TV controlveis, um velocmetro e um odmetro. Ele pode ter um GPS para dar
informaes precisas de seu posicionamento e sensores de infra-vermelho ou sonares para detectar a
distncia de outros carros ou obstculos. Finalmente, ele precisa de um microfone ou teclado para
os passageiros requisitarem um destino.
Na figura 2.5 temos um esboo dos elementos PEAS bsicos para diversos outros tipos de
agentes. De fato, o que importa a complexidade do relacionamento entre o comportamento do
agente, a sequncia de percepes geradas pelo ambiente e a medida de performance. Alguns
ambientes reais so muito simples. Por exemplo, um rob projetado para inspecionar peas vindas
por uma esteira rolante pode fazer algumas suposies simples: que as nicas coisas vindas pela
esteira so peas que ele conhece e que existem apenas duas aes (aceitar ou rejeitar).
Tipo de
Agente
Medidas de Performance
(Performance Measure)
Ambiente
(Environment)
Atuadores
(Actuators)
Sensores
(Sensors)
Sistema de
diagnstico
mdico
Sade
do
paciente, Paciente,
hospital, Mostrar
questes, Entrada dos sintomas
minimizar custos, causas
equipe mdica
testes, diagnsticos, por teclado, respostas do
tratamentos,
paciente, pesquisa
orientao
Sistema de
anlise de
imagem de
satlite
Rob coletor
de partes
Controlador de Maximizar
pureza, Refinaria, operadores
refinaria
produo, segurana
articulado
de
pixels
de
e Cmera, sensores
ngulo articulado
de
Figura 2.5
13 de 21
14 de 21
Observvel
Determinstico
Episdico
Esttico
Discreto
Agentes
Palavras cruzadas
Totalmente
Determinstico
Sequencial
Esttico
Discreto
Single
Totalmente
Estratgico
Sequencial
Semi-Dinmico
Discreto
Multi
Dirigir txi
Parcialmente
Estocstico
Sequencial
Dinmico
Contnuo
Multi
Diagnstico mdico
Parcialmente
Estocstico
Sequencial
Dinmico
Contnuo
Single
Anlise de imagens
Totalmente
Determinstico
Episdico
Semi-Dinmico Contnuo
Single
Parcialmente
Estocstico
Episdico
Dinmico
Contnuo
Single
Controlador de Refinaria
Parcialmente
Estocstico
Sequencial
Dinmico
Contnuo
Single
Parcialmente
Estocstico
Sequencial
Dinmico
Discreto
Multi
Figura 2.6
A estrutura de agentes
O trabalho da IA projetar o programa do agente que implementa a funo de agente
mapeando percepes para aes. Ns assumimos que este programa rodar em algum tipo de
dispositivo computacional com sensores fsicos e atuadores, o que chamamos de arquitetura:
agente = arquitetura + programa.
Obviamente, o programa que escolhemos deve ser apropriado para a arquitetura, que pode
ser um PC comum ou um carro rob com muitas cpu's, cmeras e outros sensores. Em geral, a
arquitetura faz as percepes para o programa a partir dos sensores, roda o programa e alimenta as
escolhas de aes do mesmo para os atuadores.
Programas de agente
O programa do agente que projetaremos ter o mesmo skeleton: ele pega as percepes
atuais como entradas a partir de sensores e retorna uma ao para os atuadores. Note a diferena
entre o programa do agente, que toma a percepo atual como entrada, e a funo de agente, que
toma todo o histrico de percepes. O programa do agente toma apenas a percepo atual como
entrada pois nada mais disponibilizado pelo ambiente; se as aes do agente dependem de toda a
sequncia de percepes, ele deve armazenar as percepes.
Por exemplo, a figura 2.7 mostra um programa de agente realmente trivial, que fica de olho
na sequncia de percepes e ento as usa para indexar uma tabela de aes para decidir o que
fazer. A tabela representa explicitamente a funo de agente que o programa do agente incorpora.
Para construir um agente racional desta forma, precisamos construir uma tabela que contenha as
aes apropriadas para cada sequncia de percepes possvel.
15 de 21
instrutivo considerar porque uma proposta baseada em tabelas para construo de agentes
condenada a falhar. Considere um txi automtico: a entrada visual a partir de uma nica cmera
vem na faixa de grosseiramente, 27Mbps (30 frames/s, 640x480 pixels com 24 bits de informao
de cor). Isto d uma tabela com cerca de 10 250.000.000.000 entradas para uma hora de direo. At uma
tabela para xadrez poderia ter 10150 entradas. O nmero de tomos em um universo observvel
menos que 1080.
Apesar disto, um agente dirigido por tabelas faz o que queremos: implementa a funo
desejvel de agente. O desafio chave para IA encontrar como escrever programas que, para uma
extenso possvel, produzam comportamento racional a partir de uma quantidade pequena de
cdigo no lugar de um grande nmero de entradas de tabela.
Agentes reflexivos simples: O tipo mais simples de agente, que selecionam aes com base
na percepo atual, ignorando o resto do histrico de percepes. Por exemplo, o agente
aspirador de p, pois suas decises so baseadas somente na localizao atual e se l h
sujeira. Um programa para esse agente mostrado na figura 2.8. Imagine voc dirigindo um
carro. Se a luz de freio do carro da frente acende, voc nota isto e comea a frenar. Em
outras palavras, alguns processamentos so feitos em entradas visuais para estabelecer a
condio que chamamos O carro na frente est parando. Ento, isto dispara alguma
conexo estabelecida no programa do agente para a ao iniciar frenagem. Ns chamamos
tal conexo de regra de condio-ao, escrita como:
if car-in-front-is-braking then initiate-braking.
Humanos tem muitas conexes, algumas das quais so aprendidas (como dirigir) e outras
16 de 21
que so reflexos natos (como piscar). O programa da figura 2.8 especfico para um ambiente
particular. Uma proposta mais genrica e flexvel primeiro construir um interpretador de propsito
geral para regras de condio-ao e ento criar um conjunto de regras para um ambiente
especfico. A figura 2.9 d a estrutura desse programa geral em uma forma esquemtica, mostrando
como as regras de condio-ao permitem ao agente fazer conexes de percepes para aes. O
programa do agente mostrado na figura 2.10.
17 de 21
Note que tomar decises desse tipo fundamentalmente diferente das regras de
condio-ao descritas anteriormente, pois envolvem consideraes sobre o futuro como
O que acontecer se eu fizer isto e isto? e Isto me far feliz?. No projeto de agentes
reflexivos, esta informao no explicitamente representada, porque as regras embutidas
18 de 21
19 de 21
Aprendizado de agentes
Em um famoso paper anterior, Turing (1950) considerou a idia de programar sua mquina
inteligente mo. O mtodo que ele props para construir mquinas de aprendizagem e ento
ensin-las. Em muitas reas de IA, isto atualmente o mtodo preferido para criao de sistemas no
estado da arte. Aprendizado tem outra vantagem: permite ao agente operar em um ambiente
inicialmente desconhecido e se tornar mais competente que seu conhecimento inicial sozinho
poderia permitir.
Um aprendizado de agente pode ser dividido em quatro componentes conceituais, como
mostra a figura 2.15. A mais importante distino entre o elemento de aprendizagem, que
responsvel por fazer melhorias, e o elemento de performance, que responsvel por selecionar
aes externas. O elemento de performance o que ns temos previamente considerado ser o agente
inteiro: ele toma as percepes e decide em aes. O elemento de aprendizagem usa feedbacks a
partir da crtica de como o agente est agindo e determina como o elemento de performance deve
ser modificado para operar melhor no futuro.
Para tornar todo o projeto mais concreto, vamos retornar ao exemplo do txi automatizado.
O elemento de performance consiste de ignorar colees de conhecimento e procedimentos que o
txi tem para selecionar suas aes de direo. O txi vai a rua e dirige, usando seu elemento de
performance. A crtica observa o mundo e passa informaes para o elemento de aprendizagem. Por
exemplo, depois que o txi faz uma virada rpida esquerda entre trs ruas de grande trfego, a
crtica observa a linguagem chocante dos outros motoristas. A partir desta experincia, o elemento
de aprendizagem capaz de formular uma regra dizendo que aquilo foi uma ao ruim, e o
elemento de performance modificado instalando a nova regra. O gerador de problemas pode
identificar certas reas de comportamento necessitando de melhoria e sugerir experimentos, tal
como tentar parar em ruas de diferentes superfcies, sobre diferentes condies de tempo.
O elemento de aprendizagem pode fazer mudanas para qualquer componente de
conhecimento mostrado no diagrama do agente (figuras 2.9, 2.11, 2.13 e 2.14). O caso mais
simples envolve aprender diretamente a partir de sequncias de percepes. Observaes de pares
de sucessivos estados do ambiente podem permitir que o agente aprenda como o mundo evolui e
observaes dos resultados de suas aes podem permitir ao agente aprender o que minhas aes
fazem. Por exemplo, se um txi exerce uma certa presso de frenagem enquanto dirigindo em uma
rua molhada, ento ele ir em breve encontrar quanto de desacelerao ele ir alcanar.
Resumo
Um agente alguma coisa que percebe e age no ambiente. A funo de agente para um
agente especifica a ao tomada por um agente em resposta a qualquer sequncia de
percepes.
21 de 21