Re: play(player, game)
Hans Chalupsky <[email protected]>
| Newsgroups | gmane.comp.ai.powerloom |
|---|---|
| Message-ID | <[email protected]> |
>>>>> Octav Popescu <[email protected]> writes: > Then I guess my question is again: Any idea when you'll issue the next > release? :-) We are working on another release which will be licensed open-source similar to STELLA. It will also include our database interface for PowerLoom (currently only supporting MySQL). > Another question: irrespective of the CLOSED declaration, does PowerLoom do > 3-value (or 5-value with the defaults) logic computation? Like saying (AND > UNKNOWN FALSE) = FALSE, (AND UNKNOWN TRUE) = UNKNOWN, (OR UNKNOWN TRUE) = > TRUE, (OR UNKNOWN FALSE) = UNKNOWN. Yes, for example: STELLA(3): (defrelation happy (?x)) |r|HAPPY STELLA(4): (assert (not (happy joe))) |P|(NOT (HAPPY JOE)) STELLA(5): (ask (happy fred)) UNKNOWN STELLA(6): (ask (and (happy joe) (happy fred))) FALSE STELLA(7): (ask (or (happy joe) (happy fred))) UNKNOWN STELLA(8): (ask (or (not (happy joe)) (happy fred))) TRUE STELLA(10): (ask (and (not (happy joe)) (happy fred))) UNKNOWN STELLA(11): Hans > --On Tuesday, May 24, 2005 6:46 PM -0700 Hans Chalupsky <[email protected]> wrote: >> Octav, >> >> you are right that the primary reason for this is the asymmetric >> effort by PowerLoom on proving the query as stated as opposed to >> trying to prove its negation. You are also right that the system >> looks somewhat stupid/buggy using this behavior when querying closed >> relations. Tom Russ was offended by this also recently and has been >> working on a fix. I'm not sure exactly where we are on this, but >> we'll try to fix this for the next release. >> >> Hans >> >>>>>>> Octav Popescu <[email protected]> writes: >> >>> Hans, >>> After looking a little into this, now I'm confused too about the semantics >>> of the CLOSED predicate. :-) I understand why the example below does not >>> lead to any contradictions. But I'm not sure I understand why CLOSED only >>> has effect on NOT questions. Like for instance: >> >>> ? (defconcept player) >>> | c|PLAYER >>> ? (assert (closed player)) >>> | P|(CLOSED PLAYER) >>> ? (assert (player jano)) >>> | P|(PLAYER JANO) >>> ? (ask (not (player chess))) >>> Processing check-types agenda... >>> TRUE >>> ? (ask (player chess)) >>> UNKNOWN >> >>> I'm not sure I understand why the last query doesn't return FALSE. I take >>> it it has to do with the fact that PowerLoom doesn't put much effort into >>> disproving a query. The manual says: >> >>> "The PowerLoom command ask returns one of three values: true if it can >>> prove the truth of a proposition, false if it can easily prove the >>> falsity of a proposition and otherwise it returns unknown." >> >>> So in this case PowerLoom does know that the query failed, and it seems to >>> me it would be easy to check that the predicate is CLOSED, and then >>> change the result to FALSE. This would be more in line with the "negation >>> as failure" mode. Is there a problem with this? >> >>> Thanks, >>> Octav >> >>> --On Friday, May 13, 2005 13:11 -0700 Hans Chalupsky <[email protected]> wrote: >> >>>> Krzysztof, >>>> >>>> I'm not sure why you think the last assertion should not be possible. >>>> At that point both JANO and CHESS are of type PLAYER (via explicit >>>> assertion) and GAME (inferred via the type constraint on PLAY). You >>>> asserted GAME and PLAYER to be closed which only means (NOT (GAME/PLAYER >>>> ?x)) will be concluded if (GAME/PLAYER ?x) cannot be inferred. So, there >>>> are no contradictions I can see. >>>> >>>> Hans >>>> >>>>>>>>> Krzysztof Janowicz <[email protected]> writes: >>>> >>>>> hi, >>>>> i do not understand why the last assert is possible, can anyone give me >>>>> a hand? can i assert everything independent of the definitions made >>>>> bevor? >>>> >>>>> thanks! >>>> >>>>> (DEFCONCEPT PLAYER) >>>>> (DEFCONCEPT GAME) >>>>> (DEFRELATION PLAY (?X ?Y) >>>>> :=> (AND (PLAYER ?X) (GAME ?Y))) >>>> >>>>> // or (defrelation play ((?x player) (?y game))) >>>> >>>>> (ASSERT (CLOSED GAME)) >>>>> (ASSERT (CLOSED PLAYER)) >>>>> (ASSERT (PLAYER JANO)) >>>>> (ASSERT (PLAYER CHESS)) >>>>> (ASSERT (PLAY JANO CHESS)) >>>>> (ASSERT (PLAY JANO JANO)) >>>> >>>> >>>>> regards >>>>> k.janowicz >>>>> _______________________________________________ >>>>> powerloom-forum mailing list >>>>> [email protected] >>>>> http://mailman.isi.edu/mailman/listinfo/powerloom-forum >>>> >>>> _______________________________________________ >>>> powerloom-forum mailing list >>>> [email protected] >>>> http://mailman.isi.edu/mailman/listinfo/powerloom-forum >>>> >> >>