net.ajaest.jdk.data.auxi
Class GraphSimilarityComparator

java.lang.Object
  extended by net.ajaest.jdk.data.auxi.GraphSimilarityComparator
All Implemented Interfaces:
java.util.Comparator<KanjiGraph>

public class GraphSimilarityComparator
extends java.lang.Object
implements java.util.Comparator<KanjiGraph>


Field Summary
private  java.util.Map<KanjiGraph,java.lang.Integer> graphScoring
           
private  java.lang.Integer modelDistances
           
private  java.lang.Integer modelLineCount
           
private  java.lang.Integer modelStrokecount
           
private  java.util.Map<KanjiStroke,java.util.Map<KanjiStroke,java.util.Set<java.lang.Integer>>> modelStrokeDistances
           
private  java.util.Set<KanjiStroke> modelStrokes
           
 
Constructor Summary
GraphSimilarityComparator(KanjiGraph kg)
           
 
Method Summary
private  java.lang.Integer calcBinomial(java.lang.Integer n, java.lang.Integer k)
           
 int compare(KanjiGraph o1, KanjiGraph o2)
           
private  java.util.Map<KanjiStroke,java.util.Map<KanjiStroke,java.util.Set<java.lang.Integer>>> getDistanceMap(KanjiGraph kg)
           
private  java.lang.Integer getDistancesScoring(KanjiGraph kg)
           
private  java.lang.Integer getLineCount(KanjiGraph kg)
           
private  java.lang.Integer getStrokeEqualityScoring(KanjiGraph kg)
           
private  java.lang.Integer getStrokeLineScoring(KanjiGraph kg)
          20/100
private  java.lang.Integer scoreGraph(KanjiGraph kg)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface java.util.Comparator
equals
 

Field Detail

modelStrokeDistances

private java.util.Map<KanjiStroke,java.util.Map<KanjiStroke,java.util.Set<java.lang.Integer>>> modelStrokeDistances

graphScoring

private java.util.Map<KanjiGraph,java.lang.Integer> graphScoring

modelStrokes

private java.util.Set<KanjiStroke> modelStrokes

modelDistances

private java.lang.Integer modelDistances

modelLineCount

private java.lang.Integer modelLineCount

modelStrokecount

private java.lang.Integer modelStrokecount
Constructor Detail

GraphSimilarityComparator

public GraphSimilarityComparator(KanjiGraph kg)
Method Detail

compare

public int compare(KanjiGraph o1,
                   KanjiGraph o2)
Specified by:
compare in interface java.util.Comparator<KanjiGraph>

scoreGraph

private java.lang.Integer scoreGraph(KanjiGraph kg)

getStrokeLineScoring

private java.lang.Integer getStrokeLineScoring(KanjiGraph kg)
20/100

Parameters:
kg -

getStrokeEqualityScoring

private java.lang.Integer getStrokeEqualityScoring(KanjiGraph kg)

getDistancesScoring

private java.lang.Integer getDistancesScoring(KanjiGraph kg)

getLineCount

private java.lang.Integer getLineCount(KanjiGraph kg)

getDistanceMap

private java.util.Map<KanjiStroke,java.util.Map<KanjiStroke,java.util.Set<java.lang.Integer>>> getDistanceMap(KanjiGraph kg)

calcBinomial

private java.lang.Integer calcBinomial(java.lang.Integer n,
                                       java.lang.Integer k)