Estudo comparativo de algoritmos genéticos aplicados ao escalonamento de tarefas

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

Download "Estudo comparativo de algoritmos genéticos aplicados ao escalonamento de tarefas"

Transcrição

1 Estudo comparativo de algoritmos genéticos aplicados ao escalonamento de tarefas Cadernos de Daniela D'Andréa Santos Daniela Pasotto Alunas do Curso de Mestrado do Programa de em Engenharia da Universidade Presbiteriana Mackenzie Gina Maira Barbosa de Oliveira Professora da Universidade Federal de Uberlândia RESUMO Uma instância do problema de escalonamento é a alocação de diversas tarefas para serem executadas em processadores diferentes em uma estrutura paralela de hardware. Nesse caso, precisamos encontrar a melhor distribuição para essas tarefas entre os processadores de forma a minimizar o tempo total de processamento. Este artigo faz um estudo comparativo entre duas abordagens baseadas em algoritmos genéticos que resolvem esse problema. Os parâmetros e critérios utilizados em cada abordagem são apresentados e discutidos. Palavras-chave: Algoritmos Genéticos. Escalonamento de Tarefas e Inteligência Artificial. 1 INTRODUÇÃO O problema de escalonamento de tarefas consiste em encontrar a ordenação adequada de um conjunto de tarefas ao longo do tempo, obedecendo a restrições de precedências (tarefas) e recursos (processadores) (AZAMBUJA; SANTOS; BORGES, 2001). É um problema de otimização combinatória bem conhecido pertencente à classe de problemas intratáveis (NP completo) (MICHELI, 1994). Esse problema, normalmente, é formulado como um problema de minimização do tempo requerido para se executar um conjunto de tarefas com restrições. 99

2 Esse artigo demonstra como um Algoritmo Genético pode ser utilizado para determinar as prioridades relativas entre tarefas que competem por um mesmo recurso de hardware, permitindo assim, selecionar em que instante de tempo cada tarefa será executada em um determinado recurso. Dentre diversas simulações realizadas, duas abordagens foram as que encontraram os melhores resultados. Nesse trabalho, essas abordagens são apresentadas e é realizada uma comparação entre elas. 2 ESCALONAMENTO EM PROCESSADORES O problema de escalonamento de tarefas é basicamente um problema de otimização combinatória. Achar a solução ótima é obter a melhor combinação para a execução das tarefas nos processadores. Esse problema pertence à classe dos NP- Completos, ou seja, não é possível elaborar um algoritmo que garanta encontrar resultados sempre bons para qualquer instância do problema, em um tempo de processamento viável (CORREA; MELO, 2000). Para resolvê-lo é necessário, antes de tudo, obter informações sobre as tarefas a serem executadas no sistema. Para isso utiliza-se uma representação de relacionamento entre tarefas. Uma das representações mais comuns e a adotada nesse estudo é o Grafo Direcionado Acíclico, conhecido como GDA (GRAJGAR, 1999; KWOK; AHMAD, 1997). Um grafo direcionado é formado por vértices (ou nós) e arestas (ou links) direcionadas. Os vértices representam as tarefas a serem executadas e o custo de processamento de cada tarefa. As arestas representam as restrições de precedências entre as tarefas, bem como o custo de comunicação, que deve ser computado caso as tarefas sejam executadas em processadores diferentes. Caso contrário, esse custo é considerado nulo. O problema abordado nesse trabalho é um escalonamento de tarefas entre dois processadores de uma estrutura paralela, conhecido como Gauss 18. A Figura 1 apresenta o problema Gauss 18 que é um grafo direcionado composto de 18 tarefas. Os círculos (nós) representam as tarefas. Ao lado esquerdo de cada círculo vemos o tempo total de execução da tarefa. Os links entre os nós representam as precedências. Por exemplo, a tarefa 8 só pode ser iniciada após as execuções das tarefas 3 e 6. Os números ao lado de cada link apresentam o custo de comunicação entre as tarefas, caso estejam alocadas em processadores diferentes. Assim, se a tarefa 6 estiver alocada no mesmo processador da tarefa 8, esta última pode ser iniciada imediatamente após a realização de 6. Porém, se elas estiverem alocadas em processadores distintos, a tarefa 8 só poderá ser realizada 12 unidades de tempo após o término da tarefa 6. Neste programa, são especificadas: 100 as tarefas a serem realizadas; a precedência entre as tarefas; o tempo de execução de cada tarefa; o tempo de comunicação quando duas tarefas estão alocadas em processadores diferentes.

3 Figura 1: Grafo Gauss 18 Há vários trabalhos propondo soluções diferentes para esse problema, sendo que a maioria das técnicas encontradas para resolvê-los estão baseadas em métodos heurísticos, nos quais o algoritmo garante encontrar uma solução próxima da ótima em um tempo inferior ao polinomial (ZOMAYA; WARD; MALEY, 1999). Esses trabalhos, em sua maioria, utilizam técnicas de inteligência artificial, tais como os autômatos celulares e os algoritmos genéticos, para resolver o problema de escalonamento de tarefas. As abordagens que adotam autômato celular têm como maior desafio encontrar a melhor regra para resolver o problema, que são geradas utilizando técnicas de algoritmo genético. Uma vez encontrada a regra, o autômato celular é capaz de obter a solução ótima (SEREDYNKI; ZOMAYA, 2002; SWECICK; SEREDYNKI, 2002). As abordagens que adotam a técnica de Algoritmo Genético para resolução desse problema, foco de estudo desse trabalho, adaptam o algoritmo genético para encontrar a solução ótima do problema de escalonamento de tarefas (GOLDBERG, 1989; VENKATARAMAN; REDDY; POMERANZ, 2001). A técnica de algoritmo genético para resolver esses problemas consiste em gerar possíveis soluções codificadas na forma de indivíduos, que interagem com outros na mesma população, procurando através de operações genéticas, gerar indivíduos mais aptos, ou seja, obter a solução ótima (COSTA; MELO, 2000). Os métodos propostos que utilizam algoritmo genético mostram que seu desempenho pode ter grande dependência do número de processadores e tarefas que serão executadas, bem como, dos parâmetros internos (CORREA; MELO, 2000). 101

4 3 ALGORITMO GENÉTICO Publicados inicialmente em 1975, pelo professor John Holland, da Universidade de Michigam, os algoritmos genéticos procuram solucionar problemas complexos de otimização e aprendizado computacional, de uma forma probabilística, sem exigir muito conhecimento prévio destes. Trata-se de um método de resolução de propósitos gerais, cujo princípio é independente da natureza do problema específico. Essencialmente, tais algoritmos baseiam-se na Teoria da Seleção Natural, descrita no livro On the Origin of Species By Means of Natural Selection, publicado em 1858 pelos naturalistas ingleses Charles Darwin e Alfred Wallace, o qual condensa também contribuições de diversos outros naturalistas como Lamark, Linnaeus e Malthus sobre o processo de classificação biológica (MICHELI, 1994). A Teoria da Evolução supõe que a evolução das espécies está diretamente ligada à capacidade dos indivíduos se adaptarem ao seu habitat, onde apenas os mais aptos sobrevivem e deixam descendentes. Nesse processo seletivo são gerados indivíduos com algumas características que os destacam (positivamente) dos demais de sua espécie. Com isso aumentam suas probabilidades de sobrevivência e geram descendentes ainda melhores, evoluindo a espécie quanto à sua adaptação ao meio ambiente. Por outro lado, indivíduos que não se destacam tendem a não sobreviverem e a não gerar descendentes, sendo gradativamente eliminados. Os algoritmos genéticos procuram imitar, de uma forma computacional, algumas etapas desse processo evolutivo das espécies. Recebem esse nome porque assumem como referência a codificação de DNA, encontrada no núcleo da célula de cada indivíduo. Esse código genético é representado por cromossomos, que são cadeias de genes. Durante a reprodução, aplicada através das operações genéticas de cruzamento (crossover), mutação e seleção, os genes dos pais são misturados, gerando novos cromossomos que de uma forma organizada, combinando as características dos seus progenitores. O processo de seleção aproveita informações históricas dos melhores elementos (PINTO; MONTEIRO, 1998). O Fluxograma 1 mostra um fluxograma básico dos passos de execução em um algoritmo genético típico. Ele consiste basicamente de um laço de repetição dentro do qual são executadas as operações genéticas até um determinado critério de parada (MICHELI, 1994). Os algoritmos genéticos são utilizados para a resolução de problemas complexos de otimização e aprendizagem computacional, independentemente da natureza específica de um problema e sem exigir muito conhecimento prévio dele. O acoplamento entre o método da resolução de propósitos gerais (algoritmo genético) com o problema específico - no nosso caso, o escalonamento das tarefas - ocorre através da representação de uma solução na estrutura de cromossomo e da 102

5 definição de uma função de avaliação ou fitness. Na próxima seção discutiremos duas abordagens diferentes que foram implementadas na solução do grafo Gauss 18, ambas baseadas em AGs. Cadernos de 4 DUAS ABORDAGENS BASEADAS EM ALGORITMOS GENÉTICOS O modelo genérico do Algoritmo Genético foi adaptado para resolver o problema do escalonamento de tarefas, ou seja, encontrar a melhor distribuição de tarefas entre os dois processadores de acordo com o programa Gauss 18. Para este fim, foi utilizada a linguagem C e diversas abordagens foram implementadas e posteriormente analisadas. Examinaremos a seguir as duas abordagens que tiveram maior êxito na solução desse problema. Para cada passo do AG, serão descritas as soluções e parâmetros adotados em cada abordagem. A) Representação Cromossômica Os indivíduos ou cromossomos, em ambas as abordagens, são representados através de uma matriz 2 18, onde para cada tarefa existe um processador associado. Essa matriz é composta por 18 tarefas variando de 0 à 17, sem repetições, que podem ser executadas no processador 0 ou no processador 1. Como o problema é bem conhecido e limitado a 18 tarefas, opta-se por um cromossomo estático, ou seja, com um tamanho conhecido e pré-determinado. A Figura 3. mostra um exemplo da representação adotada. B) População Inicial A população inicial é formada por um conjunto de indivíduos que podem representar soluções para o problema. Para as duas abordagens, a geração dessa população inicial é aleatória, porém sempre garantindo que as tarefas sorteadas não sejam repetidas em um mesmo indivíduo e seguindo as respectivas restrições de precedências. A rotina para essa função sorteia aleatoriamente um número entre 0 e 17 que representam as tarefas a serem executadas. Para cada tarefa, há um sorteio também aleatório do processador em que deve ser executada, nesse caso, processador 1 ou 2. Apesar de ambas as abordagens validarem as precedências, há uma diferença na estratégia adotada na implementação dessa função: 103

6 Gera-se a População Inicial com T P indivíduos. Avaliam-se todos os indivíduos da População Inicial. População atingiu Critério de Término? NÃO Selecionam-se p rec indivíduos que formarão os pares do crossover. SIM Melhor Indivíduo da População é apresentado como Solução FIM Para cada par, sorteia-se um Ponto de Crossover e 2 novos indivíduos são gerados por crossover. Submetem-se os novos indivíduos a uma mutação com probabilidade p mut Avalia-se o desempenho dos novos indivíduos formados após os processos de Crossover e Mutação. Selecionam-se os T P melhores indivíduos dentre a população original e os novos indivíduos. Fluxograma 1: Fluxograma Básico dos Algoritmos Genéticos Tarefa Processador Figura 2: Exemplo da representação do indivíduo 104 Estratégia 1: a abordagem 1 verifica cada posição do indivíduo e escolhe quais as tarefas que poderão ser inseridas naquela posição, o indivíduo possui 18 posições, ou seja, 18 tarefas, para cada posição existe uma ordem das tarefas, conforme mostrado na Figura 1 (Grafo Gauss 18). Por exemplo, a tarefa de número 6 só pode ser executada depois da tarefa 2, então essa tarefa nunca poderia ficar na segunda posição, pois a primeira posição obrigatoriamente é a tarefa 0 e depois para a segunda posição poderiam ser as tarefas de número 1,2,3,4 e 5, ou seja, essas tarefas irão participar do sorteio para a segunda posição, e assim por diante, até chegar na última posição. Estratégia 2: a abordagem 2 testa cada tarefa sorteada para garantir as restrições do problema. Para cada tarefa sorteada deve-se verificar se as tarefas que são precedentes à sua execução, já fazem parte do indivíduo (já tenham sido selecionadas anteriormente). Se essa condição é satisfeita, a tarefa passa a compor o indivíduo, ou seja, passa a ser um gene desse indivíduo, e é retirada das possíveis tarefas a serem sorteadas. Caso contrário, a tarefa é desconsiderada para esse sorteio, mas continua sendo uma tarefa possível de ser selecionada. Essa função continua sorteando tarefas até que o indivíduo esteja completo e, garante que todas as tarefas serão executadas sem repetição e que os indivíduos sejam válidos, ou seja, respeitam as precedências de tarefas indicadas no problema.

7 C) Avaliação da População Em ambas as abordagens, o tempo total de execução de um escalonamento de tarefas é utilizado para a avaliação de cada indivíduo: FITNESS = TEMPO EXE- CUÇÃO. Os indivíduos são avaliados de acordo com o custo de processamento de todas as tarefas, considerando custos adicionais caso seja necessária a comunicação de tarefas entre processadores. Por exemplo, de acordo com a Figura 1, a tarefa 6 possui um custo de 6 unidades de tempo para o seu processamento e tem como precedente a tarefa 2, portanto tem que aguardar o término da execução da tarefa 2 para iniciar o seu processamento. Se a tarefa 2 executar em um processador diferente da tarefa 6, será somado um custo de comunicação de 8 unidades de tempo no custo total do indivíduo, ou seja, a tarefa 2 terá um custo de 4 unidades de tempo para execução e mais um custo de comunicação de 8 unidades de tempo. Então a tarefa 6 precisará aguardar 12 unidades de tempo para iniciar sua execução. O melhor indivíduo é aquele que distribuir todas as tarefas entre os dois processadores com o menor custo de tempo de execução. Cadernos de D) Método de Seleção As duas abordagens utilizam o método de seleção conhecido como Torneio. Esse método foi escolhido por apresentar uma baixa pressão seletiva e, assim, tentar evitar uma convergência prematura, uma vez que os critérios para a geração da população inicial são extremamente direcionados. Além disso, é um método simples para implementação e o mais fácil de realizar alterações. A implementação do Torneio Simples com tour de três significa que 3 indivíduos da população são sorteados aleatoriamente (por isso o nome "tour 3") e seus respectivos custo total de execução, calculados na avaliação da população, são comparados entre si. O indivíduo que possuir o menor custo na comparação, é selecionado para participar da nova etapa do algoritmo genético, o crossover. Porém há uma diferença entre as duas abordagens: após a disputa entre os três indivíduos sorteados, na abordagem 1, o vencedor sempre retorna para participar dos próximos sorteios, enquanto, na abordagem 2, uma vez que o indivíduo tenha vencido a disputa, ele é retirado e não pode mais participar da seleção de outro pai. E) Crossover O método utilizado em ambas as abordagens é o Crossover Cíclico, que previne o indivíduo de ter tarefas repetidas. Conforme demonstrado na Figura 3, esse método consiste no seguinte processo: após a seleção de dois indivíduos (os pais), sorteia-se uma posição no indivíduo chamado de Pai 1 para passar a sua respectiva tarefa para a mesma posição no novo indivíduo, o Filho 2. Para garantir que não haja repetição de tarefas nesses novos indivíduos, identifica-se no Pai 2, a tarefa que foi selecionada no Pai 1, e transfere-se essa tarefa para o Filho 1, na mesma posição em 105

8 que foi encontrada, formando assim um ciclo, onde todos os genes dentro desse ciclo são transferidos da mesma maneira. Os que permanecem fora desse ciclo, são transferidos do Pai 1 e Pai 2, sem alterações, para as mesmas posições do Filho 1 e Filho 2, respectivamente. Há uma diferença na utilização desse método entre as abordagens aqui estudadas: na abordagem 1, os processadores acompanham o ciclo de transferência das tarefas para os novos filhos, enquanto na abordagem 2, os processadores apesar de também acompanharem o ciclo de transferência das tarefas, eles sofrem uma mutação (alteração do processador) para que o crossover não fique muito conservador. F) Mutação Em ambas as abordagens foi utilizado o processo de Permutação Simples, onde uma quantidade de indivíduos são sorteados de acordo com a taxa de mutação e, para cada um desses indivíduos, são escolhidas aleatoriamente 2 posições, ou 2 genes, para a transferência do código genético, conforme exemplificado na Figura 4. Nessa etapa, após os processos de crossover e mutação, a abordagem 1 verifica todos os novos indivíduos e, para os que não são válidos, os indivíduos são corrigidos, para evitar que existam novos indivíduos inválidos. O processo de correção verifica se existe alguma precedência entre as tarefas que não esteja sendo atendida e altera os genes até que todas as posições sejam corrigidas, sendo que, no final do processo, todos os indivíduos são válidos. Já na abordagem 2, não há validação das precedências e indivíduos inválidos podem ser gerados pela mutação. Pai 1 Pai 2: Indivíduos selecionados para participar do Crossover Pai 1: Posição sorteada = 3 Pai 1: Filho 1 : Pai 2: Filho 2: Figura 4: Crossover Cíclico Figura 3: Crossover Cíclico Figura 4: Mutação - Permutação Simples 106

9 G) Condição de término Ambas as abordagens utilizaram como condição de término o número máximo de gerações da população. Porém, enquanto a primeira abordagem limitou a execução em 200 gerações, a segunda abordagem utilizou 300 gerações para atender essa condição. Cadernos de H) Parâmetros utilizados Os parâmetros utilizados são diferentes para cada abordagem, com exceção da taxa de indivíduos selecionados para o processo de crossover, igual a 60%. Na primeira abordagem, a população inicial é formada por 50 indivíduos e a taxa de mutação por indivíduo é de 100%. Já na segunda abordagem, os parâmetros são 250 e 40%, respectivamente. I) Comparação das duas abordagens A Tabela 1 sintetiza os métodos e parâmetros utilizados nas duas abordagens, na qual são destacados os pontos em que as abordagens diferem. Podemos concluir: As duas abordagens adotam a mesma representação cromossômica e a mesma função de avaliação. As duas abordagens são similares na geração da população inicial, mas a estratégia para validação dos indivíduos da abordagem 2 é menos direcionada. Na seleção, embora ambas empreguem o torneio de 3, a abordagem 1 permite repetição no sorteio dos pais e a abordagem 2, não. Apesar de ambas utilizarem o método de crossover cíclico e a mesma taxa, a abordagem 1 valida as precedências e não altera as tarefas, enquanto a abordagem 2 não valida precedências e aplica uma mutação nas tarefas. Na mutação, as duas abordagens fazem permutação simples, porém a abordagem 1 valida as precedências e a abordagem 2 não valida. Gerações: A abordagem 2 usa mais gerações que a abordagem 1. População: A abordagem 2 usa mais indivíduos que a abordagem 1. Taxa de mutação: A abordagem 1 emprega mais mutação que a abordagem

10 Tabela 1: Comparação entre as abordagens desenvolvidas. CRITÉRIO ABORDAGEM 1 ABORDAGEM 2 Matriz com tarefas e processadores na Matriz com tarefas e processadores REPRESENTAÇÃO ordem de execução. na ordem de execução. POPULAÇÃO INICIAL Sorteio das tarefas e processadores, respeitando as precedências. Estratégia 1 na validação. Sorteio das tarefas e processadores, respeitando as precedências. Estratégia 2 na validação. AVALIAÇÃO SELEÇÃO CROSSOVER MUTAÇÃO CONDIÇÃO TÉRMINO População com 50 indivíduos. População com 250 indivíduos. Custo total da execução do Custo total da execução do processamento. processamento. Método Torneio com Tour 3. Método Torneio com Tour 3. Re-integração do indivíduo vencedor Não re-integra indivíduo vencedor nos outros sorteios. nos outros sorteios. Cíclico para processador e tarefa. Cíclico para processador e tarefa. 60% de taxa de crossover. 60% de taxa de crossover. O processador acompanha a tarefa. O processador acompanha a tarefa, mas sofre mutação. Validação de restrições de Sem validação de restrições de precedências dos novos indivíduos. precedências dos novos indivíduos. Permutação de 1 tarefa e 1 Permutação de 1 tarefa e 1 processador. processador. 100% de taxa de mutação. 40% de taxa de mutação. Validação de restrições de Sem validação de restrições de precedências. precedências. 200 gerações. 300 gerações. Tabela 2: resultados obtidos. RESULTADOS ABORDAGEM 1 ABORDAGEM 2 MÉDIA APTIDÃO CONVERGÊNCIA 3 indivíduos obtidos em 10 7 indivíduos obtidos em 10 execuções com custo 44. execuções com custo RESULTADOS OBTIDOS NAS DUAS ABORDAGENS Cada abordagem foi implementada em C, resultando em dois programas para o escalonamento do Gauss 18. Cada programa foi executado 10 vezes e em algumas execuções foi possível encontrar uma solução ótima. Existem diferentes soluções ótimas para esse problema, com o custo total de tempo igual a 44 unidades. Além disso, diferentes soluções ótimas foram encontradas, conforme apresentado na Figura 6. Na abordagem 1, o algoritmo genético convergiu 3 vezes para a solução ótima, enquanto na abordagem 2, o algoritmo convergiu 7 vezes para a solução ótima, conforme apresenta a Tabela 2. O Gráfico 1 apresenta a evolução, através das gerações, da média da avaliação da população, em duas execuções que atingiram uma solução ótima, uma para cada abordagem. 108

11 ABORDAGEM 1 Tarefa Processador Cadernos de Tarefa Processador ABORDAGEM 2 Tarefa Processador Tarefa Processador Figura 6: Soluções ótimas obtidas 6 CONCLUSÃO Este estudo conclui que a abordagem 1 é mais direcionada, já que executa a validação das restrições de precedências no crossover e na mutação. Com isso, ela consegue convergir mais rápido para a solução ótima, conforme o gráfico apresentado. Por isso, a abordagem 1 precisa de um número menor de indivíduos e de gerações. Em compensação, essa abordagem corre um risco maior de convergência prematura e, talvez por isso, tenha que utilizar uma taxa de mutação maior. A abordagem 2, por adotar critérios no algoritmo genético menos rigorosos, converge mais lentamente, mas com menor chance de ocorrer convergência prematura. Assim, a segunda abordagem apresenta uma taxa de convergência maior para o ótimo. Por outro lado, a abordagem 1 utiliza parâmetros mais modestos (número de indivíduos e número de gerações) correspondendo a um tempo menor de execução. Essa análise sugere que a partir de parâmetros e critérios diferentes no algoritmo genético para resolução de um mesmo problema, as duas abordagens podem encontrar a solução ótima, nesse caso, o menor custo para execuções das tarefas, sendo que a primeira abordagem é mais eficiente em relação ao tempo de processamento e a segunda é mais eficiente em relação à taxa de convergência ao ótimo. 109

12 Média da Aptidão da População Média: Gerações (a) Média da Aptidão da População Média: Gerações (b) Gráfico 1: Evolução da média da avaliação da população: (a) abordagem 1 (b) abordagem 2. A comparative study of genetic algorithms applied to a scheduling task ABSTRACT 110 An instance of the scheduling problem is the allocation of multiple tasks to be executed in different processors in a parallel structure. In this case, we need to find out the best tasks distribuition on the processors to minimize the total processing time. This paper does a comparative study of two different models based in genetic algorithms used to solve this problem. The parameters and criteria used in each model are presented and argued. Keywords: Genetic algorithms. Scheduling task. Artificial inteligence.

13 REFERÊNCIAS AXELSSON, J. Architecture synthesis and partitioning of real time systems: a comparison of three heuristic search strategies Trabalho apresentado no Workshop Hardware/Software Codesign, AZAMBUJA, Rogério X.; SANTOS, Luiz Claudio V.; BORGES, Paulo Sérgio S. Escalonamento com restrição de recursos utilizando algoritmo genético Trabalho apresentado no I Congresso Brasileiro de Computação, BRIGHT, Marc S.; ARSLAN, Tughrull. Synthesis of low power DSP systems using a genetic algorithm. IEEE Transactions on evolutionary Computation, [S.l.], v. 5, no. 1, Feb CORREA, Jan Mendonça; MELO, Alba Cristina. Algoritmos genéticos para escalonamento de processadores Trabalho apresentado no Workshop LAICO - Laboratório de Sistemas Integrados e Concorrentes, COSTA, Luciano V.; MELO, Alba Cristina. PSS: Serviço de suporte ao escalonamento de processadores em sistemas DSM Trabalho apresentado no Workshop LAICO - Laboratório de Sistemas Integrados e Concorrentes, GOLDBERG, David. Genetic Algorithms in search, optimization and machine learning. [S.l.]: Addison-Wesley Publishing Company, GRAJCAR, Martin. Genetic list scheduling algorithm for scheduling and allocation on a loosely coupled heterogeneous multiprocessor system Trabalho apresentado na DAC - 36 th Design Automation Conference, HOLLAND, John H. Adaptation in natural and artificial systems. Ann Arbor: University of Michigam Press, KWOK, Yu-Kwong; AHMAD, Ishfaq. Efficient Scheduling of arbitrary task graphs to multiprocessors using a parallel genetic algorithm. Journal of Parallel and Distributed Computing, [S.l.], v. 47, no. 1, p , Nov MICHELI, Giovani de. Synthesis optimization of digital circuits. [S.l.]: Mc Graw-Hill, PINTO, Ivan Guedes; MONTEIRO, Victor Santos. Algoritmos genéticos distribuídos. Lisboa: Universidade Técnica de Lisboa, SEREDYNKI, Franciszek; ZOMAYA, Hebert Y. Sequential and parallel Cellular Automata: based scheduling algorithms. IEEE Transactions on Parallel and Distributed Systems, local, v. 3, no. 10, p , Oct SWIECICKA, Anna; SEREDYNKI, Franciszek. Applying cellular Automata in multiprocessor scheduling. [S.l], Trabalho apresentado na PARELEC - International Conference on Parallel Computing in Electrical Engineering, VENKATARAMAN, Ganesh; REDDY, Sudhakar M.; POMERANZ, Ireth. Gallop: genetic algorithm based low power FSM synthesis by simultaneous partitioning and state assignment. IEEE Transactions on Evolutionary Computation, [S.l.], v. 5, no. 1, Feb Cadernos de 111

14 ZOMAYA, Albert Y.; WARD, Chris; MACEY, Bem. Genetic scheduling for parallel processor systems: comparative studies and performance issues. IEEE Transactions on Parallel and Distributed Systems, New York, v. 10, no. 8, p , Aug

ALGORITMOS GENÉTICOS: UMA VISÃO EXPLANATÓRIA

ALGORITMOS 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 mais

Algoritmos Genéticos

Algoritmos 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 mais

Introdução às Redes Neurais Artificiais

Introdução às Redes Neurais Artificiais Introdução às Redes Neurais Artificiais Treinamento via Algoritmos Genéticos Prof. João Marcos Meirelles da Silva http://www.professores.uff.br/jmarcos Departamento de Engenharia de Telecomunicações Escola

Leia mais

INF 1771 Inteligência Artificial

INF 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 mais

Orientação a Objetos

Orientaçã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 mais

Inteligência Computacional Aplicada a Engenharia de Software

Inteligê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 mais

ALGORITMOS GENÉTICOS

ALGORITMOS 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 mais

Complemento IV Introdução aos Algoritmos Genéticos

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 mais

- Computação Evolutiva -

- Computação Evolutiva - - Computação Evolutiva - Prof. Dr. Cícero Garrozi DEINFO - UFRPE PPGIA@UFRPE cicerog@gmail.com Site da disciplina: http://cicerog.blogspot.com Sumário Situando a Computação Evolucionária Metáfora principal

Leia mais

O mecanismo de alocação da CPU para execução de processos constitui a base dos sistemas operacionais multiprogramados.

O mecanismo de alocação da CPU para execução de processos constitui a base dos sistemas operacionais multiprogramados. O mecanismo de alocação da CPU para execução de processos constitui a base dos sistemas operacionais multiprogramados. A multiprogramação tem como objetivo permitir que, a todo instante, haja algum processo

Leia mais

Busca Estocástica Baseada em Planejamento para Maximizar Metas em Jogos de RTS

Busca Estocástica Baseada em Planejamento para Maximizar Metas em Jogos de RTS Busca Estocástica Baseada em Planejamento para Maximizar Metas em Jogos de RTS Autor:Thiago França Naves 1, Orientador: Carlos Roberto Lopes 1 1 Programa de Pós-Graduação em Ciência da Computação Universidade

Leia mais

4 Segmentação. 4.1. Algoritmo proposto

4 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 mais

2 Diagrama de Caso de Uso

2 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 mais

A SOLUTION OF N-QUEENS PROBLEM BY GENETIC ALGORITHMS

A SOLUTION OF N-QUEENS PROBLEM BY GENETIC ALGORITHMS UMA SOLUÇÃO DO PROBLEMA DAS N RAINHAS ATRAVÉS DE ALGORITMOS GENÉTICOS A SOLUTION OF N-QUEENS PROBLEM BY GENETIC ALGORITHMS Eliane Vendramini de Oliveira Mestre em Engenharia Elétrica UNESP/ Ilha Solteira

Leia mais

2 Atualidade de uma base de dados

2 Atualidade de uma base de dados 2 Atualidade de uma base de dados Manter a atualidade de uma base de dados é um problema que pode ser abordado de diferentes maneiras. Cho e Garcia-Molina [CHO] definem esse problema da seguinte forma:

Leia mais

ISO/IEC 12207: Gerência de Configuração

ISO/IEC 12207: Gerência de Configuração ISO/IEC 12207: Gerência de Configuração Durante o processo de desenvolvimento de um software, é produzida uma grande quantidade de itens de informação que podem ser alterados durante o processo Para que

Leia mais

Conceitos Básicos de Algoritmos Genéticos: Teoria e Prática

Conceitos Básicos de Algoritmos Genéticos: Teoria e Prática Conceitos Básicos de Algoritmos Genéticos: Teoria e Prática Thatiane de Oliveira Rosa 1, Hellen Souza Luz 2 1 Curso de Sistemas de Informação Centro Universitário Luterano de Palmas (CEULP/ULBRA) Caixa

Leia mais

Projeto 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 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 mais

Inteligência Computacional: resolvendo problemas difíceis da vida real

Inteligê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 mais

ESTUDO 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. 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 mais

O ESPAÇO NULO DE A: RESOLVENDO AX = 0 3.2

O ESPAÇO NULO DE A: RESOLVENDO AX = 0 3.2 3.2 O Espaço Nulo de A: Resolvendo Ax = 0 11 O ESPAÇO NULO DE A: RESOLVENDO AX = 0 3.2 Esta seção trata do espaço de soluções para Ax = 0. A matriz A pode ser quadrada ou retangular. Uma solução imediata

Leia mais

MODELO CMM MATURIDADE DE SOFTWARE

MODELO CMM MATURIDADE DE SOFTWARE MODELO CMM MATURIDADE DE SOFTWARE O modelo CMM Capability Maturity Model foi produzido pelo SEI (Software Engineering Institute) da Universidade Carnegie Mellon (CMU), em Pittsburgh, EUA, por um grupo

Leia mais

Aplicando Algoritmos Genéticos na Alocação de Tarefas em Sistemas Distribuídos de Tempo Real

Aplicando Algoritmos Genéticos na Alocação de Tarefas em Sistemas Distribuídos de Tempo Real Aplicando Algoritmos Genéticos na Alocação de Tarefas em Sistemas Distribuídos de Tempo Real André C. Nácul +, Maurício Lima Pilla +, Rômulo Silva de Oliveira * {anacul,pilla}@inf.ufrgs.br, romulo@lcmi.ufsc.br

Leia mais

Gerenciamento de Problemas

Gerenciamento de Problemas Gerenciamento de Problemas O processo de Gerenciamento de Problemas se concentra em encontrar os erros conhecidos da infra-estrutura de TI. Tudo que é realizado neste processo está voltado a: Encontrar

Leia mais

Orientação a Objetos

Orientação a Objetos Orientação a Objetos 1. Sobrecarga (Overloading) Os clientes dos bancos costumam consultar periodicamente informações relativas às suas contas. Geralmente, essas informações são obtidas através de extratos.

Leia mais

Algoritmos Genéticos (GA s)

Algoritmos 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 mais

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br

Algoritmos 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 mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Organização e Arquitetura de Computadores I Aritmética Computacional Slide 1 Sumário Unidade Lógica e Aritmética Representação de Números Inteiros Aritmética de Números Inteiros Representação de Números

Leia mais

Metodologia de Gerenciamento de Projetos da Justiça Federal

Metodologia de Gerenciamento de Projetos da Justiça Federal Metodologia de Gerenciamento de Projetos da Justiça Federal Histórico de Revisões Data Versão Descrição 30/04/2010 1.0 Versão Inicial 2 Sumário 1. Introdução... 5 2. Público-alvo... 5 3. Conceitos básicos...

Leia mais

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

PROCESSO 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 mais

Algoritmos e Estrutura de Dados III. Árvores

Algoritmos e Estrutura de Dados III. Árvores Algoritmos e Estrutura de Dados III Árvores Uma das mais importantes classes de estruturas de dados em computação são as árvores. Aproveitando-se de sua organização hierárquica, muitas aplicações são realizadas

Leia mais

PONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas

PONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas PONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas CMP1132 Processo e qualidade de software II Prof. Me. Elias Ferreira Sala: 402 E Quarta-Feira:

Leia mais

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

Na 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 mais

Memória Cache. Prof. Leonardo Barreto Campos 1

Memória Cache. Prof. Leonardo Barreto Campos 1 Memória Cache Prof. Leonardo Barreto Campos 1 Sumário Introdução; Projeto de Memórias Cache; Tamanho; Função de Mapeamento; Política de Escrita; Tamanho da Linha; Número de Memórias Cache; Bibliografia.

Leia mais

Implementações e Comparação de Multiplicadores de Alta Velocidade para Dispositivos Reconfiguráveis

Implementações e Comparação de Multiplicadores de Alta Velocidade para Dispositivos Reconfiguráveis Implementações e Comparação de Multiplicadores de Alta Velocidade para Dispositivos Reconfiguráveis Tiago dos Santos Patrocinio, Ivan Saraiva Silva Departamento de Computação Universidade Federal do Piauí

Leia mais

Terceira Avaliação Visualg & Pascal

Terceira Avaliação Visualg & Pascal Primeiro trabalho Sistema de controle acadêmico Objetivo: implementar um programa de computador que realiza o controle acadêmico de uma turma em uma disciplina específica. O programa deve ser capaz de

Leia mais

Aqui você também vai encontrar o botão ""Autocompletar"", que ajuda na criação do alinhamento, caso você não consiga se decidir.

Aqui você também vai encontrar o botão Autocompletar, que ajuda na criação do alinhamento, caso você não consiga se decidir. 1. ATIVAR CARTA Nesta seção, localizada dentro do ""shopping center"", você precisa inserir o código que aparece no verso da sua carta real para adicioná-la à sua coleção virtual. Às vezes, você pode se

Leia mais

Protocolo em Rampa Manual de Referência Rápida

Protocolo em Rampa Manual de Referência Rápida Protocolo em Rampa Manual de Referência Rápida 1 O que é o Protocolo em Rampa O protocolo em rampa é um protocolo para testes de esforço que não possui estágios. Nele o incremento da carga se dá de maneira

Leia mais

CAPÍTULO 2. Grafos e Redes

CAPÍTULO 2. Grafos e Redes CAPÍTULO 2 1. Introdução Um grafo é uma representação visual de um determinado conjunto de dados e da ligação existente entre alguns dos elementos desse conjunto. Desta forma, em muitos dos problemas que

Leia mais

Exemplo: Na figura 1, abaixo, temos: Clique aqui para continuar, que é a primeira atividade que você precisa realizar para iniciar seus estudos.

Exemplo: Na figura 1, abaixo, temos: Clique aqui para continuar, que é a primeira atividade que você precisa realizar para iniciar seus estudos. Visão Geral VISÃO GERAL Esse material abordará o acesso ao AVA (Ambiente Virtual de Aprendizagem) da Proativa do Pará, com intenção de ilustrar os aspectos na visão do Aprendiz. Essa abordagem dedica-se

Leia mais

Apresentação. Nossa sugestão é que você experimente e não tenha medo de clicar!!!

Apresentação. Nossa sugestão é que você experimente e não tenha medo de clicar!!! Apresentação Este manual é uma orientação para os participantes de cursos no ambiente Moodle do INSTITUTO PRISMA. Tem como objetivo orientar sobre as ações básicas de acesso e utilização do ambiente virtual

Leia mais

Problema 8-Puzzle: Análise da solução usando Backtracking e Algoritmos Genéticos

Problema 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 mais

CONCURSO PÚBLICO ANALISTA DE SISTEMA ÊNFASE GOVERNANÇA DE TI ANALISTA DE GESTÃO RESPOSTAS ESPERADAS PRELIMINARES

CONCURSO PÚBLICO ANALISTA DE SISTEMA ÊNFASE GOVERNANÇA DE TI ANALISTA DE GESTÃO RESPOSTAS ESPERADAS PRELIMINARES CELG DISTRIBUIÇÃO S.A EDITAL N. 1/2014 CONCURSO PÚBLICO ANALISTA DE GESTÃO ANALISTA DE SISTEMA ÊNFASE GOVERNANÇA DE TI RESPOSTAS ESPERADAS PRELIMINARES O Centro de Seleção da Universidade Federal de Goiás

Leia mais

Disciplina de Projetos e Análise de Algoritmos. Aula 1 - Apresentação aos Algoritmos Computacionais

Disciplina de Projetos e Análise de Algoritmos. Aula 1 - Apresentação aos Algoritmos Computacionais Aula 1 - Apresentação aos Algoritmos Computacionais O que é a Disciplina? Disciplina de Projeto e Análise de Algoritmos Esta é uma disciplina de Algoritmos em nível de Pós-Graduação! Temas a serem abordados:

Leia mais

Utilização do SOLVER do EXCEL

Utilização do SOLVER do EXCEL Utilização do SOLVER do EXCEL 1 Utilização do SOLVER do EXCEL José Fernando Oliveira DEEC FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO MAIO 1998 Para ilustrar a utilização do Solver na resolução de

Leia mais

O DNA é formado por pedaços capazes de serem convertidos em algumas características. Esses pedaços são

O DNA é formado por pedaços capazes de serem convertidos em algumas características. Esses pedaços são Atividade extra Fascículo 2 Biologia Unidade 4 Questão 1 O DNA é formado por pedaços capazes de serem convertidos em algumas características. Esses pedaços são chamados de genes. Assinale abaixo quais

Leia mais

Otimizaçã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 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 mais

SISTEMAS OPERACIONAIS. Apostila 01 Assunto: Tipos de Sistemas Operacionais UNIBAN

SISTEMAS OPERACIONAIS. Apostila 01 Assunto: Tipos de Sistemas Operacionais UNIBAN SISTEMAS OPERACIONAIS Apostila 01 Assunto: Tipos de Sistemas Operacionais UNIBAN 2.0 - INTRODUÇÃO Os tipos de sistemas operacionais e sua evolução estão intimamente relacionados com a evolução do hardware

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Aula 13 Gerência de Memória Prof.: Edilberto M. Silva http://www.edilms.eti.br Baseado no material disponibilizado por: SO - Prof. Edilberto Silva Prof. José Juan Espantoso Sumário

Leia mais

Computação BioInspirada

Computação BioInspirada Computação BioInspirada Os Engenheiros da Natureza Fabrício Olivetti de França The reasonable man adapts himself to the world; the unreasonable one persists in trying to adapt the world to himself. Therefore

Leia mais

Sistema Inteligente Não-Linear de Apoio à Aprendizagem 1 Rangel RIGO, Ana Paula Laboissière AMBRÓSIO

Sistema Inteligente Não-Linear de Apoio à Aprendizagem 1 Rangel RIGO, Ana Paula Laboissière AMBRÓSIO Sistema Inteligente Não-Linear de Apoio à Aprendizagem 1 Rangel RIGO, Ana Paula Laboissière AMBRÓSIO rangelrigo@gmail.com, apaula@inf.ufg.br Instituto de Informática Universidade Federal de Goiás (UFG)

Leia mais

MRP II. Planejamento e Controle da Produção 3 professor Muris Lage Junior

MRP 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 mais

AULA 04 - TABELA DE TEMPORALIDADE

AULA 04 - TABELA DE TEMPORALIDADE AULA 04 - TABELA DE TEMPORALIDADE 4.1 - Tabela de Temporalidade Como é cediço todos os arquivos possuem um ciclo vital, composto pelas fases corrente, intermediária e permanente. Mas como saber quando

Leia mais

Projeto 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 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 mais

Estabelecendo Prioridades para Advocacia

Estabelecendo Prioridades para Advocacia Estabelecendo Prioridades para Advocacia Tomando em consideração os limites de tempo e recursos dos implementadores, as ferramentas da série Straight to the Point (Directo ao Ponto), da Pathfinder International,

Leia mais

Podemos encontrar uma figura interessante no PMBOK (Capítulo 7) sobre a necessidade de organizarmos o fluxo de caixa em um projeto.

Podemos 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 mais

4 Implementação e Resultados Experimentais

4 Implementação e Resultados Experimentais 4 Implementação e Resultados Experimentais Com o objetivo de fazer a criação automática de visões materializadas, ou seja, prover uma solução on-the-fly para o problema de seleção de visões materializadas,

Leia mais

4 Avaliação Econômica

4 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 mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Modelo Cliente-Servidor: Introdução aos tipos de servidores e clientes Prof. MSc. Hugo Souza Iniciando o módulo 03 da primeira unidade, iremos abordar sobre o Modelo Cliente-Servidor

Leia mais

A apresentação através de fluxos lógicos consegue mostrar mal entendidos e pontos que são controversos.

A apresentação através de fluxos lógicos consegue mostrar mal entendidos e pontos que são controversos. Módulo 5 Análise Estruturada As dificuldades que são causadas por problemas de comunicação, mudanças de requisitos e técnicas inadequadas de avaliação, tornam a análise estruturada uma fase critica no

Leia mais

DESENVOLVIMENTO DE UM SOFTWARE NA LINGUAGEM R PARA CÁLCULO DE TAMANHOS DE AMOSTRAS NA ÁREA DE SAÚDE

DESENVOLVIMENTO DE UM SOFTWARE NA LINGUAGEM R PARA CÁLCULO DE TAMANHOS DE AMOSTRAS NA ÁREA DE SAÚDE DESENVOLVIMENTO DE UM SOFTWARE NA LINGUAGEM R PARA CÁLCULO DE TAMANHOS DE AMOSTRAS NA ÁREA DE SAÚDE Mariane Alves Gomes da Silva Eliana Zandonade 1. INTRODUÇÃO Um aspecto fundamental de um levantamento

Leia mais

Introdução a Java. Hélder Nunes

Introdução a Java. Hélder Nunes Introdução a Java Hélder Nunes 2 Exercício de Fixação Os 4 elementos básicos da OO são os objetos, as classes, os atributos e os métodos. A orientação a objetos consiste em considerar os sistemas computacionais

Leia mais

Metodologias de Desenvolvimento de Sistemas. Analise de Sistemas I UNIPAC Rodrigo Videschi

Metodologias 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 mais

Gerenciamento de Memória

Gerenciamento de Memória Gerenciamento de Memória Prof. Dr. José Luís Zem Prof. Dr. Renato Kraide Soffner Prof. Ms. Rossano Pablo Pinto Faculdade de Tecnologia de Americana Centro Paula Souza Tópicos Introdução Alocação Contígua

Leia mais

Transcrição Automática de Música

Transcrição Automática de Música Transcrição Automática de Música Ricardo Rosa e Miguel Eliseu Escola Superior de Tecnologia e Gestão do Instituto Politécnico de Leiria Departamento de Engenharia Informática A transcrição automática de

Leia mais

1 INTRODUÇÃO Internet Engineering Task Force (IETF) Mobile IP

1 INTRODUÇÃO Internet Engineering Task Force (IETF) Mobile IP 1 INTRODUÇÃO Devido ao crescimento da Internet, tanto do ponto de vista do número de usuários como o de serviços oferecidos, e o rápido progresso da tecnologia de comunicação sem fio (wireless), tem se

Leia mais

Revisão Inteligência Artificial ENADE. Prof a Fabiana Lorenzi Outubro/2011

Revisão Inteligência Artificial ENADE. Prof a Fabiana Lorenzi Outubro/2011 Revisão Inteligência Artificial ENADE Prof a Fabiana Lorenzi Outubro/2011 Representação conhecimento É uma forma sistemática de estruturar e codificar o que se sabe sobre uma determinada aplicação (Rezende,

Leia mais

TCEnet e TCELogin Manual Técnico

TCEnet e TCELogin Manual Técnico TCEnet e TCELogin Manual Técnico 1. O que há de novo O TCELogin está na sua terceira versão. A principal novidade é o uso de certificados pessoais do padrão ICP-Brasil. O uso desses certificados permite

Leia mais

DuPont Engineering University South America

DuPont Engineering University South America Treinamentos Práticas de Melhoria de Valor (VIP Value Improvement Practices) DuPont Engineering University South America # "$ % & "" Abordagem DuPont na Gestão de Projetos Industriais O nível de desempenho

Leia mais

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES 3.1 - IDENTIFICADORES Os objetos que usamos no nosso algoritmo são uma representação simbólica de um valor de dado. Assim, quando executamos a seguinte instrução:

Leia mais

Projeto e Análise de Algoritmos Projeto de Algoritmos Introdução. Prof. Humberto Brandão humberto@dcc.ufmg.br

Projeto e Análise de Algoritmos Projeto de Algoritmos Introdução. Prof. Humberto Brandão humberto@dcc.ufmg.br Projeto e Análise de Algoritmos Projeto de Algoritmos Introdução Prof. Humberto Brandão humberto@dcc.ufmg.br aula disponível no site: http://www.bcc.unifal-mg.edu.br/~humberto/ Universidade Federal de

Leia mais

Arquitetura de Rede de Computadores

Arquitetura 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 mais

AVALIAÇÃO DE INTERFACES UTILIZANDO O MÉTODO DE AVALIAÇÃO HEURÍSTICA E SUA IMPORTÂNCIA PARA AUDITORIA DE SISTEMAS DE INFORMAÇÕES

AVALIAÇÃO DE INTERFACES UTILIZANDO O MÉTODO DE AVALIAÇÃO HEURÍSTICA E SUA IMPORTÂNCIA PARA AUDITORIA DE SISTEMAS DE INFORMAÇÕES AVALIAÇÃO DE INTERFACES UTILIZANDO O MÉTODO DE AVALIAÇÃO HEURÍSTICA E SUA IMPORTÂNCIA PARA AUDITORIA DE SISTEMAS DE INFORMAÇÕES Rafael Milani do Nascimento, Claudete Werner Universidade Paranaense (Unipar)

Leia mais

Utilizando a ferramenta de criação de aulas

Utilizando a ferramenta de criação de aulas http://portaldoprofessor.mec.gov.br/ 04 Roteiro Utilizando a ferramenta de criação de aulas Ministério da Educação Utilizando a ferramenta de criação de aulas Para criar uma sugestão de aula é necessário

Leia mais

7.Conclusão e Trabalhos Futuros

7.Conclusão e Trabalhos Futuros 7.Conclusão e Trabalhos Futuros 158 7.Conclusão e Trabalhos Futuros 7.1 Conclusões Finais Neste trabalho, foram apresentados novos métodos para aceleração, otimização e gerenciamento do processo de renderização

Leia mais

Manual SAGe Versão 1.2 (a partir da versão 12.08.01)

Manual SAGe Versão 1.2 (a partir da versão 12.08.01) Manual SAGe Versão 1.2 (a partir da versão 12.08.01) Submissão de Relatórios Científicos Sumário Introdução... 2 Elaboração do Relatório Científico... 3 Submissão do Relatório Científico... 14 Operação

Leia mais

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 8

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 8 ORGANIZAÇÃO DE COMPUTADORES MÓDULO 8 Índice 1. A Organização do Computador - Continuação...3 1.1. Processadores - II... 3 1.1.1. Princípios de projeto para computadores modernos... 3 1.1.2. Paralelismo...

Leia mais

28/9/2010. Paralelismo no nível de instruções Processadores superescalares

28/9/2010. Paralelismo no nível de instruções Processadores superescalares Arquitetura de Computadores Paralelismo no nível de instruções Processadores superescalares Prof. Marcos Quinet Universidade Federal Fluminense P.U.R.O. Processadores superescalares A partir dos resultados

Leia mais

Engenharia de Software

Engenharia de Software Universidade São Judas Tadeu Profª Dra. Ana Paula Gonçalves Serra Engenharia de O Processo Uma Visão Genérica Capítulo 2 (até item 2.2. inclusive) Engenharia de - Roger Pressman 6ª edição McGrawHill Capítulo

Leia mais

Ajuste dos parâmetros de um controlador proporcional, integral e derivativo através de algoritmos genéticos

Ajuste dos parâmetros de um controlador proporcional, integral e derivativo através de algoritmos genéticos Ajuste dos parâmetros de um controlador proporcional, integral e derivativo através de algoritmos genéticos ADJUSTMENT OF CONTROLLER PID S PARAMETERS OF GENETIC ALGORITHMS Luiz Eduardo N. do P. Nunes Victor

Leia mais

Solitaire Interglobal

Solitaire Interglobal Solitaire Interglobal POWERLINUX OU WINDOWS PARA IMPLANTAÇÃO SAP Escolher entre as plataformas concorrentes de sistema operacional Linux e Windows para SAP pode ser uma tarefa confusa para as organizações.

Leia mais

QFD: Quality Function Deployment QFD: CASA DA QUALIDADE - PASSO A PASSO

QFD: Quality Function Deployment QFD: CASA DA QUALIDADE - PASSO A PASSO QFD: CASA DA QUALIDADE - PASSO A PASSO 1 - INTRODUÇÃO Segundo Akao (1990), QFD é a conversão dos requisitos do consumidor em características de qualidade do produto e o desenvolvimento da qualidade de

Leia mais

Computação Evolutiva: desvendando os algoritmos genéticos Evolutionary Computing: unleashing genetic algorithms

Computação Evolutiva: desvendando os algoritmos genéticos Evolutionary Computing: unleashing genetic algorithms Computação Evolutiva: desvendando os algoritmos genéticos Evolutionary Computing: unleashing genetic algorithms Sílvio Petroli Neto 1, FAJ, USF Resumo Este trabalho apresenta os Algoritmos Genéticos, uma

Leia mais

Manual do sistema SMARsa Web

Manual do sistema SMARsa Web Manual do sistema SMARsa Web Módulo Gestão de atividades RS/OS Requisição de serviço/ordem de serviço 1 Sumário INTRODUÇÃO...3 OBJETIVO...3 Bem-vindo ao sistema SMARsa WEB: Módulo gestão de atividades...4

Leia mais

Atividade extra. Questão 1. Questão 2. Ciências da Natureza e suas Tecnologias Biologia. A diversidade biológica é o fruto da variação genética.

Atividade extra. Questão 1. Questão 2. Ciências da Natureza e suas Tecnologias Biologia. A diversidade biológica é o fruto da variação genética. Atividade extra Questão 1 A diversidade biológica é o fruto da variação genética. Falar em biodiversidade e em tempo significa, necessariamente, falar de: a. Degeneração. b. Conservação. c. Evolução. d.

Leia mais

Aprendizagem de Máquina

Aprendizagem 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 mais

Tutorial 5 Questionários

Tutorial 5 Questionários Tutorial 5 Questionários A atividade Questionário no Moodle pode ter várias aplicações, tais como: atividades de autoavaliação, lista de exercícios para verificação de aprendizagem, teste rápido ou ainda

Leia mais

Governança de TI. ITIL v.2&3. parte 1

Governança de TI. ITIL v.2&3. parte 1 Governança de TI ITIL v.2&3 parte 1 Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR ITIL 1 1 ITIL Gerenciamento de Serviços 2 2 Gerenciamento de Serviços Gerenciamento de Serviços 3 3 Gerenciamento de Serviços

Leia mais

A Otimização Colônia de Formigas

A 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

SLAG - Resolvendo o Problema do Caixeiro Viajante Utilizando Algoritmos Genéticos

SLAG - Resolvendo o Problema do Caixeiro Viajante Utilizando Algoritmos Genéticos 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

Leia mais

O papel do CRM no sucesso comercial

O papel do CRM no sucesso comercial O papel do CRM no sucesso comercial Escrito por Gustavo Paulillo Você sabia que o relacionamento com clientes pode ajudar sua empresa a ter mais sucesso nas vendas? Ter uma equipe de vendas eficaz é o

Leia mais

Gerenciamento de projetos. cynaracarvalho@yahoo.com.br

Gerenciamento de projetos. cynaracarvalho@yahoo.com.br Gerenciamento de projetos cynaracarvalho@yahoo.com.br Projeto 3URMHWR é um empreendimento não repetitivo, caracterizado por uma seqüência clara e lógica de eventos, com início, meio e fim, que se destina

Leia mais

Relatório Trabalho Prático 2 : Colônia de Formigas para Otimização e Agrupamento

Relatório Trabalho Prático 2 : Colônia de Formigas para Otimização e Agrupamento Relatório Trabalho Prático 2 : Colônia de Formigas para Otimização e Agrupamento Ramon Pereira Lopes Rangel Silva Oliveira 31 de outubro de 2011 1 Introdução O presente documento refere-se ao relatório

Leia mais

Nome do Processo: Requisição Gera Múltiplos pedidos para Múltiplos Fornecedores

Nome do Processo: Requisição Gera Múltiplos pedidos para Múltiplos Fornecedores Desenvolvimento BM-1131 Versão 5 Release 17 Autor Sirlene Araújo Processo: Compras Nome do Processo: Requisição Gera Múltiplos pedidos para Múltiplos Fornecedores Motivação Tornar o processo de geração

Leia mais

FATEC Cruzeiro José da Silva. Ferramenta CRM como estratégia de negócios

FATEC Cruzeiro José da Silva. Ferramenta CRM como estratégia de negócios FATEC Cruzeiro José da Silva Ferramenta CRM como estratégia de negócios Cruzeiro SP 2008 FATEC Cruzeiro José da Silva Ferramenta CRM como estratégia de negócios Projeto de trabalho de formatura como requisito

Leia mais

Prof. Antonio Torres antonioctorres@gmail.com @_antonioctorres. Fundamentos de Sistemas Operacionais UNIP/2015

Prof. Antonio Torres antonioctorres@gmail.com @_antonioctorres. Fundamentos de Sistemas Operacionais UNIP/2015 Prof. Antonio Torres antonioctorres@gmail.com @_antonioctorres Fundamentos de Sistemas Operacionais UNIP/2015 Disciplinas FUNDAMENTOS DE SISTEMAS OPERACIONAIS Horários Quarta-feira Fundamentos de Sistemas

Leia mais

Algoritmos e Estruturas de Dados II. Trabalho Prático 2

Algoritmos e Estruturas de Dados II. Trabalho Prático 2 Algoritmos e Estruturas de Dados II Entrega: 24/09/08 Devolução: 15/10/08 Trabalho individual Prof. Jussara Marques de Almeida Trabalho Prático 2 Você foi contratado pela XOL X Online para desenvolver

Leia mais

3 ALGORITMOS GENÉTICOS : CONCEITOS BÁSICOS E EXTENSÕES VINCULADAS AO PROBLEMA DE MINIMIZAÇÃO DE PERDAS

3 ALGORITMOS GENÉTICOS : CONCEITOS BÁSICOS E EXTENSÕES VINCULADAS AO PROBLEMA DE MINIMIZAÇÃO DE PERDAS 3 ALGORITMOS GENÉTICOS : CONCEITOS BÁSICOS E EXTENSÕES VINCULADAS AO PROBLEMA DE MINIMIZAÇÃO DE PERDAS 3.1 - Conceitos Básicos Entendemos como algoritmo um conjunto predeterminado e bem definido de regras

Leia mais

Referências internas são os artefatos usados para ajudar na elaboração do PT tais como:

Referências internas são os artefatos usados para ajudar na elaboração do PT tais como: Plano de Teste (resumo do documento) I Introdução Identificador do Plano de Teste Esse campo deve especificar um identificador único para reconhecimento do Plano de Teste. Pode ser inclusive um código

Leia mais