Ignore:
Timestamp:
Sep 16, 2010, 7:01:57 PM (14 years ago)
Author:
gnappo
Message:

Visualizzazione dei cluster. (da spostare)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/main/java/weka/clusterers/forMetisMQI/GraphAlgorithms.java

    r11 r12  
    11package weka.clusterers.forMetisMQI;
    22
     3import java.util.HashSet;
     4import java.util.Set;
    35import java.util.Stack;
    46
     
    1012
    1113public class GraphAlgorithms {
    12        
     14
    1315        public Bisection KL(UndirectedGraph g) {
    1416                Bisection partition = new Bisection(g);
     
    1618                int bestEdgeCut = Integer.MAX_VALUE;
    1719                Node u = partition.getCandidate();
    18                 while(u != null) {
     20                while (u != null) {
    1921                        partition.swap(u);
    20                         if(partition.edgeCut() <= bestEdgeCut) {
     22                        if (partition.edgeCut() <= bestEdgeCut) {
    2123                                bestEdgeCut = partition.edgeCut();
    2224                                result = partition.copy();
     
    2628                return result;
    2729        }
    28        
     30
    2931        public void METIS(UndirectedGraph g) {
    30                 MQI.viewGraph(g);
    31                 Bisection partition = null;
    32                 Coarse.setFinerSize(8);
    33                 Stack<CoarserGraphElement> stack = Coarse.coarse(g);
    34                 if(stack.size() > 0) {
    35                         partition = KL(stack.peek().getContracted());
    36                         System.out.println(partition.toString());
    37                         partition = new Uncoarse().uncoarse(stack, partition);
    38                         System.out.println(partition.toString());
     32//              MQI.viewGraph(g);
     33                Set<Set<Node>> clusters = new HashSet<Set<Node>>();
     34                for (int i = 0; i < 8; i++) {
     35                        Coarse.setFinerSize(8);
     36                        Stack<CoarserGraphElement> stack = Coarse.coarse(g);
     37                        Bisection partition = null;
     38                        if (stack.size() > 0) {
     39                                partition = KL(stack.peek().getContracted());
     40//                              System.out.println(partition.toString());
     41                                partition = new Uncoarse().uncoarse(stack, partition);
     42//                              System.out.println(partition.toString());
     43                                Set<Node> cluster = MQI.mqi(partition);
     44                                clusters.add(cluster);
     45//                              Set<Set<Node>> foundCluster = new HashSet<Set<Node>>();
     46//                              foundCluster.add(cluster);
     47//                              MQI.viewClusters(g, foundCluster);
     48                        }
    3949                }
    40                 System.out.println("AAAAAA");
    41                 System.out.println(MQI.mqi(partition).toString());
    42                
     50                MQI.viewClusters(g, clusters);
    4351        }
    4452
Note: See TracChangeset for help on using the changeset viewer.