|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectfr.orsay.lri.varna.models.treealign.TreeAlign.Aligner
private class TreeAlign.Aligner
For arrays that take at least O(|T1|*|T2|) we take care not to use too big data types.
Field Summary | |
---|---|
private float[] |
DEF1
DEF1[i] is the distance between the empty forest and F1[i] (the forest of children of node i in the first tree). |
private float[] |
DEF2
Same as DEF1, but for second tree. |
private float[] |
DET1
DET1[i] is the distance between the empty tree and T1[i] (the subtree rooted at node i in the first tree). |
private float[] |
DET2
Same as DET1, but for second tree. |
private float[][][][] |
DF1
DF1[i][j_t] is DFL for (i,j,s,t) with s=0. |
private byte[][][][] |
DF1Decisions1
This arrays have the same shape as respectively DF1. |
private short[][][][] |
DF1Decisions2
|
private float[][][][] |
DF2
DF2[j][i_s] is DFL for (i,j,s,t) with t=0. |
private byte[][][][] |
DF2Decisions1
This arrays have the same shape as respectively DF2. |
private short[][][][] |
DF2Decisions2
|
private float[][] |
DL
Distances between labels. |
private float[][] |
DT
Distances between subtrees. |
private byte[][] |
DTDecisions1
This array has the same shape as DT, but is used to remember which case gave the minimum, so that we can later compute the alignment. |
private short[][] |
DTDecisions2
|
private TreeAlign.TreeData<ValueType1> |
treeData1
The first tree. |
private TreeAlign.TreeData<ValueType2> |
treeData2
The second tree. |
Constructor Summary | |
---|---|
TreeAlign.Aligner(Tree<ValueType1> T1,
Tree<ValueType2> T2)
|
Method Summary | |
---|---|
float |
align()
|
Tree<AlignedNode<ValueType1,ValueType2>> |
computeAlignment()
|
private void |
computeAlignmentP1(int i,
int s,
int m_i,
int j,
int t,
int n_j,
int DFx)
|
private List<Tree<AlignedNode<ValueType1,ValueType2>>> |
computeForestAlignment(int i,
int s,
int p,
int j,
int t,
int q)
Align F1[i_s,i_p] with F2[j_t,j_q]. |
private Tree<AlignedNode<ValueType1,ValueType2>> |
computeTreeAlignment(int i,
int j)
|
private Tree<AlignedNode<ValueType1,ValueType2>> |
treeDeleted(int i)
Align T1[i] with the empty tree. |
private Tree<AlignedNode<ValueType1,ValueType2>> |
treeInserted(int j)
Align the empty tree with T2[j]. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private TreeAlign.TreeData<ValueType1> treeData1
private TreeAlign.TreeData<ValueType2> treeData2
private float[][][][] DF1
private float[][][][] DF2
private byte[][][][] DF1Decisions1
private short[][][][] DF1Decisions2
private byte[][][][] DF2Decisions1
private short[][][][] DF2Decisions2
private float[][] DT
private byte[][] DTDecisions1
private short[][] DTDecisions2
private float[][] DL
private float[] DET1
private float[] DET2
private float[] DEF1
private float[] DEF2
Constructor Detail |
---|
public TreeAlign.Aligner(Tree<ValueType1> T1, Tree<ValueType2> T2)
Method Detail |
---|
private void computeAlignmentP1(int i, int s, int m_i, int j, int t, int n_j, int DFx)
i
- node in T1s
- number of first child of i to considerm_i
- degree of ij
- node in T2t
- number of first child of j to considern_j
- degree of jDFx
- which array to fill (DF1 or DF2)public float align() throws TreeAlignException
TreeAlignException
private List<Tree<AlignedNode<ValueType1,ValueType2>>> computeForestAlignment(int i, int s, int p, int j, int t, int q)
private Tree<AlignedNode<ValueType1,ValueType2>> treeDeleted(int i)
private Tree<AlignedNode<ValueType1,ValueType2>> treeInserted(int j)
private Tree<AlignedNode<ValueType1,ValueType2>> computeTreeAlignment(int i, int j)
public Tree<AlignedNode<ValueType1,ValueType2>> computeAlignment()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |