<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
p.gmail-m3992771605335586144quotation, li.gmail-m3992771605335586144quotation, div.gmail-m3992771605335586144quotation
        {mso-style-name:gmail-m_3992771605335586144quotation;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
p.gmail-m3992771605335586144msoplaintext, li.gmail-m3992771605335586144msoplaintext, div.gmail-m3992771605335586144msoplaintext
        {mso-style-name:gmail-m_3992771605335586144msoplaintext;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
span.EmailStyle20
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1027" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal">I thought the question was about software engineering, not about predicting emergent behavior?&nbsp;&nbsp;&nbsp; Detecting undesirable behaviors is easier than predicting all behaviors..<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:12.0pt;color:black">From: </span></b><span style="font-size:12.0pt;color:black">Friam &lt;friam-bounces@redfish.com&gt; on behalf of Pieter Steenekamp &lt;pieters@randcontrols.co.za&gt;<br>
<b>Reply-To: </b>The Friday Morning Applied Complexity Coffee Group &lt;friam@redfish.com&gt;<br>
<b>Date: </b>Saturday, January 25, 2020 at 10:48 PM<br>
<b>To: </b>The Friday Morning Applied Complexity Coffee Group &lt;friam@redfish.com&gt;<br>
<b>Subject: </b>Re: [FRIAM] Abduction and Introspection<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class="MsoNormal">I would go along with Johsua Epstein's &quot;if you did not grow it you did not explain it&quot;. Keep in mind that this motto applies to problems involving emergence.&nbsp;So what I'm saying is that it's in many cases futile to apply logic to reasoning
 to find answers - and I refer to the emergent properties of the human brain as well as to ABM (agent based modeling) software.&nbsp;But even if the problem involves emergence, it's easy for both human and computer logic to apply validation logic. Similar to the
 P=NP problem*, it's difficult to find the solution, but easy to verify.&nbsp; <o:p></o:p></p>
<div>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class="MsoNormal">So my answer to &quot;<b><i><span style="font-size:10.0pt;font-family:&quot;Times New Roman&quot;,serif;color:#500050">As software engineers, what conditions would a program have to fulfill to say that a computer was monitoring \u201citself</span></i></b>&quot;
 is simply: explicitly verify the results. There are many approaches to do this verification; applying logic, checking against measured actual data, checking for violations of physics, etc.&nbsp; &nbsp;<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class="MsoNormal">*I know you all know it, just a refresher, The P=NP problem is one of the biggest unsolved computer science problems. There is a class of very difficult to solve problems and a class of very easy to verify problems. The P=NP problem asks
 the following: if you have a difficult to solve but easy to verify problem, is it possible to find a solution that is reasonably easy for a computer to solve. &quot;Reasonably easy&quot; is defined as can you solve it in polynomial time. The current algorithms takes
 exponential time to solve it and even for a moderate size problem that means more time that the age of the universe for a supercomputer to solve it.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class="MsoNormal">Pieter<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<div>
<div>
<p class="MsoNormal">On Sat, 25 Jan 2020 at 23:04, Marcus Daniels &lt;<a href="mailto:marcus@snoutfarm.com">marcus@snoutfarm.com</a>&gt; wrote:<o:p></o:p></p>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">I would say the problem of debugging (or introspection if you insist) &nbsp;is like if you find yourself at some random place, never seen before, and the task it do develop a map and
 learn the local language and customs.&nbsp; If one is given the job of law enforcement (debugging violations of law), it is necessary to collect quite a bit of information, e.g. the laws of the jurisdiction, the sensitivities and conflicts in the area, and detailed
 geography.&nbsp; In haphazardly-developed &nbsp;software, learning about one part of a city teaches you nothing about another part of the city.&nbsp;&nbsp; In well-designed software, one can orient oneself quickly because there are many easily-learnable conventions to follow.&nbsp;
 &nbsp;&nbsp;I would say this distinction between the modeler and the modeled is not that helpful.&nbsp;&nbsp; To really avoid bugs, one wants to have metaphorical citizens that are genetically incapable of breaking laws.&nbsp; &nbsp;Privileged access is kind of beside the point because
 in practice software is often far too big to fully rationalize.&nbsp; <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">&nbsp;<o:p></o:p></p>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><b><span style="font-size:12.0pt;color:black">From:
</span></b><span style="font-size:12.0pt;color:black">Friam &lt;<a href="mailto:friam-bounces@redfish.com" target="_blank">friam-bounces@redfish.com</a>&gt; on behalf of &quot;<a href="mailto:thompnickson2@gmail.com" target="_blank">thompnickson2@gmail.com</a>&quot; &lt;<a href="mailto:thompnickson2@gmail.com" target="_blank">thompnickson2@gmail.com</a>&gt;<br>
<b>Reply-To: </b>The Friday Morning Applied Complexity Coffee Group &lt;<a href="mailto:friam@redfish.com" target="_blank">friam@redfish.com</a>&gt;<br>
<b>Date: </b>Saturday, January 25, 2020 at 11:57 AM<br>
<b>To: </b>'The Friday Morning Applied Complexity Coffee Group' &lt;<a href="mailto:friam@redfish.com" target="_blank">friam@redfish.com</a>&gt;<br>
<b>Subject: </b>Re: [FRIAM] Abduction and Introspection</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">&nbsp;<o:p></o:p></p>
</div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Thanks, Marcus,
<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">&nbsp;<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Am I correct that all of your examples fall with in this frame;<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">&nbsp;<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><!--[if gte vml 1]><v:shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f">
<v:stroke joinstyle="miter" />
<v:formulas>
<v:f eqn="if lineDrawn pixelLineWidth 0" />
<v:f eqn="sum @0 1 0" />
<v:f eqn="sum 0 0 @1" />
<v:f eqn="prod @2 1 2" />
<v:f eqn="prod @3 21600 pixelWidth" />
<v:f eqn="prod @3 21600 pixelHeight" />
<v:f eqn="sum @0 0 1" />
<v:f eqn="prod @6 1 2" />
<v:f eqn="prod @7 21600 pixelWidth" />
<v:f eqn="sum @8 21600 0" />
<v:f eqn="prod @7 21600 pixelHeight" />
<v:f eqn="sum @10 21600 0" />
</v:formulas>
<v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect" />
<o:lock v:ext="edit" aspectratio="t" />
</v:shapetype><v:shape id="_x0000_s1026" type="#_x0000_t75" alt="" style='position:absolute;margin-left:0;margin-top:0;width:303.75pt;height:71.25pt;z-index:251658240;mso-wrap-edited:f;mso-width-percent:0;mso-height-percent:0;mso-wrap-distance-left:9pt;mso-wrap-distance-top:0;mso-wrap-distance-right:9pt;mso-wrap-distance-bottom:0;mso-position-horizontal:left;mso-position-horizontal-relative:text;mso-position-vertical-relative:line;mso-width-percent:0;mso-height-percent:0' o:allowoverlap="f">
<v:imagedata src="cid:image001.png@01D5D42D.D03A82D0" o:title="16fe08ca87e4cff311" />
<w:wrap type="square"/>
</v:shape><![endif]--><![if !vml]><img width="405" height="95" style="width:4.2187in;height:.9895in" src="cid:image001.png@01D5D42D.D03A82D0" align="left" hspace="12" v:shapes="_x0000_s1026"><![endif]><br clear="all">
<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">I keep expecting you guys to scream at me, \u201cOf course, you idiot, self-perception is partial and subject to error!&nbsp; HTF could it be otherwise?\u201d&nbsp;&nbsp; I would love that.&nbsp; I would record
 it and put it on loop for half my colleagues in psychology departments around the world.&nbsp;
<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">&nbsp;<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Nick
<o:p></o:p></p>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Nicholas Thompson<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Emeritus Professor of Ethology and Psychology<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Clark University<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><a href="mailto:ThompNickSon2@gmail.com" target="_blank"><span style="color:#0563C1">ThompNickSon2@gmail.com</span></a><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><a href="https://wordpress.clarku.edu/nthompson/" target="_blank"><span style="color:#0563C1">https://wordpress.clarku.edu/nthompson/</span></a><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">&nbsp;<o:p></o:p></p>
</div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">&nbsp;<o:p></o:p></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><b>From:</b> Friam &lt;<a href="mailto:friam-bounces@redfish.com" target="_blank">friam-bounces@redfish.com</a>&gt;
<b>On Behalf Of </b>Marcus Daniels<br>
<b>Sent:</b> Saturday, January 25, 2020 12:16 PM<br>
<b>To:</b> The Friday Morning Applied Complexity Coffee Group &lt;<a href="mailto:friam@redfish.com" target="_blank">friam@redfish.com</a>&gt;<br>
<b>Subject:</b> Re: [FRIAM] Abduction and Introspection<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">&nbsp;<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><b><span style="font-size:12.0pt">Nick writes:</span></b><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">&nbsp;<o:p></o:p></p>
<p class="gmail-m3992771605335586144quotation">&nbsp;As software engineers, what conditions would a program have to fulfill to say that a computer was monitoring \u201citself<o:p></o:p></p>
<p class="gmail-m3992771605335586144quotation">&nbsp;<o:p></o:p></p>
<p class="gmail-m3992771605335586144quotation">It is common for codes that calculate things to periodically test invariants that should hold.&nbsp;&nbsp; For example, a physics code might test for conservation of mass or energy.&nbsp;&nbsp; A conversion between a data structure
 with one index scheme to another is often followed by a check to ensure the total number of records did not change, or if it did change that it changed by an expected amount.&nbsp;&nbsp; It is also possible, but less common, to write a code so that proofs are constructed
 by virtue of the code being compliable against a set of types.&nbsp;&nbsp; The types describe all of the conditions that must hold regarding the behavior of a function.&nbsp;&nbsp;&nbsp; In that case it is not necessary to detect if something goes haywire at runtime because it is
 simply not possible for something to go haywire.&nbsp; (A computer could still miscalculate due to a cosmic ray, or some other physical interruption, but assuming that did not happen a complete proof-carrying code would not fail within its specifications.)<o:p></o:p></p>
<p class="gmail-m3992771605335586144quotation">A weaker form of self-monitoring is to periodically check for memory or disk usage, and to raise an alarm if they are unexpectedly high or low.&nbsp; &nbsp;Such an alarm might trigger cleanups of old results, otherwise kept
 around for convenience.&nbsp; <o:p></o:p></p>
<p class="gmail-m3992771605335586144quotation">&nbsp;<o:p></o:p></p>
<p class="gmail-m3992771605335586144quotation">Marcus<o:p></o:p></p>
<p class="gmail-m3992771605335586144msoplaintext">&nbsp;<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal">============================================================<br>
FRIAM Applied Complexity Group listserv<br>
Meets Fridays 9a-11:30 at cafe at St. John's College<br>
to unsubscribe <a href="http://redfish.com/mailman/listinfo/friam_redfish.com" target="_blank">
http://redfish.com/mailman/listinfo/friam_redfish.com</a><br>
archives back to 2003: <a href="http://friam.471366.n2.nabble.com/" target="_blank">
http://friam.471366.n2.nabble.com/</a><br>
FRIAM-COMIC <a href="http://friam-comic.blogspot.com/" target="_blank">http://friam-comic.blogspot.com/</a> by Dr. Strangelove<o:p></o:p></p>
</blockquote>
</div>
</div>
</body>
</html>