Ignore:
Timestamp:
Sep 11, 2010, 4:12:16 PM (14 years ago)
Author:
gnappo
Message:

Aggiunta la libreria Jung per lavorare con i grafi. Primi esperimenti. A breve riorganizzazione completa del codice per usufruire della libreria.

File:
1 edited

Legend:

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

    r7 r8  
    1313        private static boolean debug = true;
    1414        private static PrintStream debugStream = System.err;
    15         private static int nodesContracted = 5;
     15        private static int finerSize = 5;
    1616
    1717        /**
     
    6161                                        map.set(g.getIndex(matchedNode), labelCounter);
    6262                                        if(debug) debugStream.println("Contracting node " + u + " with " + matchedNode + ". Node id: " + getMappedNode(g, map, u));
    63                                 } else
     63                                } else {
    6464                                        map.set(g.getIndex(u), labelCounter);
     65                                        if(debug) debugStream.println("Node " + u + " with " + " new node id: " + getMappedNode(g, map, u));
     66                                }
    6567                                labelCounter++;
    6668                        }
     
    106108                //calcolo dei pesi del nuovo grafo: per ogni arco (u,v) && u < v.
    107109                //w(map(u),map(v)) += w(u,v).
    108                 for(int u=0; u < g.size(); u++) {
     110                for(int i=0; i < g.size(); i++) {
     111                        int u = g.getLabel(i);
    109112                        Iterator<Integer> it = g.getNeighbors(u).iterator();
    110113                        while(it.hasNext()) {
     
    115118                        }
    116119                }
    117                 for(int u = 0; u < g.size(); u++) {
     120                for(int i=0; i < g.size(); i++) {
     121                        int u = g.getLabel(i);
    118122                        if(isMatched(g,match,u)) {
    119123                                int v = getMatchedNode(g,match,u);
     
    159163                if(debug)
    160164                        debugStream.println("-----------------------------------------------------");
    161             } while(e.getProjected().size() > e.getContracted().size() && e.getContracted().size() > nodesContracted);
     165            } while(e.getProjected().size() > e.getContracted().size() && e.getContracted().size() > finerSize);
    162166            return stack;
    163167        }
     168
     169        public static void setFinerSize(int i) {
     170                finerSize = i;
     171        }
    164172}
Note: See TracChangeset for help on using the changeset viewer.