I wanted the desirable property of not allowing two conflicting assumptions to hold simultaneously and thus added conflicting assumptions to the set of contraries for each assumption, e.g. asmHas(X,R) is set as a contrary of asmNotHas(X,R) and vice versa.
This introduces a couple of problems though:
(1) The defences of arguments get really large since there are now so many more attacks to consider/counter.
(2) Incorrectness! e.g. the contrary of asmHas(a2,r5) is notHas(a2,r5) supported by asmNotHas(a2,r5), but asmHas(a2,r5) counter-attacks asmNotHas(a2,r5) so the initial attack doesn't hold (wrongly).
I have commented out for now (in the implementation) assumptions as contraries of assumptions.
2 comments:
I am not worried about 1), but concerning 2): do you mean that in the absence of other info you prefer to assume not has to assuming has?
In the absence of any info, both can be assumed. This is ok.
The problem case is as follows:
I have an inference rule...
¬has(X,R) :- uttered(X,asm(¬has(X,R)),_), asm(¬has(X,R))
... which basically means that I have reason to believe ¬has(X,R) if X has told me so previously and the assumption asm(¬has(X,R)) is 'good'.
I would want the assumption asm(has(X,R)) on the other hand to be 'good' so long as I don't have reason to believe ¬has(X,R) as above. However, the belief ¬has(X,R) as above can never successfully attack asm(has(X,R)) since asm(has(X,R)) always in turn attacks the assumption asm(¬has(X,R)) which ¬has(X,R) is based on (when allowing assumptions as contraries of assumptions).
The problem still persists even if we try make it asymmetric so that asmHas(X,R) has contrary asmNotHas(X,R) but not vice versa. In such a setting, it would not be possible for a1 to make assumption asmHas(a3,r2) for example because asmNotHas(a3,r2) attacks asmHas(a3,r2) but asmHas(a3,r2) does not in turn attack asmNotHas(a3,r2).
Post a Comment