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

Download ""

Transcrição

1 Aplicando verificação de modelos baseada nas teorias do módulo da satisfabilidade para o particionamento de hardware/software em sistemas embarcados (Resumo) Alessandro Bezerra Trindade Programa de Pós-Graduação em Engenharia Elétrica (PPGEE) Universidade Federal do Amazonas (UFAM). Orientador: Lucas Carvalho de Cordeiro (FT - UFAM) Av. Rodrigo Otávio Jordão Ramos, 3000, Campus Universitário, Manaus AM, Brasil {alessandrotrindade}@ufam.edu.br Abstract. When performing hardware/software co-design for embedded systems, does emerge the problem of allocating properly which functions of the system should be implemented in hardware (HW) or in software (SW). This problem is known as HW/SW partitioning. We present a new approach to solve the HW/SW partitioning problem by using SMT-based verification techniques, which is primarily used to perform software correctness analysis. Here, the goal is to show that model checking techniques can be effective, in particular cases, to find the optimal solution of the HW/SW partitioning problem using a stateof-the-art software model checkers, when compared to traditional techniques. Resumo. Quando se realiza um coprojeto de hardware/software para sistemas embarcados, emerge o problema de se decidir qual função do sistema deve ser implementada em hardware (HW) ou em software (SW). Este tipo de problema recebe o nome de particionamento de HW/SW. Neste trabalho, utiliza-se a técnica de verificação formal baseada nas teorias do módulo da satisfabilidade (SMT), para resolver o particionamento de HW/SW. O objetivo é demonstrar que a técnica de verificação de modelos pode ser efetiva, em casos particulares, para encontrar a solução ótima do problema de particionamento de HW/SW, quando comparado com as técnicas tradicionais. 1. Introdução A complexidade dos sistemas computacionais não cessa de crescer e a demanda para encurtar o tempo de um produto chegar ao mercado causa problemas desafiadores para os projetistas. Esses sistemas possuem partes dos componentes implementados em hardware (HW) e outras partes em software (SW). Componentes em HW são muito mais rápidos, entretanto são significativamente mais caros. Os componentes de SW são mais baratos de criar e manter, mas são mais lentos. Durante o coprojeto de HW/SW (HSCD) o passo mais crítico é o particionamento: escolher quais componentes devem ser colocados em HW ou em SW, para atendimento das restrições de desempenho e preço. Na primeira geração de coprojeto, a plataforma é a de uma única unidade central de processamento (CPU) e de um único ASIC, ambos se comunicando por um barramento e usando memória compartilhada ou buffers, Arató et al. (2003). Neste trabalho é apresentada a aplicação de um método de verificação de modelos baseado em Teorias do Módulo da Satisfabilidade (Satisfability Modulo Theories ou SMT) para resolver o problema do particionamento de HW/SW e então comparar os resultados com técnicas tradicionais de otimização, programação linear inteira (ILP) e algoritmo genético (GA).

2 Métodos formais baseados em verificação de modelos oferecem grande potencial para se obter uma verificação efetiva e rápida. Um verificador de modelo analisa um código onde cada componente do sistema, especificado por meio de objetivos claros e requisitos, é explorado sistematicamente em todos os seus estados até que uma violação ocorra, um defeito (ou bug) seja encontrado. Trazendo o conceito para o particionamento de HW/SW, o objetivo passa a ser a minimização do custo de HW e os requisitos vem do custo de SW, então, ao invés do verificador parar quando encontrar um erro no código, o algoritmo proposto só termina quando encontra o resultado ótimo do particionamento. E ao apresentar o estado que causou a violação, o valor da solução passam a ser conhecido. 1.1 Contribuições Salvo melhor juízo ou convicção, a proposta apresentada foi o primeiro trabalho na qual se usa uma ferramenta de verificação de modelos baseada em Teorias do Módulo da Satisfabilidade para resolver um problema de particionamento. A proposta foi implementada com a ferramenta ESBMC (Efficient SMT-Based Bounded Model Checker), baseado em Cordeiro et al. (2012). O trabalho provou que é possível usar ferramenta de verificação de modelos para resolver problemas de particionamento de HW/SW, sem que nenhuma adaptação se faça na ferramenta. Uma contribuição secundária residiu na avaliação do valor inicial do custo de software na otimização, o que não foi feito em trabalhos similares. Buscou-se melhoraria no desempenho das técnicas Desafios Um primeiro desafio foi desenvolver a modelagem matemática para o coprojeto, pois os artigos relacionados não o detalham. Um segundo desafio foi desenvolver algoritmos, tanto para a técnica da dissertação quanto para as ferramentas comerciais, a fim de resolver o problema de particionamento. Um terceiro desafio foi ter acesso aos benchmarks utilizados por trabalhos similares para fins comparativos. E o desafio final foi estabelecer a melhor plataforma de testes, pois todas as ferramentas comerciais são disponíveis em mais um sistema operacional, o que demandou vários testes empíricos. 2. Modelagem matemática 2.1. Modelagem informal ou Premissas O modelo possui cinco características, Arató et al. (2003): Há apenas um contexto de SW e apenas um contexto de HW, ou seja, os componentes do sistema só podem ser mapeados para um dos dois contextos (coprojeto de primeira geração segundo Teich, 2012); A implementação em SW de um componente tem um custo relacionado com o tempo de execução deste componente; A implementação em HW de um componente tem um custo (área, dissipação de calor ou consumo de energia); Como o HW é significante mais rápido do que o SW, o tempo de execução de um componente em HW é considerado zero; Se dois componentes são mapeados para o mesmo contexto, então não há overhead de comunicação Modelagem formal Um grafo simples direcionado = (, ), chamado de grafo de tarefas do sistema ou DAG se faz necessário. Os vértices = {,,, } representam os nodos que são os componentes do sistema a ser particionado. As arestas () representam as comunicações

3 entre os componentes. Cada nodo tem um custo h( ) (ou h ) de hardware (se implementado em HW) e um custo ( ) (ou ) de software (se implementado em SW). (, ) representam o custo de comunicação entre e, se forem implementados em contextos diferentes (HW ou SW). Baseado em Arató et al. (2003), é chamado de partição de HW-SW se é uma bipartição de : = (, ), onde = e =. As arestas cruzadas são =, :, ou, #. O custo de hardware de é dado pela Eq. (1), e o custo de software de é dado pela Eq. (2): $ = % h & ' ( ) (1) + = % & ' (, + % ( (& ', &. ) /0, ) (2) O problema de otimização usado neste trabalho é o mais encontrado em sistemas de tempo real, no qual o custo de software inicial é dado. Busca-se encontrar uma partição P de HW-SW tal que SP S0 e o HP seja mínimo. Com relação a complexidade deste tipo de problema, Arató et al. (2003) demonstraram que é NP-Hard. Para o algoritmo, é necessário usar a matriz incidente transporta de G, chamada de E[i,j], onde cada elemento desta matriz assume valor -1 (se a aresta i começa no nodo j) ou 1 (se a aresta i termina no nodo j) ou ainda 0 (se a aresta i não é incidente ao nodo j). Há a ainda um vetor binário que indica a partição, o x[i], podendo assumir o valor 1 se o nodo i for particionado para HW ou 0 se for particionado em SW. O problema de otimização é então formulado como: Sujeito a restrição: h 9 (3) (1 <) + < +? (4) Devido ao módulo na Eq. (4), as ferramentas comerciais demandam que se efetue o uso de variáveis auxiliares (do tamanho do número de arestas do grafo G) para remover este operador, chegando-se a uma nova formulação para as restrições: (1 <) + A +? (5) 9 A (6) 9 A (7) 3. Solução do problema de particionamento 3.1. Algoritmos de Verificação usando ILP e GA Foram criados scripts no software comercial MATLAB, conforme MathWorks (2013), utilizando-se os valores default para os parâmetros das funções ga e bintprog, com exceção de um parâmetro do GA, modificado para garantir melhor precisão: o tamanho da população inicial foi mudado de 20 para 300 indivíduos (ensaio empírico) Algoritmo de Verificação usando o ESBMC Conforme Fig. 1, o ESBMC começa com o código a ser verificado escrito em C/C++. Em seguida, o ESBMC realiza um scan (ou lexer) no programa, transformando o código em

4 uma lista de fichas (tokens). Em seguida, um parse transforma as fichas em uma árvore de sintaxe. Para se chegar ao grafo de fluxo de controle (ou programa goto), deve-se informar as propriedades que serão verificadas. E isso é configurável no ESBMC através de parâmetros na linha de comando. Para o problema de particionamento, as verificações padrões podem ser facilmente suprimidas. Para o problema de particionamento, deve-se incluir uma assertiva que irá controlar a solução do problema. O resultado desta etapa é um código que substitui os loops por gotos. Em seguida, ocorre uma execução simbólica do programa goto, gerando-se a SSA (static single assignment). Em seguida, fórmulas que correspondem às condições de verificação são geradas a partir da SSA e passadas para o solucionador, que por sua vez irá verificar a satisfabilidade destas fórmulas. Figura 1. Visão geral do ESBMC (Fonte: autoria própria) Na Dissertação, foram desenvolvidos e avaliados dois algoritmos: um com variáveis auxiliares, o ESBMC-1, com as mesmas equações usadas pelo ILP e GA (Eq. 3, 5, 6 e 7); o ESBMC-2 que usa o módulo da modelagem matemática (Eq. 3 e 4) e está descrito na Fig. 2. Pela sua característica de verificador de modelos, é possível definir com que tipo de valores as variáveis serão avaliadas (linha 8). Um loop é usado para permitir o uso de um valor de referência, TipH, ou estimativa do custo de hardware, começando de zero e indo até o valor no qual os nodos seriam todos particionados para HW (Hmax). Em seguida, há a declaração para a ferramenta povoar as variáveis com valores booleanos não-determinísticos (linha 10). Estes valores mudarão a cada verificação, buscando uma possível solução do problema, com o ASSUME garantindo o atendimento das restrições. Na linha 14 um ASSERT controla a condição de parada, verificando a função objetivo. Se o ASSERT retornar uma condição de VERDADEIRO, ou seja, o custo do HW encontrado (Hp) for maior que TipH, então o verificador reinicia, incrementando TipH e uma nova possível solução é gerada e verificada até que ASSERT gere uma condição de FALSO. Uma condição de FALSO no tempo de execução aborta a execução do ESBMC e este apresenta o contraexemplo que causou a parada. Neste ponto a solução é apresentada (o custo do HW), pois o ESBMC não conseguiu achar um valor de particionamento maior do que TipH, que representa o custo ótimo de HW Inicializar variáveis Declarar o número de nodos e arestas Declarar custo de hardware de cada nodo como um vetor (h) Declarar o custo de software de cada nodo como um vetor (s) Declarar o custo de comunicação de cada aresta como um vetor (c) Declarar o custo do software inicial (S 0)

5 Declarar a matriz incidental transposta do grafo G (E) Definir as variáveis de solução (x i) como Booleanas PARA TipH DE 0 ATÉ Hmax [PASSO 1] FAÇA { Povoar x i com valores não determinísticos / valores de teste Calcular s(1-x)+c* E*x e armazenar na variável restrição Realizar teste ESBMC (comando ASSUME) para o requisito restrição S 0 Calcular o custo do particionamento de HW (H P) encontrado em função dos valores de x i Verificação de violação com ASSERT (H P > TipH) } Figura 2. Pseudocódigo do ESBMC Algoritmo 2 (ESBMC-2) (Fonte: autoria própria) 4. Resultados Os resultados foram divididos em duas partes: uma com vetores de teste de autoria própria para avaliar o impacto de S0 no desempenho; e outra com S0 fixo e benchmarks. Variando S0: Para cada número de nodos avaliado (10, 25, 50 e 100), cinco diferentes valores equidistantes de S0 foram selecionados, indo desde zero (tudo particionado para hardware) a um valor onde todos os nodos são alocados em software. Para o particionamento de 10 nodos, verificou-se que ESBMC-1 e ESBMC-2 são as melhores opções. Iniciando com 25 nodos ILP teve melhor desempenho. Com relação ao ESBMC, o algoritmo ESBMC-2 foi mais rápido. O GA apresentou o melhor desempenho com mais de 25 nodos, mas com um erro de 8,7% a até 51% em relação a solução exata. Testes de benchmark: Foram usados sete vetores de teste, Mann et al. (2007). Os benchmarks, disponíveis na página vão de 25 a 417 nodos. De maneira geral o desempenho demonstrado pela técnica ILP nos benchmarks foi o melhor. GA foi a única técnica que conseguiu resolver todos os benchmarks, mas o erro da solução chegou a -31,5%. O ESBMC-2 teve um desempenho melhor do que o ESBMC-1, obtendo a solução em menos tempo (de 3,4 a 10,5 vezes mais rápido). Até 150 nodos, o ESBMC- 2 se mostrou uma boa escolha para resolver o problema de particionamento. Quando a complexidade dos vetores de teste aumentou, o ESBMC-1 apresentou memory out. Iniciando em 261 nodos, o ESBMC-2 também foi incapaz de achar a solução, pois excedeu o limite de tempo. 5. Trabalhos relacionados Começando em 2003, três caminhos foram seguidos para o problema de otimização relacionado ao particionamento de HW-SW: buscou-se a solução exata do problema, conforme Arató et al. (2003); ou utilizou-se de heurísticas para aumentar o desempenho dos algoritmos, conforme Mann et al. (2007); ou ainda se buscou soluções híbridas, conforme Arató et al. (2005). A técnica da Dissertação pertence ao grupo da solução exata. Quanto à verificação baseada em SMT, Ramalho et al. (2013) apresenta um verificador de modelos de contexto limitado para programas escritos em C++, que é a evolução da versão original em ANSI-C. Cordeiro et al. (2012) usam um verificador de modelos ESBMC para software embarcado em ANSI-C. Entretanto, nenhum dos trabalhos relacionados trabalhou com particionamento de HW/SW ou otimização. 6. Conclusões Foi demonstrada a viabilidade de se usar a técnica de verificação de software para resolver problemas de particionamento de HW/SW. No entanto, nenhuma das técnicas

6 empregadas conseguiu particionar mais do que 400 nodos. Abaixo de 400 componentes, a técnica ILP apresentou melhor resultado no geral. Com relação ao ESBMC, este se mostrou uma ótima alternativa para resolver problemas com até 150 nodos. Comparativamente as demais soluções comerciais, o ESBMC apresenta uma licença do estilo BSD e pode ser utilizado sem custo. O valor inicial do custo de software S0 causou grande impacto nos resultados. Se for escolhido um valor extremo, com a maior quantidade dos componentes em HW ou em SW, então o tempo de solução é bem menor. 7. Resultados Relevantes Alcançados O trabalho desenvolvido abriu espaço para mais uma Dissertação de Mestrado e a exploração de possibilidades de se aumentar o desempenho do uso do ESBMC como ferramenta de otimização, seja por mudança de solvers quanto pelo uso de multiprocessamento para aproveitar os núcleos dos processadores atuais. 8. Artigos Publicados Trindade, A.; and Cordeiro, L. (2014), Aplicando Verificação de Modelos para o Particionamento de Hardware/Software, in Anais do IV Simpósio Brasileiro de Engenharia de Sistemas Computacionais (SBESC), pp Trindade, A., Ismail, H., and Cordeiro. L. (2015). Applying Multi-Core Model Checking to Hardware-Software Partitioning in Embedded Systems (short paper), in V Brazilian Symposium on Computing Systems Engineering, pp Trindade, A.; and Cordeiro, L. (2016), Applying SMT-based verification to hardware/software partitioning in embedded systems, in Design Automation for Embedded Systems (DAES), March 2016, Volume 20, Issue 1, pp Referências Arató, P., Juhász, S., Mann, Z., Orbán, A., and Papp, P. (2003), Hardware/software partitioning in embedded system design, in Proceedings of the IEEE international symposium of intelligent signal processing, pp Arató, P., Mann, Z., and Orbán, A. (2005), Algorithmic aspects of hardware/software partitioning, in Design Automation of Electronic Systems DAES 10, pp Cordeiro, L., Fischer, B., and Marques-Silva, J. (2012), SMT-based bounded model checking for embedded ANSI-C software, IEEE Transactions on Software Engineering, 38, (4), pp Mann, Z., Orbán, A., and Arató, P. (2007), Finding optimal hardware/software partitions, in Formal Methods in System Design 31: pp Springer S+B. Ramalho, M., Freitas, M., Sousa, F., Marques, H., Cordeiro, L., and Fischer B. (2013), SMT-based bounded model checking of C++ programs, in Intl. Conf. and Workshops on the Engineering of Computer-Based Systems (ECBS), pp Teich, T. (2012). Hardware/Software Codesign: The Past, the Present, and Predicting the Future, Proceedings of the IEEE, Vol. 100, May 13th, pp The MathWorks, Inc. (2013). MATLAB (version R2013a). Natick, MA.

UNIVERSIDADE FEDERAL DO AMAZONAS FACULDADE DE TECNOLOGIA PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA

UNIVERSIDADE FEDERAL DO AMAZONAS FACULDADE DE TECNOLOGIA PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA UNIVERSIDADE FEDERAL DO AMAZONAS FACULDADE DE TECNOLOGIA PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA APLICANDO VERIFICAÇÃO DE MODELOS BASEADA NAS TEORIAS DO MÓDULO DA SATISFABILIDADE PARA O PARTICIONAMENTO

Leia mais

Verificação de Programas C++ Baseados no Framework Multiplataforma Qt

Verificação de Programas C++ Baseados no Framework Multiplataforma Qt IV Encontro Regional de Computação e Sistemas da Informação Verificação de Programas C++ Baseados no Framework Multiplataforma Qt Felipe R. M. Sousa, Lucas C. Cordeiro e Eddie B. L. Filho felipemonteiro@ufam.edu.br

Leia mais

Computadores. HW e SW

Computadores. HW e SW Computadores HW e SW CTEE 20:50 1 Design dos Computadores Requisitos e Objetivos da Missão Avaliar arquiteturas e interfaces candidatas Realizar a divisão das funções Avaliar requisitos de confiabilidade

Leia mais

Projeto e Análise de Algoritmos NP Completude. Prof. Humberto Brandão

Projeto e Análise de Algoritmos NP Completude. Prof. Humberto Brandão Projeto e Análise de Algoritmos NP Completude Prof. Humberto Brandão humberto@bcc.unifal-mg.edu.br Universidade Federal de Alfenas versão da aula: 0.4 Introdução Problemas intratáveis ou difíceis são comuns

Leia mais

Verificação de Modelos Aplicada aos Filtros Espaciais em Processamento Digital de Imagens

Verificação de Modelos Aplicada aos Filtros Espaciais em Processamento Digital de Imagens Verificação de Modelos Aplicada aos Filtros Espaciais em Processamento Digital de Imagens Manoel S. Lima, Endrews S. Silva, Lucas C. Cordeiro Programa de Pós Graduação em Engenharia Elétrica Universidade

Leia mais

ADLs. Exploração de Arquitetura. Aula 05

ADLs. Exploração de Arquitetura. Aula 05 ADLs Exploração de Arquitetura Aula 05 Nível de Abstração (+) Simulador.c Mips.c cache.c MEM.c Rapidez nas análises Análise prévia da arquitetura µp Dado Instr MEM (-) Abstração board Desenvolver sistemas

Leia mais

IA346 M Métodos de Pesquisa Para Engenharia de Computação. Atividade 07

IA346 M Métodos de Pesquisa Para Engenharia de Computação. Atividade 07 IA346 M Métodos de Pesquisa Para Engenharia de Computação Atividade 07 Nome: Janize Monteiro de Castilho RA: 150148 1. Tema de Pesquisa: Implementação de monitores para verificação de padrões de cenários

Leia mais

Síntese de programas utilizando a linguagem Alloy

Síntese de programas utilizando a linguagem Alloy Universidade Federal de Pernambuco Centro de Informátiva Graduação em Ciência da Computação Síntese de programas utilizando a linguagem Alloy Proposta de Trabalho de Graduação Aluno: João Pedro Marcolino

Leia mais

Optimização de um Plano de Marketing Directo para o Sector da Banca Daniel Barata

Optimização de um Plano de Marketing Directo para o Sector da Banca Daniel Barata Optimização de um Plano de Marketing Directo para o Sector da Banca Daniel Barata, Fernando Bação, Victor Lobo Agenda Introdução Justificação do Tema Formulação usada Métodos de Resolução Exacto Guloso

Leia mais

6 ESCALONAMENTO DE CPU

6 ESCALONAMENTO DE CPU 6 ESCALONAMENTO DE CPU O escalonamento de CPU é ponto chave da multiprogramação. Ela permite que haja mais de um processo em execução ao mesmo tempo. Em ambientes com um único processador, o escalonador

Leia mais

5COP096 TeoriadaComputação

5COP096 TeoriadaComputação Sylvio 1 Barbon Jr barbon@uel.br 5COP096 TeoriadaComputação Aula 13 Prof. Dr. Sylvio Barbon Junior Sumário - Problemas NP-Completo Algoritmos Não-deterministas; Classes NP-Completo e NP-Dificil; Teorema

Leia mais

ESTUDO E APLICAÇÃO DA LEI DE PEUKERT ESTENDIDA PARA A PREDIÇÃO DO TEMPO DE VIDA DE BATERIAS CONSIDERANDO CORRENTES VARIÁVEIS 1

ESTUDO E APLICAÇÃO DA LEI DE PEUKERT ESTENDIDA PARA A PREDIÇÃO DO TEMPO DE VIDA DE BATERIAS CONSIDERANDO CORRENTES VARIÁVEIS 1 ESTUDO E APLICAÇÃO DA LEI DE PEUKERT ESTENDIDA PARA A PREDIÇÃO DO TEMPO DE VIDA DE BATERIAS CONSIDERANDO CORRENTES VARIÁVEIS 1 Livia Bittencourt Gomes 2, Julia Giehl Zart 3, Douglas Joziel Bitencourt Freitas

Leia mais

3 Extensões dos modelos matemáticos

3 Extensões dos modelos matemáticos 3 Extensões dos modelos matemáticos Os modelos matemáticos definidos por (2-1) (2-6) e (2-7) (2-13), propostos por Achuthan e Caccetta e apresentados no Capítulo 2, são reforçados neste trabalho através

Leia mais

Otimização de Sistemas Hidrotérmicos por Enxame de Partículas: Uma Abordagem Orientada a Objetos

Otimização de Sistemas Hidrotérmicos por Enxame de Partículas: Uma Abordagem Orientada a Objetos Otimização de Sistemas Hidrotérmicos por Enxame de Partículas: Uma Abordagem Orientada a Objetos Gelson da Cruz JUNIOR 2, Cassio Dener Noronha VINHAL 3 Lauro Ramon GOMIDES 1, Gelson da Cruz JUNIOR 2, Cassio

Leia mais

Teoria da Complexidade Computacional

Teoria da Complexidade Computacional Teoria da Complexidade Computacional Letícia Rodrigues Bueno UFABC Motivação Motivação I can t find an efficient algorithm, I guess I m just too dumb. Fonte: GAREY, M. R. e JOHNSON, D. S. Computers and

Leia mais

NOTAS DE AULA 1 METAHEURÍSTICA 13/10/2016

NOTAS DE AULA 1 METAHEURÍSTICA 13/10/2016 NOTAS DE AULA 1 METAHEURÍSTICA 13/10/2016 Metaheurística: São técnicas de soluções que gerenciam uma interação entre técnicas de busca local e as estratégias de nível superior para criar um processo de

Leia mais

Formulação de Programação Linear Inteira para o Problema de Particionamento em Conjuntos Convexos

Formulação de Programação Linear Inteira para o Problema de Particionamento em Conjuntos Convexos Formulação de Programação Linear Inteira para o Problema de Particionamento em Conjuntos Convexos Teobaldo L. Bulhões Júnior a a Instituto de Computação, Universidade Federal Fluminense, Niterói, RJ, Brazil

Leia mais

Nildo dos Santos Ribeiro Júnior Advisor: Marcos A. M. Vieira Co-advisor: Luiz F. M. Vieira

Nildo dos Santos Ribeiro Júnior Advisor: Marcos A. M. Vieira Co-advisor: Luiz F. M. Vieira Nildo dos Santos Ribeiro Júnior Advisor: Marcos A. M. Vieira Co-advisor: Luiz F. M. Vieira Requisitos: Baixo custo Baixo consumo de energia Baixo uso de memória Compromisso: Baixa vazão Requisitos: Alta

Leia mais

ESTUDO SOBRE O IMPACTO DOS PROCESSADORES HOSPEDEIROS SPARC V8 E NIOS II NO DESEMPENHO DA ARQUITETURA RECONFIGURÁVEL HÍBRIDA RoSA

ESTUDO SOBRE O IMPACTO DOS PROCESSADORES HOSPEDEIROS SPARC V8 E NIOS II NO DESEMPENHO DA ARQUITETURA RECONFIGURÁVEL HÍBRIDA RoSA ESTUDO SOBRE O IMPACTO DOS PROCESSADORES HOSPEDEIROS SPARC V8 E NIOS II NO DESEMPENHO DA ARQUITETURA RECONFIGURÁVEL HÍBRIDA RoSA Alba S. B. Lopes Departamento de Informática e Matemática Aplicada da UFRN

Leia mais

Verificação de Códigos Lua Utilizando BMCLua

Verificação de Códigos Lua Utilizando BMCLua Universidade Federal do Amazonas Programa de Pós-Graduação em Engenharia Elétrica Verificação de Códigos Lua Utilizando BMCLua Francisco Januário, Lucas Cordeiro e Eddie Filho franciscojanuario@ufam.edu.br,

Leia mais

Estrutura de Dados. Ricardo José Cabeça de Souza Parte 2

Estrutura de Dados. Ricardo José Cabeça de Souza   Parte 2 Estrutura de Dados Ricardo José Cabeça de Souza Parte 2 Em C, uma expressão é uma combinação de variáveis, constantes e operadores que pode ser avaliada computacionalmente, resultando em um valor O valor

Leia mais

Modelagem para previsão/estimação: uma aplicação Neuro-Fuzzy

Modelagem para previsão/estimação: uma aplicação Neuro-Fuzzy Proceeding Series of the Brazilian Society of pplied and Computational Mathematics, Vol., N., 0. Trabalho apresentado no XXXV CNMC, Natal-RN, 0. Modelagem para previsão/estimação: uma aplicação Neuro-Fuzzy

Leia mais

Algoritmos II prof. Daniel Oliveira

Algoritmos II prof. Daniel Oliveira Algoritmos II prof. Daniel Oliveira Revisar conceitos abordados na disciplina anterior Abordar conceitos vistos com a linguagem C# Variáveis e listas Expressões Estruturas de controle do tipo condicional

Leia mais

Figura 4.1: Rede hipotética - rede bidirecional com 6 nós e 8 enlaces

Figura 4.1: Rede hipotética - rede bidirecional com 6 nós e 8 enlaces 4. SIMULAÇÕES Para exemplificarmos e comprovarmos a eficácia dos algoritmos de roteamento e alocação de comprimentos de onda em uma rede óptica, visando minimizar o custo total, várias simulações foram

Leia mais

DESENVOLVIMENTO DE UM MÓDULO DE PROGRAMAÇÃO LINEAR NO PROGRAMA OPTIMI

DESENVOLVIMENTO DE UM MÓDULO DE PROGRAMAÇÃO LINEAR NO PROGRAMA OPTIMI DESENVOLVIMENTO DE UM MÓDULO DE PROGRAMAÇÃO LINEAR NO PROGRAMA OPTIMI BIONDI C. O.¹, VIANNA S. S. V. 2, RODRIGUES M. T. M.³ 1 Universidade Estadual de Campinas, Departamento de Engenharia de Sistemas Químicos

Leia mais

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

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

Leia mais

DSP Builder - Altera. MO801 - Tópicos em Arquitetura e Hardware. Michele Tamberlini 05/2006

DSP Builder - Altera. MO801 - Tópicos em Arquitetura e Hardware. Michele Tamberlini 05/2006 DSP Builder - Altera MO801 - Tópicos em Arquitetura e Hardware Michele Tamberlini 05/2006 DSP Builder Roteiro Introdução Funcionalidades MegaCore MATLAB / SIMULINK SOPC Builder Bibliotecas Introdução Algoritmos

Leia mais

ANÁLISE E COMPARAÇÃO DE DINÂMICAS PARA TRANSFERÊNCIAS ORBITAIS NO SISTEMA TERRA-LUA

ANÁLISE E COMPARAÇÃO DE DINÂMICAS PARA TRANSFERÊNCIAS ORBITAIS NO SISTEMA TERRA-LUA 11 ANÁLISE E COMPARAÇÃO DE DINÂMICAS PARA TRANSFERÊNCIAS ORBITAIS NO SISTEMA TERRA-LUA ANALYSIS AND COMPARISON OF DYNAMICS FOR ORBITAL TRANSFERS IN THE EARTH-MOON SYSTEM Anderson Rodrigo Barretto Teodoro

Leia mais

Pesquisa Operacional / Programação Matemática

Pesquisa Operacional / Programação Matemática Pesquisa Operacional / Programação Matemática Otimização discreta Modelagem com variáveis binárias: problemas clássicos Breve Comentários (aula anterior) Em geral, não faz sentido resolver a relaxação

Leia mais

Redução de Cook-Levin e Considerações Finais

Redução de Cook-Levin e Considerações Finais Redução de Cook-Levin e Considerações Finais André Vignatti DINF- UFPR Fechando o Ciclo de Reduções Nós reduzimos o SAT para diversos problemas de busca, como mostra a figura: Todos problemas NP CIRCUIT

Leia mais

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

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

Leia mais

Uma Introdução à Busca Tabu André Gomes

Uma Introdução à Busca Tabu André Gomes Uma Introdução à Busca Tabu André Gomes Departamento de Ciência da Computação, Instituto de Matemática e Estatística, Universidade de São Paulo, SP, Brasil Novembro de 2009 INTRODUÇÃO Método de Busca Local

Leia mais

Verificação de Códigos Lua Utilizando BMCLua

Verificação de Códigos Lua Utilizando BMCLua Verificação de s Lua Utilizando BMCLua Francisco de A. P. Januário, Lucas C. Cordeiro e Eddie B. L. Filho Resumo O presente artigo descreve uma abordagem de verificação de possíveis defeitos em códigos

Leia mais

COMPARAÇÃO ENTRE FROTA HOMOGÊNEA E HETEROGÊNEA EM PROBLEMAS DE ROTEAMENTO DE VEÍCULOS CAPACITADOS

COMPARAÇÃO ENTRE FROTA HOMOGÊNEA E HETEROGÊNEA EM PROBLEMAS DE ROTEAMENTO DE VEÍCULOS CAPACITADOS COMPARAÇÃO ENTRE FROTA HOMOGÊNEA E HETEROGÊNEA EM PROBLEMAS DE ROTEAMENTO DE VEÍCULOS CAPACITADOS Rosiana da Silva Lopes Danilo César Rodrigues Azevedo rosianalopes16@gmail.com danilo.azevedo@ufpi.edu.br.com

Leia mais

Um algoritmo pseudo-periférico genérico para a heurística de Snay

Um algoritmo pseudo-periférico genérico para a heurística de Snay Trabalho apresentado no CNMAC, Gramado - RS, 2016. Proceeding Series of the Brazilian Society of Computational and Applied Mathematics Um algoritmo pseudo-periférico genérico para a heurística de Snay

Leia mais

Teoria dos Grafos. Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo. Departamento de Matemática Aplicada

Teoria dos Grafos. Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo. Departamento de Matemática Aplicada Teoria dos Grafos Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo Departamento de Matemática Aplicada Capítulo 09: Representação de Grafos Preparado a partir do texto: Rangel, Socorro. Teoria

Leia mais

Multi-Layer. Perceptrons. Algoritmos de Aprendizado. Perceptrons. Perceptrons

Multi-Layer. Perceptrons. Algoritmos de Aprendizado. Perceptrons. Perceptrons Algoritmos de Aprendizado Regra de Hebb Perceptron Delta Rule (Least Mean Square) Multi-Layer Perceptrons (Back Propagation) Radial Basis Functions (RBFs) Competitive Learning Hopfield Multi-Layer Perceptrons

Leia mais

The Controller Placement Problem in Software Defined Networking: A Survey. Seminário de Sistemas em Rede Alexander Decker de Sousa

The Controller Placement Problem in Software Defined Networking: A Survey. Seminário de Sistemas em Rede Alexander Decker de Sousa The Controller Placement Problem in Software Defined Networking: A Survey Seminário de Sistemas em Rede Alexander Decker de Sousa Sobre o paper A primeira metade é um survey sobre o problema do posicionamento

Leia mais

Otimização discreta Modelagem com variáveis binárias: problemas clássicos

Otimização discreta Modelagem com variáveis binárias: problemas clássicos Otimização discreta Modelagem com variáveis binárias: problemas clássicos Importância histórica...... e prática. Usados para modelar problemas reais e como subproblemas em problemas maiores (e mais freqüentes

Leia mais

Aula 10: Tratabilidade

Aula 10: Tratabilidade Teoria da Computação DAINF-UTFPR Aula 10: Tratabilidade Prof. Ricardo Dutra da Silva Na aula anterior discutimos problemas que podem e que não podem ser computados. Nesta aula vamos considerar apenas problemas

Leia mais

OBTENÇÃO DE IMPLICANTES PRIMOS PARA FUNÇÕES BOOLEANAS ATRAVÉS DA OPERAÇÃO DE CONSENSO

OBTENÇÃO DE IMPLICANTES PRIMOS PARA FUNÇÕES BOOLEANAS ATRAVÉS DA OPERAÇÃO DE CONSENSO OBTENÇÃO DE IMPLICANTES PRIMOS PARA FUNÇÕES BOOLEANAS ATRAVÉS DA OPERAÇÃO DE CONSENSO Alexandre César Rodrigues da Silva 1, Ivanil Sebastião Bonatti 2 e Cláudio Kitano 3 Resumo No desenvolvimento de projetos

Leia mais

1 Introdução Motivação

1 Introdução Motivação 1 Introdução 1.1. Motivação A programação linear, ao menos na modelagem matemática que se conhece hoje, foi desenvolvida durante a segunda grande guerra quando foi utilizada no planejamento e execução

Leia mais

Evolução Diferencial Aplicada na Estimação de Parâmetros de um Sistema Oscilatório

Evolução Diferencial Aplicada na Estimação de Parâmetros de um Sistema Oscilatório https://eventos.utfpr.edu.br//sicite/sicite2017/index Evolução Diferencial Aplicada na Estimação de Parâmetros de um Sistema Oscilatório RESUMO Iolanda Ortiz Bernardes ibernardes@alunos.utfpr.edu.br Estudante

Leia mais

SSC Engenharia de Software. Prof. Paulo C. Masiero

SSC Engenharia de Software. Prof. Paulo C. Masiero SSC - 5764 Engenharia de Software Prof. Paulo C. Masiero Processo de Software: Fases ou Subprocessos DEFINIÇÃO CONSTRUÇÃO MANUTENÇÃO Análise de Sistema Análise de Requisitos Projeto Projeto Processo pelo

Leia mais

Gerência de recursos - escalonamento global. GERÊNCIA DE RECURSOS Escalonamento Global. Gerência de recursos - escalonamento global

Gerência de recursos - escalonamento global. GERÊNCIA DE RECURSOS Escalonamento Global. Gerência de recursos - escalonamento global GERÊNCIA DE RECURSOS Escalonamento Global Além de prover comunicação, recursos de acesso a rede, memória compartilhada, sistemas de arquivos distribuídos, um sistema operacional distribuído tem que poder

Leia mais

A procura da melhor partição em Classificação Hierárquica: A abordagem SEP/COP

A procura da melhor partição em Classificação Hierárquica: A abordagem SEP/COP A procura da melhor partição em Classificação Hierárquica: A abordagem SEP/COP Lúcia Sousa Escola Superior de Tecnologia e Gestão, Instituto Politécnico de Viseu Fernanda Sousa Faculdade de Engenharia

Leia mais

FERRAMENTA DE PROFILING PARA PROCESSADORES SCHNEIDER, R. C. 1, NEVES, B. S. 1

FERRAMENTA DE PROFILING PARA PROCESSADORES SCHNEIDER, R. C. 1, NEVES, B. S. 1 FERRAMENTA DE PROFILING PARA PROCESSADORES SCHNEIDER, R. C. 1, NEVES, B. S. 1 1 Universidade Federal do Pampa (UNIPAMPA) Bagé RS Brasil RESUMO O aumento da complexidade dos processadores e de suas etapas

Leia mais

Aperfeiçoamento do método Clause-Column Table para a geração eficiente de implicantes primos para minimização de funções booleanas.

Aperfeiçoamento do método Clause-Column Table para a geração eficiente de implicantes primos para minimização de funções booleanas. Aperfeiçoamento do método Clause-Column Table para a geração eficiente de implicantes primos para minimização de funções booleanas. Alexandre C. R. da Silva, Caroline D. P. N. Barbieri, Depto. de Engenharia

Leia mais

João Paulo de Freitas Araujo. Algoritmos para acelerar a computação de Árvores de corte de Gomory e Hu. Dissertação de Mestrado

João Paulo de Freitas Araujo. Algoritmos para acelerar a computação de Árvores de corte de Gomory e Hu. Dissertação de Mestrado João Paulo de Freitas Araujo Algoritmos para acelerar a computação de Árvores de corte de Gomory e Hu Dissertação de Mestrado Dissertação apresentada ao Programa de Pós- Graduação em Engenharia de Produção

Leia mais

2.1 Dados Experimentais e Método para Estimação dos Parâmetros

2.1 Dados Experimentais e Método para Estimação dos Parâmetros ANÁLISE COMPARATIVA DE MODELOS ANALÍTICOS CONSIDERANDO DESCARGAS CONSTANTES PARA PREDIÇÃO DO TEMPO DE VIDA DE DISPOSITIVOS MÓVEIS 1 Julia Giehl Zart 2, Livia Bittencourt Gomes 3, Douglas Joziel Bitencourt

Leia mais

Teoria da Computação. Complexidade computacional classes de problemas

Teoria da Computação. Complexidade computacional classes de problemas Teoria da Computação Complexidade computacional classes de problemas 1 Universo de problemas Problemas indecidíveis ou não-computáveis Não admitem algoritmos Problemas intratáveis Não admitem algoritmos

Leia mais

Thiago Christiano Silva

Thiago Christiano Silva Thiago Christiano Silva Conteúdo Conceitos Relevantes Problemas de Otimização Conceitos de Estabilidade e Convergência Teoremas de Lyapunov Rede Neural de Hopfield Aplicações do modelo de Hopfield Clusterização

Leia mais

Algoritmos e Estruturas de Dados I. Universidade Federal de São João del-rei Pedro Mitsuo Shiroma Sala 119 Bloco 3

Algoritmos e Estruturas de Dados I. Universidade Federal de São João del-rei Pedro Mitsuo Shiroma Sala 119 Bloco 3 Algoritmos e Estruturas de Dados I Universidade Federal de São João del-rei Pedro Mitsuo Shiroma Sala 119 Bloco 3 História da computação ENIAC (1946-1955) 5000 op/seg 30 toneladas; 18 mil válvulas; 140

Leia mais

INTRODUÇÃO A BUSCA EXERCÍCIOS

INTRODUÇÃO A BUSCA EXERCÍCIOS INTRODUÇÃO USC EXERCÍCIOS 1. Formule um problema de busca de forma que um agente possa planejar sua ida do Portal da Graciosa à ntonina pelo caminho de menor custo. Não é necessário prever caminhos de

Leia mais

Gerência de Memória. Gerência de Memória Introdução e Particionamento. Novo capítulo. Aulas anteriores. Plano da aula. Memória lógica & física

Gerência de Memória. Gerência de Memória Introdução e Particionamento. Novo capítulo. Aulas anteriores. Plano da aula. Memória lógica & física Aulas anteriores Gerência de Memória Introdução e Particionamento Marcelo Johann Ciclo de Compilação, ligação e carga INF - Sistemas Operacionais I N - Marcelo Johann - 9/ Aula : Slide INF - Sistemas Operacionais

Leia mais

UM ESTUDO COMPARATIVO DE DESEMPENHO UTILIZANDO PROGRAMAÇÃO SEQUENCIAL VS PARALELA APLICADO EM ALGORITMOS GENÉTICOS 1

UM ESTUDO COMPARATIVO DE DESEMPENHO UTILIZANDO PROGRAMAÇÃO SEQUENCIAL VS PARALELA APLICADO EM ALGORITMOS GENÉTICOS 1 UM ESTUDO COMPARATIVO DE DESEMPENHO UTILIZANDO PROGRAMAÇÃO SEQUENCIAL VS PARALELA APLICADO EM ALGORITMOS GENÉTICOS 1 Eldair F. Dornelles 2, Henrique A. Richter 3, Miquéias F. M. Trennepohl 4, Taís T. Siqueira

Leia mais

Multi-Layer. Perceptrons. Algoritmos de Aprendizado. Perceptrons. Perceptrons

Multi-Layer. Perceptrons. Algoritmos de Aprendizado. Perceptrons. Perceptrons Algoritmos de Aprendizado Regra de Hebb Perceptron Delta Rule (Least Mean Square) Back Propagation Multi-Layer Perceptrons Redes de apenas uma camada só representam funções linearmente separáveis Redes

Leia mais

6.CONCLUSÕES CONCLUSÕES

6.CONCLUSÕES CONCLUSÕES 6.CONCLUSÕES 193 6 CONCLUSÕES Este trabalho apresentou uma proposta para modelagem e análise de Sistemas de Controle envolvidos na geração de energia elétrica hidráulica, tendo como base dois desenvolvimentos:

Leia mais

Algoritmos Combinatórios: Introdução

Algoritmos Combinatórios: Introdução lucia@site.uottawa.ca UFSC, Fevereiro, 2010 Estruturas e Problemas Combinatórios Introdução a Algoritmos Combinatórios O que são: Estruturas Combinatórias? Algoritmos Combinatórios? Problemas Combinatórios?

Leia mais

Branch-and-Bound para problemas de Otimização Combinatória

Branch-and-Bound para problemas de Otimização Combinatória para problemas de Otimização Combinatória Rafael Antônio Marques Gomes Orientador: Haroldo Gambini Santos Departamento de Computação UFOP 26 de julho de 2011 Rafael Antônio Marques Gomes BB para problemas

Leia mais

Otimização. Conceitos Fundamentais. Paulo Henrique Ribeiro Gabriel Faculdade de Computação Universidade Federal de Uberlândia 2016/2

Otimização. Conceitos Fundamentais. Paulo Henrique Ribeiro Gabriel Faculdade de Computação Universidade Federal de Uberlândia 2016/2 Otimização Conceitos Fundamentais Paulo Henrique Ribeiro Gabriel phrg@ufu.br Faculdade de Computação Universidade Federal de Uberlândia 2016/2 Paulo H. R. Gabriel (FACOM/UFU) GSI027 2016/2 1 / 30 Agradecimentos

Leia mais

Otimização Combinatória - Parte 4

Otimização Combinatória - Parte 4 Graduação em Matemática Industrial Otimização Combinatória - Parte 4 Prof. Thiago Alves de Queiroz Departamento de Matemática - CAC/UFG 2/2014 Thiago Queiroz (DM) Parte 4 2/2014 1 / 33 Complexidade Computacional

Leia mais

4 Cálculo de Equivalentes Dinâmicos

4 Cálculo de Equivalentes Dinâmicos 4 Cálculo de Equivalentes Dinâmicos 4.1 Introdução O crescimento do sistema de energia elétrica, o aumento do número de interligações e a sofisticação dos modelos para representação dos componentes de

Leia mais

Algoritmos de aproximação

Algoritmos de aproximação Algoritmos de aproximação prof Marcio Delamaro ICC II Um pouco de teoria Existem algoritmos que podem ser executados em tempo polinomial Dado problema de tamanho n, temo O(n k ) A maioria dos algoritmos

Leia mais

APLICATIVO PARA ENSINO DE ENGENHARIA QUÍMICA BÁSICA

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

Leia mais

Aluno do Curso de Ciência da Computação UNIJUÍ, 3

Aluno do Curso de Ciência da Computação UNIJUÍ, 3 PROPOSTA DE UM BALANCEADOR DE CARGA PARA REDUÇÃO DE TEMPO DE EXECUÇÃO DE APLICAÇÕES EM AMBIENTES PARALELOS 1 PROPOSAL FOR A LOAD BALANCER TO REDUCE APPLICATION RUNTIME IN PARALLEL ENVIRONMENTS Vinícius

Leia mais

ANÁLISE DE COMPLEXIDADE DOS ALGORITMOS

ANÁLISE DE COMPLEXIDADE DOS ALGORITMOS 1/18 ANÁLISE DE COMPLEXIDADE DOS ALGORITMOS Algoritmos 2/18 Algoritmos Algoritmo - sequência de instruções necessárias para a resolução de um problema bem formulado (passíveis de implementação em computador)

Leia mais

Caracterização de Sistemas Distribuídos

Caracterização de Sistemas Distribuídos Caracterização de Sistemas Distribuídos Roteiro Conceitos de Hardware Conceitos de Software Classificação de Flynn Classificação baseada no acesso a memória 2 Conceitos de HW Múltiplas CPUs Diferentes

Leia mais

Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 02

Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 02 Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 02 Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação POR QUE APRENDER CONCEITOS

Leia mais

Sistemas Operacionais

Sistemas Operacionais Brainstormig Sistemas Operacionais Processos e multiprogramação Aula 2 Quais são os componentes de um programa? Como podemos representar um programa em execução? Onde ele inicia a executar? Como se mapeia

Leia mais

Problemas de otimização

Problemas de otimização Problemas de otimização Problemas de decisão: Existe uma solução satisfazendo certa propriedade? Resultado: sim ou não Problemas de otimização: Entre todas as soluções satisfazendo determinada propriedade,

Leia mais

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

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

Leia mais

Palavras-chave: distribuição de energia elétrica; fluxo de potência; regulador de tensão.

Palavras-chave: distribuição de energia elétrica; fluxo de potência; regulador de tensão. Desenvolvimento e Modelagem de Regulador de Tensão para Fluxo de Potência em Redes de Distribuição de Energia Elétrica Rodrigo Mendonça de CARVALHO; Antônio Cesar Baleeiro ALVES Escola de Engenharia Elétrica

Leia mais

Resolução de problemas por meio de busca. Inteligência Artificial. Formulação de problemas. Estratégias de busca

Resolução de problemas por meio de busca. Inteligência Artificial. Formulação de problemas. Estratégias de busca Inteligência Artificial Aula 4 Profª Bianca Zadrozny http://www.ic.uff.br/~bianca/ia Resolução de problemas por meio de busca Capítulo 3 Russell & Norvig Seções 3.4 e 3.5 Formulação de problemas Algoritmo

Leia mais

Unidade: Modelo Simplex e Modelo Dual. Unidade I:

Unidade: Modelo Simplex e Modelo Dual. Unidade I: Unidade: Modelo Simplex e Modelo Dual Unidade I: 0 Unidade: Modelo Simplex e Modelo Dual Segundo Wikipédia (2008), em teoria da otimização matemática, o algoritmo simplex de George Dantiz é uma técnica

Leia mais

7. Resultados. 7 MATLAB é um produto da The MathWorks, Inc.

7. Resultados. 7 MATLAB é um produto da The MathWorks, Inc. 7. Resultados O modelo foi implementado por meio da linguagem computacional utilizada no software Matlab 7 e através da utilização do otimizador GLPK (GNU Linear Programming kit), em uma plataforma de

Leia mais

Análise de Algoritmos Estrutura de Dados II

Análise de Algoritmos Estrutura de Dados II Centro de Ciências Exatas, Naturais e de Saúde Departamento de Computação Análise de Algoritmos Estrutura de Dados II COM10078 - Estrutura de Dados II Prof. Marcelo Otone Aguiar marcelo.aguiar@ufes.br

Leia mais

IMPLEMENTAÇÃO DE SISTEMA DE ATITUDE EM DSP

IMPLEMENTAÇÃO DE SISTEMA DE ATITUDE EM DSP Anais do 15 O Encontro de Iniciação Científica e Pós-Graduação do ITA XV ENCITA / 2009 Instituto Tecnológico de Aeronáutica São José dos Campos SP Brasil Outubro 19 a 21 2009. IMPLEMENTAÇÃO DE SISTEMA

Leia mais

Memória Cache. Walter Fetter Lages.

Memória Cache. Walter Fetter Lages. Memória Cache Walter Fetter Lages w.fetter@ieee.org Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Engenharia Elétrica Copyright (c) Walter Fetter Lages p.1 Introdução SRAM

Leia mais

Utilização do solidthinking Embed em projetos de controle para sistemas embarcados utilizando técnica de controle adaptativo por modelo de referência.

Utilização do solidthinking Embed em projetos de controle para sistemas embarcados utilizando técnica de controle adaptativo por modelo de referência. Utilização do solidthinking Embed em projetos de controle para sistemas embarcados utilizando técnica de controle adaptativo por modelo de referência. Rodrigo de J. Macedo Resumo Apresenta-se, neste artigo,

Leia mais

Breve Introdução à Programação em Scilab 6.0

Breve Introdução à Programação em Scilab 6.0 Universidade Federal do Paraná UFPR Departamento de Engenharia Química Breve Introdução à Programação em Scilab 6.0 Prof. Éliton Fontana 2018/2 2 Conteúdo 1 Conceitos Básicos 4 2 Operando Vetores e Matrizes

Leia mais

PARALELIZAÇÃO DE ALGORITMO DE INSPEÇÃO DE ROTAS UTILIZANDO PERMUTAÇÃO LEXICOGRÁFICA 1

PARALELIZAÇÃO DE ALGORITMO DE INSPEÇÃO DE ROTAS UTILIZANDO PERMUTAÇÃO LEXICOGRÁFICA 1 PARALELIZAÇÃO DE ALGORITMO DE INSPEÇÃO DE ROTAS UTILIZANDO PERMUTAÇÃO LEXICOGRÁFICA 1 Jessica De Almeida Berlezi 2, Janiel Ceretta Foletto 3, Edson Luiz Padoin 4, Rogério S. M. Martins 5. 1 Trabalho realizado

Leia mais

Sistemas Operacionais Gerenciamento de Memória. Carlos Ferraz Jorge Cavalcanti Fonsêca

Sistemas Operacionais Gerenciamento de Memória. Carlos Ferraz Jorge Cavalcanti Fonsêca Sistemas Operacionais Gerenciamento de Memória Carlos Ferraz (cagf@cin.ufpe.br) Jorge Cavalcanti Fonsêca (jcbf@cin.ufpe.br) Memória Física vs. Memória do Programa Memória P Física Tamanho dos softwares

Leia mais

Engenharia de Confiança. Helena Macedo Reis Luis Fernando de Souza Moro

Engenharia de Confiança. Helena Macedo Reis Luis Fernando de Souza Moro Engenharia de Confiança Helena Macedo Reis Luis Fernando de Souza Moro 1 Engenharia de Confiança Preocupada com técnicas que aumentam a confiança e diminui os riscos de falhas Falha pode causar perda de

Leia mais

IF-705 Automação Inteligente Algoritmos Evolucionários

IF-705 Automação Inteligente Algoritmos Evolucionários IF-705 Automação Inteligente Algoritmos Evolucionários Aluizio Fausto Ribeiro Araújo Universidade Federal de Pernambuco Centro de Informática - CIn Departamento de Sistemas da Computação aluizioa@cin.ufpe.br

Leia mais

PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA DE AUTOMAÇÃO E SISTEMAS- UFSC. Proposta de Tema de mestrado 2016

PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA DE AUTOMAÇÃO E SISTEMAS- UFSC. Proposta de Tema de mestrado 2016 PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA DE AUTOMAÇÃO E SISTEMAS- UFSC Proposta de Tema de mestrado 2016 Título: Técnicas de Filtragem Ativa da Componente Alternada da Potência nos Inversores Monofásicos

Leia mais

Projeto e Análise de Algoritmos NP Completude Parte 2. Prof. Humberto Brandão

Projeto e Análise de Algoritmos NP Completude Parte 2. Prof. Humberto Brandão Projeto e Análise de Algoritmos NP Completude Parte 2 Prof. Humberto Brandão humberto@bcc.unifal-mg.edu.br Universidade Federal de Alfenas Departamento de Ciências Exatas versão da aula: 0.2 Última aula

Leia mais

Infraestrutura de Hardware. Funcionamento de um Computador

Infraestrutura de Hardware. Funcionamento de um Computador Infraestrutura de Hardware Funcionamento de um Computador Computador: Hardware + Software Perguntas que Devem ser Respondidas ao Final do Curso Como um programa escrito em uma linguagem de alto nível é

Leia mais

Estratégias de Busca: Métodos Informados. March 9, 2015

Estratégias de Busca: Métodos Informados. March 9, 2015 Estratégias de Busca: Métodos Informados March 9, 2015 Busca de Soluções: Métodos Informados Utilizam conhecimento específico do problema para encontrar a solução algoritmo geral de busca somente permite

Leia mais

Definição e avaliação de métricas para solucionadores SAT

Definição e avaliação de métricas para solucionadores SAT Definição e avaliação de métricas para solucionadores SAT Fernando Augusto Fernandes Braz Orientador: Mark Alan Junho Song Departamento de Ciência da Computação PUC Minas 9 de dezembro de 2009 Sumário

Leia mais

Algoritmo Aproximação. Prof. Anderson Almeida Ferreira [DPV]9.2 [ZIV]9.2.2 e 9.2.3

Algoritmo Aproximação. Prof. Anderson Almeida Ferreira [DPV]9.2 [ZIV]9.2.2 e 9.2.3 Algoritmo Aproximação Prof. Anderson Almeida Ferreira [DPV]9.2 [ZIV]9.2.2 e 9.2.3 Heurísticas para Problemas NP- Completo Heurística: algoritmo que pode produzir um bom resultado (ou até a solução ótima),

Leia mais

Pesquisa Operacional aplicada ao Planejamento e Controle da Produção e de Materiais Programação Linear

Pesquisa Operacional aplicada ao Planejamento e Controle da Produção e de Materiais Programação Linear Pesquisa Operacional aplicada ao Planejamento e Controle da Produção e de Materiais Programação Linear Introdução à Pesquisa Operacional Origens militares Segunda guerra mundial Aplicada na alocação de

Leia mais

IV Semana de Engenharia de Controle e Automação e Engenharia Elétrica

IV Semana de Engenharia de Controle e Automação e Engenharia Elétrica IV Semana de Engenharia de Controle e Automação e Engenharia Elétrica seu nome Departamento Acadêmico de Eletrotécnica UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ - CURITIBA Curitiba, 2017 seu nome IV

Leia mais

Métodos de Pesquisa Operacional

Métodos de Pesquisa Operacional Métodos de Pesquisa Operacional Programação Linear é a parte da Pesquisa Operacional que trata da modelagem e resolução de problemas formulados com funções lineares. Programação Linear } Métodos de Resolução

Leia mais

MÉTODOS NEWTON E QUASE-NEWTON PARA OTIMIZAÇÃO IRRESTRITA

MÉTODOS NEWTON E QUASE-NEWTON PARA OTIMIZAÇÃO IRRESTRITA MÉTODOS NEWTON E QUASE-NEWTON PARA OTIMIZAÇÃO IRRESTRITA Marlon Luiz Dal Pasquale Junior, UNESPAR/FECILCAM, jr.marlon@hotmail.com Solange Regina dos Santos (OR), UNESPAR/FECILCAM, solaregina@fecilcam.br

Leia mais

INTRODUÇÃO À ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES. Função e Estrutura. Introdução Organização e Arquitetura. Organização e Arquitetura

INTRODUÇÃO À ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES. Função e Estrutura. Introdução Organização e Arquitetura. Organização e Arquitetura Introdução Organização e Arquitetura INTRODUÇÃO À ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES Eduardo Max Amaro Amaral Arquitetura são os atributos visíveis ao programador. Conjunto de instruções, número

Leia mais

Um Algoritmo Genético para o Problema de Roteamento de Veículos com Janelas de Tempo

Um Algoritmo Genético para o Problema de Roteamento de Veículos com Janelas de Tempo Um Algoritmo Genético para o Problema de Roteamento de Veículos com Janelas de Tempo Francisco Henrique de Freitas Viana Pontifícia Universidade Católica do Rio de Janeiro PUC-Rio Departamento de Informática

Leia mais

Estudo sobre decodificação iterativa usando códigos de treliça

Estudo sobre decodificação iterativa usando códigos de treliça Revista de Engenharia e Pesquisa Aplicada, Volume 2, Número 1, 2016 Estudo sobre decodificação iterativa usando códigos de treliça Souza, I. M. M. Escola Politécnica de Pernambuco Universidade de Pernambuco

Leia mais

1.1 Descrição do problema A programação genética (PG) é uma meta-heurística utilizada para gerar programas de computadores, de modo que o computador

1.1 Descrição do problema A programação genética (PG) é uma meta-heurística utilizada para gerar programas de computadores, de modo que o computador 1 Introdução 1.1 Descrição do problema A programação genética (PG) é uma meta-heurística utilizada para gerar programas de computadores, de modo que o computador possa resolver problemas de forma automática

Leia mais

Classificação: 1R e Naïve Bayes. Eduardo Raul Hruschka

Classificação: 1R e Naïve Bayes. Eduardo Raul Hruschka Classificação: 1R e Naïve Bayes Eduardo Raul Hruschka Agenda: Conceitos de Classificação Técnicas de Classificação One Rule (1R) Naive Bayes (com seleção de atributos) Super-ajuste e validação cruzada

Leia mais