added underscores where usefull and deleted useless brackets
authorCaspar Safarlou <csafarlou@lilo3.science.ru.nl>
Mon, 17 Nov 2014 21:29:03 +0000 (22:29 +0100)
committerCaspar Safarlou <csafarlou@lilo3.science.ru.nl>
Mon, 17 Nov 2014 21:29:03 +0000 (22:29 +0100)
report/src/task14.pl

index 3cc3aa2..5e89e10 100644 (file)
@@ -1,23 +1,18 @@
 :- [diagnosis].\r
 \r
-\r
-generateHittingSetTree(SD, COMP, OBS, HS, T) :- %test with problem1(SD,COMP,OBS), generateHittingSetTree(SD,COMP,OBS,[],T). This needs to report node([a1], [node([a2], [leaf])]).\r
-       (\r
-               tp(SD, COMP, OBS, HS, CS) -> %finds a conflict set\r
-               generateParts(SD, COMP, OBS, HS, [], T) ; generateParts(SD, COMP, OBS, HS, CS, T)  %first part of the OR is needed to translate an empty conflict set into a leaf.\r
-       ).\r
-               \r
-generateParts(SD, COMP, OBS, HS, [],leaf).%generates leaf if at the end of all possible conflict sets in a branch\r
-generateParts(SD, COMP, OBS, HS, CS, node(CS, TS)) :- %generates node if the conflict set isn't empty and goes on.\r
-       repairBranch(SD, COMP, OBS, HS, CS, TS). %repairs the branch by branching out for each item in the conflict set\r
+generateHittingSetTree(SD, COMP, OBS, HS, HSTREE) :- %test with problem1(SD,COMP,OBS), generateHittingSetTree(SD,COMP,OBS,[],T). This needs to report node([a1], [node([a2], [leaf])]).\r
+       tp(SD, COMP, OBS, HS, CS) -> generateParts(SD, COMP, OBS, HS, CS, HSTREE) ; generateParts(_, _, _, _, [], HSTREE).  %second part of the OR is needed to translate an empty conflict set into a leaf.    \r
+       \r
+generateParts(_,_,_,_, [],leaf).%generates leaf if at the end of all possible conflict sets in a branch\r
+generateParts(SD, COMP, OBS, HS, CS, node(CS, RESTOFTREE)) :- %generates node if the conflict set isn't empty and goes on.\r
+       repairBranch(SD, COMP, OBS, HS, CS, RESTOFTREE). %repairs the branch by branching out for each item in the conflict set and generating new conflict sets for the next node\r
        \r
                                \r
 repairBranch(SD, COMP, OBS, HS, [CS], [X]) :- %single item left in conflict set\r
        append(HS, [CS], HSNEW), %add the used conflict set item for this branch to the new hitting set\r
        generateHittingSetTree(SD, COMP, OBS, HSNEW, X). %find the next new conflict set with the new hitted item\r
-\r
 repairBranch(SD, COMP, OBS, HS, [CSHEAD|CSTAIL], [X|Xs]) :- %multiple items left in conflict set\r
        append(HS, [CSHEAD], HSNEW), %add the used conflict set item for this branch to the new hitting set\r
        generateHittingSetTree(SD, COMP, OBS, HSNEW, X), %find the next new conflict set with the new hitted item\r
        repairBranch(SD, COMP, OBS, HS, CSTAIL, Xs). %goes on in recursion for each item in the conflict set of the current node\r
-        
\ No newline at end of file
+       
\ No newline at end of file