As a continuation of my previous question i will try to explain my problem and how i am trying to convert my algorithm to a problem that can be expressed in a CNF form.
Problem: Find all stable sets of an argumentation framework according to Dung's proposed framework.
Brief theory: Having an argumentation framework AF, with A the set of all arguments and R the set of the relations, a stable set is a set which attacks all arguments not in their set and there is no attack relation between arguments in the stable set. Example:
Let's say we have an argumentation framework AF ,A={1,2,3,4}(arguments of AF) and attack relations R{1,3} and R{2,4}. It's obvious that the set {1,2} is a stable extension of the framework because:
a)it attacks all arguments not in their set (3 and 4)
b)it's conflict free(no attacks between arguments in the set) because argument 1 does not attack argument 2 and the opposite
My exhaustive abstract algorithm:
argnum=number of arguments;
Ai[argnum-1]=relation "attacks" ,where 1<=i<=argnum
P[2^argnum-1]=all possible relations that can be generated from all the arguments
S[2^argnum-1]=empty; where S are all the stable sets
j=0; //counter for while
k=1; //counter for counting stable sets
while j<2^argnum-1
if P[j] attacks all arguments not in P[j](check using Ai[])
if all arguments in P[j] are conlfict-free
S[k++]=P[j];
end if
end if
j++;
end while
I want to solve the above problem either by transforming the above algorithm to CNF or by using a different algorithm and finally use a SAT Solver(or anything similar if exists) give CNF as input and get stable sets as output.
I wonder if someone can give me any feedback of how i can transform any algorithm like the above to CNF in order to be used into a SAT Solver.
I decided to use precosat.