Resumo prova

603 views

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
603
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
14
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Resumo prova

  1. 1. SISTEMAS ESPECIALISTASOs sistemas especialistas são sistemas concebidos para reproduzir o comportamento deespecialistas humanos na resolução de problemas do mundo real. Um SE processaconhecimento e não processa dados.Características: possuem conhecimento especializado em alta qualidade e quantidade;incluem tratamento de incerteza, podem adquirir novos conhecimentos.Um SE pode serdividido em 2 partes: Ferramenta de programação e conhecimento do domínio.Tipos de SE: Diagnose, interpretação, predição, instrução, planejamento, monitoramento,controle, projeto.Arquitetura de um SE: interface gráfica, base de conhecimento, motor de inferência,dadosespecíficos do caso, subsistema de explanação, editor da base de conhecimento.Aquisição de Conhecimento:parte mais sensível no desenvolvimento de um SE, um novoconhecimento deve ser integrado ao conhecimento já disponível na base de conhecimento. Aintegração é realizada por meio de relações. Existem 2 tipos de relações: através de ponteirosou reunir os elementos em grupos.Especialista: detentor do conhecimento especializado.Engenheiro de conhecimento: responsável pela construção do SE.Programador: responsável pelo desenvolvimento (programação) do SE.Problemas na fase de aquisição de conhecimento: muitas vezes o especialista não está cientecomo se usa o conhecimentoou tem dificuldades em se expressar, uso de vocabulário próprio.Soluções intuitivas sem regras rígidas.Ferramentas para desenvolver SE: CLIPS, Expert Sinta, JESS, Prolog, KADS.Exemplos:Sistema DENDRAL: estrutura molecular, Sistema MYCIN: auxilia médicos, SistemaPROSPECTOR: auxilia geologistas, SEmaça: diagnósticos de doenças que atacam macieiras.------------------------------------------------------------------------------------------------------------------------------ SISTEMAS MULTIAGENTESIntrodução: a inteligência artificial distribuída é o ramo que está relacionada a soluçãocooperativa de problemas dentro de um certo ambiente por intermédio de agentesdistribuídos.A IAD se subdivide em: SDP(solução distribuída de problemas) com foco no problema; SMA(Sistema multiagentes) com foco no agente.Agentes Inteligentes: um agente pode ser definido como uma entidade capaz de perceber oambiente por meio de sensores e de agir sobre esse ambiente por intermédio de atuadores. Ocomportamento do agente é descrito pela função agente que mapeia dados da percepção paraações.
  2. 2. Um agente deve possuir:um certo grau de autonomia para raciocinar e tomar decisões;capacidade de interagir com outros agentes, sistemas ou humanos; um certo grau deindependência para resolver um problema.(Receptividade, pró-atividade e sociabilidade).Tipos de agentes: software ou hardware; estacionários ou móveis; persistentes outemporários; reativos ou cognitivos.Agentes reativos: escolhem suas ações baseados unicamente nas percepções que têm doambiente. O objetivo é sobreviver;ação baseada em estímulo-resposta; não raciocinam sobre omundo; não se planejam para futuras ações; baixa complexidade e estão em grandequantidade em um sistema.Agentes cognitivos:possuem um estado mental e funcionam racionalmente. O objetivo écooperar; ação baseada em intenções; raciocinam sobre o mundo; se planejam para futurasações; média-alta complexidade e estão em pequena quantidade em um sistema. Age deforma “correta” no ambiente.Classificação do Ambiente: completamente observável ou parcialmente observável;determinístico ou estocástico; episódio ou sequencial; estático ou dinâmico; discreto oucontínuo; agente único ou multiagentes.Classificação do agente: Agente reativo, agente reativo baseado em modelos, agente baseadoem objetivos; agente baseado na utilidade.Propriedades dos Agentes: (semi-autonomo), cooperante, benévolo, responsável, racional,honesto, deliberativo, auto-supervisor.Agente com aprendizagem:permite ao agente operar em ambientes inicialmentedesconhecidos e se tornar mais competente a medida que interage com o ambiente. É divididoem 4 componentes: elemento de aprendizado, elemento de desempenho, crítico e gerador deproblemas.Sistemas multiagentes: consiste de uma aplicação distribuída composta por um conjunto deagentes, que cooperam entre si para a solução de um problema complexo que está além dassuas capacidades individuais. Competem entre si por recursos, tendo assim que lidar comconflitos e coordenar suas atividades. Não necessitam utilizar a mesma linguagem, o que poroutro lado, implica na necessidade de traduções e mapeamentos.Quando utilizar: é intrinsicamente distribuído; requer uma junção de diferentes domínios paraa solução do problema; inclui diferentes níveis de autonomia, é dinâmico; é extremamenteconflitante.Aplicações: time de futebol (SMA cognitivo cooperativo), formigueiro (SMA Reativo).Problemas dos SMA: como descrever e alocar as entidades de um problema entre os agentes?Como habilitar os agentes para se comunicar e interagir? Como garantir que os agentes vãoagir de forma coerente? Como gerenciar a limitação de recursos de cada agente?Organizações de SMA: as organizações oferecem frameworks para a interação de agentes pormeio de: papéis, comportamentos esperados e relações de autoridade. Pode ser classificadacomo: democrática (anárquica): sem organização e sem hierarquia;federada: possuem algumtipo de hierarquia, presença de um facilitador;hierárquica: um único agente detém toda aautoridade, a comunicação ocorre verticalmente e pode ser subdividida em: por produto,centralizada, descentralizada, funcional.Critérios de avaliação de desempenho da organização hierárquica: custos de produção(pararealizar uma tarefa), custo de coordenação(tomadas de decisão e comunicação para coordenaras tarefas), custo de vulnerabilidade(causados com interrupções de execução por falhas nosagentes).
  3. 3. Alocação de tarefas: pode ser pelo método dinâmico(existe um gerente e um contratador) oumétodo planejado(considerar as restrições que as ações de outros agentes impõe sobre a açãode cada agente).Conflitos: é a situação gerada de um agente quando, visando resolver seu problema, ele sedefronta com a ausência de: objetivos compatíveis, recursos e habilidades. Para isso ele buscacooperação na forma de interação. Agentes trocam propostas e contrapropostas. Métodospara resolução:Negociação, abstração e generalização, mediação, argumentação, votação, etc.Classes de coordenação de negociação: negociação em controle de tráfego aéreo; modelagemcognitiva da negociação; rede de contrato (RdC-Contrat-Net); negociação multi-estágio(extensão da RdC).Áreas de aplicação da negociação: engenharia concorrente, telecomunicações, distribuição deenergia elétrica, robótica móvel, economia do mercado, etc.Interação entre Agentes: é a capacidade de comunicar-se com outros agentes, usuários esistemas, visando atingir seus objetivos.Pode ser dividida em 4 camadas de complexidade: comunicação (camada básica de qualquersoftware que precisa interagir- sintaxe deve ser conhecida por todos), coordenação (define asregras de interação- semântica explicita), cooperação(estratégia de ação(partilha deinformação e de tarefas)) e colaboração (camada mais refinada- interação de longo prazo).Resolução Cooperativa Distribuída de Problemas: Dividir para conquistar, um problema édividido em subproblemas e cada um é executado separadamente por um agente. É compostapor 4 fases: decomposição, distribuição do problema, solução subproblemas e síntese dosresultados.Uma cooperação permite que novos recursos, capacidades e oportunidades sejam criadas eaumentadas, contrariamente ao que aconteceria se caso não houvesse.Tipos de cooperação: partilha de informação (agente dispõe informações que julgam seremúteis partilhar e os envia aos outros agentes); partilha de tarefas (qd um agente detecta sub-tarefas que não quer ou não é capaz de realizar, ex. balanceamento de carga).A comunicação: é utilizada dois níveis para a comunicação inter-agente: camada de transporte(TCP/IP, CORBA, DCOM) e a camada de aplicação(alto nível: 1º contract-net, KQML(maisrepresentativo), KIF (linguagem padrão), protocolos proprietários(holos)).Ambientes de Desenvolvimento de SMA: AgentBuilder, ABE, AgentTalk, Aglets, LiveAgent,Microsoft Agents, etc..Modelagem de um SMA: deve considerar vários aspectos: tipo de classe do problema, tipos decomportamentos, níveis de autonomia, os protocolos de comunicação, definição da topologia,representação do conhecimento, plataforma de implementação.AUML - AGENT UML: modificações propostas na UML padrão, 1º passo foi estender diagramade sequência para modelar as interações entre agentes.Diagramas de Casos de Uso UML: capturam interações orientadas a objetivos entre os agentescom seus papéis especificados e o sistema.Diagrama de Classes de Agente: descreve os tipos de agentes do sistema e seusrelacionamentos estáticos.------------------------------------------------------------------------------------------------------------------------------
  4. 4. REDES NEURAIS ARTIFICIAISFases Históricas Época pré-histórica(até 1875): criar seres e mecanismos apresentando comportamento inteligente; Época Antiga (1875-1943): Entender a Inteligência Humana; Época Romântica (1943-1956): Simular a Inteligência Humana; Época Barroca (1956-1969): Expandir ao Máximo as aplicações da IA; Época das Trevas (1969-1981): Encontrar para a IA aplicações práticas; Renascimento (1981-1987): Renascimento da IA Simbólica e Conexionista; Época Contemporânea (1987-...): Alargamento das aplicações das Redes Neurais Artificiais.As Redes Neurais Artificiais se inspiram nas redes biológicas e formam um dos paradigmas daInteligência Artificial - O Conexionismo. Procura imitar a arquitetura do cérebro e espera ver ocomportamento inteligente emergir.O Modelo de McCulloch & Pitts (1943): O Cérebro como um Sistema Computacional.5 Suposições Básicas: A atividade de um neurônio é um processo tudo ou nada; Um certonúmero fixo (>1) de entradas devem ser excitadas dentro de um período de adição latentepara excitar um neurônio; O único atraso significativo é o atraso sináptico; A atividade dequalquer sinapse inibitória previne absolutamente a excitação do neurônio; A estrutura dasinterconexões não muda com o tempo.O Aprendizado de Hebb (1949): Base para todas as outras regras de aprendizado.“Quando um axônio de um neurônio A está próximo o suficiente para excitar um neurônio B, erepetidamente ou persistetemente toma parte do disparo de B, então, ocorre um certoprocesso de crescimento ou mudança metabólica em uma das 2 células, de forma que aeficiência de A em contribuir para o disparo de B é aumentado (“força do contato sináptico).”O PERCEPTRON : Frank Rosenblatt (1958): “A conectividade desenvolvida nas redes biológicascontém um grande número aleatório de elementos”. No início, o Perceptron não é capaz dedistinguir padrões e portanto ele é genérico. Pode ser treinado. Com o tempo foi-se notandoque a capacidade de separabilidade era dependente de “certas condições de contorno” dospadrões de entrada.O PERCEPTRON : Minsky e Papert (1969): CONCLUSÃO: O PERCEPTRON É CAPAZ DEDISTINGUIR APENAS PADRÕES LINEARMENTE SEPARÁVEIS!!! Isto causou um “trauma” nacomunidade científica e levou ao corte de verbas para as pesquisas em Redes NeuraisArtificiais. “Se colocarmos mais uma camada de neurônios podemos resolver esta limitação.Mas como achar os pesos?” Na época não se sabia como.Em 1974, Paul Werbos conseguiu o maior progresso em termos de redes neurais desde operceptron de Rosenblatt: ele lançou as bases do algoritmo de retro-propagação("backpropagation"), que permitiu que redes neurais com múltiplas camadas apresentassemcapacidade de aprendizado. Em 1982, David Parker desenvolveu um método similar, de formaaparentemente independente. Contudo, a potencialidade deste método tardou a serreconhecida.Os primeiros resultados da retomada do desenvolvimento sobre redes neurais forampublicados em 1986 e 1987, através dos trabalhos do grupo PDP (Parallel and DistributedProcessing), onde ficou consagrada a técnica de treinamento por backpropagation.Definições de Sistemas Dinâmicos Aplicados ao Neurônio Artificial: A partir da definiçãoformal para a representação de um neurônio artificial é possível descrever o funcionamento de
  5. 5. diversos modelos de neurônios, bastando particularizar os parâmetros que definem o sistema.Particular atenção será dada à escolha da função de transição de estados f e na função desaída l e na maneira de combinar os valores de entrada dos neurônios.As Entradas: As entradas de um neurônio podem ser as saídas de outros neurônios, entradasexternas, um bias ou qualquer combinação destes elementos.A Combinação das Entradas - O “Net”: O somatório de todas estas entradas, multiplicadas porsuas respectivas forças de conexão sináptica (os pesos), dá origem ao chamado "net" de umneurônio. Após a determinação do net i, o valor da ativação do neurônio é atualizado atravésda função de ativação e finalmente, o valor de saída do neurônio é produzido através dafunção de saída (lambda).A Função de Ativação Os estados futuros de um neurônio são afetados pelo estado atual do neurônio e pelo valor do net de entrada. Este tipo de neurônio, que possui "memória" é conhecido como "neurônio dinâmico". Por outro lado, se considerarmos a função como constante, teremos neurônios que não possuem "memória", ou seja, o estado atual é igual aos estados anteriores e portanto o neurônio é conhecido como "neurônio estático”.Arquitetura das RNAs: Uma rede neural artificial é composta por várias unidades deprocessamento (neurônios), cujo funcionamento é bastante simples. Essas unidades,geralmente são conectadas por canais de comunicação que estão associados a determinadopeso. As unidades fazem operações apenas sobre seus dados locais, que são entradasrecebidas pelas suas conexões. O comportamento inteligente de uma Rede Neural Artificialvem das interações entre as unidades de processamento da rede.Características Gerais das RNAs: São modelos adaptativos treináveis; Podem representardomínios complexos (não lineares); São capazes de generalização diante de informaçãoincompleta; Robustos; São capazes de fazer armazenamento associativo de informações;Processam informações Espaço/temporais; Possuem grande paralelismo, o que lhe conferemrapidez de processamento.Existem basicamente 3 tipos básicos de arquitetura de RNAs: Feedforward de uma única camada: Os neurônios da camada de entrada correspondem aos neurônios sensoriais que possibilitam a entrada de sinais na neurônio sensorial neurônio de processamento o rede (não fazem processamento). Os neurônios da camada de saída fazem processamento. Feedforward de múltiplas camadas: Essas redes tem uma ou mais camadas intermediárias ou escondidas. Redes recorrentes: Essas redes possuem pelo menos uma interconexão realimentando a saída de neurônios para outros neurônios da rede (conexão cíclica).Usualmente as camadas são classificadas em três grupos: Camada de Entrada; CamadasIntermediárias ou Ocultas; Camada de Saída.A rede neural de Hopfield apresenta comportamento dinâmico e fluxo de dadosmultidirecional devido à integração total dos neurônios, desaparecendo assim a idéia decamadas bem distintas.Treinamento: A propriedade mais importante das redes neurais é a habilidade de aprender deseu ambiente e com isso melhorar seu desempenho. Isso é feito através de um processoiterativo de ajustes aplicado a seus pesos, o treinamento.Os principais modelos (paradigmas) de aprendizagem são:
  6. 6. 1) supervisionado: Também conhecida com aprendizagem com professor, o treinamento éfeito usando a regra de aprendizagem por correção de erro.;2) não-supervisionado: Neste caso não há um professor para supervisionar o processo deaprendizagem, pode-se utilizar a regra de aprendizagem competitiva;3) com reforço: Pode ser visto como caso particular de aprendizagem supervisionada, adiferença é a medida de desempenho usada em cada um deles.Aumentando-se o número de neurônios na camada escondida aumenta-se a capacidade demapeamento não-linear da rede. No entanto, quando esse número for muito grande, omodelo pode se sobre-ajustar aos dados, na presença de ruído nas amostras de treinamento.Diz-se que a rede está sujeito ao sobre-treinamento (overfitting).Por outro lado, uma rede com poucos neurônios na camada escondida pode não ser capaz derealizar o mapeamento desejado, o que é denominado de underfitting. O underfitting tambémpode ser causado quando o treinamento é interrompido de forma prematura.A eficiência do aprendizado em redes multicamadas depende da: especificação de arquiteturada rede; função de ativação; regra de aprendizagem e valores iniciais dos vetores de pesos ebias.Algoritmo de aprendizagem – backpropagation: Regra de aprendizagem baseada na correçãodo erro pelo método do Gradiente. O algoritmo de aprendizagem é composto de duas fases:Cálculo do erro (forward), Correção dos pesos sinápticos (backward).Durante o treinamento com o algoritmo backpropagation, a rede opera em uma sequência dedois passos:• Primeiro, um padrão é apresentado à camada de entrada da rede. A atividade resultante fluiatravés da rede, camada por camada, até que a resposta seja produzida pela camada de saída.• Segundo passo, a saída obtida é comparada à saída desejada para esse padrão particular. Seesta não estiver correta, o erro é calculado. O erro é propagado a partir da camada de saídaaté a camada de entrada, e os pesos das conexões das unidades das camadas internas vãosendo modificados conforme o erro é retropropagado.Desvantagens do algoritmo de aprendizagem backpropagation: Normalmente o tempo deprocessamento é elevado; A arquitetura da rede deve ser fixada a priori.Cada apresentação de todo o conjunto de treinamento é denominada época. O processo deaprendizagem é repetido época após época, até que um critério de parada seja satisfeito.Atualização dos pesos pode ser de duas maneiras básicas: local (a atualização é feitaimediatamente após a apresentação de cada amostra de treinamento)e por lote(a atualizaçãosó é feita após a apresentação de todas as amostras de treinamento que constituem umaépoca).As aplicações de redes neurais artificiais podem ser divididas em: Reconhecimento de padrões e Classificação; Agrupamento ou categorização (clustering); Aproximação de funções e modelagem; Previsão; Otimização; Controle.------------------------------------------------------------------------------------------------------------------------------
  7. 7. ALGORITMOS GENÉTICOS (COMPUTAÇÃO EVOLUCIONÁRIA)Introdução: Método fraco de resolução de problemas baseado na evolução natural dasespécies. Implementam mecanismos de evolução natural incluindo cruzamento, mutação eaptidão para sobrevivência. Trabalha com populações de indivíduos. Os indivíduos sãosubmetidos a um processo de evolução.Inspirada nos processos subjacentes à evolução: Moldar uma população de indivíduos atravésda sobrevivência de seus membros mais ajustados. Pressões seletivas não surgem apenas doambiente externo, mas também de interações entre membros de uma população.Tipos de Algoritmos Evolutivos: Algoritmos genéticos; Sistemas classificadores; Estratégiasevolutivas; Programação genética, e Programação evolutiva.Os algoritmos genéticos produzem soluções para problemas com capacidade crescente,operando sobre populações de soluções candidatas para o problema.Componentes de um AG: Um problema a resolver, e ... Técnica de codificação: gene, cromossomo Procedimento de Inicialização: genesis Função de Avaliação: meio ambiente Seleção de pais: reprodução Operadores Genéticos: Mutação e recombinação Ajuste de Parâmetros: prática e arteAGs operam numa população (conjunto) de pontos. Operam num espaço de soluçõescodificadas. Necessitam somente de informação sobre o valor de uma função objetivo paracada membro da população. Usam transições probabilísticas.Representação Cromossômica: Cada seqüência s corresponde a um cromossomo. Cadaelemento de s é equivalente a um gene.Na maior parte dos AGs assume-se que cada indivíduo seja constituído de um únicocromossomo.Para cada problema, encontrar uma representação cromossômica conveniente é sempre oprimeiro passo. Usa-se um vetor binário para representar cada ponto no espaço de busca.Como há um número infinito de pontos no intervalo de interesse, a dimensão deste vetor ouseqüência binária depende da precisão requerida para o problema.Fluxo básico:Inicializar a população: é gerada aleatoriamente ou através de algum processo heurístico;Avaliação e Adequabilidade: A avaliação de cada indivíduo resulta num valor denominado defitness(adequabilidade). Quanto maior o fitness, maiores são as chances do indivíduosobreviver e se reproduzir.Seleção: Emula os processos de reprodução assexuada e seleção natural. Gera-se umapopulação temporária de N indivíduos extraídos com probabilidade proporcional ao fitnessrelativo de cada indivíduo na população. Neste processo, indivíduos com baixo fitness terãoalta probabilidade de desaparecerem da população (serem extintos).
  8. 8. Exemplo: Seleção dos pais: A seleção dos pais é realizada usando-se uma roleta comtamanhos de setores de acordo com os valores obtidos na avaliação dos cromossomos.Condições de Término: Como normalmente estamos tratando de problemas de otimização, oideal seria que o algoritmo terminasse assim que o ponto ótimo fosse descoberto. Pode haversituações onde todos ou o maior número possível de pontos ótimos sejam desejados.Normalmente usa-se o critério de número máximo de gerações ou um tempo limite deprocessamento para parar um AG. Outro critério usa a idéia de estagnação, ou, seja, para-se oalgoritmo quando não se observa melhoria da população depois de várias gerações.Operadores Genéticos:Recombinação (crossover): É um processo sexuado - ou seja, envolve mais de um indivíduo.Emula o fenômeno de “crossover”, a troca de fragmentos entre pares de cromossomos. Naforma mais simples, é um processo aleatório que ocorre com probabilidade fixa prec que deveser especificada pelo usuário. O ponto de divisão pode ser ajustado aleatoriamente oumudado durante o processo de solução.Mutação: O processo de mutação é equivalente à busca aleatória. Seleciona-se uma posiçãonum cromossomo e muda-se o valor do gene correspondente aleatoriamente para um outroalelo possível. O processo é geralmente controlado por um parâmetro fixo pmut que indica aprobabilidade de um gene sofrer mutação.Programação Genética: Técnica para geração automática de programas de computador.Criada por John Koza em 1992. Objetivo: Ensinar computadores a se programar, isto é, a partirde especificações de comportamento, o computador deve ser capaz de evoluir um programaque as satisfaça.Representação genotípica: Estrutura em árvore: Conjunto de funções {F} e Conjunto determinais {T}.Robótica Evolutiva: Surgiu da utilização de técnicas de computação evolutiva para sintetizarautomaticamente controladores para robôs. Na RE o comportamento global é constantementeavaliado e modificado por um processo de avaliação automático. A RE pode ser descrita comoum processo de evolução e adaptação contínuas de um robô situado em um determinadoambiente.Principais questões abordadas pela RE: Sintetizar automaticamente comportamentos maiscomplexos do que aqueles que podem ser produzidos manualmente; Explorar amplamente ascaracterísticas do ambiente e dos indivíduos; Produzir o comportamento esperadoespeficicando-se o que o robô deve fazer e não como ele deve operar; Mostrar que técnicasevolutivas podem reduzir o esforço humano necessário para produzir um sistema de controleem comparação com métodos manuais de projeto.Abordagens: Evolução em simulação com testes em robôs reais. Evolução em robôs reais.Evolução embarcada

×