[MC558] Subgrafos no Lemon

5 views
Skip to first unread message

Waldir Rodrigues de Almeida

unread,
Oct 2, 2012, 12:46:17 PM10/2/12
to mc558_...@googlegroups.com
Olá,

Estou tentando usar o adaptor SubGraph do Lemon desde o lab anterior, mas não consegui fazer exatamente o que eu queria.

Alguém sabe me dizer se tem como usar algum tipo de iterator diretamente, para percorrer as arestas do subgrafo, por exemplo? O tutorial sugere isso, mas não consegui fazer funcionar aqui. Estou considerando iterar no grafo original e usar as member functions "status()" para ver se a aresta (ou vértice) iterada está ativa no subgrafo, mas isso seria feio demais para se repetir várias vezes.

Não encontrei exemplos.


renato lochetti

unread,
Oct 2, 2012, 12:49:00 PM10/2/12
to mc558_...@googlegroups.com
Ola Waldir! 

O que eu fiz foi exatamente iterar pelos elementos do grafo original e utilizar as chamadas de .status() do subgrafo pra "iterar no subgrafo". Não consegui achar na documentação do lemon outro jeito.

Se alguem souber, favor avisar! hehe




--
Recebeu esta mensagem porque está inscrito no grupo "mc558_2012s2" dos Grupos do Google.
 
Para publicar uma mensagem neste grupo, envie um e-mail para mc558_...@googlegroups.com.
Para anular a inscrição neste grupo, envie um e-mail para mc558_2012s2...@googlegroups.com.
Para mais opções, consulte https://groups.google.com/groups/opt_out.
 
 



--
Renato Tadeu Lochetti
Graduando em Ciência da Computação - UNICAMP
(11) 7609-6689
(19) 8821-3510

lucas farris

unread,
Oct 2, 2012, 1:19:07 PM10/2/12
to mc558_...@googlegroups.com
Eu consegui e atesto que é possível, mas não estou com meu código comigo no momento.
Hoje mais tarde posto como fiz

Atenciosamente,
Lucas Farris
Instituto de Computação - Unicamp
+55-19-8128-8160

renato lochetti

unread,
Oct 2, 2012, 1:22:40 PM10/2/12
to mc558_...@googlegroups.com
Por favor, nos ajude o quanto antes então lucas! hehehehe

Maurício Bertanha

unread,
Oct 2, 2012, 1:23:53 PM10/2/12
to mc558_...@googlegroups.com
Estou com o mesmo problema =/
Atenciosamente,

Maurício Bertanha
Graduando em Ciência da Computação, UNICAMP
E-mail/gTalk: mauricio...@gmail.com
Twitter: @mbertanha

Antes de imprimir, pense em sua responsabilidade com o MEIO AMBIENTE!!!

lucas farris

unread,
Oct 2, 2012, 1:31:29 PM10/2/12
to mc558_...@googlegroups.com
Se ninguém conseguiu então provavelmente eu fiz errado e achei que funcionou HAHAHAHA
mas olha só, isso PARECEU funcionar pra mim no lab 2:

lemon::ListGraph::NodeMap<bool> nodeMask(g, false);
lemon::ListGraph::EdgeMap<bool> edgeMask(g, false);
lemon::SubGraph<lemon::ListGraph> equality (g, nodeMask, edgeMask);

for(lemon::SubGraph<lemon::ListGraph>::NodeIt v(equality); v != lemon::INVALID; ++v) {
    //mimimi

Waldir Rodrigues de Almeida

unread,
Oct 2, 2012, 2:11:41 PM10/2/12
to mc558_...@googlegroups.com
Funciona mesmo, inclusive para os demais iteradores! O pior é que eu tava fazendo exatamente isso para iterar nas arestas, mas nem percebi que o que tava errado era o que tava dentro do meu for... Haha

Valeu.

lucas farris

unread,
Oct 2, 2012, 2:14:27 PM10/2/12
to mc558_...@googlegroups.com
Nois ;)

Eric Oakley

unread,
Oct 2, 2012, 3:33:48 PM10/2/12
to mc558_...@googlegroups.com
Alguém da uma força pra fazer um vetor de Maps? No caso pra guardar as faces... não to conseguindo.

lucas farris

unread,
Oct 2, 2012, 3:44:02 PM10/2/12
to mc558_...@googlegroups.com
eu descobri depois de diversas tentativas que isso é impossível hahahaha
sempre acabava dando Segmentation fault (core dumped)

lucas farris

unread,
Oct 2, 2012, 3:45:47 PM10/2/12
to mc558_...@googlegroups.com
só pra não deixar voce na mão, eu acabei fazendo dois maps (um de aresta e um de vertice) de inteiros que marcavam quem era de que fragmento. e uma função que pegava esses maps e montava um subgraph

Eric Oakley

unread,
Oct 2, 2012, 3:47:53 PM10/2/12
to mc558_...@googlegroups.com
huaheuaheuh boa.. mas como vc guarda 5 faces diferentes, por exemplo?

lucas farris

unread,
Oct 2, 2012, 3:52:32 PM10/2/12
to mc558_...@googlegroups.com
talvez meus colegas tenham sido mais bem sucedidos nisto, mas em minha humilde implementação eu fiz um nodemap de vector de int. Isso eu garando que funciona. Já um vector de nodemap de int é oooutra história

Eric Oakley

unread,
Oct 2, 2012, 3:54:29 PM10/2/12
to mc558_...@googlegroups.com
é, acho que vai ter que ser algo desse tipo mesmo. valeu pelas respostas.
o vector de nodemap de int tb não consegui fazer funcionar.

Maurício Bertanha

unread,
Oct 2, 2012, 11:39:28 PM10/2/12
to mc558_...@googlegroups.com
Alguém sabe se o C++ já implementa listas ligadas? Ou a gente tem que criar na mão?

Waldir Rodrigues de Almeida

unread,
Oct 2, 2012, 11:44:19 PM10/2/12
to mc558_...@googlegroups.com
http://www.cplusplus.com/reference/stl/list/

Há várias outras estruturas também.
Reply all
Reply to author
Forward
0 new messages