[05a128]: doc / html / overview / knowledge_bases / rule_bases.html  Maximize  Restore  History

Download this file

150 lines (138 with data), 8.2 kB

  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
143
144
145
146
147
148
149
<!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>Rule Bases</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">
&nbsp;
</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>&gt;</li>
<li><a href="../index.html">Overview</a></li>
<li>&gt;</li>
<li><a href="index.html">Knowledge Bases</a></li>
<li>&gt;</li>
<li>Rule Bases</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="title-nav"><a href="../index.html">Overview</a></div><div class="nav-branch">
<div class="title-nav"><a href="index.html">Knowledge Bases</a></div><div class="nav-branch">
<div class="normal-nav"><a href="fact_bases.html">Fact Bases</a></div>
<div class="normal-nav"><a href="rule_bases.html">Rule Bases</a></div>
<div class="normal-nav"><a href="special.html">Special</a></div>
</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="../../installing_pyke.html">Installing Pyke</a></div>
<div class="normal-nav"><a href="../../using_pyke.html">Using Pyke</a></div>
<div class="normal-nav"><a href="../../krb_syntax/index.html">KRB Syntax</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"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=207724&amp;type=3" width="125" height="37" border="0" alt="SourceForge.net Logo" /></a> -->
<a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=207724&amp;type=4" width="125" height="37" border="0" alt="SourceForge.net Logo" /></a>
</div>
</td>
<td id="main-td">
<div id="main">
<a name="startcontent" id="startcontent"></a>
<div class="document" id="rule-bases">
<h1 class="title">Rule Bases</h1>
<p>Rule bases are collections of <a class="reference" href="../rules/index.html">rules</a>. A single rule base may contain both
<a class="reference" href="../rules/forward_chaining.html">forward-chaining</a> and <a class="reference" href="../rules/backward_chaining.html">backward-chaining</a> rules.</p>
<p>Rule bases are created by writing a <em>knowledge rule base</em> (or <a class="reference" href="../../krb_syntax/index.html">.krb</a>) file
with your favorite text editor. Place all of your <a class="reference" href="../../krb_syntax/index.html">.krb files</a> into a
directory structure. Then <a class="reference" href="../../using_pyke.html#initializing-pyke">load</a> this directory in your python program.</p>
<p>The <a class="reference" href="../../using_pyke.html#initializing-pyke">load</a> will walk the directory structure recursively and
automatically compile any <a class="reference" href="../../krb_syntax/index.html">.krb files</a> that have changed into python source
files. These python modules are then automatically imported to define the
rule base.</p>
<p>The name of each rule base is the filename of the <a class="reference" href="../../krb_syntax/index.html">.krb file</a> (with the .krb
suffix removed). This must be a legal python identifier.</p>
<div class="section">
<h1><a id="rule-base-activation" name="rule-base-activation">Rule Base Activation</a></h1>
<p><a class="reference" href="../../using_pyke.html#initializing-pyke">Loading</a> the rule bases only makes the rule bases available for use. It
does not automatically <a class="reference" href="../../using_pyke.html#setting-up-each-case">activate</a> any rule bases. This must be done by your
python program. Your program may decide to <a class="reference" href="../../using_pyke.html#setting-up-each-case">activate</a> different rule bases
in different situations. Additionally,
<a class="reference" href="../rules/forward_chaining.html">forward-chaining</a> <a class="reference" href="../rules/index.html">rules</a> may be used to <a class="reference" href="../../using_pyke.html#setting-up-each-case">activate</a> more specific rule bases,
based on their inferencing.</p>
</div>
<div class="section">
<h1><a id="rule-base-inheritance" name="rule-base-inheritance">Rule Base Inheritance</a></h1>
<p>Rule bases use single inheritance to <a class="reference" href="../../krb_syntax/index.html#extending-clause">inherit</a> the <a class="reference" href="../rules/index.html">rules</a> from another rule
base. This can go on to any depth. Both <a class="reference" href="../rules/forward_chaining.html">forward-chaining</a> and
<a class="reference" href="../rules/backward_chaining.html">backward-chaining</a> <a class="reference" href="../rules/index.html">rules</a> are <a class="reference" href="../../krb_syntax/index.html#extending-clause">inherited</a>.</p>
</div>
<div class="section">
<h1><a id="rule-base-categories" name="rule-base-categories">Rule Base Categories</a></h1>
<p>Each root rule base implicitly defines a <em>rule base category</em>.
Each rule base category may only have one active rule base. Once a rule
base has been <a class="reference" href="../../using_pyke.html#setting-up-each-case">activated</a> in a rule base category, only children of the
currently active rule base may be <a class="reference" href="../../using_pyke.html#setting-up-each-case">activated</a> from that point on.
Because these children <a class="reference" href="../../krb_syntax/index.html#extending-clause">inherit</a> the <a class="reference" href="../rules/index.html">rules</a> of the currently active rule base;
<a class="reference" href="../../using_pyke.html#setting-up-each-case">activating</a> rule bases only adds new <a class="reference" href="../rules/index.html">rules</a>, and doesn't take any away.</p>
</div>
</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="fact_bases.html">Fact Bases</a><p>Explanation of facts and fact bases.</p>
</div>
<div class="right-item"><a href="rule_bases.html">Rule Bases</a><p>Explanation of rule bases, overview of .krb files and how these files
are of compiled and loaded into your python program.</p>
</div>
<div class="right-item"><a href="special.html">Special</a><p>Explanation of the special knowledge base.</p>
</div>
</div>
</td>
</tr>
</tbody>
<tfoot id="foot">
<tr id="foot2">
<td id="copyright" colspan="3">
Copyright &copy; 2007 Bruce Frederiksen
</td>
</tr>
</tfoot>
</table>
<div id="last-modified">
Page last modified Thu, Nov 08 2007.
</div>
</body>
</html>

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:





No, thanks