SLAG - Resolvendo o Problema do Caixeiro Viajante Utilizando Algoritmos Genéticos
|
|
- Neuza Vilaverde Sabrosa
- 8 Há anos
- Visualizações:
Transcrição
1 SLAG - Resolvendo o Problema do Caixeiro Viajante Utilizando Algoritmos Genéticos Fredson Vieira Costa 1, Fábio Silveira Vidal 1, Claudomiro Moura Gomes André 1 1 Curso de Bacharelado em Ciência da Computação Universidade Federal do Tocantins (UFT), Palmas, TO, Brasil {fredson, vidal}@uft.edu.br, adnrecmg@unitins.br Resumo. Este artigo tem como objetivo descrever a implementação de um Algoritmo Genético utilizado para resolução do problema do caixeiro viajante, utilizando técnicas de seleção recorrente com o conceito de famílias para a seleção, se aproximando ao máximo dos conceitos de genética. Os resultados obtidos mostraram que os Algoritmos Genéticos são muito estáveis com relação aos seus parâmetros de controle. Palavras-Chave: Algoritmos Genéticos, Método de Seleção, Caixeiro Viajante Abstract: This paper has as objective describes the implementation of a Genetic Algorithm used for resolution of the travelling salesman problem, using techniques of appealing selection with the concept of families for the selection, approaching to the maximum of the genetics concepts. The obtained results showed that the Genetic Algorithms are very stable, with relationship to your control parameters
2 1 Introdução Um Algoritmo Genético é um procedimento iterativo que mantém uma população de estruturas (chamadas indivíduos), que representam possíveis soluções de um determinado problema. Os Algoritmos Genéticos representam, atualmente, uma poderosa ferramenta para busca de soluções de problemas com alto nível de complexidade. O Algoritmo Genético constitui numa técnica de busca, inspirada no processo de evolução dos seres vivos, baseado na seleção natural de Darwin. Considerando os sistemas biológicos como um todo, observa-se que os mesmos desenvolveram, ao longo da sua evolução, estratégicas de adaptação de comportamento que possibilitaram a sua sobrevivência e a perpetuação de suas espécies. As pressões do ambiente fizeram com que estas estratégias tivessem um forte impacto sobre os organismos biológicos, gerando profundas mudanças nos mesmos. Manifestações destas mudanças podem ser observadas nas especializações estruturais e funcionais, na organização da informação e nas representações internas do conhecimento. Baseando nesta analogia com o processo de evolução biológica das espécies, chamada de metáfora biológica, os AGs mantêm a informação sobre o ambiente, acumulando-a durante o período de adaptação. Eles utilizam tal informação acumulada para podar o espaço de busca e gerar novas soluções plausíveis dentro do domínio. Entre os principais fatores que têm feito do AG uma técnica bem sucedida destacam-se: Simplicidade de operação; Facilidade de operação; Eficácia na busca da região onde, provavelmente, encontra-se o máximo global; Aplicável em situações onde não se conhece o modelo matemático ou este é impreciso e também em funções lineares e não-lineares. 1.1 O Problema do Caixeiro Viajante Problemas combinatórios são problemas discretos, em geral NP (Não Polinomiais). Isso significa que o grau de dificuldade (espaço de busca) cresce exponencialmente com os parâmetros do problema. Um problema combinatório, NP, de otimização, é o clássico Problema do Caixeiro Viajante conhecido, em inglês, pela sigla TSP (Traveling Salesman Problem). Neste problema um caixeiro deve percorrer um conjunto de n cidades e voltar a sua cidade de origem, passando uma única vez em cada cidade, de modo que a distância percorrida seja mínima. O número de caminhos possíveis pode ser deduzido através de ƒ(n) como sendo uma função que fornece o número de caminhos possíveis com n cidades. Ao se acrescentar mais uma cidade (n + 1), quantos novos trajetos são introduzidos?
3 Para se ter uma idéia do grau de dificuldade para resolver este problema, basta dizer que o tempo esperado para se achar o menor caminho entre 25 cidades é de mais de 20 (vinte) vezes a idade do universo, supondo que seja possível calcular (dez mil) caminhos por segundo. Usando um Algoritmo Genético, procuramos obter a solução para este problema em um espaço de tempo plausível, onde poderemos mostrar o real poder de busca de um AG. 2 Metodologia 2.1 Cromossomo O cromossomo utilizado para a resolução do problema foi modelado o mais próximo possível de um cromossomo natural, como mostrado na Figura 1, Figura 1. Cromossomo utilizado no AG para o problema proposto com 8 (oito) cidades onde cada loco representa uma cidade, assim o cromossomo representa uma seqüência de cidades. O tamanho do loco é variável dependendo do número de cidades proposto no problema, onde para se calcular o tamanho do loco foi utilizada a seguinte fórmula: 2 x = n onde x = número de alelos no loco; x é o menor inteiro maior ou igual a x n é igual ao número de cidades. 2.2 Método de Seleção O método de seleção recorrente utilizando o conceito de famílias utilizado neste trabalho tem os seguintes passos: 1. gerar n indivíduos; 2. selecionar os k melhores indivíduos; 3. gerar k famílias, com k indivíduos cada uma. Esse é o resultado do cruzamento de todos com todos deste conjunto de k indivíduos; 4. selecionar os progenitores das m melhores famílias; 5. gerar m famílias, com m indivíduos cada uma. Esse é o resultado do cruzamento de cada m progenitor com m indivíduos do passo 2, escolhidos aleatoriamente. 6. selecionar os j melhores indivíduos de cada família descrita no passo 5; e, 7. voltar ao passo 2. Neste método procuramos selecionar não os melhores indivíduos e sim os que têm melhor capacidade de reprodução, com isso procuramos um ganho genético um pouco mais lento.
4 O valor genético do indivíduo é calculado tanto em relação ao número de passos corretos que indivíduo teve capacidade de reconhecer e pelo somatório das distâncias entre esses passos, conforme teoria do problema do caixeiro viajante. No cruzamento são formados dois indivíduos pegando um alelo de cada aleatoriamente e aplicando a taxa de mutação nos dois. Então é calculado qual deles possui o melhor valor genético e esse será o novo indivíduo devidamente gerado. A taxa de mutação é definida pelo usuário, e o gene do indivíduo resultante será alterado conforme a probabilidade da taxa de mutação. Neste método costuma-se o melhor indivíduo das gerações ter o mesmo valor genético por várias gerações, portanto implementamos uma taxa de mutação flutuante, onde se o melhor indivíduo da geração atual tiver o mesmo valor genético do indivíduo anterior, a taxa de mutação é incrementada em 1% (um por cento). 2.1 Modelagem do Problema do Caixeiro Viajante Os problemas combinatórios, devido às suas características peculiares, são modelados, em geral, de forma a otimizar a velocidade da pesquisa, embutindo, tanto nos operadores (Reprodução e Mutação) como na definição do cromossomo, as restrições intrínsecas do problema diminuindo, dessa maneira o tempo de processamento. A modelagem utilizada para resolver o Problema do Caixeiro Viajante foi a tradicional, com as cidades codificadas em binário e os operadores tradicionais. Assim temos dois problemas gravíssimos que comprometem o resultado obtido, são eles: o tamanho de um campo em binário (chamado de Loco), reservado para cada cidade, pode comportar valores maiores do que o número máximo de cidades (um campo de 4 bits por Loco, por exemplo, permite codificar até 16 cidades mesmo que o número de cidades do problema fosse 10); um operador tradicional de mutação, agindo sobre um cromossomo binário, pode fazer com que haja repetições no número da cidade em diferentes genes do cromossomo. Para se resolver estes problemas seria necessário construir um operador que refizesse o cromossomo retirando estes erros, o que consumiria uma fatia razoável do tempo de processamento e desviaria um pouco do objetivo do trabalho, que é modelar o problema o mais próximo possível dos conceitos de genética. 2.2 Implementação A ferramenta utilizada na implementação do SLAG foi o Borland C++ Builder Borland C++ Builder O Borland C++ Builder é um ambiente de desenvolvimento de aplicações orientado a objeto que permite desenvolver software para o sistema operacional Windows utilizando a linguagem de programação C++ [Dias 2000]. A razão da criação da linguagem C foi a necessidade de uma ferramenta poderosa para escrever programas, que utilizasse os recursos de máquina de uma forma
5 mais fácil que a linguagem assembly. A linguagem C é derivada da linguagem ALGOL 68 e foi baseada na linguagem B de Ken Thompson. A grande aceitação dessa linguagem decorre da facilidade de conciliar o poder de programação de baixo nível com o seu alto grau de portabilidade [Mateus 2000]. O C++ Builder é uma linguagem de Nível Médio, exatamente pelo fato de usar o C++, apesar de viabilizar facilmente o desenvolvimento de aplicações de diversos tipos, tais como banco de dados, Internet entre outros [Dias 2000]. Quando falamos em C++, às vezes lembramos dos velhos compiladores para DOS da Borland ou da Microsoft, como o Borland C++ e o Microsoft Visual C++, entre outros, mas este é poderoso em relação aos demais e pode ajudar na construção de uma aplicação rápida e sem muito esforço [Dias 2000]. 3 SLAG O SLAG tem como objetivo dar uma interface bem intuitiva ao usuário para poder resolver o problema do caixeiro viajante, onde o mesmo poderá visualizar um mapa do mundo e definir os pontos onde o caixeiro deve passar, podendo ele através da barra de ferramentas, limpar todos os pontos definidos como também limpar o caminho definido pelo Algoritmo Genético numa iteração anterior. Através da barra de ferramentas é que se inicia o processo de busca da melhor solução para o problema proposto. A interface geral do SLAG é mostrada na Figura 2. Figura 2. Interface do SLAG
6 Nesta ferramenta o usuário poderá definir o número de indivíduos inicial, o número de gerações desejado e a taxa de mutação para os cruzamentos. Por fim o usuário escolhe a cor das linhas do caminho a ser percorrido pelo caixeiro viajante. Depois que o usuário define as opções desejadas e marca os pontos onde o caixeiro deve passar, o sistema é requerido para traçar o caminho. O sistema define todos os parâmetros das funções utilizadas no algoritmo e começa a mostrar um relatório on-line, mostrado na Figura 3 com os valores genéticos dos melhores indivíduos de cada geração e ao final é mostrado o melhor indivíduo, juntamente com a geração a que pertence, a taxa de mutação final e o tempo decorrido. Figura 3. Relatório com os valores genéticos dos melhores indivíduos de cada geração. Após o relatório ser emitido é traçado o caminho que o caixeiro deve percorrer, conforme mostrado na Figura 4, onde o usuário poderá visualizar o número de passos válidos que o algoritmo encontrou e a distância total que o caixeiro deve percorrer. Figura 4. Visualização do caminho a ser percorrido pelo caixeiro viajante.
7 5 Conclusão e Trabalhos Futuros Neste artigo apresentamos o SLAG, uma ferramenta para resolver o Problema do Caixeiro Viajante utilizando algoritmos genéticos com um método de seleção chamado recorrente e utilizando o conceito de melhor poder de reprodução. Esta ferramenta possibilita a resolução de um problema específico conhecido como o Problema do Caixeiro Viajante, mas a base de todo algoritmo é muito genérica e com pequenas modificações apenas na parte que diz respeito ao valor genético, o algoritmo pode ser utilizado para otimização ou busca da solução de qualquer problema. Pode-se observar que quanto maior o número de cidades a serem percorridas o algoritmo perde em eficiência, isso por causa dos problemas relatados na metodologia utilizada na resolução do problema, isso decorre por causa dos parâmetros de controle dos algoritmos genéticos tradicionais que são muito estáveis. Trabalhos futuros em cima do SLAG é poder dar ao usuário a liberdade de escolha da metodologia para resolução do problema descrito, podendo ele optar pela metodologia de Representação por Adjacência, por Representação Ordinal ou por Representação por Caminho que serão descritas em trabalhos futuros. 6 Referências [Azevedo, Brasil & Oliveira 2000] Azevedo, F. M., Brasil, L. M., Oliveira, R. C. L. Redes Neurais com Aplicações em Controle e em Sistemas Especialistas. Florianópolis, Editora Visual Books. [Barcellos 2000] Barcellos, J. C. H. Algoritmos Genéticos Adaptativos: Um estudo comparativo. São Paulo, USP São Paulo. [Braga, Ludemir & Carvalho 2000] Braga, A. P., Ludermir, T. B., Carvalho, A. C. P. L. F. Redes Neurais Artificiais Teoria e aplicações. Rio de Janeiro, Editora LTC. [Oliveira, Brito, Fagundes & Jesus 2001] Oliveira, F. L., Brito, P. F., Fagundes, F., Jesus, R. M. C. S. Algoritmo Genético como Gerador de uma Seqüência de Estudos de Cálculo Proposicional. Palmas, Anais Encoinfo 2001.
Complemento IV Introdução aos Algoritmos Genéticos
Complemento IV Introdução aos Algoritmos Genéticos Esse documento é parte integrante do material fornecido pela WEB para a 2ª edição do livro Data Mining: Conceitos, técnicas, algoritmos, orientações e
Leia maisAlgoritmos Genéticos
UNIVERSIDADE PRESBITERIANA MACKENZIE Laboratório de Computação Natural LCoN I ESCOLA DE COMPUTAÇÃO NATURAL Algoritmos Genéticos Rafael Xavier e Willyan Abilhoa Outubro/2012 www.computacaonatural.com.br
Leia maisProjeto e Análise de Algoritmos Projeto de Algoritmos Heurísticas e Algoritmos Aproximados
Projeto e Análise de Algoritmos Projeto de Algoritmos Heurísticas e Algoritmos Aproximados Prof. Humberto Brandão humberto@bcc.unifal-mg.edu.br Universidade Federal de Alfenas Departamento de Ciências
Leia maisALGORITMOS GENÉTICOS: UMA VISÃO EXPLANATÓRIA
136 ALGORITMOS GENÉTICOS: UMA VISÃO EXPLANATÓRIA FILITTO, Danilo 1 Resumo: Os algoritmos Genéticos inspiram-se no processo de evolução natural e são utilizados para resolver problemas de busca e otimização
Leia maisNa medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.
1 Introdução aos Sistemas de Informação 2002 Aula 4 - Desenvolvimento de software e seus paradigmas Paradigmas de Desenvolvimento de Software Pode-se considerar 3 tipos de paradigmas que norteiam a atividade
Leia maisPROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software
PROCESSO DE DESENVOLVIMENTO DE SOFTWARE Introdução Modelos de Processo de Desenvolvimento de Software Os modelos de processos de desenvolvimento de software surgiram pela necessidade de dar resposta às
Leia maisINF 1771 Inteligência Artificial
Edirlei Soares de Lima INF 1771 Inteligência Artificial Aula 04 Algoritmos Genéticos Introdução Algoritmos genéticos são bons para abordar espaços de buscas muito grandes e navegálos
Leia maisALGORITMOS GENÉTICOS
ALGORITMOS GENÉTICOS INTRODUÇÃO São métodos adaptativos que podem ser usados para resolver problemas de busca e otimização. Na natureza a combinação de boas características provenientes de diferentes indivíduos
Leia maisTécnicas para Programação Inteira e Aplicações em Problemas de Roteamento de Veículos 14
1 Introdução O termo "roteamento de veículos" está relacionado a um grande conjunto de problemas de fundamental importância para a área de logística de transportes, em especial no que diz respeito ao uso
Leia maisAs fases na resolução de um problema real podem, de modo geral, ser colocadas na seguinte ordem:
1 As notas de aula que se seguem são uma compilação dos textos relacionados na bibliografia e não têm a intenção de substituir o livro-texto, nem qualquer outra bibliografia. Introdução O Cálculo Numérico
Leia maisDadas a base e a altura de um triangulo, determinar sua área.
Disciplina Lógica de Programação Visual Ana Rita Dutra dos Santos Especialista em Novas Tecnologias aplicadas a Educação Mestranda em Informática aplicada a Educação ana.santos@qi.edu.br Conceitos Preliminares
Leia maisAPLICAÇÃO DE MÉTODOS HEURÍSTICOS EM PROBLEMA DE ROTEIRIZAÇÃO DE VEICULOS
APLICAÇÃO DE MÉTODOS HEURÍSTICOS EM PROBLEMA DE ROTEIRIZAÇÃO DE VEICULOS Bianca G. Giordani (UTFPR/MD ) biancaggiordani@hotmail.com Lucas Augusto Bau (UTFPR/MD ) lucas_bau_5@hotmail.com A busca pela minimização
Leia maisComplexidade de Algoritmos. Edson Prestes
Edson Prestes Um problema pode ser resolvido através de diversos algoritmos; O fato de um algoritmo resolver um dado problema não significa que seja aceitável na prática. Na maioria das vezes, a escolha
Leia maisBC-0005 Bases Computacionais da Ciência. Modelagem e simulação
BC-0005 Bases Computacionais da Ciência Aula 8 Modelagem e simulação Santo André, julho de 2010 Roteiro da Aula Modelagem O que é um modelo? Tipos de modelos Simulação O que é? Como pode ser feita? Exercício:
Leia mais2 Diagrama de Caso de Uso
Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Diagrama de Caso de Uso (Use Case) Autoria:Aristófanes Corrêa
Leia maiscomputador-cálculo numérico perfeita. As fases na resolução de um problema real podem, de modo geral, ser colocadas na seguinte ordem:
1 UNIVERSIDADE FEDERAL DE VIÇOSA Departamento de Matemática - CCE Cálculo Numérico - MAT 271 Prof.: Valéria Mattos da Rosa As notas de aula que se seguem são uma compilação dos textos relacionados na bibliografia
Leia maisApostila de Fundamentos de Programação I. Prof.: André Luiz Montevecchi
Apostila de Fundamentos de Programação I Prof: André Luiz Montevecchi Introdução O mundo atual é dependente da tecnologia O uso intenso de diversos aparatos tecnológicos é parte integrante do nosso dia-a-dia
Leia maisIntrodução. Hardware X Software. Corpo Humano Parte Física. Capacidade de utilizar o corpo em atividades especificas explorando seus componentes
Introdução Hardware X Software Corpo Humano Parte Física Componentes 18 Capacidade de utilizar o corpo em atividades especificas explorando seus componentes Hardware Introdução Parte física: placas, periféricos,
Leia maisAlgoritmos Genéticos (GA s)
Algoritmos Genéticos (GA s) 1 Algoritmos Genéticos (GA s) Dado um processo ou método de codificar soluções de um problema na forma de cromossomas e dada uma função de desempenho que nos dá um valor de
Leia maisEngenharia de Requisitos Estudo de Caso
Engenharia de Requisitos Estudo de Caso Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 1 Engenharia de Requisitos Exemplo 1 Reserva de Hotel 1. INTRODUÇÃO Este
Leia maisOtimização de Funções Não Lineares por Meio do Algoritmo Árvore da Montanha
Otimização de Funções Não Lineares por Meio do Algoritmo Árvore da Montanha Amarildo de Vicente Colegiado do Curso de Matemática Centro de Ciências Exatas e Tecnológicas da Universidade Estadual do Oeste
Leia maisAlgoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br
(Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br Introdução O computador como ferramenta indispensável: Faz parte das nossas vidas; Por si só não faz nada de útil; Grande capacidade de resolução
Leia maisAMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS
UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIAS DA COMPUTAÇÃO BACHARELADO AMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS Orientando: Oliver Mário
Leia maisInteligência Computacional Aplicada a Engenharia de Software
Inteligência Computacional Aplicada a Engenharia de Software Estudo de caso III Prof. Ricardo de Sousa Britto rbritto@ufpi.edu.br Introdução Em alguns ambientes industriais, pode ser necessário priorizar
Leia maisCálculo Numérico Aula 1: Computação numérica. Tipos de Erros. Aritmética de ponto flutuante
Cálculo Numérico Aula : Computação numérica. Tipos de Erros. Aritmética de ponto flutuante Computação Numérica - O que é Cálculo Numérico? Cálculo numérico é uma metodologia para resolver problemas matemáticos
Leia mais3. Arquitetura Básica do Computador
3. Arquitetura Básica do Computador 3.1. Modelo de Von Neumann Dar-me-eis um grão de trigo pela primeira casa do tabuleiro; dois pela segunda, quatro pela terceira, oito pela quarta, e assim dobrando sucessivamente,
Leia maisRAFF Um Compilador para Facilitar o Aprendizado de Algoritmos
RAFF Um Compilador para Facilitar o Aprendizado de Algoritmos Almir Joaquim de Sousa 1, Fábio Silveira Vidal 1, Fredson Vieira Costa 1, Ranildo Costa Santana 1 Curso de Bacharelado em Ciência da Computação
Leia maisPlanejando o aplicativo
Um aplicativo do Visual FoxPro geralmente inclui um ou mais bancos de dados, um programa principal que configura o ambiente de sistema do aplicativo, além de uma interface com os usuários composta por
Leia maisStatus. Barra de Título. Barra de Menu. Barra de. Ferramentas Padrão. Caixa de nomes. Barra de. Ferramentas de Formatação. Indicadores de Coluna
O que é uma planilha eletrônica? É um aplicativo que oferece recursos para manipular dados organizados em tabelas. A partir deles pode-se gerar gráficos facilitando a análise e interpretação dos dados
Leia maisAULA 1 INTRODUÇÃO - ENGENHARIA DE SOFTWARE. Prof. Msc. Hélio Esperidião
AULA 1 INTRODUÇÃO - ENGENHARIA DE SOFTWARE Prof. Msc. Hélio Esperidião O QUE É UM ALGORITMO? É qualquer procedimento computacional bem definido que informa algum valor ou conjunto de valores como entrada
Leia maisUNIVERSIDADE FEDERAL DE SANTA CATARINA
UNIVERSIDADE FEDERAL DE SANTA CATARINA CIÊNCIAS DA COMPUTAÇÃO MÁQUINAS DE COMITÊ APLICADAS À FILTRAGEM DE SPAM Monografia submetida à UNIVERSIDADE FEDERAL DE SANTA CATARINA para a obtenção do grau de BACHAREL
Leia maisMicrosoft Office PowerPoint 2007
INTRODUÇÃO AO MICROSOFT POWERPOINT 2007 O Microsoft Office PowerPoint 2007 é um programa destinado à criação de apresentação através de Slides. A apresentação é um conjunto de Sides que são exibidos em
Leia maisIA Colônia de Formigas. Prof. Ricardo Britto DIE-UFPI rbritto@ufpi.edu.br
IA Colônia de Formigas Prof. Ricardo Britto DIE-UFPI rbritto@ufpi.edu.br Sumário Introdução O Experimento da Ponte Binária. Ant System Aplicado ao PCV. Elitist Ant System. Introdução Otimização colônia
Leia maisALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA
ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA INTRODUÇÃO O projeto de um banco de dados é realizado sob um processo sistemático denominado metodologia de projeto. O processo do
Leia maisNoções de. Microsoft SQL Server. Microsoft SQL Server
Noções de 1 Considerações Iniciais Basicamente existem dois tipos de usuários do SQL Server: Implementadores Administradores 2 1 Implementadores Utilizam o SQL Server para criar e alterar base de dados
Leia maisUML - Unified Modeling Language
UML - Unified Modeling Language Casos de Uso Marcio E. F. Maia Disciplina: Engenharia de Software Professora: Rossana M. C. Andrade Curso: Ciências da Computação Universidade Federal do Ceará 24 de abril
Leia mais)HUUDPHQWDV &RPSXWDFLRQDLV SDUD 6LPXODomR
6LPXODomR GH6LVWHPDV )HUUDPHQWDV &RPSXWDFLRQDLV SDUD 6LPXODomR #5,6. Simulador voltado para análise de risco financeiro 3RQWRV IRUWHV Fácil de usar. Funciona integrado a ferramentas já bastante conhecidas,
Leia maisPLANEJAMENTO DA MANUFATURA
58 FUNDIÇÃO e SERVIÇOS NOV. 2012 PLANEJAMENTO DA MANUFATURA Otimizando o planejamento de fundidos em uma linha de montagem de motores (II) O texto dá continuidade à análise do uso da simulação na otimização
Leia maisMetodologias de Desenvolvimento de Sistemas. Analise de Sistemas I UNIPAC Rodrigo Videschi
Metodologias de Desenvolvimento de Sistemas Analise de Sistemas I UNIPAC Rodrigo Videschi Histórico Uso de Metodologias Histórico Uso de Metodologias Era da Pré-Metodologia 1960-1970 Era da Metodologia
Leia maisO que é um programa? Programa é uma lista de instruções que descrevem uma tarefa a ser realizada pelo computador.
O que é um programa? Programa é uma lista de instruções que descrevem uma tarefa a ser realizada pelo computador. Linguagem de Programação Uma linguagem de programação é um método padronizado para expressar
Leia maisInteligência de Enxame: ACO
Inteligência de Enxame: ACO! Otimização colônia de formigas é uma meta-heurística: «baseada em população «inspirada no comportamento forrageiro das formigas.! Muitas espécies de formigas são quase cegas.!
Leia maisOrientação a Objetos
1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou
Leia maisUNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação
SOFT DISCIPLINA: Engenharia de software AULA NÚMERO: 08 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir conceitos relacionados a modelos e especificações. Nesta aula
Leia maisINTRODUÇÃO À LINGUAGEM C/C++
INTRODUÇÃO À LINGUAGEM C/C++ História da Linguagem C/C++ Dennis Ritchie, funcionário do Bell Telephone Laboratories, iniciou em 1972 o desenvolvimento da linguagem C. Ele elaborou grande parte de seu trabalho
Leia mais1.1. Organização de um Sistema Computacional
1. INTRODUÇÃO 1.1. Organização de um Sistema Computacional Desde a antiguidade, o homem vem desenvolvendo dispositivos elétricoeletrônicos (hardware) que funciona com base em instruções e que são capazes
Leia maisUniversidade Federal de Alfenas
Universidade Federal de Alfenas Projeto e Análise de Algoritmos Aula 04 Introdução a Análise de Algoritmos humberto@bcc.unifal-mg.edu.br Última aula Fundamentos de Matemática Exercícios: Somatórios; Logaritmos
Leia maisPodemos encontrar uma figura interessante no PMBOK (Capítulo 7) sobre a necessidade de organizarmos o fluxo de caixa em um projeto.
Discussão sobre Nivelamento Baseado em Fluxo de Caixa. Item aberto na lista E-Plan Podemos encontrar uma figura interessante no PMBOK (Capítulo 7) sobre a necessidade de organizarmos o fluxo de caixa em
Leia maisComputadores de Programação (MAB353)
Computadores de Programação (MAB353) Aula 19: Visão geral sobre otimização de programas 06 de julho de 2010 1 2 3 Características esperadas dos programas O primeiro objetivo ao escrever programas de computador
Leia maisCurso Técnico em Redes
Curso Técnico em Redes Prof. Airton Ribeiro - 2012 Histórico das Linguagens de Programação O que é? É um método padronizado para expressar instruções para um computador. É um conjunto de regras sintáticas
Leia maisBase Nacional Comum Curricular 2016. Lemann Center at Stanford University
Base Nacional Comum Curricular 2016 Lemann Center at Stanford University Parte II: Base Nacional Comum: Análise e Recomendações da Seção de Matemática Phil Daro Dezembro, 2015 BASE NACIONAL COMUM: ANÁLISE
Leia maisSAIBA MAIS SOBRE O LINUX E DESCUBRA QUAL DISTRIBUIÇÃO É MELHOR PARA VOCÊ! CURSO
1 AULA SAIBA MAIS SOBRE O LINUX E DESCUBRA QUAL DISTRIBUIÇÃO É MELHOR PARA VOCÊ! ROTEIRO PRÉ-REQUISITOS 1 INTRODUÇÃO 2 DISTRIBUIÇÕES LINUX 3 AJUDA PARA ESCOLHER SUA DISTRIBUIÇÃO LINUX 4 DÚVIDAS FREQUENTES
Leia maisPESQUISA OPERACIONAL: UMA ABORDAGEM À PROGRAMAÇÃO LINEAR. Rodolfo Cavalcante Pinheiro 1,3 Cleber Giugioli Carrasco 2,3 *
PESQUISA OPERACIONAL: UMA ABORDAGEM À PROGRAMAÇÃO LINEAR 1 Graduando Rodolfo Cavalcante Pinheiro 1,3 Cleber Giugioli Carrasco 2,3 * 2 Pesquisador - Orientador 3 Curso de Matemática, Unidade Universitária
Leia maisRoteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido
Arquitetura Roteiro Arquitetura Tipos de Arquitetura Centralizado Descentralizado Hibrido Questionário 2 Arquitetura Figura 1: Planta baixa de uma casa 3 Arquitetura Engenharia de Software A arquitetura
Leia maisAo longo do presente capítulo será apresentada uma descrição introdutória da tecnologia FPGA e dos módulos básicos que a constitui.
3 Tecnologia FPGA Ao longo do presente capítulo será apresentada uma descrição introdutória da tecnologia FPGA e dos módulos básicos que a constitui. 3.1. FPGA: Histórico, linguagens e blocos Muitos dos
Leia maisANDRÉ APARECIDO DA SILVA APOSTILA BÁSICA SOBRE O POWERPOINT 2007
ANDRÉ APARECIDO DA SILVA APOSTILA BÁSICA SOBRE O POWERPOINT 2007 CURITIBA 2015 2 SUMÁRIO INTRODUÇÃO AO MICROSOFT POWERPOINT 2007... 3 JANELA PRINCIPAL... 3 1 - BOTÃO OFFICE... 4 2 - FERRAMENTAS DE ACESSO
Leia maisESTUDO PRELIMINAR SOBRE A ESCALABILIDADE DE UM ALGORITMO GENÉTICO PARALELIZADO COM OPENMP. Mateus Fontoura Gomes da Rosa Márcia C.
ESTUDO PRELIMINAR SOBRE A ESCALABILIDADE DE UM ALGORITMO GENÉTICO PARALELIZADO COM OPENMP Mateus Fontoura Gomes da Rosa Márcia C. Cera Roteiro Introdução Problema de Roteamento de Veículos Objetivos da
Leia maisProtocolo TCP/IP. Neste caso cada computador da rede precisa de, pelo menos, dois parâmetros configurados:
Protocolo TCP/IP Neste caso cada computador da rede precisa de, pelo menos, dois parâmetros configurados: Número IP Máscara de sub-rede O Número IP é um número no seguinte formato: x.y.z.w Não podem existir
Leia maisProblema 8-Puzzle: Análise da solução usando Backtracking e Algoritmos Genéticos
Problema 8-Puzzle: Análise da solução usando e Nelson Florêncio Junior Orientador: Frederico Gadelha Guimarães Departamento de Computação UFOP 18 de agosto de 2011 Nelson Florêncio Junior (UFOP) PAA 1
Leia maisIntrodução à genética quantitativa usando os recursos do R
Introdução à genética quantitativa usando os recursos do R Marisa R. Cantarino 1 Julia M. P. Soler (orientadora) 2 1 Introdução Um dos principais desafios da pesquisa genética atualmente é estabelecer
Leia maisFaculdade de Engenharia Optimização. Prof. Doutor Engº Jorge Nhambiu
1 Programação Não Linear Aula 25: Programação Não-Linear - Funções de Uma única variável Mínimo; Mínimo Global; Mínimo Local; Optimização Irrestrita; Condições Óptimas; Método da Bissecção; Método de Newton.
Leia maisInteligência Computacional: resolvendo problemas difíceis da vida real
Instituto de Computação Semana Nacional da Ciência e Tecnologia Escola Agrotécnica Federal de Inconfidentes Inteligência Computacional: resolvendo problemas difíceis da vida real Carlos Eduardo de Andrade
Leia maisCapacidade = 512 x 300 x 20000 x 2 x 5 = 30.720.000.000 30,72 GB
Calculando a capacidade de disco: Capacidade = (# bytes/setor) x (méd. # setores/trilha) x (# trilhas/superfície) x (# superfícies/prato) x (# pratos/disco) Exemplo 01: 512 bytes/setor 300 setores/trilha
Leia maisENGENHARIA DE SOFTWARE I
ENGENHARIA DE SOFTWARE I Prof. Cássio Huggentobler de Costa [cassio.costa@ulbra.br] Twitter: www.twitter.com/cassiocosta_ Agenda da Aula (002) Metodologias de Desenvolvimento de Softwares Métodos Ágeis
Leia maisArquitetura de Rede de Computadores
TCP/IP Roteamento Arquitetura de Rede de Prof. Pedro Neto Aracaju Sergipe - 2011 Ementa da Disciplina 4. Roteamento i. Máscara de Rede ii. Sub-Redes iii. Números Binários e Máscara de Sub-Rede iv. O Roteador
Leia maisAnálise de Sistemas. Visão Geral: Orientação a Objetos. Prof. José Honorato Ferreira Nunes honorato.nunes@bonfim.ifbaiano.edu.br
Análise de Sistemas Visão Geral: Orientação a Objetos Prof. José Honorato Ferreira Nunes Prof. José Honorato Ferreira Nunes honorato.nunes@bonfim.ifbaiano.edu.br Resumo: VISÃO GERAL: Modelagem de sistemas
Leia maisCapítulo 3. Avaliação de Desempenho. 3.1 Definição de Desempenho
20 Capítulo 3 Avaliação de Desempenho Este capítulo aborda como medir, informar e documentar aspectos relativos ao desempenho de um computador. Além disso, descreve os principais fatores que influenciam
Leia maisTabela de roteamento
Existem duas atividades que são básicas a um roteador. São elas: A determinação das melhores rotas Determinar a melhor rota é definir por qual enlace uma determinada mensagem deve ser enviada para chegar
Leia maisMLP (Multi Layer Perceptron)
MLP (Multi Layer Perceptron) André Tavares da Silva andre.silva@udesc.br Roteiro Rede neural com mais de uma camada Codificação de entradas e saídas Decorar x generalizar Perceptron Multi-Camada (MLP -
Leia mais1. NÍVEL CONVENCIONAL DE MÁQUINA
1. NÍVEL CONVENCIONAL DE MÁQUINA Relembrando a nossa matéria de Arquitetura de Computadores, a arquitetura de Computadores se divide em vários níveis como já estudamos anteriormente. Ou seja: o Nível 0
Leia maisSimulação Computacional de Sistemas, ou simplesmente Simulação
Simulação Computacional de Sistemas, ou simplesmente Simulação Utilização de métodos matemáticos & estatísticos em programas computacionais visando imitar o comportamento de algum processo do mundo real.
Leia maisRoteiro para a escrita do documento de Especificação de Requisitos de Software (ERS)
Roteiro para a escrita do documento de Especificação de Requisitos de Software (ERS) Definição Geral: Disciplina de Compiladores Prof. Jorge Bidarra (UNIOESTE) A especificação de requisitos tem como objetivo
Leia maisRoteiro para preparação de proposta de Trabalhos Técnico-Científicos
1 Roteiro para preparação de proposta de Trabalhos Técnico-Científicos Prof. Valdemir Carrara www.valcar.net www.carrara.us 2 1 INTRODUÇÃO Na introdução deve-se descrever os objetivos principais do trabalho
Leia mais3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio
32 3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio Este capítulo apresenta o framework orientado a aspectos para monitoramento e análise de processos de negócio
Leia maisMRP II. Planejamento e Controle da Produção 3 professor Muris Lage Junior
MRP II Introdução A lógica de cálculo das necessidades é conhecida há muito tempo Porém só pode ser utilizada na prática em situações mais complexas a partir dos anos 60 A partir de meados da década de
Leia maisEngenharia de Software. Parte I. Introdução. Metodologias para o Desenvolvimento de Sistemas DAS 5312 1
Engenharia de Software Parte I Introdução Metodologias para o Desenvolvimento de Sistemas DAS 5312 1 Mitos do Desenvolvimento de Software A declaração de objetivos é suficiente para se construir um software.
Leia maisAnálise e Complexidade de Algoritmos
Análise e Complexidade de Algoritmos Uma visão de Intratabilidade, Classes P e NP - redução polinomial - NP-completos e NP-difíceis Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com http://www.bolinhabolinha.com
Leia maisFACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES
FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES Prof. Ms. Carlos José Giudice dos Santos cpgcarlos@yahoo.com.br www.oficinadapesquisa.com.br Conceito de Computador Um computador digital é
Leia maisO Rational Unified Process (RUP) é um processo de desenvolvimento de software inspirado no
1.1 RATIONAL UNIFIED PROCESS (RUP) O Rational Unified Process (RUP) é um processo de desenvolvimento de software inspirado no processo que atende pelo nome de Processo Unificado (ou UP do inglês Unified
Leia maisJava. Marcio de Carvalho Victorino www.dominandoti.eng.br
Java Marcio de Carvalho Victorino www.dominandoti.eng.br 3. Considere as instruções Java abaixo: int cont1 = 3; int cont2 = 2; int cont3 = 1; cont1 += cont3++; cont1 -= --cont2; cont3 = cont2++; Após a
Leia maisGERENCIAMENTO DO CONHECIMENTO NA EMPRESA DIGITAL
Capítulo 10 GERENCIAMENTO DO CONHECIMENTO NA EMPRESA DIGITAL 10.1 2003 by Prentice Hall OBJETIVOS Por que hoje as empresas necessitam de programas de gestão do conhecimento e sistemas para gestão do conhecimento?
Leia maisProjeto e Análise de Algoritmos Projeto de Algoritmos Tentativa e Erro. Prof. Humberto Brandão humberto@bcc.unifal-mg.edu.br
Projeto e Análise de Algoritmos Projeto de Algoritmos Tentativa e Erro Prof. Humberto Brandão humberto@bcc.unifal-mg.edu.br Laboratório de Pesquisa e Desenvolvimento Universidade Federal de Alfenas versão
Leia maisFUNDAÇÃO DE APOIO AO ENSINO TÉCNICO DO ESTADO DO RIO DE JANEIRO FAETERJ Petrópolis Área de Extensão PLANO DE CURSO
FUNDAÇÃO DE APOIO AO ENINO TÉCNICO DO ETADO DO RIO DE JANEIRO PLANO DE CURO 1. Identificação Curso de Extensão: INTRODUÇÃO AO ITEMA INTELIGENTE Professor Regente: José Carlos Tavares da ilva Carga Horária:
Leia maisBase de Dados para Administrações de Condomínios
Base de Dados para Administrações de Condomínios José Pedro Gaiolas de Sousa Pinto: ei03069@fe.up.pt Marco António Sousa Nunes Fernandes Silva: ei03121@fe.up.pt Pedro Miguel Rosário Alves: alves.pedro@fe.up.pt
Leia mais4 Avaliação Econômica
4 Avaliação Econômica Este capítulo tem o objetivo de descrever a segunda etapa da metodologia, correspondente a avaliação econômica das entidades de reservas. A avaliação econômica é realizada a partir
Leia maisMODELAGEM COM EQUAÇÕES DIFERENCIAIS DE PRIMEIRA ORDEM E APLICAÇÕES À ECONOMIA
MODELAGEM COM EQUAÇÕES DIFERENCIAIS DE PRIMEIRA ORDEM E APLICAÇÕES À ECONOMIA PAULO, João Pedro Antunes de Universidade Estadual de Goiás UnU de Iporá jpadepaula@hotmail.com RESUMO Esta pesquisa foi feita
Leia maisXDOC. Solução otimizada para armazenamento e recuperação de documentos
XDOC Solução otimizada para armazenamento e recuperação de documentos ObJetivo Principal O Que você ACHA De ter Disponível Online todos OS Documentos emitidos por SUA empresa em UMA intranet OU Mesmo NA
Leia maisObjetivos. Requisitos de Software. Tipos de Requisitos. O que é um requisito? Requisitos Funcionais e Não- Funcionais. Requisitos Funcionais
Objetivos de Software Gidevaldo Novais (gidevaldo.vic@ftc.br) Introduzir os conceitos do usuário e do Descrever requisitos funcionais e nãofuncionais (domínio) Apresentar um esqueleto de documento e notas
Leia mais4 Segmentação. 4.1. Algoritmo proposto
4 Segmentação Este capítulo apresenta primeiramente o algoritmo proposto para a segmentação do áudio em detalhes. Em seguida, são analisadas as inovações apresentadas. É importante mencionar que as mudanças
Leia maisATENÇÃO: * Arquivos com tamanho superior a 500 KB NÃO SERÃO ACEITOS * SOMENTE serão aceitos documentos do formato: PDF
TUTORIAL DE DIGITALIZAÇÃO DIRIGIDO AO USO DO PROCESSO ELETRÔNICO Adaptado do tutorial elaborado pelo colega MAICON FALCÃO, operador de computador da subseção judiciária de Rio Grande. Introdução Este tutorial
Leia maisFeature-Driven Development
FDD Feature-Driven Development Descrição dos Processos Requisitos Concepção e Planejamento Mais forma que conteúdo Desenvolver um Modelo Abrangente Construir a Lista de Features Planejar por
Leia maisALP Algoritmos e Programação. . Linguagens para Computadores
ALP Algoritmos e Programação Iniciação aos computadores. Linguagens para Computadores. Compiladores, Interpretadores. Ambientes de Programação 1 Linguagens para Computadores. Linguagem binária: Dispositivos
Leia maisSistemas de Informação I
+ Sistemas de Informação I Dimensões de análise dos SI Ricardo de Sousa Britto rbritto@ufpi.edu.br + Introdução n Os sistemas de informação são combinações das formas de trabalho, informações, pessoas
Leia maisArquiteturas RISC. (Reduced Instructions Set Computers)
Arquiteturas RISC (Reduced Instructions Set Computers) 1 INOVAÇÕES DESDE O SURGIMENTO DO COMPU- TADOR DE PROGRAMA ARMAZENADO (1950)! O conceito de família: desacoplamento da arquitetura de uma máquina
Leia maisAprendizagem de Máquina
Aprendizagem de Máquina Professor: Rosalvo Ferreira de Oliveira Neto Disciplina: Inteligência Artificial Tópicos 1. Definições 2. Tipos de aprendizagem 3. Paradigmas de aprendizagem 4. Modos de aprendizagem
Leia maisGUIA DE FUNCIONAMENTO DA UNIDADE CURRICULAR
Curso Engenharia Informática Ano letivo 2012-2013 Unidade Curricular Arquitectura de Computadores ECTS 6 Regime Obrigatório Ano 2º Semestre 2ºsem Horas de trabalho globais Docente (s) Luis Figueiredo Total
Leia maisLINKAGE E OS MAPAS GENÉTICOS
Disciplina: Biologia Série: 2ª série EM - 1º TRIM Professora: Ivone Azevedo da Fonseca Assunto: Linkage e os Mapas Genéticos Humanos LINKAGE E OS MAPAS GENÉTICOS Os trabalhos de Gregor Mendel não foram
Leia maisCAP. I ERROS EM CÁLCULO NUMÉRICO
CAP. I ERROS EM CÁLCULO NUMÉRICO 0. Introdução Por método numérico entende-se um método para calcular a solução de um problema realizando apenas uma sequência finita de operações aritméticas. A obtenção
Leia maisPós Graduação Engenharia de Software
Pós Graduação Engenharia de Software Ana Candida Natali COPPE/UFRJ Programa de Engenharia de Sistemas e Computação FAPEC / FAT Estrutura do Módulo Parte 1 QUALIDADE DE SOFTWARE PROCESSO Introdução: desenvolvimento
Leia maisA Otimização Colônia de Formigas
A Otimização Colônia de Formigas Estéfane G. M. de Lacerda Departamento de Engenharia da Computação e Automação UFRN 22/04/2008 Índice A Inspiração Biológica O Ant System Aplicado ao PCV O Ant System Aplicado
Leia mais