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. 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. For more options, visit https://groups.google.com/d/optout.
