Algoritmos Genéticos

Tamanho: px
Começar a partir da página:

Download "Algoritmos Genéticos"

Transcrição

1 Módulo Resolvedor de Autômatos Finitos Para um Ambiente de Apoio ao Ensino de Teoria da Computação Utilizando Algoritmos Genéticos Rafael Welter 1, Adriana Postal 2, Josué Pereira de Castro 2 1 UNIPAN - União Pan-Americana de Ensino Centro de Processamento de Dados Av. Brasil, Centro. CEP Cascavel, PR. rafaelwelter@hotmail.com 2 UNIOESTE - Universidade Estadual do Oeste do Paraná Laboratório de Computação Teórica e Laboratório de Inteligência Artificial Rua Universitária, Jardim Universitário. Caixa Postal CEP Cascavel, PR apostal@unioeste.br, jpcastro@das.ufsc.br Abstract. This article describes a simulator/solver module for Finite Automatas (FAs) using Genetic Algorithms (GAs) that will be part of the Support Environment to Education Theory of the Computation - LabTeC, that has as objective to help the students in the comprehension of the automatas, making them elaborate and test them with the aid of the described tool. Resumo. Este artigo descreve um módulo simulador/resolvedor para Autˆomatos Finitos (AFs) utilizando Algoritmos Genéticos (AGs) que fará parte do Ambiente de Apoio ao Ensino de Teoria da Computação - LabTeC, que tem como objetivo auxiliar os alunos na compreensão dos autˆomatos fazendo com que eles possam elaborá-los e testá-los com a ajuda da ferramenta descrita neste artigo. 1. Introdução Um Autômato Finito (AF) é um dispositivo reconhecedor de linguagens. Ele é um modelo computacional restrito com memória limitada e que recebe, como entrada, uma cadeia de caracteres e indica se a cadeia de entrada é aceita ou não. Entretanto, AFs são modelos matemáticos por natureza. Esta característica, aliada à falta de maturidade matemática dos estudantes, faz com que os autômatos sejam de difícil compreensão e elaboração por parte dos alunos de Teoria da Computação. O presente trabalho [Welter, 2004] descreve um módulo simulador/resolvedor de AFs, que fará parte do Ambiente de Apoio ao Ensino de Teoria da Computação (LabTeC) que tem como objetivo auxiliar os alunos na compreensão dos autômatos fazendo com que eles possam elaborá-los e testá-los com a ajuda da ferramenta descrita neste artigo. Esta ferramenta irá propor problemas para o aluno que, por sua vez, poderá resolver os problemas e testá-los; ou então, solicitar uma ou mais soluções elaboradas pela própria ferramenta, solução que será encontrada utilizando a técnica de Algoritmos Genéticos (AGs). Os Algoritmos Genéticos vêm, cada vez mais, sendo utilizados em diversas áreas da ciência e engenharia. Foram introduzidos por John Holland ([Holland, 1975] apud

2 [Koza, 1992]) em 1975 com inspiração na teoria da evolução das espécies de Charles Darwin (1859). De acordo com a teoria, os indivíduos mais adaptados ao ambiente em que vivem possuem mais chances de sobreviver e propagar-se por outras gerações. AGs têm como principal característica apresentar, não apenas uma solução para o problema, mas um conjunto de soluções, além de não necessitarem de informações adicionais e sim, apenas informações de custo embutidas no próprio algoritmo. Um trabalho semelhante ao aqui realizado foi proposto por Anja Belz [Belz, 2000] [Belz, 1998a] [Belz, 1998b], que utilizou um modelo de AG para geração de máquinas de estado finito aplicados a modelos fonológicos das línguas russa, alemã, inglesa e holandesa; bem como em modelos grafológicos alemães, ingleses e holandeses para uso na identificação de linguagens escritas automaticamente. Outros trabalhos utilizam técnicas semelhantes: Fogel [Fogel, 2000] utiliza computação evolucionária aplicada a autômatos com saída, Lankhorst [Lankhorst, 1995] usa um AG para indução de autômatos de pilha não-determinísticos, Koza [Koza, 1992] utiliza programação genética e autômatos para o problema da formiga artificial (Artifical Ant) e Horihan e Lu [Horihan and Lu, 2004] aplicam a inferência genética na redução do número de gerações necessárias para uma máquina de estado finito. O presente artigo está estruturado da seguinte maneira: na seção 2, descreveremos brevemente o módulo simulador; na seção 3 descreveremos o módulo genético, a representação cromossômica utilizada, a função de avaliação, os operadores de seleção, cruzamento e mutação implementados e os parâmetros genéticos utilizados. Na seção 4, descreveremos de forma breve a interface do simulador/resolvedor; na seção 5, nossas conclusões e os trabalhos futuros e, por fim, as referências bibliográfias utilizadas. 2. Módulo Simulador O simulador de AF, adaptado de De Castro [de Castro, 2000], foi desenvolvido em linguagem de programação lógica (Prolog) e resolve AFDs e apenas AFNs tradicionais (com transições, a partir de um mesmo símbolo de entrada, para mais de um estado de destino). Portanto, não resolve os AFNs com transições vazias (transições λ) e os AFNs com transições sobre strings (transições do tipo (q 0, abc, q 1 )). Seu funcionamento é bastante simples. Através de uma interface construída em Object Pascal, o problema, o alfabeto e as strings para testes são carregados à partir de um arquivo texto. O aluno, então, constrói sua solução e, ao fazer a simulação, todas as informações relevantes são processadas e transformadas em cláusulas 1 e, o motor de inferência do Prolog realiza a simulação e os resultados são repassados para o aluno. 3. Módulo Genético O módulo que resolverá os AFs utilizando AG foi implementado em Object Pascal e faz o interfaceamento com a linguagem Prolog utilizando o simulador para obter a avaliação de cada indivíduo gerado. Nos próximos tópicos detalharemos melhor cada parte do AG e descreveremos os testes realizados Representação Cromossômica Cada indivíduo da população (autômato) é representado cromossomicamente por um vetor unidimensional, onde cada posição do vetor pode assumir valor 0 ou 1 (codificação binária). 1 Cláusulas são os elementos funcionais básicos de um programa em Prolog.

3 No modelo elaborado para este trabalho, o cromossomo armazena as transições dos autômatos de forma sequencial. Cada transição é representada da seguinte maneira: estado de saída, símbolo lido e estado de chegada. Os estados utilizam cinco bits do cromossomo, sendo que o bit mais à esquerda indica se o estado é final e os outros quatro bits indicam o número do estado. Oito bits são reservados para indicar um índice para uma tabela onde os símbolos do alfabeto estão contidos, e assim podendo ter, no máximo, 2 8 = 256 símbolos diferentes. Portanto, cada transição ocupa dezoito bits no cromossomo. O primeiro estado de saída contido no cromossomo representará o estado inicial do autômato. A Figura 1 mostra como uma transição (Figura 1(a)) é representada no cromossomo (Figura 1(b)). O símbolo a da transição está armazenado na posição zero da tabela de símbolos. Note que o estado de chegada está com o bit que indica que ele é um estado final, com valor 1. (a) Transição (b) Cromossomo Figura 1: Exemplo da representação cromossômica de uma transição O número máximo de transições que cada autômato gerado poderá ter depende do número de símbolos no alfabeto multiplicado pelo número máximo de estados que ele terá (neste caso, 2 4 = 16 estados) Testes e Resultados Para a representação cromossômica tínhamos, inicialmente, reservado um bit a mais para representar os estados, assim, os autômatos podiam ter no máximo 2 5 = 32 estados e a transição ocupava vinte bits no cromossomo. Entretanto, com este número de estados, as possibilidades de termos autômatos diferentes eram muito grandes e os resultados obtidos não foram satisfatórios Função de Avaliação A função de avaliação utilizada consiste em duas partes: a primeira, calculará a porcentagem de acertos do autômato, cálculo conforme a fórmula abaixo: P A = ((6 NSA) + (4 NSNA)) ((6 SA) + (4 SNA)) (1) onde:

4 PA é a porcentagem de acertos do autômato NSA é o número de strings que deveriam ser aceitas e foram reconhecidas; NSNA é o número de strings que não deveriam ser aceitas e não foram reconhecidas; SA é o número de strings que deveriam ser aceitas passadas no problema; SNA é o número de strings que não deveriam ser aceitas passadas no problema; A segunda parte da função de avaliação é a função Fitness propriamente dita, a qual é descrita a seguir: onde: F itness = (P A 9) + 1 nest nest é o número de estados do autômato gerado Para melhor entendendimento com relação às variáveis utilizadas na Equação 1 a Figura 2 apresenta duas listas: uma com strings que devem ser aceitas pela linguagem L = (00) com o alfabeto Σ = {0, 1}, e a outra com as strings que não devem ser aceitas por esta linguagem. As marcações ao lado de cada string indicam: o V em verde indica que o resultado foi o esperado e o X em vermelho representa um erro, o resultado não foi o esperado. Então, os parâmetros da Equação 1 ficarão desta forma: NSA = 4 NSNA = 6 SA = 8 SNA = 8 (2) Figura 2: Teste da função fitness Testes e Resultados Muitas modificações foram feitas nas duas fórmulas mostradas acima para chegarmos ao modelo que produzisse o melhor resultado. A função de avaliação que primeiro foi utilizada foi: 1 F itness = (P A 8) + ( 2) (3) nest

5 com P A = (NSA + NSNA) (SA + SNA) (4) Com a realização dos testes, vimos que a probabilidade de acerto do autômato tinha um peso maior sobre o resultado final e optamos então por aumentar o coeficiente que multiplica o PA e diminuir o outro coeficiente na Equação 3. Outra conclusão a que chegamos após realizar diversos testes foi a de que, as strings passadas no problema e que deveriam ser aceitas pelo autômato também tinham importância maior no resultado do que as strings que não deveriam ser aceitas. Várias modificações foram feitas na Equação 4 inserindo valores diferentes nos coeficientes para que essas strings tivessem peso maior até chegarmos nos coeficientes seis e quatro como mostrado na Equação Operador de Seleção Para selecionar quais indivíduos serão utilizados no cruzamento optou-se por utilizar o Método da Roleta (Roulette Wheel). Cada indivíduo possui, além do fitness absoluto (seu valor de aptidão), um fitness relativo o qual representa sua aptidão em relação aos outros indivíduos da população. Com base no fitness relativo é calculada a fatia que este ocupará na roleta. Um número aleatório, então, é sorteado e a população é percorrida até encontrar o indivíduo que possui a fatia da roleta a qual o número sorteado pertence, este indivíduo então é selecionado. O processo é repetido para selecionar o outro indivíduo que participará do cruzamento. Outro método de seleção utilizado foi o elitismo 2. Antes da população sofrer algum processo de transformação em cada geração, o melhor indivíduo da população é preservado e, ao final das transformações, este indivíduo substituirá o pior indivíduo da nova população gerada Testes e Resultados Desde o início optamos por utilizar o Método da Roleta pois, de acordo com a literatura pesquisada, este método é o mais utilizado e por não dispormos de mais tempo para testarmos os demais métodos. Entretanto, no início não aplicávamos o elitismo, pois já era utilizada uma técnica semelhante que será descrita na seção 3.4. Posteriormente optamos pela utilização deste método pois percebemos que no decorrer das gerações, alguns bons indivíduos não eram selecionados e então, se perdiam. Com a implantação do elitismo, pelo menos um, o melhor, dos indivíduos é preservado para a próxima população, trazendo melhorias para o resultado final Operador de Cruzamento Após terem sido selecionados dois indivíduos, caso haja cruzamento, com base na taxa de cruzamento, seus segmentos (material genético) são trocados através do cruzamento multiponto, onde os pontos de cruzamento ficam na divisão entre uma transição e outra. Portanto, o número de pontos é determinado pelo número de transições do autômato gerado. 2 Método no qual um número determinado de indivíduos, de acordo com seu fitness, é passado diretamente para a próxima geração, garantindo sempre, que o(s) melhor(es) indivíduo(s) não seja(m) perdido(s) de uma geração para outra.

6 Como os cromossomos dos indivíduos são, geralmente, de tamanhos diferentes, antes de gerar os novos indivíduos a partir dos dois pais selecionados, é necessário determinar o tamanho destes filhos. Esse tamanho é determinado através de um número aleatório gerado entre zero e o tamanho do maior dos pais selecionados. Só então a troca de segmentos é feita, alternando-se entre cada um dos pais gerando dois novos indivíduos. Quando, ao fazer o cruzamento, o cromossomo do menor dos pais chegar ao fim, os dois filhos receberão o restante do material genético do pai maior. O processo de cruzamento, confome descrito acima, gera dois novos indivíduos. Com o intuito de manter na nova população os indivíduos com maior grau de aptidão, antes de passarmos os indivíduos gerados para a próxima geração, o valor do fitness de cada um dos envolvidos no cruzamento (os dois pais e os dois filhos) é comparado e apenas os dois indivíduos com maior aptidão farão parte da próxima geração. A Figura 3 mostra o cruzamento ocorrendo no cromossomo. Aqui não foi utilizada a representação cromossômica real mas sim, uma representação que torne mais fácil o entendimento do leitor. A Figura 4 mostra o cruzamento ocorrendo no autômato. Figura 3: Exemplo de cruzamento no cromossomo (a) Pai 1 (b) Pai 2 (c) Filho 1 (d) Filho 2 Figura 4: Exemplo de cruzamento no autômato 3.5. Operador de Mutação A mutação dos novos indivíduos gerados no cruzamento é feita em cada transição. Inicialmente é verificado se ocorrerá a mutação ou não com base na taxa de mutação. Se for determinado que haverá mutação, uma nova transição é gerada e substituirá a que está no cromossomo. Este processo é repetido para cada segmento do cromossomo correspondente a uma transição do autômato.

7 No processo de geração da nova transição, quando ocorrer a mutação, qualquer outro estado pode vir a substituir os estados da transição modificada podendo, assim, o processo de mutação acrescentar novos estados ao autômato. As Figuras 5 e 6 exemplificam o processo de mutação no cromossomo e no autômato respectivamente. Figura 5: Exemplo de mutação no cromossomo (a) Antes da mutação (b) Após a mutação Figura 6: Exemplo de mutação no autômato 3.6. Parâmetros Genéticos Após a realização dos testes que serão descritos a seguir, chegamos aos seguintes valores para os parâmetros genéticos: tamanho da população com cem indivíduos utilizando-se trinta gerações; taxa de mutação e cruzamento de 20% e 80% respectivamente e a cada geração, o tamanho da população se mantêm constante Testes e Resultados Para chegar aos valores citados acima vários testes foram feitos. Aplicávamos um tipo de configuração aos parâmetros, realizávamos os testes e depois, comparávamos os resultados com os obtidos com outra configuração. Os valores das taxas de cruzamento e mutação, quando alterados, pouco contribuíram para uma melhoria nos resultados e, portanto, optamos por manter estas taxas. O tamanho da população sofreu muitas modificações durante os testes e decidimos pelo valor cem com base nos resultados dos testes efetuados. Este valor apresentou melhores resultados. Outro parâmetro bastante alterado durante os testes foi o número de gerações. Para alguns dos problemas testados, se colocássemos um valor muito alto para este parâmetro, a população final ficava com muitos autômatos iguais, com pouquísismos estados e os resultados não eram satisfatórios. Portanto, trinta gerações foi o valor que, para a maioria dos problemas, apresentou melhores resultados. 4. Interface Para oferecer maior facilidade ao usuário do simulador/resolvedor, desenvolvemos, inicialmente, a interface mostrada na Figura 7. O aluno escolhe um problema através do

8 menu Arquivo. No quadro Problema aparecerá a descrição do problema escolhido juntamente com o alfabeto que deverá ser utilizado. O quadro Solução é utilizado para desenvolvermos a descrição do autômato, que solucionará o problema, colocando o conjunto de estados, o estado inicial, o conjunto de estados finais e as transições do autômato. Então, através do botão Testar Solução o aluno pode verificar a corretude de seu autômato. Caso deseje ver a(s) solução(ões) gerada(s) pelo AG, basta acionar o botão Executar AG. Figura 7: Interface do simulador/resolvedor Na Figura 8 podemos ver a interface com um problema resolvido no simulador/resolvedor. 5. Conclusões e Trabalhos Futuros O simulador/resolvedor para AFs desenvolvido neste trabalho fará parte do Ambiente de Apoio ao Ensino de TC - LabTeC - que está sendo desenvolvido pelos autores em seus laboratórios de pesquisa. O resultado deste trabalho é uma ferramenta que, além de fornecer ao aluno problemas que devem ser resolvidos nela própria, possibilitará ao aluno, testar suas respostas e fornecer, se solicitado, respostas para os problemas, respostas estas geradas através de AGs. Neste trabalho, o simulador de AF utilizado, é capaz de testar as soluções dos problemas propostos para os modelos de AFs descritos na seção 2 de forma satisfatória. Para os demais tipos de AFNs (com transições sobre o vazio e sobre cadeias de caracteres) são necessários alguns ajustes no simulador, ajustes que estão em estudo no momento. Para o módulo genético, é necessário fazer alguns comentários: 1. devido à própria natureza dos AGs, o tempo necessário para obter uma solução para o problema proposto é elevado, o que, para uma aplicação que precisa de respostas em tempo real, não é muito satisfatório.

9 Figura 8: Interface com problema resolvido 2. esperava-se que, mesmo com um tempo de execução maior que o desejado, as soluções encontradas pelo AG para os problemas propostos fossem capazes de um acerto de 100%. Após a realização de diversos testes, observamos que poucas vezes o AG conseguiu encontrar uma solução que resolvesse 100% um problema. Os melhores resultados obtidos ficaram entre 60% e 90% de acerto. 3. mesmo após diversas modificações realizadas no AG, não conseguimos chegar a resultados melhores do que os já citados. Com os resultados obtidos neste trabalho, o módulo simulador/resolvedor de AFs da ferramenta LabTeC, proporcionará ao aluno não a resposta correta para um determinado problema e sim, mostrará um possível caminho a ser seguido pelo aluno, para que este, com base nesta sugestão da ferramenta, seja capaz de encontrar a solução correta. Como trabalhos futuros, relacionamos as seguintes sugestões: poderia-se tentar resolver o problema da eficiência das soluções encontradas através de algumas modificações no algoritmo, entre elas, testar outras representações para o cruzamento, outros métodos de seleção, cruzamento e mutação, alteração da função fitness, alteração dos parâmetros genéticos, para então comparar os resultados obtidos com todas as modificações e verificar se há uma melhora nos resultados; ampliar o simulador do AF para reconhecimento de todos os tipos de AFNs; ampliar o simulador para incluir os demais modelos computacionais da Teoria da Computação (Autômato de Pilha, Máquina de Turing, etc.); Implementar um operador de simplificação de autômatos que poderia ser aplicado em cada geração, auxiliando na melhora dos resultados. Apesar dos problemas encontrados e da não obtenção de um modelo genético com 100% de eficiência, os objetivos definidos no início deste trabalho foram alcançados com sucesso.

10 Referências Belz, A. (1998a). Discovering phonotactic finite-state automata by genetic search. In COLING-ACL 98, pages Morgan Kaufman. Belz, A. (1998b). A genetic algorithm for finite state automata induction with an application to phonotactis. In Keller, B., editor, ESSLLI-98 Workshop on Automated Acquisition of Syntax and Parsing, pages 9 17, Germany. Belz, A. (2000). Computational Learning of Finite-State Models for Natural Language Processing. Ph. d. thesis, School of Cognitive and Computing Sciences, University of Sussex, United Kingdown. de Castro, J. P. (2000). Notas de aula de inteligência artificial Universidade Estadual do Oeste do Paraná, curso de Bacharelado em Informática. Fogel, D. B. (2000). Evolutionary Computation: Basic Algorithms and Operators, volume 1, chapter Finite-state representations, pages Institute of Phisics Publishing, Philadelphia, PA, EUA. Holland, J. H. (1975). Adaptation in Natural and Artificial Systems: An Introductory Analysis with Applications to Biology, Control, and Artificial Intelligence. University of Michigan. Horihan, J. W. and Lu, Y.-H. (2004). Improving fsm evolution with progressive fitness functions. In 14th ACM Great Lakes symposium on VLSI, pages , Boston, MA, USA. ACM Press. Koza, J. R. (1992). Genetic Programming: On the Programming of Computers by Means of Natural Selection. Bradford Book, Cambridge, Massachusetts. Lankhorst, M. M. (1995). A genetic algorithm for the induction of nondeterministic pushdown automata. Computing Science Report 9502, Dept. of Computing Science, University of Groningen, The Netherlands. Welter, R. (2004). Módulo resolvedor de autômatos finitos para um ambiente de apoio ao ensino de teoria da computação utilizando algoritmos genéticos. Monografia (bacharelado em informática), Universidade Estadual do Oeste do Paraná, Cascavel, PR.

Algoritmos Genéticos. Princípio de Seleção Natural. Sub-áreas da Computação Evolutiva. Idéias básicas da CE. Computação Evolutiva

Algoritmos Genéticos. Princípio de Seleção Natural. Sub-áreas da Computação Evolutiva. Idéias básicas da CE. Computação Evolutiva Computação Evolutiva Algoritmos Genéticos A computação evolutiva (CE) é uma área da ciência da computação que abrange modelos computacionais inspirados na Teoria da Evolução das Espécies, essencialmente

Leia mais

3 Algoritmos Genéticos

3 Algoritmos Genéticos Técnicas de Inteligência Computacional 33 3 Algoritmos Genéticos Este capítulo resume os principais conceitos sobre o algoritmo evolucionário empregado nesta dissertação. É apresentada uma breve explicação

Leia mais

3. Resolução de problemas por meio de busca

3. Resolução de problemas por meio de busca Inteligência Artificial - IBM1024 3. Resolução de problemas por meio de busca Prof. Renato Tinós Local: Depto. de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 3. Resolução de problemas por

Leia mais

ALGORITMOS GENÉTICOS. Adair Santa Catarina Curso de Ciência da Computação Unioeste Campus de Cascavel PR

ALGORITMOS GENÉTICOS. Adair Santa Catarina Curso de Ciência da Computação Unioeste Campus de Cascavel PR ALGORITMOS GENÉTICOS Adair Santa Catarina Curso de Ciência da Computação Unioeste Campus de Cascavel PR Fev/2018 Introdução Algoritmos Genéticos são algoritmos heurísticos de busca, que utilizam regras

Leia mais

Introdução aos Algoritmos Genéticos

Introdução aos Algoritmos Genéticos Introdução aos Algoritmos Genéticos Prof. Matheus Giovanni Pires EXA 868 Inteligência Artificial Não-Simbólica B Universidade Estadual de Feira de Santana 2 Algoritmos Genéticos: Introdução Introduzidos

Leia mais

Inteligência Artificial. Algoritmos Genéticos. Aula I Introdução

Inteligência Artificial. Algoritmos Genéticos. Aula I Introdução Universidade Estadual do Oeste do Paraná Curso de Bacharelado em Ciência da Computação Inteligência Artificial Algoritmos Genéticos Aula I Introdução Roteiro Introdução Computação Evolutiva Algoritmos

Leia mais

Técnicas de Inteligência Artificial

Técnicas de Inteligência Artificial Universidade do Sul de Santa Catarina Ciência da Computação Técnicas de Inteligência Artificial Aula 9 Algoritmos Genéticos Max Pereira Algoritmos Genéticos Algoritmos Genéticos São técnicas de busca e

Leia mais

Algoritmos Genéticos. Pontos fracos dos métodos tradicionais. Características de alguns problemas. Tamanho do espaço de busca- Ex. caixeiro viajante:

Algoritmos Genéticos. Pontos fracos dos métodos tradicionais. Características de alguns problemas. Tamanho do espaço de busca- Ex. caixeiro viajante: Algoritmos Genéticos Prof. Luis Otavio Alvares INE/UFSC Características de alguns problemas Tamanho do espaço de busca- Ex. caixeiro viajante: 10 cidades: 181.000 soluções 20 cidades: 10.000.000.000.000

Leia mais

ALGORITMO GENÉTICO COMO REPRESENTAÇÃO DAS MUTAÇÕES NA BIOLOGIA

ALGORITMO GENÉTICO COMO REPRESENTAÇÃO DAS MUTAÇÕES NA BIOLOGIA Patrocínio, MG, outubro de 2016 ENCONTRO DE PESQUISA & EXTENSÃO, 3., 2016, Patrocínio. Anais... Patrocínio: IFTM, 2016. ALGORITMO GENÉTICO COMO REPRESENTAÇÃO DAS MUTAÇÕES NA BIOLOGIA Igor Acassio Melo

Leia mais

1. Computação Evolutiva

1. Computação Evolutiva Computação Bioinspirada - 5955010-1 1. Computação Evolutiva Prof. Renato Tinós Programa de Pós-Graduação Em Computação Aplicada Depto. de Computação e Matemática (FFCLRP/USP) 2 Computação Bioinspirada

Leia mais

Algoritmo Genético. Inteligência Artificial. Professor: Rosalvo Ferreira de Oliveira Neto

Algoritmo Genético. Inteligência Artificial. Professor: Rosalvo Ferreira de Oliveira Neto Algoritmo Genético Inteligência Artificial Professor: Rosalvo Ferreira de Oliveira Neto Estrutura 1. Introdução 2. Conceitos Básicos 3. Aplicações 4. Algoritmo 5. Exemplo Introdução São técnicas de busca

Leia mais

Max Pereira. Inteligência Artificial

Max Pereira. Inteligência Artificial Max Pereira Inteligência Artificial Algoritmos Genéticos Algoritmos Genéticos São técnicas de busca e otimização. Uma metáfora da teoria da evolução das espécies iniciada pelo Naturalista inglês Charles

Leia mais

Técnicas de Inteligência Artificial

Técnicas de Inteligência Artificial Universidade do Sul de Santa Catarina Ciência da Computação Técnicas de Inteligência Artificial Aula 9 Algoritmos Genéticos Max Pereira Algoritmos Genéticos São técnicas de busca e otimização. Uma metáfora

Leia mais

Algoritmos Genéticos e Evolucionários

Algoritmos Genéticos e Evolucionários Algoritmos Genéticos e Evolucionários Djalma M. Falcão COPPE/UFRJ PEE e NACAD falcao@nacad.ufrj.br http://www.nacad.ufrj.br/~falcao/ http://www.nacad.ufrj.br/~falcao/ag/ag.htm Resumo do Curso Introdução

Leia mais

Computação Evolutiva Eduardo do Valle Simões Renato Tinós ICMC - USP

Computação Evolutiva Eduardo do Valle Simões Renato Tinós ICMC - USP Computação Evolutiva Eduardo do Valle Simões Renato Tinós ICMC - USP 1 Principais Tópicos Introdução Evolução Natural Algoritmos Genéticos Aplicações Conclusão 2 Introdução http://www.formula-um.com/ Como

Leia mais

Computação Evolutiva. Computação Evolutiva. Principais Tópicos. Evolução natural. Introdução. Evolução natural

Computação Evolutiva. Computação Evolutiva. Principais Tópicos. Evolução natural. Introdução. Evolução natural Computação Evolutiva Eduardo do Valle Simões Renato Tinós ICMC - USP Principais Tópicos Introdução Evolução Natural Algoritmos Genéticos Aplicações Conclusão 1 2 Introdução Evolução natural http://www.formula-um.com/

Leia mais

CONSTRUÇÃO AUTOMÁTICA DE OPERADORES MORFOLÓGICOS UTILIZANDO PROGRAMAÇÃO GENÉTICA.

CONSTRUÇÃO AUTOMÁTICA DE OPERADORES MORFOLÓGICOS UTILIZANDO PROGRAMAÇÃO GENÉTICA. CONSTRUÇÃO AUTOMÁTICA DE OPERADORES MORFOLÓGICOS UTILIZANDO PROGRAMAÇÃO GENÉTICA. Emerson Carlos Pedrino * e-mail: ecpedrin@sel.eesc.sc.usp.br Valentin Obac Roda ** e-mail: valentin@sel.eesc.sc.usp.br

Leia mais

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ ALGORITMOS GENÉTICOS. Metaheurísticas de Buscas

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ ALGORITMOS GENÉTICOS. Metaheurísticas de Buscas PR UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ ALGORITMOS GENÉTICOS Metaheurísticas de Buscas ALGORITMOS GENÉTICOS (AG) Popularizados por John Holland podem ser considerados os primeiros modelos algorítmicos

Leia mais

INSTITUTO DE PÓS GRADUAÇÃO ICPG GESTÃO DA TECNOLOGIA DA INFORMAÇÃO

INSTITUTO DE PÓS GRADUAÇÃO ICPG GESTÃO DA TECNOLOGIA DA INFORMAÇÃO INSTITUTO DE PÓS GRADUAÇÃO ICPG GESTÃO DA TECNOLOGIA DA INFORMAÇÃO Prof. Msc. Saulo Popov Zambiasi (saulopz@gmail.com) Informação - ICPG - Criciuma - SC 1 Características Gerais, operadores, algoritmo.

Leia mais

Linguagens Regulares. Prof. Daniel Oliveira

Linguagens Regulares. Prof. Daniel Oliveira Linguagens Regulares Prof. Daniel Oliveira Linguagens Regulares Linguagens Regulares ou Tipo 3 Hierarquia de Chomsky Linguagens Regulares Aborda-se os seguintes formalismos: Autômatos Finitos Expressões

Leia mais

Inteligência Artificial

Inteligência Artificial Inteligência Artificial Aula 6 Algoritmos Genéticos M.e Guylerme Velasco Roteiro Introdução Otimização Algoritmos Genéticos Representação Seleção Operadores Geneticos Aplicação Caixeiro Viajante Introdução

Leia mais

Algoritmos Genéticos. Estéfane G. M. de Lacerda DCA/UFRN Outubro/2008

Algoritmos Genéticos. Estéfane G. M. de Lacerda DCA/UFRN Outubro/2008 Estéfane G. M. de Lacerda DCA/UFRN Outubro/2008 Introdução São técnicas de busca e otimização. É a metáfora da teoria da evolução das espécies iniciada pelo Fisiologista e Naturalista inglês Charles Darwin.

Leia mais

Modelos Evolucionários e Tratamento de Incertezas

Modelos Evolucionários e Tratamento de Incertezas Ciência da Computação Modelos Evolucionários e Tratamento de Incertezas Aula 01 Computação Evolucionária Max Pereira Motivação Se há uma multiplicidade impressionante de algoritmos para solução de problemas,

Leia mais

APLICAÇÃO DE ALGORITMOS BIO-INSPIRADOS EM CONTROLE ÓTIMO

APLICAÇÃO DE ALGORITMOS BIO-INSPIRADOS EM CONTROLE ÓTIMO APLICAÇÃO DE ALGORITMOS BIO-INSPIRADOS EM CONTROLE ÓTIMO Profa. Mariana Cavalca Baseado em: Material didático do Prof. Dr. Carlos Henrique V. Moraes da UNIFEI Curso de verão da Profa. Gisele L. Pappa Material

Leia mais

Algoritmos Genéticos

Algoritmos Genéticos Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Algoritmos Genéticos Aluno: Fabricio Aparecido Breve Prof.: Dr. André Ponce de Leon F. de Carvalho São Carlos São Paulo Maio

Leia mais

LINGUAGENS FORMAIS Modelos Determinísticos e Não Determinísticos. Usam-se modelos matemáticos para representar eventos (fenômenos) do mundo real.

LINGUAGENS FORMAIS Modelos Determinísticos e Não Determinísticos. Usam-se modelos matemáticos para representar eventos (fenômenos) do mundo real. LINGUAGENS FORMAIS Modelos Determinísticos e Não Determinísticos Modelos Matemáticos Usam-se modelos matemáticos para representar eventos (fenômenos) do mundo real. Ressalta-se contudo que é muito importante

Leia mais

APLICATIVO PARA ENSINO DE ENGENHARIA QUÍMICA BÁSICA

APLICATIVO PARA ENSINO DE ENGENHARIA QUÍMICA BÁSICA APLICATIVO PARA ENSINO DE ENGENHARIA QUÍMICA BÁSICA J. C. PERISSÉ 1, A.VALDMAN 2 1 Universidade Federal do Rio de Janeiro, Escola de Química 2 Universidade Federal do Rio de Janeiro, Escola de Química,

Leia mais

ESTUDO DO EFEITO DOS PARÂMETROS GENÉTICOS DE UM ALGORITMO GENÉTICO NA SOLUÇÃO OTIMIZADA E NO TEMPO DE CONVERGÊNCIA EM UMA FUNÇÃO DE DUAS VARIÁVEIS

ESTUDO DO EFEITO DOS PARÂMETROS GENÉTICOS DE UM ALGORITMO GENÉTICO NA SOLUÇÃO OTIMIZADA E NO TEMPO DE CONVERGÊNCIA EM UMA FUNÇÃO DE DUAS VARIÁVEIS ESTUDO DO EFEITO DOS PARÂMETROS GENÉTICOS DE UM ALGORITMO GENÉTICO NA SOLUÇÃO OTIMIZADA E NO TEMPO DE CONVERGÊNCIA EM UMA FUNÇÃO DE DUAS VARIÁVEIS Marcelo Henrique dos Santos Universidade de Uberaba, Engenharia

Leia mais

INTRODUÇÃO À INTELIGÊNCIA COMPUTACIONAL. Aula 06 Prof. Vitor Hugo Ferreira

INTRODUÇÃO À INTELIGÊNCIA COMPUTACIONAL. Aula 06 Prof. Vitor Hugo Ferreira Universidade Federal Fluminense Escola de Engenharia Departamento de Engenharia Elétrica INTRODUÇÃO À INTELIGÊNCIA COMPUTACIONAL Aula 06 Prof. Vitor Hugo Ferreira Representação por cromossomos Codificação

Leia mais

Algoritmos genéticos Abordagem unificada de algoritmos evolutivos simples

Algoritmos genéticos Abordagem unificada de algoritmos evolutivos simples Introdução Inspiração biológica Histórico da computação evolutiva Algoritmo evolutivo simples Programação evolutiva Estratégias evolutivas Algoritmos genéticos Abordagem unificada de algoritmos evolutivos

Leia mais

1. Computação Evolutiva

1. Computação Evolutiva Computação Bioinspirada - 5955010-1 1. Computação Evolutiva Prof. Renato Tinós Depto. de Computação e Matemática (FFCLRP/USP) 1 1.7. Outras Metaheurísticas Populacionais 1.7.1. Metaheurísticas Populacionais

Leia mais

3 Computação Evolucionária

3 Computação Evolucionária 34 3 Computação Evolucionária Computação Evolucionária compreende diversos algoritmos inspirados no princípio Darwiniano da evolução das espécies e na genética. São algoritmos probabilísticos, que fornecem

Leia mais

IN-1131 Computação Evolucionária. Aluizio Fausto Ribeiro Araújo Universidade Federal de Pernambuco Centro de Informática

IN-1131 Computação Evolucionária. Aluizio Fausto Ribeiro Araújo Universidade Federal de Pernambuco Centro de Informática IN-1131 Computação Evolucionária Aluizio Fausto Ribeiro Araújo Universidade Federal de Pernambuco Centro de Informática aluizioa@cin.ufpe.br Objetivos Este curso visa oferecer introdução abrangente em

Leia mais

GT-JeDi - Curso de Desenv. de Jogos IA para Jogos. Gustavo Pessin 2007

GT-JeDi - Curso de Desenv. de Jogos IA para Jogos. Gustavo Pessin 2007 GT-JeDi - Curso de Desenv. de Jogos IA para Jogos Gustavo Pessin 2007 Cronograma Base conceitual Exemplo: Achando o máximo de uma função... Como criar uma pequena aplicação: Exercício-Exemplo [Animal selvagem...]

Leia mais

INTRODUÇÃO À. Adair Santa Catarina Curso de Ciência da Computação Unioeste Campus de Cascavel PR

INTRODUÇÃO À. Adair Santa Catarina Curso de Ciência da Computação Unioeste Campus de Cascavel PR INTRODUÇÃO À COMPUTAÇÃO EVOLUTIVA Adair Santa Catarina Curso de Ciência da Computação Unioeste Campus de Cascavel PR Fev/2018 Computação Evolutiva Ramo da ciência da computação que propõe um paradigma

Leia mais

4 Implementação Computacional

4 Implementação Computacional 4 Implementação Computacional 4.1. Introdução Neste capítulo é apresentada a formulação matemática do problema de otimização da disposição das linhas de ancoragem para minimizar os deslocamentos (offsets)

Leia mais

Teoria da Computação. 2006/2007 Trabalho prático nº 1. Trabalho realizado por: Pedro Oliveira ( ) Rui Costa ( ) Turma: TP1

Teoria da Computação. 2006/2007 Trabalho prático nº 1. Trabalho realizado por: Pedro Oliveira ( ) Rui Costa ( ) Turma: TP1 2006/2007 Trabalho prático nº 1 Trabalho realizado por: Pedro Oliveira (501062444) Rui Costa (501062452) Turma: TP1 1 - Introdução O objectivo deste trabalho era implementar um simulador de Autómatos Finitos

Leia mais

Introdução a Algoritmos Genéticos

Introdução a Algoritmos Genéticos Introdução a Algoritmos Genéticos Tiago da Conceição Mota Laboratório de Inteligência Computacional Núcleo de Computação Eletrônica Universidade Federal do Rio de Janeiro Outubro de 2007 O Que São? Busca

Leia mais

UFCG IQuanta DSC. Cheyenne R. G. Isidro Bernardo Lula Júnior

UFCG IQuanta DSC. Cheyenne R. G. Isidro Bernardo Lula Júnior Um Algoritmo para Transformar Autômatos Finitos Não- Determinísticos em Autômatos Finitos Quânticos Preservando o Número de Estados e a Linguagem Reconhecida Cheyenne R. G. Isidro cha@dsc.ufcg.edu.br Bernardo

Leia mais

Aprendizado Evolutivo: Introdução aos Algoritmos Genéticos

Aprendizado Evolutivo: Introdução aos Algoritmos Genéticos Aprendizado Evolutivo: Introdução aos Algoritmos Genéticos SCC-230 Inteligência Artificial Thiago A. S. Pardo Solange O. Rezende 1 Computação Evolutiva (CE) Trata de sistemas para a resolução de problemas

Leia mais

Pós-Graduação em Engenharia de Automação Industrial SISTEMAS INTELIGENTES PARA AUTOMAÇÃO

Pós-Graduação em Engenharia de Automação Industrial SISTEMAS INTELIGENTES PARA AUTOMAÇÃO Pós-Graduação em Engenharia de Automação Industrial SISTEMAS INTELIGENTES PARA AUTOMAÇÃO AULA 06 Algoritmos Genéticos Sumário Introdução Inteligência Artificial (IA) Algoritmos Genéticos Aplicações de

Leia mais

ESTUDO DOS PARAMETROS DE UM ALGORITMO GENÉTICO PARA POSTERIOR USO NA SOLUÇÃO DE PROBLEMAS DO TIPO JOB-SHOP

ESTUDO DOS PARAMETROS DE UM ALGORITMO GENÉTICO PARA POSTERIOR USO NA SOLUÇÃO DE PROBLEMAS DO TIPO JOB-SHOP ESTUDO DOS PARAMETROS DE UM ALGORITMO GENÉTICO PARA POSTERIOR USO NA SOLUÇÃO DE PROBLEMAS DO TIPO JOB-SHOP Gilson Rogério Batista, Gideon Villar Leandro Universidade Regional do Noroeste do Estado do Rio

Leia mais

Turing to Norma, uma ferramenta para auxiliar o estudo da equivalência entre Máquina de Turing e Máquina Norma

Turing to Norma, uma ferramenta para auxiliar o estudo da equivalência entre Máquina de Turing e Máquina Norma 4ª Jornada Científica e Tecnológica e 1º Simpósio de Pós-Graduação do IFSULDEMINAS 16, 17 e 18 de outubro de 2012, Muzambinho MG Turing to Norma, uma ferramenta para auxiliar o estudo da equivalência entre

Leia mais

Codificação das variáveis: binária Iniciação da população: aleatória Avaliação: função aptidão Operadores. Critério de parada: número de gerações

Codificação das variáveis: binária Iniciação da população: aleatória Avaliação: função aptidão Operadores. Critério de parada: número de gerações AG Simples/Canônico (AGS) AG introduzido por Holland Funciona bem para problemas de otimização simples e/ou de pequenas dimensões A maior parte da teoria dos AGs está baseada no AGS Utilidade didática

Leia mais

Algoritmos Genéticos. Texto base: Stuart Russel e Peter Norving - Inteligência Artificial

Algoritmos Genéticos. Texto base: Stuart Russel e Peter Norving - Inteligência Artificial Algoritmos Genéticos Texto base: Stuart Russel e Peter Norving - Inteligência Artificial junho/2007 Algoritmo Genético Uma variante da busca em feixe estocástica Estado sucessor gerado pela combinação

Leia mais

Exemplo de Aplicação de Algoritmos Genéticos. Prof. Juan Moisés Mauricio Villanueva cear.ufpb.br/juan

Exemplo de Aplicação de Algoritmos Genéticos. Prof. Juan Moisés Mauricio Villanueva cear.ufpb.br/juan Exemplo de Aplicação de Algoritmos Genéticos Prof. Juan Moisés Mauricio Villanueva jmauricio@cear.ufpb.br cear.ufpb.br/juan Estrutura do Algoritmo Genético Algoritmo genético Inicio t = 0 inicializar P(t)

Leia mais

Tópicos Especiais em Informática Fatec Indaiatuba

Tópicos Especiais em Informática Fatec Indaiatuba Prof. Dilermando Piva Jr. ((Compilação de diversas fontes na Internet)) Principal motivação para o estudo da computação evolutiva Otimização de processos complexo e que possuem um grande número de variáveis

Leia mais

Otimização. Unidade 6: Algoritmo Genético. Jaime Arturo Ramírez. 7. Teoria do processo evolutivo num GA. 8. Aspectos avançados

Otimização. Unidade 6: Algoritmo Genético. Jaime Arturo Ramírez. 7. Teoria do processo evolutivo num GA. 8. Aspectos avançados Otimização Jaime Arturo Ramírez Conteúdo 1. Introdução 2. Analogia de mecanismos de seleção natural com sistemas artificiais 3. Algoritmo genético modelo 4. Um GA simples 5. Representação, genes e cromossomos

Leia mais

11/1/2012. Agenda. Classe de problemas de interesse. Busca Local. Busca Local. Exemplo de Espaço de Estados

11/1/2012. Agenda. Classe de problemas de interesse. Busca Local. Busca Local. Exemplo de Espaço de Estados Agenda PCS / PCS 09 Inteligência Artificial Prof. Dr. Jaime Simão Sichman Profa. Dra. Anna Helena Reali Costa Busca Local e Problemas de Otimização. Introdução. Busca Local I. Subida da Encosta (Hill-Climbing)

Leia mais

Breve Avaliação de Parâmetros básicos de Algoritmos Genéticos

Breve Avaliação de Parâmetros básicos de Algoritmos Genéticos https://eventos.utfpr.edu.br//sicite/sicite17/index Breve Avaliação de Parâmetros básicos de Algoritmos Genéticos RESUMO Stéfanie Caroline Pereira Dekker stefanie.c.dekker@gmail.com Universidade Tecnológica

Leia mais

Capítulo 9: Linguagens sensíveis ao contexto e autômatos linearmente limitados.

Capítulo 9: Linguagens sensíveis ao contexto e autômatos linearmente limitados. Capítulo 9: Linguagens sensíveis ao contexto e autômatos linearmente limitados. José Lucas Rangel 9.1 - Introdução. Como já vimos anteriormente, a classe das linguagens sensíveis ao contexto (lsc) é uma

Leia mais

Métodos de Busca. Inteligência Artificial. Algoritmos Genéticos. Algoritmos Evolucionários. Prof. Ms. Luiz Alberto Contato:

Métodos de Busca. Inteligência Artificial. Algoritmos Genéticos. Algoritmos Evolucionários. Prof. Ms. Luiz Alberto Contato: Inteligência Artificial Prof. Ms. Luiz Alberto Contato: lasf.bel@gmail.com Métodos de Busca Busca Cega ou Exaustiva: Não sabe qual o melhor nó da fronteira a ser expandido. Apenas distingue o estado objetivo

Leia mais

Um Algoritmo Genético com Aprendizado por Reforço Simples aplicado ao problema do Mundo de Grid

Um Algoritmo Genético com Aprendizado por Reforço Simples aplicado ao problema do Mundo de Grid 1 Um Algoritmo Genético com Aprendizado por Reforço Simples aplicado ao problema do Mundo de Grid Luciana Conceição Dias Campos Resumo Este trabalho consiste da aplicação de um algoritmo genético ao método

Leia mais

CTC-17 Inteligência Artificial Busca Competitiva e Busca Iterativa. Prof. Paulo André Castro

CTC-17 Inteligência Artificial Busca Competitiva e Busca Iterativa. Prof. Paulo André Castro CTC-17 Inteligência Artificial Busca Competitiva e Busca Iterativa Prof. Paulo André Castro pauloac@ita.br www.comp.ita.br/~pauloac Sala 110, IEC-ITA Sumário Busca Competitiva Para Ambientes multiagentes...

Leia mais

UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA

UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA Máquina de Turing Prof. Yandre Maldonado - 1 Prof. Yandre Maldonado e Gomes da Costa yandre@din.uem.br Teoria da Computação Ciência da Computação

Leia mais

Inteligência Artificial

Inteligência Artificial Inteligência Artificial Prof. Kléber de Oliveira Andrade pdjkleber@gmail.com Algoritmos Genéticos Conteúdo Introdução O Algoritmo Genético Binário Noções de Otimização O Algoritmo Genético com Parâmetros

Leia mais

RECONHECIMENTO AUTOMÁTICO DE PADRÕES MUSICAIS UTILIZANDO OPERADORES MORFOLÓGICOS E PROGRAMAÇÃO GENÉTICA.

RECONHECIMENTO AUTOMÁTICO DE PADRÕES MUSICAIS UTILIZANDO OPERADORES MORFOLÓGICOS E PROGRAMAÇÃO GENÉTICA. RECONHECIMENTO AUTOMÁTICO DE PADRÕES MUSICAIS UTILIZANDO OPERADORES MORFOLÓGICOS E PROGRAMAÇÃO GENÉTICA. Emerson Carlos Pedrino e-mail: ecpedrin@sel.eesc.sc.usp.br Valentin Obac Roda e-mail: valentin@sel.eesc.sc.usp.br

Leia mais

Linguagens Formais e Autômatos (BBC242) Professor: Anderson Almeida Ferreira DECOM-UFOP

Linguagens Formais e Autômatos (BBC242) Professor: Anderson Almeida Ferreira DECOM-UFOP Linguagens Formais e Autômatos (BBC242) Professor: Anderson Almeida Ferreira DECOM-UFOP Ementa Gramáticas. Linguagens Regulares, Livres-de-Contexto e Sensíveis-ao- Contexto. Tipos de Reconhecedores. Operações

Leia mais

Algoritmos Genéticos

Algoritmos Genéticos Algoritmos Genéticos Roteiro Introdução Algoritmos Genéticos Otimização Representação Seleção Operadores Genéticos Aplicação Caixeiro Viajante Introdução Algoritmos Genéticos (AGs), são métodos de otimização

Leia mais

Inteligência Artificial

Inteligência Artificial Figura: Capa do Livro Hamburger, H., Richards, D. Logic and Language Models for Computer Science, Prentice Hall. Universidade Federal de Campina Grande Departamento de Sistemas e Computação Curso de Pós-Graduação

Leia mais

a n Sistemas de Estados Finitos AF Determinísticos

a n Sistemas de Estados Finitos AF Determinísticos a n Sistemas de Estados Finitos AF Determinísticos 1 Relembrando Uma representação finita de uma linguagem L qualquer pode ser: 1. Um conjunto finito de cadeias (se L for finita); 2. Uma expressão de um

Leia mais

1. Computação Evolutiva

1. Computação Evolutiva Computação Bioinspirada - 5955010-1 1. Computação Evolutiva Prof. Renato Tinós Programa de Pós-Graduação Em Computação plicada Depto. de Computação e Matemática (FFCLRP/USP) 2 Computação Bioinspirada -

Leia mais

3 Métodos de Otimização

3 Métodos de Otimização 3 Métodos de Otimização Problemas de otimização são relacionados a minimização ou maximização de função de uma ou mais variáveis num determinado domínio, possivelmente com a existência de um conjunto de

Leia mais

Metahuerísticas: Algoritmos Genéticos. Sistemas de Informação/Ciências da Computação UNISUL Aran Bey Tcholakian Morales, Dr. Eng.

Metahuerísticas: Algoritmos Genéticos. Sistemas de Informação/Ciências da Computação UNISUL Aran Bey Tcholakian Morales, Dr. Eng. Metahuerísticas: Algoritmos Genéticos Sistemas de Informação/Ciências da Computação UNISUL Aran Bey Tcholakian Morales, Dr. Eng. (Apostila 8) Meta-heurísticas Classificação de métodos heurísticos: os métodos

Leia mais

SCC Introdução à Teoria da Computação

SCC Introdução à Teoria da Computação SCC-0505 João Luís Garcia Rosa 1 1 Departamento de Ciências de Computação Instituto de Ciências Matemáticas e de Computação Universidade de São Paulo - São Carlos http://www.icmc.usp.br/~joaoluis/ joaoluis@icmc.usp.br

Leia mais

1. Computação Evolutiva

1. Computação Evolutiva Computação Bioinspirada - 5955010-1 1. Computação Evolutiva Prof. Renato Tinós Programa de Pós-Graduação Em Computação Aplicada Depto. de Computação e Matemática (FFCLRP/USP) 2 Computação Bioinspirada

Leia mais

Introdução ao Algoritmo Genético

Introdução ao Algoritmo Genético Introdução ao Algoritmo Genético Sadao Massago Agosto de 2013 1 Introdução O algoritmo genético é um método de otimização bio insperado, desenvolvida por John Henry Holland em 1975. Segundo a teoria evolucionária

Leia mais

Máquina de Turing Linguagens Sensíveis ao Contexto e Enumeráveis Recursivamente

Máquina de Turing Linguagens Sensíveis ao Contexto e Enumeráveis Recursivamente ESIN/UCPel 058814 Linguagens Formais e Autômatos TEXTO 5 Máquina de Turing Linguagens Sensíveis ao Contexto e Enumeráveis Recursivamente Prof. Luiz A M Palazzo Maio de 2007 0. Introdução A Ciência da Computação

Leia mais

Créditos. Introdução a Sistemas Inteligentes. Agenda Introdução Breve Histórico. Introdução. Introdução aos Algoritmos Evolutivos

Créditos. Introdução a Sistemas Inteligentes. Agenda Introdução Breve Histórico. Introdução. Introdução aos Algoritmos Evolutivos Introdução a Sistemas Inteligentes Introdução aos Algoritmos Evolutivos Créditos Este material consiste de adaptações e extensões dos originais gentilmente cedidos: pelo Prof. Dr. Eduardo Raul Hruschka

Leia mais

Linguagens Formais e Autômatos. Tiago Alves de Oliveira

Linguagens Formais e Autômatos. Tiago Alves de Oliveira Linguagens Formais e Autômatos Tiago Alves de Oliveira Ementa Linguagens Regulares; Máquinas de Turing; O Problema da Parada da Máquina de Turing; Autômatos Finitos; Linguagens Livres de Contexto; Autômatos

Leia mais

3 Otimização Evolucionária de Problemas com Restrição

3 Otimização Evolucionária de Problemas com Restrição 3 Otimização Evolucionária de Problemas com Restrição 3.1. Introdução Este capítulo resume os principais conceitos sobre os algoritmos evolucionários empregados nesta dissertação. Primeiramente, se fornece

Leia mais

Estratégias Evolutivas EEs. Prof. Juan Moisés Mauricio Villanueva

Estratégias Evolutivas EEs. Prof. Juan Moisés Mauricio Villanueva Estratégias Evolutivas EEs Prof. Juan Moisés Mauricio Villanueva jmauricio@cear.ufpb.br www.cear.ufpb.br/juan Estratégias Evolutivas Desenvolvidas por Rechenberg e Schwefel, e estendida por Herdy, Kursawe

Leia mais

6 Estudos de Casos Porta Lógica OU de 4 Entradas

6 Estudos de Casos Porta Lógica OU de 4 Entradas 6 Estudos de Casos Com o objetivo de avaliar a síntese automática de circuitos de QCA usando técnicas de Hardware Evolucionário (EHW), alguns circuitos foram sintetizados e serão apresentados a seguir.

Leia mais

Sistemas Inteligentes if684. Germano Vasconcelos Página da Disciplina:

Sistemas Inteligentes if684. Germano Vasconcelos Página da Disciplina: Sistemas Inteligentes if684 Germano Vasconcelos gcv@cin.ufpe.br Página da Disciplina: www.cin.ufpe.br/~îf684/ec 1 1 Algoritmos Genéticos 2 Algoritmos Genéticos n Técnicas de busca e otimização n Metáfora

Leia mais

Algoritmos Genéticos

Algoritmos Genéticos Universidade Federal do Paraná (UFPR) Bacharelado em Informática Biomédica Algoritmos Genéticos David Menotti www.inf.ufpr.br/menotti/ci171-182 Hoje Algoritmos Genéticos 2 Objetivos Introduzir os principais

Leia mais

DESENVOLVIMENTO DE UM ALGORITMO PARALELO PARA APLICAÇÃO EM CLUSTER DE COMPUTADORES

DESENVOLVIMENTO DE UM ALGORITMO PARALELO PARA APLICAÇÃO EM CLUSTER DE COMPUTADORES DESENVOLVIMENTO DE UM ALGORITMO PARALELO PARA APLICAÇÃO EM CLUSTER DE COMPUTADORES João Ricardo Kohler Abramoski (PAIC/FUNDAÇÃO ARAUCÁRIA), Sandra Mara Guse Scós Venske (Orientadora), e-mail: ssvenske@unicentro.br

Leia mais

Figura 3.1: Fluxograma do algoritmo da Programação Genética.

Figura 3.1: Fluxograma do algoritmo da Programação Genética. 3 Programação Genética O termo Programação Genética passou a ser utilizado em 1990 nos trabalhos publicados por Koza [30] e De Garis [31]. A definição de Koza para este termo passou a predominar após a

Leia mais

Método de Hardy-Cross Capitulo 13- Algoritmo genético engenheiro Plínio Tomaz 24 dezembro de Algoritmo genético 13-1

Método de Hardy-Cross Capitulo 13- Algoritmo genético engenheiro Plínio Tomaz 24 dezembro de Algoritmo genético 13-1 1 Algoritmo genético 13-1 2 Capítulo 13-Algoritmo genético 13.1 Introdução As tecnologias recentes para dimensionamento de redes de água são: Algoritmo genético Programação Dinâmica Decision Support System

Leia mais

SCC-5832 Teoria da Computação

SCC-5832 Teoria da Computação Teoria da Computação SCC-5832 Teoria da Computação João Luís Garcia Rosa 1 1 Departamento de Ciências de Computação Instituto de Ciências Matemáticas e de Computação Universidade de São Paulo - São Carlos

Leia mais

Capítulo 1 Conceitos Básicos

Capítulo 1 Conceitos Básicos Capítulo 1 Conceitos Básicos Licenciatura em Computação Fundamentos de Lógica para Programação Prof. Nícolas Trigo nicolas.trigo@ifsertao-pe.edu.br http://professor.ifsertao-pe.edu.br/nicolas.trigo Introdução

Leia mais

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO. Prof.ª Danielle Casillo

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO. Prof.ª Danielle Casillo UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO Prof.ª Danielle Casillo Proposta por Alan Turing em 1936; É universalmente conhecida e aceita como formalização de algoritmo; Teoria

Leia mais

Teoria da Computação (BBC244)

Teoria da Computação (BBC244) Teoria da Computação (BBC244) Professor: Anderson Almeida Ferreira anderson.ferreira@gmail.com http://www.decom.ufop.br/anderson Sala COM 10 DECOM-UFOP Ementa Gramáticas. Linguagens. Operações com Linguagens.

Leia mais

Computação efectiva. Que linguagens podem ser reconhecidas por algum tipo de autómato?

Computação efectiva. Que linguagens podem ser reconhecidas por algum tipo de autómato? Computação efectiva Que linguagens podem ser reconhecidas por algum tipo de autómato? O que é ser computável? Que linguagens são computáveis? Existem linguagens que não são computáveis? Isto é, existem

Leia mais

Algoritmos Evolutivos Canônicos

Algoritmos Evolutivos Canônicos Algoritmos Evolutivos Canônicos Como representar os indivíduos Vetor de comprimento fixo com L características escolhidas previamente. Ex.: Definição

Leia mais

Algoritmos Genéticos. 1 Semestre de Cleber Zanchettin UFPE - Universidade Federal de Pernambuco CIn - Centro de Informática

Algoritmos Genéticos. 1 Semestre de Cleber Zanchettin UFPE - Universidade Federal de Pernambuco CIn - Centro de Informática Algoritmos Genéticos 1 Semestre de 2015 Cleber Zanchettin UFPE - Universidade Federal de Pernambuco CIn - Centro de Informática 1 2 Introdução Darwin Naturalistas: cada espécie havia sido criada separadamente

Leia mais

Otimização. Algoritmos Genéticos. Teoria da Evolução. Otimização

Otimização. Algoritmos Genéticos. Teoria da Evolução. Otimização Algoritmos Genéticos Otimização São técnicas de busca e otimização. É a metáfora da teoria da evolução das espécies iniciada pelo Fisiologista e Naturalista inglês Charles Darwin. Desenvolvido por John

Leia mais

2. Objetivos do Sistema

2. Objetivos do Sistema Desenvolvimento de Um Programa Interpretador e Resolvedor para Máquinas de Estado Finito Adriana Postal 1, Ana Paula Fredrich 1, Cassiano Cesar Casagrande 1, Evaristo Wychoski Benfatti 1, Josué Pereira

Leia mais

Computação Evolutiva. Prof. Eduardo R. Hruschka (Slides baseados nos originais do Prof. André C. P. L. F. de Carvalho)

Computação Evolutiva. Prof. Eduardo R. Hruschka (Slides baseados nos originais do Prof. André C. P. L. F. de Carvalho) Computação Evolutiva Prof. Eduardo R. Hruschka (Slides baseados nos originais do Prof. André C. P. L. F. de Carvalho) Principais Tópicos Computação Evolutiva Algoritmos Genéticos Codificação Função de

Leia mais

UMA INTRODUÇÃO AOS ALGORITMOS GENETICOS

UMA INTRODUÇÃO AOS ALGORITMOS GENETICOS UMA INTRODUÇÃO AOS ALGORITMOS GENETICOS Uma visão geral dos GAs Um algoritmo genético é uma classe de algoritmo de busca. O algoritmo procura uma solução dentro de um espaço para um problema de otimização.

Leia mais

INE5317 Linguagens Formais e Compiladores AULA 5: Autômatos Finitos

INE5317 Linguagens Formais e Compiladores AULA 5: Autômatos Finitos INE5317 Linguagens Formais e Compiladores AULA 5: Autômatos Finitos Ricardo Azambuja Silveira INE-CTC-UFSC E-Mail: silveira@inf.ufsc.br URL: www.inf.ufsc.br/~silveira As Linguagens e os formalismos representacionais

Leia mais

Linguagens Formais e Autômatos. Autômatos Finitos Determinísticos (AFD)

Linguagens Formais e Autômatos. Autômatos Finitos Determinísticos (AFD) Linguagens Formais e Autômatos Autômatos Finitos Determinísticos (AFD) Cristiano Lehrer, M.Sc. Linguagens Regulares A teoria da computação começa com uma pergunta: O que é um computador? É, talvez, uma

Leia mais

Teoria da Computação. Unidade 3 Máquinas Universais. Referência Teoria da Computação (Divério, 2000)

Teoria da Computação. Unidade 3 Máquinas Universais. Referência Teoria da Computação (Divério, 2000) Teoria da Computação Referência Teoria da Computação (Divério, 2000) 1 L={(0,1)*00} de forma que você pode usar uma Máquina de Turing que não altera os símbolos da fita e sempre move a direita. MT_(0,1)*00=({0,1},{q

Leia mais

Linguaguens recursivamente enumeráveis e recursivas

Linguaguens recursivamente enumeráveis e recursivas Linguaguens recursivamente enumeráveis e recursivas Uma linguagem diz-se recursivamente enumerável (r.e) ou semi-decidível se é aceite por uma máquina de Turing. SD: classe de linguagens recursivamente

Leia mais

3 Otimização Aplicada a Reconstituição de Acidentes

3 Otimização Aplicada a Reconstituição de Acidentes 27 3 Otimização Aplicada a Reconstituição de Acidentes 3.1. Otimização A otimização é uma metodologia empregada para minimizar ou maximizar uma função e geralmente são utilizados em problemas onde existam

Leia mais

Problema de Satisfação de Restrições

Problema de Satisfação de Restrições Problema de Satisfação de Restrições Exemplos de PSR (CSP, Constraint Satisfaction Problem) Busca genérica aplicada a PSRs Backtracking Verificação forward Heurísticas para PSRs Problema de Satisfação

Leia mais

Problema de Satisfação de Restrições. Problema de Satisfação de Restrições. Grafo de restrições. Exemplo: 4 Rainhas como um PSR

Problema de Satisfação de Restrições. Problema de Satisfação de Restrições. Grafo de restrições. Exemplo: 4 Rainhas como um PSR Problema de Satisfação de Restrições Problema de Satisfação de Restrições Exemplos de PSR (CSP, Constraint Satisfaction Problem) Busca genérica aplicada a PSRs Backtracking Verificação forward Heurísticas

Leia mais

Modelos Evolucionários e Tratamento de Incertezas

Modelos Evolucionários e Tratamento de Incertezas Ciência da Computação Modelos Evolucionários e Tratamento de Incertezas Aula 04 Representações e Programação Genética Max Pereira Representações A representação cromossômica é completamente arbitrária.

Leia mais

Computação Evolucionária

Computação Evolucionária UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ UTFPR Programa de Pós-Graduação em Engenharia e Informática CPGEI Laboratório de Bioinformática e Inteligência Computacional Câmpus Curitiba (PR) Computação Evolucionária

Leia mais