info.mrupp.isoak1
Class IsoaKernel1

java.lang.Object
  extended by info.mrupp.isoak1.IsoaKernel1

public class IsoaKernel1
extends java.lang.Object

The iterative similarity optimal assignment kernel. Computes the iterative similarity optimal assignment kernel between two molecular graphs up to a given precision.

Implementation based on the article

Matthias Rupp, Ewgenij Proschak, Gisbert Schneider: A Kernel Approach to Molecular Similarity Based on Iterative Graph Similarity, Journal of Chemical Information and Molecular Modeling, 2007, submitted.

Please cite this article if you use this software in scientific research.


Constructor Summary
IsoaKernel1()
          Initializes internal data structures to an empty state.
 
Method Summary
 float evalNorm(MolecularGraph molA, MolecularGraph molB, float alpha, float epsilon, int[] assignment, Array2Float similarity)
          Evalutes the iterative optimal assignment kernel with normalization.
 float evalRaw(MolecularGraph molA, MolecularGraph molB, float alpha, float epsilon, int[] assignment, Array2Float similarity)
          Evaluates the iterative optimal assignment kernel without normalization.
 void setEdgeKernel(IVertexEdgeKernel e)
          Sets the edge kernel to be used.
 void setVertexKernel(IVertexEdgeKernel k)
          Sets the vertex kernel to be used.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

IsoaKernel1

public IsoaKernel1()
Initializes internal data structures to an empty state.

Method Detail

evalNorm

public float evalNorm(MolecularGraph molA,
                      MolecularGraph molB,
                      float alpha,
                      float epsilon,
                      int[] assignment,
                      Array2Float similarity)
Evalutes the iterative optimal assignment kernel with normalization. The result will be in the range [0,1].


evalRaw

public float evalRaw(MolecularGraph molA,
                     MolecularGraph molB,
                     float alpha,
                     float epsilon,
                     int[] assignment,
                     Array2Float similarity)
Evaluates the iterative optimal assignment kernel without normalization.

Parameters:
molA - first argument molecuar graph.
molB - second argument molecular graph.
alpha - the weight of the recursive part of the update equation.
epsilon - the desired precision of the result. The result will not deviate by more than epsilon from the true value, as measured by the maximum-norm based metric.
assignment - the indices of the optimal assignment. Pass null if not needed.
similarity - the computed similarity matrix. Pass null if not needed.
Returns:
the value of the optimal assignment on the iterative similarity matrix.

setEdgeKernel

public void setEdgeKernel(IVertexEdgeKernel e)
Sets the edge kernel to be used. Default is NONE.


setVertexKernel

public void setVertexKernel(IVertexEdgeKernel k)
Sets the vertex kernel to be used. Default is NONE.