source: branches/autoquest-core-tasktrees-alignment/src/main/java/de/ugoe/cs/autoquest/tasktrees/alignment/matrix/DifferenceSubstitutionMatrix.java @ 1702

Last change on this file since 1702 was 1702, checked in by rkrimmel, 10 years ago
File size: 1.2 KB
RevLine 
[1314]1/**
2 *
3 */
[1572]4package de.ugoe.cs.autoquest.tasktrees.alignment.matrix;
[1314]5
[1698]6import java.util.HashSet;
7import java.util.LinkedList;
[1324]8
[1698]9import de.ugoe.cs.autoquest.tasktrees.treeifc.ITask;
10
11
[1314]12/**
13 * @author Ralph Krimmel
14 *
15 */
16public class DifferenceSubstitutionMatrix implements SubstitutionMatrix {
17
18        private int[] input1;
19        private int[] input2;
20        private int maxValue;
21       
22        public DifferenceSubstitutionMatrix(int[] input1,int[] input2) {
23                this.input1 = input1;
24                this.input2 = input2;
25                this.maxValue = getMaxValue();
26        }
27       
28        /* (non-Javadoc)
29         * @see de.ugoe.cs.autoquest.plugin.alignment.SubstitutionMatrix#getDistance(int, int)
30         */
[1702]31        public float getScore(int pos1, int pos2) {
[1314]32                return maxValue - (input1[pos1] - input2[pos2]);
33        }
34       
35        private int getMaxValue() {
36                int max = input1[0];
37                for (int i=0; i < input1.length; i++) {
38                        if(input1[i] > max) {
39                                max = input1[i];
40                        }
41                }
42                for (int j=0; j < input2.length; j++) {
43                        if(input2[j] > max) {
44                                max = input2[j];
45                        }
46                }
47                return max;
48        }
49
50        @Override
[1702]51        public float getGapPenalty() {
[1314]52                return -maxValue;
53        }
54
55
[1324]56        @Override
[1698]57        public void generate(HashSet<ITask> uniqueTasks) {
[1324]58        }
59
[1698]60        @Override
61        public void update(LinkedList<ITask> newlyGeneratedTasks) {
62        }
63
[1314]64}
Note: See TracBrowser for help on using the repository browser.