Hi,
Indeed, the library is really cool :).
Cheers, Doru
On 11 Jun 2010, at 15:30, Alexandre Bergel wrote:
Thanks Simon. It works, this is really really cool.
For some reason, I wasn't able to install the test in my image. I have an error (cf screenshot). The problem comes from Monticello probably. But I was able to browse the code directly on squeaksource. Am I the only one to experience this?
In any case, your lib is excellent.
Cheers, Alexandre
<Screen shot 2010-06-11 at 09.29.22.png>
On 11 Jun 2010, at 05:22, Simon Denier wrote:
Ok I defined a MADisjointSets algorithm to do what you need (indeed forgets that I needed some node with nextNodes)
See tests in MADisjointSetsTest
On 11 juin 2010, at 01:20, Alexandre Bergel wrote:
MOKruskal will return edges to build some trees, not the components.
Nothing out of the box, but it's pretty easy to use MODisjointSetNode and a graph traversal to do that.
nodes do: [:n| n makeSet ]. nodes do: [:n| n nextNodes do: [:next | n union: next ]] nodes inject: Dictionary new into: [:d :n | (d at: n find ifAbsentPut: [OrderedCollection new]) add: n ]
should return a map where each value is a connected component
I have no idea how to use this. I tried: -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= | g | g := MOGraphStructure new. g nodeClass: MODisjointSetNode. g edgeClass: MOGraphEdge. g nodes: (1 to: 5). g edges: {1 -> 2. 2 -> 3 . 4 -> 5} from: #key to: #value. g nodes do: [:n| n makeSet ]. g nodes do: [:n| n nextNodes do: [:next | n union: next ]]. g nodes inject: Dictionary new into: [:d :n | (d at: n find ifAbsentPut: [OrderedCollection new]) add: n ] -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
There are 5 implementors of nextNodes: MASndNode, MATNodeNode, MOHitsNode, MOLayerNode, MOTarjanNode.
What should I do?
Alexandre
Doru
On 10 Jun 2010, at 00:58, Alexandre Bergel wrote:
Hi!
I haven't closely followed the status of the moose algo. I am looking for a way to get group of interconnected nodes.
A simple test would be:
testCycle1 | view | view := MOViewRenderer new. view nodes: (1 to: 5). view edges: {1 -> 2. 2 -> 3 . 4 -> 5} from: #key to: #value. view treeLayout. window := view open.
self assert: (view root numberOfDistinctGroups = 2). self assert: (view root distinctGroups first includesAllOf: (1 to: 3)). self assert: (view root distinctGroups second includesAllOf: (4 to: 5)).
Is there some material that I can use to code #numberOfDistinctGroups and #distinctGroups ?
Cheers, Alexandre
Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
-- www.tudorgirba.com
"Yesterday is a fact. Tomorrow is a possibility. Today is a challenge."
Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
-- Simon
Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
-- Simon
Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
-- www.tudorgirba.com
"What we can governs what we wish."