UM ALGORITMO PARA UM PROBLEMA DE ESCALONAMENTO COM TAREFAS DE TEMPOS UNITÁRIOS

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

Download "UM ALGORITMO PARA UM PROBLEMA DE ESCALONAMENTO COM TAREFAS DE TEMPOS UNITÁRIOS"

Transcrição

1 UM ALGORITMO PARA UM PROBLEMA DE ESCALONAMENTO COM TAREFAS DE TEMPOS UNITÁRIOS Mitre Costa Dourado DEMAT-ICE - Universidade Federal Rural do Rio de Janeiro e NCE UFRJ mitre@nce.ufrj.br Rosiane de Freitas Rodrigues 1 DCC-ICE - Universidade Federal do Amazonas e COPPE UFRJ rosiane@cos.ufrj.br Jayme Luiz Szwarcfiter 2 Instituto de Matemática, NCE e COPPE - Universidade Federal do Rio de Janeiro jayme@nce.ufrj.br Caixa Postal Rio de Janeiro, RJ, Brasil Phone: Resumo: Este trabalho apresenta um algoritmo para determinar escalonamentos que minimizem a soma total dos jobs tardios ponderados, dados n jobs de tempos unitários, cada um tendo uma data de disponibilidade, uma data de término sugerida e um peso, além de também serem dadas m máquinas idênticas e paralelas. A complexidade do algoritmo proposto é de O((n 2 log m)/m). O melhor algoritmo existente até então para o problema possui complexidade O(n 3 ) e emprega técnicas de fluxo em redes. Nosso método se baseia em uma caracterização para escalonamentos deste tipo e emprega ferramentas de teoria dos grafos. Palavraschave: algoritmos, escalonamento teórico, jobs tardios, máquinas paralelas, tempos unitários, teoria dos grafos. Palavras-chave: algoritmos, escalonamento teórico, máquinas paralelas, tarefas tardias, tempos unitários, teoria dos grafos. Abstract: This work presents an algorithm to determine schedules that minimizing the weighted number of tardy jobs, given a set of n unit time jobs, each one having a release date, a due date and a weight, besides of a set of m identical and parallel machines. The complexity of the proposed algorithm is O((n 2 log m)/m). The best previous algorithm for this problem has complexity O(n 3 ), and employs network flow techniques. Our method is based on a characterization for schedules of this type and employs graph theoretic tools. Keywords: algorithms, graph theory, parallel machines, scheduling theory, tardy jobs, unit time jobs. 1 Parcialmente suportada pela Coordenação de Aperfeiçoamento de Pessoal de Nível Superior - CAPES, Brasil. 2 Parcialmente suportado pelo Conselho Nacional de Desenvolvimento Científico e Tecnológico - CNPq e pela Fundação de Amparo à Pesquisa do Estado do Rio de Janeiro - FAPERJ, Brasil. [2003]

2 1. Introdução O problema de escalonamento abordado neste artigo é o P p j =1; r j w j U j, segundo a notação de 3-campos proposta por Graham et al (1979). Ou seja, considera-se J=J 1,..., J n um conjunto de n tarefas independentes, onde cada tarefa J j tem um tempo de processamento unitário p j =1, uma data de disponibilidade (release date) r j, uma data de término esperada e não obrigatória (due date) d j e um peso (weight) w j. Tais tarefas devem ser executadas em m, 1 m n, máquinas ou processadores idênticos e paralelos P=P 1,..., P m. Neste trabalho, todas as datas de disponibilidade e término das tarefas são números inteiros não negativos, enquanto os pesos são números reais positivos. Cada processador pode processar no máximo uma tarefa a cada intervalo de tempo e cada tarefa, por sua vez, só pode ser processada em uma máquina por vez. Sendo assim, um escalonamento para (J,P) é uma função injetora J (Z,P), a qual assinala para cada tarefa J j J um inteiro s j Ζ +, chamado tempo inicial (start time) de J j e uma máquina específica P i P. Pode ser dito, então, que a tarefa J j foi escalonada no tempo s j ocupando o processador P i. Denota-se c i = s i +p i como sendo o tempo de completude (completion time) da tarefa J j, que no caso considerado será sempre c i = s +1. Se uma tarefa J j for tardia (tardy ou late), c j > d j, uma penalidade unitária, U j =1, é atribuída. Caso contrário, se uma tarefa J j for executada antecipadamente ou em tempo (early ou on-time), c j d j, então uma penalidade nula, U j =0, é atribuída. O problema, então, consiste em escalonar todas as tarefas de forma a minimizar a soma total das tarefas tardias ponderadas, ou seja, minimizar w j U j. Um escalonamento de tarefas de tempos unitários consiste em um conjunto de pares de inteiros (t,i), chamados de células de tempo, 1 t n e 1 i m. A célula de tempo (t,i) é dita usada quando existe alguma tarefa escalonada para iniciar no tempo t na máquina P i, caso contrário, a célula de tempo é dita desocupada ou disponível. Um escalonamento define uma partição j=s T, sendo S o conjunto de tarefas em tempo e T o conjunto de tarefas tardias. Um intervalo I=[t 1, t 2 ] de S é o conjunto de células de tempo contendo as tarefas J j S satisfazendo t 1 s j <t 2. Dizemos que I é cheio se não contém células de tempo disponíveis. Neste caso, I contém m(t 2 -t 1 ) tarefas. Para J j J, I j =[s j, t j ] é o intervalo de J j. Neste trabalho, usa-se a mesma notação, I=[t 1, t 2 ], para representar o intervalo de tempo t, t 1 t<t 2, sem nenhuma ambigüidade. Denota-se por J(I) o conjunto de tarefas J t J satisfazendo s t I. Recentemente, muitos resultados têm sido publicados sobre escalonamento em máquinas idênticas e paralelas com tarefas de tempos de processamento iguais, onde tarefas UET (unit execution times) constituem uma classe interessante de problemas de escalonamento. Deseja-se abordar tal subclasse considerando o problema o P p j =1; r j w j U j. Para este problema, o melhor algoritmo conhecido aplica técnicas de fluxo em redes tendo complexidade de tempo O(n 3 ) (Leung (2004) e Brucker e Knust (2007)). Neste artigo, será apresentado um algoritmo que utiliza conceitos de teoria dos grafos e baseia-se em uma caracterização feita por Dourado et al (2006), fornecendo um limite superior melhor, com complexidade de tempo O((n 2 log m)/m). Brucker et al (2003) mostrou que preempção é redundante para P p j =1; r j ; pmtn w j U j e, por este resultado, o algoritmo aqui apresentado também fornece a melhor complexidade conhecida para o problema. Para outros problemas relacionados, Brucker e Kravchenko (2006) resolveram o problema P p j =1 w j U j em O ( nlog n) e mostraram sua equivalência com o problema P p j =p; r j w j U j. O algoritmo apresentado também resolve ambos problemas em O(nlogn). Baptiste (1999) descreve um algoritmo para 1 p j =p; r j w j U j, usando Programação Dinâmica, o qual requer um tempo de O(n 7 ). Baptiste et al (2004) resolveram o problema P p j =p; r j w j U j, com complexidade O(n 6m+1 ), enquanto Chrobak et al (2006) resolveu o problema 1 p j =p; r j U j em um tempo de O(n 5 ), ambos trabalhos também usando Programação Dinâmica. Para [2004]

3 outros resultados em escalonamento de tempos iguais buscar Leung (2004) e Brucker e Knust (2007). Este artigo está estruturado da seguinte forma. Nesta primeira seção, apresenta-se as definições básicas do problema de escalonamento abordado, bem como uma revisão da literatura. Na segunda seção, aborda-se os fundamentos necessários para o entendimento do algoritmo proposto, incluindo uma caracterização na qual o mesmo se baseia. Na terceira seção, encontra-se a descrição do algoritmo, com sua prova de correção e análise de complexidade. Por fim, na quarta seção, apresenta-se uma análise comparativa da literatura e os resultados obtidos até então. 2. Fundamentos do Algoritmo Alguns conceitos úteis em teoria dos grafos serão apresentados em seguida. Denota-se um grafo direcionado ou digrafo por G=(V,E), onde V é o conjunto de vértices e E o conjunto de arestas. Usa-se (v i v j ) para representar uma aresta direcionada de G, de v i para v j. Um caminho em um digrafo G é uma sequência de vértices distintos v 1,..., v k, tal que, (v i, v i+1 ) E(G), para i<k. Neste caso, se diz que v 1 alcança v k. Dois subgrafos com o mesmo conjunto de vértices são equivalentes se o conjunto de vértices alcançados por cada vértice for o mesmo em ambos digrafos. Um ciclo é uma sequência de vértices v 1,..., v k, v k+1 onde v 1,..., v k é um caminho, (v k,v k+1 ) E(G) e v 1 = v k+1, k>1. Um digrafo é acíclico se contém ciclos. Dado um digrafo acíclico G, sua redução transitiva é o grafo mínimo equivalente de G. O grau de saída e o grau de entrada de um vértice u de G são o número de arestas (v,w) E(G) tal que u=v e u=w, respectivamente. Um vértice é uma fonte se seu grau de entrada for zero. Associa-se um grafo direcionado G(S) ao conjunto de tarefas em tempo, chamado de digrafo em tempo de S, e definido como segue. Cada vértice v t V(G) corresponde ao tempo t, onde existe alguma célula de tempo usada (t,i), para alguma máquina P i. Existe uma aresta direcionada de v t a v i precisamente quando existe J k S, onde s k =1 e satisfazendo: (i) t < i e d k < i ou (ii) t > i e r k i. Neste caso, J k é também uma tarefa em tempo para o tempo t. O digrafo em tempo de S é utilizado para trocar tarefas de S com tarefas de T, como segue. Seja J t S e J k T. Um caminho de trocas R para J t,j k é um caminho de v l a v t em R para algum l I k. Para cada v i R, i t, seja v i o vértice seguinte ao vértice v i em R. Define-se um escalonamento (S,T ) como T =(T\J k ) J t, enquanto S é obtido a partir de S através das seguintes operações: (i) Remova J t de S. (ii) Iterativamente, para cada v i R, i t, escolha um tarefa J q com tempo de início j, com a propriedade de ser também em tempo para j. Então, mova J q para o tempo j. (iii) Escalone J k para o tempo l. Dizemos que (S,T ) é a substituição de J t por J k em (S,T), e que J k substitui J t em S. A Figura 1 ilustra um escalonamento (S,T), um digrafo em tempo G(S), um caminho de trocas R para J t S e J k T, e, um escalonamento substituto (S,T ). [2005]

4 Figura 1: (a) Instância de um problema de escalonamento; (b) Escalonamento (S,T); (c) Digrafo em tempo G(S); (d) Um caminho de trocas em G(S), com a substituição da tarefa J 3 pela tarefa J 9 em (S,T); (e) Escalonamento substituto (S,T ). O lema seguinte é claro. LEMA 1: Seja um escalonamento factível e (S,T ) a troca de J t S por J k T em (S,T). Então, todas as tarefas de S estão em tempo. O intervalo estendido (range) I j * da tarefa J j J em S é o intervalo de tempo [t 1, t 2 ], tal que t 1 (respectivamente t 2 ) é o mínimo (máximo) tempo t onde v t G(S) é alcançável a partir de v k em G(S), para algum k I j. No exemplo da Figura 1, o intervalo estendido da tarefa J 2 é [1,5]. 2.1 O Digrafo G LR (S) O digrafo em tempo G(S) apesar de representar e auxiliar na busca por escalonamentos ótimos, ainda possui muitas arestas, O( S 2 ). Visando uma implementação mais eficiente do algoritmo a ser descrito, será apresentado nesta seção um grafo equivalente ao digrafo em tempo G(S), possuindo um número linear O( S ) de arestas. Será provado agora que G(S) admite um digrafo equivalente G LR (S), com O( S ) arestas. Desta forma, o digrafo G LR (S) pode ser descrito da seguinte forma. Primeiro, considera-se uma bipartição das arestas de G(S) em dois conjuntos distintos. Dizemos que uma aresta (v i, v j ) de G(S) é uma aresta à esquerda, quando i<j. Caso contrário, i>j e (v i, v j ) é uma aresta à direita. Denota-se por G L (S) e G R (S),os subgrafos de G(S) contendo as arestas à esquerda e à direita, respectivamente. Claramente, G L (S) e G R (S) são ambos acíclicos. Denota-se por G r L (S) e G r R (S) a redução transitiva de G L (S) e G R (S), respectivamente. Finalmente, define-se o digrafo esquerda-direita G LR (S), formado pela união das arestas de G r L (S) e G r R (S). A Figura 2(a) ilustra a [2006]

5 geração do digrafo esquerda-direita. Um exemplo de G LR (S), correspondendo ao escalonamento da Figura 1(c), aparece na Figura 2(b). Figura 2: (a) Geração do digrafo esquerda-direita G LR (S); (b) Exemplo de G LR (S) baseado no escalonamento da Figura 1(c). O lema a seguir mostra que fato os digrafos G(S) e G LR (S) são equivalentes. Lema 2: G(S) e G LR (S) são digrafos.quivalentes Prova: por construção, G LR (S) é um subdigrafo gerador de G(S). Sendo assim, é suficiente provar que se G(S) contém um caminho R entre dois vértices específicos, então G LR (S) também deve conter. Constrói-se, então, um caminho em G LR (S). Sempre que R contiver uma aresta (v i, v j ) a qual não pertença a G LR (S), faz-se o seguinte: se i < j então troque a aresta (v i, v j ) pelo caminho de v i a v j em G r R (S), caso contrário troque-a pelo caminho de v i a v j em G r L (S). Uma vez que G LR (S) é a união de G r L (S) e G r R (S), ambos caminhos estão contidos em G LR (S). Conseqüentemente, G LR (S) tem um caminho entre dois vértices, sempre que G(S) tiver. O lema a seguir prova que G LR (S) é um grafo esparso. Lema 3: G LR (S) contém O( S ) arestas. Prova: primeiro, será mostrado que G r L (S) contém O( S ) arestas. Será mostrado, então, que G r L (S) é de fato uma floresta enraizada direcionada, ou seja, cada vértice de G r L (S) tem grau de entrada no máximo igual a um. Supondo que esta afirmação seja falsa, e seja v i um vértice de grau de entrada maior do que um. Então, G r L (S) contém vértices distintos v j e v k, com arestas (v j, v i ) e (v k, v i ). Sem perda de generalidade, seja j<k. Isto implica que (v k, v j ) deve ser uma aresta de [2007]

6 G(S). Isto contradiz o fato de G L r (S) ser uma redução transitiva de G L (S). Portanto, G L r (S) tem menos do que S arestas, e vale similarmente para G R r (S). Consequentemente, G LR (S) tem menos do que 2 S arestas. Introduzidos estes conceitos e definições, serão apresentados os enunciados dos Teoremas e Corolários da caracterização proposta por Dourado et al (2006), nos quais o algoritmo a ser apresentado na próxima seção se baseia. A caracterização foi feita em termos das condições necessária e suficiente para se garantir a otimalidade do problema. Sendo assim, o Teorema 1 caracteriza escalonamentos factíveis que minimizam a soma total das tarefas tardias ponderadas. TEOREMA 1: Seja (S,T) um escalonamento, onde S é o conjunto de tarefas escalonadas e T o conjunto de tarefas tardias. Então (S,T) será ótimo se e somente se, para qualquer J j T: (i) I * j for cheio e, (ii) J k J(I * j ) w k w j. Os corolários a seguir são conseqüências diretas da prova do Teorema 1 anterior. O Corolário 1 caracteriza escalonamentos que possuem um número mínimo de tarefas tardios (sem ponderação). O Corolário 2 enuncia uma propriedade mais forte, assegurando que o multiconjunto formado pelos pesos das tarefas tardias de qualquer escalonamento ótimo é invariante. COROLÁRIO 1: Seja (S,T) um escalonamento, onde S é o conjunto de tarefas escalonadas e T o conjunto de tarefas tardias. Então T será mínimo se e somente se, I * j for cheio para qualquer J j T. COROLÁRIO 2: Seja T,T dois conjuntos de tarefas tardias de dois diferentes escalonamentos ótimos (que minimizam w U j j ), para um dado conjunto de tarefas. Sejam w(t),w(t ) multiconjuntos definidos pelos pesos das tarefas de T,T, respectivamente. Então, w(t)=w(t ). A próxima seção apresenta o algoritmo desenvolvido. 3. O Algoritmo Nesta seção é apresentado um algoritmo polinomial para a geração de escalonamentos ótimos para o problema P p j =1; r j w j U j, dado como instância um conjunto de tarefas J=J 1,..., J n tendo uma data de disponibilidade r j, uma data de término d j e um peso w j, além de um conjunto de P =m máquinas idênticas e paralelas. O Algoritmo 1 é apresentado abaixo. ALGORITMO 1 Gera escalonamento min w j U j Entrada: n tarefas, cada uma com data de início, data de término e peso. Saída: um escalonamento ótimo (S,T). 1. Construir um escalonamento guloso EDD para J ; 2. Construir o digrafo esquerda-direita G LR (S); 3. Para cada tarefa J j T faça Achar o intervalo estendido I j * ; Escolher a tarefa J k J(I j * ) tendo o menor w k e se w k <w j então Gerar (S,T ), pela substituição de J k por J j em (S,T); Fim. O lema 4 a seguir prova a corretude do Algoritmo 1. [2008]

7 LEMA 4: O algoritmo-1 é correto. Prova: Seja (S 0,T 0 ) o escalonamento construído pelo passo 1 e (S i,t i ) o escalonamento obtido depois da ith iteração do passo 3, i=1,..., T. Será provado que cada J j T T satisfaz as condições (i) e (ii) do teorema principal, o Teorema 1. A prova para a condição (i) é similar. Para a condição (ii), será mostrado que não existe tarefa J k I j * (S T ) tal que w k <w j, para cada J j T T. Seja i 1 a iteração na qual J j T 0 é considerada pelo algoritmo. Desde que nenhuma tarefa tardia pode substituir uma outra tarefa tardia na iteração do passo 3, conclui-se que J j T i para qualquer l i. Considera-se, então, as seguintes alternativas: Caso 1: J k I j * (S i-1 ), onde w k <w j. Nesta situação, o algoritmo assegura que J j T i. Além disso, J j T l, para qualquer l i. Isto prova que J a I j * (S T ) satisfazendo w a <w j, o que garante que a condição (ii) seja satisfeita por J j no final do algoritmo. Pelo contrário, supondo que exista tal tarefa J a e que ainda possua peso mínimo em I j * (S T ). Primeiro, observa-se que I j * (S q ) I j * (S q-1 ), para qualquer iteração q>i. Conseqüentemente, J a I j * (S i-1 ), com w a <w j, o que é uma contradição. Logo, J j satisfaz a condição (ii). Caso 2: J k I j * (S i-1 ), onde w k <w j. Sem perda de generalidade, seleciona-se J k com peso mínimo. O algoritmo, então, garante que J j substitui J k em S i, ou seja, J k T i e J j S i. Novamente, como nenhuma tarefa tardia substitui uma outra tarefa tardia, sabe-se que J j T l, para qualquer l i. Também, I * k (S l ) I * l (S l-1 ), * * I k ( Sl ) I k ( Sl 1). Conseqüentemente, a existência de uma tarefa J a I * k (S T ) satisfazendo w a <w k implicaria em J a I * k (S i-1 ). Por outro lado, sabe-se que I * k (S i-1 ) I * j (S i-1 ), devido ao fato de J k ter substituído J j. Desta forma, J a I * j (S i-1 ). Desde que w a <w j, a última situação significa que o algoritmo teria escolhido J a ao invés de J k, para substituir J j na iteração i. Sendo assim, nenhuma tarefa J a I * k (S T ) satisfazendo w a <w k pode existir, o que significa que J k T T satisfazendo a condição (ii). Logo, cada tarefa J j T T é tal que w j w k, para cada J k I j * (S T ), implicando no fato de que o Algoritmo 1 está correto. As subseções seguintes detalham cada passo do algoritmo Construção de um escalonamento guloso EDD Primeiramente é gerado um escalonamento factível a partir: da aplicação da regra EDD (Earliest Due Date first), onde as tarefas são consideradas a partir da ordem não-decrescente de suas datas de término; seguido de um procedimento guloso para o escalonamento das tarefas ordenadas, o que significa que as tarefas são escalonadas o mais cedo possível em S. O Teorema 2 garante que tal escalonamento guloso EDD minimiza w j U j. TEOREMA 2: Seja (S,T) um escalonamento guloso EDD. Então, I j * é cheio para cada J j T. Passo 1: Construir um escalonamento guloso EDD para J. Neste primeiro passo, primeiramente as tarefas são ordenados segundo os valores de suas datas de término (due dates). Isto custa O(nlogn), onde n é o número de tarefas. [2009]

8 Em seguida, as tarefas são escalonados através de um processo guloso, seguindo a ordem EDD pré-estabelecida das tarefas. Neste caso, como tem-se n tarefas e m máquinas, então, o tempo de processamento para escalonar todas as tarefas será O(n/m). O passo 1, portanto, custa O(nlogn) Construção do Digrafo Em-Tempo G(S) Esta subseção apresenta a construção do grafo direcionado Em-Tempo G(S), elaborado de tal forma a tornar eficiente a busca e conseqüente troca de tarefas no escalonamento. Passo 2: Construir o grafo direcionado G LR (S). A complexidade de construção fica em O(S), como desejado. Como o digrafo G LR (S) é obtido através da união dos digrafos G r R (S) e G r L (S), o Algoritmo 2 a seguir, apresenta o processo de construção computacional do digrafo G r R (S). ALGORITMO 2 Construção do G r R (S) 1. Para cada i de 1 a t k:=i-1; Enquanto k>l i Incluir aresta ( v i, vk ) no digrafo G r R (S). k':=k; k:=fonte(k); Remover nó k de fonte ; Fim. O passo 2, portanto, custa O( S ) Iteração para cada tarefa tardia Esta subseção apresenta o passo iterativo onde, para cada tarefa tardia resultante do escalonamento guloso EDD, verifica-se se a mesma pode ser inserida no escalonamento com algum ganho (decréscimo de valor) na função objetivo. Observa-se que use-se o digrafo do passo 2 para que este processo seja o mais eficiente possível, tal como será descrito a seguir. Passo 3: Para cada tarefa Jj T faça: Neste caso, no pior caso haverá O( T ) iterações, cada uma com os seguintes custos. Determinar a tarefa de menor peso do intervalo estendido pode ser feito em O(logm), uma vez que pode ser mantido um heap para cada unidade de tempo (vértice) que possua o menor peso dentre todos os tarefas escalonados naquela unidade de tempo. Realizar as substituições sucessivas de tarefas tem o custo do comprimento do maior caminho possível no grafo, que é O( S /m). Estes procedimentos podem ser feitos através de uma busca em profundidade (ou em largura) modificada, de tal forma a se guardar os vértices do caminho do vértice de menor peso, além dos vértices do caminho corrente da busca. Vale observar que são necessários mais dois heaps para cada unidade de tempo do escalonamento: um para fornecer a menor data de disponibilidade dentre todas as tarefas escalonadas naquele tempo; e, outro para fornecer a menor data de término dentre todas as tarefas escalonadas naquele tempo. Cada heap custa O(logm) para ser mantido. Desta forma, o custo do passo 3 será O( T ( S /m)logm). A complexidade de tempo total do Algoritmo 1, então, será O( T ( S /m)logm), sendo que para um único processador, m=1, a complexidade é O( T S ) ou O(n 2 ). [2010]

9 4. Considerações Finais Recentemente, muitos resultados têm sido publicados sobre escalonamento UET. Especificamente sobre problemas UET que envolvem a função de minimizar a soma total das tarefas tardias ponderadas, os melhores resultados encontrados na literatura são apresentados agora. A tabela 1 a seguir apresenta um quadro resumido dos melhores resultados para os problemas de escalonamento em análise. Tabela 1 Resumo dos resultados de complexidade. Problema Literatura Resultados propostos P p j =1 w j U j O(nlogn) P p j =p w j U j Brucker e Kravchenko (2006) 1 p j =1; r j w j U j O(n 3 ) Assignment problem O(n 3 ) P p j =1; r j w j U j Network flow algorithm preempção é redundante P p j =1;r j ;pmtn w j U j Brucker et al (2003) O(nlogn) O(n 2 ) O((n 2 log m)/m) O((n 2 log m)/m) Para o problema P p j =1; r j w j U j, o melhor algoritmo conhecido aplica técnicas de fluxo em redes tendo complexidade de tempo O(n 3 ) (Leung (2004) e Brucker e Knust (2007)). O algoritmo apresentado neste artigo utiliza conceitos de teoria dos grafos e baseia-se em uma caracterização feita por Dourado et al (2006), resultando em uma complexidade de tempo O((n 2 log m)/m). Para o caso particular de uma máquina, 1 p j =1; r j w j U j, a melhor complexidade também era O(n 3 ), obtida através da modelagem do problema pelo assignment problem. O algoritmo aqui proposto resolve este problema em tempo O(n 2 ). Brucker et al (2003) mostrou que preempção é redundante para P p j =1; r j ; pmtn w j U j e, por este resultado, o algoritmo aqui apresentado também fornece a melhor complexidade conhecida para o problema. Para outros problemas relacionados, Brucker e Kravchenko (2006) resolveram o problema P p j =1 w j U j em O(nlogn) e mostraram sua equivalência com o problema P p j =p w j U j. O algoritmo apresentado também resolve ambos problemas em O(nlogn). Referências Baptiste, P. Brucker, P., Knust, S., Timbkovsky, V. (2004). Ten notes on equal-processing-time scheduling: at the frontiers of solvability in polynomial time, Quaterly Journal of the Belgian, French and Italian Operations Research Societies 4OR, Springer-Verlag, 2: Baptiste, P. (1999). Polynomial time algorithms for minimizing the weighted number of late tarefas on a single machine when processing times are equal, Journal of Scheduling, 2: Brucker, P., Knust, S. (2007). Complexity Results for Scheduling Problems, Brucker, P., Kravchenko, S. (2006). Scheduling Equal Processing Time Tarefas to Minimize the Weighted Number of Late Tarefas, Journal of Mathematical Modelling and Algorithms. Springer. [2011]

10 Brucker, P., Heitmann, S., Hurink, J. (2003). How useful are preemptive schedules, in Operational Research Letters, 31: Graham, R., Lawler, E., Lenstra, J., Rinnooy-Kan, A. (1979). Optimization and Approximation in Deterministic Sequencing and Scheduling: a Survey, Annals of Discrete Mathematics, 5: Lawler, E., Moore, J. (1969). A functional equation and its application to resource allocation and sequencing problems, Management Science, 16: Leung, J. (2004). Handbook of Scheduling: algorithms, models, and performance analysis, Chapman & Hall / CRS Press. [2012]

SOBRE ESCALONAMENTO EM MÁQUINAS PARALELAS COM CAPACIDADES DISTINTAS

SOBRE ESCALONAMENTO EM MÁQUINAS PARALELAS COM CAPACIDADES DISTINTAS SOBRE ESCALONAMENTO EM MÁQUINAS PARALELAS COM CAPACIDADES DISTINTAS Mitre Costa Dourado 1 Rosiane de Freitas Rodrigues 2 Jayme Luiz Szwarcfiter 3 1 Instituto de Ciências Exatas - UFRRJ e NCE-UFRJ 2 Engenharia

Leia mais

Escalonamento em uma máquina

Escalonamento em uma máquina Capítulo 4 Escalonamento em uma máquina Veremos neste capítulo vários problemas relacionados ao escalonamento em uma máquina. Estes problemas são importantes, pois além de fornecerem idéias para problemas

Leia mais

Árvores Árvores Geradoras de Custo Mínimo 0/16

Árvores Árvores Geradoras de Custo Mínimo 0/16 Conteúdo 1 Árvores 2 Árvores Geradoras de Custo Mínimo Árvores Árvores Geradoras de Custo Mínimo 0/16 Árvores Definição (Grafo Acíclico) Um grafo acíclico é um grafo que não contém ciclos. Árvores Árvores

Leia mais

Otimização em Grafos

Otimização em Grafos Otimização em Grafos Luidi G. Simonetti PESC/COPPE 2017 Luidi Simonetti (PESC) EEL857 2017 1 / 35 Teoria dos Grafos - Relembrando Árvore Um grafo G é uma árvore se é conexo e não possui ciclos (acíclico).

Leia mais

Parte B Teoria dos Grafos

Parte B Teoria dos Grafos 45 Parte B Teoria dos Grafos B. Grafos e Subgrafos Um grafo G é uma tripla ordenada (V(G), E(G), ), constituindo de um conjunto não vazio V(G) de vértices, um conjunto disjunto E(G) das arestas e uma função

Leia mais

Sequenciamento de Tarefas

Sequenciamento de Tarefas Sequenciamento de Tarefas Programa: Introdução; Sequenciamento numa única máquina; Sequenciamento em máquinas paralelas; Problemas de shop scheduling; Extensões; 1 Introdução Problemas de sequenciamento/escalonamento

Leia mais

Teoria dos Grafos. Fluxo Máximo em Redes

Teoria dos Grafos. Fluxo Máximo em Redes Teoria dos Grafos Valeriano A. de Oliveira Socorro Rangel Silvio A. de Araujo Departamento de Matemática Aplicada antunes@ibilce.unesp.br, socorro@ibilce.unesp.br, saraujo@ibilce.unesp.br Fluxo Máximo

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

Problema da Árvore Geradora Mínima (The Minimum Spanning Tree Problem-MST)

Problema da Árvore Geradora Mínima (The Minimum Spanning Tree Problem-MST) Volmir Eugênio Wilhelm Departamento de Engenharia de Produção UFPR 45 Problema da Árvore Geradora Mínima (The Minimum Spanning Tree Problem-MST) Alguns problemas de otimização combinatória podem ser formulados

Leia mais

Exercícios: Alg Gulosos. Eduardo Laber

Exercícios: Alg Gulosos. Eduardo Laber Exercícios: Alg Gulosos Eduardo Laber Cap 4-Exercício 2 a) Verdadeiro, já que trocando cada elemento pelo seu quadrado não altera a ordem das arestas. Portanto, o algoritmo de Kruskal constrói a mesma

Leia mais

O grau de saída d + (v) de um vértice v é o número de arcos que tem

O grau de saída d + (v) de um vértice v é o número de arcos que tem Grafos Direcionados Definição (Grau de Entrada) O grau de entrada d (v) de um vértice v é o número de arcos que tem v como cabeça. Definição (Grau de Saída) O grau de saída d + (v) de um vértice v é o

Leia mais

OBSTRUÇÕES DE COGRAFOS-(K, L)

OBSTRUÇÕES DE COGRAFOS-(K, L) OBSTRUÇÕES DE COGRAFOS-(K, L) Raquel de Souza Francisco COPPE/Sistemas, Universidade Federal do Rio de Janeiro, RJ, 21945-970, Brasil raquelbr@cos.ufrj.br Sulamita Klein IM e COPPE/Sistemas, Universidade

Leia mais

Grafos: árvores geradoras mínimas. Graça Nunes

Grafos: árvores geradoras mínimas. Graça Nunes Grafos: árvores geradoras mínimas Graça Nunes 1 Motivação Suponha que queremos construir estradas para interligar n cidades Cada estrada direta entre as cidades i e j tem um custo associado Nem todas as

Leia mais

GRAFOS Aula 02 Formalização: definições Max Pereira

GRAFOS Aula 02 Formalização: definições Max Pereira Ciência da Computação GRAFOS Aula 02 : definições Max Pereira Um grafo G é um par ordenado G = (V, E) onde V é um conjunto finito e não vazio de elementos e E é um conjunto de subconjuntos de dois elementos

Leia mais

Teoria dos Grafos Aula 14

Teoria dos Grafos Aula 14 Teoria dos Grafos Aula 14 Aula passada MST Aula de hoje Construção de algoritmos Paradigma guloso Escalonando tarefas no tempo (interval scheduling) Projetando Algoritmos Dado um problema P, como projetar

Leia mais

apenas os caminhos que passam só por vértices em C, exceto, talvez, o próprio v A Figura 1 a seguir ilustra o significado do conjunto C edovalordist.

apenas os caminhos que passam só por vértices em C, exceto, talvez, o próprio v A Figura 1 a seguir ilustra o significado do conjunto C edovalordist. CAMINHO DE CUSTO MÍNIMO Dados dois pontos A e B, em muitos problemas práticos fazemos 2 perguntas: 1. existe um caminho de A para B? ou 2. se existe mais de um caminho de A para B, qual deles é o mais

Leia mais

Método Guloso. Troco mínimo. Paulo Eustáquio Duarte Pinto (pauloedp arroba ime.uerj.br) junho/2012. Troco mínimo. Troco mínimo

Método Guloso. Troco mínimo. Paulo Eustáquio Duarte Pinto (pauloedp arroba ime.uerj.br) junho/2012. Troco mínimo. Troco mínimo Notas de aula da disciplina IME - ALGORITMOS E ESTRUTURAS DE DADOS II Paulo Eustáquio Duarte Pinto (pauloedp arroba ime.uerj.br) Troco mínimo Dados os tipos de moedas de um país, determinar o número mínimo

Leia mais

Grafos: componentes fortemente conexos, árvores geradoras mínimas

Grafos: componentes fortemente conexos, árvores geradoras mínimas Grafos: componentes fortemente conexos, árvores geradoras mínimas SCE-183 Algoritmos e Estruturas de Dados 2 Thiago A. S. Pardo Maria Cristina 1 Componentes fortemente conexos Um componente fortemente

Leia mais

ESTRUTURAS DE DADOS. prof. Alexandre César Muniz de Oliveira. 1. Introdução 2. Pilhas 3. Filas 4. Listas 5. Árvores 6. Ordenação 7. Busca 8.

ESTRUTURAS DE DADOS. prof. Alexandre César Muniz de Oliveira. 1. Introdução 2. Pilhas 3. Filas 4. Listas 5. Árvores 6. Ordenação 7. Busca 8. ESTRUTURAS DE DADOS prof. Alexandre César Muniz de Oliveira 1. Introdução 2. Pilhas 3. Filas 4. Listas 5. Árvores 6. Ordenação 7. Busca 8. Grafos Sugestão bibliográfica: ESTRUTURAS DE DADOS USANDO C Aaron

Leia mais

Fábio Protti - UFF Loana T. Nogueira - UFF Sulamita Klein UFRJ

Fábio Protti - UFF Loana T. Nogueira - UFF Sulamita Klein UFRJ Fábio Protti - UFF Loana T. Nogueira - UFF Sulamita Klein UFRJ Suponha que temos um grupo de pessoas (funcionário de uma empresa) que serão submetidos a um treinamento. Queremos identificar os grupos de

Leia mais

Toward an Architecture-Independent Analysis of Parallel Algorithms

Toward an Architecture-Independent Analysis of Parallel Algorithms 1/22 Introdução O algoritmo de aproximação Aplicações em Problemas Concretos Problemas Abertos Referências Toward an Architecture-Independent Analysis of Parallel Algorithms Mijail Gamarra Holguin 18 de

Leia mais

Problema do Caminho Mínimo

Problema do Caminho Mínimo Departamento de Engenharia de Produção UFPR 63 Problema do Caminho Mínimo O problema do caminho mínimo ou caminho mais curto, shortest path problem, consiste em encontrar o melhor caminho entre dois nós.

Leia mais

Eduardo Camponogara. DAS-9003: Introdução a Algoritmos

Eduardo Camponogara. DAS-9003: Introdução a Algoritmos Caminhos Mínimos Com Uma Fonte 1/74 Caminhos Mínimos Com Uma Fonte Eduardo Camponogara Departamento de Automação e Sistemas Universidade Federal de Santa Catarina DAS-9003: a Algoritmos Caminhos Mínimos

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 14: Conjuntos de Corte e Conectividade Preparado a partir do texto: Rangel,

Leia mais

Scheduling and Task Allocation ADVANCED COMPUTER ARCHITECTURE AND PARALLEL PROCESSING Hesham El-Rewini 2005 Capítulo 10 Autor...: Antonio Edson Ceccon Professor..: Prof. Heitor Silvério Lopes Apresentação

Leia mais

FORMULAÇÕES COM VARIÁVEIS CONTENDO ÍNDICE DE TEMPO PARA O PROBLEMA DO FLOW SHOP EM DUAS MÁQUINAS COM PENALIDADES POR ATRASO NAS TAREFAS

FORMULAÇÕES COM VARIÁVEIS CONTENDO ÍNDICE DE TEMPO PARA O PROBLEMA DO FLOW SHOP EM DUAS MÁQUINAS COM PENALIDADES POR ATRASO NAS TAREFAS FORMULAÇÕES COM VARIÁVEIS CONTENDO ÍNDICE DE TEMPO PARA O PROBLEMA DO FLOW SHOP EM DUAS MÁQUINAS COM PENALIDADES POR ATRASO NAS TAREFAS José Mauricio Brasil Gonçalves Departamento de Engenharia de Produção

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

Algoritmos Branch e Bound para o problema de sequenciamento em uma única máquina

Algoritmos Branch e Bound para o problema de sequenciamento em uma única máquina Trabalho apresentado no XXXV CNMAC, Natal-RN, 2014. Algoritmos Branch e Bound para o problema de sequenciamento em uma única máquina Carlos E. Ferreira Instituto de Matemática e Estatística, IME, USP 05508-090,

Leia mais

CI065 CI755 Algoritmos e Teoria dos Grafos

CI065 CI755 Algoritmos e Teoria dos Grafos CI065 CI755 Algoritmos e Teoria dos Grafos Exercícios 11 de outubro de 2017 1 Fundamentos 1. Seja S = {S 1,..., S n } uma família de conjuntos. O grafo intercessão de S é o grafo G S cujo conjunto de vértices

Leia mais

Planaridade AULA. ... META Introduzir o problema da planaridade de grafos. OBJETIVOS Ao final da aula o aluno deverá ser capaz de:

Planaridade AULA. ... META Introduzir o problema da planaridade de grafos. OBJETIVOS Ao final da aula o aluno deverá ser capaz de: Planaridade AULA META Introduzir o problema da planaridade de grafos. OBJETIVOS Ao final da aula o aluno deverá ser capaz de: Distinguir grafo planar e plano; Determinar o dual de um grafo; Caracterizar

Leia mais

Teoria dos Grafos. Árvores Geradoras

Teoria dos Grafos. Árvores Geradoras Teoria dos Grafos Valeriano A. de Oliveira Socorro Rangel Silvio A. de Araujo Departamento de Matemática Aplicada antunes@ibilce.unesp.br, socorro@ibilce.unesp.br, saraujo@ibilce.unesp.br Preparado a partir

Leia mais

Linguagens Regulares. Prof. Daniel Oliveira

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

Leia mais

ANÁLISE DE ALGORITMOS (INF 1721)

ANÁLISE DE ALGORITMOS (INF 1721) PUC-Rio Departamento de Informática Prof. Marcus Vinicius S. Poggi de Aragão (3WA) Horário: 2as. e 4as. 9-11hs (3WA) 3 de dezembro de 2016 Período: 2016.2 ANÁLISE DE ALGORITMOS (INF 1721) 3 a Lista de

Leia mais

Estruturas de Dados. Grafos VIII: Árvores Geradoras Mínimas. Prof. Ricardo J. G. B. Campello

Estruturas de Dados. Grafos VIII: Árvores Geradoras Mínimas. Prof. Ricardo J. G. B. Campello Estruturas de Dados Grafos VIII: Árvores Geradoras Mínimas Prof. Ricardo J. G. B. Campello Parte deste material é baseado em adaptações e extensões de slides disponíveis em http://ww.datastructures.net

Leia mais

Teoria dos Grafos. Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo. Capítulo 16: Grafos Planares. Departamento de Matemática Aplicada

Teoria dos Grafos. Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo. Capítulo 16: Grafos Planares. 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 16: Grafos Planares Preparado a partir do texto: Rangel, Socorro. Teoria do

Leia mais

Percursos em um grafo

Percursos em um grafo Percursos em um grafo Definição Um percurso ou cadeia é uma seqüência de arestas sucessivamente adjacentes, cada uma tendo uma extremidade adjacente à anterior e a outra a subsequente (à exceção da primeira

Leia mais

Método prático para extrair uma base de um conjunto de geradores de um subespaço de R n

Método prático para extrair uma base de um conjunto de geradores de um subespaço de R n Método prático para extrair uma base de um conjunto de geradores de um subespaço de R n 1. Descrição do método e alguns exemplos Colocamos o seguinte problema: dado um conjunto finito: A = {a 1, a 2,...,

Leia mais

Caminhos mínimos de única origem

Caminhos mínimos de única origem Caminhos mínimos de única origem Algoritmos em Grafos Marco A L Barbosa cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual 4.0 Internacional. Conteúdo Introdução

Leia mais

5COP096 TeoriadaComputação

5COP096 TeoriadaComputação Sylvio 1 Barbon Jr barbon@uel.br 5COP096 TeoriadaComputação Aula 12 Prof. Dr. Sylvio Barbon Junior Sumário - Árvore Geradora Mínima - Teorema pare reconhecer arestas seguras; - Algoritmo de Prim; - Algoritmo

Leia mais

Otimização em Grafos

Otimização em Grafos Otimização em Grafos Luidi G. Simonetti PESC/COPPE 2017 Luidi Simonetti (PESC) EEL857 2017 1 / 33 Definição do Problema Dado: um grafo ponderado G = (V, E), orientado ou não, onde d : E R + define as distâncias

Leia mais

Sub-grafo. Árvore Geradora Mínima

Sub-grafo. Árvore Geradora Mínima Comentários da aula anterior Componentes Fortemente Conectados (algoritmo) 1. Chama BuscaEmProfundidade (G) para obter os tempos de término (t[u], ou f[u]) para todos os vértices de G, isto é, enquanto

Leia mais

TGR BCC Representação Computacional de Grafos. Prof. Ricardo José Pfitscher

TGR BCC Representação Computacional de Grafos. Prof. Ricardo José Pfitscher TGR BCC Representação Computacional de Grafos Prof. Ricardo José Pfitscher Cronograma Representação Matriz de djacências Lista de djacências Matriz de Incidências Representação Como podemos representar

Leia mais

Projeto e Análise de Algoritmos. Método Guloso

Projeto e Análise de Algoritmos. Método Guloso Projeto e Análise de Algoritmos Método Guloso Altigran Soares da Silva Universidade Federal do Amazonas Departamento de Ciência da Computação Árvore Geradora Um árvore geradora de um grafo G é um subgrafo

Leia mais

Grafos. Notas. Notas. Notas. Notas. Caminhos mais curtos de única origem. Subestrutura ótima. Propriedades de caminhos mais curtos

Grafos. Notas. Notas. Notas. Notas. Caminhos mais curtos de única origem. Subestrutura ótima. Propriedades de caminhos mais curtos Grafos Caminhos mais curtos de única origem Conteúdo Subestrutura ótima Inicialização Propriedades de caminhos mais curtos Algoritmos Algoritmo de Bellman-Ford Caminhos mais curtos de única origem em gaos

Leia mais

O Problema do Multi Corte Mínimo em Digrafos

O Problema do Multi Corte Mínimo em Digrafos O em Digrafos Orientador: Professor Paulo Feofiloff Instituto de Matemática e Estatística Universidade de São Paulo Trabalho de Conclusão de Curso - 9 O em Digrafos Conteúdo O em Digrafos Problema Dado

Leia mais

Redução polinomial. Permite comparar o grau de complexidade de problemas diferentes.

Redução polinomial. Permite comparar o grau de complexidade de problemas diferentes. Redução polinomial Permite comparar o grau de complexidade de problemas diferentes. Uma redução de um problema Π a um problema Π é um algoritmo ALG que resolve Π usando uma subrotina hipotética ALG que

Leia mais

UNIVERSIDADE FEDERAL DO AMAZONAS INSTITUTO DE COMPUTAÇÃO PROGRAMA DE PÓS-GRADUAÇÃO EM INFORMÁTICA

UNIVERSIDADE FEDERAL DO AMAZONAS INSTITUTO DE COMPUTAÇÃO PROGRAMA DE PÓS-GRADUAÇÃO EM INFORMÁTICA UNIVERSIDADE FEDERAL DO AMAZONAS INSTITUTO DE COMPUTAÇÃO PROGRAMA DE PÓS-GRADUAÇÃO EM INFORMÁTICA CASOS ESPECIAIS ÓTIMOS DE ALGORITMOS APROXIMATIVOS PARA PROBLEMAS DE ESCALONAMENTO COM RESTRIÇÕES DE PRECEDÊNCIA

Leia mais

2 Definição do Problema

2 Definição do Problema Definição do Problema. Formulação Matemática O problema do Fluxo Máximo entre todos os pares de nós surge no contexto de redes, estas representadas por grafos, e deriva-se do problema singular de fluxo

Leia mais

Projeto e Análise de Algoritmos

Projeto e Análise de Algoritmos Projeto e Algoritmos Pontifícia Universidade Católica de Minas Gerais harison@pucpcaldas.br 26 de Maio de 2017 Sumário A complexidade no desempenho de Quando utilizamos uma máquina boa, ela tende a ter

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

Estruturas de Dados Grafos

Estruturas de Dados Grafos Estruturas de Dados Grafos Prof. Eduardo Alchieri (introdução) Grafo é um conjunto de pontos e linhas que conectam vários pontos Formalmente, um grafo G(V,A) é definido pelo par de conjuntos V e A, onde:

Leia mais

Primeiro Exercício programa: Como o Google ordena páginas. MAP-2121 para EPUSP

Primeiro Exercício programa: Como o Google ordena páginas. MAP-2121 para EPUSP Primeiro Exercício programa: Como o Google ordena páginas MAP-2121 para EPUSP 1 Instruções gerais Os exercícios computacionais pedidos na disciplina Cálculo Numérico têm por objetivo fundamental familiarizar

Leia mais

Grafos: caminhos (matriz adjacência)

Grafos: caminhos (matriz adjacência) Grafos: caminhos (matriz adjacência) Algoritmos e Estruturas de Dados 2 Graça Nunes 1 O problema do menor caminho Um motorista deseja encontrar o caminho mais curto possível entre duas cidades do Brasil

Leia mais

Algoritmos de Aproximação Segundo Semestre de 2012

Algoritmos de Aproximação Segundo Semestre de 2012 Algoritmos de Aproximação Segundo Semestre de 2012 Aproximação p. 1 Problema dos k-centros Dados: um grafo completo G = (V,E), um inteiro k > 0 e distâncias d ij para cada i e j em V tais que d ii = 0

Leia mais

ALGUNS GRAFOS BEM-COBERTOS LIVRES DE K 1,3

ALGUNS GRAFOS BEM-COBERTOS LIVRES DE K 1,3 ALGUNS GRAFOS BEM-COBERTOS LIVRES DE K 1,3 Márcia R. Cappelle Santana UEG Universidade Estadual de Goiás Campus BR 153, Km 98 Caixa Postal: 459 CEP: 75001-970 Anápolis-GO mcappelle@ueg.br Rommel Melgaço

Leia mais

Desempenho de computação paralela

Desempenho de computação paralela Desempenho de computação paralela o paralelismo existente na aplicação decomposição do problema em subproblemas menores a alocação destes subproblemas aos processadores o modo de acesso aos dados: a existência

Leia mais

Códigos Corretores de Erros e Cliques de Grafos

Códigos Corretores de Erros e Cliques de Grafos Códigos Corretores de Erros e Cliques de Grafos Natália Pedroza Jayme Szwarcfiter Paulo Eustáquio UFRJ/UERJ 2016 Natália Pedroza (UFRJ/UERJ) Códigos Corretores 2016 1 / 32 Apresentação Códigos corretores

Leia mais

COLORAÇÃO TOTAL EQUILIBRADA DE GRAFOS UM MODELO PARA REDES DE INTERCONEXÃO

COLORAÇÃO TOTAL EQUILIBRADA DE GRAFOS UM MODELO PARA REDES DE INTERCONEXÃO versão impressa ISSN 00-78 / versão online ISSN 78- COLORAÇÃO TOTAL EQUILIBRADA DE GRAFOS UM MODELO PARA REDES DE INTERCONEXÃO Abel Rodolfo Garcia Lozano Departamento de Matemática / FFP Universidade do

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 10: Caminho mínimo - Algoritmo de Dijskstra Preparado a partir do texto: Rangel,

Leia mais

Análise de Algoritmos. Slides de Paulo Feofiloff

Análise de Algoritmos. Slides de Paulo Feofiloff Análise de Algoritmos Slides de Paulo Feofiloff [com erros do coelho e agora também da cris] Algoritmos p. 1 Redução polinomial Permite comparar o grau de complexidade de problemas diferentes. Uma redução

Leia mais

ESTRUTURAS DISCRETAS (INF 1631) GRAFOS. 1. O que é um grafo? Defina um grafo orientado. Defina um grafo não-orientado.

ESTRUTURAS DISCRETAS (INF 1631) GRAFOS. 1. O que é um grafo? Defina um grafo orientado. Defina um grafo não-orientado. PUC-Rio Departamento de Informática Profs. Marcus Vinicius S. Poggi de Aragão Período: 0. Horário: as-feiras e as-feiras de - horas de maio de 0 ESTRUTURAS DISCRETAS (INF 6) a Lista de Exercícios Procure

Leia mais

Cap. 2 Conceitos Básicos em Teoria dos Grafos

Cap. 2 Conceitos Básicos em Teoria dos Grafos Teoria dos Grafos e Aplicações 8 Cap. 2 Conceitos Básicos em Teoria dos Grafos 2.1 Grafo É uma noção simples, abstrata e intuitiva, usada para representar a idéia de alguma espécie de relação entre os

Leia mais

Introdução à classe de problemas NP- Completos

Introdução à classe de problemas NP- Completos Introdução à classe de problemas NP- Completos R. Rossetti, A.P. Rocha, A. Pereira, P.B. Silva, T. Fernandes FEUP, MIEIC, CAL, 2010/2011 1 Introdução Considerações Práticas Em alguns casos práticos, alguns

Leia mais

GRAFOS E ALGORITMOS TEORIA DE GRAFOS

GRAFOS E ALGORITMOS TEORIA DE GRAFOS GRAFOS E ALGORITMOS TEORIA DE GRAFOS 1a. PARTE Prof. Ronaldo R. Goldschmidt rribeiro@univercidade.br ronaldo_goldschmidt@yahoo.com.br ROTEIRO 1. INTRODUÇÃO E MOTIVAÇÃO 2. FUNDAMENTOS 3. CONECTIVIDADE 4.

Leia mais

Grafos. Fabio Gagliardi Cozman. PMR2300 Escola Politécnica da Universidade de São Paulo

Grafos. Fabio Gagliardi Cozman. PMR2300 Escola Politécnica da Universidade de São Paulo PMR2300 Escola Politécnica da Universidade de São Paulo Um grafo é uma estrutura que generaliza árvores, sendo formado por nós e arestas. Cada nó em um grafo pode ser conectado a vários outros nós por

Leia mais

Grafos. Exemplo de árvore geradora mínima. Notas. Notas. Notas. Notas. Árvores espalhadas mínimas. Como construir uma árvore geradora miníma

Grafos. Exemplo de árvore geradora mínima. Notas. Notas. Notas. Notas. Árvores espalhadas mínimas. Como construir uma árvore geradora miníma Grafos Árvores espalhadas mínimas Conteúdo Introdução Como construir uma árvore geradora miníma Algoritmos Referências Introdução Dado um grafo conectado não orientado G = (V, E) e uma função peso w :

Leia mais

Grafos COM11087-Tópicos Especiais em Programação II

Grafos COM11087-Tópicos Especiais em Programação II Grafos COM11087-Tópicos Especiais em Programação II edmar.kampke@ufes.br Introdução Grafos são estruturas muito estudadas na Ciência da Computação para modelagem de problemas Euler (1736) em Königsberg

Leia mais

MATEMÁTICA DISCRETA. Patrícia Ribeiro 2018/2019. Departamento de Matemática, ESTSetúbal 1 / 47

MATEMÁTICA DISCRETA. Patrícia Ribeiro 2018/2019. Departamento de Matemática, ESTSetúbal 1 / 47 1 / 47 MATEMÁTICA DISCRETA Patrícia Ribeiro Departamento de Matemática, ESTSetúbal 2018/2019 2 / 47 1 Combinatória 2 Aritmética Racional 3 3 / 47 Capítulo 3 4 / 47 não orientados Um grafo não orientado

Leia mais

Grafos Direcionados. > Grafos Direcionados Representações Computacionais 1/36

Grafos Direcionados. > Grafos Direcionados Representações Computacionais 1/36 Grafos Direcionados > Grafos Direcionados Representações Computacionais 1/36 Grafos Direcionados Em muitas aplicações, é importante ter direção nas arestas: Ruas de mão única Grafos modelando páginas da

Leia mais

Árvore Binária de Busca Ótima

Árvore Binária de Busca Ótima MAC 5710 - Estruturas de Dados - 2008 Referência bibliográfica Os slides sobre este assunto são parcialmente baseados nas seções sobre árvore binária de busca ótima do capítulo 4 do livro N. Wirth. Algorithms

Leia mais

O Problema da 3- Coloração de Grafos

O Problema da 3- Coloração de Grafos Otimização Combinatória O Problema da - Coloração de Grafos Guilherme Zanardo Borduchi Hugo Armando Gualdron Colmenares Tiago Moreira Trocoli da Cunha Prof.ª Marina Andretta Introdução ao Problema Problema

Leia mais

TEORIA DOS GRAFOS TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS MATEMÁTICA DISCRETA II PROFº MARCOS NASCIMENTO

TEORIA DOS GRAFOS TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS MATEMÁTICA DISCRETA II PROFº MARCOS NASCIMENTO TEORIA DOS GRAFOS TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS MATEMÁTICA DISCRETA II PROFº MARCOS NASCIMENTO Por que estudar grafos? Importante ferramenta matemática com aplicação em diversas áreas

Leia mais

CONCEITOS BÁSICOS EM GRAFOS

CONCEITOS BÁSICOS EM GRAFOS Um grafo (simples) G é formado por um conjunto de vértices, denotado por V(G), e um conjunto de arestas, denotado por E(G). Cada aresta é um par (não ordenado) de vértices distintos. Se xy é uma aresta,

Leia mais

Percursos em um grafo

Percursos em um grafo Percursos em um grafo Definição Um percurso ou cadeia é uma seqüência de arestas sucessivamente adjacentes, cada uma tendo uma extremidade adjacente à anterior e a outra a subsequente (à exceção da primeira

Leia mais

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

Teoria dos Grafos. Valeriano A. de Oliveira Socorro Rangel Departamento de Matemática Aplicada. Teoria dos Grafos Valeriano A. de Oliveira Socorro Rangel Departamento de Matemática Aplicada antunes@ibilce.unesp.br, socorro@ibilce.unesp.br Preparado a partir do texto: Rangel, Socorro. Teoria do Grafos,

Leia mais

PCC173 - Otimização em Redes

PCC173 - Otimização em Redes PCC173 - Otimização em Redes Marco Antonio M. Carvalho Departamento de Computação Instituto de Ciências Exatas e Biológicas Universidade Federal de Ouro Preto 31 de maio de 2017 Marco Antonio M. Carvalho

Leia mais

Coloração Equilibrada dos Grafos Ímpares e Triangulares

Coloração Equilibrada dos Grafos Ímpares e Triangulares Coloração Equilibrada dos Grafos Ímpares e Triangulares Milene Pimenta IME, Universidade Federal Fluminense, Brasil, milene@vm.uff.br RESUMO Uma coloração de vértices de um grafo G(,E) é uma aplicação

Leia mais

Teoria dos Grafos Aula 8

Teoria dos Grafos Aula 8 Teoria dos Grafos Aula 8 Aula passada Classe de funções e notação Propriedades da notação Funções usuais Aula de hoje Grafos direcionados Busca em grafos direcionados Ordenação topológica Tempo de execução

Leia mais

Volmir Eugênio Wilhelm Departamento de Engenharia de Produção UFPR 45

Volmir Eugênio Wilhelm Departamento de Engenharia de Produção UFPR 45 Volmir Eugênio Wilhelm Departamento de Engenharia de Produção UFPR 45 Introdução a Grafos Muitos problemas de otimização podem ser analisados utilizando-se uma estrutura denominada grafo ou rede. Problemas

Leia mais

= comprimento (distância, valor) da aresta orientada do vértice i ao vértice j,, e:

= comprimento (distância, valor) da aresta orientada do vértice i ao vértice j,, e: 8 - Problema do Caminho Mínimo Considere a rede: Dado dois vértices nesta rede, queremos determinar o menor caminho ente eles. Uma primeira questão é como representar os valores associados às arestas neste

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

Técnicas de Desenho de Algoritmos

Técnicas de Desenho de Algoritmos Técnicas de Desenho de Algoritmos Mudança de ênfase: da implementação de algoritmos para o desenho de algoritmos A ver: 5 tipos de algoritmos abordagem ao problema exemplos complexidade em tempo e espaço

Leia mais

Teoria dos Grafos. Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo. Capítulo 13: Árvores. Departamento de Matemática Aplicada

Teoria dos Grafos. Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo. Capítulo 13: Árvores. 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 13: Árvores Preparado a partir do texto: Rangel, Socorro. Teoria do Grafos,

Leia mais

Técnicas de Desenho de Algoritmos

Técnicas de Desenho de Algoritmos Técnicas de Desenho de Algoritmos Mudança de ênfase: da implementação de algoritmos para o desenho de algoritmos A ver: 5 tipos de algoritmos abordagem ao problema exemplos complexidade em tempo e espaço

Leia mais

Introdução a Grafos Letícia Rodrigues Bueno

Introdução a Grafos Letícia Rodrigues Bueno Introdução a Grafos Letícia Rodrigues Bueno UFABC Teoria dos Grafos - Motivação Objetivo: aprender a resolver problemas; Como: usando grafos para modelar os problemas; Grafos: ferramenta fundamental de

Leia mais

Tecnicas Essencias Greedy e Dynamic

Tecnicas Essencias Greedy e Dynamic Tecnicas Essencias Greedy e Dynamic Paul Crocker RELEASE - Reliable and Secure Computation Group Universidade da Beira Interior, Portugal October 2010 1 / 27 Outline 1 Introdução 2 Exemplo Greedy I : Interval

Leia mais

Non-clairvoyant Scheduling Games

Non-clairvoyant Scheduling Games 1/35 Non-clairvoyant Scheduling Games Mijail Gamarra Holguin 9 de novembro de 2012 /35 Agenda 1 Introdução Definições Preliminares 2 Equiĺıbrio de Nash Random em máquinas uniformes Random em máquinas não

Leia mais

O estudo utilizando apenas este material não é suficiente para o entendimento do conteúdo. Recomendamos a leitura das referências no final deste

O estudo utilizando apenas este material não é suficiente para o entendimento do conteúdo. Recomendamos a leitura das referências no final deste O estudo utilizando apenas este material não é suficiente para o entendimento do conteúdo. Recomendamos a leitura das referências no final deste material e a resolução (por parte do aluno) de todos os

Leia mais

Complexidade de Algoritmos. Edson Prestes

Complexidade de Algoritmos. Edson Prestes Edson Prestes Existem famílias de problemas cuja solução é alcançada de forma semelhante. O relacionamento entre problemas: caso especial; versão abstração; similar. Exemplos: A inserção de um elemento

Leia mais

UMA GENERALIZAÇÃO DO CONCEITO DE SALTOS EM ORDENS PARCIAIS RESUMO ABSTRACT

UMA GENERALIZAÇÃO DO CONCEITO DE SALTOS EM ORDENS PARCIAIS RESUMO ABSTRACT UMA GENERALIZAÇÃO DO CONCEITO DE SALTOS EM ORDENS PARCIAIS Adriana Pimenta de Figueiredo DME, Universidade Federal do Estado do Rio de Janeiro - UNIRIO Rio de Janeiro - RJ adriana.pimenta@uniriotec.br

Leia mais

Definição 1.1 : Uma árvore é um grafo simples conexo e sem ciclos.

Definição 1.1 : Uma árvore é um grafo simples conexo e sem ciclos. 1 Árvores Definição 1.1 : Uma árvore é um grafo simples conexo e sem ciclos. Um grafo simples sem ciclos mas não conexo (em que cada componente conexa é portanto uma árvore) chama-se uma floresta. Numa

Leia mais

Partição dos grafos P 4 -laden em conjuntos independentes e cliques

Partição dos grafos P 4 -laden em conjuntos independentes e cliques Partição dos grafos P 4 -laden em conjuntos independentes e cliques Raquel Bravo 1, Sulamita Klein 1, Samuel Nascimento 2, Loana Nogueira 3, Fábio Protti 3, Rudini Sampaio 2 1 Universidade Federal do Rio

Leia mais

Matemática Discreta 10

Matemática Discreta 10 Universidade Federal do Vale do São Francisco Curso de Engenharia da Computação Matemática Discreta 10 Prof. Jorge Cavalcanti jorge.cavalcanti@univasf.edu.br - www.univasf.edu.br/~jorge.cavalcanti 1 Muitas

Leia mais

Algoritmos e Estruturas de Dados II

Algoritmos e Estruturas de Dados II Algoritmos e Estruturas de Dados II Grafos VI: Grafos Ponderados & Caminhos Mínimos (Bellman-Ford) Ricardo J. G. B. Campello Parte deste material é baseado em adaptações e extensões de slides disponíveis

Leia mais

Análise de Algoritmos

Análise de Algoritmos Análise de Algoritmos Indução Matemática - parte II Profa. Sheila Morais de Almeida DAINF-UTFPR-PG setembro - 2015 Indução Matemática - Exemplo 1 Provar que se S é um conjunto finito com n elementos, n

Leia mais

RESOLUÇÃO DCC-UFRJ MATEMÁTICA COMBINATÓRIA 2006/2 PROVA Considere a soma. S n = n 2 n 1

RESOLUÇÃO DCC-UFRJ MATEMÁTICA COMBINATÓRIA 2006/2 PROVA Considere a soma. S n = n 2 n 1 DCC-UFRJ MATEMÁTICA COMBINATÓRIA 2006/2 PROVA 1 1. Considere a soma S n = 1 2 0 + 2 2 1 + 3 2 2 + + n 2 n 1. Mostre, por indução finita, que S n = (n 1)2 n + 1. Indique claramente a base da indução, a

Leia mais

Teoria dos Grafos. Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo. Capítulo 11: Grafos Eulerianos. Departamento de Matemática Aplicada

Teoria dos Grafos. Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo. Capítulo 11: Grafos Eulerianos. 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 11: Grafos Eulerianos Preparado a partir do texto: Rangel, Socorro. Teoria do

Leia mais

Análise de Algoritmos

Análise de Algoritmos Algoritmos p. 1/22 Análise de Algoritmos Parte destes slides são adaptações de slides do Prof. Paulo Feofiloff e do Prof. José Coelho de Pina. Algoritmos p. 2/22 Árvore geradora mínima CLRS Cap 23 Algoritmos

Leia mais

Grafos Hamiltonianos e o Problema do Caixeiro Viajante. Prof. Ademir Constantino Departamento de Informática Universidade Estadual de Maringá

Grafos Hamiltonianos e o Problema do Caixeiro Viajante. Prof. Ademir Constantino Departamento de Informática Universidade Estadual de Maringá Grafos Hamiltonianos e o Problema do Caixeiro Viajante Prof. Ademir Constantino Departamento de Informática Universidade Estadual de Maringá Grafo Hamiltoniano Definição: Um circuito hamiltoniano em um

Leia mais

SOBRE A COMPLEXIDADE DE COLORAÇÃO MISTA

SOBRE A COMPLEXIDADE DE COLORAÇÃO MISTA SOBRE A COMPLEXIDADE DE COLORAÇÃO MISTA Júlio César Araújo Universidade Federal do Ceará - UFC Mestrado e Doutorado em Ciência da Computação ParGO - Paralelismo, Grafos e Otimização juliocesar@lia.ufc.br

Leia mais