A
Inteligência Artificial (IA) estuda técnicas para permitir ao computador exibir
comportamentos considerados inteligentes quando
observados em seres humanos. A pesquisa em
IA
tem se dividido em sub-áreas, as quais são:
fundamentos, incluindo o uso da Lógica Matemática,
investigando Lógicas Não-Clássicas e Provadores de
Teoremas, sistemas baseados em conhecimento, que modelam
o conhecimento e os métodos utilizados em um determinado
domínio, com o auxílio de especialistas na área, criando
sistemas que auxiliam usuários na solução de problemas
desse domínio; apoio ao trabalho cooperativo, através do
estudo das questões de cooperação, argumentação e
negociação; interfaces cooperativas com interpretação e
geração de textos no contexto de diálogo entre usuários
e sistemas; representação do conhecimento impreciso,
utilizando redes bayesianas e redes neuronais; e métodos
de busca heurística para resolução de problemas de
otimização combinatória e pesquisa operacional em
engenharia, computação e automação.
As
pesquisas em
Inteligência Artificial
são fortemente relacionadas com pesquisas em outras
áreas, como por exemplo:
Engenharia de Software, Multimedia e Teoria
da Computação.
O ser
humano sempre teve um impulso nato para criar outros
seres. Embora ele tenha sempre tido a sua disposição um
meio simples, e por que não dizer, agradável (o sexo),
parece que na verdade ele nunca esteve satisfeito.
Provavelmente a Inteligência Artificial nasceu na antiga
Grécia, onde procuravam criar autômatos que simulavam
formas e habilidades do ser humano. Os gregos, criaram
várias máqunias e dispositivos automáticos construídos
por "Archimedes" para proteger "Siracura" do ataque dos
romanos.
Já na
Idade Moderna, nos séculos XVIII e XIX, com o surgimento
da arte da relojoaria e da
mecânica de precisão,
surgiram vários dispositivos chamados de
autômatos,
como as figuras mecânicas que se moviam sozinhas para
soar as badaladas dos relógios de grandes catedrais, e
alguns prodígios como o desenhista
Henri-Louiz Dros
(que na época foi até acusado de feitiçaria, tal era a
perfeição dos movimentos de seus autômatos); e o
espetacular pato do mecânico francês
Vaucanson,
que reproduzia fielmente quase todos os movimentos de um
pato de verdade!!! Embora fossem verdadeiras maravilhas
da mecânica na época, esses mecanismos não passavam de
relógios sofisticados, pois não tinham nenhum sistema de
controle
ou de
sensoriamento
que caracterizam os Robôs.
Nos
anos 80, apareceu um novo pensamento na área de
robótica, nascida nos laboratórios do
MIT,
em Massachussets. O cérebro por trás dessa corrente era
de
Rodney Brooks, que iniciou um caminho oposto ao qual a
Inteligência Artificial
estava caminhando e imaginou que um
comportamento inteligente
poderia ser o resultado de um
ambiente complexo,
e não de um
raciocínio complexo. Ele criou um tipo de arquitetura de controle robótico,
chamado de
Arquitetura de Assunção.
Como
podemos observar a
Inteligência Artificial
já vem se desenvolvendo a mais tempo do que poderíamos
imaginar, agora com o alto avanço da tecnologia já
podemos pensar em criaturas com capaxidade de
aprendizado e de raciocínio lógico.
Ecossistemas
e Animais Virtuais.
Em se
tratando do estudo de sistemas ecológicos e até de
indivíduos, a Biologia quase sempre adotou uma abordagem
reducionista: explicar um fenômeno global através do
estudo detalhado de cada uma das partes, partindo de um
nível mais alto do sistema até um mais baixo (top-down).
Com o aparecimento dos computadores e da Vida
Artificial, os cientistas têm agora a possibilidade de
utilizar uma abordagem totalmente contrária, sintética:
simular cada indivíduo, seu ambiente e as interações
existentes, e observar as propriedades emergentes
do sistema.
Pensando num intercâmbio entre Computação e Biologia:
Podemos
aplicar técnicas da computação para entender melhor os
processos biológicos (como simulações de ecossistemas),
e da mesma maneira utilizar modelos biológicos para
resolver problemas computacionais (como é o caso dos
Algoritmos Genéticos).
Um
pioneiro no estudo e simulação de ecossistemas virtuais
foi o biólogo Thomas S. Ray, na segunda metade da década
de 80. Certa vez, alguém do MIT comentou com ele que era
possível construir um programa de computador que se
reproduzisse (na mesma época os vírus de computador já
estavam disseminando-se pelo mundo). Interessado, ele
pediu explicações, que não foram suficientes (talvez o
rapaz do MIT não tenha sido muito claro, ou Ray não
tenha conseguido entender, visto que não sabia nada
sobre computadores - ou ambos). Aquilo mexeu
profundamente com ele, e a idéia de criar um ecossistema
dentro do computador tornou-se uma obsessão. Ray pensou
em colocar vários programas, como indivíduos de um
ecossistema, rodando em um computador, e ver o que
acontecia.
Passado
algum tempo, ele já sabia trabalhar com uma linguagem de
programação. Foi quando percebeu uma limitação óbvia: os
códigos de máquina que compõe qualquer programa de
computador são vulneráveis demais às mutações
necessárias à evolução das espécies. Um erro apenas, um
bit que seja estranho ao processador, e nada mais
funciona. Além disso, havia o perigo de que, se daquele
experimento realmente surgisse algo capaz de
reproduzir-se, poderia tornar-se potencialmente um vírus
poderoso (como nas experiências com vírus reais).
A
solução encontrada foi criar uma máquina virtual, um
computador dentro de um computador (muito parecido com
as máquinas virtuais Java que rodam programinhas em
linguagem Java nos navegadores Web): nada poderia
escapar dali, pois as instruções da máquina virtual eram
totalmente diferentes das do computador "real" no qual
estavam rodando (vivendo?) os programas-criaturas .
Emprestando algumas idéias da biologia, Ray criou uma
arquitetura e um conjunto de instruções para essa
máquina que eram resistentes à mutações que os programas
sofreriam.
Então,
uma certa noite, nosso amigo finalmente levou a cabo sua
idéia: construiu um programa-criatura, de cerca de 80
instruções, que ele chamou de "ancestral". A função
básica desse programa era reproduzir-se, e as outras
criaturas que porventura viessem a existir deveriam
competir entre si por memória e tempo de processamento
(analogamente aos conceitos de espaço e energia no mundo
real). Ray deixou que o programa funcionasse, rodando a
noite toda, e foi dormir agitado, sabendo que alguma
coisa interessante surgiria dali (alguns experimentos
anteriores já haviam mostrado a potencialidade de Tierra,
como ficou batizado o sistema).
No dia
seguinte, Ray investigou o que havia sido criado e -
bingo! - lá estavam eles: programas-criaturas, de
diversas "espécies", populando a memória da máquina
virtual. Mutações haviam transformado as gerações do
programa-ancestral, e agora ele observava estratégias
evolutivas e fenômenos com correspondentes naturais:
haviam programas parasitas, com apenas 45 instruções,
que se aproveitavam do trecho de código de outros
programas para copiarem a si mesmos. Havia extinções em
massa, e também períodos de grande diversidade
"biológica" seguidos de estabilidade, em muito parecidos
com o fenômeno natural da evolução puntuada de Stephen
Jay Gould (com base em registros fósseis, foi possível
constatar que a evolução não ocorre de maneira uniforme
e linear com o tempo, mas sim através de períodos
explosivos de diversidade de espécies - como a famosa
explosão Cambriana).
Outro
experimento interessante com relação aos ecossistemas
virtuais aparece em PolyWorld, de Larry Yager.
PolyWorld é um ambiente virtual habitado por criaturas
controladas por redes-neurais artificiais, ou seja, elas
possuem uma certa capacidade de aprendizado e
processamento de informações proveniente de "sentidos"
(como a visão). Além disso, existe também um código
genético em cada uma delas que define certas
características, tanto "físicas", (seu tamanho, força,
velocidade máxima) como "mentais" (dados relacionados à
arquitetura de sua rede neural, como taxa de
aprendizado, número de neurônios, etc). Um simples
sistema de metabolismo simulado controla a taxa de
energia de cada indivíduo, energia essa que se cair para
zero significa sua morte. Cada criatura também pode
realizar certas ações, como atacar, comer, cruzar,
mover-se, entre outras. Esse mundo virtual é então
preenchido com essas criaturas, e a simulação inicia-se.
Vale lembrar que as criaturas são capazes de gerar
descendentes (através da ação "cruzar"), e que assim
acaba existindo uma "seleção natural", em que organismos
mais aptos sobrevivem em detrimento dos menos adaptados.
Yager,
assim como Tom Ray, observou o aparecimento de
comportamentos bem definidos, como se houvesse
diferentes "espécies" de criaturas. Alguns dos
comportamentos observados:
-
Resposta aos estímulos visuais, através do
aumento da velocidade
-
Algumas criaturas "fugiam", quando atacadas por
outras, enquanto
-
Algumas criaturas respondiam a ataques, revidando
A
principal lição que podemos tirar desses exemplos é que,
independente da discussão (que acaba tornando-se até
mesmo uma questão filosófica) se esses organismos
virtuais estão ou não mesmo vivos, o principal objetivo
da VIDA ARTIFICIAL é abstrair os mecanismos da Vida,
independente do meio em que ela ocorra.
A visão
de uma máquina é algumas vezes chamada de visão
computacional, reconhecimento de padrões de imagem,
análise automática de imagens, análise de cenas ou
entendimento de imagem. O desenvolvimento de alguns
conceitos gerais de Inteligência Artificial tem sido
largamente utilizados no trabalho de pesquisa da visão
computacional. A pesquisa em visão computacional pode
ser dividida em duas categorias: Baseia-se no
desenvolvimento de teorias e métodos voltados à extração
automática de informações úteis contidas em imagens
capturadas por dispositivos imageadores, tais como
câmera de vídeo, scanner, etc. Como ilustrações em visão
computacional podemos citar:
-
Modelos computacionais:
que aumentam o nosso entendimento de como processamos
as informações visuais;
-
Produção de sistemas:
sistemas desenvolvidos e que são úteis para aplicações
na indústria, medicina, comércio, etc.
-
Por que automatizar tarefas visuais?
Existem muitas situações em que os computadores se
mostram como a melhor opção para desempenhar tarefas
visuais do que os humanos.
-
Locais perigosos:
tarefas que colocam os seres humanos em situações de
perigo são fortes candidatas a serem automatizadas,
por exemplo, inspeção em usinas nucleares.
-
Fadiga: tarefas que levam à exaustão, por exemplo, inspeção
industrial e sistemas de segurança baseados em vídeo.
-
Gastos: tarefas que requeiram treinamento especializado,
resultando em mão de obra mais cara, por exemplo,
análise médica de imagens de tumores e análise de
imagens de satélites.
-
Quantificação: tarefas que necessitam de acuidade visual maior,
por exemplo, a contagem do número de células em uma
amostra ao microscópio.
-
Dados excessivos:
tarefas nas quais existam um número excessivo de dados
, por exemplo, inspeção dos produtos em uma linha de
produção em massa.
Visão
por computador (Visão Computacional) é á área da ciência
que se dedica a desenvolver teorias e métodos voltados à
extração automática de informações úteis contidas em
imagens. Tais imagens são capturadas por dispositivos
imageadores, tais como câmera de vídeo, scanner, etc.
Por este motivo, a recente evolução tecnológica dos
computadores e dispositivos imageadores, a preços
acessíveis, tem possibilitado a crescente aplicação de
visão computacional nas mais diversas áreas.
Como
ilustrações em visão computacional, podemos citar:
análise automática de sêmem humano, medição
computadorizada do dimensional de peças, rastreio de
alvos para detectação de intrusos, análise morfológica
de células, reconhecimento e sintetização de faces
humanas, entre outras. A criação de sistemas de visão
computacional, seja para aplicações em inspeção
industrial ou para navegação de robôs móveis, envolve,
quase sempre, a execução de um determinado conjunto de
transformações em dados obtidos de sensores como câmeras
e sonares. Para esta classe de problemas é possível a
determinação de uma arquitetura de software que suporte
as principais etapas do desenvolvimento deste tipo de
sistemas, enfatizando o reaproveitamento de código e
minimizando o esforço dispendido em atividades
repetitivas.
|