Tuesday, June 12, 2007

CAD

Computer Aided Design (CAD), ou desenho auxiliado por computador, é o nome genérico de sistemas computacionais (software) utilizados pela engenharia, geologia, arquitetura, e design para facilitar o projeto e desenho técnicos. No caso do design, este pode estar ligado especificamente a todas as suas vertentes (produtos como vestuário, eletroeletrônicos, automobilísticos, etc.), de modo que os jargões de cada especialidade são incorporados na interface de cada programa.

Sistemas Periciais

São aplicações que têm por objectivo resolver problemas complexos de forma idêntica à utilizada pelos peritos humanos.
Os Sistemas Periciais são um caso específico de Sistemas Baseados em Conhecimento.
• num Sistema Pericial o conhecimento é obtido a partir de um ou
mais peritos ou especialistas.
• o desenvolvimento de um Sistema Pericial incorpora, para além de uma vertente técnica, uma vertente humana complexa

Sistemas Periciais de Sucesso


DENDRAL - Primeiro Sistema Pericial

MYCIN - Sistema Pericial mais conhecido

INTERNIST - Sistema Pericial aplicado à Medicina Interna

PROSPECTOR - Sistema Pericial no domínio da Geologia

PUFF - Sistema Pericial dedicado ao diagnóstico de problemas pulmonares

XCON - Primeiro Sistema Pericial com utilização comercial

IDEA (Integrated Diagnostic Expert Assistant System) - Sistema Pericial de
diagnóstico de avarias em subsistemas electrónicos de carros

SCREENIO - Sistema Pericial para apoio na formatação de écrans do Realia
COBOL

DELTA/CATS-1 - Sistema Pericial para identificação de problemas e apoio à
manutenção de locomotivas Diesel-Eléctricas

AUTHORIZER’s ASSISTANT - Sistema Pericial para auxiliar na tarefa de
aprovação de despesas individuais

DRILLING ADVISOR - Sistema Pericial usado na análise dos solos de
exploração petrolífera

LENDING ADVISOR - Sistema Pericial para apoiar na decisão de concessão
de crédito por parte de instituições bancárias

EXPERTAX - Sistema Pericial para auxílio à tarifação em seguros

GATES - Sistema Pericial para auxílio dos controladores de terra na
atribuição das portas de chegada e partida dos voos

PATHFINDER - Sistema Pericial dedicado ao diagnóstico de doenças do foro
linfático

MARVEL - Sistema Pericial que a monitora um vasto conjunto de dados enviados pela
nave Voyager para o Centro do Jet Propulsion Laboratory

BMES (Bounced Mail Expert System) - Sistema Pericial utilizado no ComLink um
servidor de distribuição de informação
electrónica através de correio electrónico ´

TIGER - Sistema Pericial usado na monitorização da condição de turbinas de
gás

ARCA - Sistema Pericial para diagnóstico de arritmias cardíacas

TARCA - Sistema Pericial de planeamento de terapias para arritmias cardíacas

SCADA (Supervisory Control and Data Acquisition) - Sistema Pericial que
auxilia os operadores dos Centros de Controlo e Condução da
REN/EDP na análise de avarias e apoio na sugestão de estratégias de
reposição do serviço da rede

Nanotecnologia

Nanotecnologia é a aplicação da ciência de sistemas em escala nanométrica. Um nanômetro (nm) é 1 bilionésimo de metro; reais sistemas em escala nanométrica têm tamanhos que variam de 1 a 100 nm. Por um lado, este regime está entre o mundo sub-nanométrico de átomos individuais e, por outro, o tamanho típico padrão em um circuito eletrônico de última geração (por volta de duzentos nanômetros). É um regime onde a física, a química e a biologia se aglutinam para criar a "nanociência", de onde a ciência da nanotecnologia possa (um dia) fluir.

Redes Neuronais

Um neurónio é o elemento mais básico de uma rede neuronal biológica, sendo essencialmente constituído pelo corpo da célula (soma), pelas dendrites e pelo axónio. As dendrites recebem sinais dos axónios de outros neurónios. O pequeno espaço (falha) entre o axónio de um neurónio e a dendrite de outro é conhecido como terminal sináptico.
As diversas dendrites de um neurónio conduzem impulsos para o corpo da célula. A função de um neurónio é integrar as diversas entradas que são recebidas, através de diversas sinapses nas dendrites, e gerar ou não uma saída. Esta saída tem a duração aproximada de 1 milisegundo e 0.1mV de amplitude, sendo a sua velocidade de propagação de 120 m/s. Quando este sinal atinge a sinapse na cauda do axónio, o sinal eléctrico é convertido num sinal químico, que será transmitido para outro neurónio através da falha. Nos terminais sinápticos do neurónio receptor, o sinal químico é novamente convertido para um sinal eléctrico que viajará através da dendrite para a soma.
Uma sinapse pode ser excitante ou inibitória. Se for excitante, aumenta o nível interno de activação do neurónio, caso contrário, reduz este nível. Em termos de controlo, pode-se afirmar que os neurónios têm um controlo do tipo On-Off (também conhecido como Bang-Bang). Acima de um certo nível superior produz uma saída e abaixo de um nível inferior não produz qualquer saída. A grandes níveis de actividade, as saídas aumentam em frequência mas não em amplitude, no entanto, a frequência aumenta até uma frequência máxima, pelo que a partir daí a frequência é fixa.


Um neurónio artificial computacional tenta modelizar algumas destas características biológicas. Em termos de simulação, uma rede neuronal é constituída por unidades básicas de processamento, designadas por neurónios, que estão interligadas. Cada neurónio possui várias entradas a que estão associados pesos. Um somador efectua a soma ponderada das entradas e na saída deste, encontra-se uma função não-linear (sigmóide). As redes contêm vários neurónios ligados de forma a que as saídas de uns estarem ligadas às entradas de outros.

A arquitectura das redes neuronais pode ser totalmente conectada, camada única ou múltiplas camadas. A aprendizagem da rede pode ser forçada, supervisionada ou não supervisionada. Na aprendizagem forçada, não são fornecidas as saídas correctas para as entradas consideradas mas são atribuidos prémios/castigos de acordo com o facto de a saída ser correcta ou não. As alterações nos pesos das conexões são baseadas somente nos níveis de actividade entre unidades conectadas. Na aprendizagem supervisionada, a rede produz a sua própria resposta a uma configuração que é presente à entrada, após o que um supervisor apresenta a resposta correcta. Se duas respostas são idênticas, não há necessidade de modificar os pesos das conexões. Caso contrário, a diferenca entre estes dois valores, é utilizada para modificar o peso das conexões existentes na rede. Finalmente, a aprendizagem não supervisionada ocorre como uma adaptação própria da rede na detecção de regularidades no espaco de entrada, sem feedback directo de um supervisor. Este metodo de aprendizagem aplica-se quando não dispomos, à priori, de qualquer indicação sobre possíveis classificadores

Histórico da Inteligência Artificial

A Inteligência Artificial (IA) não é recente, sua história inicia nos idos dos anos 40, onde havia alguma pesquisa em torno de seqüências de estratégia e análise do funcionamento do cérebro com objetivos de formalização de seu comportamento. Estes dois ramos de pesquisa eram dissociados entre si, sem nenhuma preocupação com a construção de uma Inteligência Artificial. Buscavam-se, apenas, novas alternativas de utilização do computador, ainda em projeto.
Mas, com o passar dos anos, foram sendo distinguidas duas linhas de pesquisa: uma biológica, calcada em torno do funcionamento do cérebro e dos neurônios; e outra, fruto do estudo da cognição, do raciocínio.

Anos 40

Segunda guerra mundial. Há a necessidade do avanço tecnológico para fornecer mais instrumentos para o combate bélico. O dinheiro de pesquisas científicas está à disposição dos cientistas que se preocupem em desenvolver mecanismos para a morte em massa, de modo a fazer com que a guerra seja ganha pelo poder tecnológico. A maior arma idealizada na época (que matava mais gente em menos tempo) era a bomba atômica, mas para seu desenvolvimento seria necessária uma quantidade gigantesca de cálculos, os quais deveriam ser precisos. Neste contexto, e para que fosse possível o cálculo da bomba atômica, foi desenvolvido o computador. Como diz seu nome, uma máquina de fazer cômputos (cálculos).
Mas não somente para cálculos, o computador foi utilizado também em outros recursos voltados à morte: o planejamento de ações estratégicas de exércitos. Simulações do avanço de tropas era possível informando-se as variáveis envolvidas na ação, permitindo assim a elaboração automática de diversas hipóteses de estratégias. Tal como um jogo de guerra, combinações de possibilidades eram simuladas. Foi então o início dos jogos por computador, utilizados também para situações mais reais além de jogos de dama e xadrez... Eis aí o início da inteligência artificial tradicional, baseada em regras.
Por outro lado, havia outro ramo de pesquisas interessado na realização da representação das células nervosas do ser humano no computador, uma vez que o cérebro é formado de neurônios e é ele que realiza o processamento das informações do corpo.
Esta linha de pesquisas motivou o desenvolvimento de uma formalização matemática para o neurônio, estabelecendo o neurônio formal. Esta formalização permitiu a realização de diversas concepções matemática sobre a forma de aprendizado dos neurônios, ou seja, como os neurônios armazenam informações. Isso derivou na década seguinte em modelos de redes de neurônios artificiais.

Anos 50

Nesta década iniciou-se o estudo, na linha de pesquisa psicológica, da utilização da lógica de estratégia para finalidades matemáticas, como a prova de teoremas. Iniciou-se também a modelagem através de regras de produção, regras estas baseadas na lógica de predicados.
A introdução da programação através de comandos de lógica de predicados proporcionou um grande avanço para a programação de sistemas que utilizassem esquemas de raciocínio. Daí foi possível o aperfeiçoamento do que já existia: jogos, aplicações matemática e simuladores. E o avanço foi tanto que nos anos 60 houve uma euforia diante do potencial tecnológico vislumbrado.
Mas, passando à história da linha biológica, esta década foi de grande sucesso dada a implementação do primeiro simulador de redes neurais artificiais e do primeiro neurocomputador. A partir do modelo matemático de MacCulloc e Pitts (1943) e da teoria de aprendizado de Donald Hebb (1949), foi possível nesta década a união desses conhecimentos no modelo de rede neural artificial chamado Perceptron.

Anos 60

Na linha biológica, prosseguiram os desenvolvimentos de conceitos relativos às redes neurais artificiais com o aprimoramento do modelo Perceptron e o surgimento de uma variante, o Adaline. Ambos utilizavam as mesmas idéias de rede, porém a lógica de aprendizado os diferenciava.
Para a linha psicológica esta década foi à descoberta da Inteligência Artificial. Utopicamente, os pesquisadores desta linha acreditavam ser possível realizar tarefas humanas, tais como o pensamento e a compreensão da linguagem, através do computador. Realmente acreditava-se ser possível a reprodução pura e simplesmente do raciocínio humano no computador.
Neste sentido, foi tentada a interpretação da linguagem no computador, tal como compreendida pelo ser humano. No ímpeto da racionalização imposta pelo desenvolvimento de suas pesquisas, acreditaram que apenas através do raciocínio seria possível a interpretação da linguagem. Obviamente a linguagem humana não é fruto apenas da razão, mas de todo o aparato sensorial e lógico do ser humano.
Por outro lado, em 1969, Marvin Minsky e Sigmour Papert publicaram um livro denominado Perceptrons, o qual destinava-se a ridicularizar as pesquisas em torno das redes neurais artificiais. Os autores sustentavam a hipótese de que os modelos apresentados não tinham sustentação matemática para terem credibilidade. Tiveram êxito na sua empreitada, levando ao ostracismo os pesquisadores da linha biológica.

Anos 70

Para a linha biológica, esta foi uma década negra. Apesar disso, houve pesquisadores que, por outros caminhos, chegaram a novas concepções de redes neurais artificiais. Estas concepções analisavam o aprendizado de informações como sendo fruto de uma união das potencialidades de redes de neurônios interagindo entre si. Nasciam as redes neurais representadas na forma de mapas cerebrais, onde não havia o aprendizado de um neurônio, mas de toda uma rede, através do compartilhamento de recursos.
Já na linha psicológica, estudos mais aprofundados demonstraram o óbvio: que não seria possível a representação numa máquina dos estados mentais humanos responsáveis pelo pensamento. Ao menos naquele estado da tecnologia.
A saída para esta linha de desenvolvimento era dada por uma empresa: a Rand Corporation. Foi de sua equipe de pesquisa que partiram os sistemas especialistas, os quais foram responsáveis pela ampliação da Inteligência Artificial Tradicional.

Anos 80

As redes neurais artificiais tiveram seu reconhecimento recuperado através do físico John Hopfield, que em 1982 provou ser possível a simulação de um sistema físico através de um modelo matemático baseado na teoria das redes neurais.
Assim, em 1986, uma equipe de especialistas das mais diversas áreas reuniu-se para validar as pesquisas em torno das redes neurais, possibilitando a volta da pesquisa nesta linha. Uma das formas de recuperação do prestígio das redes neurais foi à proposta de um modelo, chamado Backpropagation, que ampliava o potencial do Perceptron de modo a permitir a superação das limitações do modelo primitivo.
Enquanto isso, na IA Tradicional, ampliavam-se as técnicas e aplicações dos sistemas especialistas. Além disso, houve o interesse de trabalho conjunto com outras áreas, tais como interfaces inteligentes, sistemas de apoio à decisão, controle de robôs, etc.

Anos 90

Nesta década, as redes neurais tiveram uma explosão exponencial de aplicações e desenvolvimento de modelos. São centenas de propostas de novos ou aperfeiçoamento de modelos a cada ano, tal o interesse pela área. A partir daí, consolidam-se as redes neurais como parte integrante do estudo da Inteligência Artificial propriamente dita.
Reconhece-se, também, que os paradigmas biológico e psicológico são complementares e necessários para sistemas mais evoluídos. Desta forma, começam nesta década a serem construídos os chamados Sistemas Híbridos. Estes sistemas são a união das concepções das duas linhas de pesquisa, permitindo a construção de grandes sistemas que pretendem abranger uma forma mais completa de representação do comportamento humano. Ideal este da própria Inteligência Artificial.

Aplicações Actuais de Inteligencia Artificial

Planeamento

O planeamento está intimamente ligado ao raciocínio. Um programa com capacidade de planear é capaz de fazer escolhas hipotéticas, estabelecer compromissos e ordenar as suas escolhas segundo os critérios que melhor servem os seus objectivos. O planeador consegue ainda avaliar se os compromissos tomados até então conduzem a um plano completo e coerente.
Um exemplo de um excelente planeador é o Deep Blue, o programa da IBM que venceu o campeão mundial de xadrez Kasparov em 1997. O programa foi capaz de elaborar planos estratégicos e adaptá-los às novas situações de jogo que foram surgindo.
Assim funciona um planeador, ele fixa um objectivo, e atinge-o supervisionando um ou mais dispositivos capazes de realizar acções no mundo real. Este tipo de programas vem muitas vezes substituir os programas de procura que tentam passar de uma situação inicial (dados), através de sucessivas aplicações de transformações à representação dos dados do problema, para uma situação final (objectivos). O planeador aproxima-se muito mais de uma solução heurística e do processo como nós, homens, pensamos.
Procuram-se resolver problemas gerais, tomar decisões e raciocinar em interacção com uma base de dados.

Visão Computacional

A primeira abordagem sobre o reconhecimento dos caracteres ópticos remonta já aos anos ’50. E esta área assume-se hoje como uma área científica de excelência que engloba grandes volumes de informação (variada e complexa) relacionados entre si.
Os sistemas de visão que conhecemos hoje são capazes de construir descrições do ambiente que os envolve, processar e reconstruir imagens.
A visão está muito ligada à ideia de percepção computacional e do facto de a máquina reconhecer o seu ambiente e comportar-se de acordo com este. Assim encontramos a percepção visual computacional relacionada com os movimentos dos agentes, com a sua coordenação motora, o controlo dos seus movimentos e não podemos deixar de falar em robótica ao abordarmos esta nova concepção de ‘visão activa’.

Xadrez

Este é um dos problemas preferidos da I.A. Ao longo dos anos têm-se desenvolvido um sem número de programas de jogo de xadrez. Em 1957 Allen Newell e Herbert Simon chegaram mesmo a prever que num prazo de 10 anos um programa de computador venceria o campeão mundial de xadrez, mas essa previsão ainda demoraria 40 anos a efectivar-se.
Mas a investigação em xadrez impulsionou as técnicas para a resolução de problemas combinatórios e foi desenvolvendo as técnicas heurísticas em grandes espaços de conhecimento onde a procura precisa de ser guiada, avaliada e controlada.
Assim o xadrez foi desde cedo a bancada de trabalho para técnicas de procura, representação, planeamento, heurísticas, concepção de agentes inteligentes.

Fala

A compreensão e o reconhecimento da língua natural foi também desde cedo um dos desafios colocados à I.A. então jovem ciência, com a proposta da tradução automática (um dos primeiros objectivos da I.A. que fracassou redondamente).
Mesmo depois de 40 anos de evolução estamos ainda um pouco longe de conseguir que programas computacionais reconheçam e reproduzam a língua natural, isto apesar do recente sistema CYC que trabalha já com a manipulação de conceitos, este programa entende o significado das palavras e já não trabalha exclusivamente com caracteres verdadeiro e falso.
Esta área está intimamente ligada ao estudo da língua e dos sistemas de significação e permite uma abordagem sobre o conhecimento humano não-lógico (a maior parte dele) mas inexacto, incompleto e parcial, a qual se tornou um objectivo geral para a maior parte dos sistemas periciais e um dos núcleos de investigação piloto em I.A. a partir dos anos ’80.

Quinta Geração

Os computadores de 5ª Geração representam uma importante área de aplicações da I.A. Eles seriam já programados em PROLOG e ligariam a compreensão teórica das questões a processos de programação em lógica, à representação do conhecimento a técnicas de resolução dos problemas, articulando grandes bases de dados em paralelismo.
Assim essas grandes máquinas pensantes seriam capazes de articular teorias da decisão com métodos estatísticos e lógicos, com a filosofia a psicologia cognitiva e as ciências da gestão de conhecimentos. Isto seria então o reflexo da automatização do raciocínio (aproximado, probabilístico) assegurando a manutenção da verdade através de lógicas não monótonas.

Sinergias

As sinergias combinam a inteligência com as capacidades de memória. É, de certa forma a fusão tecnológica no sentido da optimização das pesquisas em informação.
Assim o próximo desafio encontra-se no domínio do desenvolvimento de estratégias apropriadas para representar a informação e de conseguir chegar a raciocínios sintéticos ao longo de diferentes bases de conhecimentos.
As interfaces de língua natural para bases de dados dotadas de regras de inferência gramatical, possuem heurísticas de discurso adaptadas a vários ambientes de programação.
Uma outra área em que os esforços se têm redobrado nos últimos anos é a da aprendizagem computacional, a possibilidade de os computadores aprenderem com os erros e de irem actualizando a sua própria informação agindo sobre a mesma, mas apesar dos contínuos progressos, nesta e noutras áreas ainda estamos loge do computador que tenha a perfeita modelização do homem e da sua inteligência, o que não implica que não continuemos a pesquisar.

ELIZA

Eliza foi o primeiro software para simulação de diálogos, os chamados "robôs de conversação".
Foi criado no MIT, em 1966 por Joseph Weizenbaum. Era um programa bem simples,
possuindo apenas 204 linhas de código fonte. Basicamente, usando técnicas de
Inteligência Artifical simulava um diálogo entre paciente e psicólogo utilizando
as frases do paciente para formular novas perguntas.

Friday, June 8, 2007

Inteligencia Artificial

A inteligência artificial (IA) é uma área de pesquisa da ciencia da computação dedicada a buscar métodos ou dispositivos computacionais que possuam ou simulem a capacidade humana de resolver problemas, pensar ou, de forma ampla, ser inteligente.

1º Post

Neste trabalho iremos falar dos pontos mais importantes da inteligencia artifical, como a sua linguagem, os pioneiros e as aplicações praticas