Changeset 1702


Ignore:
Timestamp:
09/01/14 15:34:03 (10 years ago)
Author:
rkrimmel
Message:
 
Location:
branches/autoquest-core-tasktrees-alignment/src/main/java/de/ugoe/cs/autoquest/tasktrees
Files:
2 added
8 edited

Legend:

Unmodified
Added
Removed
  • branches/autoquest-core-tasktrees-alignment/src/main/java/de/ugoe/cs/autoquest/tasktrees/alignment/matrix/DifferenceSubstitutionMatrix.java

    r1698 r1702  
    2929         * @see de.ugoe.cs.autoquest.plugin.alignment.SubstitutionMatrix#getDistance(int, int) 
    3030         */ 
    31         public double getScore(int pos1, int pos2) { 
     31        public float getScore(int pos1, int pos2) { 
    3232                return maxValue - (input1[pos1] - input2[pos2]); 
    3333        } 
     
    4949 
    5050        @Override 
    51         public double getGapPenalty() { 
     51        public float getGapPenalty() { 
    5252                return -maxValue; 
    5353        } 
  • branches/autoquest-core-tasktrees-alignment/src/main/java/de/ugoe/cs/autoquest/tasktrees/alignment/matrix/DummySubstitutionMatrix.java

    r1698 r1702  
    99 
    1010        @Override 
    11         public double getScore(int pos1, int pos2) { 
     11        public float getScore(int pos1, int pos2) { 
    1212                if(pos1==pos2) { 
    1313                        return 1; 
     
    1919 
    2020        @Override 
    21         public double getGapPenalty() { 
     21        public float getGapPenalty() { 
    2222                return -1; 
    2323        } 
  • branches/autoquest-core-tasktrees-alignment/src/main/java/de/ugoe/cs/autoquest/tasktrees/alignment/matrix/NearbySubstitutionMatrix.java

    r1698 r1702  
    2828         * @see de.ugoe.cs.autoquest.plugin.alignment.SubstitutionMatrix#getDistance(int, int) 
    2929         */ 
    30         public double getScore(int pos1, int pos2) { 
     30        public float getScore(int pos1, int pos2) { 
    3131                int difference = Math.abs(input1[pos1]-input2[pos2]);  
    3232                if(difference < range) { 
     
    4040 
    4141        @Override 
    42         public double getGapPenalty() { 
     42        public float getGapPenalty() { 
    4343                return -range-1; 
    4444        } 
  • branches/autoquest-core-tasktrees-alignment/src/main/java/de/ugoe/cs/autoquest/tasktrees/alignment/matrix/ObjectDistanceSubstitionMatrix.java

    r1699 r1702  
    1616import de.ugoe.cs.util.console.Console; 
    1717 
     18 
     19 
    1820public class ObjectDistanceSubstitionMatrix implements SubstitutionMatrix { 
    1921 
    2022        private HashMap<Integer, Integer> idmapping; 
    21         private TriangleMatrix matrix; 
     23        private ITriangleMatrix matrix; 
    2224        private HashSet<ITask> uniqueTasks; 
    23         private double gapPenalty; 
     25        private float gapPenalty; 
    2426        private int index = 0; 
    2527        private HashMap<Integer, LinkedList<IEventTaskInstance>> etisOfTasks; 
    2628        private boolean calculateNonTaskInstances = true; 
     29        private int firstRoundMaxIndex = 0; 
    2730 
    2831        private double positiveThreshold; 
    2932 
    3033        public ObjectDistanceSubstitionMatrix( 
    31                         float positiveThreshold, int gapPenalty, 
    32                         boolean calculateNonTaskInstances) { 
    33                  
     34                float positiveThreshold, int gapPenalty, 
     35                boolean calculateNonTaskInstances) { 
    3436                this.positiveThreshold = positiveThreshold; 
    3537                idmapping = new HashMap<Integer, Integer>(); 
     
    4042        } 
    4143 
    42         public double getGapPenalty() { 
     44        public float getGapPenalty() { 
    4345                return gapPenalty; 
    4446        } 
    4547 
    46         public void setGapPenalty(double gapPenalty) { 
     48        public void setGapPenalty(float gapPenalty) { 
    4749                this.gapPenalty = gapPenalty; 
    4850        } 
     
    7779        //Just Calculate the distance between the new tasks and the matrix. 
    7880        public void update(LinkedList<ITask> newTasks) { 
    79                 matrix.increaseSize(newTasks.size()); 
     81 
    8082                if (this.calculateNonTaskInstances) { 
    81                         Console.traceln(Level.INFO, "searching EventTasks in Tasks"); 
     83                        try { 
     84                                matrix.increaseSize(newTasks.size()); 
     85                                System.out.println("Subsitution matrix size is now " + matrix.size()*(matrix.size()+1)/2); 
     86                                Console.traceln(Level.INFO, "searching EventTasks in Tasks"); 
     87                        } catch (Exception e) { 
     88                                Console.logException(e); 
     89                        } 
    8290                        this.updateEventTaskInstances(newTasks); 
    83                 } 
    84                  
     91                         
    8592                for(Iterator<ITask> it = newTasks.iterator();it.hasNext();) { 
    8693                        int index1 = -1; 
     
    137144                        } 
    138145                } 
     146                } 
    139147        } 
    140148 
    141149        public void generate(HashSet<ITask> uniqueTasks) { 
    142150                this.uniqueTasks = uniqueTasks; 
    143                 matrix = new TriangleMatrix(uniqueTasks.size() + 1); 
    144                 matrix.initialize(0); 
    145151                if (this.calculateNonTaskInstances) { 
     152                        matrix = new DynamicTriangleMatrix(uniqueTasks.size() + 1); 
    146153                        Console.traceln(Level.INFO, "searching EventTasks in Tasks"); 
    147154                        searchEventTaskInstances(); 
    148155                } 
     156                else{ 
     157                        matrix = new StaticTriangleMatrix(uniqueTasks.size()+1); 
     158                } 
     159                matrix.initialize(0); 
    149160                Console.traceln(Level.INFO, "calculating distances"); 
    150161                int index1 = -1; 
     
    197208                                        System.out.println("Unknown error"); 
    198209                                } 
    199  
    200210                                matrix.set(index1, index2, distance); 
    201211 
    202212                        } 
    203213                } 
    204         } 
     214                this.firstRoundMaxIndex=index; 
     215        } 
     216         
     217        private void computeDistance(ITask task1, ITask task2) { 
     218                 
     219                 
     220        } 
     221         
    205222         
    206223         
     
    293310        } 
    294311 
    295         public double getScore(int taskId1, int taskId2) { 
     312        public float getScore(int taskId1, int taskId2) { 
    296313                if (taskId1 == Constants.GAP_SYMBOL 
    297314                                || taskId1 == Constants.UNMATCHED_SYMBOL 
    298315                                || taskId2 == Constants.GAP_SYMBOL 
    299316                                || taskId2 == Constants.UNMATCHED_SYMBOL) { 
    300                         return 0.0; 
     317                        return 0; 
     318                } else if(this.calculateNonTaskInstances==false &&       
     319                                (taskId1>this.firstRoundMaxIndex 
     320                                || taskId2>this.firstRoundMaxIndex)) { 
     321                        return 0; 
    301322                } else { 
    302323                        Integer first = idmapping.get(taskId1); 
  • branches/autoquest-core-tasktrees-alignment/src/main/java/de/ugoe/cs/autoquest/tasktrees/alignment/matrix/SubstitutionMatrix.java

    r1698 r1702  
    1111         
    1212 
    13         public double getScore(int pos1, int pos2); 
     13        public float getScore(int pos1, int pos2); 
    1414 
    15         public double getGapPenalty(); 
     15        public float getGapPenalty(); 
    1616 
    1717        public void generate(HashSet<ITask> uniqueTasks); 
  • branches/autoquest-core-tasktrees-alignment/src/main/java/de/ugoe/cs/autoquest/tasktrees/alignment/matrix/UPGMAMatrix.java

    r1580 r1702  
    33 
    44 
    5 public class UPGMAMatrix extends TriangleMatrix { 
     5public class UPGMAMatrix extends StaticTriangleMatrix { 
    66 
    77        public UPGMAMatrix(int size) { 
  • branches/autoquest-core-tasktrees-alignment/src/main/java/de/ugoe/cs/autoquest/tasktrees/temporalrelation/RuleUtils.java

    r1700 r1702  
    113113                 
    114114                // TODO: Debug output 
     115                /* 
    115116                System.out.println("PRINTING MODEL: "); 
    116117                for (int i = 0; i < subsequence.getSequence().getChildren().size(); i++) { 
     
    140141                } 
    141142                System.out.println(); 
    142                  
     143                */ 
    143144                 
    144145                //TODO: This is dirty! 
     
    151152                        } 
    152153                        ITask tempTask = model.getChildren().get(modelindex); 
    153                         System.out.println("Trying to add " + parent.get(startIndex) 
    154                                 + " to the model instance " + tempTask); 
     154                        //System.out.println("Trying to add " + parent.get(startIndex) 
     155                        //      + " to the model instance " + tempTask); 
    155156                        if (tempTask.getType() == "optionality") { 
    156157                                                 
    157158                                        if(((IMarkingTemporalRelationship) tempTask).getMarkedTask() == parent.get(startIndex).getTask()) { 
    158                                                 System.out.println("Adding OptionalInstance " + parent.get(startIndex) + " to " + tempTask.getType()); 
     159                                                //System.out.println("Adding OptionalInstance " + parent.get(startIndex) + " to " + tempTask.getType()); 
    159160                                                IOptionalInstance optional = taskFactory.createNewTaskInstance((IOptional) tempTask); 
    160161                                                taskBuilder.setChild(optional, parent.get(startIndex)); 
     
    162163                                        } 
    163164                                        else { 
    164                                                 System.out.println("Adding Empty optional, not deleting anything from the input sequence"); 
     165                                                //System.out.println("Adding Empty optional, not deleting anything from the input sequence"); 
    165166                                                IOptionalInstance optional = taskFactory.createNewTaskInstance((IOptional) tempTask); 
    166167                                                taskBuilder.addChild(subsequence, optional); 
     
    182183                                        } 
    183184                                        else if(parent.get(startIndex).getTask().getId() == tmpSel.getChildren().get(0).getId() || parent.get(startIndex).getTask().getId() == tmpSel.getChildren().get(1).getId() ) { 
    184                                                 System.out.println("Session ID: " + parent.get(startIndex).getTask().getId() + " tmpSel(0): " + tmpSel.getChildren().get(0).getId() + " tmpSel(1): " +tmpSel.getChildren().get(1).getId()  ); 
     185                                                //System.out.println("Session ID: " + parent.get(startIndex).getTask().getId() + " tmpSel(0): " + tmpSel.getChildren().get(0).getId() + " tmpSel(1): " +tmpSel.getChildren().get(1).getId()  ); 
    185186                                                continue; 
    186187                                        } 
    187188                                                 
    188189                                        for (int k=0;k<selseq.getSequence().getChildren().size();k++) { 
    189                                                 System.out.println("Trying to add " + parent.get(startIndex) + " to " + selseq); 
     190                                                //System.out.println("Trying to add " + parent.get(startIndex) + " to " + selseq); 
    190191                                                taskBuilder.addChild(selseq,parent.get(startIndex)); 
    191192                                                taskBuilder.removeTaskInstance(parent, startIndex); 
    192193                                                i++; 
    193                                                 System.out.println("I:" + i); 
    194                                         } 
    195                                         System.out.println("Trying to add " + selseq + " to " + tmpSel); 
     194                                                //System.out.println("I:" + i); 
     195                                        } 
     196                                        //System.out.println("Trying to add " + selseq + " to " + tmpSel); 
    196197                                        taskBuilder.setChild(selection, selseq); 
    197198                                        taskBuilder.addChild(subsequence, selection); 
     
    201202                                else 
    202203                                { 
    203                                         System.out.println("Trying to adding SelectionInstance " + parent.get(startIndex) + " to " + tempTask); 
     204                                        //System.out.println("Trying to adding SelectionInstance " + parent.get(startIndex) + " to " + tempTask); 
    204205                                        taskBuilder.setChild(selection, parent.get(startIndex)); 
    205206                                        taskBuilder.addChild(subsequence,selection); 
    206207                                } 
    207208                        } else if (tempTask.getType() == "sequence") { 
    208                                 System.out.println("Adding SequenceInstance " + parent.get(startIndex) + " to " + tempTask); 
     209                                //System.out.println("Adding SequenceInstance " + parent.get(startIndex) + " to " + tempTask); 
    209210                                taskBuilder.addChild(subsequence, parent.get(startIndex)); 
    210211                        } else if (tempTask.getType() == "iteration") { 
    211                                 System.out.println("Adding IterationInstance " + parent.get(startIndex) + " to " + tempTask); 
     212                                //System.out.println("Adding IterationInstance " + parent.get(startIndex) + " to " + tempTask); 
    212213                                taskBuilder.addChild(subsequence, parent.get(startIndex)); 
    213214                        } else { 
    214                                 System.out.println("Adding EventInstance " + parent.get(startIndex) + " to " + tempTask); 
    215                                 System.out.println("Foo"); 
     215                                //System.out.println("Adding EventInstance " + parent.get(startIndex) + " to " + tempTask); 
     216                                //System.out.println("Foo"); 
    216217                                taskBuilder.addChild(subsequence, parent.get(startIndex)); 
    217218                        } 
  • branches/autoquest-core-tasktrees-alignment/src/main/java/de/ugoe/cs/autoquest/tasktrees/temporalrelation/SequenceForTaskDetectionRuleAlignment.java

    r1700 r1702  
    141141                // Generate a substitution matrix between all occurring events. 
    142142                Console.traceln(Level.INFO, "generating substitution matrix"); 
     143                Console.traceln(Level.INFO,"Got " + appData.getUniqueTasks().size() + "tasks"); 
    143144                appData.getSubmat().generate(appData.getUniqueTasks()); 
    144145                 
     146                 
     147                Console.traceln(Level.INFO, "Starting main loop"); 
    145148                do { 
     149                        Console.traceln(Level.INFO, "Iteration Number: " + iteration); 
    146150                        iteration++; 
    147  
     151                         
    148152                        appData.detectedAndReplacedTasks = false; 
    149153                        appData.getStopWatch().start("whole loop"); 
     
    642646                                        MatchOccurence oc = it.next(); 
    643647                                         
    644                                          
     648                                        /* 
    645649                                        if (iteration > 1) { 
    646650                                          
     
    661665                                                                                .get(j)); 
    662666                                        } 
    663                                         } 
     667                                        }*/ 
    664668                                         
    665669                                        // Check if nothing has been replaced in the sequence we 
     
    773777                        stopWatch = new StopWatch(); 
    774778                        result = new RuleApplicationResult(); 
    775                         submat= new ObjectDistanceSubstitionMatrix(6,-3,true); 
     779                        submat= new ObjectDistanceSubstitionMatrix(6,-3,false); 
    776780                        newTasks = new LinkedList<ITask>(); 
    777781                } 
Note: See TracChangeset for help on using the changeset viewer.