SlideShare uma empresa Scribd logo
1 de 17
Algoritmo Clique
Máximo
O que é uma Clique?
•Uma clique de um grafo G é um subgrafo
completo de G.
O que é uma Clique Máxima?
•Uma clique máxima é uma clique com a maior
quantidade de vértices possível.
O Problema da Clique Máxima
•O problema da Clique Máxima é encontrar, a
partir de um grafo G, a clique de maior tamanho.
•O tamanho (número de vértices) da maior clique
de G é chamado número de clique, ω(G).
Dificuldades do Problema
•O Problema da Clique Máxima é um problema
importante de otimização combinatória
Aplicações
•Telecomunicação
•Bioinformática
▫Análise de DNA e RNA
analisando e comparando proteínas e compostos
menores através de grafos e cliques
Aplicações
•Química Computacional
▫Emparelhamento de moléculas
Hidrocarbonetos conhecidos como alcanos tem
fórmula química CpH2p+2, onde C representa
moléculas de carbono e H de hidrogênio.
Os vértices que incidem apenas uma arestra são os
átomos de Hidrogênio.
Exemplo prático
•Suponha que, em um laboratório farmacêutico,
seja necessário dimensionar o depósito de
substâncias composto por alguns refrigeradores,
tendo em mãos uma lista de pares de substâncias
que não podem ser armazenadas em um mesmo
refrigerador. Assim, o clique máximo do grafo
formado por tais incompatibilidades é um
limitante inferior para a quantidade de
refrigeradores necessários para armazenar todas as
substâncias.
Algoritmo Força Bruta
•Pseudo Código
clique_maxima_exato(Grafo g):
todosConjuntos <- todasCombinacoes(g.Vertices)
maxClique <- {}
para cada conjunto s de todos Conjuntos
se (formaClique(s) && (s.tamanho > maxClique.tamanho)
maxClique <- s
retorna maxClique
•Pseudo Código + Análise (n = |V|)
clique_maxima_exato(Grafo g):
todosConjuntos <- todasCombinacoes(g.Vertices)
maxClique <- {}
para cada conjunto s de todos Conjuntos
se (formaClique(s) && (s.tamanho > maxClique.tamanho)
maxClique <- s
retorna maxClique
Algoritmo Força Bruta
•Pseudo Código + Análise
clique_maxima_exato(Grafo g):
todosConjuntos <- todasCombinacoes(g.Vertices) O(2N)
maxClique <- {}
para cada conjunto s de todos Conjuntos
se (formaClique(s) && (s.tamanho > maxClique.tamanho)
maxClique <- s
retorna maxClique
Algoritmo Força Bruta
•Pseudo Código + Análise
clique_maxima_exato(Grafo g):
todosConjuntos <- todasCombinacoes(g.Vertices) O(2N)
maxClique <- {}
para cada conjunto s de todos Conjuntos O(2N)
se (formaClique(s) && (s.tamanho > maxClique.tamanho)
maxClique <- s
retorna maxClique
Algoritmo Força Bruta
•Pseudo Código + Análise
clique_maxima_exato(Grafo g):
todosConjuntos <- todasCombinacoes(g.Vertices) O(2N)
maxClique <- {}
para cada conjunto s de todos Conjuntos O(2N)
se (formaClique(s) && (s.tamanho > maxClique.tamanho) O(N²)
maxClique <- s
retorna maxClique
Algoritmo Força Bruta
•Pseudo Código + Análise
clique_maxima_exato(Grafo g):
todosConjuntos <- todasCombinacoes(g.Vertices) O(2N)
maxClique <- {}
para cada conjunto s de todos Conjuntos O(2N)
se (formaClique(s) && (s.tamanho > maxClique.tamanho) O(N²)
maxClique <- s
retorna maxClique
Algoritmo Força Bruta
Total : O(2^n *n^2)
Algoritmo Aproximado
•Pseudo Código
clique_maxima_aproximada(Grafo g):
conjuntoOrdenadoGrau <- ordenaVertice(V)
maxClique <- conjuntoOrdenadoGrau(1)
para cada vertice vi de i=2 até N
se (formaClique(vi, maxClique))
maxClique = maxClique U vi
retorna maxClique
Algoritmo Aproximado
•Pseudo Código + Análise (n = |V|)
clique_maxima_aproximada(Grafo g):
conjuntoOrdenadoGrau <- ordenaVertice(V) O(nlogn)
maxClique <- conjuntoOrdenadoGrau(1)
para cada vertice vi de i=2 até N O(n)
se (formaClique(vi, maxClique)) O(n²)
maxClique = maxClique U vi
retorna maxClique
Total : O(n³)
Referência
•http://www.ime.usp.br/~eufrasio/eufrasio/paulo
eufrasioIC2009.pdf
•http://ubiq.inf.ufpel.edu.br/arrsouza/lib/exe/fetc
h.php?media=clique_de_um_grafo.pdf
•http://lcavique.no.sapo.pt/publicacoes/Clique%2
0Tabu.pdf

Mais conteúdo relacionado

Semelhante a Algoritmo

Atividade pratica supervisionada construção de algoritimo
Atividade pratica supervisionada  construção de algoritimoAtividade pratica supervisionada  construção de algoritimo
Atividade pratica supervisionada construção de algoritimo
Felipe Dias Guimarães
 
Introdução Programação Em Maple
Introdução Programação Em MapleIntrodução Programação Em Maple
Introdução Programação Em Maple
jeandson correa
 

Semelhante a Algoritmo (20)

0001
00010001
0001
 
000003 complexidade
000003 complexidade000003 complexidade
000003 complexidade
 
Atividade pratica supervisionada construção de algoritimo
Atividade pratica supervisionada  construção de algoritimoAtividade pratica supervisionada  construção de algoritimo
Atividade pratica supervisionada construção de algoritimo
 
Paa algoritmos gulosos
Paa  algoritmos gulososPaa  algoritmos gulosos
Paa algoritmos gulosos
 
Aula 4 poe
Aula 4 poeAula 4 poe
Aula 4 poe
 
Aula 3-lógica.pptx
Aula 3-lógica.pptxAula 3-lógica.pptx
Aula 3-lógica.pptx
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Programação Dinâmica
Programação DinâmicaProgramação Dinâmica
Programação Dinâmica
 
Aritmética - Aula 5 - Algoritmo de Euclides
Aritmética - Aula 5 - Algoritmo de EuclidesAritmética - Aula 5 - Algoritmo de Euclides
Aritmética - Aula 5 - Algoritmo de Euclides
 
Aula 4 Profmat - Algoritmo de Euclides - MDC e MMC 25 08-17
Aula 4   Profmat - Algoritmo de Euclides - MDC e MMC 25 08-17Aula 4   Profmat - Algoritmo de Euclides - MDC e MMC 25 08-17
Aula 4 Profmat - Algoritmo de Euclides - MDC e MMC 25 08-17
 
Construcao de Algoritmos - Aula 05
Construcao de Algoritmos - Aula 05Construcao de Algoritmos - Aula 05
Construcao de Algoritmos - Aula 05
 
Aula 2 - TEÓRICA - Prof. MSc. Cloves Rocha - PIE - AA - (2018.2) CCO 8 NA
Aula 2 - TEÓRICA - Prof. MSc. Cloves Rocha - PIE - AA - (2018.2) CCO 8 NAAula 2 - TEÓRICA - Prof. MSc. Cloves Rocha - PIE - AA - (2018.2) CCO 8 NA
Aula 2 - TEÓRICA - Prof. MSc. Cloves Rocha - PIE - AA - (2018.2) CCO 8 NA
 
Introdução - Algoritmos
Introdução - AlgoritmosIntrodução - Algoritmos
Introdução - Algoritmos
 
Introdução Programação Em Maple
Introdução Programação Em MapleIntrodução Programação Em Maple
Introdução Programação Em Maple
 
Algoritmo e estruturas de dados operações com matrizes
Algoritmo e estruturas de dados operações com matrizesAlgoritmo e estruturas de dados operações com matrizes
Algoritmo e estruturas de dados operações com matrizes
 
Apostila matematica concursos_fundamental
Apostila matematica concursos_fundamentalApostila matematica concursos_fundamental
Apostila matematica concursos_fundamental
 
Apostila matematica concursos_fundamental
Apostila matematica concursos_fundamentalApostila matematica concursos_fundamental
Apostila matematica concursos_fundamental
 
Apostila matematica concursos - ensino fundamental
Apostila matematica   concursos - ensino fundamentalApostila matematica   concursos - ensino fundamental
Apostila matematica concursos - ensino fundamental
 
Iteração de política
Iteração de políticaIteração de política
Iteração de política
 
Introdução aos algoritmos e à algoritmia.pptx
Introdução aos algoritmos e à algoritmia.pptxIntrodução aos algoritmos e à algoritmia.pptx
Introdução aos algoritmos e à algoritmia.pptx
 

Último

A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
PatriciaCaetano18
 
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
azulassessoria9
 
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
azulassessoria9
 
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
azulassessoria9
 
Slide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemáticaSlide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemática
sh5kpmr7w7
 
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
azulassessoria9
 

Último (20)

6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptx6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptx
 
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
 
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
 
Caderno de exercícios Revisão para o ENEM (1).pdf
Caderno de exercícios Revisão para o ENEM (1).pdfCaderno de exercícios Revisão para o ENEM (1).pdf
Caderno de exercícios Revisão para o ENEM (1).pdf
 
Missa catequese para o dia da mãe 2025.pdf
Missa catequese para o dia da mãe 2025.pdfMissa catequese para o dia da mãe 2025.pdf
Missa catequese para o dia da mãe 2025.pdf
 
apostila filosofia 1 ano 1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...
apostila filosofia 1 ano  1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...apostila filosofia 1 ano  1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...
apostila filosofia 1 ano 1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...
 
Novena de Pentecostes com textos de São João Eudes
Novena de Pentecostes com textos de São João EudesNovena de Pentecostes com textos de São João Eudes
Novena de Pentecostes com textos de São João Eudes
 
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
 
Quiz | Dia da Europa 2024 (comemoração)
Quiz | Dia da Europa 2024  (comemoração)Quiz | Dia da Europa 2024  (comemoração)
Quiz | Dia da Europa 2024 (comemoração)
 
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
 
tensoes-etnicas-na-europa-template-1.pptx
tensoes-etnicas-na-europa-template-1.pptxtensoes-etnicas-na-europa-template-1.pptx
tensoes-etnicas-na-europa-template-1.pptx
 
Sopa de letras | Dia da Europa 2024 (nível 2)
Sopa de letras | Dia da Europa 2024 (nível 2)Sopa de letras | Dia da Europa 2024 (nível 2)
Sopa de letras | Dia da Europa 2024 (nível 2)
 
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.docGUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
 
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
 
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
 
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
 
Sopa de letras | Dia da Europa 2024 (nível 1)
Sopa de letras | Dia da Europa 2024 (nível 1)Sopa de letras | Dia da Europa 2024 (nível 1)
Sopa de letras | Dia da Europa 2024 (nível 1)
 
Slide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemáticaSlide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemática
 
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
 
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
 

Algoritmo

  • 2. O que é uma Clique? •Uma clique de um grafo G é um subgrafo completo de G.
  • 3. O que é uma Clique Máxima? •Uma clique máxima é uma clique com a maior quantidade de vértices possível.
  • 4. O Problema da Clique Máxima •O problema da Clique Máxima é encontrar, a partir de um grafo G, a clique de maior tamanho. •O tamanho (número de vértices) da maior clique de G é chamado número de clique, ω(G).
  • 5. Dificuldades do Problema •O Problema da Clique Máxima é um problema importante de otimização combinatória
  • 6. Aplicações •Telecomunicação •Bioinformática ▫Análise de DNA e RNA analisando e comparando proteínas e compostos menores através de grafos e cliques
  • 7. Aplicações •Química Computacional ▫Emparelhamento de moléculas Hidrocarbonetos conhecidos como alcanos tem fórmula química CpH2p+2, onde C representa moléculas de carbono e H de hidrogênio. Os vértices que incidem apenas uma arestra são os átomos de Hidrogênio.
  • 8. Exemplo prático •Suponha que, em um laboratório farmacêutico, seja necessário dimensionar o depósito de substâncias composto por alguns refrigeradores, tendo em mãos uma lista de pares de substâncias que não podem ser armazenadas em um mesmo refrigerador. Assim, o clique máximo do grafo formado por tais incompatibilidades é um limitante inferior para a quantidade de refrigeradores necessários para armazenar todas as substâncias.
  • 9. Algoritmo Força Bruta •Pseudo Código clique_maxima_exato(Grafo g): todosConjuntos <- todasCombinacoes(g.Vertices) maxClique <- {} para cada conjunto s de todos Conjuntos se (formaClique(s) && (s.tamanho > maxClique.tamanho) maxClique <- s retorna maxClique
  • 10. •Pseudo Código + Análise (n = |V|) clique_maxima_exato(Grafo g): todosConjuntos <- todasCombinacoes(g.Vertices) maxClique <- {} para cada conjunto s de todos Conjuntos se (formaClique(s) && (s.tamanho > maxClique.tamanho) maxClique <- s retorna maxClique Algoritmo Força Bruta
  • 11. •Pseudo Código + Análise clique_maxima_exato(Grafo g): todosConjuntos <- todasCombinacoes(g.Vertices) O(2N) maxClique <- {} para cada conjunto s de todos Conjuntos se (formaClique(s) && (s.tamanho > maxClique.tamanho) maxClique <- s retorna maxClique Algoritmo Força Bruta
  • 12. •Pseudo Código + Análise clique_maxima_exato(Grafo g): todosConjuntos <- todasCombinacoes(g.Vertices) O(2N) maxClique <- {} para cada conjunto s de todos Conjuntos O(2N) se (formaClique(s) && (s.tamanho > maxClique.tamanho) maxClique <- s retorna maxClique Algoritmo Força Bruta
  • 13. •Pseudo Código + Análise clique_maxima_exato(Grafo g): todosConjuntos <- todasCombinacoes(g.Vertices) O(2N) maxClique <- {} para cada conjunto s de todos Conjuntos O(2N) se (formaClique(s) && (s.tamanho > maxClique.tamanho) O(N²) maxClique <- s retorna maxClique Algoritmo Força Bruta
  • 14. •Pseudo Código + Análise clique_maxima_exato(Grafo g): todosConjuntos <- todasCombinacoes(g.Vertices) O(2N) maxClique <- {} para cada conjunto s de todos Conjuntos O(2N) se (formaClique(s) && (s.tamanho > maxClique.tamanho) O(N²) maxClique <- s retorna maxClique Algoritmo Força Bruta Total : O(2^n *n^2)
  • 15. Algoritmo Aproximado •Pseudo Código clique_maxima_aproximada(Grafo g): conjuntoOrdenadoGrau <- ordenaVertice(V) maxClique <- conjuntoOrdenadoGrau(1) para cada vertice vi de i=2 até N se (formaClique(vi, maxClique)) maxClique = maxClique U vi retorna maxClique
  • 16. Algoritmo Aproximado •Pseudo Código + Análise (n = |V|) clique_maxima_aproximada(Grafo g): conjuntoOrdenadoGrau <- ordenaVertice(V) O(nlogn) maxClique <- conjuntoOrdenadoGrau(1) para cada vertice vi de i=2 até N O(n) se (formaClique(vi, maxClique)) O(n²) maxClique = maxClique U vi retorna maxClique Total : O(n³)