On Sat, Jan 6, 2018 at 11:03 PM Linas Vepstas <[email protected]> wrote:
> On Sat, Jan 6, 2018 at 1:00 PM, Ramin Barati <[email protected]> wrote: > >> Hi Linas, >> >> ASP is the right tool for the job, though I must admit that it has a >> learning curve; from my POV at least. >> > Oh, yes it does. I didn't want to scare you, but I can say it now: > > It took me a week to understand how to make the simplest possible > modification to the most basic "hello world" program. Not joking, it was > this hard. > > It took another week (40-hour week, this time, reading the specs, trying > thingsover and over) to write a 5-line long program that seemed to do what > I wanted. > > Then a light-bulb went on, I started to understand ... it took another 3 > days or a week before that light stayed on for good. And after that it was > mostly easy and obvious. Its really hard to get the basic idea, but once > you got it, its .. obvious. > > One important clue that I can give you: if A is a variable, then "not A" > should be treated as a completely independent variable, instead of forcing > it to be the opposite of A. That is because A has three states: true, > false and unknown. The starting point is that both A and notA are unknown, > and if you try to force notA to not be A, then you get "not unknown" which > makes the solver go really slow, or hit an inf loop, or go crazy and crash, > or get unwanted results. So instead, just pretend that these are two > completely different, unrelated variables. At the end of you program, you > can then ask: > > "is A==true satisfiable?" > > and > "is notA == true satisfiable?" > > It might be better to not even think of true&false, and instead think that > A has three states: satisfiable, not satisfiable, and unknown. Once you > stop thinking that its boolean logic, then all of a sudden, it should > become clear how it works. > >> Currently we have decided to use PDDL for prototyping and then implement >> an ASP version when the biz constraints become quite concrete. >> > > I strongly recommend continuing to bang away at it, and if it takes you a > week to understand basic example #3 --- that is normal. Prototyping in > PDDL will just leave you with a big effort to translate the rules later on, > and that will be hard to do. > There is a PDDL to ASP translator <https://github.com/potassco/plasp> in Potassco github account which, hopefully, would help with that. Nevertheless, I will continue reading Potassco manual just in case. > The boat-scheduling code is now on github: https://github.com/linas/crew > > --linas > > > > >> Thank you for your generous help. >> > > -- > *"The problem is not that artificial intelligence will get too smart and > take over the world," computer scientist Pedro Domingos writes, "the > problem is that it's too stupid and already has." * > > -- > 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 post to this group, send email to [email protected]. > Visit this group at https://groups.google.com/group/opencog. > To view this discussion on the web visit > https://groups.google.com/d/msgid/opencog/CAHrUA37MHnfy4RWNXdNTQf5qXQP78B5YXP0b6oXshHVnDPyo_Q%40mail.gmail.com > <https://groups.google.com/d/msgid/opencog/CAHrUA37MHnfy4RWNXdNTQf5qXQP78B5YXP0b6oXshHVnDPyo_Q%40mail.gmail.com?utm_medium=email&utm_source=footer> > . > For more options, visit https://groups.google.com/d/optout. > -- 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 post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/opencog. To view this discussion on the web visit https://groups.google.com/d/msgid/opencog/CAHmauB4vvcNQcjCT-Od%3D_O2ho0aVeNECz1SHCqomHryeoFkJ6g%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
