Uma introdução à complexidade parametrizadaUma introdução à complexidade parametrizada...

80
Uma introdução à complexidade parametrizada Vinicius Fernandes dos Santos - CEFET-MG Uéverton dos Santos Souza - UFF/CEFET-RJ 34 o JAI - Jornadas de Atualização em Informática XXXV Congresso da Sociedade Brasileira de Computação Recife, Julho 20–23, 2015 1 / 31 Uma introdução à complexidade parametrizada N

Transcript of Uma introdução à complexidade parametrizadaUma introdução à complexidade parametrizada...

Page 1: Uma introdução à complexidade parametrizadaUma introdução à complexidade parametrizada Vinicius Fernandes dos Santos - CEFET-MG Uéverton dos Santos Souza - UFF/CEFET-RJ 34o

Uma introdução à complexidade parametrizada

Vinicius Fernandes dos Santos - CEFET-MG

Uéverton dos Santos Souza - UFF/CEFET-RJ

34o JAI - Jornadas de Atualização em InformáticaXXXV Congresso da Sociedade Brasileira de ComputaçãoRecife, Julho 20–23, 2015

1 / 31Uma introdução à complexidade parametrizada

N

Page 2: Uma introdução à complexidade parametrizadaUma introdução à complexidade parametrizada Vinicius Fernandes dos Santos - CEFET-MG Uéverton dos Santos Souza - UFF/CEFET-RJ 34o

Contextualização

Objetivos

Mundo ideal: conseguimos resolver todos os problemas de forma eficiente

(tempopolinomial).Mundo real: precisamos resolver problemas, mesmo os mais difíceis (NP-difíceis).Em alguns casos, só conhecemos algoritmos exponenciais (complexidades comvariáveis no expoente).Que tal um algoritmo “pouco” exponencial?

Exponencial em algum valor tipicamente pequeno, ao invés do tamanho da entrada.

2 / 31Uma introdução à complexidade parametrizada

N

Page 3: Uma introdução à complexidade parametrizadaUma introdução à complexidade parametrizada Vinicius Fernandes dos Santos - CEFET-MG Uéverton dos Santos Souza - UFF/CEFET-RJ 34o

Contextualização

Objetivos

Mundo ideal: conseguimos resolver todos os problemas de forma eficiente (tempopolinomial).

Mundo real: precisamos resolver problemas, mesmo os mais difíceis (NP-difíceis).Em alguns casos, só conhecemos algoritmos exponenciais (complexidades comvariáveis no expoente).Que tal um algoritmo “pouco” exponencial?

Exponencial em algum valor tipicamente pequeno, ao invés do tamanho da entrada.

2 / 31Uma introdução à complexidade parametrizada

N

Page 4: Uma introdução à complexidade parametrizadaUma introdução à complexidade parametrizada Vinicius Fernandes dos Santos - CEFET-MG Uéverton dos Santos Souza - UFF/CEFET-RJ 34o

Contextualização

Objetivos

Mundo ideal: conseguimos resolver todos os problemas de forma eficiente (tempopolinomial).Mundo real: precisamos resolver problemas, mesmo os mais difíceis

(NP-difíceis).Em alguns casos, só conhecemos algoritmos exponenciais (complexidades comvariáveis no expoente).Que tal um algoritmo “pouco” exponencial?

Exponencial em algum valor tipicamente pequeno, ao invés do tamanho da entrada.

2 / 31Uma introdução à complexidade parametrizada

N

Page 5: Uma introdução à complexidade parametrizadaUma introdução à complexidade parametrizada Vinicius Fernandes dos Santos - CEFET-MG Uéverton dos Santos Souza - UFF/CEFET-RJ 34o

Contextualização

Objetivos

Mundo ideal: conseguimos resolver todos os problemas de forma eficiente (tempopolinomial).Mundo real: precisamos resolver problemas, mesmo os mais difíceis (NP-difíceis).

Em alguns casos, só conhecemos algoritmos exponenciais (complexidades comvariáveis no expoente).Que tal um algoritmo “pouco” exponencial?

Exponencial em algum valor tipicamente pequeno, ao invés do tamanho da entrada.

2 / 31Uma introdução à complexidade parametrizada

N

Page 6: Uma introdução à complexidade parametrizadaUma introdução à complexidade parametrizada Vinicius Fernandes dos Santos - CEFET-MG Uéverton dos Santos Souza - UFF/CEFET-RJ 34o

Contextualização

Objetivos

Mundo ideal: conseguimos resolver todos os problemas de forma eficiente (tempopolinomial).Mundo real: precisamos resolver problemas, mesmo os mais difíceis (NP-difíceis).Em alguns casos, só conhecemos algoritmos exponenciais

(complexidades comvariáveis no expoente).Que tal um algoritmo “pouco” exponencial?

Exponencial em algum valor tipicamente pequeno, ao invés do tamanho da entrada.

2 / 31Uma introdução à complexidade parametrizada

N

Page 7: Uma introdução à complexidade parametrizadaUma introdução à complexidade parametrizada Vinicius Fernandes dos Santos - CEFET-MG Uéverton dos Santos Souza - UFF/CEFET-RJ 34o

Contextualização

Objetivos

Mundo ideal: conseguimos resolver todos os problemas de forma eficiente (tempopolinomial).Mundo real: precisamos resolver problemas, mesmo os mais difíceis (NP-difíceis).Em alguns casos, só conhecemos algoritmos exponenciais (complexidades comvariáveis no expoente).

Que tal um algoritmo “pouco” exponencial?Exponencial em algum valor tipicamente pequeno, ao invés do tamanho da entrada.

2 / 31Uma introdução à complexidade parametrizada

N

Page 8: Uma introdução à complexidade parametrizadaUma introdução à complexidade parametrizada Vinicius Fernandes dos Santos - CEFET-MG Uéverton dos Santos Souza - UFF/CEFET-RJ 34o

Contextualização

Objetivos

Mundo ideal: conseguimos resolver todos os problemas de forma eficiente (tempopolinomial).Mundo real: precisamos resolver problemas, mesmo os mais difíceis (NP-difíceis).Em alguns casos, só conhecemos algoritmos exponenciais (complexidades comvariáveis no expoente).Que tal um algoritmo “pouco” exponencial?

Exponencial em algum valor tipicamente pequeno, ao invés do tamanho da entrada.

2 / 31Uma introdução à complexidade parametrizada

N

Page 9: Uma introdução à complexidade parametrizadaUma introdução à complexidade parametrizada Vinicius Fernandes dos Santos - CEFET-MG Uéverton dos Santos Souza - UFF/CEFET-RJ 34o

Contextualização

Objetivos

Mundo ideal: conseguimos resolver todos os problemas de forma eficiente (tempopolinomial).Mundo real: precisamos resolver problemas, mesmo os mais difíceis (NP-difíceis).Em alguns casos, só conhecemos algoritmos exponenciais (complexidades comvariáveis no expoente).Que tal um algoritmo “pouco” exponencial?

Exponencial em algum valor tipicamente pequeno, ao invés do tamanho da entrada.

2 / 31Uma introdução à complexidade parametrizada

N

Page 10: Uma introdução à complexidade parametrizadaUma introdução à complexidade parametrizada Vinicius Fernandes dos Santos - CEFET-MG Uéverton dos Santos Souza - UFF/CEFET-RJ 34o

Contextualização

Objetivos

Algoritmos parametrizados são mais uma ferramenta na caixa de ferramentas doresolvedor de problemas:

Algoritmos gulosos.

Divisão e conquista.Programação dinâmica.Backtracking.Branch & bound.Algoritmos aproximativos.Algoritmos randomizados.Algoritmos genéticos.Algoritmos parametrizados.

Tempo \ Resposta Exato Flexível

Exato

Flexível

3 / 31Uma introdução à complexidade parametrizada

N

Page 11: Uma introdução à complexidade parametrizadaUma introdução à complexidade parametrizada Vinicius Fernandes dos Santos - CEFET-MG Uéverton dos Santos Souza - UFF/CEFET-RJ 34o

Contextualização

Objetivos

Algoritmos parametrizados são mais uma ferramenta na caixa de ferramentas doresolvedor de problemas:

Algoritmos gulosos.Divisão e conquista.

Programação dinâmica.Backtracking.Branch & bound.Algoritmos aproximativos.Algoritmos randomizados.Algoritmos genéticos.Algoritmos parametrizados.

Tempo \ Resposta Exato Flexível

Exato

Flexível

3 / 31Uma introdução à complexidade parametrizada

N

Page 12: Uma introdução à complexidade parametrizadaUma introdução à complexidade parametrizada Vinicius Fernandes dos Santos - CEFET-MG Uéverton dos Santos Souza - UFF/CEFET-RJ 34o

Contextualização

Objetivos

Algoritmos parametrizados são mais uma ferramenta na caixa de ferramentas doresolvedor de problemas:

Algoritmos gulosos.Divisão e conquista.Programação dinâmica.

Backtracking.Branch & bound.Algoritmos aproximativos.Algoritmos randomizados.Algoritmos genéticos.Algoritmos parametrizados.

Tempo \ Resposta Exato Flexível

Exato

Flexível

3 / 31Uma introdução à complexidade parametrizada

N

Page 13: Uma introdução à complexidade parametrizadaUma introdução à complexidade parametrizada Vinicius Fernandes dos Santos - CEFET-MG Uéverton dos Santos Souza - UFF/CEFET-RJ 34o

Contextualização

Objetivos

Algoritmos parametrizados são mais uma ferramenta na caixa de ferramentas doresolvedor de problemas:

Algoritmos gulosos.Divisão e conquista.Programação dinâmica.Backtracking.

Branch & bound.Algoritmos aproximativos.Algoritmos randomizados.Algoritmos genéticos.Algoritmos parametrizados.

Tempo \ Resposta Exato Flexível

Exato

Flexível

3 / 31Uma introdução à complexidade parametrizada

N

Page 14: Uma introdução à complexidade parametrizadaUma introdução à complexidade parametrizada Vinicius Fernandes dos Santos - CEFET-MG Uéverton dos Santos Souza - UFF/CEFET-RJ 34o

Contextualização

Objetivos

Algoritmos parametrizados são mais uma ferramenta na caixa de ferramentas doresolvedor de problemas:

Algoritmos gulosos.Divisão e conquista.Programação dinâmica.Backtracking.Branch & bound.

Algoritmos aproximativos.Algoritmos randomizados.Algoritmos genéticos.Algoritmos parametrizados.

Tempo \ Resposta Exato Flexível

Exato

Flexível

3 / 31Uma introdução à complexidade parametrizada

N

Page 15: Uma introdução à complexidade parametrizadaUma introdução à complexidade parametrizada Vinicius Fernandes dos Santos - CEFET-MG Uéverton dos Santos Souza - UFF/CEFET-RJ 34o

Contextualização

Objetivos

Algoritmos parametrizados são mais uma ferramenta na caixa de ferramentas doresolvedor de problemas:

Algoritmos gulosos.Divisão e conquista.Programação dinâmica.Backtracking.Branch & bound.Algoritmos aproximativos.

Algoritmos randomizados.Algoritmos genéticos.Algoritmos parametrizados.

Tempo \ Resposta Exato Flexível

Exato

Flexível

3 / 31Uma introdução à complexidade parametrizada

N

Page 16: Uma introdução à complexidade parametrizadaUma introdução à complexidade parametrizada Vinicius Fernandes dos Santos - CEFET-MG Uéverton dos Santos Souza - UFF/CEFET-RJ 34o

Contextualização

Objetivos

Algoritmos parametrizados são mais uma ferramenta na caixa de ferramentas doresolvedor de problemas:

Algoritmos gulosos.Divisão e conquista.Programação dinâmica.Backtracking.Branch & bound.Algoritmos aproximativos.Algoritmos randomizados.

Algoritmos genéticos.Algoritmos parametrizados.

Tempo \ Resposta Exato Flexível

Exato

Flexível

3 / 31Uma introdução à complexidade parametrizada

N

Page 17: Uma introdução à complexidade parametrizadaUma introdução à complexidade parametrizada Vinicius Fernandes dos Santos - CEFET-MG Uéverton dos Santos Souza - UFF/CEFET-RJ 34o

Contextualização

Objetivos

Algoritmos parametrizados são mais uma ferramenta na caixa de ferramentas doresolvedor de problemas:

Algoritmos gulosos.Divisão e conquista.Programação dinâmica.Backtracking.Branch & bound.Algoritmos aproximativos.Algoritmos randomizados.Algoritmos genéticos.

Algoritmos parametrizados.

Tempo \ Resposta Exato Flexível

Exato

Flexível

3 / 31Uma introdução à complexidade parametrizada

N

Page 18: Uma introdução à complexidade parametrizadaUma introdução à complexidade parametrizada Vinicius Fernandes dos Santos - CEFET-MG Uéverton dos Santos Souza - UFF/CEFET-RJ 34o

Contextualização

Objetivos

Algoritmos parametrizados são mais uma ferramenta na caixa de ferramentas doresolvedor de problemas:

Algoritmos gulosos.Divisão e conquista.Programação dinâmica.Backtracking.Branch & bound.Algoritmos aproximativos.Algoritmos randomizados.Algoritmos genéticos.Algoritmos parametrizados.

Tempo \ Resposta Exato Flexível

Exato

Flexível

3 / 31Uma introdução à complexidade parametrizada

N

Page 19: Uma introdução à complexidade parametrizadaUma introdução à complexidade parametrizada Vinicius Fernandes dos Santos - CEFET-MG Uéverton dos Santos Souza - UFF/CEFET-RJ 34o

Contextualização

Objetivos

Algoritmos parametrizados são mais uma ferramenta na caixa de ferramentas doresolvedor de problemas:

Algoritmos gulosos.Divisão e conquista.Programação dinâmica.Backtracking.Branch & bound.Algoritmos aproximativos.Algoritmos randomizados.Algoritmos genéticos.Algoritmos parametrizados.

Tempo \ Resposta Exato Flexível

Exato

Flexível

3 / 31Uma introdução à complexidade parametrizada

N

Page 20: Uma introdução à complexidade parametrizadaUma introdução à complexidade parametrizada Vinicius Fernandes dos Santos - CEFET-MG Uéverton dos Santos Souza - UFF/CEFET-RJ 34o

Contextualização

Objetivos

Algoritmos parametrizados são mais uma ferramenta na caixa de ferramentas doresolvedor de problemas:

Algoritmos gulosos.Divisão e conquista.Programação dinâmica.Backtracking.Branch & bound.Algoritmos aproximativos.Algoritmos randomizados.Algoritmos genéticos.Algoritmos parametrizados.

Tempo \ Resposta Exato Flexível

Exato

Flexível

3 / 31Uma introdução à complexidade parametrizada

N

Page 21: Uma introdução à complexidade parametrizadaUma introdução à complexidade parametrizada Vinicius Fernandes dos Santos - CEFET-MG Uéverton dos Santos Souza - UFF/CEFET-RJ 34o

Contextualização

Complexidade parametrizada

4 / 31Uma introdução à complexidade parametrizada

N

Page 22: Uma introdução à complexidade parametrizadaUma introdução à complexidade parametrizada Vinicius Fernandes dos Santos - CEFET-MG Uéverton dos Santos Souza - UFF/CEFET-RJ 34o

Contextualização

Motivação teórica e pratica

Interesse teórico:Refinamento da dificuldade dos problemas.

Antes: Vários problemas eram NP-completos, mas alguns pareciam mais fáceis que outros.Depois: Embora só conheçamos algoritmos exponenciais para problemas NP-difíceis,alguns são “menos exponenciais” que outros.Muito espaço para novas pesquisas.

Interesse prático: quando problemas reais precisam ser resolvidos exatamente,qualquer melhoria é significativa, principalmente em algoritmos exponenciais.

5 / 31Uma introdução à complexidade parametrizada

N

Page 23: Uma introdução à complexidade parametrizadaUma introdução à complexidade parametrizada Vinicius Fernandes dos Santos - CEFET-MG Uéverton dos Santos Souza - UFF/CEFET-RJ 34o

Contextualização

Motivação teórica e pratica

Interesse teórico:Refinamento da dificuldade dos problemas.Antes: Vários problemas eram NP-completos, mas alguns pareciam mais fáceis que outros.

Depois: Embora só conheçamos algoritmos exponenciais para problemas NP-difíceis,alguns são “menos exponenciais” que outros.Muito espaço para novas pesquisas.

Interesse prático: quando problemas reais precisam ser resolvidos exatamente,qualquer melhoria é significativa, principalmente em algoritmos exponenciais.

5 / 31Uma introdução à complexidade parametrizada

N

Page 24: Uma introdução à complexidade parametrizadaUma introdução à complexidade parametrizada Vinicius Fernandes dos Santos - CEFET-MG Uéverton dos Santos Souza - UFF/CEFET-RJ 34o

Contextualização

Motivação teórica e pratica

Interesse teórico:Refinamento da dificuldade dos problemas.Antes: Vários problemas eram NP-completos, mas alguns pareciam mais fáceis que outros.Depois: Embora só conheçamos algoritmos exponenciais para problemas NP-difíceis,alguns são “menos exponenciais” que outros.

Muito espaço para novas pesquisas.

Interesse prático: quando problemas reais precisam ser resolvidos exatamente,qualquer melhoria é significativa, principalmente em algoritmos exponenciais.

5 / 31Uma introdução à complexidade parametrizada

N

Page 25: Uma introdução à complexidade parametrizadaUma introdução à complexidade parametrizada Vinicius Fernandes dos Santos - CEFET-MG Uéverton dos Santos Souza - UFF/CEFET-RJ 34o

Contextualização

Motivação teórica e pratica

Interesse teórico:Refinamento da dificuldade dos problemas.Antes: Vários problemas eram NP-completos, mas alguns pareciam mais fáceis que outros.Depois: Embora só conheçamos algoritmos exponenciais para problemas NP-difíceis,alguns são “menos exponenciais” que outros.Muito espaço para novas pesquisas.

Interesse prático: quando problemas reais precisam ser resolvidos exatamente,qualquer melhoria é significativa, principalmente em algoritmos exponenciais.

5 / 31Uma introdução à complexidade parametrizada

N

Page 26: Uma introdução à complexidade parametrizadaUma introdução à complexidade parametrizada Vinicius Fernandes dos Santos - CEFET-MG Uéverton dos Santos Souza - UFF/CEFET-RJ 34o

Contextualização

Motivação teórica e pratica

Interesse teórico:Refinamento da dificuldade dos problemas.Antes: Vários problemas eram NP-completos, mas alguns pareciam mais fáceis que outros.Depois: Embora só conheçamos algoritmos exponenciais para problemas NP-difíceis,alguns são “menos exponenciais” que outros.Muito espaço para novas pesquisas.

Interesse prático: quando problemas reais precisam ser resolvidos exatamente,qualquer melhoria é significativa, principalmente em algoritmos exponenciais.

5 / 31Uma introdução à complexidade parametrizada

N

Page 27: Uma introdução à complexidade parametrizadaUma introdução à complexidade parametrizada Vinicius Fernandes dos Santos - CEFET-MG Uéverton dos Santos Souza - UFF/CEFET-RJ 34o

Contextualização

Artigos sobre complexidade parametrizada

6 / 31Uma introdução à complexidade parametrizada

N

Page 28: Uma introdução à complexidade parametrizadaUma introdução à complexidade parametrizada Vinicius Fernandes dos Santos - CEFET-MG Uéverton dos Santos Souza - UFF/CEFET-RJ 34o

Árvores de altura limitada

Árvores de altura limitada

Muitos problemas possuem uma solução simples de força bruta.

Algoritmos de força bruta podem tipicamente ser implementados recursivamente.Consideremos um algoritmo de força bruta para clique máxima.Qual a complexidade do algoritmo?

7 / 31Uma introdução à complexidade parametrizada

N

Page 29: Uma introdução à complexidade parametrizadaUma introdução à complexidade parametrizada Vinicius Fernandes dos Santos - CEFET-MG Uéverton dos Santos Souza - UFF/CEFET-RJ 34o

Árvores de altura limitada

Árvores de altura limitada

Muitos problemas possuem uma solução simples de força bruta.Algoritmos de força bruta podem tipicamente ser implementados recursivamente.

Consideremos um algoritmo de força bruta para clique máxima.Qual a complexidade do algoritmo?

7 / 31Uma introdução à complexidade parametrizada

N

Page 30: Uma introdução à complexidade parametrizadaUma introdução à complexidade parametrizada Vinicius Fernandes dos Santos - CEFET-MG Uéverton dos Santos Souza - UFF/CEFET-RJ 34o

Árvores de altura limitada

Árvores de altura limitada

Muitos problemas possuem uma solução simples de força bruta.Algoritmos de força bruta podem tipicamente ser implementados recursivamente.Consideremos um algoritmo de força bruta para clique máxima.

Qual a complexidade do algoritmo?

7 / 31Uma introdução à complexidade parametrizada

N

Page 31: Uma introdução à complexidade parametrizadaUma introdução à complexidade parametrizada Vinicius Fernandes dos Santos - CEFET-MG Uéverton dos Santos Souza - UFF/CEFET-RJ 34o

Árvores de altura limitada

Árvores de altura limitada

Muitos problemas possuem uma solução simples de força bruta.Algoritmos de força bruta podem tipicamente ser implementados recursivamente.Consideremos um algoritmo de força bruta para clique máxima.Qual a complexidade do algoritmo?

7 / 31Uma introdução à complexidade parametrizada

N

Page 32: Uma introdução à complexidade parametrizadaUma introdução à complexidade parametrizada Vinicius Fernandes dos Santos - CEFET-MG Uéverton dos Santos Souza - UFF/CEFET-RJ 34o

Árvores de altura limitada

Deleção de triângulos

Deleção de triângulosInstância: Um grafo G = (V , E).Parâmetro: Um inteiro positivo k .Questão: É possível deletar todos os triângulos de G removendo no máximo karestas?

Ideia mais ingênua: testar todos os(|E(G)|

k

)conjuntos de k arestas.

Complexidade O(|E(G)|k ).Observação interessante: para cada triângulo do grafo, ao menos uma de suasarestas deve ser removida.

Complexidade: O(nO(1)3k).

8 / 31Uma introdução à complexidade parametrizada

N

Page 33: Uma introdução à complexidade parametrizadaUma introdução à complexidade parametrizada Vinicius Fernandes dos Santos - CEFET-MG Uéverton dos Santos Souza - UFF/CEFET-RJ 34o

Árvores de altura limitada

Deleção de triângulos

Deleção de triângulosInstância: Um grafo G = (V , E).Parâmetro: Um inteiro positivo k .Questão: É possível deletar todos os triângulos de G removendo no máximo karestas?

Ideia mais ingênua: testar todos os(|E(G)|

k

)conjuntos de k arestas.

Complexidade O(|E(G)|k ).

Observação interessante: para cada triângulo do grafo, ao menos uma de suasarestas deve ser removida.

Complexidade: O(nO(1)3k).

8 / 31Uma introdução à complexidade parametrizada

N

Page 34: Uma introdução à complexidade parametrizadaUma introdução à complexidade parametrizada Vinicius Fernandes dos Santos - CEFET-MG Uéverton dos Santos Souza - UFF/CEFET-RJ 34o

Árvores de altura limitada

Deleção de triângulos

Deleção de triângulosInstância: Um grafo G = (V , E).Parâmetro: Um inteiro positivo k .Questão: É possível deletar todos os triângulos de G removendo no máximo karestas?

Ideia mais ingênua: testar todos os(|E(G)|

k

)conjuntos de k arestas.

Complexidade O(|E(G)|k ).Observação interessante: para cada triângulo do grafo, ao menos uma de suasarestas deve ser removida.

Complexidade: O(nO(1)3k).

8 / 31Uma introdução à complexidade parametrizada

N

Page 35: Uma introdução à complexidade parametrizadaUma introdução à complexidade parametrizada Vinicius Fernandes dos Santos - CEFET-MG Uéverton dos Santos Souza - UFF/CEFET-RJ 34o

Árvores de altura limitada

Deleção de triângulos

Deleção de triângulosInstância: Um grafo G = (V , E).Parâmetro: Um inteiro positivo k .Questão: É possível deletar todos os triângulos de G removendo no máximo karestas?

Ideia mais ingênua: testar todos os(|E(G)|

k

)conjuntos de k arestas.

Complexidade O(|E(G)|k ).Observação interessante: para cada triângulo do grafo, ao menos uma de suasarestas deve ser removida.

Complexidade: O(nO(1)3k).

8 / 31Uma introdução à complexidade parametrizada

N

Page 36: Uma introdução à complexidade parametrizadaUma introdução à complexidade parametrizada Vinicius Fernandes dos Santos - CEFET-MG Uéverton dos Santos Souza - UFF/CEFET-RJ 34o

Árvores de altura limitada

Deleção de triângulos

Deleção de triângulosInstância: Um grafo G = (V , E).Parâmetro: Um inteiro positivo k .Questão: É possível deletar todos os triângulos de G removendo no máximo karestas?

Ideia mais ingênua: testar todos os(|E(G)|

k

)conjuntos de k arestas.

Complexidade O(|E(G)|k ).Observação interessante: para cada triângulo do grafo, ao menos uma de suasarestas deve ser removida.

Complexidade: O(nO(1)3k).

8 / 31Uma introdução à complexidade parametrizada

N

Page 37: Uma introdução à complexidade parametrizadaUma introdução à complexidade parametrizada Vinicius Fernandes dos Santos - CEFET-MG Uéverton dos Santos Souza - UFF/CEFET-RJ 34o

Árvores de altura limitada

Deleção de triângulos

Deleção de triângulosInstância: Um grafo G = (V , E).Parâmetro: Um inteiro positivo k .Questão: É possível deletar todos os triângulos de G removendo no máximo karestas?

Ideia mais ingênua: testar todos os(|E(G)|

k

)conjuntos de k arestas.

Complexidade O(|E(G)|k ).Observação interessante: para cada triângulo do grafo, ao menos uma de suasarestas deve ser removida.

Complexidade: O(nO(1)3k).

8 / 31Uma introdução à complexidade parametrizada

N

Page 38: Uma introdução à complexidade parametrizadaUma introdução à complexidade parametrizada Vinicius Fernandes dos Santos - CEFET-MG Uéverton dos Santos Souza - UFF/CEFET-RJ 34o

Árvores de altura limitada

Cobertura de vértices

Cobertura por Vértices(k)Instância: Um grafo G = (V , E).Parâmetro: Um inteiro positivo k .Questão: G possui um conjunto de vértices I , tal que |I| ≤ k e toda aresta deG possui pelo menos um de seus extremos em I?

Como resolver usando força bruta?

9 / 31Uma introdução à complexidade parametrizada

N

Page 39: Uma introdução à complexidade parametrizadaUma introdução à complexidade parametrizada Vinicius Fernandes dos Santos - CEFET-MG Uéverton dos Santos Souza - UFF/CEFET-RJ 34o

Árvores de altura limitada

Cobertura de vértices

Cobertura por Vértices(k)Instância: Um grafo G = (V , E).Parâmetro: Um inteiro positivo k .Questão: G possui um conjunto de vértices I , tal que |I| ≤ k e toda aresta deG possui pelo menos um de seus extremos em I?

Como resolver usando força bruta?

9 / 31Uma introdução à complexidade parametrizada

N

Page 40: Uma introdução à complexidade parametrizadaUma introdução à complexidade parametrizada Vinicius Fernandes dos Santos - CEFET-MG Uéverton dos Santos Souza - UFF/CEFET-RJ 34o

Árvores de altura limitada

Cobertura de vértices

Uma observação importante: para cada aresta, pelo menos uma das extremidadesdeve estar na solução.

10 / 31Uma introdução à complexidade parametrizada

N

Page 41: Uma introdução à complexidade parametrizadaUma introdução à complexidade parametrizada Vinicius Fernandes dos Santos - CEFET-MG Uéverton dos Santos Souza - UFF/CEFET-RJ 34o

Árvores de altura limitada

Cobertura de vértices

Complexidade: O(nO(1)2k)

11 / 31Uma introdução à complexidade parametrizada

N

Page 42: Uma introdução à complexidade parametrizadaUma introdução à complexidade parametrizada Vinicius Fernandes dos Santos - CEFET-MG Uéverton dos Santos Souza - UFF/CEFET-RJ 34o

Árvores de altura limitada

Cobertura de vértices

12 / 31Uma introdução à complexidade parametrizada

N

Page 43: Uma introdução à complexidade parametrizadaUma introdução à complexidade parametrizada Vinicius Fernandes dos Santos - CEFET-MG Uéverton dos Santos Souza - UFF/CEFET-RJ 34o

Árvores de altura limitada

Cobertura de vértices

Podemos utilizar conhecimento sobre o problema: se um vértice tem pelo menos umaaresta incidente a ele, então ou o vértice faz parte da cobertura, ou todos os seusvizinhos fazem parte da cobertura.

13 / 31Uma introdução à complexidade parametrizada

N

Page 44: Uma introdução à complexidade parametrizadaUma introdução à complexidade parametrizada Vinicius Fernandes dos Santos - CEFET-MG Uéverton dos Santos Souza - UFF/CEFET-RJ 34o

Árvores de altura limitada

Cobertura de vértices

Complexidade: O(nO(1)1, 6181k)

14 / 31Uma introdução à complexidade parametrizada

N

Page 45: Uma introdução à complexidade parametrizadaUma introdução à complexidade parametrizada Vinicius Fernandes dos Santos - CEFET-MG Uéverton dos Santos Souza - UFF/CEFET-RJ 34o

Árvores de altura limitada

Cobertura de vértices

Podemos utilizar ainda mais conhecimento sobre o problema: se o grau máximo é 2,então é possível resolver o problema em tempo polinomial.

15 / 31Uma introdução à complexidade parametrizada

N

Page 46: Uma introdução à complexidade parametrizadaUma introdução à complexidade parametrizada Vinicius Fernandes dos Santos - CEFET-MG Uéverton dos Santos Souza - UFF/CEFET-RJ 34o

Árvores de altura limitada

Cobertura de vértices

Complexidade: O(nO(1)1, 4656k)

16 / 31Uma introdução à complexidade parametrizada

N

Page 47: Uma introdução à complexidade parametrizadaUma introdução à complexidade parametrizada Vinicius Fernandes dos Santos - CEFET-MG Uéverton dos Santos Souza - UFF/CEFET-RJ 34o

Árvores de altura limitada

Cobertura de vértices

Algoritmo k = 20 k = 30 k = 40Algoritmo 1 1048576 1073741824 1099511627776Algoritmo 2 15139 1862776 229199843Algoritmo 3 2091 95601 4371377

Table: Número de chamadas à função, em cada uma das versões do algoritmo.

17 / 31Uma introdução à complexidade parametrizada

N

Page 48: Uma introdução à complexidade parametrizadaUma introdução à complexidade parametrizada Vinicius Fernandes dos Santos - CEFET-MG Uéverton dos Santos Souza - UFF/CEFET-RJ 34o

Árvores de altura limitada

Cadeia mais próxima

Achar uma cadeia de caracteres que seja “próxima” de todas as cadeias de umconjunto.

Cadeia mais próxima parametrizada pela distânciaInstância: Um conjunto S de k cadeias de caracteres, de comprimento `.Parâmetro: Um inteiro positivo d .Questão: Existe uma cadeia s tal que a distância de s para qualquer elementode S é no máximo d?

Algoritmo parametrizado de complexidade O(|S|(d + 1)d)

18 / 31Uma introdução à complexidade parametrizada

N

Page 49: Uma introdução à complexidade parametrizadaUma introdução à complexidade parametrizada Vinicius Fernandes dos Santos - CEFET-MG Uéverton dos Santos Souza - UFF/CEFET-RJ 34o

Árvores de altura limitada

Cluster editing

Problema consiste em adicionar adicionar ou remover arestas, de forma que cadacomponente conexa se torne um grafo completo.

Usando raciocínio análogo à deleção de triângulos, o que precisamos fazer é evitarimpedir a existência deste subgrafo:

19 / 31Uma introdução à complexidade parametrizada

N

Page 50: Uma introdução à complexidade parametrizadaUma introdução à complexidade parametrizada Vinicius Fernandes dos Santos - CEFET-MG Uéverton dos Santos Souza - UFF/CEFET-RJ 34o

Árvores de altura limitada

Cluster editing

Problema consiste em adicionar adicionar ou remover arestas, de forma que cadacomponente conexa se torne um grafo completo.

Usando raciocínio análogo à deleção de triângulos, o que precisamos fazer é evitarimpedir a existência deste subgrafo:

19 / 31Uma introdução à complexidade parametrizada

N

Page 51: Uma introdução à complexidade parametrizadaUma introdução à complexidade parametrizada Vinicius Fernandes dos Santos - CEFET-MG Uéverton dos Santos Souza - UFF/CEFET-RJ 34o

Redução a um núcleo – Kernelização

Kernelização

Pré-processamento é utilizado em computação nas mais diversas áreas.Exemplo: força bruta para clique máxima.Kernelização consiste em um conjunto de regras cuja aplicação garantem redução dotamanho da instância.

20 / 31Uma introdução à complexidade parametrizada

N

Page 52: Uma introdução à complexidade parametrizadaUma introdução à complexidade parametrizada Vinicius Fernandes dos Santos - CEFET-MG Uéverton dos Santos Souza - UFF/CEFET-RJ 34o

Redução a um núcleo – Kernelização

Kernelização

Pré-processamento é utilizado em computação nas mais diversas áreas.

Exemplo: força bruta para clique máxima.Kernelização consiste em um conjunto de regras cuja aplicação garantem redução dotamanho da instância.

20 / 31Uma introdução à complexidade parametrizada

N

Page 53: Uma introdução à complexidade parametrizadaUma introdução à complexidade parametrizada Vinicius Fernandes dos Santos - CEFET-MG Uéverton dos Santos Souza - UFF/CEFET-RJ 34o

Redução a um núcleo – Kernelização

Kernelização

Pré-processamento é utilizado em computação nas mais diversas áreas.Exemplo: força bruta para clique máxima.

Kernelização consiste em um conjunto de regras cuja aplicação garantem redução dotamanho da instância.

20 / 31Uma introdução à complexidade parametrizada

N

Page 54: Uma introdução à complexidade parametrizadaUma introdução à complexidade parametrizada Vinicius Fernandes dos Santos - CEFET-MG Uéverton dos Santos Souza - UFF/CEFET-RJ 34o

Redução a um núcleo – Kernelização

Kernelização

Pré-processamento é utilizado em computação nas mais diversas áreas.Exemplo: força bruta para clique máxima.Kernelização consiste em um conjunto de regras cuja aplicação garantem redução dotamanho da instância.

20 / 31Uma introdução à complexidade parametrizada

N

Page 55: Uma introdução à complexidade parametrizadaUma introdução à complexidade parametrizada Vinicius Fernandes dos Santos - CEFET-MG Uéverton dos Santos Souza - UFF/CEFET-RJ 34o

Redução a um núcleo – Kernelização

Kernelização

Definição: Um algoritmo de kernelização para um problema Π consiste em umalgoritmo que transforma um instância (x , k) em uma instância (x ′, k′) em tempopolinomial em |x |, de forma que a resposta para as instâncias (x , k) e (x ′, k′) sãoas mesmas, e existe uma função g tal que x ′ ≤ g(k) e k′ ≤ g(k).

Dizemos que (x ′, k′) é o núcleo (kernel) da instância (x , k).Por que estudar kernelização?

TeoremaUm problema Π admite um algoritmo de parâmetro fixo se e somente se ele admite umnúcleo.

21 / 31Uma introdução à complexidade parametrizada

N

Page 56: Uma introdução à complexidade parametrizadaUma introdução à complexidade parametrizada Vinicius Fernandes dos Santos - CEFET-MG Uéverton dos Santos Souza - UFF/CEFET-RJ 34o

Redução a um núcleo – Kernelização

Kernelização

Definição: Um algoritmo de kernelização para um problema Π consiste em umalgoritmo que transforma um instância (x , k) em uma instância (x ′, k′) em tempopolinomial em |x |, de forma que a resposta para as instâncias (x , k) e (x ′, k′) sãoas mesmas, e existe uma função g tal que x ′ ≤ g(k) e k′ ≤ g(k).Dizemos que (x ′, k′) é o núcleo (kernel) da instância (x , k).

Por que estudar kernelização?

TeoremaUm problema Π admite um algoritmo de parâmetro fixo se e somente se ele admite umnúcleo.

21 / 31Uma introdução à complexidade parametrizada

N

Page 57: Uma introdução à complexidade parametrizadaUma introdução à complexidade parametrizada Vinicius Fernandes dos Santos - CEFET-MG Uéverton dos Santos Souza - UFF/CEFET-RJ 34o

Redução a um núcleo – Kernelização

Kernelização

Definição: Um algoritmo de kernelização para um problema Π consiste em umalgoritmo que transforma um instância (x , k) em uma instância (x ′, k′) em tempopolinomial em |x |, de forma que a resposta para as instâncias (x , k) e (x ′, k′) sãoas mesmas, e existe uma função g tal que x ′ ≤ g(k) e k′ ≤ g(k).Dizemos que (x ′, k′) é o núcleo (kernel) da instância (x , k).Por que estudar kernelização?

TeoremaUm problema Π admite um algoritmo de parâmetro fixo se e somente se ele admite umnúcleo.

21 / 31Uma introdução à complexidade parametrizada

N

Page 58: Uma introdução à complexidade parametrizadaUma introdução à complexidade parametrizada Vinicius Fernandes dos Santos - CEFET-MG Uéverton dos Santos Souza - UFF/CEFET-RJ 34o

Redução a um núcleo – Kernelização

Kernelização

Definição: Um algoritmo de kernelização para um problema Π consiste em umalgoritmo que transforma um instância (x , k) em uma instância (x ′, k′) em tempopolinomial em |x |, de forma que a resposta para as instâncias (x , k) e (x ′, k′) sãoas mesmas, e existe uma função g tal que x ′ ≤ g(k) e k′ ≤ g(k).Dizemos que (x ′, k′) é o núcleo (kernel) da instância (x , k).Por que estudar kernelização?

TeoremaUm problema Π admite um algoritmo de parâmetro fixo se e somente se ele admite umnúcleo.

21 / 31Uma introdução à complexidade parametrizada

N

Page 59: Uma introdução à complexidade parametrizadaUma introdução à complexidade parametrizada Vinicius Fernandes dos Santos - CEFET-MG Uéverton dos Santos Souza - UFF/CEFET-RJ 34o

Redução a um núcleo – Kernelização

Kernelização

Algoritmos de redução a um núcleo se baseiam na aplicação de regras de redução.

Em geral, regras de redução são aplicadas em uma ordem pré-determinada.Algumas regras de redução podem já concluir a resposta para instância.Quando nenhuma regra de redução puder ser aplicada, temos em mãos um núcleo.

22 / 31Uma introdução à complexidade parametrizadaN

Page 60: Uma introdução à complexidade parametrizadaUma introdução à complexidade parametrizada Vinicius Fernandes dos Santos - CEFET-MG Uéverton dos Santos Souza - UFF/CEFET-RJ 34o

Redução a um núcleo – Kernelização

Kernelização

Algoritmos de redução a um núcleo se baseiam na aplicação de regras de redução.Em geral, regras de redução são aplicadas em uma ordem pré-determinada.

Algumas regras de redução podem já concluir a resposta para instância.Quando nenhuma regra de redução puder ser aplicada, temos em mãos um núcleo.

22 / 31Uma introdução à complexidade parametrizadaN

Page 61: Uma introdução à complexidade parametrizadaUma introdução à complexidade parametrizada Vinicius Fernandes dos Santos - CEFET-MG Uéverton dos Santos Souza - UFF/CEFET-RJ 34o

Redução a um núcleo – Kernelização

Kernelização

Algoritmos de redução a um núcleo se baseiam na aplicação de regras de redução.Em geral, regras de redução são aplicadas em uma ordem pré-determinada.Algumas regras de redução podem já concluir a resposta para instância.

Quando nenhuma regra de redução puder ser aplicada, temos em mãos um núcleo.

22 / 31Uma introdução à complexidade parametrizadaN

Page 62: Uma introdução à complexidade parametrizadaUma introdução à complexidade parametrizada Vinicius Fernandes dos Santos - CEFET-MG Uéverton dos Santos Souza - UFF/CEFET-RJ 34o

Redução a um núcleo – Kernelização

Kernelização

Algoritmos de redução a um núcleo se baseiam na aplicação de regras de redução.Em geral, regras de redução são aplicadas em uma ordem pré-determinada.Algumas regras de redução podem já concluir a resposta para instância.Quando nenhuma regra de redução puder ser aplicada, temos em mãos um núcleo.

22 / 31Uma introdução à complexidade parametrizadaN

Page 63: Uma introdução à complexidade parametrizadaUma introdução à complexidade parametrizada Vinicius Fernandes dos Santos - CEFET-MG Uéverton dos Santos Souza - UFF/CEFET-RJ 34o

Redução a um núcleo – Kernelização

Cobertura de vértices

Regra de reduçãoSe (G , k) é uma instância do problema de cobertura de vértices parametrizadoe o grafo G contém um vértice isolado v , então remova v de G , obtendo umanova instância (G − v , k).

Regra de reduçãoSe (G , k) é uma instância do problema de cobertura de vértices parametrizadoe o grafo G contém um vértice v com d(v) ≥ k + 1, então remova v de G ereduza uma unidade de k , obtendo uma nova instância (G − v , k − 1).

23 / 31Uma introdução à complexidade parametrizada

N

Page 64: Uma introdução à complexidade parametrizadaUma introdução à complexidade parametrizada Vinicius Fernandes dos Santos - CEFET-MG Uéverton dos Santos Souza - UFF/CEFET-RJ 34o

Redução a um núcleo – Kernelização

Cobertura de vértices

Regra de reduçãoSe (G , k) é uma instância do problema de cobertura de vértices parametrizadoe o grafo G contém um vértice isolado v , então remova v de G , obtendo umanova instância (G − v , k).

Regra de reduçãoSe (G , k) é uma instância do problema de cobertura de vértices parametrizadoe o grafo G contém um vértice v com d(v) ≥ k + 1, então remova v de G ereduza uma unidade de k , obtendo uma nova instância (G − v , k − 1).

23 / 31Uma introdução à complexidade parametrizada

N

Page 65: Uma introdução à complexidade parametrizadaUma introdução à complexidade parametrizada Vinicius Fernandes dos Santos - CEFET-MG Uéverton dos Santos Souza - UFF/CEFET-RJ 34o

Redução a um núcleo – Kernelização

Cobertura de vértices

Regra de reduçãoSe I = (G , k) é uma instância do problema de cobertura de vérticesparametrizado tal que as Regras de redução 1 e 2 não podem ser maisaplicadas e alguma das condições abaixo é satisfeita, então I é uma instân-cia Não.

k < 0, ouG possui mais de k2 + k vértices, ouG possui mais de k2 arestas.

24 / 31Uma introdução à complexidade parametrizada

N

Page 66: Uma introdução à complexidade parametrizadaUma introdução à complexidade parametrizada Vinicius Fernandes dos Santos - CEFET-MG Uéverton dos Santos Souza - UFF/CEFET-RJ 34o

Redução a um núcleo – Kernelização

Cobertura de vértices

25 / 31Uma introdução à complexidade parametrizada

N

Page 67: Uma introdução à complexidade parametrizadaUma introdução à complexidade parametrizada Vinicius Fernandes dos Santos - CEFET-MG Uéverton dos Santos Souza - UFF/CEFET-RJ 34o

Redução a um núcleo – Kernelização

Cobertura de vértices

TeoremaO problema de cobertura de vértices admite um núcleo com no máximo O(k2)vértices e O(k2) arestas.

26 / 31Uma introdução à complexidade parametrizada

N

Page 68: Uma introdução à complexidade parametrizadaUma introdução à complexidade parametrizada Vinicius Fernandes dos Santos - CEFET-MG Uéverton dos Santos Souza - UFF/CEFET-RJ 34o

Redução a um núcleo – Kernelização

Conjunto de arestas de retroalimentação em torneios

Um torneio é um grafo direcionado completo.

Um conjunto de arestas de retroalimentação é um conjunto de arestas cuja remoçãotorna o grafo acíclico.Não podemos remover arestas do grafo, pois estaríamos alterando o problema.

ObservaçãoSe G é um grafo direcionado e F é um subconjunto de arestas de G tal quea reversão de F deixa o grafo acíclico, então F é um conjunto de retroali-mentação.

TeoremaSe G é um grafo direcionado e F é um subconjunto de arestas de G então Fé um conjunto de retroalimentação minimal se e somente se F é um conjuntominimal cuja reversão torna o grafo acíclico.

27 / 31Uma introdução à complexidade parametrizada

N

Page 69: Uma introdução à complexidade parametrizadaUma introdução à complexidade parametrizada Vinicius Fernandes dos Santos - CEFET-MG Uéverton dos Santos Souza - UFF/CEFET-RJ 34o

Redução a um núcleo – Kernelização

Conjunto de arestas de retroalimentação em torneios

Um torneio é um grafo direcionado completo.Um conjunto de arestas de retroalimentação é um conjunto de arestas cuja remoçãotorna o grafo acíclico.

Não podemos remover arestas do grafo, pois estaríamos alterando o problema.

ObservaçãoSe G é um grafo direcionado e F é um subconjunto de arestas de G tal quea reversão de F deixa o grafo acíclico, então F é um conjunto de retroali-mentação.

TeoremaSe G é um grafo direcionado e F é um subconjunto de arestas de G então Fé um conjunto de retroalimentação minimal se e somente se F é um conjuntominimal cuja reversão torna o grafo acíclico.

27 / 31Uma introdução à complexidade parametrizada

N

Page 70: Uma introdução à complexidade parametrizadaUma introdução à complexidade parametrizada Vinicius Fernandes dos Santos - CEFET-MG Uéverton dos Santos Souza - UFF/CEFET-RJ 34o

Redução a um núcleo – Kernelização

Conjunto de arestas de retroalimentação em torneios

Um torneio é um grafo direcionado completo.Um conjunto de arestas de retroalimentação é um conjunto de arestas cuja remoçãotorna o grafo acíclico.Não podemos remover arestas do grafo, pois estaríamos alterando o problema.

ObservaçãoSe G é um grafo direcionado e F é um subconjunto de arestas de G tal quea reversão de F deixa o grafo acíclico, então F é um conjunto de retroali-mentação.

TeoremaSe G é um grafo direcionado e F é um subconjunto de arestas de G então Fé um conjunto de retroalimentação minimal se e somente se F é um conjuntominimal cuja reversão torna o grafo acíclico.

27 / 31Uma introdução à complexidade parametrizada

N

Page 71: Uma introdução à complexidade parametrizadaUma introdução à complexidade parametrizada Vinicius Fernandes dos Santos - CEFET-MG Uéverton dos Santos Souza - UFF/CEFET-RJ 34o

Redução a um núcleo – Kernelização

Conjunto de arestas de retroalimentação em torneios

Um torneio é um grafo direcionado completo.Um conjunto de arestas de retroalimentação é um conjunto de arestas cuja remoçãotorna o grafo acíclico.Não podemos remover arestas do grafo, pois estaríamos alterando o problema.

ObservaçãoSe G é um grafo direcionado e F é um subconjunto de arestas de G tal quea reversão de F deixa o grafo acíclico, então F é um conjunto de retroali-mentação.

TeoremaSe G é um grafo direcionado e F é um subconjunto de arestas de G então Fé um conjunto de retroalimentação minimal se e somente se F é um conjuntominimal cuja reversão torna o grafo acíclico.

27 / 31Uma introdução à complexidade parametrizada

N

Page 72: Uma introdução à complexidade parametrizadaUma introdução à complexidade parametrizada Vinicius Fernandes dos Santos - CEFET-MG Uéverton dos Santos Souza - UFF/CEFET-RJ 34o

Redução a um núcleo – Kernelização

Conjunto de arestas de retroalimentação em torneios

Um torneio é um grafo direcionado completo.Um conjunto de arestas de retroalimentação é um conjunto de arestas cuja remoçãotorna o grafo acíclico.Não podemos remover arestas do grafo, pois estaríamos alterando o problema.

ObservaçãoSe G é um grafo direcionado e F é um subconjunto de arestas de G tal quea reversão de F deixa o grafo acíclico, então F é um conjunto de retroali-mentação.

TeoremaSe G é um grafo direcionado e F é um subconjunto de arestas de G então Fé um conjunto de retroalimentação minimal se e somente se F é um conjuntominimal cuja reversão torna o grafo acíclico.

27 / 31Uma introdução à complexidade parametrizada

N

Page 73: Uma introdução à complexidade parametrizadaUma introdução à complexidade parametrizada Vinicius Fernandes dos Santos - CEFET-MG Uéverton dos Santos Souza - UFF/CEFET-RJ 34o

Redução a um núcleo – Kernelização

Conjunto de arestas de retroalimentação em torneios

Regra de reduçãoSe (G , k) é uma instância para o problema do conjunto de arestas de retroal-imentação em torneio e f é uma aresta pertencente a pelo menos k + 1triângulos, então podemos reverter f e diminuir k em uma unidade.

Regra de reduçãoSe (G , k) é uma instância para o problema do conjunto de arestas de retroal-imentação em torneio e v é um vértice que não faz parte de nenhum triângulo,então podemos removê-lo de G .

Regra de reduçãoSe (G , k) é uma instância para o problema do conjunto de arestas de retroal-imentação em torneio em que as regras anteriores não podem ser aplicadas,então, se G possui mais de k(k + 2) vértices, então (G , k) é uma instânciaNão.

28 / 31Uma introdução à complexidade parametrizada

N

Page 74: Uma introdução à complexidade parametrizadaUma introdução à complexidade parametrizada Vinicius Fernandes dos Santos - CEFET-MG Uéverton dos Santos Souza - UFF/CEFET-RJ 34o

Redução a um núcleo – Kernelização

Conjunto de arestas de retroalimentação em torneios

Regra de reduçãoSe (G , k) é uma instância para o problema do conjunto de arestas de retroal-imentação em torneio e f é uma aresta pertencente a pelo menos k + 1triângulos, então podemos reverter f e diminuir k em uma unidade.

Regra de reduçãoSe (G , k) é uma instância para o problema do conjunto de arestas de retroal-imentação em torneio e v é um vértice que não faz parte de nenhum triângulo,então podemos removê-lo de G .

Regra de reduçãoSe (G , k) é uma instância para o problema do conjunto de arestas de retroal-imentação em torneio em que as regras anteriores não podem ser aplicadas,então, se G possui mais de k(k + 2) vértices, então (G , k) é uma instânciaNão.

28 / 31Uma introdução à complexidade parametrizada

N

Page 75: Uma introdução à complexidade parametrizadaUma introdução à complexidade parametrizada Vinicius Fernandes dos Santos - CEFET-MG Uéverton dos Santos Souza - UFF/CEFET-RJ 34o

Redução a um núcleo – Kernelização

Conjunto de arestas de retroalimentação em torneios

Regra de reduçãoSe (G , k) é uma instância para o problema do conjunto de arestas de retroal-imentação em torneio e f é uma aresta pertencente a pelo menos k + 1triângulos, então podemos reverter f e diminuir k em uma unidade.

Regra de reduçãoSe (G , k) é uma instância para o problema do conjunto de arestas de retroal-imentação em torneio e v é um vértice que não faz parte de nenhum triângulo,então podemos removê-lo de G .

Regra de reduçãoSe (G , k) é uma instância para o problema do conjunto de arestas de retroal-imentação em torneio em que as regras anteriores não podem ser aplicadas,então, se G possui mais de k(k + 2) vértices, então (G , k) é uma instânciaNão.

28 / 31Uma introdução à complexidade parametrizada

N

Page 76: Uma introdução à complexidade parametrizadaUma introdução à complexidade parametrizada Vinicius Fernandes dos Santos - CEFET-MG Uéverton dos Santos Souza - UFF/CEFET-RJ 34o

Redução a um núcleo – Kernelização

Conjunto de arestas de retroalimentação em torneios

29 / 31Uma introdução à complexidade parametrizada

N

Page 77: Uma introdução à complexidade parametrizadaUma introdução à complexidade parametrizada Vinicius Fernandes dos Santos - CEFET-MG Uéverton dos Santos Souza - UFF/CEFET-RJ 34o

Redução a um núcleo – Kernelização

Conjunto de arestas de retroalimentação em torneios

TeoremaO problema do conjunto de arestas de retroalimentação em torneios possuium núcleo com no máximo k2 + 2k vértices.

30 / 31Uma introdução à complexidade parametrizada

N

Page 78: Uma introdução à complexidade parametrizadaUma introdução à complexidade parametrizada Vinicius Fernandes dos Santos - CEFET-MG Uéverton dos Santos Souza - UFF/CEFET-RJ 34o

Redução a um núcleo – Kernelização

Conclusão parcial

Temos algumas técnicas interessantes para mostrar a tratabilidade deproblemas por parâmetro fixo.

Mas será que todos os problemas são tratáveis por parâmetro fixo?

31 / 31Uma introdução à complexidade parametrizada

N

Page 79: Uma introdução à complexidade parametrizadaUma introdução à complexidade parametrizada Vinicius Fernandes dos Santos - CEFET-MG Uéverton dos Santos Souza - UFF/CEFET-RJ 34o

Redução a um núcleo – Kernelização

Conclusão parcial

Temos algumas técnicas interessantes para mostrar a tratabilidade deproblemas por parâmetro fixo.

Mas será que todos os problemas são tratáveis por parâmetro fixo?

31 / 31Uma introdução à complexidade parametrizada

N

Page 80: Uma introdução à complexidade parametrizadaUma introdução à complexidade parametrizada Vinicius Fernandes dos Santos - CEFET-MG Uéverton dos Santos Souza - UFF/CEFET-RJ 34o

Redução a um núcleo – Kernelização

Conclusão parcial

Temos algumas técnicas interessantes para mostrar a tratabilidade deproblemas por parâmetro fixo.

Mas será que todos os problemas são tratáveis por parâmetro fixo?

31 / 31Uma introdução à complexidade parametrizada

N