UM ALGORITMO PARA UM PROBLEMA DE ESCALONAMENTO COM TAREFAS DE TEMPOS UNITÁRIOS
|
|
- Kléber Cordeiro Andrade
- 5 Há anos
- Visualizações:
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 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 maisEscalonamento 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
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 maisOtimizaçã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 maisParte 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 maisSequenciamento 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 maisTeoria 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 maisFormulaçã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 maisProblema 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 maisExercí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 maisO 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 maisOBSTRUÇÕ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 maisGrafos: á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 maisGRAFOS 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 maisTeoria 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 maisapenas 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 maisMé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 maisGrafos: 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 maisESTRUTURAS 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 maisFá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 maisToward 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 maisProblema 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 maisEduardo 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 maisTeoria 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 maisScheduling 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 maisFORMULAÇÕ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 maisTeoria 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 maisAlgoritmos 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 maisCI065 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 maisPlanaridade 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 maisTeoria 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 maisLinguagens 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 maisANÁ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 maisEstruturas 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 maisTeoria 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 maisPercursos 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 maisMé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 maisCaminhos 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 mais5COP096 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 maisOtimizaçã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 maisSub-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 maisTGR 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 maisProjeto 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 maisGrafos. 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 maisO 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 maisReduçã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 maisUNIVERSIDADE 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 mais2 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 maisProjeto 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 mais3 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 maisEstruturas 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 maisPrimeiro 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 maisGrafos: 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 maisAlgoritmos 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 maisALGUNS 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 maisDesempenho 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 maisCó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 maisCOLORAÇÃ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 maisTeoria 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 maisAná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 maisESTRUTURAS 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 maisCap. 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 maisIntroduçã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 maisGRAFOS 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 maisGrafos. 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 maisGrafos. 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 maisGrafos 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 maisMATEMÁ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 maisGrafos 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
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 maisO 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 maisTEORIA 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 maisCONCEITOS 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 maisPercursos 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 maisTeoria 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 maisPCC173 - 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 maisColoraçã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 maisTeoria 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 maisVolmir 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:
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 mais6 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 maisTé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 maisTeoria 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 maisTé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 maisIntroduçã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 maisTecnicas 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 maisNon-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 maisO 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 maisComplexidade 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 maisUMA 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 maisDefiniçã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 maisPartiçã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 maisMatemá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 maisAlgoritmos 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 maisAná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 maisRESOLUÇÃ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 maisTeoria 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 maisAná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 maisGrafos 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 maisSOBRE 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