12
SISTEMAS ESPECIALISTAS Os sistemas especialistas são sistemas concebidos para reproduzir o comportamento de especialistas humanos na resolução de problemas do mundo real. Um SE processa conhecimento 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 ser dividido 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 novo conhecimento deve ser integrado ao conhecimento já disponível na base de conhecimento. A integração é realizada por meio de relações. Existem 2 tipos de relações: através de ponteiros ou 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á ciente como 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, Sistema PROSPECTOR: auxilia geologistas, SEmaça: diagnósticos de doenças que atacam macieiras. ---------------------------------------------------------------- -------------------------------------------------------------- SISTEMAS MULTIAGENTES Introdução: a inteligência artificial distribuída é o ramo que está relacionada a solução cooperativa de problemas dentro de um certo ambiente por intermédio de agentes distribuídos. A IAD se subdivide em: SDP(solução distribuída de problemas) com foco no problema; SMA (Sistema multiagentes) com foco no agente.

Resumo prova

Embed Size (px)

Citation preview

Page 1: Resumo prova

SISTEMAS ESPECIALISTAS

Os sistemas especialistas são sistemas concebidos para reproduzir o comportamento de especialistas humanos na resolução de problemas do mundo real. Um SE processa conhecimento 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 ser dividido 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 novo conhecimento deve ser integrado ao conhecimento já disponível na base de conhecimento. A integração é realizada por meio de relações. Existem 2 tipos de relações: através de ponteiros ou 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á ciente como 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, Sistema PROSPECTOR: auxilia geologistas, SEmaça: diagnósticos de doenças que atacam macieiras.

------------------------------------------------------------------------------------------------------------------------------

SISTEMAS MULTIAGENTES

Introdução: a inteligência artificial distribuída é o ramo que está relacionada a solução cooperativa de problemas dentro de um certo ambiente por intermédio de agentes distribuí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 o ambiente por meio de sensores e de agir sobre esse ambiente por intermédio de atuadores. O comportamento do agente é descrito pela função agente que mapeia dados da percepção para ações.

Page 2: Resumo prova

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 de independência para resolver um problema.(Receptividade, pró-atividade e sociabilidade).

Tipos de agentes: software ou hardware; estacionários ou móveis; persistentes ou temporários; reativos ou cognitivos.

Agentes reativos: escolhem suas ações baseados unicamente nas percepções que têm do ambiente. O objetivo é sobreviver;ação baseada em estímulo-resposta; não raciocinam sobre o mundo; não se planejam para futuras ações; baixa complexidade e estão em grande quantidade 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 futuras ações; média-alta complexidade e estão em pequena quantidade em um sistema. Age de forma “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 ou contínuo; agente único ou multiagentes.

Classificação do agente: Agente reativo, agente reativo baseado em modelos, agente baseado em 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 inicialmente desconhecidos e se tornar mais competente a medida que interage com o ambiente. É dividido em 4 componentes: elemento de aprendizado, elemento de desempenho, crítico e gerador de problemas.

Sistemas multiagentes: consiste de uma aplicação distribuída composta por um conjunto de agentes, que cooperam entre si para a solução de um problema complexo que está além das suas capacidades individuais. Competem entre si por recursos, tendo assim que lidar com conflitos e coordenar suas atividades. Não necessitam utilizar a mesma linguagem, o que por outro lado, implica na necessidade de traduções e mapeamentos.

Quando utilizar: é intrinsicamente distribuído; requer uma junção de diferentes domínios para a solução do problema; inclui diferentes níveis de autonomia, é dinâmico; é extremamente conflitante.

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ão agir 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 por meio de: papéis, comportamentos esperados e relações de autoridade. Pode ser classificada como: democrática (anárquica): sem organização e sem hierarquia;federada: possuem algum tipo de hierarquia, presença de um facilitador;hierárquica: um único agente detém toda a autoridade, 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(para realizar uma tarefa), custo de coordenação(tomadas de decisão e comunicação para coordenar as tarefas), custo de vulnerabilidade(causados com interrupções de execução por falhas nos agentes).

Page 3: Resumo prova

Alocação de tarefas: pode ser pelo método dinâmico(existe um gerente e um contratador) ou método planejado(considerar as restrições que as ações de outros agentes impõe sobre a ação de cada agente).

Conflitos: é a situação gerada de um agente quando, visando resolver seu problema, ele se defronta com a ausência de: objetivos compatíveis, recursos e habilidades. Para isso ele busca cooperação na forma de interação. Agentes trocam propostas e contrapropostas. Métodos para 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; modelagem cognitiva 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 de energia elétrica, robótica móvel, economia do mercado, etc.

Interação entre Agentes: é a capacidade de comunicar-se com outros agentes, usuários e sistemas, visando atingir seus objetivos.

Pode ser dividida em 4 camadas de complexidade: comunicação (camada básica de qualquer software que precisa interagir- sintaxe deve ser conhecida por todos), coordenação (define as regras de interação- semântica explicita), cooperação(estratégia de ação(partilha de informaçã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. É composta por 4 fases: decomposição, distribuição do problema, solução subproblemas e síntese dos resultados.

Uma cooperação permite que novos recursos, capacidades e oportunidades sejam criadas e aumentadas, 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(mais representativo), 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 de comportamentos, 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 diagrama de sequência para modelar as interações entre agentes.

Diagramas de Casos de Uso UML: capturam interações orientadas a objetivos entre os agentes com seus papéis especificados e o sistema.

Diagrama de Classes de Agente: descreve os tipos de agentes do sistema e seus relacionamentos estáticos.

------------------------------------------------------------------------------------------------------------------------------

Page 4: Resumo prova

REDES NEURAIS ARTIFICIAIS

Fases 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 da Inteligência Artificial - O Conexionismo. Procura imitar a arquitetura do cérebro e espera ver o comportamento 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 certo número fixo (>1) de entradas devem ser excitadas dentro de um período de adição latente para excitar um neurônio; O único atraso significativo é o atraso sináptico; A atividade de qualquer sinapse inibitória previne absolutamente a excitação do neurônio; A estrutura das interconexõ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, e repetidamente ou persistetemente toma parte do disparo de B, então, ocorre um certo processo de crescimento ou mudança metabólica em uma das 2 células, de forma que a eficiê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ógicas contém um grande número aleatório de elementos”. No início, o Perceptron não é capaz de distinguir padrões e portanto ele é genérico. Pode ser treinado. Com o tempo foi-se notando que a capacidade de separabilidade era dependente de “certas condições de contorno” dos padrões de entrada.

O PERCEPTRON : Minsky e Papert (1969): CONCLUSÃO: O PERCEPTRON É CAPAZ DE DISTINGUIR APENAS PADRÕES LINEARMENTE SEPARÁVEIS!!! Isto causou um “trauma” na comunidade científica e levou ao corte de verbas para as pesquisas em Redes Neurais Artificiais. “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 o perceptron de Rosenblatt: ele lançou as bases do algoritmo de retro-propagação ("backpropagation"), que permitiu que redes neurais com múltiplas camadas apresentassem capacidade de aprendizado. Em 1982, David Parker desenvolveu um método similar, de forma aparentemente independente. Contudo, a potencialidade deste método tardou a ser reconhecida.

Os primeiros resultados da retomada do desenvolvimento sobre redes neurais foram publicados em 1986 e 1987, através dos trabalhos do grupo PDP (Parallel and Distributed Processing), 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ção formal para a representação de um neurônio artificial é possível descrever o funcionamento de diversos modelos de neurônios, bastando particularizar os parâmetros que definem o sistema.

Page 5: Resumo prova

Particular atenção será dada à escolha da função de transição de estados f e na função de saí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, entradas externas, um bias ou qualquer combinação destes elementos.

A Combinação das Entradas - O “Net”: O somatório de todas estas entradas, multiplicadas por suas respectivas forças de conexão sináptica (os pesos), dá origem ao chamado "net" de um neurônio. Após a determinação do net i, o valor da ativação do neurônio é atualizado através da função de ativação e finalmente, o valor de saída do neurônio é produzido através da funçã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 de processamento (neurônios), cujo funcionamento é bastante simples. Essas unidades, geralmente são conectadas por canais de comunicação que estão associados a determinado peso. As unidades fazem operações apenas sobre seus dados locais, que são entradas recebidas pelas suas conexões. O comportamento inteligente de uma Rede Neural Artificial vem das interações entre as unidades de processamento da rede.

Características Gerais das RNAs: São modelos adaptativos treináveis; Podem representar domínios complexos (não lineares); São capazes de generalização diante de informação incompleta; Robustos; São capazes de fazer armazenamento associativo de informações; Processam informações Espaço/temporais; Possuem grande paralelismo, o que lhe conferem rapidez 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; Camadas Intermediárias ou Ocultas; Camada de Saída.

A rede neural de Hopfield apresenta comportamento dinâmico e fluxo de dados multidirecional devido à integração total dos neurônios, desaparecendo assim a idéia de camadas bem distintas.

Treinamento: A propriedade mais importante das redes neurais é a habilidade de aprender de seu ambiente e com isso melhorar seu desempenho. Isso é feito através de um processo iterativo de ajustes aplicado a seus pesos, o treinamento.

Os principais modelos (paradigmas) de aprendizagem são:

Page 6: Resumo prova

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 de aprendizagem, pode-se utilizar a regra de aprendizagem competitiva;

3) com reforço: Pode ser visto como caso particular de aprendizagem supervisionada, a diferenç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 de mapeamento não-linear da rede. No entanto, quando esse número for muito grande, o modelo 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 de realizar o mapeamento desejado, o que é denominado de underfitting. O underfitting também pode ser causado quando o treinamento é interrompido de forma prematura.

A eficiência do aprendizado em redes multicamadas depende da: especificação de arquitetura da rede; função de ativação; regra de aprendizagem e valores iniciais dos vetores de pesos e bias.

Algoritmo de aprendizagem – backpropagation: Regra de aprendizagem baseada na correção do 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 de dois passos:

• Primeiro, um padrão é apresentado à camada de entrada da rede. A atividade resultante flui atravé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. Se esta não estiver correta, o erro é calculado. O erro é propagado a partir da camada de saída até a camada de entrada, e os pesos das conexões das unidades das camadas internas vão sendo modificados conforme o erro é retropropagado.

Desvantagens do algoritmo de aprendizagem backpropagation: Normalmente o tempo de processamento é elevado; A arquitetura da rede deve ser fixada a priori.

Cada apresentação de todo o conjunto de treinamento é denominada época. O processo de aprendizagem é 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 é feita imediatamente após a apresentação de cada amostra de treinamento)e por lote(a atualização só é 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.

------------------------------------------------------------------------------------------------------------------------------

Page 7: Resumo prova

ALGORITMOS GENÉTICOS (COMPUTAÇÃO EVOLUCIONÁRIA)

Introdução: Método fraco de resolução de problemas baseado na evolução natural das espé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ão submetidos a um processo de evolução.Inspirada nos processos subjacentes à evolução: Moldar uma população de indivíduos através da sobrevivência de seus membros mais ajustados. Pressões seletivas não surgem apenas do ambiente externo, mas também de interações entre membros de uma população.Tipos de Algoritmos Evolutivos: Algoritmos genéticos; Sistemas classificadores; Estratégias evolutivas; 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 arte

AGs operam numa população (conjunto) de pontos. Operam num espaço de soluções codificadas. Necessitam somente de informação sobre o valor de uma função objetivo para cada membro da população. Usam transições probabilísticas.

Representação Cromossômica: Cada seqüência s corresponde a um cromossomo. Cada elemento de s é equivalente a um gene.

Na maior parte dos AGs assume-se que cada indivíduo seja constituído de um único cromossomo.

Para cada problema, encontrar uma representação cromossômica conveniente é sempre o primeiro 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 ou seqüê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 de

fitness(adequabilidade). Quanto maior o fitness, maiores são as chances do indivíduo

sobreviver e se reproduzir.

Seleção: Emula os processos de reprodução assexuada e seleção natural. Gera-se uma

população temporária de N indivíduos extraídos com probabilidade proporcional ao fitness

relativo de cada indivíduo na população. Neste processo, indivíduos com baixo fitness terão

alta probabilidade de desaparecerem da população (serem extintos).

Page 8: Resumo prova

Exemplo: Seleção dos pais: A seleção dos pais é realizada usando-se uma roleta com tamanhos 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, o ideal seria que o algoritmo terminasse assim que o ponto ótimo fosse descoberto. Pode haver situaçõ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 de processamento para parar um AG. Outro critério usa a idéia de estagnação, ou, seja, para-se o algoritmo 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. Na forma mais simples, é um processo aleatório que ocorre com probabilidade fixa prec que deve ser especificada pelo usuário. O ponto de divisão pode ser ajustado aleatoriamente ou mudado durante o processo de solução.

Mutação: O processo de mutação é equivalente à busca aleatória. Seleciona-se uma posição num cromossomo e muda-se o valor do gene correspondente aleatoriamente para um outro alelo possível. O processo é geralmente controlado por um parâmetro fixo pmut que indica a probabilidade 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 partir de especificações de comportamento, o computador deve ser capaz de evoluir um programa que as satisfaça.

Representação genotípica: Estrutura em árvore: Conjunto de funções {F} e Conjunto de terminais {T}.

Robótica Evolutiva: Surgiu da utilização de técnicas de computação evolutiva para sintetizar automaticamente controladores para robôs. Na RE o comportamento global é constantemente avaliado e modificado por um processo de avaliação automático. A RE pode ser descrita como um processo de evolução e adaptação contínuas de um robô situado em um determinado ambiente.

Principais questões abordadas pela RE: Sintetizar automaticamente comportamentos mais complexos do que aqueles que podem ser produzidos manualmente; Explorar amplamente as características do ambiente e dos indivíduos; Produzir o comportamento esperado espeficicando-se o que o robô deve fazer e não como ele deve operar; Mostrar que técnicas evolutivas podem reduzir o esforço humano necessário para produzir um sistema de controle em 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