Changeset 21 for src/main


Ignore:
Timestamp:
Oct 5, 2010, 8:44:43 AM (14 years ago)
Author:
gnappo
Message:

Correzione nel calcolo della conduttanza.

Location:
src/main/java/weka/clusterers/forMetisMQI
Files:
2 edited

Legend:

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

    r20 r21  
    9595//              Util.viewGraph(g);
    9696                for (int i = 0; i < numberOfCluster; i++) {
    97 //                      Bisection partition = metis(g,sizeFinerGraph);
    98                         Bisection partition = new Bisection(g);
     97                        Bisection partition = metis(g,sizeFinerGraph);
     98//                      Bisection partition = new Bisection(g);
    9999                        System.out.print("Partizione iniziale: ");
    100100                        System.out.print("V1: " + partition.getSubgraph().getVertexCount());
  • src/main/java/weka/clusterers/forMetisMQI/MQI.java

    r20 r21  
    1616import weka.clusterers.forMetisMQI.graph.Node;
    1717import weka.clusterers.forMetisMQI.graph.Subgraph;
    18 import weka.clusterers.forMetisMQI.util.Util;
    1918import edu.uci.ics.jung.algorithms.flows.EdmondsKarpMaxFlow;
    2019import edu.uci.ics.jung.graph.DirectedGraph;
    2120import edu.uci.ics.jung.graph.DirectedSparseGraph;
     21import weka.clusterers.forMetisMQI.util.Util;
    2222
    2323public class MQI {
     
    8888                        a = A.getVertexCount();
    8989                else {
    90                         Iterator<Node> aIterator = A.iterator();
    91                         while(aIterator.hasNext()) {
    92                                 a += bisection.getGraph().degree(aIterator.next());
    93                         }
     90                        a = Math.min(B.totalDegree(),A.totalDegree());
    9491                }
    9592                int c = bisection.edgeCut() / 2;
     
    195192                                                * bisection.edgeCut() / 2;
    196193                        else {
    197                                 Iterator<Node> aIterator = bisection.getLargerSubgraph().iterator();
    198                                 maxFlowThreshold = 0;
    199                                 while(aIterator.hasNext())
    200                                         maxFlowThreshold += partition.getGraph().degree(aIterator.next());
     194                                maxFlowThreshold = Math.min(bisection.getLargerSubgraph().totalDegree(), bisection.getSmallerSubgraph().totalDegree());
    201195                                maxFlowThreshold = maxFlowThreshold
    202196                                                * (bisection.edgeCut() / 2);
    203197                        }
    204198                        alg.evaluate();
    205 //                      Util.viewFlowGraph(directedGraph, edgeFlowMap);
     199                        Util.viewFlowGraph(directedGraph, edgeFlowMap);
    206200                        System.out.println("MAX FLOW: " + alg.getMaxFlow() + " THRESHOLD: "
    207201                                        + maxFlowThreshold);
Note: See TracChangeset for help on using the changeset viewer.