PLN Examples

From OpenCog

Jump to: navigation, search

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>