<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v2.3 20070202//EN" "journalpublishing.dtd">
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" article-type="research-article">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">Front. Robot. AI</journal-id>
<journal-title>Frontiers in Robotics and AI</journal-title>
<abbrev-journal-title abbrev-type="pubmed">Front. Robot. AI</abbrev-journal-title>
<issn pub-type="epub">2296-9144</issn>
<publisher>
<publisher-name>Frontiers Media S.A.</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="doi">10.3389/frobt.2020.561660</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Robotics and AI</subject>
<subj-group>
<subject>Original Research</subject>
</subj-group>
</subj-group>
</article-categories>
<title-group>
<article-title>A Formal Account of Structuring Motor Actions With Sensory Prediction for a Naive Agent</article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name><surname>Godon</surname> <given-names>Jean-Merwan</given-names></name>
<uri xlink:href="http://loop.frontiersin.org/people/1018837/overview"/>
</contrib>
<contrib contrib-type="author" corresp="yes">
<name><surname>Argentieri</surname> <given-names>Sylvain</given-names></name>
<xref ref-type="corresp" rid="c001"><sup>&#x0002A;</sup></xref>
<uri xlink:href="http://loop.frontiersin.org/people/613224/overview"/>
</contrib>
<contrib contrib-type="author">
<name><surname>Gas</surname> <given-names>Bruno</given-names></name>
</contrib>
</contrib-group>
<aff><institution>Sorbonne Universit&#x000E9;, CNRS, Institut des Syst&#x000E8;mes Intelligents et de Robotique, ISIR</institution>, <addr-line>Paris</addr-line>, <country>France</country></aff>
<author-notes>
<fn fn-type="edited-by"><p>Edited by: Georg Martius, Max Planck Institute for Intelligent Systems, Germany</p></fn>
<fn fn-type="edited-by"><p>Reviewed by: Hiroyuki Iizuka, Hokkaido University, Japan; Alban Laflaqui&#x000E8;re, Softbank Robotics, France</p></fn>
<corresp id="c001">&#x0002A;Correspondence: Sylvain Argentieri <email>sylvain.argentieri&#x00040;sorbonne-universite.fr</email></corresp>
<fn fn-type="other" id="fn001"><p>This article was submitted to Computational Intelligence in Robotics, a section of the journal Frontiers in Robotics and AI</p></fn></author-notes>
<pub-date pub-type="epub">
<day>01</day>
<month>12</month>
<year>2020</year>
</pub-date>
<pub-date pub-type="collection">
<year>2020</year>
</pub-date>
<volume>7</volume>
<elocation-id>561660</elocation-id>
<history>
<date date-type="received">
<day>13</day>
<month>05</month>
<year>2020</year>
</date>
<date date-type="accepted">
<day>23</day>
<month>10</month>
<year>2020</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#x000A9; 2020 Godon, Argentieri and Gas.</copyright-statement>
<copyright-year>2020</copyright-year>
<copyright-holder>Godon, Argentieri and Gas</copyright-holder>
<license xlink:href="http://creativecommons.org/licenses/by/4.0/"><p>This is an open-access article distributed under the terms of the Creative Commons Attribution License (CC BY). The use, distribution or reproduction in other forums is permitted, provided the original author(s) and the copyright owner(s) are credited and that the original publication in this journal is cited, in accordance with accepted academic practice. No use, distribution or reproduction is permitted which does not comply with these terms.</p></license></permissions>
<abstract><p>For naive robots to become truly autonomous, they need a means of developing their perceptive capabilities instead of relying on hand crafted models. The sensorimotor contingency theory asserts that such a way resides in learning invariants of the sensorimotor flow. We propose a formal framework inspired by this theory for the description of sensorimotor experiences of a naive agent, extending previous related works. We then use said formalism to conduct a theoretical study where we isolate sufficient conditions for the determination of a sensory prediction function. Furthermore, we also show that algebraic structure found in this prediction can be taken as a proxy for structure on the motor displacements, allowing for the discovery of the combinatorial structure of said displacements. Both these claims are further illustrated in simulations where a toy naive agent determines the sensory predictions of its spatial displacements from its uninterpreted sensory flow, which it then uses to infer the combinatorics of said displacements.</p></abstract>
<kwd-group>
<kwd>sensory prediction</kwd>
<kwd>sensorimotor contingencies</kwd>
<kwd>interactive perception</kwd>
<kwd>developmental robotics</kwd>
<kwd>bootstrapping</kwd>
</kwd-group>
<counts>
<fig-count count="9"/>
<table-count count="0"/>
<equation-count count="19"/>
<ref-count count="42"/>
<page-count count="20"/>
<word-count count="16123"/>
</counts>
</article-meta>
</front>
<body>
<sec sec-type="intro" id="s1">
<title>1. Introduction</title>
<p><italic>Autonomous</italic> robots need possess the cognitive capabilities to face realistic and uncertain environments. Classical approaches deal with this problem by giving them <italic>a priori</italic> models of their interaction with their environment. These rely on carefully crafted models of the agent&#x00027;s body (Mutambara and Litt, <xref ref-type="bibr" rid="B23">1998</xref>), its sensors, the environments it will encounter and the nature of the tasks it is setting to perform (Marconi et al., <xref ref-type="bibr" rid="B19">2011</xref>). But said models are notoriously difficult to obtain (Lee et al., <xref ref-type="bibr" rid="B16">2017</xref>), by definition incomplete (Nguyen et al., <xref ref-type="bibr" rid="B24">2017</xref>) and often fail to generalize to interactions varying in unknown spatial and temporal scales. As it has been previously studied, models of an agent sensorimotor apparatus (Censi and Murray, <xref ref-type="bibr" rid="B4">2012</xref>) or of a mobile robot interaction with its environment (Jonschkowski and Brock, <xref ref-type="bibr" rid="B8">2015</xref>) can alternatively be learned. In particular, these capabilities crucially depend on the robot correctly learning its <italic>perception</italic> in that it represents the interface layer between the raw readings of its sensors and its higher level cognitive capabilities, e.g., decision making or task solving layers.</p>
<p>While there certainly is an established practice of mostly treating perception as processing the sensory signal, multiple cues argue that perception can only emerge from the joint <italic>sensorimotor</italic> experience (No&#x000EB;, <xref ref-type="bibr" rid="B25">2004</xref>). The field of interactive perception, reviewed in Bohg et al. (<xref ref-type="bibr" rid="B2">2017</xref>), indeed displays several approaches which roughly adhere to this principle. One particular theoretical framework is that of <italic>Sensorimotor Contingencies Theory</italic> (O&#x00027;Regan and No&#x000EB;, <xref ref-type="bibr" rid="B26">2001</xref>) (SMCT for short) which asserts that perception is the mastery of invariant structures in the sensorimotor flow an agent discovers during its interaction with the environment. Their theoretical origin as an abstract, generic cognitive construct lends them desirable properties for robotic applications: namely, they could support bootstrapping the learning of perceptual capabilities in a way that does not depend on the implementation of the artificial agent considered as well as on the environments in which said learning is done. In this regard, it differs significantly from the modern developmental approaches supported by Deep Learning (Ruiz-del-Solar et al., <xref ref-type="bibr" rid="B35">2018</xref>) which rely on specific structural details of neural networks, i.e., the numeric forms of inputs, outputs and activation of the neurons.</p>
<p>Early works on SMCT have been shown to lead to discovery of the color spectrum (Philipona and O&#x00027;Regan, <xref ref-type="bibr" rid="B29">2006</xref>) and of the dimensionality of ambient space (Philipona et al., <xref ref-type="bibr" rid="B30">2003</xref>, <xref ref-type="bibr" rid="B31">2004</xref>; Laflaqui&#x000E8;re et al., <xref ref-type="bibr" rid="B11">2010</xref>; Laflaqui&#x000E8;re et al., <xref ref-type="bibr" rid="B10">2012</xref>) in &#x0201C;naive&#x0201D; agents, which can be extended to that of an internal, path independent, notion of space (Terekhov and O&#x00027;Regan, <xref ref-type="bibr" rid="B40">2016</xref>). We already proposed different contributions in this field, successively dealing with peripersonal space characterization (Laflaqui&#x000E8;re et al., <xref ref-type="bibr" rid="B12">2015</xref>), self-contact and body representation (Marcel et al., <xref ref-type="bibr" rid="B17">2017</xref>) and the emergence of a topological representation of sensors poses (Marcel et al., <xref ref-type="bibr" rid="B18">2019</xref>). These works, as well as Laflaqui&#x000E8;re et al. (<xref ref-type="bibr" rid="B13">2018</xref>) and Laflaqui&#x000E8;re and Ortiz (<xref ref-type="bibr" rid="B14">2019</xref>), devote a significant effort to providing formalisms suited to make explicit, and, where applicable, formally prove&#x02014;not only the processing required to capture the contingencies, i.e., invariants in the sensorimotor flow of the agent, but also the mechanisms by which said contingencies should appear. This is an attempt to pinpoint the exact conditions of validity of the proposed processes in order to deliver on the promises of genericity of SMCT.</p>
<p>Many recent contributions drawing from SMCT revolve around sensorimotor prediction in some way: the ability to discover a sensorimotor prediction is empirically shown to arise from both the temporal structure of the sensorimotor experience (Maye and Engel, <xref ref-type="bibr" rid="B21">2012</xref>) and the spatial coherence of a natural visual environment for a sensor based on a retina (Laflaqui&#x000E8;re, <xref ref-type="bibr" rid="B9">2017</xref>). Moreover, said ability to predict sensory outcomes has been shown to provide in robots a basis for an egocentric representation of ambient space (Laflaqui&#x000E8;re and Ortiz, <xref ref-type="bibr" rid="B14">2019</xref>), object perception (Maye and Engel, <xref ref-type="bibr" rid="B20">2011</xref>; Le Hir et al., <xref ref-type="bibr" rid="B15">2018</xref>), action selection (Maye and Engel, <xref ref-type="bibr" rid="B21">2012</xref>), motor control (Schr&#x000F6;der-Schetelig et al., <xref ref-type="bibr" rid="B36">2010</xref>), and motor sequence compression (Ortiz and Laflaqui&#x000E8;re, <xref ref-type="bibr" rid="B27">2018</xref>). Along the &#x0201C;Bayesian brain&#x0201D; approach, predictive processing is even argued to form the mechanistic implementation of sensorimotor contingencies (Seth, <xref ref-type="bibr" rid="B37">2014</xref>). This is very much in line with classical findings in cognitive psychology, both those regarding the physiological implementations of sensorimotor prediction via <italic>efference copies</italic> (von Helmholtz et al., <xref ref-type="bibr" rid="B41">1925</xref>; Sperry, <xref ref-type="bibr" rid="B38">1950</xref>; von Holst and Mittelstaedt, <xref ref-type="bibr" rid="B42">1950</xref>) and how it supports, albeit incompletely, a number of perceptual processes (Bridgeman, <xref ref-type="bibr" rid="B3">1995</xref>; Imamizu, <xref ref-type="bibr" rid="B7">2010</xref>; Pynn and DeSouza, <xref ref-type="bibr" rid="B33">2012</xref>; Bhanpuri et al., <xref ref-type="bibr" rid="B1">2013</xref>), as well as those supporting ideomotor theory (Stock and Stock, <xref ref-type="bibr" rid="B39">2004</xref>) according to which actions are equated to their perceptual consequences from a cognitive standpoint.</p>
<p>This article follows much of the same approach begun in Philipona et al. (<xref ref-type="bibr" rid="B30">2003</xref>) and subsequently developed in e.g., Marcel et al. (<xref ref-type="bibr" rid="B17">2017</xref>); Marcel et al. (<xref ref-type="bibr" rid="B18">2019</xref>), Laflaqui&#x000E8;re et al. (<xref ref-type="bibr" rid="B13">2018</xref>), and Laflaqui&#x000E8;re and Ortiz (<xref ref-type="bibr" rid="B14">2019</xref>). In particular, it sets out to mathematically describe from an <italic>exterior</italic>, &#x0201C;objective,&#x0201D; point of view some properties of the interaction between the robot and its environment which should appear in its sensorimotor flow. To this end we propose a revised formalism building upon the previous instances in these contributions. One notable contribution indeed resides in our proposal remedying their requirement of the agent having a fixed base by transposing the location of sensorimotor contingencies in sets of &#x0201C;displacements&#x0201D; instead of that of motor or sensory configurations. In accordance with the previous remark about genericity, a particular attention is given to the construction of said formalism with assumptions and proofs explicitly detailed. Moreover, the bootstrapping aspect is emphasized throughout the work, much in the spirit of Marcel et al. (<xref ref-type="bibr" rid="B17">2017</xref>); Marcel et al. (<xref ref-type="bibr" rid="B18">2019</xref>), highlighting the distinction between the points of view of the agent and of the observer in the description of the problems and an explicit discussion of the degree of <italic>a priori</italic> knowledge given to the agent, in terms of both data and computations available to it. There lie two contributions of this article: while the formalism is used to formally describe why and how spatial coherence lead to the discovery of sensory prediction very much like alluded to in Laflaqui&#x000E8;re (<xref ref-type="bibr" rid="B9">2017</xref>) and how this sensory prediction encodes spatial structure akin to that of Terekhov and O&#x00027;Regan (<xref ref-type="bibr" rid="B40">2016</xref>) and Laflaqui&#x000E8;re and Ortiz (<xref ref-type="bibr" rid="B14">2019</xref>), it does so with a greater emphasis put on the precise relations between the algebraic structures at play and with much weakened assumptions about <italic>a priori</italic> capabilities of the agent, much closer to those put forward in O&#x00027;Regan and No&#x000EB; (<xref ref-type="bibr" rid="B26">2001</xref>). We argue that this formalism unifies and extends those found in previous works; that the formal structures its expressive power makes explicit (e.g., group morphisms between action and prediction) give a conceptual explanation of results previously achieved by more complex means in experimental contexts (Ortiz and Laflaqui&#x000E8;re, <xref ref-type="bibr" rid="B27">2018</xref>; Laflaqui&#x000E8;re and Ortiz, <xref ref-type="bibr" rid="B14">2019</xref>); and on a somewhat &#x0201C;philosophical&#x0201D; level that it allows for a clearer picture of the applicability and function of SMCT in the process of bootstrapping perception <italic>via</italic> its systematic distinction of points of view.</p>
<p>The paper is organized as follows: to begin with, we introduce in section 2 all the notations and concepts used for describing the sensorimotor experience. On this basis, section 3 defines the two distinct points of view and enunciates generic properties of the sensorimotor experience that motivate the proposed study of internal sensorimotor prediction. In particular, the equivalence between the combinatorial structures of actions and sensory prediction is proved. Then, some simulations are proposed in section 4 to assess the mathematical formalism through a careful evaluation of each step of the proposed framework. We establish that the spatial shifts mediating the sensory experience of a naive agent allow it to determine the sensory outcome of particular actions, in particular those corresponding to displacements of the agent. Further, we show that the ability to predict said outcomes can be used as a proxy to the hidden combinatorial structure of its motor actions. We argue that the theoretical focus adopted in this work provides some new valuable insight into the mechanisms supporting these results, as well as several similar findings presented in aforementioned related works.</p>
</sec>
<sec id="s2">
<title>2. Defining a Formalism for Sensorimotor Interaction</title>
<p>This first section aims at expanding several previous results in <italic>Interactive Perception</italic> as obtained for example in Bohg et al. (<xref ref-type="bibr" rid="B2">2017</xref>). These have made use of several classical objects, such as the <italic>pose</italic> (or <italic>working</italic>) <italic>space</italic> and the <italic>forward</italic> (either geometrical or sensory) <italic>maps</italic>, at times rearranging their definitions or making them more precise to allow for formal proofs to be derived. Such work is followed upon in this contribution, with a somewhat significant overhaul of the formal definitions. This section is thus devoted to the definitions of the terms we will use to describe a sensorimotor problem, showing during the exposition how they appear in a simple classical example and how they differ from previous theoretical formulations. We then leverage these definitions to propose and prove new perceptive bootstrapping algorithms in the following section.</p>
<sec>
<title>2.1. Motor Actions</title>
<p>As a first step, this subsection is devoted to the introduction of all the notions and definitions of the <italic>motor</italic> side of the proposed sensorimotor framework. After highlighting the limitations of the previous approaches, as seen in e.g., Marcel et al. (<xref ref-type="bibr" rid="B17">2017</xref>) and Laflaqui&#x000E8;re et al. (<xref ref-type="bibr" rid="B13">2018</xref>), we show how to reparameterize the sensorimotor interaction by introducing motor actions. Their definition and properties are then carefully discussed.</p>
<sec>
<title>2.1.1. A Look Back to Previous Formalisms</title>
<p>Let us consider in all the following an agent endowed with motor and sensing capabilities. In the referenced previous contributions, the sensorimotor interaction is defined by the <italic>internal</italic> motor configuration <bold>m</bold> and the sensory configuration <bold>s</bold> of this agent, which lie, respectively into some sets <inline-formula><mml:math id="M1"><mml:mrow><mml:mi mathvariant="-tex-caligraphic">M</mml:mi></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M2"><mml:mrow><mml:mi mathvariant="-tex-caligraphic">S</mml:mi></mml:mrow></mml:math></inline-formula>. Both of them define the <italic>internal</italic> agent configuration (<bold>m</bold>, <bold>s</bold>), i.e., the sensorimotor flow the agent has access to. There is a clear dependency between the sensory and motor configurations that can be captured by the sensorimotor maps <inline-formula><mml:math id="M3"><mml:mi>&#x003C8;</mml:mi><mml:mo>:</mml:mo><mml:mrow><mml:mi mathvariant="-tex-caligraphic">M</mml:mi></mml:mrow><mml:mo>&#x000D7;</mml:mo><mml:mi mathvariant="-tex-caligraphic">E</mml:mi><mml:mo>&#x02192;</mml:mo><mml:mrow><mml:mi mathvariant="-tex-caligraphic">S</mml:mi></mml:mrow></mml:math></inline-formula>, such that &#x003C8;(<bold>m</bold>, <bold><italic>&#x003F5;</italic></bold>) &#x0003D; <bold>s</bold>, where <bold><italic>&#x003F5;</italic></bold> &#x02208; <inline-formula><mml:math id="M4"><mml:mi mathvariant="-tex-caligraphic">E</mml:mi></mml:math></inline-formula> represents the state of the environment. As said in the introduction, other contributions already exploited this kind of parameterization (Philipona et al., <xref ref-type="bibr" rid="B30">2003</xref>; Laflaqui&#x000E8;re et al., <xref ref-type="bibr" rid="B12">2015</xref>; Marcel et al., <xref ref-type="bibr" rid="B17">2017</xref>). In all these contributions, only fixed base agents are considered, since a single internal motor configuration <inline-formula><mml:math id="M5"><mml:mstyle mathvariant="bold"><mml:mtext>m</mml:mtext></mml:mstyle><mml:mo>&#x02208;</mml:mo><mml:mrow><mml:mi mathvariant="-tex-caligraphic">M</mml:mi></mml:mrow></mml:math></inline-formula> is only mapped to a single sensory configuration <inline-formula><mml:math id="M6"><mml:mstyle mathvariant="bold"><mml:mtext>s</mml:mtext></mml:mstyle><mml:mo>&#x02208;</mml:mo><mml:mrow><mml:mi mathvariant="-tex-caligraphic">S</mml:mi></mml:mrow></mml:math></inline-formula> for a fixed environment configuration <bold><italic>&#x003F5;</italic></bold>.</p>
<p>To illustrate this point, <xref ref-type="fig" rid="F1">Figure 1</xref> represents a 2D-agent able to translate itself only along one dimension <italic>x</italic>. This agent is able to move inside an environment made of colored walls thanks to five rotating joints whose states <monospace>m</monospace><sub><italic>i</italic></sub>, <italic>i</italic> &#x0003D; 1, &#x02026;, 5, are captured in its motor configuration <bold>m</bold> &#x0003D; (<sub><monospace>m</monospace><sub><italic>i</italic></sub>)<italic>i</italic></sub> (where the second <italic>i</italic> subscript in (<sub>.<sub><italic>i</italic></sub>)<italic>i</italic></sub> denotes the collection being taken with <italic>i</italic> for ranging variable). To begin, let us consider the case where <monospace>m</monospace><sub>1</sub> and <monospace>m</monospace><sub>2</sub> are fixed, so that the agent is only able to move its arm supporting a camera-like sensor generating a sensation <bold>s</bold>, i.e., <bold>m</bold> is restricted to (<monospace>m</monospace><sub>3</sub>, <monospace>m</monospace><sub>4</sub>, <monospace>m</monospace><sub>5</sub>) only. In such a scenario, one has a fixed base agent for which each motor configuration <bold>m</bold> can be mapped to one corresponding sensor pose, which is itself mapped to a sensation <bold>s</bold>. This simple statement allows to build structures in <inline-formula><mml:math id="M7"><mml:mrow><mml:mi mathvariant="-tex-caligraphic">M</mml:mi></mml:mrow></mml:math></inline-formula> by exploiting only the sensorimotor flow (<bold>m</bold>, <bold>s</bold>), structures that can be leveraged to build an internal representation of the agent body; they can be further refined into a representation of its peripersonal space (Marcel et al., <xref ref-type="bibr" rid="B17">2017</xref>; Marcel et al., <xref ref-type="bibr" rid="B18">2019</xref>). In these works, <bold>m</bold> carries all spatial data, possibly with some redundancy, about the coupling between the agent and its environment: the combination of states <bold>m</bold> and <bold>e</bold> is sufficient to determine the resulting sensory output <bold>s</bold> (as described by the formal sensorimotor map &#x003C8;).</p>
<fig id="F1" position="float">
<label>Figure 1</label>
<caption><p>Illustration of the motor actions effects. The agent actuator states <monospace>m</monospace><sub><italic>i</italic></sub> are regrouped into its motor configuration <bold>m</bold>, while <bold>s</bold> denotes its sensor output. Both define the internal agent configuration, i.e., the sensorimotor flow the agent has access to. The agent position and orientation in space is captured by <bold><italic>&#x003C4;</italic></bold>, which together with <bold>m</bold> makes the absolute configuration <bold>b</bold>, partially unknown to the agent. Note that one motor configuration <bold>m</bold> can be associated to distinct sensory outputs <bold>s</bold> and <bold>s</bold><bold>&#x02032;</bold> provided a displacement in space from <bold><italic>&#x003C4;</italic></bold> to <bold><italic>&#x003C4;</italic></bold>&#x02032;, thus preventing the existence of a mapping <bold>m</bold>&#x021A6;<bold>s</bold>. The agent may also perform an action <italic>a</italic> to modify its absolute configuration. One such action <italic>a</italic> is partially represented, mapping <bold>b</bold> to <bold>b</bold><bold>&#x02032;</bold> = (<bold>m</bold><bold>&#x02032;</bold>=<bold>m</bold>, <bold><italic>&#x003C4;</italic></bold>&#x02032;), and <bold>b</bold><bold>&#x02032;</bold> to <bold>b</bold><bold>&#x02033;</bold>. Note that it induces a rigid displacement in the first case, while a change of posture occurs in the second. Also depicted are the inverse action <italic>a</italic><sup>&#x02212;1</sup> of <italic>a</italic> and the combination <italic>a</italic>&#x02033; obtained by repeating <italic>a</italic> twice.</p></caption>
<graphic xlink:href="frobt-07-561660-g0001.tif"/>
</fig>
<p>However, what would happen if the same agent was able to perform translations in its environment? Let us now focus on the case where <italic>all</italic> motor states <monospace>m</monospace><sub><italic>i</italic></sub> are actually used, as depicted in <xref ref-type="fig" rid="F1">Figure 1</xref>. Indeed, one can imagine a case where the agent moves in its environment along the <italic>x</italic> axis from (external) position <bold><italic>&#x003C4;</italic></bold> (with internal configuration <bold>m</bold>) to <bold><italic>&#x003C4;</italic></bold>&#x02032; (same <bold>m</bold>). In this case, the sensor samples two different parts of the color wall so that its generated sensations <bold>s</bold> and <bold>s</bold>&#x02032; from these two different positions are different. Then two identical internal configurations <bold>m</bold> give two different sensations: there is no more mapping between <bold>m</bold> and <bold>s</bold>, and all the mathematical developments performed in previous works can no longer apply. Therefore, it seems necessary to generalize these formalisms to cope with agents able to move freely in their environment. In this paper, one proposes a <italic>variational</italic> formulation of motor actions to deal with this issue. Importantly, the term <italic>variational</italic> refers in all the following to the focus given on specific sequences of states (e.g., motor, sensory, or external states) rather than any specific one of said states. It is introduced in the next subsections.</p>
</sec>
<sec>
<title>2.1.2. Dealing With Mobile Agents: Reparameterizing the Sensorimotor Interaction</title>
<p>From previous arguments, the internal motor configuration <bold>m</bold> can not be mapped unambiguously to sensations without additional considerations. If one still insists on having a functional relation between motor data and sensations, one then needs to enrich the initial motor set. In this paper, one proposes to introduce some superset <inline-formula><mml:math id="M8"><mml:mi mathvariant="-tex-caligraphic">B</mml:mi></mml:math></inline-formula> of <inline-formula><mml:math id="M9"><mml:mrow><mml:mi mathvariant="-tex-caligraphic">M</mml:mi></mml:mrow></mml:math></inline-formula> as initial parameter space. This new set <inline-formula><mml:math id="M10"><mml:mi mathvariant="-tex-caligraphic">B</mml:mi></mml:math></inline-formula> can be thought of as the set of all <italic>absolute</italic> configurations <bold>b</bold> made of pairs (<bold>m</bold>, <bold><italic>&#x003C4;</italic></bold>) where <bold>m</bold> is the internal motor configuration and <bold><italic>&#x003C4;</italic></bold> represents an absolute measure of the pose of the agent in its ambient space (which would most commonly be position and orientation in 3D space). While posture or proprioception give <bold>m</bold> a definite meaning, one should instead only think of <bold><italic>&#x003C4;</italic></bold> as a choice of reference frame in space. Indeed for spaces much like ours it ought to be somewhat arbitrary since any &#x0201C;displacement&#x0201D; from pose <bold><italic>&#x003C4;</italic></bold> to <bold><italic>&#x003C4;</italic></bold>&#x02032; could be instead realized as an opposite motion of the whole ambient space like for compensatory movements as initially introduced in Poincar&#x000E9; (<xref ref-type="bibr" rid="B32">1895</xref>) and dealt with in Philipona et al. (<xref ref-type="bibr" rid="B30">2003</xref>). This equivalency argument has been mentioned in previous contributions as a possible way to deal with mobile agents as proposed in this contribution. While this could be formalized in a consistent way, either from a quasi static or variational perspective, we argue the proposed point of view offers usability advantages, like for multi-agent situations (where space should emerge as a shared common playground), an easier formulation of compensability, or a clear separation between the internal and external points of view. It is important to understand that the agent itself has no knowledge of the current absolute configuration <bold>b</bold> of its interaction with its environment, retaining the same hypotheses about a priori structure. However, we may then consider the sensorimotor map as a function <inline-formula><mml:math id="M11"><mml:mi>&#x003C8;</mml:mi><mml:mo>:</mml:mo><mml:mi mathvariant="-tex-caligraphic">B</mml:mi><mml:mo>&#x000D7;</mml:mo><mml:mi mathvariant="-tex-caligraphic">E</mml:mi><mml:mo>&#x02192;</mml:mo><mml:mrow><mml:mi mathvariant="-tex-caligraphic">S</mml:mi></mml:mrow></mml:math></inline-formula> instead of <inline-formula><mml:math id="M12"><mml:mi>&#x003C8;</mml:mi><mml:mo>:</mml:mo><mml:mrow><mml:mi mathvariant="-tex-caligraphic">M</mml:mi></mml:mrow><mml:mo>&#x000D7;</mml:mo><mml:mi mathvariant="-tex-caligraphic">E</mml:mi><mml:mo>&#x02192;</mml:mo><mml:mrow><mml:mi mathvariant="-tex-caligraphic">S</mml:mi></mml:mrow></mml:math></inline-formula> to account for possible displacements in the environment. Defining such a new set <inline-formula><mml:math id="M13"><mml:mi mathvariant="-tex-caligraphic">B</mml:mi></mml:math></inline-formula> allows then to introduce the notion of <italic>external</italic> agent configuration as the tuple (<bold>b</bold>, <bold>s</bold>). As such, two different points of view must be stressed out: (i) the external point of view (i.e., coming from the designer of the system) will allow to characterize some properties of the agent interaction with its environment (through modelization, hypotheses, etc.), and (ii) the internal point of view which represents which data and concepts are available to the agent for its operations. This specific point is discussed in section 3.1.</p>
<p>Coming back to <xref ref-type="fig" rid="F1">Figure 1</xref>, the agent moves to three successive absolute configurations <bold>b</bold>, <bold>b</bold>&#x02032;, and <bold>b</bold>&#x02033;. All of them are now different, which was not the case of the internal motor configurations: introducing <bold>b</bold> &#x02208; <inline-formula><mml:math id="M14"><mml:mi mathvariant="-tex-caligraphic">B</mml:mi></mml:math></inline-formula> apparently solves the issue raised at the end of section 2.1.1. Let us now explain how the agent actually reaches some given absolute configuration <bold>b</bold>.</p>
</sec>
<sec>
<title>2.1.3. Going Variational: Introducing Motor Actions</title>
<p>As explained previously, the agent has no direct access to the configuration data <bold>b</bold>: it cannot know where it <italic>is</italic> in <inline-formula><mml:math id="M15"><mml:mi mathvariant="-tex-caligraphic">B</mml:mi></mml:math></inline-formula>. Instead we suppose it starts with some (very limited) knowledge of how it <italic>moves</italic> in this set, i.e., it is capable of performing some moves in <inline-formula><mml:math id="M16"><mml:mi mathvariant="-tex-caligraphic">B</mml:mi></mml:math></inline-formula> and of comparing any two moves for equality. To this end, we propose to introduce some new set <inline-formula><mml:math id="M17"><mml:mrow><mml:mi mathvariant="-tex-caligraphic">A</mml:mi></mml:mrow></mml:math></inline-formula> behaving in the following manner: an element <inline-formula><mml:math id="M18"><mml:mi>a</mml:mi><mml:mo>&#x02208;</mml:mo><mml:mrow><mml:mi mathvariant="-tex-caligraphic">A</mml:mi></mml:mrow></mml:math></inline-formula> can be applied to any absolute configuration <bold>b</bold> &#x02208; <inline-formula><mml:math id="M19"><mml:mi mathvariant="-tex-caligraphic">B</mml:mi></mml:math></inline-formula> to give a new configuration <bold>b</bold>&#x02032; &#x0003D; <italic>a</italic><bold>b</bold> &#x0003D; <italic>a</italic>(<bold>b</bold>). Therefore, <italic>a</italic> can be seen as a function <inline-formula><mml:math id="M20"><mml:mi mathvariant="-tex-caligraphic">B</mml:mi></mml:math></inline-formula>&#x02192;<inline-formula><mml:math id="M21"><mml:mi mathvariant="-tex-caligraphic">B</mml:mi></mml:math></inline-formula>. We will usually denote <inline-formula><mml:math id="M22"><mml:mstyle mathvariant="bold"><mml:mtext>b</mml:mtext></mml:mstyle><mml:mover class="overset"><mml:mrow><mml:mo>&#x02192;</mml:mo></mml:mrow><mml:mrow><mml:mi>a</mml:mi></mml:mrow></mml:mover><mml:msup><mml:mrow><mml:mstyle mathvariant="bold"><mml:mtext>b</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mo>&#x02032;</mml:mo></mml:mrow></mml:msup></mml:math></inline-formula> this situation, and call <italic>a</italic> a <italic>motor action</italic>. Such a definition for &#x0201C;actions&#x0201D; differs from many intuitions since it is restricted to quasistatic differences in posture and position; it does not account for a notion of dynamical effort exerted by actuators. In particular, no dynamical effects are considered at this level and no specification is made of the precise motor path taken from <bold>b</bold> to <italic>a</italic><bold>b</bold>. Instead, only these pairs of related (<bold>b</bold>, <italic>a</italic><bold>b</bold>) endpoints are relevant to characterizing any action <italic>a</italic>. This constitutes a present limitation pervading much of similar works to which a future&#x02014;and assuredly significant&#x02014;contribution shall be devoted.</p>
<p>Now as we intend to represent the way in which the agent can move in its environment, one can take for granted the existence of a special action <inline-formula><mml:math id="M23"><mml:mi>e</mml:mi><mml:mo>&#x02208;</mml:mo><mml:mrow><mml:mi mathvariant="-tex-caligraphic">A</mml:mi></mml:mrow></mml:math></inline-formula> that verifies <inline-formula><mml:math id="M24"><mml:mo>&#x02200;</mml:mo><mml:mstyle mathvariant="bold"><mml:mtext>b</mml:mtext></mml:mstyle><mml:mo>&#x02208;</mml:mo><mml:mi mathvariant="-tex-caligraphic">B</mml:mi><mml:mo>,</mml:mo><mml:mtext>&#x000A0;</mml:mtext><mml:mstyle mathvariant="bold"><mml:mtext>b</mml:mtext></mml:mstyle><mml:mover class="overset"><mml:mrow><mml:mo>&#x02192;</mml:mo></mml:mrow><mml:mrow><mml:mi>e</mml:mi></mml:mrow></mml:mover><mml:mstyle mathvariant="bold"><mml:mtext>b</mml:mtext></mml:mstyle></mml:math></inline-formula>: the agent may decide to stay still. Note that for certain systems, e.g., drones or bipedal walkers, this is distinctly different from doing nothing since constant posture and position must still be maintained. Moreover, considering it is able to do any moves <italic>a</italic> and <italic>a</italic>&#x02032;, it may then chain them in one single move <inline-formula><mml:math id="M25"><mml:msup><mml:mrow><mml:mi>a</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x02033;</mml:mo></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:msup><mml:mrow><mml:mi>a</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x02032;</mml:mo></mml:mrow></mml:msup><mml:mi>a</mml:mi><mml:mo>&#x02208;</mml:mo><mml:mrow><mml:mi mathvariant="-tex-caligraphic">A</mml:mi></mml:mrow></mml:math></inline-formula> which satisfies
<graphic xlink:href="frobt-07-561660-i0001.tif"/></p>
<p>so that <inline-formula><mml:math id="M26"><mml:mrow><mml:mi mathvariant="-tex-caligraphic">A</mml:mi></mml:mrow></mml:math></inline-formula> naturally carries the structure of a <italic>monoid</italic>. Remark that this composition operation is necessarily associative since motor actions are assumed to behave as functions <inline-formula><mml:math id="M27"><mml:mi mathvariant="-tex-caligraphic">B</mml:mi></mml:math></inline-formula>&#x02192;<inline-formula><mml:math id="M28"><mml:mi mathvariant="-tex-caligraphic">B</mml:mi></mml:math></inline-formula>. In the following, we will further restrict ourselves to the case where individual actions are <italic>reversible</italic>, that is for any action <italic>a</italic> there exists an action <italic>a</italic><sup>&#x02212;1</sup> such that
<graphic xlink:href="frobt-07-561660-i0002.tif"/></p>
<p>making <inline-formula><mml:math id="M29"><mml:mrow><mml:mi mathvariant="-tex-caligraphic">A</mml:mi></mml:mrow></mml:math></inline-formula> into a <italic>group</italic>. Seeing as how actions can be thought of as mappings <inline-formula><mml:math id="M30"><mml:mi mathvariant="-tex-caligraphic">B</mml:mi></mml:math></inline-formula>&#x02192;<inline-formula><mml:math id="M31"><mml:mi mathvariant="-tex-caligraphic">B</mml:mi></mml:math></inline-formula>, a necessary (and sufficient) condition is for all mappings in <inline-formula><mml:math id="M32"><mml:mrow><mml:mi mathvariant="-tex-caligraphic">A</mml:mi></mml:mrow></mml:math></inline-formula> to be bijective. It is clear that this assumption of invertibility may not apply in some experimental contexts, e.g., an agent may jump down a height which it cannot jump up. This constitutes a current limitation of the proposed framework, although several factors may limit its severity. In this example, even if the agent cannot jump up the height directly, it may still find a sequence of actions allowing it to climb back up to its original position. Corresponding to the definition of Equation (2), this would result in an inverse action in the formal sense, as illustrated later in section 4.3.3.</p>
<p><xref ref-type="fig" rid="F1">Figure 1</xref> illustrates these notions, with the agent moving from external configuration <bold>b</bold> to <bold>b</bold>&#x02032; through an action <italic>a</italic>. This action, applied at <bold>b</bold> &#x0003D; (<bold>m</bold>, <bold><italic>&#x003C4;</italic></bold>), happens to produce a translation of the agent so that its internal motor configuration finishes at the same <bold>m</bold>. Note that the agent would be able to return back to its initial absolute configuration by applying the inverse action <italic>a</italic><sup>&#x02212;1</sup> of <italic>a</italic>. Moreover, since <italic>a</italic> is a function defined on the whole <inline-formula><mml:math id="M33"><mml:mi mathvariant="-tex-caligraphic">B</mml:mi></mml:math></inline-formula> set, the same action can be applied at <bold>b</bold>&#x02032; &#x0003D; (<bold>m</bold>, <bold><italic>&#x003C4;</italic></bold>&#x02032;) to reach a third configuration <bold>b</bold>&#x02033; &#x0003D; (<bold>m</bold>&#x02033;, <bold><italic>&#x003C4;</italic></bold>&#x02033;). This time, the same action <italic>a</italic> has conducted to a global displacement of the agent in the environment, combined with a change in its internal motor configuration. Indeed, while it represents cases which are mostly avoided for practical reasons, it is not required for <italic>a</italic> to only depend on <bold>m</bold> in the general case: the outcome of the same action <italic>a</italic> may depend on the position <bold><italic>&#x003C4;</italic></bold> of the agent in the environment. Finally, the agent would have been able to move from <bold>b</bold> to <bold>b</bold>&#x02033; by applying the action <italic>a</italic>&#x02033; &#x0003D; <italic>a</italic><sup>2</sup>, as per Equation (1).</p>
<p>With these structure assumptions, for a given subset of <italic>motor primitives</italic> <inline-formula><mml:math id="M34"><mml:msup><mml:mrow><mml:mrow><mml:mi mathvariant="-tex-caligraphic">A</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mo>&#x02032;</mml:mo></mml:mrow></mml:msup><mml:mo>&#x02282;</mml:mo><mml:mrow><mml:mi mathvariant="-tex-caligraphic">A</mml:mi></mml:mrow></mml:math></inline-formula> available to the agent, we can search for the set of composed moves the agent can actually reach by iteration of its known ones. We shall say an action <inline-formula><mml:math id="M35"><mml:mi>a</mml:mi><mml:mo>&#x02208;</mml:mo><mml:mrow><mml:mi mathvariant="-tex-caligraphic">A</mml:mi></mml:mrow></mml:math></inline-formula> <italic>decomposes over</italic> <inline-formula><mml:math id="M36"><mml:msup><mml:mrow><mml:mrow><mml:mi mathvariant="-tex-caligraphic">A</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mo>&#x02032;</mml:mo></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>a</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo>}</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x02208;</mml:mo><mml:mi>I</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> if it can be written in the form</p>
<disp-formula id="E3"><label>(3)</label><mml:math id="M37"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:mi>a</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi>a</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>&#x02026;</mml:mo><mml:msub><mml:mrow><mml:mi>a</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:munder class="msub"><mml:mrow><mml:mo>&#x0220F;</mml:mo></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo>&#x02264;</mml:mo><mml:mi>k</mml:mi><mml:mo>&#x02264;</mml:mo><mml:mi>n</mml:mi></mml:mrow></mml:munder></mml:mstyle><mml:msub><mml:mrow><mml:mi>a</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mo>&#x02208;</mml:mo><mml:mi>I</mml:mi></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>This represents a formal property functionally similar to that of compositionality of motor trajectories, with <inline-formula><mml:math id="M38"><mml:msup><mml:mrow><mml:mrow><mml:mi mathvariant="-tex-caligraphic">A</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mo>&#x02032;</mml:mo></mml:mrow></mml:msup></mml:math></inline-formula> filling for actions the role of primitives (Flash and Hochner, <xref ref-type="bibr" rid="B5">2006</xref>). Indeed, the interest of these decompositions appears because the effect of composed moves on motor configurations boils down to the effects of its components as per the following diagram:
<graphic xlink:href="frobt-07-561660-i0003.tif"/></p>
<p>In the example in <xref ref-type="fig" rid="F1">Figure 1</xref>, it may well be that the agent can move to any configuration <bold>b</bold>, i.e., that its action set is <inline-formula><mml:math id="M39"><mml:mrow><mml:mi mathvariant="-tex-caligraphic">A</mml:mi></mml:mrow><mml:mo>=</mml:mo><mml:msup><mml:mrow><mml:mi>&#x0211D;</mml:mi></mml:mrow><mml:mrow><mml:mn>5</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula> (for the five possible angular increments of its five joints). But it may also be restricted to a limited set of moves, for example if it only can send discrete commands to its joints. For instance, if each actuator is a stepper motor, then its action set turns into <inline-formula><mml:math id="M40"><mml:mrow><mml:mi mathvariant="-tex-caligraphic">A</mml:mi></mml:mrow><mml:mo>=</mml:mo><mml:msup><mml:mrow><mml:mi>&#x02124;</mml:mi></mml:mrow><mml:mrow><mml:mn>5</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula>. In this case, <italic>a</italic> would be written as the tuple (&#x00394;<sub><italic>q</italic><sub><italic>i</italic></sub>)<italic>i</italic></sub>, <italic>i</italic> &#x0003D; 1, &#x02026;, 5, where &#x00394;<italic>q</italic><sub><italic>i</italic></sub> &#x02208; &#x02124; is the <italic>i</italic>th motor increment expressed in step increments. Consequently, any action <italic>a</italic> would decompose over <inline-formula><mml:math id="M41"><mml:msup><mml:mrow><mml:mrow><mml:mi mathvariant="-tex-caligraphic">A</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mo>&#x02032;</mml:mo></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>a</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo>}</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> where action <italic>a</italic><sub><italic>i</italic></sub> corresponds to adding one step to the <italic>i</italic>th actuator. In this specific case, while <inline-formula><mml:math id="M42"><mml:mrow><mml:mi mathvariant="-tex-caligraphic">A</mml:mi></mml:mrow></mml:math></inline-formula> is infinite, it is sufficient for the agent to know the five motor primitives <italic>a</italic><sub><italic>i</italic></sub> to generate any action <inline-formula><mml:math id="M43"><mml:mi>a</mml:mi><mml:mo>&#x02208;</mml:mo><mml:mrow><mml:mi mathvariant="-tex-caligraphic">A</mml:mi></mml:mrow></mml:math></inline-formula>. This is very similar to the notion of reducing a (finite dimensional) vector space, which is usually infinite, to the very finite subset of a generating set or if possible a base. However it can be proven that any finite subset of &#x0211D; will not generate it as a group, and that it will often only generate a discrete <italic>k&#x02124;</italic> subgroup. This occurs in the proposed simulations in section 4, where all combinations of a finite subset of starting actions lead to the discovery of a discrete generated action group.</p>
</sec>
</sec>
<sec>
<title>2.2. Grounding Sensations in Space</title>
<p>The previous subsection was devoted to the introduction of actions on the motor side of the proposed sensorimotor framework. This subsection accordingly deals with the <italic>sensory</italic> side of it, and more particularly with its relation to a persistent &#x0201C;space&#x0201D; which was entirely absent from previous considerations. After a more precise definition of the meaning of &#x0201C;environment configuration,&#x0201D; the link between local perception and spatial considerations is formalized. This will constitute the root of the theoretical developments proposed in the next section.</p>
<sec>
<title>2.2.1. Decoupling Space and Environment: The <italic>Where</italic> and the <italic>What</italic></title>
<p>In previous works, a traditional way for parameterizing the environment was to introduce the environment configuration <bold><italic>&#x003F5;</italic></bold>. The meaning of such a variable was often left unspecified, almost without any formal semantics linking it to the sensorimotor experience of the agent (Laflaqui&#x000E8;re et al., <xref ref-type="bibr" rid="B12">2015</xref>). In this paper it is proposed to stress the difference between the ambient geometrical <italic>space</italic>&#x02014;in which sensorimotor experience occurs&#x02014;and the <italic>environment</italic> itself&#x02014;that is the state of &#x0201C;things&#x0201D; lying in this space. The former takes the form of some set <inline-formula><mml:math id="M44"><mml:mrow><mml:mi mathvariant="-tex-caligraphic">X</mml:mi></mml:mrow></mml:math></inline-formula> endowed with a spatial structure as encoded by a group <inline-formula><mml:math id="M45"><mml:mi mathvariant="-tex-caligraphic">G</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mrow><mml:mi mathvariant="-tex-caligraphic">X</mml:mi></mml:mrow></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:math></inline-formula> of <italic>admissible transformations</italic>. These spatial transformations are mappings <inline-formula><mml:math id="M46"><mml:mrow><mml:mi mathvariant="-tex-caligraphic">X</mml:mi></mml:mrow><mml:mo>&#x02192;</mml:mo><mml:mrow><mml:mi mathvariant="-tex-caligraphic">X</mml:mi></mml:mrow></mml:math></inline-formula> preserving some &#x0201C;geometry&#x0201D; of <inline-formula><mml:math id="M47"><mml:mrow><mml:mi mathvariant="-tex-caligraphic">X</mml:mi></mml:mrow></mml:math></inline-formula>. The most common illustration is the usual affine geometry of &#x0211D;<sup>3</sup> given by the group <inline-formula><mml:math id="M48"><mml:msub><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">SE</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>&#x0211D;</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">SO</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>&#x0211D;</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>&#x022CA;</mml:mo><mml:msup><mml:mrow><mml:mi>&#x0211D;</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula> of its rigid transformations, made of 3D rotations, translations and their compositions. On this basis, one chooses to particularize a &#x0201C;state of the environment&#x0201D; as a valuation that maps each point of <inline-formula><mml:math id="M49"><mml:mrow><mml:mi mathvariant="-tex-caligraphic">X</mml:mi></mml:mrow></mml:math></inline-formula> to its corresponding physical properties, such as temperature, color, luminance, etc. These states are therefore best represented as functions <inline-formula><mml:math id="M50"><mml:mi>&#x003F5;</mml:mi><mml:mo>:</mml:mo><mml:mrow><mml:mi mathvariant="-tex-caligraphic">X</mml:mi></mml:mrow><mml:mo>&#x02192;</mml:mo><mml:mrow><mml:mi mathvariant="-tex-caligraphic">P</mml:mi></mml:mrow></mml:math></inline-formula> where <inline-formula><mml:math id="M51"><mml:mrow><mml:mi mathvariant="-tex-caligraphic">P</mml:mi></mml:mrow></mml:math></inline-formula> is a set describing the different physical properties the agent can observe. Consequently, &#x003F5;(<bold>x</bold>) represents the observable physical properties at point <inline-formula><mml:math id="M52"><mml:mstyle mathvariant="bold"><mml:mtext>x</mml:mtext></mml:mstyle><mml:mo>&#x02208;</mml:mo><mml:mrow><mml:mi mathvariant="-tex-caligraphic">X</mml:mi></mml:mrow></mml:math></inline-formula>. We will henceforth denote <inline-formula><mml:math id="M53"><mml:mi mathvariant="-tex-caligraphic">E</mml:mi></mml:math></inline-formula> the set of <italic>environment states</italic>, i.e., a set of such functions &#x003F5;.</p>
<p><xref ref-type="fig" rid="F2">Figure 2</xref> illustrates these considerations. In this simple case, the geometrical space <inline-formula><mml:math id="M54"><mml:mrow><mml:mi mathvariant="-tex-caligraphic">X</mml:mi></mml:mrow></mml:math></inline-formula> is monodimensional, represented as an axis where each point <bold>x</bold> is assigned a color through a function &#x003F5;<sub>1</sub> or &#x003F5;<sub>2</sub>. Interestingly, one can now distinguish points in <inline-formula><mml:math id="M55"><mml:mrow><mml:mi mathvariant="-tex-caligraphic">X</mml:mi></mml:mrow></mml:math></inline-formula> on which the physics described by different environment states &#x003F5;<sub>1</sub> and &#x003F5;<sub>2</sub> locally coincide, as far as the agent is able to observe this coincidence. Particularizing the former unspecified <bold><italic>&#x003F5;</italic></bold> state to a function &#x003F5; of the spatial variable will allow to express new properties of the sensorimotor experience, as in the next subsection.</p>
<fig id="F2" position="float">
<label>Figure 2</label>
<caption><p>Illustration of the receptive fields for a sensor made of two rigidly linked cameras at configuration <bold>b</bold>. Each pixel <italic>c</italic><sub><italic>i</italic></sub> of either camera produces a sensory value <monospace>s</monospace><sub><italic>c</italic><sub><italic>i</italic></sub></sub> in the overall sensory array <bold>s</bold> explained only by a small subset of space <italic>F</italic><sub><italic>c</italic><sub><italic>i</italic></sub></sub>(<bold>b</bold>). The same applies for both cameras, thus explaining how a sensation for the agent can be explained by the perception of a subset of space.</p></caption>
<graphic xlink:href="frobt-07-561660-g0002.tif"/>
</fig>
</sec>
<sec>
<title>2.2.2. Local Perception and Receptive Fields</title>
<p>Now that we have formally defined what is &#x0201C;out there&#x0201D; from an external point of view, let us now focus on the sensory capabilities of the agent. On this specific point, most previous contributions were considering the full sensory output as atomic data: although it is implemented as a possibly high dimensional vector, elements and subarrays were generally kept from scrutiny. On the contrary, we now take interest at the subarray level and accordingly adapt the formalism. Therefore, in all the following the sensorimotor map is written as <inline-formula><mml:math id="M56"><mml:msub><mml:mrow><mml:mi>&#x003C8;</mml:mi></mml:mrow><mml:mrow><mml:mi>c</mml:mi></mml:mrow></mml:msub><mml:mo>:</mml:mo><mml:mi mathvariant="-tex-caligraphic">B</mml:mi><mml:mo>&#x000D7;</mml:mo><mml:mi mathvariant="-tex-caligraphic">E</mml:mi><mml:mo>&#x02192;</mml:mo><mml:msub><mml:mrow><mml:mrow><mml:mi mathvariant="-tex-caligraphic">S</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mi>c</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> where the <italic>c</italic> subscript outlines that the sensory map is explicitly written for a sensory element <italic>c</italic> (or <italic>sensel</italic>, i.e., one pixel for a camera, the cochlea cell coding for one sound frequency, etc.). Thus, the sensorimotor map &#x003C8;<sub><inline-formula><mml:math id="M57"><mml:mi mathvariant="-tex-caligraphic">C</mml:mi></mml:math></inline-formula></sub> for the entire sensory apparatus is made of the aggregate of all sensels along <inline-formula><mml:math id="M58"><mml:msub><mml:mrow><mml:mi>&#x003C8;</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="-tex-caligraphic">C</mml:mi></mml:mrow></mml:msub><mml:mo>:</mml:mo><mml:mi mathvariant="-tex-caligraphic">B</mml:mi><mml:mo>&#x000D7;</mml:mo><mml:mi mathvariant="-tex-caligraphic">E</mml:mi><mml:mo>&#x02192;</mml:mo><mml:mrow><mml:mi mathvariant="-tex-caligraphic">S</mml:mi></mml:mrow><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mo>&#x0220F;</mml:mo></mml:mrow><mml:mrow><mml:mi>c</mml:mi><mml:mo>&#x02208;</mml:mo><mml:mi mathvariant="-tex-caligraphic">C</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mrow><mml:mi mathvariant="-tex-caligraphic">S</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mi>c</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> with <inline-formula><mml:math id="M59"><mml:mi mathvariant="-tex-caligraphic">C</mml:mi></mml:math></inline-formula> the set of all sensels.<xref ref-type="fn" rid="fn0001"><sup>1</sup></xref> An illustration of these points is proposed in <xref ref-type="fig" rid="F2">Figure 2</xref> for a similar agent endowed this time with two cameras so as to better show the descriptive capabilities of the formalism. In this case, the sensels <italic>c</italic><sub><italic>i</italic></sub>&#x02014;each depicted as elements in a color array&#x02014;represent the pixels of either camera. Separate sensors in the apparatus thus appear as sub-arrays in <inline-formula><mml:math id="M60"><mml:mi mathvariant="-tex-caligraphic">C</mml:mi></mml:math></inline-formula>: the first (resp. second) camera is figured by <inline-formula><mml:math id="M61"><mml:mi mathvariant="-tex-caligraphic">C</mml:mi></mml:math></inline-formula><sub>1</sub> (resp. <inline-formula><mml:math id="M62"><mml:mi mathvariant="-tex-caligraphic">C</mml:mi></mml:math></inline-formula><sub>2</sub>). Note that this decomposition of <inline-formula><mml:math id="M63"><mml:mi mathvariant="-tex-caligraphic">C</mml:mi></mml:math></inline-formula> as <inline-formula><mml:math id="M64"><mml:mi mathvariant="-tex-caligraphic">C</mml:mi></mml:math></inline-formula><sub>1</sub> &#x0222A; <inline-formula><mml:math id="M65"><mml:mi mathvariant="-tex-caligraphic">C</mml:mi></mml:math></inline-formula><sub>2</sub> directly comes from our external understanding of the agent structure (i.e., with one camera corresponding to one set of sensels, i.e., one sensor). One could have selected others sub-arrays to form a distinct set of (virtual) sensors not necessarily corresponding to their (physical) implementation on the agent.</p>
<p>With space and sensors made formally precise we can now proceed with the (spatial) <italic>receptive field</italic> of sensor <inline-formula><mml:math id="M66"><mml:mi mathvariant="-tex-caligraphic">C</mml:mi></mml:math></inline-formula>&#x02032; &#x02282; <inline-formula><mml:math id="M67"><mml:mi mathvariant="-tex-caligraphic">C</mml:mi></mml:math></inline-formula>, that is a region of space which environment state suffices to determine the output of <inline-formula><mml:math id="M68"><mml:mi mathvariant="-tex-caligraphic">C</mml:mi></mml:math></inline-formula>&#x02032;. This region as a subset of <inline-formula><mml:math id="M69"><mml:mrow><mml:mi mathvariant="-tex-caligraphic">X</mml:mi></mml:mrow></mml:math></inline-formula> should naturally depend on the current configuration <bold>b</bold> since moving causes one&#x00027;s sensors to sample new parts of space, so that it takes the form of a map <inline-formula><mml:math id="M70"><mml:mstyle mathvariant="bold"><mml:mtext>b</mml:mtext></mml:mstyle><mml:mo>&#x02208;</mml:mo><mml:mi mathvariant="-tex-caligraphic">B</mml:mi><mml:mo>&#x021A6;</mml:mo><mml:msub><mml:mrow><mml:mi>F</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mrow><mml:mi mathvariant="-tex-caligraphic">C</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x02032;</mml:mo></mml:mrow></mml:msup></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mstyle mathvariant="bold"><mml:mtext>b</mml:mtext></mml:mstyle></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>&#x02282;</mml:mo><mml:mrow><mml:mi mathvariant="-tex-caligraphic">X</mml:mi></mml:mrow></mml:math></inline-formula>. Then, its characteristic property is</p>
<disp-formula id="E5"><label>(5)</label><mml:math id="M71"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:mo>&#x02200;</mml:mo><mml:msub><mml:mrow><mml:mi>&#x003F5;</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mi>&#x003F5;</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>&#x02208;</mml:mo><mml:mi mathvariant="-tex-caligraphic">E</mml:mi><mml:mo>,</mml:mo><mml:mo>&#x02200;</mml:mo><mml:mstyle mathvariant='bold'><mml:mtext>b</mml:mtext></mml:mstyle><mml:mo>&#x02208;</mml:mo><mml:mi mathvariant="-tex-caligraphic">B</mml:mi><mml:mo>,</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>&#x003F5;</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo stretchy="false">|</mml:mo><mml:msub><mml:mrow><mml:mi>F</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mrow><mml:mi mathvariant="-tex-caligraphic">C</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x02032;</mml:mo></mml:mrow></mml:msup></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mstyle mathvariant='bold'><mml:mtext>b</mml:mtext></mml:mstyle></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi>&#x003F5;</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn><mml:mo stretchy="false">|</mml:mo><mml:msub><mml:mrow><mml:mi>F</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mrow><mml:mi mathvariant="-tex-caligraphic">C</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x02032;</mml:mo></mml:mrow></mml:msup></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mstyle mathvariant='bold'><mml:mtext>b</mml:mtext></mml:mstyle></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:msub><mml:mo>&#x021D2;</mml:mo><mml:msub><mml:mrow><mml:mi>&#x003C8;</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mrow><mml:mi mathvariant="-tex-caligraphic">C</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x02032;</mml:mo></mml:mrow></mml:msup></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mstyle mathvariant='bold'><mml:mtext>b</mml:mtext></mml:mstyle><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mi>&#x003F5;</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi>&#x003C8;</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mrow><mml:mi mathvariant="-tex-caligraphic">C</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x02032;</mml:mo></mml:mrow></mml:msup></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mstyle mathvariant='bold'><mml:mtext>b</mml:mtext></mml:mstyle><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mi>&#x003F5;</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p><xref ref-type="fig" rid="F2">Figure 2</xref> represents some of the receptive fields for the two cameras agent. The first one, <italic>F</italic><sub><italic>c</italic><sub><italic>i</italic></sub></sub>(<bold>b</bold>), is the receptive field of a single sensel/pixel <italic>c</italic><sub><italic>i</italic></sub> &#x02208; <inline-formula><mml:math id="M72"><mml:mi mathvariant="-tex-caligraphic">C</mml:mi></mml:math></inline-formula>. The receptive fields <italic>F</italic><sub><inline-formula><mml:math id="M73"><mml:mi mathvariant="-tex-caligraphic">C</mml:mi></mml:math></inline-formula><sub>1</sub></sub>(<bold>b</bold>) and <italic>F</italic><sub><inline-formula><mml:math id="M74"><mml:mi mathvariant="-tex-caligraphic">C</mml:mi></mml:math></inline-formula><sub>2</sub></sub>(<bold>b</bold>) of each camera can be obtained as the union of the receptive field <italic>F</italic><sub><italic>c</italic><sub><italic>j</italic></sub></sub>(<bold>b</bold>) of their respective pixels. In the same vein, the overall receptive field of the agent <italic>F</italic><sub><inline-formula><mml:math id="M75"><mml:mi mathvariant="-tex-caligraphic">C</mml:mi></mml:math></inline-formula></sub>(<bold>b</bold>) is also given by <italic>F</italic><sub><inline-formula><mml:math id="M76"><mml:mi mathvariant="-tex-caligraphic">C</mml:mi></mml:math></inline-formula><sub>1</sub></sub>(<bold>b</bold>) &#x0222A; <italic>F</italic><sub><inline-formula><mml:math id="M77"><mml:mi mathvariant="-tex-caligraphic">C</mml:mi></mml:math></inline-formula><sub>2</sub></sub>(<bold>b</bold>). From the same figure, it is clear that even if &#x003F5;<sub>1</sub>&#x02260;&#x003F5;<sub>2</sub> (since there are areas of different colors on the <inline-formula><mml:math id="M78"><mml:mrow><mml:mi mathvariant="-tex-caligraphic">X</mml:mi></mml:mrow></mml:math></inline-formula> axis), the sensation captured by the agent is the same since the aforementioned differences are restricted to areas of space unseen to the agent.</p>
<p>It is important to notice that this is the formal step where the notion of receptive field formalizes an implicit relation between the sensations of the agent and spatial structure. This constitutes one fundamental property sufficient to leverage spatial knowledge from the agent interaction with its environment. The application of these theoretical elements is proposed in the next section.</p>
</sec>
</sec>
</sec>
<sec id="s3">
<title>3. A Zero-th Layer of Sensorimotor Contingencies: Spatial Regularities Through Variations</title>
<p>In this section, we proceed by describing how the formal elements from section 2 can be arranged to enunciate some interesting properties of the sensorimotor interaction. First, to keep in line with considerations of minimalist bootstrapping, the assumptions we use relative to the model of knowledge of the agent are discussed, and compared to that of previous contributions. Then, the definitions provided in the previous sections are used to isolate conditions where the spatial structure of the receptive fields can be leveraged, in particular <italic>via</italic> a certain class of &#x0201C;conservative&#x0201D; actions which are themselves defined. We prove that under these conditions a naive agent may achieve the determination of sensory prediction functions for said conservative actions, and that the algebraic structure of these prediction functions matches that of their actions. The corresponding results are of two distinct but equally important sorts: some, taking the viewpoint of an external observer, assert that certain particular objects of interest (such as a <italic>sensory prediction function</italic>) <italic>exist</italic>; others guarantee these objects to be <italic>computable</italic> in the boundaries set by our model of knowledge. This endeavor is made in an effort to keep <italic>a priori</italic> knowledge to a minimum, and these proofs are generally of a constructive nature.</p>
<sec>
<title>3.1. Model of Knowledge of the Agent</title>
<p>In the authors&#x00027; previous works (Marcel et al., <xref ref-type="bibr" rid="B17">2017</xref>; Marcel et al., <xref ref-type="bibr" rid="B18">2019</xref>), sensorimotor interaction occurred as a sequence of (generally discrete) steps where at each point, the agent could access both its proprioception <inline-formula><mml:math id="M79"><mml:mstyle mathvariant="bold"><mml:mtext>m</mml:mtext></mml:mstyle><mml:mo>&#x02208;</mml:mo><mml:mrow><mml:mi mathvariant="-tex-caligraphic">M</mml:mi></mml:mrow></mml:math></inline-formula> (seen as an array of current joint configuration states) and its corresponding exteroceptive array <bold>s</bold> &#x0003D; &#x003C8;(<bold>m</bold>, <bold><italic>&#x003F5;</italic></bold>). These sensory arrays were then compared for equality (and for equality <italic>only</italic>) <italic>as total vectors</italic>, that is the agent may not access the vectors component by component. It is crucial to note that, much like in the referenced articles&#x02014;and following the argument that &#x0201C;there is no <italic>a priori</italic> reason why similar neural processes should generate similar percepts&#x0201D; as found in O&#x00027;Regan and No&#x000EB; (<xref ref-type="bibr" rid="B26">2001</xref>)&#x02014;we will assume here that the sensory signals are <italic>uninterpreted</italic> in the very strong sense that they retain no other structure than equality. This presents an <italic>a priori</italic> significant hurdle since this includes, e.g., order comparisons, substractions, metric structures and precludes us from using objects, such as gradients or clusterings, which are required in almost all comparable works (Censi and Murray, <xref ref-type="bibr" rid="B4">2012</xref>; Montone et al., <xref ref-type="bibr" rid="B22">2015</xref>; Laflaqui&#x000E8;re, <xref ref-type="bibr" rid="B9">2017</xref> among others). This knowledge was then used for example to compute set-theoretic motor kernels (Marcel et al., <xref ref-type="bibr" rid="B17">2017</xref>) which were shown to be a structural invariant of the sensorimotor interaction (Marcel et al., <xref ref-type="bibr" rid="B18">2019</xref>). By contrast, in this paper slight modifications are applied. Indeed, from the external point of view we now have <inline-formula><mml:math id="M80"><mml:mi mathvariant="-tex-caligraphic">B</mml:mi></mml:math></inline-formula> as a functional analog to the previous <inline-formula><mml:math id="M81"><mml:mrow><mml:mi mathvariant="-tex-caligraphic">M</mml:mi></mml:mrow></mml:math></inline-formula>, that is the set of &#x0201C;parameter&#x0201D; data that entirely determines the state of the interaction between agent and environment. However, as the definition of <inline-formula><mml:math id="M82"><mml:mi mathvariant="-tex-caligraphic">B</mml:mi></mml:math></inline-formula> refers to some explicitly <italic>external</italic> data [i.e., the <bold><italic>&#x003C4;</italic></bold> in <bold>b</bold> &#x0003D; (<bold>m</bold>, <bold><italic>&#x003C4;</italic></bold>)], we cannot assume its knowledge from the point of view of the agent. We could however elect, on the same basis previous contributions used, to assume internal knowledge of the <bold>m</bold> part of <bold>b</bold> &#x0003D; (<bold>m</bold>, <bold><italic>&#x003C4;</italic></bold>). Instead, we even assume no direct access to &#x0201C;proprioceptive&#x0201D; data and treat it as unknown to the agent. Our hypothesis is that the agent should learn to isolate what part of its proprioception lies in its unified sensory array <bold>s</bold> from the statistics of its sensorimotor experience.</p>
<p>As for remedies, it is instead where a variational approach, as defined in section 2.1.1, is preferred: while configuration data represented by <bold>b</bold> &#x02208; <inline-formula><mml:math id="M83"><mml:mi mathvariant="-tex-caligraphic">B</mml:mi></mml:math></inline-formula> still exists as an <italic>external</italic> object, the agent may only choose a <italic>motor action</italic> <inline-formula><mml:math id="M84"><mml:mi>a</mml:mi><mml:mo>&#x02208;</mml:mo><mml:mrow><mml:mi mathvariant="-tex-caligraphic">A</mml:mi></mml:mrow></mml:math></inline-formula> which, applied at <bold>b</bold>, yields the following configuration <bold>b</bold>&#x02032; &#x0003D; <italic>a</italic><bold>b</bold> &#x0003D; <italic>a</italic>(<bold>b</bold>). The agent is therefore given the capacity to compare any two elements of <inline-formula><mml:math id="M85"><mml:mrow><mml:mi mathvariant="-tex-caligraphic">A</mml:mi></mml:mrow></mml:math></inline-formula> for equality, so that it may tell whether at any two steps of its sensorimotor experience it performed two identical or distinct actions. Moreover, much deeper change in knowledge occurs at the level of sensory readings: in the following we not only ask that the agent be able to compare its entire sensory output <bold>s</bold> &#x0003D; (<sub><monospace>s</monospace><sub><italic>c</italic></sub>)<italic>c</italic> &#x02208; <inline-formula><mml:math id="M86"><mml:mi mathvariant="-tex-caligraphic">C</mml:mi></mml:math></inline-formula></sub> for equality as a vector, but that it also can check for equality two values of any given sensel. That is, for every sensel <italic>c</italic> &#x02208; <inline-formula><mml:math id="M87"><mml:mi mathvariant="-tex-caligraphic">C</mml:mi></mml:math></inline-formula>, for every values <monospace>s</monospace><sub><italic>c</italic></sub>, <inline-formula><mml:math id="M88"><mml:msubsup><mml:mrow><mml:mstyle style="font-family:courier"><mml:mtext>s</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>c</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x02032;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula> this sensel may output, the agent may test whether <inline-formula><mml:math id="M89"><mml:msub><mml:mrow><mml:mstyle style="font-family:courier"><mml:mtext>s</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>c</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo>=</mml:mo><mml:msubsup><mml:mrow><mml:mstyle style="font-family:courier"><mml:mtext>s</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>c</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x02032;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula>. In this contribution, it will be further assumed that the values output by distinct sensels are themselves <italic>a priori</italic> comparable for equality. While it is a common property in many classical applications, this limitation has been partially tackled in Laflaqui&#x000E8;re (<xref ref-type="bibr" rid="B9">2017</xref>) via sensory prediction. However, this solution relies on clustering methods implicitly exploiting structure assumptions we do not yet consider available. Therefore, this remains a current limitation of our approach which will be addressed in a future ongoing work.</p>
</sec>
<sec>
<title>3.2. Sensorimotor Binding: A Marketplace for Spatial Information</title>
<p>The formalism introduced in section 2 makes space appear as a variable in the sensorimotor equations via the receptive field, which we will use in this section to prove that under some reasonable assumptions we can talk about the spatial information content of a sensory signal. This in turn is used to form the basis of a <italic>sensory prediction</italic> the agent can use to try and infer the sensory consequences of its motor actions, mirroring the psychological construct of forward sensory model which is at the heart of ideomotor theories. This is the core idea we will further develop in the simulations of section 4 to see how a naive agent can derive such a prediction function from its sensorimotor flow.</p>
<p>Recall that for any given sensel <italic>c</italic> &#x02208; <inline-formula><mml:math id="M90"><mml:mi mathvariant="-tex-caligraphic">C</mml:mi></mml:math></inline-formula> and environment state &#x003F5; &#x02208; <inline-formula><mml:math id="M91"><mml:mi mathvariant="-tex-caligraphic">E</mml:mi></mml:math></inline-formula>, we introduced <italic>F</italic><sub><italic>c</italic></sub> the receptive field of sensel <italic>c</italic> as the function which given agent configuration <bold>b</bold> &#x02208; <inline-formula><mml:math id="M92"><mml:mi mathvariant="-tex-caligraphic">B</mml:mi></mml:math></inline-formula> yields <inline-formula><mml:math id="M93"><mml:mrow><mml:mi mathvariant="-tex-caligraphic">X</mml:mi></mml:mrow></mml:math></inline-formula>&#x00027;<inline-formula><mml:math id="M94"><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi>F</mml:mi></mml:mrow><mml:mrow><mml:mi>c</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mstyle mathvariant="bold"><mml:mtext>b</mml:mtext></mml:mstyle></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>&#x02282;</mml:mo><mml:mrow><mml:mi mathvariant="-tex-caligraphic">X</mml:mi></mml:mrow></mml:math></inline-formula> the minimal region of space which entirely determines the output of &#x003C8;<sub><italic>c</italic></sub>. Therefore, we can write</p>
<disp-formula id="E6"><label>(6)</label><mml:math id="M95"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:mo>&#x02200;</mml:mo><mml:mstyle mathvariant='bold'><mml:mtext>b</mml:mtext></mml:mstyle><mml:mo>&#x02208;</mml:mo><mml:mi mathvariant="-tex-caligraphic">B</mml:mi><mml:mo>,</mml:mo><mml:mo>&#x02200;</mml:mo><mml:mi>&#x003F5;</mml:mi><mml:mo>&#x02208;</mml:mo><mml:mi mathvariant="-tex-caligraphic">E</mml:mi><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mi>&#x003C8;</mml:mi></mml:mrow><mml:mrow><mml:mi>c</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mstyle mathvariant='bold'><mml:mtext>b</mml:mtext></mml:mstyle><mml:mo>,</mml:mo><mml:mi>&#x003F5;</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:mi>c</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>&#x003F5;</mml:mi></mml:mrow><mml:mrow><mml:mo stretchy="false">|</mml:mo><mml:msub><mml:mrow><mml:mi>F</mml:mi></mml:mrow><mml:mrow><mml:mi>c</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mstyle mathvariant='bold'><mml:mtext>b</mml:mtext></mml:mstyle></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>where <italic>f</italic><sub><italic>c</italic></sub> is a &#x0201C;sensitivity&#x0201D; function (or filter) which converts the physical properties of environment sampled into a sensory output, both selecting to which property the sensor reacts and how. Equation (6) describes the sensorimotor dynamics by dissociating the spatial dependency (which is given by <italic>F</italic><sub><italic>c</italic></sub>) and the sensitivity one (as seen with <italic>f</italic><sub><italic>c</italic></sub>), so that the observer can now speak of sensels that <italic>look at the same region of space</italic>. Let us then consider a particular condition, in which for a given action <italic>a</italic>, some sensel <italic>c</italic><sub><italic>i</italic></sub> samples <italic>after</italic> <italic>a</italic> the same point some other sensel <italic>c</italic><sub><italic>j</italic></sub> was sampling before the agent began to move. This is formally described by the relation</p>
<disp-formula id="E7"><label>(7)</label><mml:math id="M96"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:mo>&#x02200;</mml:mo><mml:mstyle mathvariant='bold'><mml:mtext>b</mml:mtext></mml:mstyle><mml:mo>&#x02208;</mml:mo><mml:mi mathvariant="-tex-caligraphic">B</mml:mi><mml:mo>,</mml:mo><mml:mtext>&#x000A0;</mml:mtext><mml:msub><mml:mrow><mml:mi>F</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>c</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>a</mml:mi><mml:mstyle mathvariant='bold'><mml:mtext>b</mml:mtext></mml:mstyle></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi>F</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>c</mml:mi></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mstyle mathvariant='bold'><mml:mtext>b</mml:mtext></mml:mstyle></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>This situation where the spatial difference between two sensels can be bridged by a displacement of the agent over time to make their respective sensory experiences coincide has already proven to yield interesting structures as in Montone et al. (<xref ref-type="bibr" rid="B22">2015</xref>) and Laflaqui&#x000E8;re (<xref ref-type="bibr" rid="B9">2017</xref>). However, these works largely dealt with the geometry of sensels and sensors, while we aim to elaborate on how this relates to the structure of actions. As for us, to have this relation apparent to the agent we also require that the output of these particular sensels be comparable, as already discussed in section 3.1. In the strictest sense, this can be by requiring that their sensitivity functions <italic>f</italic><sub><italic>c</italic><sub><italic>i</italic></sub></sub> and <italic>f</italic><sub><italic>c</italic><sub><italic>j</italic></sub></sub> are equal. It follows that</p>
<disp-formula id="E8"><label>(8)</label><mml:math id="M97"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:mo>&#x02200;</mml:mo><mml:mstyle mathvariant='bold'><mml:mtext>b</mml:mtext></mml:mstyle><mml:mo>&#x02208;</mml:mo><mml:mi mathvariant="-tex-caligraphic">B</mml:mi><mml:mo>,</mml:mo><mml:mtext>&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;</mml:mtext><mml:mo>&#x02200;</mml:mo><mml:mi>&#x003F5;</mml:mi><mml:mo>&#x02208;</mml:mo><mml:mi mathvariant="-tex-caligraphic">E</mml:mi><mml:mo>,</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mtext>&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;</mml:mtext><mml:mi>&#x003C8;</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>c</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>a</mml:mi><mml:mstyle mathvariant='bold'><mml:mtext>b</mml:mtext></mml:mstyle><mml:mo>,</mml:mo><mml:mi>&#x003F5;</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>c</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>&#x003F5;</mml:mi></mml:mrow><mml:mrow><mml:mo stretchy="false">|</mml:mo><mml:msub><mml:mrow><mml:mi>F</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>c</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>a</mml:mi><mml:mstyle mathvariant='bold'><mml:mtext>b</mml:mtext></mml:mstyle></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mtext>&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;</mml:mtext><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>c</mml:mi></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>&#x003F5;</mml:mi></mml:mrow><mml:mrow><mml:mo stretchy="false">|</mml:mo><mml:msub><mml:mrow><mml:mi>F</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>c</mml:mi></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mstyle mathvariant='bold'><mml:mtext>b</mml:mtext></mml:mstyle></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi>&#x003C8;</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>c</mml:mi></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mstyle mathvariant='bold'><mml:mtext>b</mml:mtext></mml:mstyle><mml:mo>,</mml:mo><mml:mi>&#x003F5;</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>While there are reasons to hope that a working relation could be found even for dissimilar <italic>f</italic><sub><italic>c</italic><sub><italic>i</italic></sub></sub> and <italic>f</italic><sub><italic>c</italic><sub><italic>j</italic></sub></sub>, one should remember that at the moment the outputs of sensels <italic>c</italic><sub><italic>i</italic></sub> and <italic>c</italic><sub><italic>j</italic></sub> lie in some sets totally devoid of structure. Therefore, even though a conversion function <italic>C</italic><sub><italic>i, j</italic></sub> such that &#x003C8;<sub><italic>c</italic><sub><italic>i</italic></sub></sub>(<italic>a</italic><bold>b</bold>, &#x003F5;) &#x0003D; <italic>C</italic><sub><italic>i, j</italic></sub>(&#x003C8;<sub><italic>c</italic><sub><italic>j</italic></sub></sub>(<bold>b</bold>, &#x003F5;)) might exist, we would lack the means to represent it in any way but the collection of the related sensory outputs, e.g., as opposed to the already resource heavy clustering done in Laflaqui&#x000E8;re (<xref ref-type="bibr" rid="B9">2017</xref>).</p>
<p>Equations (7) and (8) are both illustrated in <xref ref-type="fig" rid="F3">Figure 3</xref>, where a 1D (infinite) pixel array is placed in front of a 1D colored line along which the sensor can translate itself thanks to actions <italic>a</italic>. Equation (7) is captured by the fact that both receptive fields <italic>F</italic><sub><italic>c</italic><sub><italic>j</italic></sub></sub>(<bold>b</bold>) and <inline-formula><mml:math id="M98"><mml:msub><mml:mrow><mml:mi>F</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>c</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msup><mml:mrow><mml:mstyle mathvariant="bold"><mml:mtext>b</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mo>&#x02032;</mml:mo></mml:mrow></mml:msup></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:math></inline-formula>, drawn as two rectangular shapes, project on the same area on the environment. Then, Equation (8) explains how, provided the environment state &#x003F5; at these locations stays constant through any one execution of <italic>a</italic>, it causes both sensels to actually generate the same sensory (red) output. It is clear that the spatial relation being forwarded to sensory transitions depends on the sensels actually outputting the same (red) value. This might be argued to be a restrictive assumption. Nevertheless, being able to deal with different sensitivity functions is a sizable development to which an ongoing contribution shall be devoted. To conclude, a key point here is that a property entirely defined from the external point of view through receptive fields is accessible from the internal one by the constraints it imposes on the sensels outputs values during exploration. Equation (8) therefore shows how space, insofar as it is common to all sensels and actions, makes this phenomenon of shifts of receptive fields into an observable contingency of the agent&#x00027;s sensorimotor experience.</p>
<fig id="F3" position="float">
<label>Figure 3</label>
<caption><p>Illustration of how the underlying 1D space induces transitions between cross-sensel outputs. In this case, under action <italic>a</italic>, sensel <italic>c</italic><sub><italic>i</italic></sub> takes the place of sensel <italic>c</italic><sub><italic>j</italic></sub>: the output of <italic>c</italic><sub><italic>i</italic></sub> after <italic>a</italic> (red) is the same as the output of <italic>c</italic><sub><italic>j</italic></sub> before <italic>a</italic> (red). The same applies when performing <italic>a</italic> a second time: the yellow color is transferred from <italic>c</italic><sub><italic>j</italic></sub> to <italic>c</italic><sub><italic>i</italic></sub>.</p></caption>
<graphic xlink:href="frobt-07-561660-g0003.tif"/>
</fig>
</sec>
<sec>
<title>3.3. A Motor and Sensory Account of Spatial Conservation</title>
<sec>
<title>3.3.1. Conservation Through Permutation: Conservative Actions</title>
<p>The result obtained in the previous subsection exhibits an important property making internally available spatial matching between receptive fields at different timesteps of motor exploration. But given that the actual motor exploration follows the algebraic structure of actions <inline-formula><mml:math id="M99"><mml:mrow><mml:mi mathvariant="-tex-caligraphic">A</mml:mi></mml:mrow></mml:math></inline-formula>, it still remains to be shown how these two structures are consistent. This can be made apparent by introducing <italic>conservative actions</italic> as those <italic>a</italic> of <inline-formula><mml:math id="M100"><mml:mrow><mml:mi mathvariant="-tex-caligraphic">A</mml:mi></mml:mrow></mml:math></inline-formula> for which <italic>all</italic> sensels of the agent exchange the places they sample: there is conservation of the (spatial) information available. In terms of the formalism, <inline-formula><mml:math id="M101"><mml:mi>a</mml:mi><mml:mo>&#x02208;</mml:mo><mml:mrow><mml:mi mathvariant="-tex-caligraphic">A</mml:mi></mml:mrow></mml:math></inline-formula> is conservative if it verifies</p>
<disp-formula id="E9"><label>(9)</label><mml:math id="M102"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:mo>&#x02200;</mml:mo><mml:mi>c</mml:mi><mml:mo>&#x02208;</mml:mo><mml:mi mathvariant="-tex-caligraphic">C</mml:mi><mml:mo>,</mml:mo><mml:mo>&#x02203;</mml:mo><mml:msup><mml:mrow><mml:mi>c</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x02032;</mml:mo></mml:mrow></mml:msup><mml:mo>&#x02208;</mml:mo><mml:mi mathvariant="-tex-caligraphic">C</mml:mi><mml:mtext>&#x000A0;such&#x000A0;that&#x000A0;</mml:mtext><mml:mo>&#x02200;</mml:mo><mml:mstyle mathvariant='bold'><mml:mtext>b</mml:mtext></mml:mstyle><mml:mo>&#x02208;</mml:mo><mml:mi mathvariant="-tex-caligraphic">B</mml:mi><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mi>F</mml:mi></mml:mrow><mml:mrow><mml:mi>c</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>a</mml:mi><mml:mstyle mathvariant='bold'><mml:mtext>b</mml:mtext></mml:mstyle></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi>F</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mrow><mml:mi>c</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x02032;</mml:mo></mml:mrow></mml:msup></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mstyle mathvariant='bold'><mml:mtext>b</mml:mtext></mml:mstyle></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>generalizing somewhat Equation (7). This characterization makes apparent that many actions can&#x00027;t be conservative: for example, &#x0201C;turning back&#x0201D; may only be conservative for the rare agent that &#x0201C;sees&#x0201D; precisely as much forwards as it does backwards. In fact, the spatiality of the condition on receptive fields makes it so that all readily found conservative actions correspond to displacements of the body of the agent. In the following, &#x0201C;<inline-formula><mml:math id="M103"><mml:mo>&#x02200;</mml:mo><mml:mstyle mathvariant="bold"><mml:mtext>b</mml:mtext></mml:mstyle><mml:mo>&#x02208;</mml:mo><mml:mi mathvariant="-tex-caligraphic">B</mml:mi><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mi>F</mml:mi></mml:mrow><mml:mrow><mml:mi>c</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>a</mml:mi><mml:mstyle mathvariant="bold"><mml:mtext>b</mml:mtext></mml:mstyle></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi>F</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mrow><mml:mi>c</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x02032;</mml:mo></mml:mrow></mml:msup></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mstyle mathvariant="bold"><mml:mtext>b</mml:mtext></mml:mstyle></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:math></inline-formula>&#x0201D; will be shortened to the more legible <inline-formula><mml:math id="M104"><mml:mi>c</mml:mi><mml:mover class="overset"><mml:mrow><mml:mo>&#x02192;</mml:mo></mml:mrow><mml:mrow><mml:mi>a</mml:mi></mml:mrow></mml:mover><mml:msup><mml:mrow><mml:mi>c</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x02032;</mml:mo></mml:mrow></mml:msup></mml:math></inline-formula>, and <italic>c</italic> (resp. <italic>c</italic>&#x02032;) is said to be the <italic>predecessor</italic> (resp. <italic>successor</italic>) of <italic>c</italic>&#x02032; (resp. <italic>c</italic>) by <italic>a</italic>. It is proven in <xref ref-type="supplementary-material" rid="SM1">Appendix 1</xref> that for conservative actions <italic>a</italic>, the relation <inline-formula><mml:math id="M105"><mml:mover class="overset"><mml:mrow><mml:mo>&#x02192;</mml:mo></mml:mrow><mml:mrow><mml:mi>a</mml:mi></mml:mrow></mml:mover></mml:math></inline-formula> can be made into a successor function</p>
<disp-formula id="E10"><label>(10)</label><mml:math id="M106"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>&#x003C3;</mml:mi></mml:mrow><mml:mrow><mml:mi>a</mml:mi></mml:mrow></mml:msub><mml:mo>:</mml:mo><mml:mi mathvariant="-tex-caligraphic">C</mml:mi><mml:mo>&#x02192;</mml:mo><mml:mi mathvariant="-tex-caligraphic">C</mml:mi></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mtext>&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;</mml:mtext><mml:mi>c</mml:mi><mml:mo>&#x021A6;</mml:mo><mml:msup><mml:mrow><mml:mi>c</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x02032;</mml:mo></mml:mrow></mml:msup></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>where <inline-formula><mml:math id="M107"><mml:msup><mml:mrow><mml:mi>c</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x02032;</mml:mo></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi>&#x003C3;</mml:mi></mml:mrow><mml:mrow><mml:mi>a</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>c</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:math></inline-formula> is a sensel verifying <inline-formula><mml:math id="M108"><mml:mi>c</mml:mi><mml:mover class="overset"><mml:mrow><mml:mo>&#x02192;</mml:mo></mml:mrow><mml:mrow><mml:mi>a</mml:mi></mml:mrow></mml:mover><mml:msup><mml:mrow><mml:mi>c</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x02032;</mml:mo></mml:mrow></mml:msup></mml:math></inline-formula>. Therefore, conservative actions can equivalently be thought of as <italic>permutation of sensels</italic>. Importantly, conservative actions provide a natural framework for exploiting Equations (7) and (8) during motor exploration. Indeed, it is proven in <xref ref-type="supplementary-material" rid="SM1">Appendix 2</xref> (see the Supplementary Materials) that conservative actions form a <italic>subgroup</italic> <inline-formula><mml:math id="M109"><mml:msub><mml:mrow><mml:mrow><mml:mi mathvariant="-tex-caligraphic">A</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mi mathvariant="-tex-caligraphic">C</mml:mi></mml:mrow></mml:msub><mml:mo>&#x02282;</mml:mo><mml:mrow><mml:mi mathvariant="-tex-caligraphic">A</mml:mi></mml:mrow></mml:math></inline-formula> for its composition operation. That is to say, chaining conservative actions yield other actions which are necessarily conservative, and the inverses of conservative actions are themselves conservative.</p>
<p>At this stage, it has been shown how the spatial property of permutation of the receptive fields relates to the intrinsic motor structure of the agent. However, this does not suffice to make this group structure of conservative actions accessible to the agent given the <italic>a priori</italic> knowledge we discussed in subsection 3.1, since the dependency of the sensorimotor process on the spatial variable is implicit. We must therefore go through one final step to relate the available informational content (i.e., sensory reading) to the motor structure.</p>
</sec>
<sec>
<title>3.3.2. From Permutation to Prediction: Making It Into Sensory Territory!</title>
<p>Let us consider the agent at any point (<bold>b</bold>, <bold>s</bold>) of its sensorimotor experience. Its sensory output is <bold>s</bold> &#x0003D; &#x003C8;<sub><inline-formula><mml:math id="M110"><mml:mi mathvariant="-tex-caligraphic">C</mml:mi></mml:math></inline-formula></sub>(<bold>b</bold>, &#x003F5;) &#x0003D; (<sub><monospace>s</monospace><sub><italic>c</italic></sub>)<italic>c</italic> &#x02208; <inline-formula><mml:math id="M111"><mml:mi mathvariant="-tex-caligraphic">C</mml:mi></mml:math></inline-formula></sub>, and for any action <italic>a</italic> it may perform this sensory output should shift to <bold>s</bold>&#x02032; &#x0003D; &#x003C8;(<bold>b</bold>&#x02032; &#x0003D; <italic>a</italic><bold>b</bold>, &#x003F5;) provided the environment state stays constant throughout the action. If we now restrict ourselves to the case of conservative actions, we get</p>
<disp-formula id="E11"><label>(11)</label><mml:math id="M112"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:msup><mml:mrow><mml:mstyle mathvariant='bold'><mml:mtext>s</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mo>&#x02032;</mml:mo></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mtext class="texttt" mathvariant="monospace">s&#x00027;</mml:mtext></mml:mrow><mml:mrow><mml:mi>c</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>c</mml:mi><mml:mo>&#x02208;</mml:mo><mml:mi mathvariant="-tex-caligraphic">C</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mtext>&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;</mml:mtext><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>&#x003C8;</mml:mi></mml:mrow><mml:mrow><mml:mi>c</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>a</mml:mi><mml:mstyle mathvariant='bold'><mml:mtext>b</mml:mtext></mml:mstyle><mml:mo>,</mml:mo><mml:mi>&#x003F5;</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>c</mml:mi><mml:mo>&#x02208;</mml:mo><mml:mi mathvariant="-tex-caligraphic">C</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:mi>c</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>&#x003F5;</mml:mi></mml:mrow><mml:mrow><mml:mo stretchy="false">|</mml:mo><mml:msub><mml:mrow><mml:mi>F</mml:mi></mml:mrow><mml:mrow><mml:mi>c</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>a</mml:mi><mml:mstyle mathvariant='bold'><mml:mtext>b</mml:mtext></mml:mstyle></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>c</mml:mi><mml:mo>&#x02208;</mml:mo><mml:mi mathvariant="-tex-caligraphic">C</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mtext>&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;</mml:mtext><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:mi>c</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>&#x003F5;</mml:mi></mml:mrow><mml:mrow><mml:mo stretchy="false">|</mml:mo><mml:msub><mml:mrow><mml:mi>F</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>&#x003C3;</mml:mi></mml:mrow><mml:mrow><mml:mi>a</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>c</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mstyle mathvariant='bold'><mml:mtext>b</mml:mtext></mml:mstyle></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>c</mml:mi><mml:mo>&#x02208;</mml:mo><mml:mi mathvariant="-tex-caligraphic">C</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>&#x003C8;</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>&#x003C3;</mml:mi></mml:mrow><mml:mrow><mml:mi>a</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>c</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mstyle mathvariant='bold'><mml:mtext>b</mml:mtext></mml:mstyle><mml:mo>,</mml:mo><mml:mi>&#x003F5;</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>c</mml:mi><mml:mo>&#x02208;</mml:mo><mml:mi mathvariant="-tex-caligraphic">C</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mtext>&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;</mml:mtext><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mtext class="texttt" mathvariant="monospace">s</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>&#x003C3;</mml:mi></mml:mrow><mml:mrow><mml:mi>a</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>c</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>c</mml:mi><mml:mo>&#x02208;</mml:mo><mml:mi mathvariant="-tex-caligraphic">C</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>so that performing motor action <italic>a</italic> only results in a permutation of the components of the sensory output. This permutation is exactly &#x003C3;<sub><italic>a</italic></sub>, and therefore is a constant of the agent which does not depend on the actual current configuration (<bold>b</bold>, &#x003F5;). Equation (11) shows that any <italic>conservative</italic> action <inline-formula><mml:math id="M113"><mml:mi>a</mml:mi><mml:mo>&#x02208;</mml:mo><mml:msub><mml:mrow><mml:mrow><mml:mi mathvariant="-tex-caligraphic">A</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mi mathvariant="-tex-caligraphic">C</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> corresponds to a <italic>sensory</italic> function</p>
<disp-formula id="E12"><label>(12)</label><mml:math id="M114"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mtext>&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;</mml:mtext><mml:mo>&#x003A0;</mml:mo></mml:mrow><mml:mrow><mml:mi>a</mml:mi></mml:mrow></mml:msub><mml:mo>:</mml:mo><mml:mrow><mml:mi mathvariant="-tex-caligraphic">S</mml:mi></mml:mrow><mml:mo>&#x02192;</mml:mo><mml:mrow><mml:mi mathvariant="-tex-caligraphic">S</mml:mi></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mstyle style="font-family:courier"><mml:mtext>s</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>c</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>c</mml:mi><mml:mo>&#x02208;</mml:mo><mml:mi mathvariant="-tex-caligraphic">C</mml:mi></mml:mrow></mml:msub><mml:mo>&#x021A6;</mml:mo><mml:msub><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mstyle style="font-family:courier"><mml:mtext>s</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>&#x003C3;</mml:mi></mml:mrow><mml:mrow><mml:mi>a</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>c</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>c</mml:mi><mml:mo>&#x02208;</mml:mo><mml:mi mathvariant="-tex-caligraphic">C</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>which verifies the property</p>
<disp-formula id="E13"><label>(13)</label><mml:math id="M115"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:mo>&#x02200;</mml:mo><mml:mstyle mathvariant='bold'><mml:mtext>b</mml:mtext></mml:mstyle><mml:mo>&#x02208;</mml:mo><mml:mi mathvariant="-tex-caligraphic">B</mml:mi><mml:mo>,</mml:mo><mml:mo>&#x02200;</mml:mo><mml:mi>&#x003F5;</mml:mi><mml:mo>&#x02208;</mml:mo><mml:mi mathvariant="-tex-caligraphic">E</mml:mi><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mi>&#x003C8;</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="-tex-caligraphic">C</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>a</mml:mi><mml:mstyle mathvariant='bold'><mml:mtext>b</mml:mtext></mml:mstyle><mml:mo>,</mml:mo><mml:mi>&#x003F5;</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mo>&#x003A0;</mml:mo></mml:mrow><mml:mrow><mml:mi>a</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>&#x003C8;</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="-tex-caligraphic">C</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mstyle mathvariant='bold'><mml:mtext>b</mml:mtext></mml:mstyle><mml:mo>,</mml:mo><mml:mi>&#x003F5;</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>Per this property, &#x003A0;<sub><italic>a</italic></sub> is a function which given <italic>any</italic> starting sensory reading of the agent can determine the sensation it would experience after performing action <italic>a</italic> (provided the environment state stays constant during <italic>a</italic>). It must be reiterated that a crucial part is that this function operates on <italic>sensory</italic> data, which is precisely the only data available to the agent.</p>
</sec>
</sec>
<sec>
<title>3.4. Prediction as an Internal Proxy of the Action Group</title>
<p>From there, let us now consider</p>
<disp-formula id="E14"><label>(14)</label><mml:math id="M116"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:mo>&#x003A0;</mml:mo><mml:mo>:</mml:mo><mml:msub><mml:mrow><mml:mrow><mml:mi mathvariant="-tex-caligraphic">A</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mi mathvariant="-tex-caligraphic">C</mml:mi></mml:mrow></mml:msub><mml:mo>&#x02192;</mml:mo><mml:mtext class="textrm" mathvariant="normal">Bij</mml:mtext><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mrow><mml:mi mathvariant="-tex-caligraphic">S</mml:mi></mml:mrow></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mtext>&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;</mml:mtext><mml:mi>a</mml:mi><mml:mo>&#x021A6;</mml:mo><mml:msub><mml:mrow><mml:mo>&#x003A0;</mml:mo></mml:mrow><mml:mrow><mml:mi>a</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>with <inline-formula><mml:math id="M117"><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">Bij</mml:mtext></mml:mstyle><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mrow><mml:mi mathvariant="-tex-caligraphic">S</mml:mi></mml:mrow></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:math></inline-formula> the set of all bijections from <inline-formula><mml:math id="M118"><mml:mrow><mml:mi mathvariant="-tex-caligraphic">S</mml:mi></mml:mrow></mml:math></inline-formula> onto itself, i.e., &#x003A0; maps abstract motor actions to their sensory prediction functions. As proven in <xref ref-type="supplementary-material" rid="SM1">Appendix 3</xref> (see the Supplementary Materials), it establishes a group isomorphism between conservative actions <inline-formula><mml:math id="M119"><mml:mi>a</mml:mi><mml:mo>&#x02208;</mml:mo><mml:msub><mml:mrow><mml:mrow><mml:mi mathvariant="-tex-caligraphic">A</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mi mathvariant="-tex-caligraphic">C</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> and their associated sensory prediction maps <inline-formula><mml:math id="M120"><mml:msub><mml:mrow><mml:mo>&#x003A0;</mml:mo></mml:mrow><mml:mrow><mml:mi>a</mml:mi></mml:mrow></mml:msub><mml:mo>&#x02208;</mml:mo><mml:mo>&#x003A0;</mml:mo><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mrow><mml:mi mathvariant="-tex-caligraphic">A</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mi mathvariant="-tex-caligraphic">C</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:math></inline-formula>, so that</p>
<disp-formula id="E15"><label>(15)</label><mml:math id="M121"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mrow><mml:mi mathvariant="-tex-caligraphic">A</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mi mathvariant="-tex-caligraphic">C</mml:mi></mml:mrow></mml:msub><mml:mo>&#x02245;</mml:mo><mml:mo>&#x003A0;</mml:mo><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mrow><mml:mi mathvariant="-tex-caligraphic">A</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mi mathvariant="-tex-caligraphic">C</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>While Equation (15) written as is might easily pass as benign, it is actually a very powerful result and the centerpiece of our argument. In a similar fashion to Equation (8) before it, this specifies how the algebraic structure of (conservative) actions &#x02014;which largely governs the sensorimotor experience&#x02014; appears as a contingency of the sensorimotor flow which can be picked up on by an agent as naive as outlined in section 3.1. Using the terminology introduced there, it shows how some <italic>external</italic> structures describing the interaction between agent and environment can be captured from the <italic>internal</italic> point of view. In turn, it is the enunciation &#x02014;and the proof&#x02014; of this result that motivate developing the formalism as in section 2, going as far back as absolute configurations <bold>b</bold> &#x02208; <inline-formula><mml:math id="M122"><mml:mi mathvariant="-tex-caligraphic">B</mml:mi></mml:math></inline-formula> and ambient space <inline-formula><mml:math id="M123"><mml:mrow><mml:mi mathvariant="-tex-caligraphic">X</mml:mi></mml:mrow></mml:math></inline-formula>. Equation (15) will be leveraged as part of the simulations in the following.</p>
</sec>
</sec>
<sec id="s4">
<title>4. Simulating a 2D Version of Our Toy Model</title>
<p>Up until this point, the discussion has been kept to a purely theoretical level. The following section is now devoted to a simulated experiment illustrating the new proposed formalism. To this end it starts with a description of the experimental setup, highlighting how it manifests in the proposed formalism of section 2. Then, we describe what steps the agent goes through and how they relate to the theoretical results we put forth in the previous section. Finally, we review the observable results of these experiments to inspect how our earlier theoretical claims appear in practical cases.</p>
<sec>
<title>4.1. Description of the Experimental Setup</title>
<p>In the following, we will consider the 2D generalization of the illustrating case used in the previous sections. That is, the studied agent body is now made of a planar, rectangular camera sat atop omnidirectional wheels, see <xref ref-type="fig" rid="F4">Figure 4</xref>. These allow for translations along both <italic>x</italic> and <italic>y</italic> coordinates, as well as rotations in the plane. The pixels of the camera are sensitive to the luminance of the ambient stimulus, which for our experimental purposes is a fixed grayscale image placed above the moving camera. Describing the problem in the terms of the developed formalism gives:</p>
<list list-type="bullet">
<list-item><p>the ambient space <inline-formula><mml:math id="M124"><mml:mrow><mml:mi mathvariant="-tex-caligraphic">X</mml:mi></mml:mrow></mml:math></inline-formula> is the plane &#x0211D;<sup>2</sup>;</p></list-item>
<list-item><p>the set of physical properties of space <inline-formula><mml:math id="M125"><mml:mrow><mml:mi mathvariant="-tex-caligraphic">P</mml:mi></mml:mrow></mml:math></inline-formula> is [0;255] the set of luminance values. Therefore, a state of the environment &#x003F5; &#x02208; <inline-formula><mml:math id="M126"><mml:mi mathvariant="-tex-caligraphic">E</mml:mi></mml:math></inline-formula> is a function which takes points (<italic>x, y</italic>) of the ambient plane and map them to luminances as given by the data of the acquired image;</p></list-item>
<list-item><p>the configuration space <inline-formula><mml:math id="M127"><mml:mi mathvariant="-tex-caligraphic">B</mml:mi></mml:math></inline-formula> is <inline-formula><mml:math id="M128"><mml:mrow><mml:msup><mml:mi>&#x0211D;</mml:mi><mml:mn>2</mml:mn></mml:msup><mml:mo>&#x000D7;</mml:mo><mml:msub><mml:mi>S</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>&#x02245;</mml:mo><mml:mtext>&#x000A0;</mml:mtext><mml:msup><mml:mi>&#x0211D;</mml:mi><mml:mn>2</mml:mn></mml:msup><mml:mo>&#x000D7;</mml:mo><mml:mrow><mml:mo>]</mml:mo><mml:mrow><mml:mo>&#x02212;</mml:mo><mml:mi>&#x003C0;</mml:mi><mml:mo>;</mml:mo><mml:mi>&#x003C0;</mml:mi></mml:mrow><mml:mo>]</mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> to account for both position (<italic>x, y</italic>) and orientation &#x003B8; of the robot on the plane;</p></list-item>
<list-item><p>the sensory output of the agent is an array <inline-formula><mml:math id="M129"><mml:mstyle mathvariant="bold"><mml:mtext>s</mml:mtext></mml:mstyle><mml:mo>&#x02208;</mml:mo><mml:msup><mml:mrow><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:mn>0</mml:mn><mml:mo>;</mml:mo><mml:mn>255</mml:mn></mml:mrow><mml:mo>]</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>W</mml:mi></mml:mrow><mml:mrow><mml:mi>c</mml:mi></mml:mrow></mml:msub><mml:mo>&#x000D7;</mml:mo><mml:msub><mml:mrow><mml:mi>H</mml:mi></mml:mrow><mml:mrow><mml:mi>c</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msup></mml:math></inline-formula>, with <italic>W</italic><sub><italic>c</italic></sub> (resp. <italic>H</italic><sub><italic>c</italic></sub>) the number of sensels/pixels in one row (resp. one column) of the camera. In the simulation, the image dimension is set to <italic>W</italic><sub><italic>c</italic></sub> &#x0003D; <italic>H</italic><sub><italic>c</italic></sub> &#x0003D; 10. Each of the components <monospace>s</monospace><sub><italic>c</italic><sub><italic>i</italic></sub></sub> of <bold>s</bold> are the sensory output of pixel <italic>c</italic><sub><italic>i</italic></sub>, given by the luminance of the spatial location in the environment it is currently looking at. Importantly, the order of each pixel in <bold>s</bold> is chosen arbitrarily.</p></list-item>
</list>
<fig id="F4" position="float">
<label>Figure 4</label>
<caption><p>Experimental setup used in simulation to assess the proposed formalism. A holonomic agent is placed in a 2D environment which ceiling is made of a fixed grayscale image. The agent can move in this environment by applying seven different actions <italic>a</italic><sub><italic>k</italic></sub>. A 10 &#x000D7; 10 camera pointed toward the ceiling is placed on the top of the agent and generates a sensory array <bold>s</bold> = (<sub><monospace>s</monospace><sub><italic>c</italic><sub><italic>i</italic></sub></sub>)<italic>i</italic></sub>.</p></caption>
<graphic xlink:href="frobt-07-561660-g0004.tif"/>
</fig>
<p>Let us define a set <italic>A</italic> of <italic>seven</italic> basic actions <italic>a</italic><sub><italic>k</italic></sub>, <italic>k</italic> &#x0003D; 1, &#x02026;, 7:</p>
<list list-type="order">
<list-item><p>one identity action <italic>a</italic><sub>1</sub>, mapping any current absolute configuration to itself;</p></list-item>
<list-item><p>four translations <italic>a</italic><sub>2</sub>, <italic>a</italic><sub>3</sub>, <italic>a</italic><sub>4</sub>, <italic>a</italic><sub>5</sub>, one for each direction of the basis axes on the plane, all of amplitude the size of 1 pixel. These are defined relative to the <italic>current orientation of the agent</italic>, which can end up distinct from external systems of axes when the agent rotates;</p></list-item>
<list-item><p>two 90&#x000B0; rotations <italic>a</italic><sub>6</sub>, <italic>a</italic><sub>7</sub>, to account for both clockwise and counter-clockwise turns.</p></list-item>
</list>
<p>These actions are depicted in <xref ref-type="fig" rid="F4">Figure 4</xref> with colored arrows. Note that the color convention used in this figure is the same used in the forthcoming figures for coherence.</p>
<p>Relative to the prior discussion about properties of motor actions, these are not strictly <italic>conservative</italic> as per the definition (9): indeed, consider <italic>a</italic><sub>5</sub> the elementary &#x0201C;forward&#x0201D; translation. While inner pixels of the camera will certainly exchange receptive fields, those in the front row will necessarily observe new areas of space after the agent has moved forward. Therefore, none of these front row pixels has any successor for <italic>a</italic><sub>5</sub>, which precludes it from being strictly conservative. The same phenomenon of border impredictibility occurs for all translations, each with their respective side failing to verify the conservation property. We nevertheless proceed with the formalism on the basis that actions are at worst, informally speaking, &#x0201C;quasi&#x0201D; conservative. This is based on the quick analysis that, for a <italic>N</italic>-by-<italic>N</italic> square camera, this defect only occurs in <italic>N</italic> pixels which remains an order of magnitude fewer than the <italic>N</italic><sup>2</sup> total.</p>
<p>Representing the sensory configuration as numerical arrays makes the permutation of sensels into <italic>N</italic><sub><italic>c</italic></sub>-by-<italic>N</italic><sub><italic>c</italic></sub> sparse matrices, where <italic>N</italic><sub><italic>c</italic></sub> &#x0003D; <italic>W</italic><sub><italic>c</italic></sub> &#x000D7; <italic>H</italic><sub><italic>c</italic></sub> is the number of sensels. Indeed, starting with any permutation &#x003D5;:&#x027E6;1, <italic>N</italic><sub><italic>c</italic></sub>&#x027E7; &#x02192; &#x027E6;1, <italic>N</italic><sub><italic>c</italic></sub>&#x027E7; we can define a matrix <italic>M</italic><sub>&#x003D5;</sub> &#x02208; <italic>M</italic><sub><italic>N</italic><sub><italic>c</italic></sub>, <italic>N</italic><sub><italic>c</italic></sub></sub>(&#x0211D;) by</p>
<disp-formula id="E16"><label>(16)</label><mml:math id="M130"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd columnalign="left"><mml:msub><mml:mrow><mml:msub><mml:mrow><mml:mi>M</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x003D5;</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:mtable style="text-align:axis;" equalrows="false" columnlines="none" equalcolumns="false" class="array"><mml:mtr><mml:mtd columnalign="left"><mml:mn>1</mml:mn></mml:mtd><mml:mtd columnalign="left"><mml:mtext>iff&#x000A0;</mml:mtext><mml:mi>j</mml:mi><mml:mo>=</mml:mo><mml:mi>&#x003D5;</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>,</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="left"><mml:mn>0</mml:mn></mml:mtd><mml:mtd columnalign="left"><mml:mtext>else</mml:mtext><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>It can then be checked that for any array <bold>s</bold> &#x0003D; (<sub><monospace>s</monospace><sub><italic>i</italic></sub>)<italic>i</italic> &#x02208; &#x027E6;1, <italic>N</italic><sub><italic>c</italic></sub>&#x027E7;</sub>, the array <bold>s</bold><sub>&#x003D5;</sub> &#x0003D; (<sub><monospace>s</monospace><sub>&#x003D5;(<italic>i</italic>)</sub>)<italic>i</italic> &#x02208; &#x027E6;1, <italic>N</italic><sub><italic>c</italic></sub>&#x027E7;</sub> obtained by permutating the components of <bold>s</bold> by &#x003D5; verifies <bold>s</bold><sub>&#x003D5;</sub> &#x0003D; <italic>M</italic><sub>&#x003D5;</sub><bold>s</bold>. It is clear that working with such a representation incurs a large memory overhead (with only <italic>N</italic><sub><italic>c</italic></sub> of all <inline-formula><mml:math id="M131"><mml:msubsup><mml:mrow><mml:mi>N</mml:mi></mml:mrow><mml:mrow><mml:mi>c</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msubsup></mml:math></inline-formula> coefficients being non-null). Furthermore, finding a permutation is known to be a problem of exponential complexity. However, we do not aim to propose a scalable implementation in the following, but rather to illustrate as a proof of concepts the developments in section 3.</p>
</sec>
<sec>
<title>4.2. Description of the Experiments</title>
<p>The proposed simulation can be decomposed as a sequence of two related, successive, experiments. First, these are briefly described in a global manner so as to go through the flow of the experiment. Then, each experiment is described in greater detail with respect to its implementation. It is in this second part that relevant proofs ensuring both completion and correctness of the endeavor are provided. In this setup, the robot is given a set <inline-formula><mml:math id="M132"><mml:msub><mml:mrow><mml:mrow><mml:mi mathvariant="-tex-caligraphic">A</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">init</mml:mtext></mml:mstyle></mml:mrow></mml:msub></mml:math></inline-formula> of <inline-formula><mml:math id="M133"><mml:msub><mml:mrow><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="-tex-caligraphic">A</mml:mi></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula> unknown actions drawn in the set of <italic>combinations</italic> of actions of <italic>A</italic>. Although <italic>A</italic> was designed for convenience from an external point of view, <inline-formula><mml:math id="M134"><mml:msub><mml:mrow><mml:mrow><mml:mi mathvariant="-tex-caligraphic">A</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">init</mml:mtext></mml:mstyle></mml:mrow></mml:msub></mml:math></inline-formula> may not accurately reflect it. Indeed, for random draws there is a high likelihood of missing actions when <inline-formula><mml:math id="M135"><mml:msub><mml:mrow><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="-tex-caligraphic">A</mml:mi></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula> is small, of duplicate actions when it is large. However, as discussed previously these notions do not yet make sense to the agent, which can only &#x0201C;run&#x0201D; actions drawn. Importantly, at first the considerations will be restricted to the case where <inline-formula><mml:math id="M136"><mml:msub><mml:mrow><mml:mrow><mml:mi mathvariant="-tex-caligraphic">A</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">init</mml:mtext></mml:mstyle></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi>A</mml:mi></mml:math></inline-formula>. This is a possibly strong assumption about the initial fitness of readily available commands to the &#x0201C;objective&#x0201D; capabilities of the agent. The influence of this choice and the effect of less optimally designed starting command shall be discussed in the final part of this section.</p>
<p>The first part of the experiment is one of <italic>motor babbling</italic>. During it, the agent effectively runs its available actions <inline-formula><mml:math id="M137"><mml:msub><mml:mrow><mml:mi>a</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mo>&#x02208;</mml:mo><mml:msub><mml:mrow><mml:mrow><mml:mi mathvariant="-tex-caligraphic">A</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">init</mml:mtext></mml:mstyle></mml:mrow></mml:msub></mml:math></inline-formula> multiple times and tries to figure out whether they are <italic>conservative</italic> by computing their associated sensel permutation map. This is realized as a sequential process: at timestep <italic>t</italic><sub><italic>n</italic></sub>, the agent chooses and runs an action <inline-formula><mml:math id="M138"><mml:msub><mml:mrow><mml:mi>a</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi>a</mml:mi><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo>]</mml:mo></mml:mrow><mml:mo>&#x02208;</mml:mo><mml:msub><mml:mrow><mml:mrow><mml:mi mathvariant="-tex-caligraphic">A</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">init</mml:mtext></mml:mstyle></mml:mrow></mml:msub></mml:math></inline-formula>, and the absolute configuration <bold>b</bold>[<italic>t</italic><sub><italic>n</italic></sub>] &#x0003D; (<italic>x</italic>[<italic>t</italic><sub><italic>n</italic></sub>], <italic>y</italic>[<italic>t</italic><sub><italic>n</italic></sub>], &#x003B8;[<italic>t</italic><sub><italic>n</italic></sub>]) is accordingly changed to <bold>b</bold>[<italic>t</italic><sub><italic>n</italic>&#x0002B;1</sub>] &#x0003D; <italic>a</italic><sub><italic>k</italic></sub><bold>b</bold>[<italic>t</italic><sub><italic>n</italic></sub>]. Corresponding sensory array <bold>s</bold>[<italic>t</italic><sub><italic>n</italic>&#x0002B;1</sub>] &#x0003D; (<sub><monospace>s</monospace><sub><italic>i</italic></sub>[<italic>t</italic><sub><italic>n</italic>&#x0002B;1</sub>])<italic>i</italic></sub> is then used to proceed in the computation of the (candidate) permutation matrix <italic>M</italic><sub><italic>a</italic><sub><italic>k</italic></sub></sub> of <italic>a</italic><sub><italic>k</italic></sub>, with the details of the update rule discussed in the following subsection. It must again be stressed that we do not consider the actual time <italic>t</italic><sub><italic>n</italic>&#x0002B;1</sub>&#x02212;<italic>t</italic><sub><italic>n</italic></sub> required to perform the action <italic>a</italic> as a relevant information of the proposed sensorimotor framework. It may vary for distinct actions without it affecting whatsoever the sequence of experienced absolute configurations <bold>b</bold>. During this exploration, the state of the environment &#x003F5; is also allowed to vary with time so long as it is not updated during the generation of <italic>a</italic><sub><italic>k</italic></sub>, i.e., &#x003F5; can change <italic>between</italic> actions. This is achieved during the simulation by entirely changing the grayscale image presented to the agent between each action. In the following, the choice of action is randomly made at each timestep. This may at times slow the learning of the permutation matrices and could certainly be improved, for instance by introducing a necessarily intrinsic criterion like curiosity as in Oudeyer et al. (<xref ref-type="bibr" rid="B28">2005</xref>). However, the specific case studied here is simple enough that a random strategy suffices to obtain good results.</p>
<p>Once this first step is complete, the agent computes all products of (quasi) permutation matrices to make the resulting set of matrices. As per Equation (4), this set is precisely the one of all matrices that decompose over the <inline-formula><mml:math id="M139"><mml:msub><mml:mrow><mml:mi>M</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>a</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mi>a</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mo>&#x02208;</mml:mo><mml:msub><mml:mrow><mml:mrow><mml:mi mathvariant="-tex-caligraphic">A</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">init</mml:mtext></mml:mstyle></mml:mrow></mml:msub></mml:math></inline-formula>. Following our argument about the groups of prediction functions and motor actions being isomorphic, this set can be taken as the <italic>global</italic> understanding of its motor capabilities the agent has acquired. Here &#x0201C;global&#x0201D; denotes that new structure, absent from the first empirical phase which was limited to <inline-formula><mml:math id="M140"><mml:msub><mml:mrow><mml:mrow><mml:mi mathvariant="-tex-caligraphic">A</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">init</mml:mtext></mml:mstyle></mml:mrow></mml:msub></mml:math></inline-formula>, emerged from the computation of products. Finally, the effect of changing the set of actions available at start on the structure graph discovered in the second experiment is studied in a third part (see section 4.3.3).</p>
<sec>
<title>4.2.1. Learning the Prediction Through Sensorimotor Interaction</title>
<p>The first experiment performed by the agent is computing, where possible, the permutation matrix associated to each of its available motor actions. This is done according to the following procedure: at the beginning of the sensorimotor experience, to each starting action <inline-formula><mml:math id="M141"><mml:msub><mml:mrow><mml:mi>a</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mo>&#x02208;</mml:mo><mml:msub><mml:mrow><mml:mrow><mml:mi mathvariant="-tex-caligraphic">A</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">init</mml:mtext></mml:mstyle></mml:mrow></mml:msub></mml:math></inline-formula> associate a <italic>N</italic><sub><italic>c</italic></sub> &#x000D7; <italic>N</italic><sub><italic>c</italic></sub> matrix <italic>M</italic><sub><italic>a</italic><sub><italic>k</italic></sub></sub> where <italic>N</italic><sub><italic>c</italic></sub> is associated the number of sensels. This matrix is initialized so that all of its coefficients are 1. Then, at the end of timestep <italic>t</italic><sub><italic>n</italic></sub> where it performed action <italic>a</italic><sub><italic>k</italic></sub> (that is <italic>a</italic>[<italic>t</italic><sub><italic>n</italic></sub>] &#x0003D; <italic>a</italic><sub><italic>k</italic></sub>), the agent uses its sensory output arrays both previous (<bold>s</bold>[<italic>t</italic><sub><italic>n</italic></sub>]) and current (<bold>s</bold>[<italic>t</italic><sub><italic>n</italic>&#x0002B;1</sub>]) as per the update rule:</p>
<disp-formula id="E17"><label>(17)</label><mml:math id="M142"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd columnalign="left"><mml:msub><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>M</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>a</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>&#x0002B;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo>]</mml:mo></mml:mrow></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:mtable style="text-align:axis;" equalrows="false" columnlines="none" equalcolumns="false" class="array"><mml:mtr><mml:mtd columnalign="left"><mml:mn>1</mml:mn></mml:mtd><mml:mtd columnalign="left"><mml:mtext>iff&#x000A0;</mml:mtext><mml:msub><mml:mrow><mml:mstyle style="font-family:courier"><mml:mtext>s</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>&#x0002B;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo>]</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mstyle style="font-family:courier"><mml:mtext>s</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo>]</mml:mo></mml:mrow><mml:mtext>&#x000A0;and&#x000A0;</mml:mtext><mml:msub><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>M</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>a</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo>]</mml:mo></mml:mrow></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="left"><mml:mn>0</mml:mn></mml:mtd><mml:mtd columnalign="left"><mml:mtext>else</mml:mtext><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>Let us first observe that in this rule the only possible change in coefficients is going from 1 to 0: whenever a coefficient (<sub><italic>M</italic><sub><italic>a</italic><sub><italic>k</italic></sub></sub>[<italic>t</italic><sub><italic>n</italic></sub>])<italic>i, j</italic></sub> is already 0, the condition of the first case automatically fails so that its value stays at 0. Therefore, the rough dynamics of the update is that while all coefficients start at 1, some are eventually switched to 0 upon exploration until matrices converge to a final (possibly null) form.</p>
<p>One can note that this is a very drastic choice compared to the more usual soft incremental rules. This offers increased simplicity, such as in <xref ref-type="supplementary-material" rid="SM1">Appendix 4</xref> (see the Supplementaty Materials) where an argument is provided that for any conservative motor action this algorithm makes the empirical matrix <italic>M</italic><sub><italic>a</italic><sub><italic>k</italic></sub></sub> converge to the associated permutation matrix <italic>M</italic><sub>&#x003C3;<sub><sub><italic>a</italic></sub><sub><italic>k</italic></sub></sub></sub>. Moreover, we argue that obtaining said convergence with such an unforgiving rule is strong evidence toward the systematic, rather than statistical, nature of the supporting mechanism. The argument also proves that for non-conservative actions, under the same richness hypothesis the associated empirical matrix will converge to the null matrix. This fact allows the robot to naively distinguish between conservative and non-conservative actions, should he be given the capability to perform both on startup.</p>
</sec>
<sec>
<title>4.2.2. Inferring Motor Structure From Learned Interaction</title>
<p>In the second phase of the experiment, the agent uses the prediction functions it discovered for elementary conservative moves to infer how combinations of these moves relate to each other. Indeed, it was proved in the previous part that for any conservative actions <italic>a</italic> and <italic>a</italic>&#x02032; with associated permutation matrices <italic>M</italic><sub>&#x003C3;<sub><italic>a</italic></sub></sub> and <inline-formula><mml:math id="M143"><mml:msub><mml:mrow><mml:mi>M</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>&#x003C3;</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mrow><mml:mi>a</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x02032;</mml:mo></mml:mrow></mml:msup></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula>, it is true that</p>
<disp-formula id="E18"><label>(18)</label><mml:math id="M144"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>M</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>&#x003C3;</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mrow><mml:mi>a</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x02032;</mml:mo></mml:mrow></mml:msup></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>M</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>&#x003C3;</mml:mi></mml:mrow><mml:mrow><mml:mi>a</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi>M</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>&#x003C3;</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mrow><mml:mi>a</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x02032;</mml:mo></mml:mrow></mml:msup><mml:mi>a</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>In the case of actions which are not strictly conservative, such as those in the simulation, equality in the previous equation is not guaranteed. This happens because in the <inline-formula><mml:math id="M145"><mml:msub><mml:mrow><mml:mi>M</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>&#x003C3;</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mrow><mml:mi>a</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x02032;</mml:mo></mml:mrow></mml:msup></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>M</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>&#x003C3;</mml:mi></mml:mrow><mml:mrow><mml:mi>a</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula> expression, all the loss of information of <italic>a</italic> and <italic>a</italic>&#x02032; on their respective boundaries is accumulated, whereas <italic>a</italic>&#x02032;<italic>a</italic> might recoup some of it, e.g., when <italic>a</italic>&#x02032; &#x0003D; <italic>a</italic><sup>&#x02212;1</sup>. However, multiple expressions should at least yield non-contradictory prediction, that is whenever one specifies a pair <italic>c</italic><sub><italic>i</italic></sub>&#x02192;<italic>c</italic><sub><italic>j</italic></sub> another other cannot assert <italic>c</italic><sub><italic>i</italic></sub>&#x02192;<italic>c</italic><sub><italic>k</italic></sub> with <italic>j</italic>&#x02260;<italic>k</italic>. As long as these combinations are kept short enough to limit the accumulation, this non-contradiction criterion can be used by the agent to internally infer the sensory prediction of <italic>any</italic> combination of the moves it empirically learned. This is used in a Dijsktra-like process to build a graph of prediction matrices, which runs as follows, see Algorithm 1: starting from a prediction matrix <italic>M</italic><sub>0</sub> corresponding to any origin action <italic>a</italic><sub>0</sub>, each of the known matrices <inline-formula><mml:math id="M146"><mml:msub><mml:mrow><mml:mi>M</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>a</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x000A0;</mml:mtext><mml:msub><mml:mrow><mml:mi>a</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mo>&#x02208;</mml:mo><mml:msub><mml:mrow><mml:mrow><mml:mi mathvariant="-tex-caligraphic">A</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">init</mml:mtext></mml:mstyle></mml:mrow></mml:msub></mml:math></inline-formula> are applied to yield both a set of new neighboring &#x0201C;end points&#x0201D; <inline-formula><mml:math id="M147"><mml:msub><mml:mrow><mml:mi>N</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>M</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>:</mml:mo><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>M</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>a</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>M</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x000A0;</mml:mtext><mml:msub><mml:mrow><mml:mi>a</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mo>&#x02208;</mml:mo><mml:msub><mml:mrow><mml:mrow><mml:mi mathvariant="-tex-caligraphic">A</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">init</mml:mtext></mml:mstyle></mml:mrow></mml:msub></mml:mrow><mml:mo>}</mml:mo></mml:mrow></mml:math></inline-formula> and for each pair (<italic>M</italic><sub>0</sub>, <italic>M</italic><sub><italic>a</italic><sub><italic>k</italic></sub></sub><italic>M</italic><sub>0</sub>) a directed edge <italic>M</italic><sub><italic>a</italic><sub><italic>k</italic></sub></sub>. This is then recursively applied to all newly discovered end points, while those that were previously visited (as the prediction matrices <italic>can</italic> be compared for equality) are discarded. However, the resulting graph would in most cases be infinite, therefore a stopping rule must be chosen. In our case, we chose to explore up to a given depth parameter in graph edge distance.</p>
<table-wrap position="float">
<label>Algorithm 1</label>
<caption><p>Dijkstra-like algorithm for live construction of action group graph.</p></caption>
<table frame="hsides" rules="groups">
<tbody>
<tr><td align="left" valign="top">&#x000A0;Input</td></tr>
<tr><td align="left" valign="top">&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;A&#x000A0;&#x000A0;The set of all matrices learned in exp. 1</td></tr>
<tr><td align="left" valign="top">&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;D&#x000A0;&#x000A0;A bound on length of matrix combinations used</td></tr>
<tr><td align="left" valign="top">&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;O&#x000A0;&#x000A0;A reference matrix around which to explore</td></tr>
<tr><td align="left" valign="top">&#x000A0;<bold>Output</bold></td></tr>
<tr><td align="left" valign="top">&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;G A local view of the combinatorial graph of matrix products around O, using edges in A</td></tr>
<tr><td align="left" valign="top">&#x000A0;</td></tr>
<tr><td align="left" valign="top">&#x000A0;Add O to collection U</td></tr>
<tr><td align="left" valign="top">&#x000A0;O.depth &#x02190; 0</td></tr>
<tr><td align="left" valign="top">&#x000A0;Add node O to G</td></tr>
<tr><td align="left" valign="top">&#x000A0;while U is not empty <bold>do</bold> &#x022B3; True iff the neighborhood of some node K is still Unexplored</td></tr>
<tr><td align="left" valign="top">&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;K &#x02190; node in U</td></tr>
<tr><td align="left" valign="top">&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;for all <italic>M</italic><sub><italic>a</italic></sub> in A do&#x022B3; Test all learned predictions starting from node K</td></tr>
<tr><td align="left" valign="top">&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;P &#x02190;<italic>M</italic><sub><italic>a</italic></sub><italic>K</italic></td></tr>
<tr><td align="left" valign="top">&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;P.depth &#x02190; K.depth &#x0002B; 1</td></tr>
<tr><td align="left" valign="top">&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;if P.depth &#x02264;  D then</td></tr>
<tr><td align="left" valign="top">&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;B &#x02190; False</td></tr>
<tr><td align="left" valign="top">&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;for all node C in G do &#x022B3; Test previously discovered nodes for equality</td></tr>
<tr><td align="left" valign="top">&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;if predictions for P and C match then</td></tr>
<tr><td align="left" valign="top">&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;B &#x02190; True</td></tr>
<tr><td align="left" valign="top">&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;Set edge <italic>M</italic><sub><italic>a</italic></sub>: K &#x02192; P in G</td></tr>
<tr><td align="left" valign="top">&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;end if</td></tr>
<tr><td align="left" valign="top">&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;end for &#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x022B3; END for all node C in G</td></tr>
<tr><td align="left" valign="top">&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;if B is False then&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0; &#x022B3; Branch taken iff P := <italic>M</italic><sub><italic>a</italic></sub><italic>K</italic> was not previously discovered</td></tr>
<tr><td align="left" valign="top">&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;Add P to U</td></tr>
<tr><td align="left" valign="top">&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;Add node P to G</td></tr>
<tr><td align="left" valign="top">&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;Set edge <italic>M</italic><sub><italic>a</italic></sub>: K &#x02192; P in G</td></tr>
<tr><td align="left" valign="top">&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;end if</td></tr>
<tr><td align="left" valign="top">&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;end if &#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x022B3; END if P.depth  &#x02264;  D</td></tr>
<tr><td align="left" valign="top">&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;end for &#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x022B3; END for all <italic>a</italic> in A</td></tr>
<tr><td align="left" valign="top">&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;Remove K from U</td></tr>
<tr><td align="left" valign="top">&#x000A0;end while &#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x022B3; END while U is not empty</td></tr>
</tbody>
</table>
</table-wrap>
</sec>
</sec>
<sec>
<title>4.3. Results</title>
<p>This subsection is devoted to the evaluation in simulation of the previous points, divided in three successive experiments. The first one illustrates how the agent can build the permutation matrices associated to each of its conservative actions; a discussion about the convergence and the statistics of this experiment is then proposed. The second one exploits the permutation matrices just obtained to structure its own actions through a graph of their combinations; a discussion about its fidelity as a representation of the action group <inline-formula><mml:math id="M148"><mml:mrow><mml:mi mathvariant="-tex-caligraphic">A</mml:mi></mml:mrow></mml:math></inline-formula> is proposed. In the third and final one, the effect of varying starting action sets on the structure discovered is studied, concluding the subsection.</p>
<sec>
<title>4.3.1. Experiment 1: Discovering the Permutations</title>
<sec>
<title>4.3.1.1. Building the permutation matrices</title>
<p>To begin with, the simulated robot in <xref ref-type="fig" rid="F4">Figure 4</xref> is placed at a random 2D position inside the image to be explored. The available action set is defined as <inline-formula><mml:math id="M149"><mml:msub><mml:mrow><mml:mrow><mml:mi mathvariant="-tex-caligraphic">A</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">init</mml:mtext></mml:mstyle></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi>A</mml:mi></mml:math></inline-formula> so that <inline-formula><mml:math id="M150"><mml:msub><mml:mrow><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="-tex-caligraphic">A</mml:mi></mml:mrow></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>7</mml:mn></mml:math></inline-formula>. Then, at each time step <italic>t</italic><sub><italic>n</italic></sub>, a random action <inline-formula><mml:math id="M151"><mml:msub><mml:mrow><mml:mi>a</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi>a</mml:mi><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo>]</mml:mo></mml:mrow><mml:mo>&#x02208;</mml:mo><mml:msub><mml:mrow><mml:mrow><mml:mi mathvariant="-tex-caligraphic">A</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">init</mml:mtext></mml:mstyle></mml:mrow></mml:msub></mml:math></inline-formula> is run, and the associated permutation matrix <italic>M</italic><sub><italic>a</italic><sub><italic>k</italic></sub></sub> is updated according to (17). After this update, the agent is able to evaluate if these matrices have finished converging and therefore can decide when to stop the exploration. An entropy-like internal criterion is proposed to quantify this convergence, along</p>
<disp-formula id="E19"><label>(19)</label><mml:math id="M152"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:mtext>&#x000A0;&#x000A0;&#x000A0;&#x000A0;</mml:mtext><mml:mi>C</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>M</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>-</mml:mo><mml:mfrac><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>N</mml:mi></mml:mrow><mml:mrow><mml:mi>c</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mtext>&#x000A0;log&#x000A0;</mml:mtext></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>N</mml:mi></mml:mrow><mml:mrow><mml:mi>c</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:mfrac><mml:mstyle displaystyle="true"><mml:munderover accentunder="false" accent="false"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>N</mml:mi></mml:mrow><mml:mrow><mml:mi>c</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:munderover></mml:mstyle><mml:msub><mml:mrow><mml:mi>H</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mtext>where&#x000A0;</mml:mtext><mml:msub><mml:mrow><mml:mi>H</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo>-</mml:mo><mml:mstyle displaystyle="true"><mml:munderover accentunder="false" accent="false"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>j</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>N</mml:mi></mml:mrow><mml:mrow><mml:mi>c</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:munderover></mml:mstyle><mml:mfrac><mml:mrow><mml:msub><mml:mrow><mml:mi>M</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>&#x003BC;</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mfrac><mml:msub><mml:mrow><mml:mtext>&#x000A0;log&#x000A0;</mml:mtext></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mfrac><mml:mrow><mml:msub><mml:mrow><mml:mi>M</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>&#x003BC;</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mfrac></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>,</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mtext>&#x000A0;&#x000A0;&#x000A0;&#x000A0;and&#x000A0;</mml:mtext><mml:msub><mml:mrow><mml:mi>&#x003BC;</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mtext>max</mml:mtext><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mstyle displaystyle="true"><mml:msubsup><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>j</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>N</mml:mi></mml:mrow><mml:mrow><mml:mi>c</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msubsup></mml:mstyle><mml:msub><mml:mrow><mml:mi>M</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:mfrac><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>In this criterion, <italic>H</italic><sub><italic>i</italic></sub> is the entropy of the post-action output of sensel <italic>c</italic><sub><italic>i</italic></sub> as a random variable of the pre-action outputs of all sensels <italic>c</italic><sub><italic>j</italic></sub>. Therefore, it measures which degree of surprise remains in the determination of which (if any) sensel is successor to <italic>c</italic><sub><italic>i</italic></sub>. Finally, this makes <italic>C</italic> into an average measure of certainty in the discovery of successor sensel pairs, going in non-decreasing trajectories from 0 at initialization to 1 at permutation matrices. Consequently when it obtains the updated matrices <inline-formula><mml:math id="M153"><mml:msub><mml:mrow><mml:mi>M</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>a</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>&#x0002B;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo>]</mml:mo></mml:mrow><mml:mo>,</mml:mo><mml:mtext>&#x000A0;</mml:mtext><mml:msub><mml:mrow><mml:mi>a</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mo>&#x02208;</mml:mo><mml:msub><mml:mrow><mml:mrow><mml:mi mathvariant="-tex-caligraphic">A</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">init</mml:mtext></mml:mstyle></mml:mrow></mml:msub></mml:math></inline-formula> the agent computes all <italic>C</italic><sub><italic>k</italic></sub>[<italic>t</italic><sub><italic>n</italic>&#x0002B;1</sub>] &#x0003D; <italic>C</italic>(<italic>M</italic><sub><italic>a</italic><sub><italic>k</italic></sub></sub>[<italic>t</italic><sub><italic>n</italic>&#x0002B;1</sub>]) to assess the state of its discovery, stopping its exploration when all the <italic>C</italic><sub><italic>k</italic></sub> have reached 1.</p>
<p>After convergence, the resulting matrices for all seven actions shown in <xref ref-type="fig" rid="F4">Figure 4</xref> are depicted in <xref ref-type="fig" rid="F5">Figure 5</xref>. In this figure, a 0 (resp. 1) is represented in black (resp. white). Since the agent has no knowledge of its sensor geometry, the position of its sensels (i.e., pixels) inside the sensory array <bold>s</bold> (i.e., the flattened image) is randomly chosen. In this case, the resulting permutation matrices for each action is depicted in <xref ref-type="fig" rid="F5">Figure 5</xref> (top), demonstrating the fact that those matrices are not easy to understand from an external point of view. If one now selects a more natural ordering of the pixels inside <bold>s</bold>, like a line by line arrangement, one then gets the permutation matrices in <xref ref-type="fig" rid="F5">Figure 5</xref> (middle). With such an arrangement, an external observer is now able to get a clearer intuition about the effects of each action on the pixels permutations. Nevertheless, these two different sets of matrices, as two contingent images of the same underlying structure, are purely equivalent from an internal point of view. This can be illustrated by mapping the permutation on the overall sensor to better catch how the agent has been able to discover the underlying spatial transfer between sensels. This is done by plotting the sensel pairs along which values are transferred as proposed in <xref ref-type="fig" rid="F5">Figure 5</xref> (bottom). In this figure, the 10 &#x000D7; 10 pixel grid of the simulated camera is represented together with arrows connecting each sensel to its successor. While such a representation requires external knowledge in the sensor geometry, the arrows are entirely determined by the internal permutation matrices from either of the two sets presented. It is thus a convenient external way to display that each matrix has actually captured the pixel shift induced by each action. For instance, with such a visualization, it is now very clear that (<italic>a</italic><sub>2</sub>, <italic>a</italic><sub>3</sub>), (<italic>a</italic><sub>4</sub>, <italic>a</italic><sub>5</sub>), or even (<italic>a</italic><sub>6</sub>, <italic>a</italic><sub>7</sub>) are all found to be pairs of inverse actions; this specific capability will actually be exploited in section 4.3.2 to structure the agent set of actions.</p>
<fig id="F5" position="float">
<label>Figure 5</label>
<caption><p>Representation of the seven binary 10<sup>2</sup> &#x000D7; 10<sup>2</sup> permutation matrices <italic>M</italic><sub><italic>a</italic><sub><italic>k</italic></sub></sub> corresponding to the actions <italic>a</italic><sub><italic>k</italic></sub> possibly generated by the agent, where a 0 (resp. a 1) is represented as black (resp. white). (First row) Matrices obtained for a random organization of the sensels outputs <italic>s</italic><sub><italic>i</italic></sub> inside the sensory array <bold>s</bold>. (Second row) Matrices obtained for a well-chosen sensels arrangement, where each pixel values are stored line by line in <bold>s</bold>. (Third row) Interpretation of the permutation matrices (either from the first or second row) directly on the physical 10 &#x000D7; 10 pixel array: if a 1 is present at line <italic>i</italic> and column <italic>j</italic> of a matrix <italic>M</italic><sub><italic>a</italic><sub><italic>k</italic></sub></sub>, then an arrow joining pixel <italic>i</italic> to <italic>j</italic> is plotted. Note that the arrow length has been resized for actions 6 and 7 (i.e., rotations) to enhance readability. <bold>(A)</bold> <italic>M</italic><sub><italic>a</italic><sub>1</sub></sub>. <bold>(B)</bold> <italic>M</italic><sub><italic>a</italic><sub>2</sub></sub>. <bold>(C)</bold> <italic>M</italic><sub><italic>a</italic><sub>3</sub></sub>. <bold>(D)</bold> <italic>M</italic><sub><italic>a</italic><sub>4</sub></sub>. <bold>(E)</bold> <italic>M</italic><sub><italic>a</italic><sub>5</sub></sub>. <bold>(F)</bold> <italic>M</italic><sub><italic>a</italic><sub>6</sub></sub>. <bold>(G)</bold> <italic>M</italic><sub><italic>a</italic><sub>7</sub></sub>.</p></caption>
<graphic xlink:href="frobt-07-561660-g0005.tif"/>
</fig>
</sec>
<sec>
<title>4.3.1.2. A discussion about the dynamics of convergence</title>
<p>It is clear from <xref ref-type="fig" rid="F5">Figure 5</xref> that at some point the agent captured the permutation to the best of its capabilities. One therefore proposes to study the dynamics of the convergence of the approach w.r.t. the experimental time step <italic>t</italic><sub><italic>n</italic></sub>. For the remainder of experiment 1, we now keep the image constant during all the simulation, so as to better assess the influence of the experienced environment on the results. First, the internal criterion <italic>C</italic><sub><italic>k</italic></sub> &#x0003D; (<italic>M</italic><sub><italic>a</italic><sub><italic>k</italic></sub></sub>) defined in Equation (19) is evaluated at each <italic>t</italic><sub><italic>n</italic></sub> and each <italic>a</italic><sub><italic>k</italic></sub>, resulting in the plot in <xref ref-type="fig" rid="F6">Figure 6</xref>. One can then confirm that the <italic>C</italic><sub><italic>k</italic></sub> increase from 0 (all elements in the matrices are initialized at 1) to 1 (all successor pairs have been discovered). It also appears that for each particular action <italic>a</italic><sub><italic>k</italic></sub>, the associated criterion increases in sparse jumps because its matrix <italic>M</italic><sub><italic>a</italic><sub><italic>k</italic></sub></sub> is only actually updated at the random time steps when <italic>a</italic><sub><italic>k</italic></sub> is drawn. <xref ref-type="fig" rid="F6">Figure 6</xref> also illustrates the fact that the amplitude of these jumps decreases over the experiment. For the starting conditions of this experiment, a detailed analysis shows that about seven realizations of each action are necessary to fully discover the target permutation matrices. But it also appears that most of the initial 1s in the matrices are wiped out very early, with a criterion value <italic>C</italic><sub><italic>k</italic></sub>[<italic>t</italic><sub><italic>n</italic></sub>] &#x02248; 0.7 after only one execution of the corresponding action <italic>a</italic><sub><italic>k</italic></sub>. However, one still questions whether the differences in the dynamic of all actions is a random occurrence of this particular exploration, or there is an intrinsic variance in difficulty in learning between actions.</p>
<fig id="F6" position="float">
<label>Figure 6</label>
<caption><p>Representation of the criterion <italic>C</italic><sub><italic>k</italic></sub> &#x0003D; <italic>C</italic>(<sub><italic>M</italic><sub><italic>a</italic></sub><italic>k</italic></sub>) for the seven actions <italic>a</italic><sub><italic>k</italic></sub>. Each jump in this figure corresponds to a reevaluation of the criterion happening at a timestep when the corresponding action has been drawn in the set in <inline-formula><mml:math id="M154"><mml:msub><mml:mrow><mml:mrow><mml:mi mathvariant="-tex-caligraphic">A</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mi>n</mml:mi><mml:mi>i</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>. As expected, the criterion starts from 0 to reach 1, indicating that all possible permutations have been found.</p></caption>
<graphic xlink:href="frobt-07-561660-g0006.tif"/>
</fig>
</sec>
<sec>
<title>4.3.1.3. A statistical analysis about richness of the environment</title>
<p>The answer to the previous question can be obtained by performing an empirical survey (i) by averaging over random explorations for given starting conditions, and (ii) by varying these starting conditions and comparing the resulting performances. With such a study, (i) will allow to quantify the influence of the randomness in exploration, while (ii) lets us assess how the properties of the environment influence the discovery of permutations. For this experiment, the environment is made of the image shown in <xref ref-type="fig" rid="F7">Figure 7A</xref>, where the starting points of each exploration is depicted as a grid of points on it. At each of these points, 1,000 random explorations are conducted, each of them consisting in a random run of actions <italic>a</italic><sub><italic>k</italic></sub> as in section 4.3.1.1, resulting in 1,000 sets of seven <italic>C</italic><sub><italic>k</italic></sub> curves as in <xref ref-type="fig" rid="F6">Figure 6</xref>. For each random exploration <italic>l</italic> and each action <italic>a</italic><sub><italic>k</italic></sub>, the number of jumps <italic>J</italic><sub><italic>l</italic>,<sub><italic>a</italic></sub><sub><italic>k</italic></sub></sub> in the <italic>C</italic><sub><italic>k</italic></sub> curve obtained is taken as a measure of difficulty in learning the permutation. The average <inline-formula><mml:math id="M155"><mml:mi>J</mml:mi><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>L</mml:mi></mml:mrow></mml:mfrac><mml:munder class="msub"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>l</mml:mi></mml:mrow></mml:munder><mml:munder class="msub"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:munder><mml:msub><mml:mrow><mml:mi>J</mml:mi></mml:mrow><mml:mrow><mml:mi>l</mml:mi><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mi>a</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula> of <italic>J</italic><sub><italic>l</italic>,<sub><italic>a</italic></sub><sub><italic>k</italic></sub></sub> over all actions <italic>a</italic><sub><italic>k</italic></sub> and explorations <italic>l</italic> at a given starting position is depicted as the color of the grid in <xref ref-type="fig" rid="F7">Figure 7A</xref>, with <italic>L</italic> = 1,000 (runs) &#x000D7; 7 (actions). Green points correspond to a low number of jumps <italic>J</italic>, while red ones are representing higher values. One can observe that the points are overwhelmingly green, and that the red ones are restricted to precise areas in the picture. These correspond to areas with locally low contrast, such as the sky (in the top left corner) or its reflection (in the bottom). The extremal conditions corresponding to the two green and red highlighted points are further compared. For each of them, the distribution of the <italic>J</italic><sub><italic>l</italic>,<sub><italic>a</italic></sub><sub><italic>k</italic></sub></sub> is plotted as an histogram in <xref ref-type="fig" rid="F7">Figure 7B</xref>. Clearly, green points correspond to areas in the environment where the permutation matrices can be discovered in at most five executions of actions. On the contrary, at red points the agent must wait for about 17 on average, and up to 35, executions before it has obtained the same results. This illustrates how the richness of the environment might influence the agent ability to capture the structure of its sensory prediction. On a more global scale, <xref ref-type="fig" rid="F7">Figure 7C</xref> shows the distribution of the <italic>J</italic><sub><italic>l</italic>,<sub><italic>a</italic></sub><sub><italic>k</italic></sub></sub> for all random explorations, indiscriminately of the starting position. This corroborates the observation that most positions in the image are green, i.e., lead to easy convergence. It appears that for a randomly selected starting position, there is more than 66% of chance of permutation matrices being discovered in &#x0003C;4 executions of their corresponding actions.</p>
<fig id="F7" position="float">
<label>Figure 7</label>
<caption><p>Statistical analysis of the permutation matrices building process. <bold>(A)</bold> Environment explored by the agent. Each point in this environment corresponds to a starting position around which the agent draws actions to build the permutation matrices <italic>M</italic><sub><italic>a</italic><sub><italic>k</italic></sub></sub>. Counting the mean number of jumps in the criterion curves <italic>C</italic><sub><italic>k</italic></sub> for each realization of the exploration around a given starting point and each action leads to the value <italic>J</italic> representing the difficulty to build the corresponding matrices. A high (resp. low) J value in red (resp. in green) corresponds to areas in the environment harder (resp. easier) to exploit for sensory prediction. <bold>(B,C)</bold> Normalized histograms of the number of jumps in the criterion curves <italic>C</italic><sub><italic>k</italic></sub> averaged across actions. <bold>(B)</bold> Focus on the histograms obtained around two different starting conditions corresponding to low (resp. high) <italic>J</italic> value highlighted by a green (resp. red) circle in the environment. <bold>(C)</bold> Overall normalized histogram for all actions and all starting positions in the environment, showing that most of the permutation matrices are correctly obtained after a low number of action run.</p></caption>
<graphic xlink:href="frobt-07-561660-g0007.tif"/>
</fig>
</sec>
</sec>
<sec>
<title>4.3.2. Experiment 2: Structuring Actions by Combination</title>
<p>From the previous experiment, we now have as many permutation matrices <italic>M</italic><sub><italic>a</italic><sub><italic>k</italic></sub></sub> as we have actions in <inline-formula><mml:math id="M156"><mml:msub><mml:mrow><mml:mrow><mml:mi mathvariant="-tex-caligraphic">A</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">init</mml:mtext></mml:mstyle></mml:mrow></mml:msub></mml:math></inline-formula>. As outlined in section 4.2.2, one can then use them to build a <italic>graph of prediction matrices</italic> by following Algorithm 1. Recall that in this graph, a node is a permutation matrix obtained as a combination of the <italic>M</italic><sub><italic>a</italic><sub><italic>k</italic></sub></sub> matrices, while there is a <italic>M</italic><sub><italic>a</italic><sub><italic>k</italic></sub></sub> edge from matrix <italic>M</italic> to <italic>M</italic>&#x02032; iff <inline-formula><mml:math id="M157"><mml:msup><mml:mrow><mml:mi>M</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x02032;</mml:mo></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi>M</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>a</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mi>M</mml:mi></mml:math></inline-formula>. Therefore, all edges in the graph correspond to the permutation matrices built during experiment 1. According to Equation (15), this graph is isomorphic to the graph of corresponding actions, meaning all properties discovered of any combination of matrices holds true for the corresponding combination of actions. As an example, if one discovers that <italic>M</italic><sub><italic>a</italic><sub>1</sub></sub> &#x0003D; <italic>M</italic><sub><italic>a</italic><sub>2</sub></sub><italic>M</italic><sub><italic>a</italic><sub>3</sub></sub>, then one also has <italic>a</italic><sub>1</sub> &#x0003D; <italic>a</italic><sub>2</sub><italic>a</italic><sub>3</sub>.</p>
<p>As a first step, let us consider only the actions corresponding to translations in the environment, i.e., <italic>a</italic><sub>6</sub> and <italic>a</italic><sub>7</sub> are discarded from <inline-formula><mml:math id="M158"><mml:msub><mml:mrow><mml:mrow><mml:mi mathvariant="-tex-caligraphic">A</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">init</mml:mtext></mml:mstyle></mml:mrow></mml:msub></mml:math></inline-formula>. This <italic>a priori</italic> selection is only made to simplify the visualization of the graph at first. After applying Algorithm 1 to the matrices shown in <xref ref-type="fig" rid="F5">Figure 5</xref>, one gets the directed graph in <xref ref-type="fig" rid="F8">Figure 8A</xref>, where all the color conventions are consistent with experiment 1. This particular graph has been built for a maximum depth set to 3 and with <italic>M</italic><sub><italic>a</italic><sub>1</sub></sub> taken as the origin of the graph. Note that the depth of this graph has been maintained voluntarily low so as to help in the reading of the graph. Note also that the arbitrary choice of origin makes all of its neighbors themselves correspond to one of the <italic>M</italic><sub><italic>a</italic><sub><italic>k</italic></sub></sub> discovered in experiment 1 since they all occurred as <italic>M</italic><sub><italic>a</italic><sub><italic>k</italic></sub></sub><italic>M</italic><sub><italic>a</italic><sub>1</sub></sub> &#x0003D; <italic>M</italic><sub><italic>a</italic><sub><italic>k</italic></sub></sub> products, whereas all other nodes are indeed new matrices.</p>
<fig id="F8" position="float">
<label>Figure 8</label>
<caption><p>Directed graph of permutation matrices Mak -and thus also of corresponding actions ak as per Equation (15)&#x02013; obtained by combination of these matrices. Color conventions for edges match the color of each action in <xref ref-type="fig" rid="F4">Figure 4</xref>. The depth up to which new nodes are explored has been limited for visualization purposes by setting low depth parameters in Algorithm 1. <bold>(A)</bold> Graph obtained when considering only the actions corresponding to translations of the agent in the environment. <bold>(B)</bold> Graph obtained when considering all actions: the 2D graph from <bold>(A)</bold> is now enriched with a third dimension supporting the changes of orientation induced by the agent rotations in the environment.</p></caption>
<graphic xlink:href="frobt-07-561660-g0008.tif"/>
</fig>
<p>This graph mirrors many algebraic properties of the <italic>M</italic><sub><italic>a</italic><sub><italic>k</italic></sub></sub> as captured by the internal experience. Indeed one can first observe that the light blue arrow leads from any given node <italic>M</italic> to itself, which corresponds to <italic>M</italic><sub><italic>a</italic><sub>1</sub></sub> being the identity matrix <italic>I</italic><sub><italic>N</italic><sub><italic>c</italic></sub></sub>. Furthermore, one can note that the graph obtained is, up to its borders, completely homogeneous; that is the neighborhoods of each interior nodes share the same geometry. This even extends to the color of edges matching, so that some of them form pairs. One can for example verify that whenever a yellow edge goes from node <italic>M</italic> to <italic>M</italic>&#x02032;, there is a green edge from <italic>M</italic>&#x02032; to <italic>M</italic> and no other one. This identifies the corresponding actions to be inverses w.r.t. successive execution since from any starting node, taking first the green (resp. yellow) edge then the yellow (resp. green) one forms a loop. The same can be said of the red and purple colors, which are found to correspond to another pair of inverse actions. At last, the four central squares correspond to the commutativity of the <italic>a</italic><sub><italic>k</italic></sub> used: indeed one can see on the graph that taking the red edge first, then the green one always leads to the same node as green first, red second.</p>
<p>While those observations were discussed as properties of the permutation matrices, the actual result is their representing properties of the abstract motor actions <italic>a</italic><sub><italic>k</italic></sub>. And indeed one can check that the blue arrow corresponds to the identity action <italic>a</italic><sub>1</sub>, that the inverse pairs (yellow, green) and (orange, purple), respectively correspond to (rightward, leftward) and (forward,backward) translations, and that the commutativity discussed is that of &#x0201C;forward then left&#x0201D; being the same as &#x0201C;left then forward.&#x0201D; While these facts seem obvious from an external point of view, they were not part of the initial knowledge of the agent discussed in section 3.1. This only appears as a consequence of the agent capability to predict the sensory consequences of its own actions built during experiment 1. On a functional level, this is very similar to the property of motor sequence compression exhibited by RNNs performing sensorimotor prediction in Ortiz and Laflaqui&#x000E8;re (<xref ref-type="bibr" rid="B27">2018</xref>); in fact we argue that it is the same phenomenon that is picked up on by the neural networks and that it is intrinsically related to sensorimotor prediction as developed in section 3.</p>
<p>This also applies to the graph shown in <xref ref-type="fig" rid="F8">Figure 8B</xref> obtained when considering all seven actions, i.e., the two rotations corresponding to actions <italic>a</italic><sub>6</sub> and <italic>a</italic><sub>7</sub> are now included in the analysis. This plot, obtained through a classical force-directed algorithm, shows the same 2D graph of translations obtained before, but enriched with a third dimension supporting the change of orientation induced by rotations. Again, the depth of the graph is maintained low to keep things legible. The global structure of the graph can be described as a disjunction of 2D subgraphs corresponding to translations at fixed orientation. Each subgraph is therefore equivalent to each other up to a rotation as can be seen by the edges colors shifting between the planes. As an example, one can see that the same node in the graph can be reached by following either (green, dark blue) and (dark blue, purple), or (left, turn left), and (turn left, forward) in terms of actions seen from an external point of view. <xref ref-type="fig" rid="F8">Figure 8B</xref> also shows that rotations are limited to the third vertical dimension in which they form cycles at constant position in the planar subgraph. This property is highlighted in the graph by the four circled nodes which figure the same agent position for the four possible orientations. The cycle simply mirrors the external observation that taking four &#x003C0;/2 rotations successively takes one back to the initial orientation. Importantly, this could constitute an internal signature of rotations as opposed to translations.</p>
<p>In the end of this second experiment, the agent has thus been able to discover a structure of its actual group of motor actions. The agent now has access to algebraic relations between its own actions which relate to its motor capabilities. This knowledge also allows it to generalize the sensory prediction it discovered in experiment 1 to all the combinations considered in the graph. Nevertheless, one has to keep in mind that all the actions considered in these experiments are not exactly conservative in the sense of Equation (9). Indeed, they fail at conserving spatial information on the border of the simulated camera. However, results show that conservativity holding true for all internal pixels allows for discovering the aforementioned properties. Because all calculations are made on actual current outputs of the pixels, one obvious consequence is that the agent has no way to predict what happens outside of its field of view, and so far it keeps no memory of it. Therefore, the results only hold for a very local movement w.r.t. the dimension of the agent. However, the discovered structure stays true whatever the initial position of the exploration.</p>
</sec>
<sec>
<title>4.3.3. Experiment 3: Exploiting the Graph to Improve the Representation of the Action Set</title>
<p>In the previous results, we have run the experiments with an experimental starting action set <inline-formula><mml:math id="M159"><mml:msub><mml:mrow><mml:mrow><mml:mi mathvariant="-tex-caligraphic">A</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mtext>init</mml:mtext></mml:mrow></mml:msub></mml:math></inline-formula> conveniently set to <italic>A</italic>, the set of externally defined movements. While this has been useful at first to yield easily recognized structure in Experiment 2, it is a crucial point that the results do not depend on this strong assumption. Therefore, the same two part experiment is conducted with the difference that the starting action set <inline-formula><mml:math id="M160"><mml:msub><mml:mrow><mml:mrow><mml:mi mathvariant="-tex-caligraphic">A</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mtext>init</mml:mtext></mml:mrow></mml:msub></mml:math></inline-formula> the agent can run is not arbitrarily set to <italic>A</italic> anymore. Instead, it is now drawn in the set of <italic>combinations of</italic> actions <italic>a</italic><sub><italic>k</italic></sub> &#x02208; <italic>A</italic>. Three important cases are now possible : first, it may be that some of the <italic>a</italic><sub><italic>k</italic></sub> are &#x0201C;missing&#x0201D; in <inline-formula><mml:math id="M161"><mml:msub><mml:mrow><mml:mrow><mml:mi mathvariant="-tex-caligraphic">A</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mtext>init</mml:mtext></mml:mrow></mml:msub></mml:math></inline-formula>; on the contrary, duplicates may have been drawn so that the agent can run <inline-formula><mml:math id="M162"><mml:mi>a</mml:mi><mml:mo>,</mml:mo><mml:msup><mml:mrow><mml:mi>a</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x02032;</mml:mo></mml:mrow></mml:msup><mml:mo>&#x02208;</mml:mo><mml:msub><mml:mrow><mml:mrow><mml:mi mathvariant="-tex-caligraphic">A</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mtext>init</mml:mtext></mml:mrow></mml:msub></mml:math></inline-formula> which are effectively the same action (i.e., &#x02200;<bold>b</bold> &#x02208; <inline-formula><mml:math id="M163"><mml:mi mathvariant="-tex-caligraphic">B</mml:mi></mml:math></inline-formula>, <italic>a</italic><bold>b</bold> &#x0003D; <italic>a</italic>&#x02032;<bold>b</bold>). Finally, it may even have drawn &#x0201C;complex&#x0201D; actions <italic>a</italic>&#x02209;<italic>A</italic>, that is actions that can only be obtained by combining some of the <italic>a</italic><sub><italic>k</italic></sub>.</p>
<p>The three situations are illustrated in <xref ref-type="fig" rid="F9">Figure 9</xref>, where the graphs obtained at the end of Experiment 2 are drawn for various starting action sets. In both cases, both the complexity of the starting action set and the depth of the depicted graph have been limited to keep the discussed structure as readable as possible. <xref ref-type="fig" rid="F9">Figure 9A</xref> depicts the first two cases: the agent was given a duplicate action from <italic>A</italic> as well as missing one. This can be assessed in the resulting prediction graph by the yellow and black arrows which relate the same ordered pairs of nodes, e.g., from the highlighted red to blue nodes, and the lack of an inverse arrow that would match them. Note that while the absence of this inverse (green) arrow represents the lack of a &#x0201C;direct&#x0201D; inverse action <italic>in</italic> <inline-formula><mml:math id="M164"><mml:msub><mml:mrow><mml:mrow><mml:mi mathvariant="-tex-caligraphic">A</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mtext>init</mml:mtext></mml:mrow></mml:msub></mml:math></inline-formula>, the emerging structure from the graph allows for the determination of an inverse <italic>path</italic> as highlighted by the bold (red, orange, blue) arrows. From an external point of view, this basically means that if the agent has no action to translate itself to its left, it can instead rotate clockwise, then move backward, and finally rotate counter-clockwise to reach the correct orientation. Interestingly, this phenomenon where a missing inverse can be otherwise obtained by combination of other actions can only occur when the agent is able to rotate. The third situation is depicted in <xref ref-type="fig" rid="F9">Figure 9B</xref>, where the experiment was conducted with the robot given the additional action <italic>a</italic><sub>8</sub> &#x0201C;forward then rightward&#x0201D; along <italic>a</italic><sub>8</sub> &#x0003D; <italic>a</italic><sub>5</sub><italic>a</italic><sub>3</sub> in addition to the translations of <italic>A</italic>. The choice not to give the agent its defined rotations <italic>a</italic><sub>6</sub> and <italic>a</italic><sub>7</sub> serves only to get an easily legible picture of the resulting graph, much like in <xref ref-type="fig" rid="F8">Figure 8A</xref>, and does not impact the following. This additional move <italic>a</italic><sub>8</sub>, which we as an external observer know to be a combination, is studied like all other basic actions by the agent during the motor babbling phase. It means that the agent has no cue about <italic>a</italic><sub>8</sub> being an actual combination of two other actions. In the end of the experiment, the obtained graph of action exhibits this additional action <italic>a</italic><sub>8</sub> as black edges, as shown in <xref ref-type="fig" rid="F9">Figure 9B</xref>. From this graph, one can easily see that, from any point, it is indeed equivalent to follow either the black arrow or first the orange and then the yellow ones. The agent has thus been able to discover the action combination property.</p>
<fig id="F9" position="float">
<label>Figure 9</label>
<caption><p>Illustration of the effect of drawing starting actions at random on the discovered structure. <bold>(A)</bold> Graph obtained with a duplicate starting action (depicted in black) and a missing action (<italic>a</italic><sub>2</sub>, green in other figures). A path made of 3 edges (red, orange, blue) equivalent to the missing starting action is highlighted, providing an inverse to the (also highlighted) yellow edge. <bold>(B)</bold> Graph obtained by adding a combination (depicted in black) to the set of starting actions. Here, the action set was limited to translations to keep a clear visual.</p></caption>
<graphic xlink:href="frobt-07-561660-g0009.tif"/>
</fig>
<p>These graphs therefore show two important results. The first conceptual comment is that the validity of the proposed experiment is not conditional to a perfect match between ideal, &#x0201C;objective&#x0201D; moves of the agent and actions it is effectively able to perform at start. This is a desirable property for genericity and our goal of bootstrapping, for it allows to avoid justifying said match. The second, more practical, comment is that the graph resulting from the experiment can be used by the agent to select an action set &#x0201C;better&#x0201D; than <inline-formula><mml:math id="M165"><mml:msub><mml:mrow><mml:mrow><mml:mi mathvariant="-tex-caligraphic">A</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mtext>init</mml:mtext></mml:mrow></mml:msub></mml:math></inline-formula>. Indeed, the redundancy between edges (or paths of edges) in <xref ref-type="fig" rid="F9">Figures 9A,B</xref> represent the agent discovering it can discard the actions corresponding to black edges <italic>without losing capabilities</italic>, i.e., while keeping all nodes reachable. It can then be used to prune the available action set to a <italic>minimal</italic> set generating the same group, in the sense of Equation (4). Determining a criterion for selecting which actions are kept and which are discarded could functionally correspond to a basis for invariant principles in motor actions of the agent (Flash and Hogan, <xref ref-type="bibr" rid="B6">1998</xref>). The agent may also <italic>expand</italic> its action set with new actions that verify useful properties: for example, in the case depicted in <xref ref-type="fig" rid="F9">Figure 9A</xref> it can package the bolded path of edges into a single action so that it gets a missing inverse.</p>
</sec>
</sec>
</sec>
<sec sec-type="conclusions" id="s5">
<title>5. Conclusion</title>
<p>This paper was devoted to the introduction of a variational extension of a previous framework into the sensorimotor framework, extending the scope of such approaches to naive agents able to move freely in their environment. We demonstrated how, despite their extremely limited starting capabilities, these agents could exploit said framework not only to perform sensory prediction, but also to structure their own actions. The proposed formalism has been assessed in simulation as a proof of concept, with a naive agent able to (i) build for each of its actions some permutation matrices associated to its own sensory array, and (ii) exploit them to structure its own set of actions. These experiments were conducted here in a somewhat simplistic experimental setting to keep the simulated situation as close as possible to the theoretical exposition. However, their transparent exploitation of the formal mechanisms we explicitly isolated yields valuable insight as to similar results, which related works otherwise achieved in more realistic conditions.</p>
<p>Implementing a formal version of sensory prediction comes with many interesting perspectives, as it was shown to yield crucial properties both in the original cognitive psychology literature and in the previous robotic contexts. We hypothesize that it can be used to better understand the emergence and properties of capabilities often related to that of sensory prediction, both from robotics and from cognitive sciences, such as those mentioned in the Introduction. These include, e.g., motor control, motor planning, isolating proprioception, suppression of self-induced changes or object perception. These capabilities therefore constitute potential applications to which further study could be devoted from there.</p>
<p>Nevertheless, the applicability of the proposed paradigm to real agents or robots is still an opened question. First, it is clear that most of the actions an agent will be dealing with are not strictly conservative, but rather <italic>quasi</italic>-conservative like in the simulations conducted in this paper. While not extensively studied in this paper, some ongoing mathematical developments show that their properties still allow to reach the same concepts of sensory prediction and action structuration. Then, the fact that the sensory prediction relies on exact sensory values shifts inside the non noisy sensory array is not very realistic. Introducing stochastic matrices instead of permutation ones constitutes a promising way to deal with such an issue, also pulling all these developments inside a probability territory (Rao and Ballard, <xref ref-type="bibr" rid="B34">2005</xref>; Seth, <xref ref-type="bibr" rid="B37">2014</xref>) in which a lot of development still needs to be done. Moreover, the way this framework can be extended to agents exhibiting dynamical effects, e.g., when performing kinematic or dynamical control, must still be investigated. This requires some clarification about the structure and role of time in the sensorimotor experience, a point which is still largely eluded in the SMCT context. Finally, actions can also be noisy, and the question of their repeatability over time needs to be addressed so as to face realistic conditions. This poses significant challenges in the SMCT context of minimal <italic>a priori</italic> knowledge outlined in the present contribution. However, ongoing exploratory work tends to show that topological structure grounding some continuity of the sensorimotor experience can be found as a contingency in said naive context. All these paths constitute future promising works in the field and will undoubtedly extend the scope of these approaches to naive adaptive and robust agents able to build by themselves their own understanding of their interaction with their environment.</p>
</sec>
<sec sec-type="data-availability-statement" id="s6">
<title>Data Availability Statement</title>
<p>The raw data supporting the conclusions of this article will be made available by the authors, without undue reservation.</p>
</sec>
<sec id="s7">
<title>Author Contributions</title>
<p>Most of this work has been conducted by J-MG, supervised mainly by SA, and advised by BG. All authors contributed to the article and approved the submitted version.</p>
</sec>
<sec sec-type="COI-statement" id="conf1">
<title>Conflict of Interest</title>
<p>The authors declare that the research was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.</p>
</sec>
</body>
<back>
<sec sec-type="supplementary-material" id="s8">
<title>Supplementary Material</title>
<p>The Supplementary Material for this article can be found online at: <ext-link ext-link-type="uri" xlink:href="https://www.frontiersin.org/articles/10.3389/frobt.2020.561660/full#supplementary-material">https://www.frontiersin.org/articles/10.3389/frobt.2020.561660/full#supplementary-material</ext-link></p>
<supplementary-material xlink:href="Data_Sheet_1.pdf" id="SM1" mimetype="application/pdf" xmlns:xlink="http://www.w3.org/1999/xlink"/>
</sec>
<ref-list>
<title>References</title>
<ref id="B1">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Bhanpuri</surname> <given-names>N. H.</given-names></name> <name><surname>Okamura</surname> <given-names>A. M.</given-names></name> <name><surname>Bastian</surname> <given-names>A. J.</given-names></name></person-group> (<year>2013</year>). <article-title>Predictive modeling by the cerebellum improves proprioception</article-title>. <source>J. Neurosci</source>. <volume>33</volume>, <fpage>14301</fpage>&#x02013;<lpage>14306</lpage>. <pub-id pub-id-type="doi">10.1523/JNEUROSCI.0784-13.2013</pub-id><pub-id pub-id-type="pmid">24005283</pub-id></citation></ref>
<ref id="B2">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Bohg</surname> <given-names>J.</given-names></name> <name><surname>Hausman</surname> <given-names>K.</given-names></name> <name><surname>Sankaran</surname> <given-names>B.</given-names></name> <name><surname>Brock</surname> <given-names>O.</given-names></name> <name><surname>Kragic</surname> <given-names>D.</given-names></name> <name><surname>Schaal</surname> <given-names>S.</given-names></name> <etal/></person-group>. (<year>2017</year>). <article-title>Interactive perception: leveraging action in perception and perception in action</article-title>. <source>IEEE Trans. Robot</source>. <volume>33</volume>, <fpage>1273</fpage>&#x02013;<lpage>1291</lpage>. <pub-id pub-id-type="doi">10.1109/TRO.2017.2721939</pub-id></citation></ref>
<ref id="B3">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Bridgeman</surname> <given-names>B.</given-names></name></person-group> (<year>1995</year>). <article-title>A review of the role of efference copy in sensory and oculomotor control systems</article-title>. <source>Ann. Biomed. Eng</source>. <volume>23</volume>, <fpage>409</fpage>&#x02013;<lpage>422</lpage>. <pub-id pub-id-type="doi">10.1007/BF02584441</pub-id><pub-id pub-id-type="pmid">7486348</pub-id></citation></ref>
<ref id="B4">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Censi</surname> <given-names>A.</given-names></name> <name><surname>Murray</surname> <given-names>R. M.</given-names></name></person-group> (<year>2012</year>). <article-title>Learning diffeomorphism models of robotic sensorimotor cascades</article-title>, in <source>2012 IEEE International Conference on Robotics and Automation</source> (<publisher-loc>St Paul, MN</publisher-loc>), <fpage>3657</fpage>&#x02013;<lpage>3664</lpage>. <pub-id pub-id-type="doi">10.1109/ICRA.2012.6225318</pub-id></citation></ref>
<ref id="B5">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Flash</surname> <given-names>T.</given-names></name> <name><surname>Hochner</surname> <given-names>B.</given-names></name></person-group> (<year>2006</year>). <article-title>Motor primitives in vertebrates and invertebrates</article-title>. <source>Curr. Opin. Neurobiol</source>. <volume>15</volume>, <fpage>660</fpage>&#x02013;<lpage>666</lpage>. <pub-id pub-id-type="doi">10.1016/j.conb.2005.10.011</pub-id><pub-id pub-id-type="pmid">16275056</pub-id></citation></ref>
<ref id="B6">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Flash</surname> <given-names>T.</given-names></name> <name><surname>Hogan</surname> <given-names>N.</given-names></name></person-group> (<year>1998</year>). <source>Optimization Principles in Motor Control</source>.</citation></ref>
<ref id="B7">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Imamizu</surname> <given-names>H.</given-names></name></person-group> (<year>2010</year>). <article-title>Prediction of sensorimotor feedback from the efference copy of motor commands: a review of behavioral and functional neuroimaging studies</article-title>. <source>Jpn. Psychol. Res</source>. <volume>52</volume>, <fpage>107</fpage>&#x02013;<lpage>120</lpage>. <pub-id pub-id-type="doi">10.1111/j.1468-5884.2010.00428.x</pub-id></citation></ref>
<ref id="B8">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Jonschkowski</surname> <given-names>R.</given-names></name> <name><surname>Brock</surname> <given-names>O.</given-names></name></person-group> (<year>2015</year>). <article-title>Learning state representations with robotic priors</article-title>. <source>Auton. Robots</source> <volume>39</volume>, <fpage>407</fpage>&#x02013;<lpage>428</lpage>. <pub-id pub-id-type="doi">10.1007/s10514-015-9459-7</pub-id></citation></ref>
<ref id="B9">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Laflaqui&#x000E8;re</surname> <given-names>A.</given-names></name></person-group> (<year>2017</year>). <article-title>Grounding the experience of a visual field through sensorimotor contingencies</article-title>. <source>Neurocomputing</source> <volume>268</volume>, <fpage>142</fpage>&#x02013;<lpage>152</lpage>. <pub-id pub-id-type="doi">10.1016/j.neucom.2016.11.085</pub-id></citation></ref>
<ref id="B10">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Laflaqui&#x000E8;re</surname> <given-names>A.</given-names></name> <name><surname>Argentieri</surname> <given-names>S.</given-names></name> <name><surname>Breysse</surname> <given-names>O.</given-names></name> <name><surname>Genet</surname> <given-names>S.</given-names></name> <name><surname>Gas</surname> <given-names>B.</given-names></name></person-group> (<year>2012</year>). <article-title>A non-linear approach to space dimension perception by a naive agent</article-title>, in <source>2012 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)</source> (<publisher-loc>Algarve</publisher-loc>), <fpage>3253</fpage>&#x02013;<lpage>3259</lpage>. <pub-id pub-id-type="doi">10.1109/IROS.2012.6385632</pub-id></citation></ref>
<ref id="B11">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Laflaqui&#x000E8;re</surname> <given-names>A.</given-names></name> <name><surname>Argentieri</surname> <given-names>S.</given-names></name> <name><surname>Gas</surname> <given-names>B.</given-names></name> <name><surname>Castillo-Castenada</surname> <given-names>E.</given-names></name></person-group> (<year>2010</year>). <article-title>Space dimension perception from the multimodal sensorimotor flow of a naive robotic agent</article-title>, in <source>2010 IEEE/RSJ International Conference on Intelligent Robots and Systems</source> (<publisher-loc>Taipei</publisher-loc>), <fpage>1520</fpage>&#x02013;<lpage>1525</lpage>. <pub-id pub-id-type="doi">10.1109/IROS.2010.5651695</pub-id></citation></ref>
<ref id="B12">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Laflaqui&#x000E8;re</surname> <given-names>A.</given-names></name> <name><surname>O&#x00027;Regan</surname> <given-names>J. K.</given-names></name> <name><surname>Argentieri</surname> <given-names>S.</given-names></name> <name><surname>Gas</surname> <given-names>B.</given-names></name> <name><surname>Terekhov</surname> <given-names>A.</given-names></name></person-group> (<year>2015</year>). <article-title>Learning agents spatial configuration from sensorimotor invariants</article-title>. <source>Robot. Auton. Syst</source>. <volume>71</volume>, <fpage>49</fpage>&#x02013;<lpage>59</lpage>. <pub-id pub-id-type="doi">10.1016/j.robot.2015.01.003</pub-id></citation></ref>
<ref id="B13">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Laflaqui&#x000E8;re</surname> <given-names>A.</given-names></name> <name><surname>O&#x00027;Regan</surname> <given-names>J. K.</given-names></name> <name><surname>Gas</surname> <given-names>B.</given-names></name> <name><surname>Terekhov</surname> <given-names>A.</given-names></name></person-group> (<year>2018</year>). <article-title>Discovering space&#x02013;grounding spatial topology and metric regularity in a naive agent&#x00027;s sensorimotor experience</article-title>. <source>Neural Netw</source>. <volume>105</volume>, <fpage>371</fpage>&#x02013;<lpage>392</lpage>. <pub-id pub-id-type="doi">10.1016/j.neunet.2018.06.001</pub-id><pub-id pub-id-type="pmid">29940487</pub-id></citation></ref>
<ref id="B14">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Laflaqui&#x000E8;re</surname> <given-names>A.</given-names></name> <name><surname>Ortiz</surname> <given-names>M. G.</given-names></name></person-group> (<year>2019</year>). <article-title>Unsupervised emergence of egocentric spatial structure from sensorimotor prediction</article-title>, in <source>NeurIPS</source> (<publisher-loc>Vancouver, BC</publisher-loc>), <fpage>7158</fpage>&#x02013;<lpage>7168</lpage>.</citation></ref>
<ref id="B15">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Le Hir</surname> <given-names>N.</given-names></name> <name><surname>Sigaud</surname> <given-names>O.</given-names></name> <name><surname>Laflaqui&#x000E8;re</surname> <given-names>A.</given-names></name></person-group> (<year>2018</year>). <article-title>Identification of invariant sensorimotor structures as a prerequisite for the discovery of objects</article-title>. <source>Front. Robot. AI</source> <volume>5</volume>:<fpage>70</fpage>. <pub-id pub-id-type="doi">10.3389/frobt.2018.00070</pub-id></citation></ref>
<ref id="B16">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Lee</surname> <given-names>C.</given-names></name> <name><surname>Kim</surname> <given-names>M.</given-names></name> <name><surname>Kim</surname> <given-names>Y.</given-names></name> <name><surname>Hong</surname> <given-names>N.</given-names></name> <name><surname>Ryu</surname> <given-names>S.</given-names></name> <name><surname>Kim</surname> <given-names>S.</given-names></name></person-group> (<year>2017</year>). <article-title>Soft robot review</article-title>. <source>Int. J. Control Autom. Syst</source>. <volume>15</volume>, <fpage>3</fpage>&#x02013;<lpage>15</lpage>. <pub-id pub-id-type="doi">10.1007/s12555-016-0462-3</pub-id></citation></ref>
<ref id="B17">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Marcel</surname> <given-names>V.</given-names></name> <name><surname>Argentieri</surname> <given-names>S.</given-names></name> <name><surname>Gas</surname> <given-names>B.</given-names></name></person-group> (<year>2017</year>). <article-title>Building a sensorimotor representation of a naive agent&#x00027;s tactile space</article-title>. <source>IEEE Trans. Cogn. Dev. Syst</source>. <volume>9</volume>, <fpage>141</fpage>&#x02013;<lpage>152</lpage>. <pub-id pub-id-type="doi">10.1109/TCDS.2016.2617922</pub-id></citation></ref>
<ref id="B18">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Marcel</surname> <given-names>V.</given-names></name> <name><surname>Argentieri</surname> <given-names>S.</given-names></name> <name><surname>Gas</surname> <given-names>B.</given-names></name></person-group> (<year>2019</year>). <article-title>Where do I move my sensors? Emergence of a topological representation of sensors poses from the sensorimotor flow</article-title>. <source>IEEE Trans. Cogn. Dev. Syst</source>. <pub-id pub-id-type="doi">10.1109/TCDS.2019.2959915</pub-id></citation>
</ref>
<ref id="B19">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Marconi</surname> <given-names>L.</given-names></name> <name><surname>Naldi</surname> <given-names>R.</given-names></name> <name><surname>Gentili</surname> <given-names>L.</given-names></name></person-group> (<year>2011</year>). <article-title>Modelling and control of a flying robot interacting with the environment</article-title>. <source>Automatica</source> <volume>47</volume>, <fpage>2571</fpage>&#x02013;<lpage>2583</lpage>. <pub-id pub-id-type="doi">10.1016/j.automatica.2011.09.020</pub-id></citation></ref>
<ref id="B20">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Maye</surname> <given-names>A.</given-names></name> <name><surname>Engel</surname> <given-names>A. K.</given-names></name></person-group> (<year>2011</year>). <article-title>A discrete computational model of sensorimotor contingencies for object perception and control of behavior</article-title>, in <source>2011 IEEE International Conference on Robotics and Automation (IEEE)</source> (<publisher-loc>Shanghai</publisher-loc>), <fpage>3810</fpage>&#x02013;<lpage>3815</lpage>. <pub-id pub-id-type="doi">10.1109/ICRA.2011.5979919</pub-id></citation></ref>
<ref id="B21">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Maye</surname> <given-names>A.</given-names></name> <name><surname>Engel</surname> <given-names>A. K.</given-names></name></person-group> (<year>2012</year>). <article-title>Using sensorimotor contingencies for prediction and action planning</article-title>, in <source>From Animals to Animats 12</source>, eds <person-group person-group-type="editor"><name><surname>Ziemke</surname> <given-names>T.</given-names></name> <name><surname>Balkenius</surname> <given-names>C.</given-names></name> <name><surname>Hallam</surname> <given-names>J.</given-names></name></person-group> (<publisher-loc>Berlin; Heidelberg</publisher-loc>: <publisher-name>Springer Berlin Heidelberg</publisher-name>), <fpage>106</fpage>&#x02013;<lpage>116</lpage>. <pub-id pub-id-type="doi">10.1007/978-3-642-33093-3_11</pub-id></citation></ref>
<ref id="B22">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Montone</surname> <given-names>G.</given-names></name> <name><surname>O&#x00027;Regan</surname> <given-names>J. K.</given-names></name> <name><surname>Terekhov</surname> <given-names>A. V.</given-names></name></person-group> (<year>2015</year>). <article-title>Unsupervised model-free camera calibration algorithm for robotic applications</article-title>, in <source>2015 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)</source> (<publisher-loc>Hamburg</publisher-loc>), <fpage>3058</fpage>&#x02013;<lpage>3063</lpage>. <pub-id pub-id-type="doi">10.1109/IROS.2015.7353799</pub-id></citation></ref>
<ref id="B23">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Mutambara</surname> <given-names>A.</given-names></name> <name><surname>Litt</surname> <given-names>J.</given-names></name></person-group> (<year>1998</year>). <source>A Framework for a Supervisory Expert System for Robotic Manipulators With Joint-Position Limits and Joint-Rate Limits</source>. Technical report. <publisher-loc>Cleveland, OH</publisher-loc>: <publisher-name>NASA Lewis Research Center</publisher-name>.</citation></ref>
<ref id="B24">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Nguyen</surname> <given-names>T.</given-names></name> <name><surname>Sreedharan</surname> <given-names>S.</given-names></name> <name><surname>Kambhampati</surname> <given-names>S.</given-names></name></person-group> (<year>2017</year>). <article-title>Robust planning with incomplete domain models</article-title>. <source>Artif. Intell</source>. <volume>245</volume>, <fpage>134</fpage>&#x02013;<lpage>161</lpage>. <pub-id pub-id-type="doi">10.1016/j.artint.2016.12.003</pub-id></citation></ref>
<ref id="B25">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>No&#x000EB;</surname> <given-names>A.</given-names></name></person-group> (<year>2004</year>). <source>Action in Perception</source>. <publisher-loc>Cambridge, MA</publisher-loc>: <publisher-name>The MIT Press</publisher-name>.</citation></ref>
<ref id="B26">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>O&#x00027;Regan</surname> <given-names>J. K.</given-names></name> <name><surname>No&#x000EB;</surname> <given-names>A.</given-names></name></person-group> (<year>2001</year>). <article-title>A sensorimotor account of vision and visual consciousness</article-title>. <source>Behav. Brain Sci</source>. <volume>24</volume>, <fpage>939</fpage>&#x02013;<lpage>973</lpage>; discussion 973&#x02013;1031. <pub-id pub-id-type="doi">10.1017/S0140525X01000115</pub-id><pub-id pub-id-type="pmid">12239892</pub-id></citation></ref>
<ref id="B27">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Ortiz</surname> <given-names>M. G.</given-names></name> <name><surname>Laflaqui&#x000E8;re</surname> <given-names>A.</given-names></name></person-group> (<year>2018</year>). <article-title>Learning representations of spatial displacement through sensorimotor prediction</article-title>, in <source>2018 Joint IEEE 8th International Conference on Development and Learning and Epigenetic Robotics (ICDL-EpiRob)</source> (<publisher-loc>Tokyo</publisher-loc>), <fpage>7</fpage>&#x02013;<lpage>12</lpage>. <pub-id pub-id-type="doi">10.1109/DEVLRN.2018.8761034</pub-id></citation></ref>
<ref id="B28">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Oudeyer</surname> <given-names>P. Y.</given-names></name> <name><surname>Hafner</surname> <given-names>V. V.</given-names></name> <name><surname>Whyte</surname> <given-names>A.</given-names></name></person-group> (<year>2005</year>). <article-title>The playground experiment: task-independent development of a curious robot</article-title>, in <source>Proceedings of the AAAI Spring Symposium on Developmental Robotics</source> (<publisher-loc>Palo Alto, CA</publisher-loc>), <fpage>42</fpage>&#x02013;<lpage>47</lpage>.</citation></ref>
<ref id="B29">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Philipona</surname> <given-names>D.</given-names></name> <name><surname>O&#x00027;Regan</surname> <given-names>J. K.</given-names></name></person-group> (<year>2006</year>). <article-title>Color naming, unique hues, and hue cancellation predicted from singularities in reflection properties</article-title>. <source>Visual Neurosci</source>. <volume>23</volume>, <fpage>331</fpage>&#x02013;<lpage>339</lpage>. <pub-id pub-id-type="doi">10.1017/S0952523806233182</pub-id><pub-id pub-id-type="pmid">16961964</pub-id></citation></ref>
<ref id="B30">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Philipona</surname> <given-names>D.</given-names></name> <name><surname>O&#x00027;Regan</surname> <given-names>J. K.</given-names></name> <name><surname>Nadal</surname> <given-names>J. P.</given-names></name></person-group> (<year>2003</year>). <article-title>Is there something out there? Inferring space from sensorimotor dependencies</article-title>. <source>Neural Comput</source>. <volume>15</volume>, <fpage>2029</fpage>&#x02013;<lpage>2049</lpage>. <pub-id pub-id-type="doi">10.1162/089976603322297278</pub-id><pub-id pub-id-type="pmid">12959664</pub-id></citation></ref>
<ref id="B31">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Philipona</surname> <given-names>D.</given-names></name> <name><surname>O&#x00027;Regan</surname> <given-names>J. K.</given-names></name> <name><surname>Nadal</surname> <given-names>J. P.</given-names></name> <name><surname>Coenen</surname> <given-names>O. J. M.</given-names></name></person-group> (<year>2004</year>). <article-title>Perception of the structure of the physical world using unknown sensors and effectors</article-title>, in <source>Advances in Neural Information Processing Systems 15</source>, eds <person-group person-group-type="editor"><name><surname>Thrun</surname> <given-names>S.</given-names></name> <name><surname>Saul</surname> <given-names>L.</given-names></name> <name><surname>Sch&#x000F6;lkopf</surname> <given-names>B.</given-names></name></person-group> (<publisher-loc>Vancouver, BC</publisher-loc>: <publisher-name>MIT Press</publisher-name>), <fpage>945</fpage>&#x02013;<lpage>952</lpage>.</citation></ref>
<ref id="B32">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Poincar&#x000E9;</surname> <given-names>H.</given-names></name></person-group> (<year>1895</year>). <article-title>L&#x00027;espace Et la G&#x000E9;om&#x000E9;trie</article-title>. <source>Rev. M&#x000E9;taphys. Morale</source> <volume>3</volume>, <fpage>631</fpage>&#x02013;<lpage>646</lpage>.</citation></ref>
<ref id="B33">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Pynn</surname> <given-names>L.</given-names></name> <name><surname>DeSouza</surname> <given-names>J.</given-names></name></person-group> (<year>2012</year>). <article-title>The function of efference copy signals: implications for symptoms of schizophrenia</article-title>. <source>Vision Res</source>. <volume>76</volume>, <fpage>124</fpage>&#x02013;<lpage>133</lpage>. <pub-id pub-id-type="doi">10.1016/j.visres.2012.10.019</pub-id><pub-id pub-id-type="pmid">23159418</pub-id></citation></ref>
<ref id="B34">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Rao</surname> <given-names>R. P.</given-names></name> <name><surname>Ballard</surname> <given-names>D. H.</given-names></name></person-group> (<year>2005</year>). <article-title>Chapter 91&#x02013;probabilistic models of attention based on iconic representations and predictive coding</article-title>, in <source>Neurobiology of Attention</source>, eds <person-group person-group-type="editor"><name><surname>Itti</surname> <given-names>L.</given-names></name> <name><surname>Rees</surname> <given-names>G.</given-names></name> <name><surname>Tsotsos</surname> <given-names>J. K.</given-names></name></person-group> (<publisher-loc>Burlington, VT</publisher-loc>: <publisher-name>Academic Press</publisher-name>), <fpage>553</fpage>&#x02013;<lpage>561</lpage>. <pub-id pub-id-type="doi">10.1016/B978-012375731-9/50095-1</pub-id></citation></ref>
<ref id="B35">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Ruiz-del-Solar</surname> <given-names>J.</given-names></name> <name><surname>Loncomilla</surname> <given-names>P.</given-names></name> <name><surname>Soto</surname> <given-names>N.</given-names></name></person-group> (<year>2018</year>). <article-title>A survey on deep learning methods for robot vision</article-title>. <source>CoRR</source> abs/1803.10862.</citation></ref>
<ref id="B36">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Schr&#x000F6;der-Schetelig</surname> <given-names>J.</given-names></name> <name><surname>Manoonpong</surname> <given-names>P.</given-names></name> <name><surname>W&#x000F6;rg&#x000F6;tter</surname> <given-names>F.</given-names></name></person-group> (<year>2010</year>). <article-title>Using efference copy and a forward internal model for adaptive biped walking</article-title>. <source>Auton. Robots</source> <volume>29</volume>, <fpage>357</fpage>&#x02013;<lpage>366</lpage>. <pub-id pub-id-type="doi">10.1007/s10514-010-9199-7</pub-id></citation></ref>
<ref id="B37">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Seth</surname> <given-names>A.</given-names></name></person-group> (<year>2014</year>). <article-title>A predictive processing theory of sensorimotor contingencies: explaining the puzzle of perceptual presence and its absence in synesthesia</article-title>. <source>Cogn. Neurosci</source>. <volume>5</volume>, <fpage>97</fpage>&#x02013;<lpage>118</lpage>. <pub-id pub-id-type="doi">10.1080/17588928.2013.877880</pub-id><pub-id pub-id-type="pmid">24446823</pub-id></citation></ref>
<ref id="B38">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Sperry</surname> <given-names>R. W.</given-names></name></person-group> (<year>1950</year>). <article-title>Neural basis of the spontaneous optokinetic response produced by visual inversion</article-title>. <source>J. Comp. Physiol. Psychol</source>. <volume>43</volume>, <fpage>482</fpage>&#x02013;<lpage>489</lpage>. <pub-id pub-id-type="doi">10.1037/h0055479</pub-id><pub-id pub-id-type="pmid">14794830</pub-id></citation></ref>
<ref id="B39">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Stock</surname> <given-names>A.</given-names></name> <name><surname>Stock</surname> <given-names>C.</given-names></name></person-group> (<year>2004</year>). <article-title>A short history of ideo-motor action</article-title>. <source>Psychol. Res</source>. <volume>68</volume>, <fpage>176</fpage>&#x02013;<lpage>188</lpage>. <pub-id pub-id-type="doi">10.1007/s00426-003-0154-5</pub-id><pub-id pub-id-type="pmid">14685855</pub-id></citation></ref>
<ref id="B40">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Terekhov</surname> <given-names>A. V.</given-names></name> <name><surname>O&#x00027;Regan</surname> <given-names>J. K.</given-names></name></person-group> (<year>2016</year>). <article-title>Space as an invention of active agents</article-title>. <source>Front. Robotics AI</source> <volume>3</volume>:<fpage>4</fpage>. <pub-id pub-id-type="doi">10.3389/frobt.2016.00004</pub-id></citation></ref>
<ref id="B41">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>von Helmholtz</surname> <given-names>H.</given-names></name> <name><surname>Southall</surname> <given-names>J.</given-names></name> <name><surname>Nagel</surname> <given-names>W.</given-names></name> <name><surname>Gullstrand</surname> <given-names>A.</given-names></name> <name><surname>von Kries</surname> <given-names>J.</given-names></name></person-group> (<year>1925</year>). <source>Helmholtz&#x00027;s Treatise on Physiological Optics. Vol. 3 in Helmholtz&#x00027;s Treatise on Physiological Optics</source>. <publisher-loc>Washington, DC</publisher-loc>: <publisher-name>Optical Society of America</publisher-name>.</citation></ref>
<ref id="B42">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>von Holst</surname> <given-names>E.</given-names></name> <name><surname>Mittelstaedt</surname> <given-names>H.</given-names></name></person-group> (<year>1950</year>). <article-title>Das reafferenzprinzip</article-title>. <source>Naturwissenschaften</source> <volume>37</volume>, <fpage>464</fpage>&#x02013;<lpage>476</lpage>. <pub-id pub-id-type="doi">10.1007/BF00622503</pub-id></citation></ref>
</ref-list>
<fn-group>
<fn id="fn0001"><p><sup>1</sup>In all the following, the map &#x003C8;<sub><inline-formula><mml:math id="M166"><mml:mi mathvariant="-tex-caligraphic">C</mml:mi></mml:math></inline-formula></sub> will be shortened to &#x003C8; when there is no ambiguity, consistently with the initial definition of the sensorimotor map of the agent recalled in section 2.1.1.</p></fn>
</fn-group>
</back>
</article>