Hi Linas, 

Yes, StateLink is useless with backwards-chaining.  It can only work with 
> forward-chaining.
>

Oh yes! I understood this after several attempts. However, at least it's a 
closed path!
 

A minor performance note: using push/pop might be slightly faster, by 
>> avoiding a copy. (you can also manually push/pop with cog-new-atomspace, 
>> cog-set-atomspace! and stuff like that.)
>>
>
I hadn't seen push and pop so i was using (cog-new-atomspace). Actually, 
the algorithm is in python so I do Atomspace () and for the copy I extract 
the atoms from one and rerun them in the other (probably with decreased 
performance).
 

> This is a generic problem with backwards-chaining: the algorithms are 
> heavy, slow, and have combinatoric explosions.  This has been known since 
> the 1980's and has been the subject of extensive academic research, and, no 
> doubt, dozens of PhD thesis.
>

I saw it in old tests.. Anyway, my algorithm is more or less a guided 
forward chaining, but going up or down the tree often makes no difference. 
 

> This is why I keep yabbering about answer-set programming (ASP) and the 
> Univ. Potsdam ASP solver. Because ASP uses a SAT solver under the covers, 
> much or most or all of the combinatoric explosion can be avoided.  Or 
> rather, the SAT solvers prune the graph in such a way that the explosion is 
> avoided.
>
> Exactly how to make use of this whiz-bang technology in the AtomSpace 
> remains an open research question. 
>
I don't think I understand the application of modal logic (for lack of 
>> knowledge I think)
>>
>
> Backwards chaining is a special case of modal logic.
>
> Very roughly, modal logic is about reasoning over beliefs (If John 
> believes X, then John should also believe Y" ... or rather "it is possible 
> that John believes X, in which case, it is necessarily true that John 
> believes Y") -- it is a form of reasoning over possible universes, where 
> certain facts end up being necessarily true.
>
> The backwards-chaining variant of this is "if block X is on top of block 
> Y, then it is necessarily the case that Y is on top of the table or that Y 
> is on top of Z" and backwards chaining is just "find all possible universes 
> where block X is on top". (replace "John believes X" with "X is on top"; 
> the "possible universes" are those where the block stack correctly.)
>
> There was some GSOC summer-school effort to map the URE to modal logic, 
> but it wasn't accomplished.
>

I've studied the theory of the SAT problem and some pseudocodes but I don't 
know most of ASP. When I have more time I will try to learn about it 
because solve the combinatorial explosions seems like a nice achievement.
 

> But following one of the examples of the link: 
>> https://wiki.opencog.org/w/RelEx2Logic_representation
>>
>> "The book is on the table." not create the atom 
>> (EvaluationLink
>>    (PredicateNode "on@903a1a18-124d-498d-97af-447277a798e5" ) 
>>    (ListLink 
>>       (ConceptNode "book@12357525-7ca9-4d5e-85f8-b565228459aa") 
>>       (ConceptNode "table@be0f51a3-a7a0-400e-80ea-9ca860928af4")))
>>
>> Or rather, it creates it. But the ListLink contains only the table ... 
>> why?
>>
>
> I assume it's just a bug. The R2L code does not have an active maintainer. 
> Open a bug report. I'll look at it. If it's real easy, I'll try to fix it. 
> I hope it will be easy, and not some ugly mess.
>
>
Ok thanks a lot, first I have to understand how to do it!
I've always managed to report in words but the time has come!

Michele

-- 
You received this message because you are subscribed to the Google Groups 
"opencog" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/opencog/55eab5ed-5df2-4253-9b36-6e4164e424ffn%40googlegroups.com.

Reply via email to