From: <dm...@us...> - 2008-08-16 01:56:14
|
Looks like the Research CYC JRTL is working: Is this the correct test? CYC(3):(load "sg_cyc_without_cycle_01.cyc") [Time: 234.4 secs] T CYC(4): (new-cyc-query (LIST #$sg-predicate '?X '?Y) #$BaseKB (LIST :MAX-TRANSFORMATION-DEPTH nil :metrics (LIST :total-time :complete-total-time :time-per-answer :time-to-first-answer :answer-count)) ) [Time: 13.843 secs] (((?X . #$node-87) (?Y . #$node-425)) ((?X . #$node-425) (?Y . #$node-425)) ((?X . #$node-87) (?Y . #$node-87)) ((?X . #$node-129) (?Y . #$node-256)) ((?X . #$node-256) (?Y . #$node-256)) ((?X . #$node-129) (?Y . #$node-129)) ((?X . #$node-96) (?Y . #$node-151)) ((?X . #$node-151) (?Y . #$node-151)) ((?X . #$node-96) (?Y . #$node-96)) ((?X . #$node-29) (?Y . #$node-143)) ((?X . #$node-143) (?Y . #$node-143)) ((?X . #$node-29) (?Y . #$node-29)) ((?X . #$node-324) (?Y . #$node-489)) ((?X . #$node-489) (?Y . #$node-489)) ((?X . #$node-324) (?Y . #$node-324)) ((?X . #$node-311) (?Y . #$node-372)) ((?X . #$node-372) (?Y . #$node-372)) ((?X . #$node-311) (?Y . #$node-311)) ((?X . #$node-144) (?Y . #$node-363)) ((?X . #$node-363) (?Y . #$node-363)) ((?X . #$node-144) (?Y . #$node-144)) ((?X . #$node-132) (?Y . #$node-394)) ((?X . #$node-394) (?Y . #$node-394)) ((?X . #$node-132) (?Y . #$node-132)) ((?X . #$node-53) (?Y . #$node-443)) ((?X . #$node-443) (?Y . #$node-443)) ((?X . #$node-53) (?Y . #$node-53)) ((?X . #$node-374) (?Y . #$node-497)) ((?X . #$node-497) (?Y . #$node-497)) ((?X . #$node-374) (?Y . #$node-374)) ((?X . #$node-257) (?Y . #$node-286)) ((?X . #$node-286) (?Y . #$node-286)) ((?X . #$node-257) (?Y . #$node-257)) ((?X . #$node-136) (?Y . #$node-480)) ((?X . #$node-480) (?Y . #$node-480)) ((?X . #$node-136) (?Y . #$node-136)) ((?X . #$node-85) (?Y . #$node-215)) ((?X . #$node-215) (?Y . #$node-215)) ((?X . #$node-85) (?Y . #$node-85)) ((?X . #$node-28) (?Y . #$node-105)) ((?X . #$node-105) (?Y . #$node-105)) ((?X . #$node-28) (?Y . #$node-28)) ((?X . #$node-72) (?Y . #$node-104)) ((?X . #$node-104) (?Y . #$node-104)) ((?X . #$node-72) (?Y . #$node-72)) ((?X . #$node-118) (?Y . #$node-192)) ((?X . #$node-192) (?Y . #$node-192)) ((?X . #$node-118) (?Y . #$node-118)) ((?X . #$node-279) (?Y . #$node-313)) ((?X . #$node-313) (?Y . #$node-313)) ((?X . #$node-279) (?Y . #$node-279)) ((?X . #$node-206) (?Y . #$node-387)) ((?X . #$node-387) (?Y . #$node-387)) ((?X . #$node-206) (?Y . #$node-206)) ((?X . #$node-250) (?Y . #$node-414)) ((?X . #$node-414) (?Y . #$node-414)) ((?X . #$node-250) (?Y . #$node-250)) ((?X . #$node-54) (?Y . #$node-210)) ((?X . #$node-210) (?Y . #$node-210)) ((?X . #$node-54) (?Y . #$node-54)) ((?X . #$node-39) (?Y . #$node-169)) ((?X . #$node-169) (?Y . #$node-169)) ((?X . #$node-39) (?Y . #$node-39)) ((?X . #$node-75) (?Y . #$node-352)) ((?X . #$node-352) (?Y . #$node-352)) ((?X . #$node-75) (?Y . #$node-75)) ((?X . #$node-56) (?Y . #$node-482)) ((?X . #$node-482) (?Y . #$node-482)) ((?X . #$node-56) (?Y . #$node-56)) ((?X . #$node-464) (?Y . #$node-472)) ((?X . #$node-472) (?Y . #$node-472)) ((?X . #$node-464) (?Y . #$node-464)) ((?X . #$node-80) (?Y . #$node-492)) ((?X . #$node-492) (?Y . #$node-492)) ((?X . #$node-80) (?Y . #$node-80)) ((?X . #$node-131) (?Y . #$node-368)) ((?X . #$node-368) (?Y . #$node-368)) ((?X . #$node-131) (?Y . #$node-131)) ((?X . #$node-54) (?Y . #$node-137)) ((?X . #$node-137) (?Y . #$node-137)) ((?X . #$node-42) (?Y . #$node-288)) ((?X . #$node-288) (?Y . #$node-288)) ((?X . #$node-42) (?Y . #$node-42)) ((?X . #$node-186) (?Y . #$node-186)) ((?X . #$node-233) (?Y . #$node-499)) ((?X . #$node-499) (?Y . #$node-499)) ((?X . #$node-233) (?Y . #$node-233)) ((?X . #$node-179) (?Y . #$node-238)) ((?X . #$node-238) (?Y . #$node-238)) ((?X . #$node-179) (?Y . #$node-179)) ((?X . #$node-38) (?Y . #$node-357)) ((?X . #$node-357) (?Y . #$node-357)) ((?X . #$node-38) (?Y . #$node-38)) ((?X . #$node-216) (?Y . #$node-462)) ((?X . #$node-462) (?Y . #$node-462)) ((?X . #$node-216) (?Y . #$node-216)) ((?X . #$node-39) (?Y . #$node-320)) ((?X . #$node-320) (?Y . #$node-320)) ((?X . #$node-53) (?Y . #$node-254)) ((?X . #$node-254) (?Y . #$node-254)) ... ) :EXHAUST-TOTAL NIL (13.743 13.843 0.009180360721442887 0.059 1497) CYC(5): (new-cyc-query (LIST #$sg-predicate '?X '?Y) #$BaseKB (LIST :MAX-TRANSFORMATION-DEPTH nil :metrics (LIST :total-time :complete-total-time :time-per-answer :time-to-first-answer :answer-count)) ) [Time: 10.88 secs] (((?X . #$node-87) (?Y . #$node-425)) ((?X . #$node-425) (?Y . #$node-425)) ((?X . #$node-87) (?Y . #$node-87)) ((?X . #$node-129) (?Y . #$node-256)) ((?X . #$node-256) (?Y . #$node-256)) ((?X . #$node-129) (?Y . #$node-129)) ((?X . #$node-96) (?Y . #$node-151)) ((?X . #$node-151) (?Y . #$node-151)) ((?X . #$node-96) (?Y . #$node-96)) ((?X . #$node-29) (?Y . #$node-143)) ((?X . #$node-143) (?Y . #$node-143)) ((?X . #$node-29) (?Y . #$node-29)) ((?X . #$node-324) (?Y . #$node-489)) ((?X . #$node-489) (?Y . #$node-489)) ((?X . #$node-324) (?Y . #$node-324)) ((?X . #$node-311) (?Y . #$node-372)) ((?X . #$node-372) (?Y . #$node-372)) ((?X . #$node-311) (?Y . #$node-311)) ((?X . #$node-144) (?Y . #$node-363)) ((?X . #$node-363) (?Y . #$node-363)) ((?X . #$node-144) (?Y . #$node-144)) ((?X . #$node-132) (?Y . #$node-394)) ((?X . #$node-394) (?Y . #$node-394)) ((?X . #$node-132) (?Y . #$node-132)) ((?X . #$node-53) (?Y . #$node-443)) ((?X . #$node-443) (?Y . #$node-443)) ((?X . #$node-53) (?Y . #$node-53)) ((?X . #$node-374) (?Y . #$node-497)) ((?X . #$node-497) (?Y . #$node-497)) ((?X . #$node-374) (?Y . #$node-374)) ((?X . #$node-257) (?Y . #$node-286)) ((?X . #$node-286) (?Y . #$node-286)) ((?X . #$node-257) (?Y . #$node-257)) ((?X . #$node-136) (?Y . #$node-480)) ((?X . #$node-480) (?Y . #$node-480)) ((?X . #$node-136) (?Y . #$node-136)) ((?X . #$node-85) (?Y . #$node-215)) ((?X . #$node-215) (?Y . #$node-215)) ((?X . #$node-85) (?Y . #$node-85)) ((?X . #$node-28) (?Y . #$node-105)) ((?X . #$node-105) (?Y . #$node-105)) ((?X . #$node-28) (?Y . #$node-28)) ((?X . #$node-72) (?Y . #$node-104)) ((?X . #$node-104) (?Y . #$node-104)) ((?X . #$node-72) (?Y . #$node-72)) ((?X . #$node-118) (?Y . #$node-192)) ((?X . #$node-192) (?Y . #$node-192)) ((?X . #$node-118) (?Y . #$node-118)) ((?X . #$node-279) (?Y . #$node-313)) ((?X . #$node-313) (?Y . #$node-313)) ((?X . #$node-279) (?Y . #$node-279)) ((?X . #$node-206) (?Y . #$node-387)) ((?X . #$node-387) (?Y . #$node-387)) ((?X . #$node-206) (?Y . #$node-206)) ((?X . #$node-250) (?Y . #$node-414)) ((?X . #$node-414) (?Y . #$node-414)) ((?X . #$node-250) (?Y . #$node-250)) ((?X . #$node-54) (?Y . #$node-210)) ((?X . #$node-210) (?Y . #$node-210)) ((?X . #$node-54) (?Y . #$node-54)) ((?X . #$node-39) (?Y . #$node-169)) ((?X . #$node-169) (?Y . #$node-169)) ((?X . #$node-39) (?Y . #$node-39)) ((?X . #$node-75) (?Y . #$node-352)) ((?X . #$node-352) (?Y . #$node-352)) ((?X . #$node-75) (?Y . #$node-75)) ((?X . #$node-56) (?Y . #$node-482)) ((?X . #$node-482) (?Y . #$node-482)) ((?X . #$node-56) (?Y . #$node-56)) ((?X . #$node-464) (?Y . #$node-472)) ((?X . #$node-472) (?Y . #$node-472)) ((?X . #$node-464) (?Y . #$node-464)) ((?X . #$node-80) (?Y . #$node-492)) ((?X . #$node-492) (?Y . #$node-492)) ((?X . #$node-80) (?Y . #$node-80)) ((?X . #$node-131) (?Y . #$node-368)) ((?X . #$node-368) (?Y . #$node-368)) ((?X . #$node-131) (?Y . #$node-131)) ((?X . #$node-54) (?Y . #$node-137)) ((?X . #$node-137) (?Y . #$node-137)) ((?X . #$node-42) (?Y . #$node-288)) ((?X . #$node-288) (?Y . #$node-288)) ((?X . #$node-42) (?Y . #$node-42)) ((?X . #$node-186) (?Y . #$node-186)) ((?X . #$node-233) (?Y . #$node-499)) ((?X . #$node-499) (?Y . #$node-499)) ((?X . #$node-233) (?Y . #$node-233)) ((?X . #$node-179) (?Y . #$node-238)) ((?X . #$node-238) (?Y . #$node-238)) ((?X . #$node-179) (?Y . #$node-179)) ((?X . #$node-38) (?Y . #$node-357)) ((?X . #$node-357) (?Y . #$node-357)) ((?X . #$node-38) (?Y . #$node-38)) ((?X . #$node-216) (?Y . #$node-462)) ((?X . #$node-462) (?Y . #$node-462)) ((?X . #$node-216) (?Y . #$node-216)) ((?X . #$node-39) (?Y . #$node-320)) ((?X . #$node-320) (?Y . #$node-320)) ((?X . #$node-53) (?Y . #$node-254)) ((?X . #$node-254) (?Y . #$node-254)) ... ) :EXHAUST-TOTAL NIL (10.88 10.88 0.007267869071476286 0 1497) CYC(6): ----- Original Message ----- From: Paul Fodor To: OpenCyc developers Sent: Friday, August 15, 2008 2:03 PM Subject: Re: [OpenCyc-devel] Cyc engine Dear Sir, We tested the recursive same generation test for smaller tests (500 nodes) than our initial tests and it is working. For 1000 nodes it stops working with the error "Implementation error: Recursive error" Do you know any option that could make it run for bigger tests (such as, the one that I put online for you: http://www.lmc.cs.sunysb.edu/~tests/cyc_paul/sg_cyc_without_cycle_01.cyc ) ? For 500 node, we get: CYC(1): (load "sg_cyc_500nodes.cyc") T CYC(2): (new-cyc-query (LIST #$sg-predicate '?X '?Y) #$BaseKB (LIST :MAX-TRANSFORMATION-DEPTH nil :metrics (LIST :total-time :complete-total-time :time-per-answer :time-to-first-answer :answer-count)) ) (((?X . #$node-190) (?Y . #$node-190)) ((?X . #$node-374) (?Y . #$node-374)) ((?X . #$node-491) ...) :EXHAUST-TOTAL NIL (7.90625 7.921875 0.007743633692458374 0.015625 1021) CYC(3): Please tell me if there is any option to make it work for bigger examples. Regards, thank you, Paul. On Thu, Aug 14, 2008 at 9:36 PM, Paul Fodor <fod...@gm...> wrote: Dear Sir, Our performance tests failed to execute in the OpenCyc system. They work for small tests (a couple of constants), but they fail to work for large number of constants: 50K,100K, 250K, 500K, 1 million. For instance, our smallest test: http://www.lmc.cs.sunysb.edu/~tests/cyc_paul/sg_cyc_without_cycle_01.cyc with the query for all the tuples sg-predicate: (new-cyc-query (LIST #$sg-predicate '?X '?Y) #$BaseKB (LIST :MAX-TRANSFORMATION-DEPTH nil :metrics (LIST :total-time :complete-total-time :time-per-answer :time-to-first-answer :answer-count)) ) fails after a few minutes with the message: "Implementation error: Recursive error". On OpenCyc: $ run-cyc.sh CYC(1): (load "sg_cyc_without_cycle_01.cyc") T CYC(2): (new-cyc-query (LIST #$sg-predicate '?X '?Y) #$BaseKB (LIST :MAX-TRANSFORMATION-DEPTH nil :metrics (LIST :total-time :complete-total-time :time-per-answer :time-to-first-answer :answer-count))) Implementation error: Recursive error This test does the following: we have two kinds of facts: par/2 and sib/2, where par(X,Y) means that the parent of X is Y and sib(X,Y) means that the X is sibling of Y. The rules are the following: - every node X in the graph is in the same generation sg/2 with itself: sg(X,X) :- par(X,_);par(_,X);sib(X,_);sib(_,X), - if two nodes are siblings then they are in the same generation: sg(X,Y) :- sib(X,Y). - if two nodes are in hte same generation then their parents are in the same generation: sg(X,Y) :- par(X,Z), sg(Z,Z1), par(Y,Z1). The "sg_cyc_without_cycle_01.cyc" example doesn't have any cycles in the data structure and other systems that we tested (XSB, Yap, dlv, ontobroker) solve it (finds all solutions) in about a second. Please tell us if there is anything that we can do. Regards, Paul Fodor ------------------------------------------------------------------------------ ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ ------------------------------------------------------------------------------ _______________________________________________ OpenCyc-devel mailing list Ope...@li... https://lists.sourceforge.net/lists/listinfo/opencyc-devel |