Added clockwork picture, minor change to API.

This commit is contained in:
Simon Brooke 2020-04-22 23:42:20 +01:00
parent f59e9a1b9d
commit 50e8d037ad
No known key found for this signature in database
GPG key ID: A7A4F18D1D4DF987
9 changed files with 19 additions and 10 deletions

View file

@ -2,7 +2,7 @@
[Simon Brooke](mailto:simon@journeyman.cc)
> Hey, what IS truth, man? [Beeblebrox, quoted in [Adams, 1978]]
> "Hey, what IS truth, man?" Beeblebrox, Z, quoted in [Adams, 1978]
*This title is, of course, a respectful nod to Feyerabend's Against Method*

View file

@ -4,13 +4,15 @@ Machine inference automated reasoning, the core of what gets called
Artificial Intellegence has ab initio been based on the assumption
that the purpose of reasoning was to preserve truth. It is because this
assumption is false that the project has thus far failed to bear fruit,
that Allan Turing's eponymous test has yet to be passed.
that [Allan Turing's eponymous test](https://en.wikipedia.org/wiki/Turing_test) has yet to be passed.
![Clockwork minds](../img/clockwork.png)
Of course it is possible to build machines which, within the constraints
of finite store, can accurately compute theora of first order predicate
calculus ad nauseam but such machines do not display behaviour which is
convincingly intelligent. They are cold and mechanical; we do not
recognise ourselves in them. Like the Girl in the Fireplace's beautiful
recognise ourselves in them. Like the [Girl in the Fireplace](https://en.wikipedia.org/wiki/The_Girl_in_the_Fireplace)'s beautiful
clocks, they are precisely inhuman.
As Turing's test itself shows, intelligence is a hegemonic term, a term

View file

@ -3,7 +3,7 @@
<html><head><meta charset="UTF-8" /><title>Against Truth</title><link rel="stylesheet" type="text/css" href="css/default.css" /><link rel="stylesheet" type="text/css" href="css/highlight.css" /><script type="text/javascript" src="js/highlight.min.js"></script><script type="text/javascript" src="js/jquery.min.js"></script><script type="text/javascript" src="js/page_effects.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div id="header"><h2>Generated by <a href="https://github.com/weavejester/codox">Codox</a></h2><h1><a href="index.html"><span class="project-title"><span class="project-name">Wildwood</span> <span class="project-version">0.1.0-SNAPSHOT</span></span></a></h1></div><div class="sidebar primary"><h3 class="no-link"><span class="inner">Project</span></h3><ul class="index-link"><li class="depth-1 "><a href="index.html"><div class="inner">Index</div></a></li></ul><h3 class="no-link"><span class="inner">Topics</span></h3><ul><li class="depth-1 current"><a href="AgainstTruth.html"><div class="inner"><span>Against Truth</span></div></a></li><li class="depth-1 "><a href="Analysis.html"><div class="inner"><span>Analysis</span></div></a></li><li class="depth-1 "><a href="Arboretum.html"><div class="inner"><span>Arboretum</span></div></a></li><li class="depth-1 "><a href="Arden.html"><div class="inner"><span>Arden</span></div></a></li><li class="depth-1 "><a href="Bialowieza.html"><div class="inner"><span>Bialowieza</span></div></a></li><li class="depth-1 "><a href="Errata.html"><div class="inner"><span>Errata</span></div></a></li><li class="depth-1 "><a href="Experience.html"><div class="inner"><span>Experience</span></div></a></li><li class="depth-1 "><a href="History.html"><div class="inner"><span>History</span></div></a></li><li class="depth-1 "><a href="Implementing.html"><div class="inner"><span>Implementing</span></div></a></li><li class="depth-1 "><a href="KnacqTools.html"><div class="inner"><span>KnacqTools</span></div></a></li><li class="depth-1 "><a href="Manifesto.html"><div class="inner"><span>Manifesto</span></div></a></li><li class="depth-1 "><a href="OnHylasAndPhilonus.html"><div class="inner"><span>On the First Dialogue of Hylas and Philonous</span></div></a></li><li class="depth-1 "><a href="PredicateSubtext.html"><div class="inner"><span>On the subtext of a predicate</span></div></a></li><li class="depth-1 "><a href="TheProblem.html"><div class="inner"><span>The Problem</span></div></a></li><li class="depth-1 "><a href="intro.html"><div class="inner"><span>Introduction to Wildwood</span></div></a></li></ul><h3 class="no-link"><span class="inner">Namespaces</span></h3><ul><li class="depth-1"><div class="no-link"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>wildwood</span></div></div></li><li class="depth-2 branch"><a href="wildwood.advocate.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>advocate</span></div></a></li><li class="depth-2 branch"><a href="wildwood.bialowieza.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>bialowieza</span></div></a></li><li class="depth-2 branch"><a href="wildwood.knowledge-accessor.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>knowledge-accessor</span></div></a></li><li class="depth-2"><a href="wildwood.schema.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>schema</span></div></a></li></ul></div><div class="document" id="content"><div class="doc"><div class="markdown"><h1><a href="#against-truth" name="against-truth"></a>Against Truth</h1>
<p><a href="mailto:simon@journeyman.cc">Simon Brooke</a></p>
<blockquote>
<p>Hey, what IS truth, man? [Beeblebrox, quoted in [Adams, 1978]]</p>
<p>Hey, what IS truth, man? Beeblebrox, Z, quoted in [Adams, 1978]</p>
</blockquote>
<p><em>This title is, of course, a respectful nod to Feyerabends Against Method</em></p>
<h2><a href="#introduction" name="introduction"></a>Introduction</h2>

View file

@ -1,8 +1,9 @@
<!DOCTYPE html PUBLIC ""
"">
<html><head><meta charset="UTF-8" /><title>Manifesto</title><link rel="stylesheet" type="text/css" href="css/default.css" /><link rel="stylesheet" type="text/css" href="css/highlight.css" /><script type="text/javascript" src="js/highlight.min.js"></script><script type="text/javascript" src="js/jquery.min.js"></script><script type="text/javascript" src="js/page_effects.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div id="header"><h2>Generated by <a href="https://github.com/weavejester/codox">Codox</a></h2><h1><a href="index.html"><span class="project-title"><span class="project-name">Wildwood</span> <span class="project-version">0.1.0-SNAPSHOT</span></span></a></h1></div><div class="sidebar primary"><h3 class="no-link"><span class="inner">Project</span></h3><ul class="index-link"><li class="depth-1 "><a href="index.html"><div class="inner">Index</div></a></li></ul><h3 class="no-link"><span class="inner">Topics</span></h3><ul><li class="depth-1 "><a href="AgainstTruth.html"><div class="inner"><span>Against Truth</span></div></a></li><li class="depth-1 "><a href="Analysis.html"><div class="inner"><span>Analysis</span></div></a></li><li class="depth-1 "><a href="Arboretum.html"><div class="inner"><span>Arboretum</span></div></a></li><li class="depth-1 "><a href="Arden.html"><div class="inner"><span>Arden</span></div></a></li><li class="depth-1 "><a href="Bialowieza.html"><div class="inner"><span>Bialowieza</span></div></a></li><li class="depth-1 "><a href="Errata.html"><div class="inner"><span>Errata</span></div></a></li><li class="depth-1 "><a href="Experience.html"><div class="inner"><span>Experience</span></div></a></li><li class="depth-1 "><a href="History.html"><div class="inner"><span>History</span></div></a></li><li class="depth-1 "><a href="Implementing.html"><div class="inner"><span>Implementing</span></div></a></li><li class="depth-1 "><a href="KnacqTools.html"><div class="inner"><span>KnacqTools</span></div></a></li><li class="depth-1 current"><a href="Manifesto.html"><div class="inner"><span>Manifesto</span></div></a></li><li class="depth-1 "><a href="OnHylasAndPhilonus.html"><div class="inner"><span>On the First Dialogue of Hylas and Philonous</span></div></a></li><li class="depth-1 "><a href="PredicateSubtext.html"><div class="inner"><span>On the subtext of a predicate</span></div></a></li><li class="depth-1 "><a href="TheProblem.html"><div class="inner"><span>The Problem</span></div></a></li><li class="depth-1 "><a href="intro.html"><div class="inner"><span>Introduction to Wildwood</span></div></a></li></ul><h3 class="no-link"><span class="inner">Namespaces</span></h3><ul><li class="depth-1"><div class="no-link"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>wildwood</span></div></div></li><li class="depth-2 branch"><a href="wildwood.advocate.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>advocate</span></div></a></li><li class="depth-2 branch"><a href="wildwood.bialowieza.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>bialowieza</span></div></a></li><li class="depth-2 branch"><a href="wildwood.knowledge-accessor.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>knowledge-accessor</span></div></a></li><li class="depth-2"><a href="wildwood.schema.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>schema</span></div></a></li></ul></div><div class="document" id="content"><div class="doc"><div class="markdown"><h1><a href="#manifesto" name="manifesto"></a>Manifesto</h1>
<p>Machine inference automated reasoning, the core of what gets called Artificial Intellegence has ab initio been based on the assumption that the purpose of reasoning was to preserve truth. It is because this assumption is false that the project has thus far failed to bear fruit, that Allan Turings eponymous test has yet to be passed.</p>
<p>Of course it is possible to build machines which, within the constraints of finite store, can accurately compute theora of first order predicate calculus ad nauseam but such machines do not display behaviour which is convincingly intelligent. They are cold and mechanical; we do not recognise ourselves in them. Like the Girl in the Fireplaces beautiful clocks, they are precisely inhuman.</p>
<p>Machine inference automated reasoning, the core of what gets called Artificial Intellegence has ab initio been based on the assumption that the purpose of reasoning was to preserve truth. It is because this assumption is false that the project has thus far failed to bear fruit, that <a href="https://en.wikipedia.org/wiki/Turing_test">Allan Turings eponymous test</a> has yet to be passed.</p>
<p><img src="../img/clockwork.png" alt="Clockwork minds" /></p>
<p>Of course it is possible to build machines which, within the constraints of finite store, can accurately compute theora of first order predicate calculus ad nauseam but such machines do not display behaviour which is convincingly intelligent. They are cold and mechanical; we do not recognise ourselves in them. Like the <a href="https://en.wikipedia.org/wiki/The_Girl_in_the_Fireplace">Girl in the Fireplace</a>s beautiful clocks, they are precisely inhuman.</p>
<p>As Turings test itself shows, intelligence is a hegemonic term, a term laden with implicit propaganda. A machine is intelligent if it can persuade a person that it is a person. By intelligent we dont mean capable of perfect reasoning. We mean like us; and in meaning like us we are smuggling under the covers, as semantic baggage, the claim that we ourselves are intelligent.</p>
<p>I might argue that perfect reasoning has little utility in a messy world, that to cope with the messiness of a messy world one needs messy reasoning. I shall not do so: the core of my argument is not that there is principle and value in the mode of reasoning that I propose, but precisely that it is ruthlessly unprincipled.</p>
<p>In this thesis I shall argue that the purpose of real world argument is not to preserve truth but to achieve hegemony: not to enlighten but to persuade, not to inform but to convince. This thesis succeeds not if in some arid, clockwork, mechanical sense I am right, but if, having read it, you believe that I am.</p>

View file

@ -1,7 +1,7 @@
<!DOCTYPE html PUBLIC ""
"">
<html><head><meta charset="UTF-8" /><title>wildwood.advocate documentation</title><link rel="stylesheet" type="text/css" href="css/default.css" /><link rel="stylesheet" type="text/css" href="css/highlight.css" /><script type="text/javascript" src="js/highlight.min.js"></script><script type="text/javascript" src="js/jquery.min.js"></script><script type="text/javascript" src="js/page_effects.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div id="header"><h2>Generated by <a href="https://github.com/weavejester/codox">Codox</a></h2><h1><a href="index.html"><span class="project-title"><span class="project-name">Wildwood</span> <span class="project-version">0.1.0-SNAPSHOT</span></span></a></h1></div><div class="sidebar primary"><h3 class="no-link"><span class="inner">Project</span></h3><ul class="index-link"><li class="depth-1 "><a href="index.html"><div class="inner">Index</div></a></li></ul><h3 class="no-link"><span class="inner">Topics</span></h3><ul><li class="depth-1 "><a href="AgainstTruth.html"><div class="inner"><span>Against Truth</span></div></a></li><li class="depth-1 "><a href="Analysis.html"><div class="inner"><span>Analysis</span></div></a></li><li class="depth-1 "><a href="Arboretum.html"><div class="inner"><span>Arboretum</span></div></a></li><li class="depth-1 "><a href="Arden.html"><div class="inner"><span>Arden</span></div></a></li><li class="depth-1 "><a href="Bialowieza.html"><div class="inner"><span>Bialowieza</span></div></a></li><li class="depth-1 "><a href="Errata.html"><div class="inner"><span>Errata</span></div></a></li><li class="depth-1 "><a href="Experience.html"><div class="inner"><span>Experience</span></div></a></li><li class="depth-1 "><a href="History.html"><div class="inner"><span>History</span></div></a></li><li class="depth-1 "><a href="Implementing.html"><div class="inner"><span>Implementing</span></div></a></li><li class="depth-1 "><a href="KnacqTools.html"><div class="inner"><span>KnacqTools</span></div></a></li><li class="depth-1 "><a href="Manifesto.html"><div class="inner"><span>Manifesto</span></div></a></li><li class="depth-1 "><a href="OnHylasAndPhilonus.html"><div class="inner"><span>On the First Dialogue of Hylas and Philonous</span></div></a></li><li class="depth-1 "><a href="PredicateSubtext.html"><div class="inner"><span>On the subtext of a predicate</span></div></a></li><li class="depth-1 "><a href="TheProblem.html"><div class="inner"><span>The Problem</span></div></a></li><li class="depth-1 "><a href="intro.html"><div class="inner"><span>Introduction to Wildwood</span></div></a></li></ul><h3 class="no-link"><span class="inner">Namespaces</span></h3><ul><li class="depth-1"><div class="no-link"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>wildwood</span></div></div></li><li class="depth-2 branch current"><a href="wildwood.advocate.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>advocate</span></div></a></li><li class="depth-2 branch"><a href="wildwood.bialowieza.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>bialowieza</span></div></a></li><li class="depth-2 branch"><a href="wildwood.knowledge-accessor.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>knowledge-accessor</span></div></a></li><li class="depth-2"><a href="wildwood.schema.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>schema</span></div></a></li></ul></div><div class="sidebar secondary"><h3><a href="#top"><span class="inner">Public Vars</span></a></h3><ul><li class="depth-1"><a href="wildwood.advocate.html#var-Advocate"><div class="inner"><span>Advocate</span></div></a></li><li class="depth-2 branch"><a href="wildwood.advocate.html#var-decide"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>decide</span></div></a></li><li class="depth-2 branch"><a href="wildwood.advocate.html#var-id"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>id</span></div></a></li><li class="depth-2"><a href="wildwood.advocate.html#var-move"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>move</span></div></a></li></ul></div><div class="namespace-docs" id="content"><h1 class="anchor" id="top">wildwood.advocate</h1><div class="doc"><div class="markdown"><p>An agent capable of playing the explanation game.</p>
<html><head><meta charset="UTF-8" /><title>wildwood.advocate documentation</title><link rel="stylesheet" type="text/css" href="css/default.css" /><link rel="stylesheet" type="text/css" href="css/highlight.css" /><script type="text/javascript" src="js/highlight.min.js"></script><script type="text/javascript" src="js/jquery.min.js"></script><script type="text/javascript" src="js/page_effects.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div id="header"><h2>Generated by <a href="https://github.com/weavejester/codox">Codox</a></h2><h1><a href="index.html"><span class="project-title"><span class="project-name">Wildwood</span> <span class="project-version">0.1.0-SNAPSHOT</span></span></a></h1></div><div class="sidebar primary"><h3 class="no-link"><span class="inner">Project</span></h3><ul class="index-link"><li class="depth-1 "><a href="index.html"><div class="inner">Index</div></a></li></ul><h3 class="no-link"><span class="inner">Topics</span></h3><ul><li class="depth-1 "><a href="AgainstTruth.html"><div class="inner"><span>Against Truth</span></div></a></li><li class="depth-1 "><a href="Analysis.html"><div class="inner"><span>Analysis</span></div></a></li><li class="depth-1 "><a href="Arboretum.html"><div class="inner"><span>Arboretum</span></div></a></li><li class="depth-1 "><a href="Arden.html"><div class="inner"><span>Arden</span></div></a></li><li class="depth-1 "><a href="Bialowieza.html"><div class="inner"><span>Bialowieza</span></div></a></li><li class="depth-1 "><a href="Errata.html"><div class="inner"><span>Errata</span></div></a></li><li class="depth-1 "><a href="Experience.html"><div class="inner"><span>Experience</span></div></a></li><li class="depth-1 "><a href="History.html"><div class="inner"><span>History</span></div></a></li><li class="depth-1 "><a href="Implementing.html"><div class="inner"><span>Implementing</span></div></a></li><li class="depth-1 "><a href="KnacqTools.html"><div class="inner"><span>KnacqTools</span></div></a></li><li class="depth-1 "><a href="Manifesto.html"><div class="inner"><span>Manifesto</span></div></a></li><li class="depth-1 "><a href="OnHylasAndPhilonus.html"><div class="inner"><span>On the First Dialogue of Hylas and Philonous</span></div></a></li><li class="depth-1 "><a href="PredicateSubtext.html"><div class="inner"><span>On the subtext of a predicate</span></div></a></li><li class="depth-1 "><a href="TheProblem.html"><div class="inner"><span>The Problem</span></div></a></li><li class="depth-1 "><a href="intro.html"><div class="inner"><span>Introduction to Wildwood</span></div></a></li></ul><h3 class="no-link"><span class="inner">Namespaces</span></h3><ul><li class="depth-1"><div class="no-link"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>wildwood</span></div></div></li><li class="depth-2 branch current"><a href="wildwood.advocate.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>advocate</span></div></a></li><li class="depth-2 branch"><a href="wildwood.bialowieza.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>bialowieza</span></div></a></li><li class="depth-2 branch"><a href="wildwood.knowledge-accessor.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>knowledge-accessor</span></div></a></li><li class="depth-2"><a href="wildwood.schema.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>schema</span></div></a></li></ul></div><div class="sidebar secondary"><h3><a href="#top"><span class="inner">Public Vars</span></a></h3><ul><li class="depth-1"><a href="wildwood.advocate.html#var-Advocate"><div class="inner"><span>Advocate</span></div></a></li><li class="depth-2 branch"><a href="wildwood.advocate.html#var-decide"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>decide</span></div></a></li><li class="depth-2 branch"><a href="wildwood.advocate.html#var-id"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>id</span></div></a></li><li class="depth-2 branch"><a href="wildwood.advocate.html#var-move"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>move</span></div></a></li><li class="depth-2"><a href="wildwood.advocate.html#var-record"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>record</span></div></a></li></ul></div><div class="namespace-docs" id="content"><h1 class="anchor" id="top">wildwood.advocate</h1><div class="doc"><div class="markdown"><p>An agent capable of playing the explanation game.</p>
<p>An advocate must have its own knowledge accessor. Different advocates within a game may be accessing different knowledge bases, or different subsets of the same knowledge base with different - potentially competing - knowledge. It also needs to know the schema in which knowledge will be presented.</p>
<p>Since the mechanism by which the application will communicate with the library must include a way for users to interact with the game, and since the role of the user in the came is just as a participant, advocate must be defined as a protocol, in order that it may be extended by code within the application which is passed in to the game when the game is started. Indeed, multiple agents - the user(s) and potentially non-player characters - may be passed in.</p>
<p>In this conception, nothing within a default advocate has to be able to produce or consume natural language. It is sufficient for the API exposed by wildwood.advocate to receive and return wildwood.schema objects.</p>
<p>Obviously to show a user interface anything similar to Ardens, or for what I intend for The Great Game, the advocates passed must at their other end - that is, on the application side rather than the library side - be able to consume and emit natural language, but that functionality does not need to be part of the wildwood library, and certainly does not need to be part of the default advocate as specified here.</p></div></div><div class="public anchor" id="var-Advocate"><h3>Advocate</h3><h4 class="type">protocol</h4><div class="usage"></div><div class="doc"><div class="markdown"></div></div><div class="members"><h4>members</h4><div class="inner"><div class="public anchor" id="var-decide"><h3>decide</h3><div class="usage"><code>(decide self proposition argument)</code></div><div class="doc"><div class="markdown"><p>Return <code>true</code>, <code>false</code> or <code>nil</code> as the value of this <code>proposition</code>, given this <code>argument</code>. The value of <code>proposition</code> should be a proposition as defined by <code>wildwood.schema/proposition?</code>; the value of <code>argument</code> should satisfy <code>wildwood.schema/argument?</code>.</p></div></div></div><div class="public anchor" id="var-id"><h3>id</h3><div class="usage"><code>(id self)</code></div><div class="doc"><div class="markdown"><p>Return a value which uniquely identifies this agent.</p></div></div></div><div class="public anchor" id="var-move"><h3>move</h3><div class="usage"><code>(move self proposition argument)</code></div><div class="doc"><div class="markdown"><p>Return a new argument structure representing the result of applying my <code>decide</code> method to this <code>proposition</code> and <code>argument</code>, specifying in some way not yet determined what sort of move I have made.</p></div></div></div></div></div><div class="src-link"><a href="https://github.com/simon-brooke/the-great-game/blob/master/src/wildwood/advocate.clj#L32">view source</a></div></div></div></body></html>
<p>Obviously to show a user interface anything similar to Ardens, or for what I intend for The Great Game, the advocates passed must at their other end - that is, on the application side rather than the library side - be able to consume and emit natural language, but that functionality does not need to be part of the wildwood library, and certainly does not need to be part of the default advocate as specified here.</p></div></div><div class="public anchor" id="var-Advocate"><h3>Advocate</h3><h4 class="type">protocol</h4><div class="usage"></div><div class="doc"><div class="markdown"></div></div><div class="members"><h4>members</h4><div class="inner"><div class="public anchor" id="var-decide"><h3>decide</h3><div class="usage"><code>(decide self proposition argument)</code></div><div class="doc"><div class="markdown"><p>Return <code>true</code>, <code>false</code> or <code>nil</code> as the value of this <code>proposition</code>, given this <code>argument</code>. The value of <code>proposition</code> should be a proposition as defined by <code>wildwood.schema/proposition?</code>; the value of <code>argument</code> should satisfy <code>wildwood.schema/argument?</code>.</p></div></div></div><div class="public anchor" id="var-id"><h3>id</h3><div class="usage"><code>(id self)</code></div><div class="doc"><div class="markdown"><p>Return a value which uniquely identifies this agent.</p></div></div></div><div class="public anchor" id="var-move"><h3>move</h3><div class="usage"><code>(move self proposition argument)</code></div><div class="doc"><div class="markdown"><p>Return a new argument structure representing the result of applying my <code>decide</code> method to this <code>proposition</code> and <code>argument</code>, specifying in some way not yet determined what sort of move I have made.</p></div></div></div><div class="public anchor" id="var-record"><h3>record</h3><div class="usage"><code>(record self proposition value)</code></div><div class="doc"><div class="markdown"><p>Pass a <code>proposition</code> with a determined <code>value</code> to me, in order that advocates can, if desired, record the determined value in their knowledge base. The API does not require that the advocate records the decision, only that it has the opportunity to do so. Return the value.</p></div></div></div></div></div><div class="src-link"><a href="https://github.com/simon-brooke/the-great-game/blob/master/src/wildwood/advocate.clj#L32">view source</a></div></div></div></body></html>

View file

@ -1,6 +1,6 @@
<!DOCTYPE html PUBLIC ""
"">
<html><head><meta charset="UTF-8" /><title>wildwood.bialowieza documentation</title><link rel="stylesheet" type="text/css" href="css/default.css" /><link rel="stylesheet" type="text/css" href="css/highlight.css" /><script type="text/javascript" src="js/highlight.min.js"></script><script type="text/javascript" src="js/jquery.min.js"></script><script type="text/javascript" src="js/page_effects.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div id="header"><h2>Generated by <a href="https://github.com/weavejester/codox">Codox</a></h2><h1><a href="index.html"><span class="project-title"><span class="project-name">Wildwood</span> <span class="project-version">0.1.0-SNAPSHOT</span></span></a></h1></div><div class="sidebar primary"><h3 class="no-link"><span class="inner">Project</span></h3><ul class="index-link"><li class="depth-1 "><a href="index.html"><div class="inner">Index</div></a></li></ul><h3 class="no-link"><span class="inner">Topics</span></h3><ul><li class="depth-1 "><a href="AgainstTruth.html"><div class="inner"><span>Against Truth</span></div></a></li><li class="depth-1 "><a href="Analysis.html"><div class="inner"><span>Analysis</span></div></a></li><li class="depth-1 "><a href="Arboretum.html"><div class="inner"><span>Arboretum</span></div></a></li><li class="depth-1 "><a href="Arden.html"><div class="inner"><span>Arden</span></div></a></li><li class="depth-1 "><a href="Bialowieza.html"><div class="inner"><span>Bialowieza</span></div></a></li><li class="depth-1 "><a href="Errata.html"><div class="inner"><span>Errata</span></div></a></li><li class="depth-1 "><a href="Experience.html"><div class="inner"><span>Experience</span></div></a></li><li class="depth-1 "><a href="History.html"><div class="inner"><span>History</span></div></a></li><li class="depth-1 "><a href="Implementing.html"><div class="inner"><span>Implementing</span></div></a></li><li class="depth-1 "><a href="KnacqTools.html"><div class="inner"><span>KnacqTools</span></div></a></li><li class="depth-1 "><a href="Manifesto.html"><div class="inner"><span>Manifesto</span></div></a></li><li class="depth-1 "><a href="OnHylasAndPhilonus.html"><div class="inner"><span>On the First Dialogue of Hylas and Philonous</span></div></a></li><li class="depth-1 "><a href="PredicateSubtext.html"><div class="inner"><span>On the subtext of a predicate</span></div></a></li><li class="depth-1 "><a href="TheProblem.html"><div class="inner"><span>The Problem</span></div></a></li><li class="depth-1 "><a href="intro.html"><div class="inner"><span>Introduction to Wildwood</span></div></a></li></ul><h3 class="no-link"><span class="inner">Namespaces</span></h3><ul><li class="depth-1"><div class="no-link"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>wildwood</span></div></div></li><li class="depth-2 branch"><a href="wildwood.advocate.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>advocate</span></div></a></li><li class="depth-2 branch current"><a href="wildwood.bialowieza.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>bialowieza</span></div></a></li><li class="depth-2 branch"><a href="wildwood.knowledge-accessor.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>knowledge-accessor</span></div></a></li><li class="depth-2"><a href="wildwood.schema.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>schema</span></div></a></li></ul></div><div class="sidebar secondary"><h3><a href="#top"><span class="inner">Public Vars</span></a></h3><ul><li class="depth-1"><a href="wildwood.bialowieza.html#var-decide"><div class="inner"><span>decide</span></div></a></li></ul></div><div class="namespace-docs" id="content"><h1 class="anchor" id="top">wildwood.bialowieza</h1><div class="doc"><div class="markdown"><p>The second iteration of the core inference engine for Wildwood</p></div></div><div class="public anchor" id="var-decide"><h3>decide</h3><div class="usage"><code>(decide proposition &amp; agents)</code></div><div class="doc"><div class="markdown"><p>Decide the truth value of this <code>proposition</code> by convening a game between these advocate <code>agents</code>. Iterate the game until all agents PASS; then finally offer each agents <code>assert</code> method the <code>proposition</code> together with the decided truth value (<code>true</code> or <code>false</code>), before returning that value.</p>
<html><head><meta charset="UTF-8" /><title>wildwood.bialowieza documentation</title><link rel="stylesheet" type="text/css" href="css/default.css" /><link rel="stylesheet" type="text/css" href="css/highlight.css" /><script type="text/javascript" src="js/highlight.min.js"></script><script type="text/javascript" src="js/jquery.min.js"></script><script type="text/javascript" src="js/page_effects.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div id="header"><h2>Generated by <a href="https://github.com/weavejester/codox">Codox</a></h2><h1><a href="index.html"><span class="project-title"><span class="project-name">Wildwood</span> <span class="project-version">0.1.0-SNAPSHOT</span></span></a></h1></div><div class="sidebar primary"><h3 class="no-link"><span class="inner">Project</span></h3><ul class="index-link"><li class="depth-1 "><a href="index.html"><div class="inner">Index</div></a></li></ul><h3 class="no-link"><span class="inner">Topics</span></h3><ul><li class="depth-1 "><a href="AgainstTruth.html"><div class="inner"><span>Against Truth</span></div></a></li><li class="depth-1 "><a href="Analysis.html"><div class="inner"><span>Analysis</span></div></a></li><li class="depth-1 "><a href="Arboretum.html"><div class="inner"><span>Arboretum</span></div></a></li><li class="depth-1 "><a href="Arden.html"><div class="inner"><span>Arden</span></div></a></li><li class="depth-1 "><a href="Bialowieza.html"><div class="inner"><span>Bialowieza</span></div></a></li><li class="depth-1 "><a href="Errata.html"><div class="inner"><span>Errata</span></div></a></li><li class="depth-1 "><a href="Experience.html"><div class="inner"><span>Experience</span></div></a></li><li class="depth-1 "><a href="History.html"><div class="inner"><span>History</span></div></a></li><li class="depth-1 "><a href="Implementing.html"><div class="inner"><span>Implementing</span></div></a></li><li class="depth-1 "><a href="KnacqTools.html"><div class="inner"><span>KnacqTools</span></div></a></li><li class="depth-1 "><a href="Manifesto.html"><div class="inner"><span>Manifesto</span></div></a></li><li class="depth-1 "><a href="OnHylasAndPhilonus.html"><div class="inner"><span>On the First Dialogue of Hylas and Philonous</span></div></a></li><li class="depth-1 "><a href="PredicateSubtext.html"><div class="inner"><span>On the subtext of a predicate</span></div></a></li><li class="depth-1 "><a href="TheProblem.html"><div class="inner"><span>The Problem</span></div></a></li><li class="depth-1 "><a href="intro.html"><div class="inner"><span>Introduction to Wildwood</span></div></a></li></ul><h3 class="no-link"><span class="inner">Namespaces</span></h3><ul><li class="depth-1"><div class="no-link"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>wildwood</span></div></div></li><li class="depth-2 branch"><a href="wildwood.advocate.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>advocate</span></div></a></li><li class="depth-2 branch current"><a href="wildwood.bialowieza.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>bialowieza</span></div></a></li><li class="depth-2 branch"><a href="wildwood.knowledge-accessor.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>knowledge-accessor</span></div></a></li><li class="depth-2"><a href="wildwood.schema.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>schema</span></div></a></li></ul></div><div class="sidebar secondary"><h3><a href="#top"><span class="inner">Public Vars</span></a></h3><ul><li class="depth-1"><a href="wildwood.bialowieza.html#var-decide"><div class="inner"><span>decide</span></div></a></li></ul></div><div class="namespace-docs" id="content"><h1 class="anchor" id="top">wildwood.bialowieza</h1><div class="doc"><div class="markdown"><p>The second iteration of the core inference engine for Wildwood</p></div></div><div class="public anchor" id="var-decide"><h3>decide</h3><div class="usage"><code>(decide proposition &amp; agents)</code></div><div class="doc"><div class="markdown"><p>Decide the truth value of this <code>proposition</code> by convening a game between these advocate <code>agents</code>. Iterate the game until all agents PASS; then finally offer each agents <code>record</code> method the <code>proposition</code> together with the decided truth value (<code>true</code> or <code>false</code>), before returning that value.</p>
<p>The <code>proposition</code> is a proposition as defined in the <code>wildwood.schema</code>; that is to say, the predicate <code>wildwood.schema/predicate?</code> returns true of it. If the proposition isnt a predicate, throw an exception.</p>
<p>Each of <code>agents</code> should be an object implementing the <code>wildwood.advocate/Advocate</code> protocol. If an agent isnt an Advocate, throw an exception.</p>
<p>Do not throw an exception under any other circumstances.</p>

BIN
docs/img/clockwork.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 451 KiB

View file

@ -30,6 +30,12 @@
(defprotocol Advocate
(record [self proposition value]
"Pass a `proposition` with a determined `value` to me, in order that
advocates can, if desired, record the determined value in their
knowledge base. The API does not require that the advocate records
the decision, only that it has the opportunity to do so. Return the
value.")
(id [self] "Return a value which uniquely identifies this agent.")
(decide [self proposition argument]
"Return `true`, `false` or `nil` as the value of this `proposition`,

View file

@ -10,7 +10,7 @@
(defn decide
"Decide the truth value of this `proposition` by convening a game between
these advocate `agents`. Iterate the game until all agents PASS; then finally
offer each agent's `assert` method the `proposition` together with the
offer each agent's `record` method the `proposition` together with the
decided truth value (`true` or `false`), before returning that value.
The `proposition` is a proposition as defined in the `wildwood.schema`;