PLN Examples
From OpenCog
PLN Example file locations
- opencog/python/pln_examples.py
- tests/reasoning/pln/targets
Step 1. Download, Compile & Run
For details on how to download and install OpenCog, see Installing OpenCog for Noobs
For details on how to run the CogServer, see Starting the Cogserver.
On starting the CogServer, you should see the following output:
Using default config at /usr/local/etc/opencog.conf Listening on port 17001
The terminal window you just used to start the CogServer shall be dubbed 'shell1' for the remainder of this tutorial.
Open a new terminal window, which shall be referred to as 'shell2' for the remainder of this tutorial.
To prevent errors while running the commands below, you should run the following command to install some prerequisites:
sudo apt-get install ipython python-networkx
Now you may continue.
Step 2. Load PLN Shell
shell2
telnet localhost 17001
Expected output:
Trying 192.168.1.91... Connected to 192.168.1.91. Escape character is '^]'. opencog>
shell2
loadpy pyshell
Expected Output:
No subclasses of opencog.cogserver.MindAgent found. Python Requests found: shell. opencog>
shell2
pyshell.shell
Expected output in shell1
[~/pln-experiments/bin]|1>
Step 3. Run PLN Tests
shell1
import pln_examples pln_examples.test_all(a)
Expected output shell1
bc/new/pathfinding_test.conf (cog-handle target) ../tests/reasoning/pln/scm/new/pathfinding.scm [EvaluationLink <agent_location,[ListLink <at (42, 73, 98)> 0.0 0.0]> 0.0 0.0] Existing target truth values: [] >>> -1000000000 $WIN $WIN >>> -65 (EvaluationLink agent_location:PredicateNode (ListLink at (42, 73, 98):ConceptNode)) (EvaluationLink agent_location:PredicateNode (ListLink at (42, 73, 98):ConceptNode)) [11] propogate_result ModusPonens (EvaluationLink agent_location:PredicateNode (ListLink at (42, 73, 98):ConceptNode)) [0.000000,0.000000=0.000000] :- (ImplicationLink (AndLink (EvaluationLink neighbor:PredicateNode (ListLink at (42, 73, 98):ConceptNode $1000092)) (EvaluationLink agent_location:PredicateNode (ListLink $1000092))) (EvaluationLink agent_location:PredicateNode (ListLink at (42, 73, 98):ConceptNode))) //(AndLink (EvaluationLink neighbor:PredicateNode (ListLink at (42, 73, 98):ConceptNode $1000092)) (EvaluationLink agent_location:PredicateNode (ListLink $1000092))) // ########check_premises ModusPonens (EvaluationLink agent_location:PredicateNode (ListLink at (42, 73, 98):ConceptNode)) [0.000000,0.000000=0.000000] :- (ImplicationLink (AndLink (EvaluationLink neighbor:PredicateNode (ListLink at (42, 73, 98):ConceptNode $1000092)) (EvaluationLink agent_location:PredicateNode (ListLink $1000092))) (EvaluationLink agent_location:PredicateNode (ListLink at (42, 73, 98):ConceptNode))) //(AndLink (EvaluationLink neighbor:PredicateNode (ListLink at (42, 73, 98):ConceptNode $1000092)) (EvaluationLink agent_location:PredicateNode (ListLink $1000092))) // False >>> -65 (ImplicationLink $1 (EvaluationLink agent_location:PredicateNode (ListLink at (42, 73, 98):ConceptNode))) >>> -65 (ImplicationLink (AndLink (EvaluationLink neighbor:PredicateNode (ListLink at (42, 73, 98):ConceptNode $1)) (EvaluationLink agent_location:PredicateNode (ListLink $1))) (EvaluationLink agent_location:PredicateNode (ListLink at (42, 73, 98):ConceptNode))) >>> -65 (AndLink (EvaluationLink neighbor:PredicateNode (ListLink at (42, 73, 98):ConceptNode $1)) (EvaluationLink agent_location:PredicateNode (ListLink $1))) (ImplicationLink $1 (EvaluationLink agent_location:PredicateNode (ListLink at (42, 73, 98):ConceptNode))) (ImplicationLink (AndLink (EvaluationLink neighbor:PredicateNode (ListLink at (42, 73, 98):ConceptNode $1)) (EvaluationLink agent_location:PredicateNode (ListLink $1))) (EvaluationLink agent_location:PredicateNode (ListLink at (42, 73, 98):ConceptNode))) (AndLink (EvaluationLink neighbor:PredicateNode (ListLink at (42, 73, 98):ConceptNode $1)) (EvaluationLink agent_location:PredicateNode (ListLink $1))) match_neighbors (EvaluationLink neighbor:PredicateNode (ListLink at (42, 73, 98):ConceptNode $1000336)) [29] propogate_result And (AndLink (EvaluationLink neighbor:PredicateNode (ListLink at (42, 73, 98):ConceptNode at (41, 73, 98):ConceptNode)) (EvaluationLink agent_location:PredicateNode (ListLink at (41, 73, 98):ConceptNode))) [0.000000,0.000000=0.000000] :- (EvaluationLink neighbor:PredicateNode (ListLink at (42, 73, 98):ConceptNode at (41, 73, 98):ConceptNode)) //(EvaluationLink agent_location:PredicateNode (ListLink at (41, 73, 98):ConceptNode)) // ... Action plan (if applicable): [] PASSED Passed 1 out of 1 tests [~/pln-experiments/bin]|3>