1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<title>Logic Programming Tutorial</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" href="../stylesheets/pyke.css" type="text/css" />
</head>
<body>
<table id="page-table">
<thead class="head">
<tr id="header1"><th id="header" colspan="3">
</th></tr>
<tr id="header2">
<th id="crumb-left"></th>
<th id="crumb-line">
<div id="nav">
<ul>
<li><a href="../index.html">Home</a></li>
<li>></li>
<li>Logic Programming</li>
</ul>
</div>
</th>
<th id="crumb-right"></th>
</tr>
</thead>
<tbody id="body">
<tr id="body-tr">
<td id="left-nav">
<div id="left-nav-div">
<div class="title-nav"><a href="../index.html">Home</a></div><div class="nav-branch">
<div class="normal-nav"><a href="../about_pyke/index.html">About Pyke</a></div>
<div class="title-nav"><a href="index.html">Logic Programming</a></div><div class="nav-branch">
<div class="normal-nav"><a href="statements.html">Statements</a></div>
<div class="normal-nav"><a href="pattern_matching/index.html">Pattern Matching</a></div>
<div class="normal-nav"><a href="rules/index.html">Rules</a></div>
<div class="normal-nav"><a href="plans.html">Plans</a></div>
</div>
<div class="normal-nav"><a href="../knowledge_bases/index.html">Knowledge Bases</a></div>
<div class="normal-nav"><a href="../pyke_syntax/index.html">Pyke Syntax</a></div>
<div class="normal-nav"><a href="../using_pyke/index.html">Using Pyke</a></div>
<div class="normal-nav"><a href="../examples.html">Examples</a></div>
<div class="normal-nav"><a href="../PyCon2008-paper.html">PyCon 2008 Paper</a></div>
</div>
</div>
<div id="icons">
<div id="project-page">
<a href="http://sourceforge.net/projects/pyke/">Pyke Project Page</a>
</div>
Please Make a Donation:<br />
<a href="http://sourceforge.net/donate/index.php?group_id=207724">
<img src="http://images.sourceforge.net/images/project-support.jpg"
width="88" height="32" border="0"
alt="Support This Project" /> </a> <br /><br />
Hosted by: <br />
<a href="http://sourceforge.net/projects/pyke">
<img src="http://sflogo.sourceforge.net/sflogo.php?group_id=207724&type=14"
width="150" height="40"
alt="Get Python Knowledge Engine (PyKE) at SourceForge.net. Fast, secure and Free Open Source software downloads" /></a>
</div>
</td>
<td id="main-td">
<div id="main">
<a name="startcontent" id="startcontent"></a>
<div class="document" id="logic-programming-tutorial">
<h1 class="title">Logic Programming Tutorial</h1>
<p>Pyke is an inference engine that applies <a class="reference external" href="rules/index.html">rules</a> to <a class="reference external" href="../knowledge_bases/fact_bases.html#facts">facts</a> to establish
additional facts (through <a class="reference external" href="rules/forward_chaining.html">forward-chaining</a> rules), and/or to prove <em>goals</em>
and optionally assemble Python functions
into customized call graphs, called <a class="reference external" href="plans.html">plans</a> (through <a class="reference external" href="rules/backward_chaining.html">backward-chaining</a> rules).</p>
<p>Pyke may then be <a class="reference external" href="../using_pyke/index.html#using-different-facts-for-different-cases">reset</a>, deleting the last set of facts, so that the cycle
may be repeated. For each cycle a different rule base may be <a class="reference external" href="../using_pyke/index.html#getting-started">activated</a>.</p>
<p>The <a class="reference external" href="plans.html">plan</a> capability allows the postponement of code execution until the
top-level goal has been completely proven. This shields the code from
blind alleys and the <a class="reference external" href="rules/index.html#backtracking">backtracking</a> that occurs within the rules.</p>
<p>Once a <a class="reference external" href="plans.html">plan</a> has been created, it may be executed multiple times with different
arguments. It may also be <a class="reference external" href="../using_pyke/other_functions.html#running-and-pickling-plans">pickled</a>, and later run again only requiring one
small Pyke module.</p>
<p>Pyke also provides an end user <a class="reference external" href="../knowledge_bases/question_bases.html">question</a> capability, as well as the capability
to run <a class="reference external" href="../knowledge_bases/special.html#running-commands">commands</a> on the local system to guide the inferencing.</p>
<!-- ADD_LINKS MARKER -->
</div>
<!-- <div id="return-to-top">
<a href="#">Return to Top</a>
</div>
-->
</div>
</td>
<td id="right-nav">
<div id="right-nav-div">
<h3>More:</h3>
<div class="right-item"><a href="statements.html">Statements</a><p>What is a <em>statement</em> in Pyke?</p>
</div>
<div class="right-item"><a href="pattern_matching/index.html">Pattern Matching</a><p>Explanation of <em>pattern matching</em> and <em>pattern variables</em>.</p>
</div>
<div class="right-item"><a href="rules/index.html">Rules</a><p>Explanation of <em>rules</em>, <em>forward-chaining</em> and <em>backward-chaining</em>.</p>
</div>
<div class="right-item"><a href="plans.html">Plans and Automatic Program Generation</a><p>Explanation of <em>plans</em> and automatic program generation.</p>
</div>
</div>
</td>
</tr>
</tbody>
<tfoot id="foot">
<tr id="foot2">
<td id="copyright" colspan="3">
Copyright © 2007-2009 Bruce Frederiksen
</td>
</tr>
</tfoot>
</table>
<div id="last-modified">
Page last modified
Thu, May 14 2009.
</div>
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ?
"https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost +
"google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
try {
var pageTracker = _gat._getTracker("UA-6310805-1");
pageTracker._trackPageview();
} catch(err) {}
</script>
</body>
</html>
|