Skip to content

Instantly share code, notes, and snippets.

@kenwebb
Last active July 1, 2018 14:49
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kenwebb/ece4698af81783aa2dd24d018ab40e9d to your computer and use it in GitHub Desktop.
Save kenwebb/ece4698af81783aa2dd24d018ab40e9d to your computer and use it in GitHub Desktop.
Ross Buck - Readout Hypothesis
<?xml version="1.0" encoding="UTF-8"?>
<!--Xholon Workbook http://www.primordion.com/Xholon/gwt/ MIT License, Copyright (C) Ken Webb, Sun Jul 01 2018 10:48:36 GMT-0400 (Eastern Daylight Time)-->
<XholonWorkbook>
<Notes><![CDATA[
Xholon
------
Title: Ross Buck - Readout Hypothesis
Description:
Url: http://www.primordion.com/Xholon/gwt/
InternalName: ece4698af81783aa2dd24d018ab40e9d
Keywords:
My Notes
--------
July 1, 2018
I did an independent-study course on Buck and his ideas as an undergraduate.
- See my research and report binder from that time.
Also see notes in my current notebook for June 30, 2018.
Xholon could make use of the "readout hypothesis", especially Buck's Emotion II.
In this workbook, I will implement a simple experiment.
There will be two "types" of people, each with their own distinct readout.
Each person will have a simple color, which is a readout of some undefined aspect of their internal state.
For now, they will be either blue or red.
When a person meets another person with the same readout, they will create a link to that person.
I can display the resulting graph using a force-directed layout.
Each person has an internal emotional state, either "happy" or "sad". This is not directly accessible to other people.
Depending on their internal emotional state, each person presents a social readout. The readout is directly accessible to other people.
References
----------
(1) https://comm.uconn.edu/faculty/buck/
(2) https://comm.uconn.edu/research/ctec-lab/
(3) https://scholar.google.com/citations?user=pJ497RkAAAAJ&hl=en
list of publications: titles, links
(4) Social and emotional functions in facial expression and communication: the readout hypothesis, by Ross Buck
Biological Psychology 38 (1994) 95-115
3.2. The readout hypothesis
I have defined motivation as a “potential (for behavior) inherent in the
structures of systems of behavior control” (Buck, 1985, p. 394) and emotion as “a
readout mechanism carrying information about motivation” (1985, p. 396); “the
readout process IS emotion” (1985, p. 398, emphasis added). There are three sorts
of functionally independent readout: to peripheral autonomic, endocrine, and
immune system responses (Emotion I); to expressive displays (Emotion II); and to
subjective experience (Emotion III). These readouts serve the functions of the
maintenance of homeostasis, social organization, and self-regulation, respectively (Buck, 1985).
In this view, facial expressions (and other expressive displays) have evolved to
provide “an external readout of those motivational-emotional processes that have
had social implications during the course of evolution” (1985, pp. 396-397). More
generally, the spontaneous expressive display is a readout of motivational-emotional
systems in ways that make certain aspects of their functioning accessible to
other organisms, thereby serving social functions (Buck, 1985; 1988a). As noted,
this view encompasses not only facial expression, but also eye behavior, paralanguage,
posture, gesture, pheromones, and so on.
]]></Notes>
<_-.XholonClass>
<PhysicalSystem/>
<Person/>
<People/>
</_-.XholonClass>
<xholonClassDetails>
<Person xhType="XhtypePureActiveObject"/>
<Avatar><Color>yellow</Color></Avatar>
</xholonClassDetails>
<PhysicalSystem>
<People>
<Person multiplicity="101"/> <!-- 20 50 -->
</People>
<Animate duration="2" selection="#xhanim" xpath="./PhysicalSystem/People" cssStyle=".d3cpnode circle {stroke-width: 0px;}" efParams="{&quot;selection&quot;:&quot;#xhanim&quot;,&quot;sort&quot;:&quot;disable&quot;,&quot;width&quot;:800,&quot;height&quot;:800,&quot;mode&quot;:&quot;tween&quot;,&quot;labelContainers&quot;:true,&quot;includeId&quot;:true,&quot;shape&quot;:&quot;circle&quot;,&quot;useIcons&quot;:false}"/>
</PhysicalSystem>
<Peoplebehavior implName="org.primordion.xholon.base.Behavior_gwtjs"><![CDATA[
// internal state
const INTERNAL_STATE = "internalState";
const STATE_HAPPY = "happy";
const STATE_SAD = "sad";
// social readout of the internal state
const READOUT_HAPPY = "red";
const READOUT_SAD = "blue";
var me, chapNetwork, beh = {
postConfigure: function() {
me = this.cnode.parent();
me.parent().parent().append(this.cnode.remove());
chapNetwork = false; // have not yet exported to ChapNetwork
var person = me.first();
while (person) {
var rnum = $wnd.Math.random();
if (rnum > 0.5) {
person[INTERNAL_STATE] = STATE_HAPPY;
}
else {
person[INTERNAL_STATE] = STATE_SAD;
}
switch (person[INTERNAL_STATE]) {
case STATE_HAPPY: person.color(READOUT_HAPPY); break;
case STATE_SAD: person.color(READOUT_SAD); break;
default: break;
}
person = person.next();
}
// specify the Person behavior
$wnd.xh.Personbehavior = function Personbehavior() {}
$wnd.xh.Personbehavior.prototype.postConfigure = function() {
this.person = this.cnode.parent();
this.person.parent().parent().parent().append(this.cnode.remove());
var pport = this.person.port(0);
var pnext = this.person.next();
while ((pport == null) && (pnext != this.person)) {
if (pnext == null) {
pnext = this.person.parent().first();
}
if (this.person.color() == pnext.color()) {
this.person.port(0, pnext);
pport = this.person.port(0);
}
else {
pnext = pnext.next();
}
}
};
// end specify the Person behavior
},
act: function() {
if (!chapNetwork) {
chapNetwork = true;
$wnd.xh.xport("_other,ChapNetwork", me, '{"showNetwork":true,"showTree":false,"maxTreeLevels":1,"width":"800px","height":"800px","nameTemplate":"R^^^^^","maxChars":-1,"linksLength":50,"showPortName":false,"nodesStyle":"dot","linksStyle":"arrow-end","stabilize":"false","jsLibName":"network-min"}');
}
}
}
//# sourceURL=Peoplebehavior.js
]]></Peoplebehavior>
<Personbehavior implName="org.primordion.xholon.base.Behavior_gwtjs"><![CDATA[
var beh = new $wnd.xh.Personbehavior();
]]></Personbehavior>
<SvgClient><Attribute_String roleName="svgUri"><![CDATA[data:image/svg+xml,
<svg width="100" height="50" xmlns="http://www.w3.org/2000/svg">
<g>
<title>People</title>
<rect id="PhysicalSystem/People" fill="#98FB98" height="50" width="50" x="25" y="0"/>
<g>
<title>Person</title>
<rect id="PhysicalSystem/People/Person" fill="#6AB06A" height="50" width="10" x="80" y="0"/>
</g>
</g>
</svg>
]]></Attribute_String><Attribute_String roleName="setup">${MODELNAME_DEFAULT},${SVGURI_DEFAULT}</Attribute_String></SvgClient>
</XholonWorkbook>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment