SlideShare une entreprise Scribd logo
1  sur  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
Algoritmo Força Bruta
•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)
maxClique <- {}
para cada conjunto s de todos Conjuntos
se (formaClique(s) && (s.tamanho > maxClique.tamanho)
maxClique <- s
retorna maxClique

O(2N)
O(2N)
O(N²)
Algoritmo Força Bruta
•Pseudo Código + Análise
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

Total : O(2^n *n^2)

O(2N)
O(2N)
O(N²)
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)
maxClique <- conjuntoOrdenadoGrau(1)
para cada vertice vi de i=2 até N
se (formaClique(vi, maxClique))
maxClique = maxClique U vi
retorna maxClique

Total : O(n³)

O(nlogn)
O(n)
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

Contenu connexe

Tendances

Teoria dos Grafos - História e COnceitos Iniciais
Teoria dos Grafos - História e COnceitos IniciaisTeoria dos Grafos - História e COnceitos Iniciais
Teoria dos Grafos - História e COnceitos IniciaisVictor Hazin da Rocha
 
Exercícios Resolvidos: Taxa relacionada
Exercícios Resolvidos: Taxa relacionadaExercícios Resolvidos: Taxa relacionada
Exercícios Resolvidos: Taxa relacionadaDiego Oliveira
 
Caminho Mínimo em Grafos - Algoritmo de Bellman-Ford
Caminho Mínimo em Grafos - Algoritmo de Bellman-FordCaminho Mínimo em Grafos - Algoritmo de Bellman-Ford
Caminho Mínimo em Grafos - Algoritmo de Bellman-FordGabriel Albuquerque
 
Lista de exercicios algoritmos com pseudocodigo
Lista de exercicios   algoritmos com pseudocodigoLista de exercicios   algoritmos com pseudocodigo
Lista de exercicios algoritmos com pseudocodigoMauro Pereira
 
Apresentando a Linguagem de Programação Python
Apresentando a Linguagem de Programação PythonApresentando a Linguagem de Programação Python
Apresentando a Linguagem de Programação PythonPriscila Mayumi
 
Seminário sobre Grafos por Samyra Lara
Seminário sobre Grafos por Samyra LaraSeminário sobre Grafos por Samyra Lara
Seminário sobre Grafos por Samyra LaraIFPB
 
Logica Algoritmo 08 Recursividade
Logica Algoritmo 08 RecursividadeLogica Algoritmo 08 Recursividade
Logica Algoritmo 08 RecursividadeRegis Magalhães
 
Aula 02 - Escolha caso
Aula 02 - Escolha casoAula 02 - Escolha caso
Aula 02 - Escolha casoEder Samaniego
 
Introdução à programação
Introdução à programação Introdução à programação
Introdução à programação João Piedade
 
Programação Orientação a Objetos - Herança
Programação Orientação a Objetos - HerançaProgramação Orientação a Objetos - Herança
Programação Orientação a Objetos - HerançaDaniel Brandão
 
Exercício redes cap 3
Exercício redes cap 3Exercício redes cap 3
Exercício redes cap 3Ivan Karneiro
 
Apresentação sobre Árvores B
Apresentação sobre Árvores BApresentação sobre Árvores B
Apresentação sobre Árvores BThiago Colares
 
Introdução aos Algoritmos Genéticos
Introdução aos Algoritmos GenéticosIntrodução aos Algoritmos Genéticos
Introdução aos Algoritmos GenéticosNorton Guimarães
 
Algoritmos - Lógica de Programação
Algoritmos - Lógica de ProgramaçãoAlgoritmos - Lógica de Programação
Algoritmos - Lógica de ProgramaçãoElaine Cecília Gatto
 

Tendances (20)

Teoria dos Grafos - História e COnceitos Iniciais
Teoria dos Grafos - História e COnceitos IniciaisTeoria dos Grafos - História e COnceitos Iniciais
Teoria dos Grafos - História e COnceitos Iniciais
 
Exercícios Resolvidos: Taxa relacionada
Exercícios Resolvidos: Taxa relacionadaExercícios Resolvidos: Taxa relacionada
Exercícios Resolvidos: Taxa relacionada
 
Analise 1
Analise 1Analise 1
Analise 1
 
Caminho Mínimo em Grafos - Algoritmo de Bellman-Ford
Caminho Mínimo em Grafos - Algoritmo de Bellman-FordCaminho Mínimo em Grafos - Algoritmo de Bellman-Ford
Caminho Mínimo em Grafos - Algoritmo de Bellman-Ford
 
Algoritmos em portugol
Algoritmos em portugolAlgoritmos em portugol
Algoritmos em portugol
 
Lista de exercicios algoritmos com pseudocodigo
Lista de exercicios   algoritmos com pseudocodigoLista de exercicios   algoritmos com pseudocodigo
Lista de exercicios algoritmos com pseudocodigo
 
Apresentando a Linguagem de Programação Python
Apresentando a Linguagem de Programação PythonApresentando a Linguagem de Programação Python
Apresentando a Linguagem de Programação Python
 
Seminário sobre Grafos por Samyra Lara
Seminário sobre Grafos por Samyra LaraSeminário sobre Grafos por Samyra Lara
Seminário sobre Grafos por Samyra Lara
 
Lógica de Programação
Lógica de ProgramaçãoLógica de Programação
Lógica de Programação
 
Python - Introdução
Python - IntroduçãoPython - Introdução
Python - Introdução
 
Logica Algoritmo 08 Recursividade
Logica Algoritmo 08 RecursividadeLogica Algoritmo 08 Recursividade
Logica Algoritmo 08 Recursividade
 
Aula 02 - Escolha caso
Aula 02 - Escolha casoAula 02 - Escolha caso
Aula 02 - Escolha caso
 
Introdução à programação
Introdução à programação Introdução à programação
Introdução à programação
 
Programação Orientação a Objetos - Herança
Programação Orientação a Objetos - HerançaProgramação Orientação a Objetos - Herança
Programação Orientação a Objetos - Herança
 
Exercício redes cap 3
Exercício redes cap 3Exercício redes cap 3
Exercício redes cap 3
 
Apresentação sobre Árvores B
Apresentação sobre Árvores BApresentação sobre Árvores B
Apresentação sobre Árvores B
 
Aula01 - Logica de Programação
Aula01 - Logica de ProgramaçãoAula01 - Logica de Programação
Aula01 - Logica de Programação
 
Introdução aos Algoritmos Genéticos
Introdução aos Algoritmos GenéticosIntrodução aos Algoritmos Genéticos
Introdução aos Algoritmos Genéticos
 
Algoritmos - Lógica de Programação
Algoritmos - Lógica de ProgramaçãoAlgoritmos - Lógica de Programação
Algoritmos - Lógica de Programação
 
Grafos
GrafosGrafos
Grafos
 

En vedette

Classes de Problemas P e NP
Classes de Problemas P e NPClasses de Problemas P e NP
Classes de Problemas P e NPOrlando Junior
 
Algoritmos Gulosos - Troco Mínimo
Algoritmos Gulosos - Troco MínimoAlgoritmos Gulosos - Troco Mínimo
Algoritmos Gulosos - Troco MínimoGabriel Albuquerque
 
Classes de problemas p, np,np completo e np-difícil
Classes de problemas p, np,np completo e np-difícilClasses de problemas p, np,np completo e np-difícil
Classes de problemas p, np,np completo e np-difícilGuilherme Coelho
 
Caminhos Mínimos: Dijkstra e Floyd-Warshall
Caminhos Mínimos: Dijkstra e Floyd-WarshallCaminhos Mínimos: Dijkstra e Floyd-Warshall
Caminhos Mínimos: Dijkstra e Floyd-WarshallJohnnatan Messias
 
Algoritmo dijkstra
Algoritmo dijkstraAlgoritmo dijkstra
Algoritmo dijkstraRey Salcedo
 
Caminhos Mínimos - Algoritmo de Dijkstra
Caminhos Mínimos - Algoritmo de DijkstraCaminhos Mínimos - Algoritmo de Dijkstra
Caminhos Mínimos - Algoritmo de DijkstraMarcos Castro
 
Algoritmo de Dijkstra
Algoritmo de DijkstraAlgoritmo de Dijkstra
Algoritmo de DijkstraPedro Miranda
 

En vedette (10)

Classes de Problemas P e NP
Classes de Problemas P e NPClasses de Problemas P e NP
Classes de Problemas P e NP
 
Algoritmos Gulosos - Troco Mínimo
Algoritmos Gulosos - Troco MínimoAlgoritmos Gulosos - Troco Mínimo
Algoritmos Gulosos - Troco Mínimo
 
Algoritmo Guloso
Algoritmo GulosoAlgoritmo Guloso
Algoritmo Guloso
 
Classes de problemas p, np,np completo e np-difícil
Classes de problemas p, np,np completo e np-difícilClasses de problemas p, np,np completo e np-difícil
Classes de problemas p, np,np completo e np-difícil
 
Caminhos Mínimos: Dijkstra e Floyd-Warshall
Caminhos Mínimos: Dijkstra e Floyd-WarshallCaminhos Mínimos: Dijkstra e Floyd-Warshall
Caminhos Mínimos: Dijkstra e Floyd-Warshall
 
Algoritmo de Dijkstra
Algoritmo de DijkstraAlgoritmo de Dijkstra
Algoritmo de Dijkstra
 
Algoritmo dijkstra
Algoritmo dijkstraAlgoritmo dijkstra
Algoritmo dijkstra
 
Caminhos Mínimos - Algoritmo de Dijkstra
Caminhos Mínimos - Algoritmo de DijkstraCaminhos Mínimos - Algoritmo de Dijkstra
Caminhos Mínimos - Algoritmo de Dijkstra
 
Algoritmo de Dijkstra
Algoritmo de DijkstraAlgoritmo de Dijkstra
Algoritmo de Dijkstra
 
Teoria dos Grafos
Teoria dos GrafosTeoria dos Grafos
Teoria dos Grafos
 

Similaire à Algoritmo clique maximo - Analise de Algoritmos

Programação Dinâmica
Programação DinâmicaProgramação Dinâmica
Programação DinâmicaOrlando Junior
 
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 EuclidesLuciana Martino
 
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-17Aline Guedes
 
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 algoritimoFelipe 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 Maplejeandson correa
 
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 NACloves da Rocha
 
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 matrizesRADILSON RIPARDO DE FRETIAS
 
Modelagem e inversão em coordenadas esféricas na gravimetria
Modelagem e inversão em coordenadas esféricas na gravimetriaModelagem e inversão em coordenadas esféricas na gravimetria
Modelagem e inversão em coordenadas esféricas na gravimetriaLeonardo Uieda
 
Introdução - Algoritmos
Introdução - AlgoritmosIntrodução - Algoritmos
Introdução - AlgoritmosPsLucas
 

Similaire à Algoritmo clique maximo - Analise de Algoritmos (18)

Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
Math
MathMath
Math
 
Aula2
Aula2Aula2
Aula2
 
0001
00010001
0001
 
000003 complexidade
000003 complexidade000003 complexidade
000003 complexidade
 
Programação Dinâmica
Programação DinâmicaProgramação Dinâmica
Programação Dinâmica
 
Aula 4 poe
Aula 4 poeAula 4 poe
Aula 4 poe
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
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 3-lógica.pptx
Aula 3-lógica.pptxAula 3-lógica.pptx
Aula 3-lógica.pptx
 
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
 
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
 
Construcao de Algoritmos - Aula 05
Construcao de Algoritmos - Aula 05Construcao de Algoritmos - Aula 05
Construcao de Algoritmos - Aula 05
 
Introdução Programação Em Maple
Introdução Programação Em MapleIntrodução Programação Em Maple
Introdução Programação Em Maple
 
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
 
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
 
Modelagem e inversão em coordenadas esféricas na gravimetria
Modelagem e inversão em coordenadas esféricas na gravimetriaModelagem e inversão em coordenadas esféricas na gravimetria
Modelagem e inversão em coordenadas esféricas na gravimetria
 
Introdução - Algoritmos
Introdução - AlgoritmosIntrodução - Algoritmos
Introdução - Algoritmos
 

Plus de Adilmar Dantas

APLICATIVO MÓVEL PARA AFERIÇÃO DA FREQUÊNCIA CARDÍACA E ACOMPANHAMENTO MÉDICO...
APLICATIVO MÓVEL PARA AFERIÇÃO DA FREQUÊNCIA CARDÍACA E ACOMPANHAMENTO MÉDICO...APLICATIVO MÓVEL PARA AFERIÇÃO DA FREQUÊNCIA CARDÍACA E ACOMPANHAMENTO MÉDICO...
APLICATIVO MÓVEL PARA AFERIÇÃO DA FREQUÊNCIA CARDÍACA E ACOMPANHAMENTO MÉDICO...Adilmar Dantas
 
Programação Android Phonegap 1
Programação Android Phonegap 1Programação Android Phonegap 1
Programação Android Phonegap 1Adilmar Dantas
 
Potenciação Divide and Conquer
Potenciação Divide and ConquerPotenciação Divide and Conquer
Potenciação Divide and ConquerAdilmar Dantas
 
Cinta de expansão torácica utilizando Arduino aplicado na fisioterapia respir...
Cinta de expansão torácica utilizando Arduino aplicado na fisioterapia respir...Cinta de expansão torácica utilizando Arduino aplicado na fisioterapia respir...
Cinta de expansão torácica utilizando Arduino aplicado na fisioterapia respir...Adilmar Dantas
 
Análise de Técnicas Computacionais para Classificação de Emoções
Análise de Técnicas Computacionais para Classificação de EmoçõesAnálise de Técnicas Computacionais para Classificação de Emoções
Análise de Técnicas Computacionais para Classificação de EmoçõesAdilmar Dantas
 
Reconhecimento Automático de Emoções
Reconhecimento Automático de EmoçõesReconhecimento Automático de Emoções
Reconhecimento Automático de EmoçõesAdilmar Dantas
 
Reconhecimento automático de emoções
Reconhecimento automático de emoçõesReconhecimento automático de emoções
Reconhecimento automático de emoçõesAdilmar Dantas
 
Detecção de Faces - Redes Neurais *MLP
Detecção de Faces - Redes Neurais *MLPDetecção de Faces - Redes Neurais *MLP
Detecção de Faces - Redes Neurais *MLPAdilmar Dantas
 
Rede Neural MLP para reconhecimento de Faces
Rede Neural MLP para reconhecimento de FacesRede Neural MLP para reconhecimento de Faces
Rede Neural MLP para reconhecimento de FacesAdilmar Dantas
 
ALgoritmo Genético - Escalonamento
ALgoritmo Genético - EscalonamentoALgoritmo Genético - Escalonamento
ALgoritmo Genético - EscalonamentoAdilmar Dantas
 
BIODATA: SOFTWARE WEB PARA GERENCIAMENTO DE COLETA DE DADOS BIOMÉDICOS
BIODATA: SOFTWARE WEB PARA GERENCIAMENTO DE COLETA DE DADOS BIOMÉDICOSBIODATA: SOFTWARE WEB PARA GERENCIAMENTO DE COLETA DE DADOS BIOMÉDICOS
BIODATA: SOFTWARE WEB PARA GERENCIAMENTO DE COLETA DE DADOS BIOMÉDICOSAdilmar Dantas
 
Alinhamento de Sequencia DNA
Alinhamento de Sequencia DNAAlinhamento de Sequencia DNA
Alinhamento de Sequencia DNAAdilmar Dantas
 
3ª maratona de games – facom ufu
3ª maratona de games – facom  ufu3ª maratona de games – facom  ufu
3ª maratona de games – facom ufuAdilmar Dantas
 
Monitor Cardíaco usando Arduino
Monitor Cardíaco usando Arduino Monitor Cardíaco usando Arduino
Monitor Cardíaco usando Arduino Adilmar Dantas
 
TCC: WebLab Laboratório de Experimentação Remota
TCC: WebLab Laboratório de Experimentação RemotaTCC: WebLab Laboratório de Experimentação Remota
TCC: WebLab Laboratório de Experimentação RemotaAdilmar Dantas
 
Engenharia de software testes
Engenharia de software  testesEngenharia de software  testes
Engenharia de software testesAdilmar Dantas
 
Qualidade de Software Web
Qualidade de Software WebQualidade de Software Web
Qualidade de Software WebAdilmar Dantas
 

Plus de Adilmar Dantas (20)

Querying nosql stores
Querying nosql storesQuerying nosql stores
Querying nosql stores
 
APLICATIVO MÓVEL PARA AFERIÇÃO DA FREQUÊNCIA CARDÍACA E ACOMPANHAMENTO MÉDICO...
APLICATIVO MÓVEL PARA AFERIÇÃO DA FREQUÊNCIA CARDÍACA E ACOMPANHAMENTO MÉDICO...APLICATIVO MÓVEL PARA AFERIÇÃO DA FREQUÊNCIA CARDÍACA E ACOMPANHAMENTO MÉDICO...
APLICATIVO MÓVEL PARA AFERIÇÃO DA FREQUÊNCIA CARDÍACA E ACOMPANHAMENTO MÉDICO...
 
Programação Android Phonegap 1
Programação Android Phonegap 1Programação Android Phonegap 1
Programação Android Phonegap 1
 
Potenciação Divide and Conquer
Potenciação Divide and ConquerPotenciação Divide and Conquer
Potenciação Divide and Conquer
 
Cinta de expansão torácica utilizando Arduino aplicado na fisioterapia respir...
Cinta de expansão torácica utilizando Arduino aplicado na fisioterapia respir...Cinta de expansão torácica utilizando Arduino aplicado na fisioterapia respir...
Cinta de expansão torácica utilizando Arduino aplicado na fisioterapia respir...
 
Análise de Técnicas Computacionais para Classificação de Emoções
Análise de Técnicas Computacionais para Classificação de EmoçõesAnálise de Técnicas Computacionais para Classificação de Emoções
Análise de Técnicas Computacionais para Classificação de Emoções
 
Reconhecimento Automático de Emoções
Reconhecimento Automático de EmoçõesReconhecimento Automático de Emoções
Reconhecimento Automático de Emoções
 
Reconhecimento automático de emoções
Reconhecimento automático de emoçõesReconhecimento automático de emoções
Reconhecimento automático de emoções
 
Detecção de Faces - Redes Neurais *MLP
Detecção de Faces - Redes Neurais *MLPDetecção de Faces - Redes Neurais *MLP
Detecção de Faces - Redes Neurais *MLP
 
Rede Neural MLP para reconhecimento de Faces
Rede Neural MLP para reconhecimento de FacesRede Neural MLP para reconhecimento de Faces
Rede Neural MLP para reconhecimento de Faces
 
ALgoritmo Genético - Escalonamento
ALgoritmo Genético - EscalonamentoALgoritmo Genético - Escalonamento
ALgoritmo Genético - Escalonamento
 
BIODATA: SOFTWARE WEB PARA GERENCIAMENTO DE COLETA DE DADOS BIOMÉDICOS
BIODATA: SOFTWARE WEB PARA GERENCIAMENTO DE COLETA DE DADOS BIOMÉDICOSBIODATA: SOFTWARE WEB PARA GERENCIAMENTO DE COLETA DE DADOS BIOMÉDICOS
BIODATA: SOFTWARE WEB PARA GERENCIAMENTO DE COLETA DE DADOS BIOMÉDICOS
 
Alinhamento de Sequencia DNA
Alinhamento de Sequencia DNAAlinhamento de Sequencia DNA
Alinhamento de Sequencia DNA
 
3ª maratona de games – facom ufu
3ª maratona de games – facom  ufu3ª maratona de games – facom  ufu
3ª maratona de games – facom ufu
 
Monitor Cardíaco usando Arduino
Monitor Cardíaco usando Arduino Monitor Cardíaco usando Arduino
Monitor Cardíaco usando Arduino
 
Servidores Web
Servidores WebServidores Web
Servidores Web
 
TCC: WebLab Laboratório de Experimentação Remota
TCC: WebLab Laboratório de Experimentação RemotaTCC: WebLab Laboratório de Experimentação Remota
TCC: WebLab Laboratório de Experimentação Remota
 
Weblab TCC
Weblab TCCWeblab TCC
Weblab TCC
 
Engenharia de software testes
Engenharia de software  testesEngenharia de software  testes
Engenharia de software testes
 
Qualidade de Software Web
Qualidade de Software WebQualidade de Software Web
Qualidade de Software Web
 

Algoritmo clique maximo - Analise de Algoritmos

  • 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. Algoritmo Força Bruta •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
  • 11. 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
  • 12. 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
  • 13. Algoritmo Força Bruta •Pseudo Código + Análise 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 O(2N) O(2N) O(N²)
  • 14. Algoritmo Força Bruta •Pseudo Código + Análise 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 Total : O(2^n *n^2) O(2N) O(2N) O(N²)
  • 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) maxClique <- conjuntoOrdenadoGrau(1) para cada vertice vi de i=2 até N se (formaClique(vi, maxClique)) maxClique = maxClique U vi retorna maxClique Total : O(n³) O(nlogn) O(n) O(n²)