<?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.2016.00036</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>Resilience through Learning in Multi-Agent Cyber-Physical Systems</article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author" corresp="yes">
<name><surname>Karydis</surname> <given-names>Konstantinos</given-names></name>
<xref ref-type="aff" rid="aff1"><sup>1</sup></xref>
<xref ref-type="corresp" rid="cor1">&#x0002A;</xref>
<uri xlink:href="http://frontiersin.org/people/u/181277"/>
</contrib>
<contrib contrib-type="author">
<name><surname>Kannappan</surname> <given-names>Prasanna</given-names></name>
<xref ref-type="aff" rid="aff2"><sup>2</sup></xref>
<uri xlink:href="http://frontiersin.org/people/u/355629"/>
</contrib>
<contrib contrib-type="author">
<name><surname>Tanner</surname> <given-names>Herbert G.</given-names></name>
<xref ref-type="aff" rid="aff2"><sup>2</sup></xref>
<uri xlink:href="http://frontiersin.org/people/u/134145"/>
</contrib>
<contrib contrib-type="author">
<name><surname>Jardine</surname> <given-names>Adam</given-names></name>
<xref ref-type="aff" rid="aff3"><sup>3</sup></xref>
<uri xlink:href="http://frontiersin.org/people/u/335372"/>
</contrib>
<contrib contrib-type="author">
<name><surname>Heinz</surname> <given-names>Jeffrey</given-names></name>
<xref ref-type="aff" rid="aff3"><sup>3</sup></xref>
<uri xlink:href="http://frontiersin.org/people/u/188656"/>
</contrib>
</contrib-group>
<aff id="aff1"><sup>1</sup><institution>Department of Mechanical Engineering and Applied Mechanics, University of Pennsylvania</institution>, <addr-line>Philadelphia, PA</addr-line>, <country>USA</country></aff>
<aff id="aff2"><sup>2</sup><institution>Department of Mechanical Engineering, University of Delaware</institution>, <addr-line>Newark, DE</addr-line>, <country>USA</country></aff>
<aff id="aff3"><sup>3</sup><institution>Department of Linguistics and Cognitive Science, University of Delaware</institution>, <addr-line>Newark, DE</addr-line>, <country>USA</country></aff>
<author-notes>
<fn fn-type="edited-by"><p>Edited by: Andreas Kolling, The University of Sheffield, UK</p></fn>
<fn fn-type="edited-by"><p>Reviewed by: Sabine Hauert, University of Bristol, UK; Jonathan M. Aitken, The University of Sheffield, UK</p></fn>
<corresp content-type="corresp" id="cor1">&#x0002A;Correspondence: Konstantinos Karydis, <email>kkarydis&#x00040;seas.upenn.edu</email></corresp>
<fn fn-type="other" id="fn001"><p>Specialty section: This article was submitted to Multi-Robot Systems, a section of the journal Frontiers in Robotics and AI</p></fn>
</author-notes>
<pub-date pub-type="epub">
<day>27</day>
<month>06</month>
<year>2016</year>
</pub-date>
<pub-date pub-type="collection">
<year>2016</year>
</pub-date>
<volume>3</volume>
<elocation-id>36</elocation-id>
<history>
<date date-type="received">
<day>15</day>
<month>02</month>
<year>2016</year>
</date>
<date date-type="accepted">
<day>09</day>
<month>06</month>
<year>2016</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#x000A9; 2016 Karydis, Kannappan, Tanner, Jardine and Heinz.</copyright-statement>
<copyright-year>2016</copyright-year>
<copyright-holder>Karydis, Kannappan, Tanner, Jardine and Heinz</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) or licensor 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>The paper contributes to the design of secure and resilient supervisory Cyber-Physical Systems (CPS) through learning. The reported approach involves the inclusion of learning modules in each of the supervised agents, and considers a scenario where the system&#x02019;s coordinator privately transmits to individual agents their action plans in the form of symbolic strings. Each agent&#x02019;s plans belong in some particular class of (sub-regular) languages, which is identifiable in the limit from positive data. With knowledge of the class of languages their plans belong to, agents can observe their coordinator&#x02019;s instructions and utilize appropriate Grammatical Inference modules to identify the behavior specified for them. From that, they can then work collectively to infer the executive function of their supervisor. The paper proves that in cases where the coordinator fails, or communication to subordinates is disrupted, agents are able not only to maintain functional capacity but also to recover normalcy of operation by reconstructing their coordinator. Guaranteeing normalcy recovery in supervisory CPSs is critical in cases of a catastrophic failure or malicious attack, and is important for the design of next-generation Cyber-Physical Systems.</p>
</abstract>
<kwd-group>
<kwd>multi-agent systems</kwd>
<kwd>leader decapitation</kwd>
<kwd>resilience</kwd>
<kwd>supervisory control</kwd>
<kwd>grammatical inference</kwd>
<kwd>cryptography</kwd>
</kwd-group>
<contract-num rid="cn01">W911NF-08-2-0004</contract-num>
<contract-sponsor id="cn01">ARL MAST CTA</contract-sponsor>
<counts>
<fig-count count="7"/>
<table-count count="0"/>
<equation-count count="29"/>
<ref-count count="29"/>
<page-count count="12"/>
<word-count count="11328"/>
</counts>
</article-meta>
</front>
<body>
<sec id="S1" sec-type="introduction">
<label>1</label> <title>Introduction</title>
<sec id="S1-1">
<label>1.1</label> <title>Context and Motivation</title>
<p>Cyber-Physical Systems (CPSs) encompass a wide range of networked software and control units, sensors and actuators, and the intrinsic communication channels among these components. Some application areas of CPSs include automated factories, smart and energy efficient buildings, the smart grid, and self-driving cars; (Kim and Kumar, <xref ref-type="bibr" rid="B18">2012</xref>; Khaitan and McCalley, <xref ref-type="bibr" rid="B17">2014</xref>) provide additional application areas. As the domain of applicability of CPSs expands into security-sensitive areas, such as automated highways, water and electricity distribution systems, and military command and control, it is critical to develop novel design and control paradigms that go beyond the traditional notions of robustness, reliability, and stability (Rieger et al., <xref ref-type="bibr" rid="B26">2009</xref>). These novel paradigms &#x02013; or <italic>elements of resilience</italic> &#x02013; include cyber-security and privacy [e.g., Liu et al. (<xref ref-type="bibr" rid="B20">2012</xref>)], control system and information network robustness, and the ability to maintain normalcy and restore function following a failure or a malicious attack.</p>
<p>Making a system resilient to such events is non-trivial due to the high degree of inter-connectivity among the physical and software components, and the intricate cyber, cognitive, and human inter-dependencies (Rieger, <xref ref-type="bibr" rid="B25">2014</xref>). One way to approach this problem (Rieger et al., <xref ref-type="bibr" rid="B26">2009</xref>) is by decomposing it into two broad research thrusts. One of them is <italic>State Awareness</italic>, which is related to efficient and timely monitoring for the purpose of ensuring normalcy. The other is <italic>Resilient Design</italic>, which is related to enabling the system to take the appropriate control actions to maintain normalcy. This paper focuses on the latter.</p>
<p>Resilient design is a broad field of research that requires novel design and control paradigms and creative integration of methodological elements borrowed from various &#x02013; originally disjoint &#x02013; control-theoretic areas. Examples of the former category include fault-tolerant control (Blanke et al., <xref ref-type="bibr" rid="B1">2003</xref>), resilient control (Mahmoud, <xref ref-type="bibr" rid="B21">2004</xref>), and robust control of networked systems (Hespanha et al., <xref ref-type="bibr" rid="B13">2007</xref>; Schenato et al., <xref ref-type="bibr" rid="B28">2007</xref>). The latter category is a novel, rapidly expanding area of research, and some recent examples involve secure control (Cardenas et al., <xref ref-type="bibr" rid="B4">2008</xref>; Mo and Sinopoli, <xref ref-type="bibr" rid="B24">2009</xref>), and modeling of attacks and their impact (Kundur et al., <xref ref-type="bibr" rid="B19">2011</xref>; Cam et al., <xref ref-type="bibr" rid="B3">2014</xref>). Recently launched research initiatives, such as FORCEs (CPS-FORCES, <xref ref-type="bibr" rid="B6">2015</xref>), aim to increase the understanding of how to design resilient large-scale, human-in-the-loop systems by combining tools from resilient control with economic incentive schemes. Yet, although resilience can emerge as a result of judicious design of interacting agent objectives and incentives, (Rieger et al., <xref ref-type="bibr" rid="B26">2009</xref>) argue that, much like any organization will fail without organizational leadership, a supervisory design is still needed to ensure smooth operation. At this time, it is unclear what happens in cases where the supervisor ceases functioning, following a malicious attack or a catastrophic failure. How can one prevent the whole system from collapsing <italic>and</italic> recover normalcy of operation?</p>
<p>To answer this question, the paper proposes a different resilient design paradigm that incorporates learning to enable the system to recover normalcy of operation following a coordinator decapitation. It considers a class of supervisory systems,<xref ref-type="fn" rid="fn1"><sup>1</sup></xref> and integrates machine learning modules based on formal languages and <italic>Grammatical Inference</italic> (de la Higuera, <xref ref-type="bibr" rid="B7">2010</xref>) within the subordinate control units (agents). The idea is that agents keep track of the commands sent by the coordinator during normal operation, and through a particular machine learning procedure they can infer the plan(s) that the supervisor instructs them to execute, even if the agents themselves have no prior knowledge of those specific plans. The paper shows that agents can work together to ensure four key elements that prevent destabilization after coordinator decapitation: information flow, consensus-reaching ability, functional capability, and information interpretation (Jordan, <xref ref-type="bibr" rid="B14">2009</xref>). Finally, it is shown how the various aspects of the coordinator&#x02019;s language that each agent has individually learned can be used to recover the behavior of the coordinator and, thus, maintain normalcy.</p>
<p>The work that originally motivated this study has been in the context of emergency response (Kendra and Wachtendorf, <xref ref-type="bibr" rid="B16">2003</xref>) that documented how New York City&#x02019;s emergency management center was recreated on site by means of grass-root, spontaneous efforts of citizens, after it had collapsed with the twin towers. Studies on networked system resilience after leader decapitation have also been conducted within social and political sciences, focusing on counter-terrorism tactics (Jordan, <xref ref-type="bibr" rid="B14">2009</xref>). The question of why not ensuring resilience after decapitation in applications mentioned (Kim and Kumar, <xref ref-type="bibr" rid="B18">2012</xref>; Khaitan and McCalley, <xref ref-type="bibr" rid="B17">2014</xref>) by merely maintaining a copy of the coordinating element&#x02019;s function in each of the subordinate agents becomes clearer if one starts considering the risks and costs related to cyber-security and privacy, in private, public, and military networks, the vulnerabilities of which to deliberate cyber-attacks are highlighted in the news (Bruni, <xref ref-type="bibr" rid="B2">2014</xref>). In light of these developments, a counter-question to the one raised just above is why would anyone create multiple security liabilities by distributing copies of sensitive information and procedures.</p>
<p>The proposed approach complements existing ones by providing an additional feature to include in the resilient design of the next-generation CPSs. This feature is important because, in essence, equipping the agents with a learning module allows them to learn features of the organizational patterns of their supervisory system and the role assignment during normal operation. Preservation of these features following coordinator decapitation has been found to be an important factor that contributes to resilience (Kendra and Wachtendorf, <xref ref-type="bibr" rid="B16">2003</xref>). Additionally, the tools developed in this work are general, and can be used in a variety of applications, such as emergency response, privacy, security and counter-intelligence, command and control, and learning through human&#x02013;robot interactions. This paper extends the results obtained in Kannappan et al. (<xref ref-type="bibr" rid="B15">2016</xref>) by developing the theoretical foundations of this line of work, and showing that the approach is applicable to more than two subordinate agents.</p>
</sec>
<sec id="S1-2">
<label>1.2</label> <title>Problem Description</title>
<p>More technically, the problem considered is the following. A system consists of a coordinator (leader), indexed by 0, and <inline-formula><mml:math id="M1"><mml:mtext>k</mml:mtext><mml:mo class="MathClass-rel">&#x02208;</mml:mo><mml:mi mathvariant="double-struck">N</mml:mi><mml:msup><mml:mrow></mml:mrow><mml:mrow><mml:mstyle class="mbox"><mml:mtext>&#x0002B;</mml:mtext></mml:mstyle></mml:mrow></mml:msup></mml:math></inline-formula> subordinate autonomous agents. The group coordinator is a processing unit that broadcasts instructions to all other members, and its messages have a structure that dictates unambiguously which agent is to execute which plan of action. A plan is understood as a temporal sequence of actions. Communication between the coordinator and each agent is private. The agents do not need to communicate with each other, but they are assumed capable to establish an all-to-all <italic>ad hoc</italic> network in cases of emergency in order to recover normalcy.</p>
<p>The group operates in an environment that imposes conditional effects upon which agent actions can be executed at any given environment state; it is important to notice here that agent actions may not necessarily change the state of the environment. The dependence between agent actions and environment states is assumed Markovian. Agent actions that are compatible with a given world state depend only on the current state, while the next environment state depends entirely on how the agents act at the current state. Furthermore, the coordinator is designed so that the generated plans can be executed by the subordinate agents; in other words, commanded agent actions are guaranteed to be implementable at the current world state.</p>
<p>The controlled (desired) behavior of agent <italic>i</italic> &#x02208; &#x0007B;1, &#x02026;, <italic>k</italic>&#x0007D; is captured by a formal language <italic>L<sub>i</sub></italic> over a particular alphabet of symbols, &#x003A3;<italic><sub>i</sub></italic>. The language of agent <italic>i</italic> is a set of finite combinations of letters (or symbols) from &#x003A3;<italic><sub>i</sub></italic> which are called words (or strings). <italic>L<sub>i</sub></italic> is the <italic>specification language</italic> of agent <italic>i</italic>, and expresses what the agent is tasked to do. Note that the specification language of an agent is in general different from its <italic>capacity</italic>; the latter is a superset of <italic>L<sub>i</sub></italic> expressing everything that this agent is capable of doing. The plans issued by the coordinator to agent <italic>i</italic> are words that belong in <italic>L<sub>i</sub></italic>, however the subordinate agents do not know <italic>a priori</italic> what their specification language is. What is known to them is that the specification language belongs to a particular class of languages, and that this class is identifiable asymptotically from examples of elements from this language &#x02013; such a language is called identifiable in the limit from positive presentations; this notion of learning is defined formally in Section <xref ref-type="sec" rid="S2">2</xref>.</p>
<p>There are several reasons for withholding from agents information about local objectives or the specifications, despite that the release of such information would seem to naturally endow the system with resilience properties and obviate the need for learning &#x02013; agents could then operate in a completely decentralized fashion. To see this, take, for example, the common method for adding robustness (and in some sense resilience) to a distributed system: equipping every agent with a copy of the decision making algorithm. This strategy is effective if agent behaviors are <italic>not</italic> interdependent, in the sense that that action or inaction on behalf of one agent can <italic>not</italic> block execution for the remaining system. This condition holds in instances where agents swarm or flock (Tanner et al., <xref ref-type="bibr" rid="B29">2007</xref>), but not when team behavior is carefully sequenced and scheduled in an orchestrated fashion as in the application context considered here.</p>
<p>Indeed, in the scenario considered, distributing the planning capability among the agents does not improve robustness: it is equally bad if either the coordinator or <italic>any</italic> of the agents fails. In fact, as the paper suggests, it is probably better if the coordinator &#x02013; rather than any of the agents &#x02013; fails, because the function of the former can be recovered by the latter. In addition, there may be privacy (and) or security reasons why the global strategy generation mechanism should not be proliferated across the system components: an attacker would then be able to exploit vulnerabilities at any of the distributed agent sites to gain access and insight into how the whole organization is structured and controlled. Alternatively, the strategy algorithm can be maintained in a single, remote, and secured physical device. Such distributed architecture, including physically separate, private communication channels between unsecured and trusted processes (cf. Figure <xref ref-type="fig" rid="F1">1</xref>), is the hallmark of separation kernels used in cryptography and secure system design (Rushby, <xref ref-type="bibr" rid="B27">1981</xref>). In addition to enhancing security, it is argued (Rushby, <xref ref-type="bibr" rid="B27">1981</xref>) that these distributed architectures facilitate formal verification, especially in contexts with isolated channels of different security levels (Martin et al., <xref ref-type="bibr" rid="B22">2000</xref>), which become increasingly prevalent given the trend for miniaturization of communication devices.</p>
<fig position="float" id="F1">
<label>Figure 1</label>
<caption><p><bold>Conceptual diagram of the supervisory system operation and learning functions in support of resilience</bold>.</p></caption>
<graphic xlink:href="frobt-03-00036-g001.tif"/>
</fig>
<p>A first question raised now is whether an agent can learn its specification language if it observes the instructions given by its coordinator for sufficiently long time. The answer to this question is straightforward and is affirmative; this is a direct consequence of known results in the field of Grammatical Inference that deals with properties of classes of formal languages and associated learning techniques (more on that in Section <xref ref-type="sec" rid="S2">2</xref>). What is not so clear is whether the agents can reconstruct the language of their coordinator once they learn their own specification language. The distinction is subtle, and it involves a certain type of synchronization that needs to occur between the strings in the individual specification languages &#x02013; not every combination works. The paper shows that the answer to this question is also affirmative, and proceeds to note that these two simple facts directly bring about the seemingly surprising realization that the <italic>mechanism</italic> by which the coordinator devised plans for its group, although originally private, can be revealed within the organization. The agents can reconstruct faithfully the function of their coordinator, should the latter ceases to exist, through decentralized inference and inter-agent communication.</p>
</sec>
<sec id="S1-3">
<label>1.3</label> <title>Organization</title>
<p>The rest of the paper is organized as follows. Section <xref ref-type="sec" rid="S2">2</xref> presents the necessary technical preliminaries on Grammatical Inference. Section <xref ref-type="sec" rid="S3">3</xref> develops the technical machinery for learning elements of resilience in CPS, and Section <xref ref-type="sec" rid="S4">4</xref> discusses the results and potential avenues for future research. Finally, Section <xref ref-type="sec" rid="S5">5</xref> concludes.</p>
</sec>
</sec>
<sec id="S2" sec-type="materials|methods">
<label>2</label> <title>Materials and Methods</title>
<p>What follows is a brief description of formal languages and learning techniques for a class of languages we consider in this work. The introduced terminology is then used to provide a technical description of the problem tackled here.</p>
<sec id="S2-4">
<label>2.1</label> <title>Formal Languages</title>
<p>An <italic>alphabet</italic> is a finite set of symbols; here, alphabets are referred to with capital Greek letters (&#x003A3; or &#x00394;). A <italic>string</italic> is a finite concatenation of symbols <italic>&#x003C3;</italic>, taken from an alphabet &#x003A3;. In this sense, strings are &#x0201C;words,&#x0201D; formed as combinations of &#x0201C;letters,&#x0201D; within a finite alphabet. A string <italic>u</italic> is of the form
<disp-formula id="E1"><mml:math id="M2"><mml:mi>u</mml:mi><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:msub><mml:mrow><mml:mn>&#x003C3;</mml:mn></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mtext>&#x02009;</mml:mtext><mml:msub><mml:mrow><mml:mn>&#x003C3;</mml:mn></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mtext>&#x02009;</mml:mtext><mml:msub><mml:mrow><mml:mn>&#x003C3;</mml:mn></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-rel">&#x022EF;</mml:mo><mml:msub><mml:mrow><mml:mn>&#x003C3;</mml:mn></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mspace width="1em" class="quad"/><mml:mtext>such that each</mml:mtext><mml:msub><mml:mrow><mml:mn>&#x003C3;</mml:mn></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-rel">&#x02208;</mml:mo><mml:mo class="MathClass-op">&#x003A3;</mml:mo><mml:mo class="MathClass-punc">.</mml:mo></mml:math></disp-formula></p>
<p>For a string <italic>w</italic> let &#x0007C;<italic>w</italic>&#x0007C; denote its length. The <italic>empty string</italic> &#x003BB; is the string of length 0. For two strings <italic>u, v, uv</italic> denotes their concatenation. Let &#x003A3;<sup>&#x02217;</sup> denote the set of all strings (including &#x003BB;) over alphabet &#x003A3;, and &#x003A3;<italic><sup>n</sup></italic> all strings of length <italic>n</italic> over &#x003A3;. For strings <italic>v, w</italic>&#x02009;&#x02208;&#x02009;&#x003A3;<sup>&#x02217;</sup>, <italic>v</italic> is a <italic>substring</italic> of <italic>w</italic> if and only if there exist some <italic>u</italic><sub>1</sub>, <italic>u</italic><sub>2</sub>&#x02009;&#x02208;&#x02009;&#x003A3;<sup>&#x02217;</sup> such that <italic>u</italic><sub>1</sub><italic>vu</italic><sub>2</sub>&#x02009;&#x0003D;&#x02009;<italic>w</italic>. The <italic>k-factors</italic> of a string <italic>w</italic>, denoted <italic>f<sub>k</sub></italic>(<italic>w</italic>), are its substrings of length <italic>k</italic>. Formally,
<disp-formula id="E2"><mml:math id="M3"><mml:msub><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mi>w</mml:mi></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mfenced separators="" open="&#x0007B;" close=""><mml:mrow><mml:mtable equalrows="false" columnlines="none" equalcolumns="false" class="array"><mml:mtr><mml:mtd class="array" columnalign="left"><mml:mrow><mml:mo class="MathClass-open">&#x0007B;</mml:mo><mml:mrow><mml:mi>u</mml:mi><mml:mo class="MathClass-rel">&#x02208;</mml:mo><mml:msup><mml:mrow><mml:mo class="MathClass-op">&#x003A3;</mml:mo></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msup><mml:mo class="MathClass-rel">&#x0007C;</mml:mo><mml:mspace width="0.3em" class="nbsp"/><mml:mi>u</mml:mi><mml:mspace width="0.3em" class="nbsp"/><mml:mtext>is a substring of</mml:mtext><mml:mspace width="0.3em" class="nbsp"/><mml:mi>w</mml:mi></mml:mrow><mml:mo class="MathClass-close">&#x0007D;</mml:mo></mml:mrow><mml:mo class="MathClass-punc">,</mml:mo><mml:mspace width="1em" class="quad"/></mml:mtd><mml:mtd class="array" columnalign="left"><mml:mtext>if</mml:mtext><mml:mo class="MathClass-rel">&#x0007C;</mml:mo><mml:mi>w</mml:mi><mml:mo class="MathClass-rel">&#x0007C;</mml:mo><mml:mo class="MathClass-rel">&#x02265;</mml:mo><mml:mi>k</mml:mi></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="array" columnalign="left"><mml:mrow><mml:mo class="MathClass-open">&#x0007B;</mml:mo><mml:mrow><mml:mi>w</mml:mi></mml:mrow><mml:mo class="MathClass-close">&#x0007D;</mml:mo></mml:mrow><mml:mo class="MathClass-punc">,</mml:mo><mml:mspace width="1em" class="quad"/></mml:mtd><mml:mtd class="array" columnalign="left"><mml:mtext>otherwise</mml:mtext></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mfenced><mml:mo class="MathClass-punc">.</mml:mo></mml:math></disp-formula></p>
<p>Subsets of &#x003A3;<sup>&#x02217;</sup> are called stringsets, or <italic>languages</italic>. By default, all languages considered here are assumed to contain &#x003BB;. A <italic>grammar</italic> is a finite representation of a (potentially infinite) language. For a grammar <italic>G</italic>, let <italic>L</italic>(<italic>G</italic>) denote the language represented by <italic>G</italic>. A <italic>class</italic> of languages &#x02112; is a set of languages, e.g., the set of languages describable by a particular type of grammar.</p>
<p>This paper will make use of the <italic>Locally k-Testable</italic> class of languages (McNaughton and Papert, <xref ref-type="bibr" rid="B23">1971</xref>; Garc&#x000ED;a and Ruiz, <xref ref-type="bibr" rid="B10">2004</xref>). A language <italic>L</italic> is Locally <italic>k</italic>-Testable if there is some <italic>k</italic> such that, for any two strings <italic>w, v</italic>&#x02009;&#x02208;&#x02009;&#x003A3;<sup>&#x02217;</sup>, if <italic>f<sub>k</sub></italic>(<italic>w</italic>)&#x02009;&#x0003D;&#x02009;<italic>f<sub>k</sub></italic>(<italic>v</italic>) then either <italic>both w</italic> and <italic>v</italic> are in <italic>L</italic> or <italic>neither</italic> are. Thus, a Locally <italic>k</italic>-Testable language is one for which membership in that language is decided entirely by substrings of length <italic>k</italic>.</p>
<p>For example, let &#x003A3;&#x02009;&#x0003D;&#x02009;&#x0007B;<italic>a, b</italic>&#x0007D; and <italic>L<sub>bb</sub></italic> be the set of strings over &#x003A3;, which contain at least one <italic>bb</italic> substring. In other words,
<disp-formula id="E3"><mml:math id="M4"><mml:msub><mml:mrow><mml:mi>L</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">bb</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mrow><mml:mo class="MathClass-open">&#x0007B;</mml:mo><mml:mrow><mml:mi mathvariant="italic">bb</mml:mi><mml:mo class="MathClass-punc">,</mml:mo><mml:mi mathvariant="italic">abb</mml:mi><mml:mo class="MathClass-punc">,</mml:mo><mml:mi mathvariant="italic">bba</mml:mi><mml:mo class="MathClass-punc">,</mml:mo><mml:mi mathvariant="italic">bbb</mml:mi><mml:mo class="MathClass-punc">,</mml:mo><mml:mi mathvariant="italic">aabb</mml:mi><mml:mo class="MathClass-punc">,</mml:mo><mml:mi mathvariant="italic">abba</mml:mi><mml:mo class="MathClass-punc">,</mml:mo><mml:mi mathvariant="italic">abbb</mml:mi><mml:mo class="MathClass-punc">,</mml:mo><mml:mo class="MathClass-punc">.</mml:mo><mml:mo class="MathClass-punc">.</mml:mo><mml:mo class="MathClass-punc">.</mml:mo></mml:mrow><mml:mo class="MathClass-close">&#x0007D;</mml:mo></mml:mrow><mml:mo class="MathClass-punc">.</mml:mo></mml:math></disp-formula></p>
<p><italic>L<sub>bb</sub></italic> is Locally 2-Testable because for any <italic>w</italic> &#x02208; &#x003A3;<sup>&#x02217;</sup>, whether or not <italic>w</italic> is a member of <italic>L<sub>bb</sub></italic> can be determined by seeing if <italic>f</italic> <sub>2</sub>(<italic>w</italic>) contains <italic>bb</italic>.</p>
<p>In fact, <italic>L<sub>bb</sub></italic> belongs to a <italic>subclass</italic> of the Locally <italic>k</italic>-Testable languages for which any language in the subclass can be described by a grammar <italic>G</italic> which is simply a <italic>required k</italic>-factor; i.e., <italic>L</italic>(<italic>G</italic>)&#x02009;&#x0003D;&#x02009;&#x0007B;<italic>w</italic> &#x0007C;<italic>G</italic> &#x02208; <italic>f<sub>k</sub></italic>(<italic>w</italic>)&#x0007D;. For example, <italic>L<sub>bb</sub></italic> is <italic>L</italic>(<italic>G</italic>) for <italic>G</italic>&#x02009;&#x0003D;&#x02009;<italic>bb</italic>. This particular subclass is used here in the context of application examples, since its member languages can be learned from positive data in a straightforward way, as described below.</p>
</sec>
<sec id="S2-5">
<label>2.2</label> <title>Language Identification in the Limit</title>
<p>The learning paradigm used in this work is that of <italic>identification in the limit from positive data</italic> (Gold, <xref ref-type="bibr" rid="B11">1967</xref>). The particular definition here is adapted from Fu et al. (<xref ref-type="bibr" rid="B8">2013</xref>): given a language <italic>L</italic>, a <italic>presentation &#x003D5;</italic> of <italic>L</italic> is a function <italic>&#x003D5;:</italic>&#x02115;&#x02009;&#x02192;&#x02009;<italic>L</italic>&#x02009;&#x0222A;&#x02009;&#x00023;, where &#x00023; is a symbol not in &#x003A3;, and represents a point in the text with no data. Then <italic>&#x003D5;</italic> is a <italic>positive presentation of L</italic> if for all <italic>w</italic>&#x02009;&#x02208;&#x02009;<italic>L</italic>, there exists <italic>n</italic>&#x02009;&#x02208;&#x02009;&#x02115; such that <italic>&#x003D5;</italic>(<italic>n</italic>)&#x02009;&#x0003D;&#x02009;<italic>w</italic>.</p>
<p>Let <italic>&#x003D5;</italic>[<italic>i</italic>] denote the <italic>sequence &#x003D5;</italic>(0), <italic>&#x003D5;</italic>(1),&#x02026;, <italic>&#x003D5;</italic>(<italic>i</italic>). A <italic>learner</italic> or <italic>grammatical inference machine</italic> <inline-formula><mml:math id="M5"><mml:mi mathvariant="sans-serif">GIM</mml:mi></mml:math></inline-formula> is an algorithm that takes such a sequence as an input and outputs a grammar. A learner is said to <italic>converge</italic> on a presentation <italic>&#x003D5;</italic> if there is some <italic>n</italic>&#x02009;&#x02208;&#x02009;&#x02115; that for all <italic>m</italic>&#x02009;&#x0003E;&#x02009;<italic>n</italic>, <inline-formula><mml:math id="M6"><mml:mi mathvariant="sans-serif">GIM</mml:mi><mml:mo>(</mml:mo><mml:mi>&#x003D5;</mml:mi><mml:mo>[</mml:mo><mml:mi>n</mml:mi><mml:mn>]</mml:mn><mml:mo>)</mml:mo><mml:mtext>&#x02009;</mml:mtext><mml:mo>&#x0003D;</mml:mo><mml:mtext>&#x02009;</mml:mtext><mml:mi mathvariant="sans-serif">GIM</mml:mi><mml:mo>(</mml:mo><mml:mi>&#x003D5;</mml:mi><mml:mo>[</mml:mo><mml:mi>m</mml:mi><mml:mo>])</mml:mo></mml:math></inline-formula>.</p>
<p>A learner <inline-formula><mml:math id="M7"><mml:mi mathvariant="sans-serif">GIM</mml:mi></mml:math></inline-formula> is said to <italic>identify a class</italic> &#x02112; <italic>of languages in the limit from positive data</italic> if and only if for all <italic>L</italic>&#x02009;&#x02208;&#x02009;&#x02112;, for all positive presentations <italic>&#x003D5;</italic> of <italic>L</italic>, there is some point <italic>n</italic>&#x02009;&#x02208;&#x02009;&#x02115; at which <inline-formula><mml:math id="M8"><mml:mi mathvariant="sans-serif">GIM</mml:mi></mml:math></inline-formula> converges and <inline-formula><mml:math id="M9"><mml:mi>L</mml:mi><mml:mo>(</mml:mo><mml:mi mathvariant="sans-serif">GIM</mml:mi><mml:mo>(</mml:mo><mml:mi>&#x003D5;</mml:mi><mml:mo>[</mml:mo><mml:mi>n</mml:mi><mml:mo>]))</mml:mo><mml:mtext>&#x02009;</mml:mtext><mml:mo>&#x0003D;</mml:mo><mml:mtext>&#x02009;</mml:mtext><mml:mi>L</mml:mi></mml:math></inline-formula>. Intuitively, given any language in <inline-formula><mml:math id="M10"><mml:mi mathvariant="script">L</mml:mi><mml:mo>,</mml:mo><mml:mi mathvariant="sans-serif">GIM</mml:mi></mml:math></inline-formula> can learn from some finite sequence of examples of strings in <italic>L</italic> a grammar that represents <italic>L</italic>.</p>
<p>This idea of learning is very general, and there are many classes of formal languages for which such learning results exist. For reviews of some of these classes, see de la Higuera (<xref ref-type="bibr" rid="B7">2010</xref>) and Heinz and Rogers (<xref ref-type="bibr" rid="B12">2013</xref>). Thus, while demonstrated with a particular subclass of the Locally <italic>k</italic>-Testable languages, the results in this paper are independent of the particular class from which the specification languages of the agents are drawn, as long as the class is identifiable in the limit from positive data.</p>
</sec>
<sec id="S2-6">
<label>2.3</label> <title>Problem Statement</title>
<p>The basic problem treated in this paper is illustrated in Figure <xref ref-type="fig" rid="F1">1</xref>. A discrete-event system in the role of a team coordinator encodes the desired operation of its system in the form of some type of a collection of combined system trajectories &#x1D49C;. The coordinator generates plans <inline-formula><mml:math id="M11"><mml:mi mathvariant="sans-serif">A</mml:mi></mml:math></inline-formula>, elements of &#x1D49C;, which direct the behavior of a number 1,&#x02026;,&#x02009;<italic>&#x003BA;</italic> of subordinate agents. Each coordinator plan <inline-formula><mml:math id="M12"><mml:mi mathvariant="sans-serif">A</mml:mi></mml:math></inline-formula> is essentially a bundle of open-loop control laws, one per agent, so each agent <italic>i</italic> receives its own control trajectory <inline-formula><mml:math id="M13"><mml:mi mathvariant="sans-serif">A</mml:mi><mml:mo>&#x027E8;</mml:mo><mml:mi>i</mml:mi><mml:mo>&#x027E9;</mml:mo></mml:math></inline-formula> through a projection operation that strips away all information that is not related to that particular agent.</p>
<p>In the process of executing their instructions, the agents can potentially learn incrementally the strategy behind their coordinator&#x02019;s plans. This paper hypothesizes that the process through which agents infer the strategy behind the instructions they receive can be implemented in a decentralized fashion by means of agent-specific inference machines (learners). Such a learner operates on the body of instructions provided to its agent up to that moment in time.</p>
<p>If agents can indeed figure out the rules behind the instructions they receive, a following question is whether they can combine this acquired knowledge to construct collectively a system that reproduces the behavior of their coordinator. This way, if at any point their leader is decapitated, either due to system failure or disruption of communication, the agents are able to recover normalcy of operation by &#x0201C;cloning&#x0201D; their coordinator.</p>
<p>The goal of this paper is to show that the answer to both questions above, namely whether (i) agents can learn their behavior specification through observation and (ii) they can collectively reconstruct the machine that coordinates them, is affirmative. Readers familiar with results in language identification will have little reason to doubt (i), once it is revealed that system behaviors are represented as formal languages; the technical complication lies in the projection of <inline-formula><mml:math id="M14"><mml:mi mathvariant="sans-serif">A</mml:mi></mml:math></inline-formula> into <inline-formula><mml:math id="M15"><mml:mi mathvariant="sans-serif">A</mml:mi><mml:mn>&#x027E8;</mml:mn><mml:mo>&#x022C5;</mml:mo><mml:mn>&#x027E9;</mml:mn></mml:math></inline-formula> components. Whether hypothesis (ii) is valid is less obvious and has to be treated in some more detail.</p>
</sec>
</sec>
<sec id="S3">
<label>3</label> <title>Results</title>
<p>The main claim of this paper is that individual agents can gradually learn the plans that the coordinator has devised, by observing the descending commands the coordinator sends to them during the execution of a desired task. This way, if this coordinator unexpectedly fails or communication is disrupted, the agents will have learned their individual local specifications, and by combining their local hypotheses about what they are expected to do, they can essentially reconstruct an image of their lost commander.</p>
<p>The mathematical proof of this claim is constructive. The key to develop this proof is practically in the structure of the object types defined, and in the operations between the objects in these types.</p>
<sec id="S3-7">
<label>3.1</label> <title>The Models</title>
<p>Consider <italic>&#x003BA;</italic>&#x02009;&#x02208;&#x02009;&#x02115;<sup>&#x0002B;</sup> agents indexed by <italic>i</italic>&#x02009;&#x02208;&#x02009;&#x0007B;1,&#x02026;,&#x02009;<italic>&#x003BA;</italic>&#x0007D;. Their dynamics are modeled as transition systems denoted by &#x1D4AF;<sub>i</sub>.</p>
<p><bold>Definition 1</bold>. A transition system is a tuple &#x1D4AF;&#x02009;&#x0003D;&#x02009;(<italic>Q</italic>, &#x003A3;, &#x02192;) with</p>
<disp-formula id="E4"><mml:math id="M16"><mml:mtable><mml:mtr><mml:mtd columnalign="left"><mml:mi>Q</mml:mi></mml:mtd><mml:mtd columnalign="left"><mml:mtext>A finite set of states</mml:mtext></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="left"><mml:mn>&#x003A3;</mml:mn></mml:mtd><mml:mtd columnalign="left"><mml:mtext>A finite set of actions</mml:mtext></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="left"><mml:mn>&#x02192;</mml:mn><mml:mo>:</mml:mo><mml:mi>Q</mml:mi><mml:mo>&#x000D7;</mml:mo><mml:mn>&#x003A3;</mml:mn><mml:mo>&#x02192;</mml:mo><mml:mi>Q</mml:mi></mml:mtd><mml:mtd columnalign="left"><mml:mtext>The transition function</mml:mtext></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>Transition system <inline-formula><mml:math id="M17"><mml:msub><mml:mrow><mml:mi mathvariant="script">T</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> can generate every run agent <italic>i</italic> can produce &#x02013; this is referred to as the <italic>capacity</italic> of agent <italic>i</italic>.</p>
<p><bold>Definition 2</bold>. The <italic>capacity</italic> of agent <italic>i</italic> is a transition system &#x1D4AF;<sub>i</sub>&#x02009;&#x0003D;&#x02009;(&#x00394;, &#x003A3;<italic><sub>i</sub></italic>, &#x02192;<italic><sub>i</sub></italic>) with</p>
<disp-formula id="E5"><mml:math id="M19"><mml:mtable><mml:mtr><mml:mtd columnalign="left"><mml:mn>&#x00394;</mml:mn></mml:mtd><mml:mtd columnalign="left"><mml:mtext>A finite set of (world) states</mml:mtext></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="left"><mml:msub><mml:mn>&#x003A3;</mml:mn><mml:mi>i</mml:mi></mml:msub></mml:mtd><mml:mtd columnalign="left"><mml:mtext>A finite set of actions</mml:mtext></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="left"><mml:msub><mml:mn>&#x02192;</mml:mn><mml:mi>i</mml:mi></mml:msub><mml:mo>:</mml:mo><mml:mn>&#x00394;</mml:mn><mml:mo>&#x000D7;</mml:mo><mml:msub><mml:mn>&#x003A3;</mml:mn><mml:mi>i</mml:mi></mml:msub><mml:msub><mml:mo>&#x02192;</mml:mo><mml:mi>i</mml:mi></mml:msub><mml:mn>&#x00394;</mml:mn></mml:mtd><mml:mtd columnalign="left"><mml:mtext>The transition function</mml:mtext></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>Symbols in &#x00394; are understood as (world) states in transition system <inline-formula><mml:math id="M20"><mml:msub><mml:mrow><mml:mi mathvariant="script">T</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, in other words, they express the state of the world in which the agent is operating. Since the agents are operating in a common workspace and possibly interacting with each other, they are assumed to share alphabet &#x00394;.</p>
<p>Transition systems can be thought of as accepting <italic>families</italic> of languages. However, once initial states &#x00394;<italic><sup>I</sup></italic>&#x02009;&#x02286;&#x02009;&#x00394; and final states &#x00394;<italic><sup>F</sup></italic>&#x02009;&#x02286;&#x02009;&#x00394; are marked on &#x1D4AF;, the latter becomes an automaton <bold><italic>T</italic></bold> that accepts a particular (regular) language <italic>L</italic>. Let <bold><italic>T</italic></bold><italic><sub>i</sub></italic> be the automaton derived from &#x1D4AF;<sub>i</sub> when <italic>all</italic> states are marked as both initial and final, i.e., &#x00394;&#x02009;&#x0003D;&#x02009;&#x00394;<italic><sup>I</sup></italic>&#x02009;&#x0003D;&#x02009;&#x00394;<italic><sup>F</sup></italic>.</p>
<p>In the context of this paper, the process of marking initial and final states is thought of as a product operation (Cassandras and Lafortune, <xref ref-type="bibr" rid="B5">2008</xref>) between the transition system and a language specification automaton <inline-formula><mml:math id="M22"><mml:msub><mml:mrow><mml:mtext mathvariant="bold-italic">T</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>L</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mrow><mml:mo class="MathClass-open">&#x027E8;</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>G</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:msubsup><mml:mrow><mml:mi>G</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>I</mml:mi></mml:mrow></mml:msubsup><mml:mo class="MathClass-punc">,</mml:mo><mml:msubsup><mml:mrow><mml:mi>G</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>F</mml:mi></mml:mrow></mml:msubsup><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mo class="MathClass-op">&#x003A3;</mml:mo></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mo class="MathClass-rel">&#x02192;</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>L</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">&#x027E9;</mml:mo></mml:mrow></mml:math></inline-formula>.</p>
<p><bold>Definition 3</bold>. The <italic>specification</italic> of agent <italic>i</italic> is an automaton <inline-formula><mml:math id="M23"><mml:msub><mml:mrow><mml:mtext mathvariant="bold-italic">T</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>L</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>G</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:msubsup><mml:mrow><mml:mi>G</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>I</mml:mi></mml:mrow></mml:msubsup><mml:mo class="MathClass-punc">,</mml:mo><mml:msubsup><mml:mrow><mml:mi>G</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>F</mml:mi></mml:mrow></mml:msubsup><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mo class="MathClass-op">&#x003A3;</mml:mo></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mo class="MathClass-rel">&#x02192;</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>L</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:math></inline-formula> with</p>
<disp-formula id="E6"><mml:math id="M24"><mml:mtable><mml:mtr><mml:mtd columnalign="left"><mml:msub><mml:mi>G</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mtd><mml:mtd columnalign="left"><mml:mtext>A finite set of (internal) states</mml:mtext></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="left"><mml:msubsup><mml:mrow><mml:mi>G</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>I</mml:mi></mml:mrow></mml:msubsup><mml:mo class="MathClass-rel">&#x02286;</mml:mo><mml:msub><mml:mrow><mml:mi>G</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mtd><mml:mtd columnalign="left"><mml:mtext>A finite set of initial states</mml:mtext></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="left"><mml:msubsup><mml:mrow><mml:mi>G</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>F</mml:mi></mml:mrow></mml:msubsup><mml:mo class="MathClass-rel">&#x02286;</mml:mo><mml:msub><mml:mrow><mml:mi>G</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mtd><mml:mtd columnalign="left"><mml:mtext>A finite set of final states</mml:mtext></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="left"><mml:msub><mml:mn>&#x003A3;</mml:mn><mml:mi>i</mml:mi></mml:msub></mml:mtd><mml:mtd columnalign="left"><mml:mtext>A finite set of actions</mml:mtext></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="left"><mml:msub><mml:mrow><mml:mo class="MathClass-rel">&#x02192;</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>L</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mtext>&#x02009;</mml:mtext><mml:mo class="MathClass-punc">:</mml:mo><mml:msub><mml:mrow><mml:mi>G</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-bin">&#x000D7;</mml:mo><mml:msub><mml:mrow><mml:mo class="MathClass-op">&#x003A3;</mml:mo></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mo class="MathClass-rel">&#x02192;</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>L</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>G</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mtd><mml:mtd columnalign="left"><mml:mtext>The transition function</mml:mtext></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>When agent <italic>i</italic> behaves in a way consistent with its specification, the corresponding alphabet strings are exactly the input strings of the automaton <inline-formula><mml:math id="M25"><mml:msub><mml:mrow><mml:mtext mathvariant="bold-italic">T</mml:mtext></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:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:msub><mml:mrow><mml:mtext mathvariant="bold-italic">T</mml:mtext></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-bin">&#x000D7;</mml:mo><mml:msub><mml:mrow><mml:mtext mathvariant="bold-italic">T</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>L</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula>, where&#x02009;&#x000D7;&#x02009;denotes the standard product operation on automata (Cassandras and Lafortune, <xref ref-type="bibr" rid="B5">2008</xref>).</p>
<p><bold>Definition 4</bold>. The <italic>constrained dynamics</italic> of agent <italic>i</italic> satisfying specification <inline-formula><mml:math id="M26"><mml:msub><mml:mrow><mml:mtext mathvariant="bold-italic">T</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>L</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula> is an automaton
<disp-formula id="E7"><label>(1)</label><mml:math id="M27"><mml:msub><mml:mrow><mml:mtext mathvariant="bold-italic">T</mml:mtext></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:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mn>&#x00394;</mml:mn><mml:mo class="MathClass-bin">&#x000D7;</mml:mo><mml:msub><mml:mrow><mml:mi>G</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mtext>&#x02009;</mml:mtext><mml:mn>&#x00394;</mml:mn><mml:mo class="MathClass-bin">&#x000D7;</mml:mo><mml:msubsup><mml:mrow><mml:mi>G</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>I</mml:mi></mml:mrow></mml:msubsup><mml:mo class="MathClass-punc">,</mml:mo><mml:mtext>&#x02009;</mml:mtext><mml:mn>&#x00394;</mml:mn><mml:mo class="MathClass-bin">&#x000D7;</mml:mo><mml:msubsup><mml:mrow><mml:mi>G</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>F</mml:mi></mml:mrow></mml:msubsup><mml:mo class="MathClass-punc">,</mml:mo><mml:mtext>&#x02009;</mml:mtext><mml:msub><mml:mrow><mml:mo class="MathClass-op">&#x003A3;</mml:mo></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mtext>&#x02009;</mml:mtext><mml:msub><mml:mrow><mml:mo class="MathClass-rel">&#x02192;</mml:mo></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 class="MathClass-close">)</mml:mo></mml:mrow><mml:mspace width="0.5em" class="nbsp"/><mml:mo class="MathClass-punc">.</mml:mo></mml:math></disp-formula>
having as components</p>
<disp-formula id="E8"><mml:math id="M28"><mml:mtable><mml:mtr><mml:mtd columnalign="left"><mml:mn>&#x00394;</mml:mn><mml:mo>&#x000D7;</mml:mo><mml:msub><mml:mi>G</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mtd><mml:mtd columnalign="left"><mml:mtext>A finite set of states</mml:mtext></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="left"><mml:mn>&#x00394;</mml:mn><mml:mo class="MathClass-bin">&#x000D7;</mml:mo><mml:msubsup><mml:mrow><mml:mi>G</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>I</mml:mi></mml:mrow></mml:msubsup></mml:mtd><mml:mtd columnalign="left"><mml:mtext>A finite set of initial states</mml:mtext></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="left"><mml:mn>&#x00394;</mml:mn><mml:mo class="MathClass-bin">&#x000D7;</mml:mo><mml:msubsup><mml:mrow><mml:mi>G</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>F</mml:mi></mml:mrow></mml:msubsup></mml:mtd><mml:mtd columnalign="left"><mml:mtext>A finite set of final states</mml:mtext></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="left"><mml:msub><mml:mn>&#x003A3;</mml:mn><mml:mi>i</mml:mi></mml:msub></mml:mtd><mml:mtd columnalign="left"><mml:mtext>A finite set of actions</mml:mtext></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="left"><mml:msub><mml:mrow><mml:mo class="MathClass-rel">&#x02192;</mml:mo></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:mtext>&#x02009;</mml:mtext><mml:mo class="MathClass-punc">:</mml:mo><mml:mn>&#x00394;</mml:mn><mml:mo class="MathClass-bin">&#x000D7;</mml:mo><mml:msub><mml:mrow><mml:mi>G</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-bin">&#x000D7;</mml:mo><mml:msub><mml:mrow><mml:mo class="MathClass-op">&#x003A3;</mml:mo></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mo class="MathClass-rel">&#x02192;</mml:mo></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:mn>&#x00394;</mml:mn><mml:mo class="MathClass-bin">&#x000D7;</mml:mo><mml:msub><mml:mrow><mml:mi>G</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mtd><mml:mtd columnalign="left"><mml:msup><mml:mtext>The transition function</mml:mtext><mml:mtext>a</mml:mtext></mml:msup></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p><sup>a</sup>For <italic>&#x003B4;, &#x003B4;</italic>&#x02032; &#x02208; &#x00394;, <italic>g, g</italic>&#x02032; &#x02208; <italic>G<sub>i</sub></italic>, and <italic>&#x003C3;</italic> &#x02208; &#x003A3;<italic><sub>i</sub></italic>, one has <inline-formula><mml:math id="M29"><mml:mn>&#x003B4;</mml:mn><mml:mover class="stackrel"><mml:mrow><mml:msub><mml:mrow><mml:mo class="MathClass-rel">&#x02192;</mml:mo></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mrow><mml:mn>&#x003C3;</mml:mn></mml:mrow></mml:mrow></mml:mover><mml:mn>&#x003B4;</mml:mn><mml:mo class="MathClass-rel">&#x02032;</mml:mo><mml:mspace width="2.56804pt" class="tmspace"/><mml:mo class="MathClass-bin">&#x02227;</mml:mo><mml:mspace width="2.56804pt" class="tmspace"/><mml:mi>g</mml:mi><mml:msub><mml:mrow><mml:mover class="stackrel"><mml:mrow><mml:mo class="MathClass-rel">&#x02192;</mml:mo></mml:mrow><mml:mrow><mml:mrow><mml:mn>&#x003C3;</mml:mn></mml:mrow></mml:mrow></mml:mover></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>L</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mi>g</mml:mi><mml:mo class="MathClass-rel">&#x02032;</mml:mo><mml:mspace width="2.56804pt" class="tmspace"/><mml:mo class="MathClass-rel">&#x021D2;</mml:mo><mml:mspace width="2.56804pt" class="tmspace"/><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mn>&#x003B4;</mml:mn><mml:mo class="MathClass-punc">,</mml:mo><mml:mi>g</mml:mi></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:msub><mml:mrow><mml:mover class="stackrel"><mml:mrow><mml:mo class="MathClass-rel">&#x02192;</mml:mo></mml:mrow><mml:mrow><mml:mrow><mml:mn>&#x003C3;</mml:mn></mml:mrow></mml:mrow></mml:mover></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 class="MathClass-open">(</mml:mo><mml:mrow><mml:mn>&#x003B4;</mml:mn><mml:mo class="MathClass-rel">&#x02032;</mml:mo><mml:mo class="MathClass-punc">,</mml:mo><mml:mi>g</mml:mi><mml:mo class="MathClass-rel">&#x02032;</mml:mo></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:math></inline-formula>.</p>
<p>For computational expedience, the paper assumes that <inline-formula><mml:math id="M30"><mml:msub><mml:mrow><mml:mtext mathvariant="bold-italic">T</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>L</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula> generates a language <italic>L<sub>i</sub></italic> that belongs to a particular subset of Locally <italic>k</italic>-Testable class of languages (see Section <xref ref-type="sec" rid="S2">2</xref>). In this subclass, each string contains a specific <italic>k</italic>-factor. In other words, if <italic>z</italic> is the required <italic>k</italic>-factor, then any string <italic>w</italic> accepted by <inline-formula><mml:math id="M31"><mml:msub><mml:mrow><mml:mtext mathvariant="bold-italic">T</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>L</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula> can be written as <italic>w</italic>&#x02009;&#x0003D;&#x02009;<italic>uzv</italic> where <italic>u, v</italic> &#x02208; &#x003A3;<sup>&#x02217;</sup>.</p>
<p>If <italic>&#x003D5;</italic> is a positive presentation of <italic>L<sub>i</sub></italic>, and <italic>&#x003D5;<sub>i</sub></italic>[<italic>m</italic>] is the sequence of the images of 1,&#x02026;,<italic>m</italic> under <italic>&#x003D5;<sub>i</sub></italic>, then the set of factors in the string <italic>&#x003D5;<sub>i</sub></italic>(<italic>r</italic>) associated with <italic>r</italic> &#x02208; &#x0007B;1, &#x02026;, <italic>m</italic>&#x0007D; with &#x0007C;<italic>&#x003D5;</italic>(<italic>r</italic>)&#x0007C;&#x02009;&#x02265;&#x02009;<italic>k</italic> is
<disp-formula id="E9"><label>(2)</label><mml:math id="M32"><mml:msub><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mn>&#x003D5;</mml:mn></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mi>r</mml:mi></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mrow><mml:mo class="MathClass-open">&#x0007B;</mml:mo><mml:mrow><mml:mi>z</mml:mi><mml:mo class="MathClass-rel">&#x02208;</mml:mo><mml:msubsup><mml:mrow><mml:mo class="MathClass-op">&#x003A3;</mml:mo></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msubsup><mml:mo class="MathClass-rel">&#x0007C;</mml:mo><mml:mtext>&#x02009;</mml:mtext><mml:mo class="MathClass-rel">&#x02203;</mml:mo><mml:mi>u</mml:mi><mml:mo class="MathClass-punc">,</mml:mo><mml:mi>v</mml:mi><mml:mo class="MathClass-rel">&#x02208;</mml:mo><mml:msubsup><mml:mrow><mml:mo class="MathClass-op">&#x003A3;</mml:mo></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mo class="MathClass-bin">&#x02217;</mml:mo></mml:mrow></mml:msubsup><mml:mo class="MathClass-punc">:</mml:mo><mml:mn>&#x003D5;</mml:mn><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mi>r</mml:mi></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mi mathvariant="italic">uzv</mml:mi></mml:mrow><mml:mo class="MathClass-close">&#x0007D;</mml:mo></mml:mrow><mml:mo class="MathClass-punc">.</mml:mo></mml:math></disp-formula></p>
<p>The learner that identifies <italic>L<sub>i</sub></italic> in the limit can be compactly expressed through the equation
<disp-formula id="E10"><label>(3)</label><mml:math id="M33"><mml:mtext mathvariant="sans-serif">GIM</mml:mtext><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mn>&#x003D5;</mml:mn><mml:mrow><mml:mo class="MathClass-open">[</mml:mo><mml:mrow><mml:mi>m</mml:mi></mml:mrow><mml:mo class="MathClass-close">]</mml:mo></mml:mrow></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mstyle displaystyle='true'><mml:munderover><mml:mrow><mml:mo class="MathClass-op">&#x022C2;</mml:mo></mml:mrow><mml:mrow><mml:mi>r</mml:mi><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:munderover></mml:mstyle><mml:mtext>&#x02009;</mml:mtext><mml:msub><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mn>&#x003D5;</mml:mn><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mi>r</mml:mi></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mspace width="0.5em" class="nbsp"/><mml:mo class="MathClass-punc">.</mml:mo></mml:math></disp-formula></p>
<p>Knowing that there is only one <italic>k</italic>-factor that needs to be found in all strings of <italic>L<sub>i</sub></italic>, one can determine when the learner has converged. Indeed, this happens when for some <italic>m</italic> &#x02208; &#x02115;, it holds that <inline-formula><mml:math id="M34"><mml:mo>&#x0007C;</mml:mo><mml:mi mathvariant="sans-serif">GIM</mml:mi><mml:mo>(</mml:mo><mml:mi>&#x003D5;</mml:mi><mml:mo>[</mml:mo><mml:mi>m</mml:mi><mml:mo>])&#x0007C;</mml:mo><mml:mtext>&#x02009;</mml:mtext><mml:mo>&#x0003D;</mml:mo><mml:mtext>&#x02009;</mml:mtext><mml:mn>1</mml:mn></mml:math></inline-formula>.</p>
</sec>
<sec id="S3-8">
<label>3.2</label> <title>The Types</title>
<p>Let a <italic>symbol vector</italic> <inline-formula><mml:math id="M35"><mml:mi mathvariant="sans-serif">v</mml:mi></mml:math></inline-formula> of length <italic>&#x003BA;</italic>, be defined as an ordered collection of symbols arranged in a column format, where the symbol <italic>&#x003C3;<sub>i</sub></italic> at location <italic>i</italic> belongs to &#x003A3;<italic><sub>i</sub></italic>:
<disp-formula id="E11"><mml:math id="M36"><mml:mtext mathvariant="sans-serif">v</mml:mtext><mml:mi>&#x0225C;</mml:mi><mml:mfenced separators="" open="[" close="]"><mml:mrow><mml:mtable equalrows="false" columnlines="none none none none none none none none none" equalcolumns="false" class="array"><mml:mtr><mml:mtd class="array" columnalign="center"><mml:msub><mml:mrow><mml:mn>&#x003C3;</mml:mn></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="array" columnalign="center"><mml:msub><mml:mrow><mml:mn>&#x003C3;</mml:mn></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="array" columnalign="center"><mml:mo class="MathClass-op">&#x022EE;</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="array" columnalign="center"><mml:msub><mml:mrow><mml:mn>&#x003C3;</mml:mn></mml:mrow><mml:mrow><mml:mn>&#x003BA;</mml:mn></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mfenced><mml:mo class="MathClass-punc">,</mml:mo></mml:math></disp-formula></p>
<p>Sometimes, to save (vertical) space, <inline-formula><mml:math id="M37"><mml:mi mathvariant="sans-serif">v</mml:mi></mml:math></inline-formula> is written in the form of a row, using parentheses instead of square brackets, and separating its elements with a comma:
<disp-formula id="E12"><mml:math id="M38"><mml:mtext mathvariant="sans-serif">v</mml:mtext><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mn>&#x003C3;</mml:mn></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mn>&#x003C3;</mml:mn></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mo class="MathClass-op">&#x02026;</mml:mo><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mn>&#x003C3;</mml:mn></mml:mrow><mml:mrow><mml:mn>&#x003BA;</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mo class="MathClass-punc">.</mml:mo></mml:math></disp-formula></p>
<p>A concatenation of symbol vectors of the same length makes an <italic>array</italic>. The array has the same number of rows as the length of any vector in this concatenation. Every distinct vector concatenated forms a <italic>column</italic> in this array. A vector is a (trivial) array with only one column. A row in an array is understood as a string. Thus, an array can be thought of being formed, either by concatenating vectors horizontally, or by stacking (appending) strings of the same length vertically.</p>
<p>The notation used distinguishes vectors from arrays and strings; strings are (horizontal) sequences of symbols without delimiters, but when writing a vector in row format, its elements are separated with a comma and are enclosed in parentheses, while an array is denoted with square brackets.</p>
<p>Let <inline-formula><mml:math id="M39"><mml:mi mathvariant="script">K</mml:mi><mml:mo class="MathClass-rel">&#x02282;</mml:mo><mml:mi mathvariant="double-struck">N</mml:mi></mml:math></inline-formula>, and define the class &#x1D49C;<sub>&#x1D4A6;</sub> of symbol arrays with &#x0007C;&#x1D4A6;&#x0007C; rows and 2<italic>n</italic>, for some <italic>n</italic> &#x02208; &#x02115; columns over the set of symbols &#x00394;&#x02009;&#x0222A;&#x02009;&#x003A3;. Set &#x1D49C;<sub>&#x1D4A6;</sub> contains arrays of the form
<disp-formula id="E13"><mml:math id="M40"><mml:mtable columnalign="left" class="align-star"><mml:mtr><mml:mtd columnalign="right" class="align-odd"></mml:mtd><mml:mtd class="align-even"><mml:msup><mml:mrow><mml:mrow><mml:mo class="MathClass-open">[</mml:mo><mml:mrow><mml:mtext mathvariant="sans-serif">ab</mml:mtext></mml:mrow><mml:mo class="MathClass-close">]</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msup><mml:mo class="MathClass-punc">:</mml:mo><mml:mtext mathvariant="sans-serif">a</mml:mtext><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mrow><mml:mrow><mml:munder class="msub"><mml:mrow><mml:munder><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mn>&#x003B4;</mml:mn><mml:mo class="MathClass-punc">,</mml:mo><mml:mn>&#x003B4;</mml:mn><mml:mo class="MathClass-punc">,</mml:mo><mml:mo class="MathClass-op">&#x02026;</mml:mo><mml:mo class="MathClass-punc">,</mml:mo><mml:mn>&#x003B4;</mml:mn><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mo>&#x0FE38;</mml:mo></mml:munder></mml:mrow><mml:mrow><mml:mn>&#x003BA;</mml:mn><mml:mtext>&#x02009;times</mml:mtext></mml:mrow></mml:munder></mml:mrow></mml:mrow><mml:mo class="MathClass-punc">,</mml:mo><mml:mtext>&#x02009;</mml:mtext><mml:mn>&#x003B4;</mml:mn><mml:mo class="MathClass-rel">&#x02208;</mml:mo><mml:mn>&#x00394;</mml:mn><mml:mo class="MathClass-punc">,</mml:mo><mml:mspace width="2em"/></mml:mtd><mml:mtd columnalign="right" class="align-label"></mml:mtd><mml:mtd class="align-label"><mml:mspace width="2em"/></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="right" class="align-odd"></mml:mtd><mml:mtd class="align-even"><mml:mspace width="2em" class="qquad"/><mml:mspace width="0.5em" class="nbsp"/><mml:mspace width="0.5em" class="nbsp"/><mml:mspace width="0.5em" class="nbsp"/><mml:mtext mathvariant="sans-serif">b</mml:mtext><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mn>&#x003C3;</mml:mn></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mn>&#x003C3;</mml:mn></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mo class="MathClass-op">&#x02026;</mml:mo><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mn>&#x003C3;</mml:mn></mml:mrow><mml:mrow><mml:mn>&#x003BA;</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mo class="MathClass-rel">&#x02208;</mml:mo><mml:msup><mml:mrow><mml:mo class="MathClass-op">&#x003A3;</mml:mo></mml:mrow><mml:mrow><mml:mn>&#x003BA;</mml:mn></mml:mrow></mml:msup><mml:mo class="MathClass-punc">,</mml:mo><mml:mspace width="0.5em" class="nbsp"/><mml:mi>n</mml:mi><mml:mo class="MathClass-rel">&#x0003C;</mml:mo><mml:mo class="MathClass-rel">&#x0221E;</mml:mo><mml:mo class="MathClass-punc">.</mml:mo><mml:mspace width="2em"/></mml:mtd><mml:mtd columnalign="right" class="align-label"></mml:mtd><mml:mtd class="align-label"><mml:mspace width="2em"/></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
<p>The set &#x1D4A6; will be called the <italic>support set</italic> of the class. The support set of a class is used to index the rows of the arrays belonging in the class. To keep track of those indices, the arrays from a particular class are annotated with the support set of this class. For example, with &#x1D4A6;&#x02009;&#x0003D;&#x02009;&#x0007B;1, 2, &#x02026;, <italic>&#x003BA;</italic>&#x0007D;, an array &#x1D49C;<sub>&#x1D4A6;</sub> &#x02208; &#x1D49C;<sub>&#x1D4A6;</sub> is written as
<disp-formula id="E14"><label>(4)</label><mml:math id="M41"><mml:msub><mml:mrow><mml:mi mathvariant="script">A</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="script">K</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:msub><mml:mrow><mml:mfenced separators="" open="[" close="]"><mml:mrow><mml:mtable equalrows="false" columnlines="none none none none none none none none none" equalcolumns="false" class="array"><mml:mtr><mml:mtd class="array" columnalign="center"><mml:msub><mml:mrow><mml:mn>&#x003B4;</mml:mn></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mtd><mml:mtd class="array" columnalign="center"><mml:msub><mml:mrow><mml:mn>&#x003C3;</mml:mn></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo class="MathClass-punc">,</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mtd><mml:mtd class="array" columnalign="center"><mml:msub><mml:mrow><mml:mn>&#x003B4;</mml:mn></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mtd><mml:mtd class="array" columnalign="center"><mml:msub><mml:mrow><mml:mn>&#x003C3;</mml:mn></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo class="MathClass-punc">,</mml:mo><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mtd><mml:mtd class="array" columnalign="center"><mml:mo class="MathClass-rel">&#x022EF;</mml:mo></mml:mtd><mml:mtd class="array" columnalign="center"><mml:msub><mml:mrow><mml:mn>&#x003B4;</mml:mn></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:mtd><mml:mtd class="array" columnalign="center"><mml:msub><mml:mrow><mml:mn>&#x003C3;</mml:mn></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo class="MathClass-punc">,</mml:mo><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="array" columnalign="center"><mml:msub><mml:mrow><mml:mn>&#x003B4;</mml:mn></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mtd><mml:mtd class="array" columnalign="center"><mml:msub><mml:mrow><mml:mn>&#x003C3;</mml:mn></mml:mrow><mml:mrow><mml:mn>2</mml:mn><mml:mo class="MathClass-punc">,</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mtd><mml:mtd class="array" columnalign="center"><mml:msub><mml:mrow><mml:mn>&#x003B4;</mml:mn></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mtd><mml:mtd class="array" columnalign="center"><mml:msub><mml:mrow><mml:mn>&#x003C3;</mml:mn></mml:mrow><mml:mrow><mml:mn>2</mml:mn><mml:mo class="MathClass-punc">,</mml:mo><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mtd><mml:mtd class="array" columnalign="center"><mml:mo class="MathClass-rel">&#x022EF;</mml:mo></mml:mtd><mml:mtd class="array" columnalign="center"><mml:msub><mml:mrow><mml:mn>&#x003B4;</mml:mn></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:mtd><mml:mtd class="array" columnalign="center"><mml:msub><mml:mrow><mml:mn>&#x003C3;</mml:mn></mml:mrow><mml:mrow><mml:mn>2</mml:mn><mml:mo class="MathClass-punc">,</mml:mo><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="array" columnalign="center"><mml:mo class="MathClass-op">&#x022EE;</mml:mo></mml:mtd><mml:mtd class="array" columnalign="center"><mml:mo class="MathClass-op">&#x022EE;</mml:mo></mml:mtd><mml:mtd class="array" columnalign="center"><mml:mo class="MathClass-op">&#x022EE;</mml:mo></mml:mtd><mml:mtd class="array" columnalign="center"><mml:mo class="MathClass-op">&#x022EE;</mml:mo></mml:mtd><mml:mtd class="array" columnalign="center"><mml:mo class="MathClass-rel">&#x022F1;</mml:mo></mml:mtd><mml:mtd class="array" columnalign="center"><mml:mo class="MathClass-op">&#x022EE;</mml:mo></mml:mtd><mml:mtd class="array" columnalign="center"><mml:mo class="MathClass-op">&#x022EE;</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="array" columnalign="center"><mml:msub><mml:mrow><mml:mn>&#x003B4;</mml:mn></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mtd><mml:mtd class="array" columnalign="center"><mml:msub><mml:mrow><mml:mn>&#x003C3;</mml:mn></mml:mrow><mml:mrow><mml:mn>&#x003BA;</mml:mn><mml:mo class="MathClass-punc">,</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mtd><mml:mtd class="array" columnalign="center"><mml:msub><mml:mrow><mml:mn>&#x003B4;</mml:mn></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mtd><mml:mtd class="array" columnalign="center"><mml:msub><mml:mrow><mml:mn>&#x003C3;</mml:mn></mml:mrow><mml:mrow><mml:mn>&#x003BA;</mml:mn><mml:mo class="MathClass-punc">,</mml:mo><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mtd><mml:mtd class="array" columnalign="center"><mml:mo class="MathClass-rel">&#x022EF;</mml:mo></mml:mtd><mml:mtd class="array" columnalign="center"><mml:msub><mml:mrow><mml:mn>&#x003B4;</mml:mn></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:mtd><mml:mtd class="array" columnalign="center"><mml:msub><mml:mrow><mml:mn>&#x003C3;</mml:mn></mml:mrow><mml:mrow><mml:mn>&#x003BA;</mml:mn><mml:mo class="MathClass-punc">,</mml:mo><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mfenced></mml:mrow><mml:mrow><mml:mi mathvariant="script">K</mml:mi></mml:mrow></mml:msub></mml:math></disp-formula></p>
<p>For <italic>m</italic>&#x02009;&#x0003D;&#x02009;1, &#x02026;, <italic>n</italic>, array &#x1D49C;<sub>&#x1D4A6;</sub> has every 2<italic>m</italic>&#x02009;&#x0002B;&#x02009;1 column formed as a vector with the same symbol from &#x00394;, while symbols from columns with indices equal to 2<italic>m</italic> for some <italic>m</italic>, are in &#x003A3;. Note that the elements in &#x1D4A6; need not necessarily be consecutive integers as in the example above; it is assumed, however, that they are arranged in increasing order. Each class &#x1D49C;<sub>&#x1D4A6;</sub> is assumed to contain the <italic>empty array</italic> &#x0039B;, which is a trivial array with no columns.</p>
<p>To ground the concept of an array &#x1D49C;<sub>&#x1D4A6;</sub> in the context of transition systems, assume, for instance, that all agents share the same state set <italic>Q</italic> and set &#x00394;&#x02009;&#x0003D;&#x02009;<italic>Q</italic>. Take <italic>&#x003C3;<sub>i,j</sub></italic> &#x02208; &#x003A3;<italic><sub>i</sub></italic>. Then each row of &#x1D49C;<sub>&#x1D4A6;</sub> is a sequence, the subsequence of which containing the elements with even indices denotes an input word for transition system <bold>T</bold><italic><sub>i</sub></italic>, while the subsequence containing the elements with odd indices represents the common run that all transition systems synchronously execute.</p>
</sec>
<sec id="S3-9">
<label>3.3</label> <title>The Operations</title>
<p>From an automata-theoretic perspective, the basic operation needed is a (particular) product operation, which essentially implements the intersection implied in Section <xref ref-type="sec" rid="S1">1</xref>. The product operation was referred to as &#x0201C;particular,&#x0201D; because it does not conform exactly to the product definition in standard literature (Cassandras and Lafortune, <xref ref-type="bibr" rid="B5">2008</xref>). The reason, it does not, is because it enforces synchronization on a component of the state of the factors, rather than their actions. This special product operation is referred to as the <italic>synchronized product</italic>.</p>
<p>To see how it works, consider two agent constrained dynamics <inline-formula><mml:math id="M42"><mml:msub><mml:mrow><mml:mtext mathvariant="bold-italic">T</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>C</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula> and <inline-formula><mml:math id="M43"><mml:msub><mml:mrow><mml:mtext mathvariant="bold-italic">T</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>C</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula>, respectively, that share the same space <italic>Q</italic> as the first component of their state space. Recall the standard Trim operation on automata (Cassandras and Lafortune, <xref ref-type="bibr" rid="B5">2008</xref>), which simplifies the system by retaining only its accessible<xref ref-type="fn" rid="fn2"><sup>2</sup></xref> and co-accessible<xref ref-type="fn" rid="fn3"><sup>3</sup></xref> states and define the synchronized product of <inline-formula><mml:math id="M44"><mml:msub><mml:mrow><mml:mtext mathvariant="bold-italic">T</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>L</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula> and <inline-formula><mml:math id="M45"><mml:msub><mml:mrow><mml:mtext mathvariant="bold-italic">T</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>L</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula> as follows.</p>
<p><bold>Definition 5</bold>. The <italic>synchronized product</italic> &#x02297; of <inline-formula><mml:math id="M46"><mml:msub><mml:mrow><mml:mtext mathvariant="bold-italic">T</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>C</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula> and <inline-formula><mml:math id="M47"><mml:msub><mml:mrow><mml:mtext mathvariant="bold-italic">T</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>C</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula> is defined as the operation that yields a third automaton
<disp-formula id="E15"><label>(5)</label><mml:math id="M48"><mml:msub><mml:mrow><mml:mtext mathvariant="bold-italic">T</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>C</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo class="MathClass-bin">&#x02297;</mml:mo><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo class="MathClass-punc">:</mml:mo><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:msub><mml:mrow><mml:mtext mathvariant="bold-italic">T</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>C</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo class="MathClass-bin">&#x02297;</mml:mo><mml:msub><mml:mrow><mml:mtext mathvariant="bold-italic">T</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>C</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo class="MathClass-punc">:</mml:mo><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mtext>Trim</mml:mtext><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mi>Q</mml:mi><mml:mo class="MathClass-bin">&#x000D7;</mml:mo><mml:msub><mml:mrow><mml:mi>G</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-bin">&#x000D7;</mml:mo><mml:msub><mml:mrow><mml:mi>G</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mtext>&#x02009;</mml:mtext><mml:mi>Q</mml:mi><mml:mo class="MathClass-bin">&#x000D7;</mml:mo><mml:msubsup><mml:mrow><mml:mi>G</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>I</mml:mi></mml:mrow></mml:msubsup><mml:mo class="MathClass-bin">&#x000D7;</mml:mo><mml:msubsup><mml:mrow><mml:mi>G</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mi>I</mml:mi></mml:mrow></mml:msubsup><mml:mo class="MathClass-punc">,</mml:mo><mml:mi>Q</mml:mi><mml:mo class="MathClass-bin">&#x000D7;</mml:mo><mml:msubsup><mml:mrow><mml:mi>G</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>F</mml:mi></mml:mrow></mml:msubsup><mml:mo class="MathClass-bin">&#x000D7;</mml:mo><mml:msubsup><mml:mrow><mml:mi>G</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mi>F</mml:mi></mml:mrow></mml:msubsup><mml:mo class="MathClass-punc">,</mml:mo><mml:mtext>&#x02009;</mml:mtext><mml:msub><mml:mrow><mml:mo class="MathClass-op">&#x003A3;</mml:mo></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-bin">&#x000D7;</mml:mo><mml:msub><mml:mrow><mml:mo class="MathClass-op">&#x003A3;</mml:mo></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mtext>&#x02009;</mml:mtext><mml:msub><mml:mrow><mml:mo class="MathClass-rel">&#x02192;</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>C</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo class="MathClass-bin">&#x02297;</mml:mo><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:math></disp-formula>
where the transition function <inline-formula><mml:math id="M49"><mml:msub><mml:mrow><mml:mo class="MathClass-rel">&#x02192;</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>C</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo class="MathClass-bin">&#x02297;</mml:mo><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula> is defined as a map <italic>Q</italic>&#x02009;&#x000D7;&#x02009;<italic>G</italic><sub>1</sub>&#x02009;&#x000D7;&#x02009;<italic>G</italic><sub>2</sub>&#x02009;&#x000D7;&#x02009;&#x003A3;<sub>1</sub>&#x02009;&#x000D7;&#x02009;&#x003A3;<sub>2</sub>&#x02009;&#x02192;&#x02009;<italic>Q</italic>&#x02009;&#x000D7;&#x02009;<italic>G</italic><sub>1</sub>&#x02009;&#x000D7;&#x02009;<italic>G</italic><sub>2</sub> where <inline-formula><mml:math id="M50"><mml:mo class="MathClass-open">(</mml:mo><mml:mi>q</mml:mi><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mi>g</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mi>g</mml:mi><mml:mn>2</mml:mn></mml:msub><mml:mo class="MathClass-close">)</mml:mo><mml:mspace width="0.3em"/><mml:munderover><mml:mo class="MathClass-rel">&#x02192;</mml:mo><mml:mrow></mml:mrow><mml:mrow><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mn>&#x003C3;</mml:mn></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mn>&#x003C3;</mml:mn></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:munderover><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mn>1</mml:mn><mml:mo class="MathClass-bin">&#x02297;</mml:mo><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mi>q</mml:mi><mml:mo class="MathClass-rel">&#x02032;</mml:mo><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mi>g</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mi>g</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:math></inline-formula> if for <italic>q</italic> &#x02208; <italic>q, g</italic><sub>1</sub>, <inline-formula><mml:math id="M51"><mml:msubsup><mml:mrow><mml:mi>g</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mo class="MathClass-rel">&#x02032;</mml:mo></mml:mrow></mml:msubsup><mml:mo class="MathClass-rel">&#x02208;</mml:mo><mml:msub><mml:mrow><mml:mi>G</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, <italic>g</italic><sub>2</sub>, <inline-formula><mml:math id="M52"><mml:msubsup><mml:mrow><mml:mi>g</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mo class="MathClass-rel">&#x02032;</mml:mo></mml:mrow></mml:msubsup><mml:mo class="MathClass-rel">&#x02208;</mml:mo><mml:msub><mml:mrow><mml:mi>G</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, <italic>&#x003C3;</italic><sub>1</sub> &#x02208; &#x003A3;<sub>1</sub>, and <italic>&#x003C3;</italic><sub>2</sub> &#x02208; &#x003A3;2, it is <inline-formula><mml:math id="M53"><mml:mo class="MathClass-open">(</mml:mo><mml:mi>q</mml:mi><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mi>g</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo class="MathClass-close">)</mml:mo><mml:mover><mml:mrow><mml:mo class="MathClass-rel">&#x02192;</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mn>&#x003C3;</mml:mn><mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:mover><mml:msub><mml:mi>C</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo class="MathClass-open">(</mml:mo><mml:mi>q</mml:mi><mml:mo class="MathClass-rel">&#x02032;</mml:mo><mml:mo class="MathClass-punc">,</mml:mo><mml:msubsup><mml:mi>g</mml:mi><mml:mn>1</mml:mn><mml:mo class="MathClass-rel">&#x02032;</mml:mo></mml:msubsup><mml:mo class="MathClass-close">)</mml:mo></mml:math></inline-formula> and <inline-formula><mml:math id="M54"><mml:mo class="MathClass-open">(</mml:mo><mml:mi>q</mml:mi><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mi>g</mml:mi><mml:mn>2</mml:mn></mml:msub><mml:mo class="MathClass-close">)</mml:mo><mml:mover><mml:mo>&#x02192;</mml:mo><mml:mrow><mml:msub><mml:mn>&#x003C3;</mml:mn><mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:mover><mml:msub><mml:mrow><mml:mi>C</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-open">(</mml:mo><mml:mi>q</mml:mi><mml:mo class="MathClass-rel">&#x02032;</mml:mo><mml:mo class="MathClass-punc">,</mml:mo><mml:msubsup><mml:mrow><mml:mi>g</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mo class="MathClass-rel">&#x02032;</mml:mo></mml:mrow></mml:msubsup><mml:mo class="MathClass-close">)</mml:mo></mml:math></inline-formula>.</p>
<p>The operation is extended inductively to more than two factors:
<disp-formula id="E16"><mml:math id="M55"><mml:msub><mml:mrow><mml:mtext mathvariant="bold-italic">T</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>C</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo class="MathClass-bin">&#x02297;</mml:mo><mml:msub><mml:mrow><mml:mtext mathvariant="bold-italic">T</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>C</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo class="MathClass-bin">&#x02297;</mml:mo><mml:msub><mml:mrow><mml:mtext mathvariant="bold-italic">T</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>C</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo class="MathClass-bin">&#x02297;</mml:mo><mml:mo class="MathClass-rel">&#x022EF;</mml:mo><mml:mo class="MathClass-bin">&#x02297;</mml:mo><mml:msub><mml:mrow><mml:mtext mathvariant="bold-italic">T</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>C</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mtext>&#x02009;</mml:mtext><mml:mo class="MathClass-punc">:</mml:mo><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mtext>&#x02009;</mml:mtext><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mo class="MathClass-rel">&#x022EF;</mml:mo><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mtext mathvariant="bold-italic">T</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>C</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo class="MathClass-bin">&#x02297;</mml:mo><mml:msub><mml:mrow><mml:mtext mathvariant="bold-italic">T</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>C</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mo class="MathClass-bin">&#x02297;</mml:mo><mml:msub><mml:mrow><mml:mtext mathvariant="bold-italic">T</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>C</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mo class="MathClass-bin">&#x02297;</mml:mo><mml:mo class="MathClass-rel">&#x022EF;</mml:mo><mml:mo class="MathClass-bin">&#x02297;</mml:mo><mml:msub><mml:mrow><mml:mtext mathvariant="bold-italic">T</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>C</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mo class="MathClass-punc">.</mml:mo></mml:math></disp-formula></p>
<p>The effect of the synchronized product on two automata is a particular form of operation on the languages they generate. This operation is neither a pure union, nor a pure intersection. The effect is clearer when the words in the languages of each system are viewed as rows of a symbol array as in equation (<xref ref-type="disp-formula" rid="E14">4</xref>), that is, sequences in (&#x00394;&#x02009;&#x000D7;&#x02009;&#x003A3;)<sup>&#x02217;</sup>. In fact, a string in (&#x00394;&#x02009;&#x000D7;&#x02009;&#x003A3;)<sup>&#x02217;</sup>can be thought of as a (trivial) 1&#x02009;&#x000D7;&#x02009;2<italic>n</italic> array. The synchronized product operation now essentially <italic>merges</italic> these one-row arrays into a two-row array, in a way that ensures that odd columns are vectors consisted of the same symbol.</p>
<p>To see how this works in general with arrays, define first a <italic>projection</italic> operation on strings. A string <italic>u</italic> formed with symbols in an alphabet &#x003A3; can be projected to a set &#x003A3;&#x02032; &#x02282; &#x003A3;, by &#x0201C;deleting&#x0201D; all symbols in the string that do not belong in &#x003A3;&#x02032;. The projection to &#x003A3;&#x02032; operation is denoted <inline-formula><mml:math id="M56"><mml:msub><mml:mrow><mml:mn>&#x003C0;</mml:mn></mml:mrow><mml:mrow><mml:mo class="MathClass-op">&#x003A3;</mml:mo><mml:mo class="MathClass-rel">&#x02032;</mml:mo></mml:mrow></mml:msub></mml:math></inline-formula> and formally defined as
<disp-formula id="E17"><mml:math id="M57"><mml:msub><mml:mrow><mml:mn>&#x003C0;</mml:mn></mml:mrow><mml:mrow><mml:mo class="MathClass-op">&#x003A3;</mml:mo><mml:mo class="MathClass-rel">&#x02032;</mml:mo></mml:mrow></mml:msub><mml:mo class="MathClass-punc">:</mml:mo><mml:msup><mml:mrow><mml:mo class="MathClass-op">&#x003A3;</mml:mo></mml:mrow><mml:mrow><mml:mo class="MathClass-bin">&#x02217;</mml:mo></mml:mrow></mml:msup><mml:mo class="MathClass-rel">&#x02192;</mml:mo><mml:msup><mml:mrow><mml:mo class="MathClass-op">&#x003A3;</mml:mo><mml:mo class="MathClass-rel">&#x02032;</mml:mo></mml:mrow><mml:mrow><mml:mo class="MathClass-bin">&#x02217;</mml:mo></mml:mrow></mml:msup><mml:mo class="MathClass-punc">;</mml:mo><mml:mspace width="1em" class="quad"/><mml:mi>u</mml:mi><mml:mo class="MathClass-rel">&#x021A6;</mml:mo><mml:mfenced separators="" open="&#x0007B;" close=""><mml:mrow><mml:mtable equalrows="false" columnlines="none" equalcolumns="false" class="array"><mml:mtr><mml:mtd class="array" columnalign="left"><mml:mn>&#x003BB;</mml:mn><mml:mspace width="1em" class="quad"/></mml:mtd><mml:mtd class="array" columnalign="left"><mml:mi>u</mml:mi><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mn>&#x003BB;</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="array" columnalign="left"><mml:msub><mml:mrow><mml:mn>&#x003C0;</mml:mn></mml:mrow><mml:mrow><mml:mo class="MathClass-op">&#x003A3;</mml:mo><mml:mo class="MathClass-rel">&#x02032;</mml:mo></mml:mrow></mml:msub><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mspace width="1em" class="quad"/></mml:mtd><mml:mtd class="array" columnalign="left"><mml:mi>u</mml:mi><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mi>s</mml:mi><mml:mtext>&#x02009;</mml:mtext><mml:mi>a</mml:mi><mml:mo class="MathClass-punc">,</mml:mo><mml:mspace width="0.5em" class="nbsp"/><mml:mi>a</mml:mi><mml:mo class="MathClass-rel">&#x02209;</mml:mo><mml:mo class="MathClass-op">&#x003A3;</mml:mo><mml:mo class="MathClass-rel">&#x02032;</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="array" columnalign="left"><mml:msub><mml:mrow><mml:mn>&#x003C0;</mml:mn></mml:mrow><mml:mrow><mml:mo class="MathClass-op">&#x003A3;</mml:mo><mml:mo class="MathClass-rel">&#x02032;</mml:mo></mml:mrow></mml:msub><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mi>a</mml:mi><mml:mspace width="1em" class="quad"/></mml:mtd><mml:mtd class="array" columnalign="left"><mml:mi>u</mml:mi><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mi>s</mml:mi><mml:mtext>&#x02009;</mml:mtext><mml:mi>a</mml:mi><mml:mo class="MathClass-punc">,</mml:mo><mml:mspace width="0.5em" class="nbsp"/><mml:mi>a</mml:mi><mml:mo class="MathClass-rel">&#x02208;</mml:mo><mml:mo class="MathClass-op">&#x003A3;</mml:mo><mml:mo class="MathClass-rel">&#x02032;</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mfenced><mml:mo class="MathClass-punc">.</mml:mo></mml:math></disp-formula></p>
<p>The projection operation is extended from strings to arrays implicitly, through a function that extracts a particular row from an array. This <italic>extraction</italic> operation is first defined on vectors, and then naturally extended to arrays. The process is as follows. Let &#x022C5;[<italic>j</italic>] denote the (extraction) operation on vectors that selects the element (a symbol) of the vector at position <italic>j</italic> &#x02208; &#x0007B;1, &#x02026;, <italic>n</italic>&#x0007D;, that is,
<disp-formula id="E18"><mml:math id="M58"><mml:mtable columnalign="left" class="align-star"><mml:mtr><mml:mtd columnalign="right" class="align-odd"></mml:mtd><mml:mtd class="align-even"><mml:mo class="MathClass-bin">&#x022C5;</mml:mo><mml:mrow><mml:mo class="MathClass-open">&#x027E8;</mml:mo><mml:mrow><mml:mtext>&#x02009;</mml:mtext><mml:mi>j</mml:mi></mml:mrow><mml:mo class="MathClass-close">&#x027E9;</mml:mo></mml:mrow><mml:mo class="MathClass-punc">:</mml:mo><mml:msub><mml:mrow><mml:mo class="MathClass-op">&#x003A3;</mml:mo></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-bin">&#x000D7;</mml:mo><mml:msub><mml:mrow><mml:mo class="MathClass-op">&#x003A3;</mml:mo></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-bin">&#x000D7;</mml:mo><mml:mo class="MathClass-rel">&#x022EF;</mml:mo><mml:mo class="MathClass-bin">&#x000D7;</mml:mo><mml:msub><mml:mrow><mml:mo class="MathClass-op">&#x003A3;</mml:mo></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-bin">&#x000D7;</mml:mo><mml:mo class="MathClass-rel">&#x022EF;</mml:mo><mml:mo class="MathClass-bin">&#x000D7;</mml:mo><mml:msub><mml:mrow><mml:mo class="MathClass-op">&#x003A3;</mml:mo></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-rel">&#x02192;</mml:mo><mml:msub><mml:mrow><mml:mo class="MathClass-op">&#x003A3;</mml:mo></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-punc">;</mml:mo><mml:mspace width="2em"/></mml:mtd><mml:mtd columnalign="right" class="align-label"></mml:mtd><mml:mtd class="align-label"><mml:mspace width="2em"/></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="right" class="align-odd"></mml:mtd><mml:mtd class="align-even"><mml:mspace width="2em" class="qquad"/><mml:mspace width="0.5em" class="nbsp"/><mml:mspace width="0.5em" class="nbsp"/><mml:mspace width="0.5em" class="nbsp"/><mml:mo class="MathClass-op">&#x0039B;</mml:mo><mml:mo class="MathClass-rel">&#x02260;</mml:mo><mml:mi>u</mml:mi><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mn>&#x003C3;</mml:mn></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mn>&#x003C3;</mml:mn></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mo class="MathClass-op">&#x02026;</mml:mo><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mn>&#x003C3;</mml:mn></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mo class="MathClass-op">&#x02026;</mml:mo><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mn>&#x003C3;</mml:mn></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mo class="MathClass-rel">&#x021A6;</mml:mo><mml:msub><mml:mrow><mml:mn>&#x003C3;</mml:mn></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-punc">.</mml:mo><mml:mspace width="2em"/></mml:mtd><mml:mtd columnalign="right" class="align-label"></mml:mtd><mml:mtd class="align-label"><mml:mspace width="2em"/></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
<p>The extraction operation can be naturally extended to arrays. Without loss of generality, assume that &#x0007C;&#x1D4A6;&#x0007C;&#x02009;&#x0003D;&#x02009;<italic>&#x003BA;</italic>, and arrange the elements of &#x1D4A6;in increasing order: &#x0007B;<italic>n</italic><sub>1</sub>, &#x02026;, <italic>n</italic><sub><italic>&#x003BA;</italic></sub>&#x0007D;. In this case, the &#x022C5;&#x027E8;<italic>j</italic>&#x027E9; operation yields the row (string) of the array indexed by <italic>n<sub>j</sub></italic>&#x02009;&#x02208;&#x02009;&#x1D4A6;:
<disp-formula id="E19"><mml:math id="M59"><mml:mtable><mml:mtr><mml:mtd><mml:mo class="MathClass-bin">&#x022C5;</mml:mo><mml:mrow><mml:mo class="MathClass-open">&#x027E8;</mml:mo><mml:mrow><mml:mtext>&#x02009;</mml:mtext><mml:mi>j</mml:mi></mml:mrow><mml:mo class="MathClass-close">&#x027E9;</mml:mo></mml:mrow><mml:mo class="MathClass-punc">:</mml:mo><mml:msup><mml:mrow><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mo class="MathClass-op">&#x003A3;</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo class="MathClass-bin">&#x000D7;</mml:mo><mml:mo class="MathClass-rel">&#x022EF;</mml:mo><mml:mo class="MathClass-bin">&#x000D7;</mml:mo><mml:msub><mml:mrow><mml:mo class="MathClass-op">&#x003A3;</mml:mo></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-bin">&#x000D7;</mml:mo><mml:mo class="MathClass-rel">&#x022EF;</mml:mo><mml:mo class="MathClass-bin">&#x000D7;</mml:mo><mml:msub><mml:mrow><mml:mo class="MathClass-op">&#x003A3;</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mn>&#x003BA;</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mo class="MathClass-bin">&#x02217;</mml:mo></mml:mrow></mml:msup><mml:mo class="MathClass-rel">&#x02192;</mml:mo><mml:msubsup><mml:mrow><mml:mo class="MathClass-op">&#x003A3;</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mo class="MathClass-bin">&#x02217;</mml:mo></mml:mrow></mml:msubsup><mml:mo class="MathClass-punc">;</mml:mo></mml:mtd><mml:mtd class="align-even"><mml:mspace width="2em"/></mml:mtd><mml:mtd columnalign="left" class="align-label"></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="left"><mml:msub><mml:mrow><mml:mtext mathvariant="sans-serif">A</mml:mtext></mml:mrow><mml:mrow><mml:mi mathvariant="script">K</mml:mi><mml:mo class="MathClass-bin">&#x000D7;</mml:mo><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-rel">&#x021A6;</mml:mo><mml:mfenced separators="" open="&#x0007B;" close=""><mml:mrow><mml:mtable><mml:mtr><mml:mtd columnalign="left"><mml:mn>&#x003BB;</mml:mn><mml:mspace width="1em" class="quad"/></mml:mtd><mml:mtd columnalign="left"><mml:msub><mml:mrow><mml:mtext mathvariant="sans-serif">A</mml:mtext></mml:mrow><mml:mrow><mml:mi mathvariant="script">K</mml:mi><mml:mo class="MathClass-bin">&#x000D7;</mml:mo><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mo class="MathClass-op">&#x0039B;</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="left"><mml:mn>&#x003BB;</mml:mn><mml:mspace width="1em" class="quad"/></mml:mtd><mml:mtd columnalign="left"><mml:msub><mml:mrow><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-rel">&#x02209;</mml:mo><mml:mi mathvariant="script">K</mml:mi></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mtext mathvariant="sans-serif">B</mml:mtext></mml:mrow><mml:mrow><mml:mi mathvariant="script">K</mml:mi><mml:mo class="MathClass-bin">&#x000D7;</mml:mo><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mi>n</mml:mi><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:msub><mml:mrow><mml:mo class="MathClass-open">&#x027E8;</mml:mo><mml:mrow><mml:mi>j</mml:mi></mml:mrow><mml:mo class="MathClass-close">&#x027E9;</mml:mo></mml:mrow><mml:mtext mathvariant="sans-serif">b</mml:mtext><mml:mrow><mml:mo class="MathClass-open">&#x027E8;</mml:mo><mml:mrow><mml:mi>j</mml:mi></mml:mrow><mml:mo class="MathClass-close">&#x027E9;</mml:mo></mml:mrow><mml:mspace width="1em" class="quad"/></mml:mtd><mml:mtd><mml:msub><mml:mrow><mml:mtext mathvariant="sans-serif">A</mml:mtext></mml:mrow><mml:mrow><mml:mi mathvariant="script">K</mml:mi><mml:mo class="MathClass-bin">&#x000D7;</mml:mo><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mrow><mml:mo class="MathClass-open">[</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mtext mathvariant="sans-serif">B</mml:mtext></mml:mrow><mml:mrow><mml:mi mathvariant="script">K</mml:mi><mml:mo class="MathClass-bin">&#x000D7;</mml:mo><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mi>n</mml:mi><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:msub><mml:mspace width="2.56804pt" class="tmspace"/><mml:mtext mathvariant="sans-serif">b</mml:mtext></mml:mrow><mml:mo class="MathClass-close">]</mml:mo></mml:mrow><mml:mspace width="2.56804pt" class="tmspace"/><mml:mo class="MathClass-punc">,</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mspace width="1em" class="quad"/></mml:mtd><mml:mtd><mml:mspace width="1em" class="quad"/><mml:mtext mathvariant="sans-serif">b</mml:mtext><mml:mo class="MathClass-rel">&#x02208;</mml:mo><mml:msub><mml:mrow><mml:mo class="MathClass-op">&#x003A3;</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo class="MathClass-bin">&#x000D7;</mml:mo><mml:mo class="MathClass-rel">&#x022EF;</mml:mo><mml:mo class="MathClass-bin">&#x000D7;</mml:mo><mml:msub><mml:mrow><mml:mo class="MathClass-op">&#x003A3;</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mn>&#x003BA;</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mspace width="0.5em" class="nbsp"/><mml:mo class="MathClass-punc">.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mfenced></mml:mtd><mml:mtd class="align-even"><mml:mspace width="2em"/></mml:mtd><mml:mtd columnalign="right" class="align-label"></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
<p>Let now &#x1D49C;<sub>&#x1D4A6;&#x000D7;</sub><italic><sub>n</sub></italic> denote specifically the class of symbol arrays with support set<xref ref-type="fn" rid="fn4"><sup>4</sup></xref> <inline-formula><mml:math id="M60"><mml:mi mathvariant="script">K</mml:mi><mml:mo class="MathClass-rel">&#x02282;</mml:mo><mml:mi mathvariant="double-struck">N</mml:mi></mml:math></inline-formula> and dimension &#x0007C;&#x1D4A6;&#x0007C;&#x02009;&#x000D7;&#x02009;2<italic>n</italic>. Consider two array classes, &#x1D49C;<sub>&#x02110;&#x000D7;</sub><italic><sub>n</sub></italic> and &#x1D49C;<sub>&#x1D4A5;&#x000D7;</sub><italic><sub>n</sub></italic>, that have the same row length 2<italic>n</italic>, and non-intersecting support sets &#x02110;&#x02009;&#x02229;&#x02009;&#x1D4A5;&#x02009;&#x0003D;&#x02009;&#x02205;. A <italic>merge</italic> operation can be defined on those two arrays in the following way:
<disp-formula id="E20"><label>(6)</label><mml:math id="M61"><mml:mtable columnalign="left" class="align"><mml:mtr><mml:mtd columnalign="right" class="align-odd"><mml:mtable columnalign="right left" class="split"><mml:mtr class="split-mtr"><mml:mtd class="split-mtd"></mml:mtd><mml:mtd class="split-mtd"><mml:msub><mml:mrow><mml:mi mathvariant="script">A</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="script">I</mml:mi><mml:mo class="MathClass-bin">&#x000D7;</mml:mo><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-bin">&#x02295;</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="script">A</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="script">J</mml:mi><mml:mo class="MathClass-bin">&#x000D7;</mml:mo><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-rel">&#x02192;</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="script">A</mml:mi></mml:mrow><mml:mrow><mml:mtext>&#x02009;</mml:mtext><mml:mi mathvariant="script">I</mml:mi><mml:mo class="MathClass-bin">&#x0222A;</mml:mo><mml:mi mathvariant="script">J</mml:mi><mml:mtext>&#x02009;</mml:mtext><mml:mo class="MathClass-bin">&#x000D7;</mml:mo><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-punc">;</mml:mo></mml:mtd></mml:mtr><mml:mtr class="split-mtr"><mml:mtd class="split-mtd"></mml:mtd><mml:mtd class="split-mtd"><mml:msub><mml:mrow><mml:mtext mathvariant="sans-serif">A</mml:mtext></mml:mrow><mml:mrow><mml:mi mathvariant="script">I</mml:mi><mml:mo class="MathClass-bin">&#x000D7;</mml:mo><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-bin">&#x02295;</mml:mo><mml:msub><mml:mrow><mml:mtext mathvariant="sans-serif">A</mml:mtext></mml:mrow><mml:mrow><mml:mi mathvariant="script">J</mml:mi><mml:mo class="MathClass-bin">&#x000D7;</mml:mo><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-rel">&#x021A6;</mml:mo></mml:mtd></mml:mtr><mml:mtr class="split-mtr"><mml:mtd class="split-mtd"></mml:mtd><mml:mtd class="split-mtd"><mml:mfenced separators="" open="&#x0007B;" close=""><mml:mrow><mml:mtable><mml:mtr><mml:mtd columnalign="left"><mml:mo class="MathClass-op">&#x0039B;</mml:mo><mml:mspace width="1em" class="quad"/></mml:mtd><mml:mtd><mml:mo class="MathClass-punc">;</mml:mo><mml:mspace width="0.5em" class="nbsp"/><mml:mspace width="0.5em" class="nbsp"/><mml:mi mathvariant="script">I</mml:mi><mml:mo class="MathClass-bin">&#x02229;</mml:mo><mml:mi mathvariant="script">J</mml:mi><mml:mo class="MathClass-rel">&#x02260;</mml:mo><mml:mi>&#x02205;</mml:mi></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mtext mathvariant="sans-serif">A</mml:mtext><mml:mo class="MathClass-punc">:</mml:mo><mml:mfenced separators="" open="&#x0007B;" close=""><mml:mrow><mml:mtable equalrows="false" columnlines="none" equalcolumns="false" class="array"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mtext mathvariant="sans-serif">A</mml:mtext></mml:mrow><mml:mrow><mml:mtext>&#x02009;</mml:mtext><mml:mi mathvariant="script">I</mml:mi><mml:mo class="MathClass-bin">&#x0222A;</mml:mo><mml:mi mathvariant="script">J</mml:mi><mml:mtext>&#x02009;</mml:mtext><mml:mo class="MathClass-bin">&#x000D7;</mml:mo><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo class="MathClass-open">&#x027E8;</mml:mo><mml:mrow><mml:mi>j</mml:mi></mml:mrow><mml:mo class="MathClass-close">&#x027E9;</mml:mo></mml:mrow><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:msub><mml:mrow><mml:mtext mathvariant="sans-serif">A</mml:mtext></mml:mrow><mml:mrow><mml:mi mathvariant="script">I</mml:mi><mml:mo class="MathClass-bin">&#x000D7;</mml:mo><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo class="MathClass-open">&#x027E8;</mml:mo><mml:mrow><mml:mi>j</mml:mi></mml:mrow><mml:mo class="MathClass-close">&#x027E9;</mml:mo></mml:mrow><mml:mspace width="1em" class="quad"/></mml:mtd><mml:mtd><mml:mi>j</mml:mi><mml:mo class="MathClass-rel">&#x02208;</mml:mo><mml:mi mathvariant="script">I</mml:mi></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mtext mathvariant="sans-serif">A</mml:mtext></mml:mrow><mml:mrow><mml:mtext>&#x02009;</mml:mtext><mml:mi mathvariant="script">I</mml:mi><mml:mo class="MathClass-bin">&#x0222A;</mml:mo><mml:mi mathvariant="script">J</mml:mi><mml:mtext>&#x02009;</mml:mtext><mml:mo class="MathClass-bin">&#x000D7;</mml:mo><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo class="MathClass-open">&#x027E8;</mml:mo><mml:mrow><mml:mi>j</mml:mi></mml:mrow><mml:mo class="MathClass-close">&#x027E9;</mml:mo></mml:mrow><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:msub><mml:mrow><mml:mtext mathvariant="sans-serif">A</mml:mtext></mml:mrow><mml:mrow><mml:mi mathvariant="script">J</mml:mi><mml:mo class="MathClass-bin">&#x000D7;</mml:mo><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo class="MathClass-open">&#x027E8;</mml:mo><mml:mrow><mml:mi>j</mml:mi></mml:mrow><mml:mo class="MathClass-close">&#x027E9;</mml:mo></mml:mrow><mml:mspace width="1em" class="quad"/></mml:mtd><mml:mtd><mml:mi>j</mml:mi><mml:mo class="MathClass-rel">&#x02208;</mml:mo><mml:mi mathvariant="script">J</mml:mi></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mfenced><mml:mspace width="1em" class="quad"/></mml:mtd><mml:mtd><mml:mo class="MathClass-punc">;</mml:mo><mml:mspace width="0.5em" class="nbsp"/><mml:mspace width="0.5em" class="nbsp"/><mml:msub><mml:mrow><mml:mn>&#x003C0;</mml:mn></mml:mrow><mml:mrow><mml:mn>&#x00394;</mml:mn></mml:mrow></mml:msub><mml:mstyle mathsize="1.19em"><mml:mfenced separators="" open="(" close=""><mml:mrow></mml:mrow></mml:mfenced></mml:mstyle><mml:msub><mml:mrow><mml:mtext mathvariant="sans-serif">A</mml:mtext></mml:mrow><mml:mrow><mml:mi mathvariant="script">I</mml:mi><mml:mo class="MathClass-bin">&#x000D7;</mml:mo><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo class="MathClass-open">&#x027E8;</mml:mo><mml:mrow><mml:mi>j</mml:mi></mml:mrow><mml:mo class="MathClass-close">&#x027E9;</mml:mo></mml:mrow><mml:mstyle mathsize="1.19em"><mml:mfenced separators="" open=")" close=""><mml:mrow></mml:mrow></mml:mfenced></mml:mstyle><mml:mo class="MathClass-rel">&#x0003D;</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mspace width="1em" class="quad"/></mml:mtd><mml:mtd><mml:mspace width="1em" class="quad"/><mml:msub><mml:mrow><mml:mn>&#x003C0;</mml:mn></mml:mrow><mml:mrow><mml:mn>&#x00394;</mml:mn></mml:mrow></mml:msub><mml:mstyle mathsize="1.19em"><mml:mfenced separators="" open="(" close=""><mml:mrow></mml:mrow></mml:mfenced></mml:mstyle><mml:msub><mml:mrow><mml:mtext mathvariant="sans-serif">A</mml:mtext></mml:mrow><mml:mrow><mml:mi mathvariant="script">J</mml:mi><mml:mo class="MathClass-bin">&#x000D7;</mml:mo><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo class="MathClass-open">&#x027E8;</mml:mo><mml:mrow><mml:mi>j</mml:mi></mml:mrow><mml:mo class="MathClass-close">&#x027E9;</mml:mo></mml:mrow><mml:mstyle mathsize="1.19em"><mml:mfenced separators="" open=")" close=""><mml:mrow></mml:mrow></mml:mfenced></mml:mstyle></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="left"><mml:mo class="MathClass-op">&#x0039B;</mml:mo><mml:mspace width="1em" class="quad"/></mml:mtd><mml:mtd><mml:mo class="MathClass-punc">;</mml:mo><mml:mspace width="0.5em" class="nbsp"/><mml:msub><mml:mrow><mml:mn>&#x003C0;</mml:mn></mml:mrow><mml:mrow><mml:mn>&#x00394;</mml:mn></mml:mrow></mml:msub><mml:mstyle mathsize="1.19em"><mml:mfenced separators="" open="(" close=""><mml:mrow></mml:mrow></mml:mfenced></mml:mstyle><mml:msub><mml:mrow><mml:mtext mathvariant="sans-serif">A</mml:mtext></mml:mrow><mml:mrow><mml:mi mathvariant="script">I</mml:mi><mml:mo class="MathClass-bin">&#x000D7;</mml:mo><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo class="MathClass-open">&#x027E8;</mml:mo><mml:mrow><mml:mi>j</mml:mi></mml:mrow><mml:mo class="MathClass-close">&#x027E9;</mml:mo></mml:mrow><mml:mstyle mathsize="1.19em"><mml:mfenced separators="" open=")" close=""><mml:mrow></mml:mrow></mml:mfenced></mml:mstyle><mml:mo class="MathClass-rel">&#x02260;</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mspace width="1em" class="quad"/></mml:mtd><mml:mtd><mml:mspace width="1em" class="quad"/><mml:msub><mml:mrow><mml:mn>&#x003C0;</mml:mn></mml:mrow><mml:mrow><mml:mn>&#x00394;</mml:mn></mml:mrow></mml:msub><mml:mstyle mathsize="1.19em"><mml:mfenced separators="" open="(" close=""><mml:mrow></mml:mrow></mml:mfenced></mml:mstyle><mml:msub><mml:mrow><mml:mtext mathvariant="sans-serif">A</mml:mtext></mml:mrow><mml:mrow><mml:mi mathvariant="script">J</mml:mi><mml:mo class="MathClass-bin">&#x000D7;</mml:mo><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo class="MathClass-open">&#x027E8;</mml:mo><mml:mrow><mml:mi>j</mml:mi></mml:mrow><mml:mo class="MathClass-close">&#x027E9;</mml:mo></mml:mrow><mml:mstyle mathsize="1.19em"><mml:mfenced separators="" open=")" close=""><mml:mrow></mml:mrow></mml:mfenced></mml:mstyle></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mfenced></mml:mtd></mml:mtr></mml:mtable></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
<p>Notice the projection operation that checks whether the symbols in &#x00394; match in the rows of the arrays being merged. A close comparison of equation (<xref ref-type="disp-formula" rid="E20">6</xref>) with the definition of the transition function of equation (<xref ref-type="disp-formula" rid="E15">5</xref>) reveals the equivalence. The merge operation essentially translates the synchronized product operation on automata to the corresponding operation on language arrays.</p>
<p>To express the fact that the substrings formed by taking every symbol with even index (i.e., not in &#x00394;) in a row <italic>i</italic> &#x02208; &#x0007B;1, &#x02026;, <italic>&#x003BA;</italic>&#x0007D; of an array belong in a specific language <inline-formula><mml:math id="M62"><mml:msub><mml:mrow><mml:mi>L</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-rel">&#x02282;</mml:mo><mml:msubsup><mml:mrow><mml:mo class="MathClass-op">&#x003A3;</mml:mo></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mo class="MathClass-bin">&#x02217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula>, the array class is written &#x1D49C;<sub>&#x1D4A6;&#x000D7;</sub><italic><sub>n</sub></italic>(&#x0007B;<italic>L<sub>i</sub></italic>&#x0007D;<italic><sub>i</sub></italic><sub>&#x02208;&#x1D4A6;</sub>). When not all rows contain substrings in specific languages, but rather only the rows with indices belonging in &#x02133;&#x02009;&#x02282;&#x02009;&#x1D4A6;, then this can be denoted &#x1D49C;<sub>&#x1D4A6;&#x000D7;</sub><italic><sub>n</sub></italic>(&#x0007B;<italic>L<sub>i</sub></italic>&#x0007D;<sub>&#x02133;</sub>) (short and for <inline-formula><mml:math id="M63"><mml:msub><mml:mrow><mml:mi mathvariant="script">A</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="script">K</mml:mi><mml:mo class="MathClass-bin">&#x000D7;</mml:mo><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mrow><mml:mo class="MathClass-open">&#x0007B;</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>L</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">&#x0007D;</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi mathvariant="script">M</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-bin">&#x0222A;</mml:mo><mml:msub><mml:mrow><mml:mrow><mml:mo class="MathClass-open">&#x0007B;</mml:mo><mml:mrow><mml:msubsup><mml:mrow><mml:mo class="MathClass-op">&#x003A3;</mml:mo></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mo class="MathClass-bin">&#x02217;</mml:mo></mml:mrow></mml:msubsup></mml:mrow><mml:mo class="MathClass-close">&#x0007D;</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>j</mml:mi><mml:mo class="MathClass-rel">&#x02208;</mml:mo><mml:mi mathvariant="script">K</mml:mi><mml:mo class="MathClass-bin">&#x02216;</mml:mo><mml:mi mathvariant="script">M</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:math></inline-formula>).</p>
</sec>
<sec id="S3-10">
<label>3.4</label> <title>The Result</title>
<p>Let &#x1D4A6;&#x02009;&#x0003D;&#x02009;&#x0007B;1,&#x02026;, <italic>&#x003BA;</italic>&#x0007D; and consider <italic>&#x003BA;</italic> agents, the capacity of which is modeled originally in the form of transition systems <inline-formula><mml:math id="M64"><mml:msub><mml:mrow><mml:mi mathvariant="script">T</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>,&#x02026;,&#x1D4AF;<italic><sub>&#x003BA;</sub></italic>. A run on <inline-formula><mml:math id="M65"><mml:msub><mml:mrow><mml:mi mathvariant="script">T</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> is a row-vector, just like a row in some <inline-formula><mml:math id="M66"><mml:msub><mml:mi mathvariant="sans-serif">A</mml:mi><mml:mi>&#x1D4A6;</mml:mi></mml:msub></mml:math></inline-formula> as in equation (<xref ref-type="disp-formula" rid="E14">4</xref>), where the alphabet symbols in &#x003A3;<italic><sub>i</sub></italic> are interspersed with symbols from an alphabet &#x00394;.</p>
<p>The closed-loop (controlled) behavior of agent <italic>i</italic> is supposed to satisfy specification <inline-formula><mml:math id="M67"><mml:msub><mml:mrow><mml:mtext mathvariant="bold-italic">T</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>L</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula>. The closed-loop system, which is consistent with the specification, is <inline-formula><mml:math id="M68"><mml:msub><mml:mrow><mml:mtext mathvariant="bold-italic">T</mml:mtext></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:math></inline-formula>. However, since agents are not supposed to have knowledge of <italic>L<sub>i</sub></italic> (or, equivalently, <inline-formula><mml:math id="M69"><mml:msub><mml:mrow><mml:mtext mathvariant="bold-italic">T</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>L</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula>), the product operation yielding <inline-formula><mml:math id="M70"><mml:msub><mml:mrow><mml:mtext mathvariant="bold-italic">T</mml:mtext></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:math></inline-formula> cannot be performed locally by each agent. Instead, the agents are &#x0201C;teleoperated&#x0201D; by a <italic>coordinator</italic>, a central automaton <bold><italic>T</italic></bold><sub>0</sub> that dictates specifically what transition each agent is to take at each given state. In some sense, all such product operations have been performed by this <italic>coordinator</italic>, a model of which can be thought of as
<disp-formula id="E21"><mml:math id="M71"><mml:msub><mml:mrow><mml:mtext mathvariant="bold-italic">T</mml:mtext></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:msub><mml:mrow><mml:mtext mathvariant="bold-italic">T</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>C</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo class="MathClass-bin">&#x02297;</mml:mo><mml:mo class="MathClass-rel">&#x022EF;</mml:mo><mml:mo class="MathClass-bin">&#x02297;</mml:mo><mml:msub><mml:mrow><mml:mtext mathvariant="bold-italic">T</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>C</mml:mi></mml:mrow><mml:mrow><mml:mn>&#x003BA;</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo class="MathClass-punc">.</mml:mo></mml:math></disp-formula></p>
<p><bold>Definition 6</bold>. The <italic>coordinator</italic> is an automaton
<disp-formula id="E22"><mml:math id="M72"><mml:msub><mml:mrow><mml:mtext mathvariant="bold-italic">T</mml:mtext></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mn>&#x00394;</mml:mn><mml:mo class="MathClass-bin">&#x000D7;</mml:mo><mml:msub><mml:mrow><mml:mi>G</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-bin">&#x000D7;</mml:mo><mml:mo class="MathClass-rel">&#x022EF;</mml:mo><mml:mo class="MathClass-bin">&#x000D7;</mml:mo><mml:msub><mml:mrow><mml:mi>G</mml:mi></mml:mrow><mml:mrow><mml:mn>&#x003BA;</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mtext>&#x02009;</mml:mtext><mml:mn>&#x00394;</mml:mn><mml:mo class="MathClass-bin">&#x000D7;</mml:mo><mml:msubsup><mml:mrow><mml:mi>G</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>I</mml:mi></mml:mrow></mml:msubsup><mml:mo class="MathClass-bin">&#x000D7;</mml:mo><mml:mo class="MathClass-rel">&#x022EF;</mml:mo><mml:mo class="MathClass-bin">&#x000D7;</mml:mo><mml:msubsup><mml:mrow><mml:mi>G</mml:mi></mml:mrow><mml:mrow><mml:mn>&#x003BA;</mml:mn></mml:mrow><mml:mrow><mml:mi>I</mml:mi></mml:mrow></mml:msubsup><mml:mn>&#x00394;</mml:mn><mml:mo class="MathClass-bin">&#x000D7;</mml:mo><mml:msubsup><mml:mrow><mml:mi>G</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>F</mml:mi></mml:mrow></mml:msubsup><mml:mo class="MathClass-bin">&#x000D7;</mml:mo><mml:mo class="MathClass-rel">&#x022EF;</mml:mo><mml:mo class="MathClass-bin">&#x000D7;</mml:mo><mml:msubsup><mml:mrow><mml:mi>G</mml:mi></mml:mrow><mml:mrow><mml:mn>&#x003BA;</mml:mn></mml:mrow><mml:mrow><mml:mi>F</mml:mi></mml:mrow></mml:msubsup><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mo class="MathClass-op">&#x003A3;</mml:mo></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-bin">&#x000D7;</mml:mo><mml:mo class="MathClass-rel">&#x022EF;</mml:mo><mml:mo class="MathClass-bin">&#x000D7;</mml:mo><mml:msub><mml:mrow><mml:mo class="MathClass-op">&#x003A3;</mml:mo></mml:mrow><mml:mrow><mml:mn>&#x003BA;</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mtext>&#x02009;</mml:mtext><mml:mo class="MathClass-rel">&#x02192;</mml:mo></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:math></disp-formula>
with components</p>
<disp-formula id="E23"><mml:math id="M73"><mml:mtable><mml:mtr><mml:mtd columnalign="left"><mml:mn>&#x00394;</mml:mn><mml:mo>&#x000D7;</mml:mo><mml:msub><mml:mi>G</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>&#x000D7;</mml:mo><mml:mn>&#x022C5;&#x022C5;&#x022C5;</mml:mn><mml:mo>&#x000D7;</mml:mo><mml:msub><mml:mi>G</mml:mi><mml:mn>&#x003BA;</mml:mn></mml:msub></mml:mtd><mml:mtd columnalign="left"><mml:mtext>A finite set of states</mml:mtext></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="left"><mml:mn>&#x00394;</mml:mn><mml:mo class="MathClass-bin">&#x000D7;</mml:mo><mml:msubsup><mml:mrow><mml:mi>G</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>I</mml:mi></mml:mrow></mml:msubsup><mml:mo class="MathClass-bin">&#x000D7;</mml:mo><mml:mo class="MathClass-rel">&#x022EF;</mml:mo><mml:mo class="MathClass-bin">&#x000D7;</mml:mo><mml:msubsup><mml:mrow><mml:mi>G</mml:mi></mml:mrow><mml:mrow><mml:mn>&#x003BA;</mml:mn></mml:mrow><mml:mrow><mml:mi>I</mml:mi></mml:mrow></mml:msubsup></mml:mtd><mml:mtd columnalign="left"><mml:msup><mml:mtext>A finite set of initial states</mml:mtext><mml:mtext>a</mml:mtext></mml:msup></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="left"><mml:mn>&#x00394;</mml:mn><mml:mo class="MathClass-bin">&#x000D7;</mml:mo><mml:msubsup><mml:mrow><mml:mi>G</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>F</mml:mi></mml:mrow></mml:msubsup><mml:mo class="MathClass-bin">&#x000D7;</mml:mo><mml:mo class="MathClass-rel">&#x022EF;</mml:mo><mml:mo class="MathClass-bin">&#x000D7;</mml:mo><mml:msubsup><mml:mrow><mml:mi>G</mml:mi></mml:mrow><mml:mrow><mml:mn>&#x003BA;</mml:mn></mml:mrow><mml:mrow><mml:mi>F</mml:mi></mml:mrow></mml:msubsup></mml:mtd><mml:mtd columnalign="left"><mml:msup><mml:mtext>A finite set of final states</mml:mtext><mml:mtext>b</mml:mtext></mml:msup></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="left"><mml:msub><mml:mn>&#x003A3;</mml:mn><mml:mn>1</mml:mn></mml:msub><mml:mo>&#x000D7;</mml:mo><mml:mn>&#x022C5;&#x022C5;&#x022C5;</mml:mn><mml:mo>&#x000D7;</mml:mo><mml:msub><mml:mo>&#x003A3;</mml:mo><mml:mn>&#x003BA;</mml:mn></mml:msub></mml:mtd><mml:mtd columnalign="left"><mml:msup><mml:mtext>A finite set of action profiles</mml:mtext><mml:mtext>c</mml:mtext></mml:msup></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="left"><mml:mn>&#x02192;</mml:mn><mml:mo>:</mml:mo><mml:mn>&#x00394;</mml:mn><mml:mo>&#x000D7;</mml:mo><mml:msub><mml:mi>G</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>&#x000D7;</mml:mo><mml:mn>&#x022C5;&#x022C5;&#x022C5;</mml:mn><mml:mo>&#x000D7;</mml:mo><mml:msub><mml:mi>G</mml:mi><mml:mn>&#x003BA;</mml:mn></mml:msub><mml:mo>&#x000D7;</mml:mo><mml:msub><mml:mo>&#x003A3;</mml:mo><mml:mn>1</mml:mn></mml:msub><mml:mo>&#x000D7;</mml:mo><mml:mn>&#x022C5;&#x022C5;&#x022C5;</mml:mn><mml:mo>&#x000D7;</mml:mo><mml:msub><mml:mo>&#x003A3;</mml:mo><mml:mn>&#x003BA;</mml:mn></mml:msub><mml:mo>&#x02192;</mml:mo><mml:mn>&#x00394;</mml:mn><mml:mo>&#x000D7;</mml:mo><mml:msub><mml:mi>G</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>&#x000D7;</mml:mo><mml:mn>&#x022C5;&#x022C5;&#x022C5;</mml:mn><mml:mo>&#x000D7;</mml:mo><mml:msub><mml:mi>G</mml:mi><mml:mn>&#x003BA;</mml:mn></mml:msub></mml:mtd><mml:mtd columnalign="left"><mml:msup><mml:mtext>The transition function</mml:mtext><mml:mtext>d</mml:mtext></mml:msup></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p><sup>a</sup><inline-formula><mml:math id="M74"><mml:msubsup><mml:mrow><mml:mi>G</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>I</mml:mi></mml:mrow></mml:msubsup><mml:mo class="MathClass-rel">&#x02286;</mml:mo><mml:msub><mml:mrow><mml:mi>G</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>.</p>
<p><sup>b</sup><inline-formula><mml:math id="M75"><mml:msubsup><mml:mrow><mml:mi>G</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>F</mml:mi></mml:mrow></mml:msubsup><mml:mo class="MathClass-rel">&#x02286;</mml:mo><mml:msub><mml:mrow><mml:mi>G</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>.</p>
<p><sup>c</sup>An action profile is a tuple of symbols from agents&#x02019; alphabets.</p>
<p><sup>d</sup>For <italic>&#x003B4;<sub>i</sub></italic>, <italic>&#x003B4;<sub>j</sub></italic> &#x02208; &#x00394;, a transition <inline-formula><mml:math id="M76"><mml:msub><mml:mrow><mml:mn>&#x003B4;</mml:mn></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:munderover><mml:mo class="MathClass-rel">&#x02192;</mml:mo><mml:mrow></mml:mrow><mml:mrow><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mn>&#x003C3;</mml:mn></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mo class="MathClass-op">&#x02026;</mml:mo><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mn>&#x003C3;</mml:mn></mml:mrow><mml:mrow><mml:mn>&#x003BA;</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:msub><mml:mrow><mml:mn>&#x003B4;</mml:mn></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:munderover></mml:math></inline-formula> occurs if (&#x003B4;<italic><sub>i</sub></italic>, <italic>&#x003C3;<sub>k</sub></italic>) &#x02208; &#x02192;<italic><sub>k</sub></italic> for all <italic>&#x003BA;</italic>&#x02009;&#x02208;&#x02009;&#x1D4A6;.</p>
<p>A coordinator&#x02019;s run is a finite sequence of the form
<disp-formula id="E24"><label>(7)</label><mml:math id="M77"><mml:msub><mml:mrow><mml:mi>r</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="script">K</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-punc">:</mml:mo><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:munder><mml:munder><mml:mrow><mml:mover><mml:mover><mml:mrow><mml:msub><mml:mi>&#x003B4;</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:mrow><mml:mo stretchy='true'>&#x0FE37;</mml:mo></mml:mover><mml:mrow><mml:mtext>row</mml:mtext><mml:mn>&#x003BA;</mml:mn></mml:mrow></mml:mover><mml:mtext>&#x02009;</mml:mtext><mml:msub><mml:mi>g</mml:mi><mml:mrow><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy='true'>&#x0FE38;</mml:mo></mml:munder><mml:mrow><mml:mtext>row&#x02009;1</mml:mtext></mml:mrow></mml:munder><mml:mo class="MathClass-rel">&#x022EF;</mml:mo><mml:mover class="msup"><mml:mrow><mml:mover accent="false"><mml:mrow><mml:msub><mml:mrow><mml:mi>g</mml:mi></mml:mrow><mml:mrow><mml:mn>&#x003BA;</mml:mn><mml:mo class="MathClass-punc">,</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo>&#x0FE37;</mml:mo></mml:mover></mml:mrow><mml:mrow></mml:mrow></mml:mover><mml:munder class="msub"><mml:mrow><mml:munder><mml:mrow><mml:msub><mml:mrow><mml:mn>&#x003C3;</mml:mn></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo class="MathClass-punc">,</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo>&#x0FE38;</mml:mo></mml:munder></mml:mrow><mml:mrow></mml:mrow></mml:munder><mml:mo class="MathClass-rel">&#x022EF;</mml:mo><mml:mover class="msup"><mml:mrow><mml:mover accent="false"><mml:mrow><mml:msub><mml:mrow><mml:mn>&#x003C3;</mml:mn></mml:mrow><mml:mrow><mml:mn>&#x003BA;</mml:mn><mml:mo class="MathClass-punc">,</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo>&#x0FE37;</mml:mo></mml:mover></mml:mrow><mml:mrow></mml:mrow></mml:mover><mml:munder class="msub"><mml:mrow><mml:munder><mml:mrow><mml:mtext>&#x02009;</mml:mtext><mml:msub><mml:mrow><mml:mn>&#x003B4;</mml:mn></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mspace width="2.56804pt" class="tmspace"/><mml:msub><mml:mrow><mml:mi>g</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo class="MathClass-punc">,</mml:mo><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo>&#x0FE38;</mml:mo></mml:munder></mml:mrow><mml:mrow></mml:mrow></mml:munder><mml:mo class="MathClass-rel">&#x022EF;</mml:mo><mml:mover class="msup"><mml:mrow><mml:mover accent="false"><mml:mrow><mml:msub><mml:mrow><mml:mi>g</mml:mi></mml:mrow><mml:mrow><mml:mn>&#x003BA;</mml:mn><mml:mo class="MathClass-punc">,</mml:mo><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo>&#x0FE37;</mml:mo></mml:mover></mml:mrow><mml:mrow></mml:mrow></mml:mover><mml:munder class="msub"><mml:mrow><mml:munder><mml:mrow><mml:msub><mml:mrow><mml:mn>&#x003C3;</mml:mn></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo class="MathClass-punc">,</mml:mo><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo>&#x0FE38;</mml:mo></mml:munder></mml:mrow><mml:mrow></mml:mrow></mml:munder><mml:mo class="MathClass-rel">&#x022EF;</mml:mo><mml:mover class="msup"><mml:mrow><mml:mover accent="false"><mml:mrow><mml:msub><mml:mrow><mml:mn>&#x003C3;</mml:mn></mml:mrow><mml:mrow><mml:mn>&#x003BA;</mml:mn><mml:mo class="MathClass-punc">,</mml:mo><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo>&#x0FE37;</mml:mo></mml:mover></mml:mrow><mml:mrow></mml:mrow></mml:mover><mml:mover class="msup"><mml:mrow><mml:munder><mml:mrow><mml:msub><mml:mrow><mml:mn>&#x003B4;</mml:mn></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mtext>&#x02009;</mml:mtext><mml:msub><mml:mrow><mml:mi>g</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo class="MathClass-punc">,</mml:mo><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo>&#x0FE38;</mml:mo></mml:munder></mml:mrow><mml:mrow></mml:mrow></mml:mover><mml:mo class="MathClass-rel">&#x022EF;</mml:mo><mml:mover class="msup"><mml:mrow><mml:mover accent="false"><mml:mrow><mml:msub><mml:mrow><mml:mi>g</mml:mi></mml:mrow><mml:mrow><mml:mn>&#x003BA;</mml:mn><mml:mo class="MathClass-punc">,</mml:mo><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo>&#x0FE37;</mml:mo></mml:mover></mml:mrow><mml:mrow></mml:mrow></mml:mover><mml:mover class="msup"><mml:mrow><mml:munder><mml:mrow><mml:msub><mml:mrow><mml:mn>&#x003C3;</mml:mn></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo class="MathClass-punc">,</mml:mo><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo>&#x0FE38;</mml:mo></mml:munder></mml:mrow><mml:mrow></mml:mrow></mml:mover><mml:mo class="MathClass-rel">&#x022EF;</mml:mo><mml:mover class="msup"><mml:mrow><mml:mover accent="false"><mml:mrow><mml:msub><mml:mrow><mml:mn>&#x003C3;</mml:mn></mml:mrow><mml:mrow><mml:mn>&#x003BA;</mml:mn><mml:mo class="MathClass-punc">,</mml:mo><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo>&#x0FE37;</mml:mo></mml:mover></mml:mrow><mml:mrow></mml:mrow></mml:mover><mml:mo class="MathClass-rel">&#x022EF;</mml:mo></mml:math></disp-formula>
where the braces indicate how the sequence elements can be regrouped with some minimal redundancy, and rearranged in the form of an array like equation (<xref ref-type="disp-formula" rid="E14">4</xref>)
<disp-formula id="E25"><label>(8)</label><mml:math id="M78"><mml:msub><mml:mrow><mml:mtext mathvariant="sans-serif">A</mml:mtext></mml:mrow><mml:mrow><mml:mi mathvariant="script">K</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mfenced separators="" open="[" close="]"><mml:mrow><mml:mtable equalrows="false" columnlines="none none none none none none none none none" equalcolumns="false" class="array"><mml:mtr><mml:mtd class="array" columnalign="center"><mml:msub><mml:mrow><mml:mn>&#x003B4;</mml:mn></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mtext>&#x02009;</mml:mtext><mml:msub><mml:mrow><mml:mi>g</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo class="MathClass-punc">,</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mtd><mml:mtd class="array" columnalign="center"><mml:msub><mml:mrow><mml:mn>&#x003C3;</mml:mn></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo class="MathClass-punc">,</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mtd><mml:mtd class="array" columnalign="center"><mml:msub><mml:mrow><mml:mn>&#x003B4;</mml:mn></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mtext>&#x02009;</mml:mtext><mml:msub><mml:mrow><mml:mi>g</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo class="MathClass-punc">,</mml:mo><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mtd><mml:mtd class="array" columnalign="center"><mml:msub><mml:mrow><mml:mn>&#x003C3;</mml:mn></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo class="MathClass-punc">,</mml:mo><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mtd><mml:mtd class="array" columnalign="center"><mml:mo class="MathClass-rel">&#x022EF;</mml:mo></mml:mtd><mml:mtd class="array" columnalign="center"><mml:msub><mml:mrow><mml:mn>&#x003B4;</mml:mn></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mtext>&#x02009;</mml:mtext><mml:msub><mml:mrow><mml:mi>g</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo class="MathClass-punc">,</mml:mo><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:mtd><mml:mtd class="array" columnalign="center"><mml:msub><mml:mrow><mml:mn>&#x003C3;</mml:mn></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo class="MathClass-punc">,</mml:mo><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="array" columnalign="center"><mml:msub><mml:mrow><mml:mn>&#x003B4;</mml:mn></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mtext>&#x02009;</mml:mtext><mml:msub><mml:mrow><mml:mi>g</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn><mml:mo class="MathClass-punc">,</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mtd><mml:mtd class="array" columnalign="center"><mml:msub><mml:mrow><mml:mn>&#x003C3;</mml:mn></mml:mrow><mml:mrow><mml:mn>2</mml:mn><mml:mo class="MathClass-punc">,</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mtd><mml:mtd class="array" columnalign="center"><mml:msub><mml:mrow><mml:mn>&#x003B4;</mml:mn></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mtext>&#x02009;</mml:mtext><mml:msub><mml:mrow><mml:mi>g</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn><mml:mo class="MathClass-punc">,</mml:mo><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mtd><mml:mtd class="array" columnalign="center"><mml:msub><mml:mrow><mml:mn>&#x003C3;</mml:mn></mml:mrow><mml:mrow><mml:mn>2</mml:mn><mml:mo class="MathClass-punc">,</mml:mo><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mtd><mml:mtd class="array" columnalign="center"><mml:mo class="MathClass-rel">&#x022EF;</mml:mo></mml:mtd><mml:mtd class="array" columnalign="center"><mml:msub><mml:mrow><mml:mn>&#x003B4;</mml:mn></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mtext>&#x02009;</mml:mtext><mml:msub><mml:mrow><mml:mi>g</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn><mml:mo class="MathClass-punc">,</mml:mo><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:mtd><mml:mtd class="array" columnalign="center"><mml:msub><mml:mrow><mml:mn>&#x003C3;</mml:mn></mml:mrow><mml:mrow><mml:mn>2</mml:mn><mml:mo class="MathClass-punc">,</mml:mo><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="array" columnalign="center"><mml:mo class="MathClass-op">&#x022EE;</mml:mo></mml:mtd><mml:mtd class="array" columnalign="center"><mml:mo class="MathClass-op">&#x022EE;</mml:mo></mml:mtd><mml:mtd class="array" columnalign="center"><mml:mo class="MathClass-op">&#x022EE;</mml:mo></mml:mtd><mml:mtd class="array" columnalign="center"><mml:mo class="MathClass-op">&#x022EE;</mml:mo></mml:mtd><mml:mtd class="array" columnalign="center"><mml:mo class="MathClass-rel">&#x022F1;</mml:mo></mml:mtd><mml:mtd class="array" columnalign="center"><mml:mo class="MathClass-op">&#x022EE;</mml:mo></mml:mtd><mml:mtd class="array" columnalign="center"><mml:mo class="MathClass-op">&#x022EE;</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="array" columnalign="center"><mml:msub><mml:mrow><mml:mn>&#x003B4;</mml:mn></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mtext>&#x02009;</mml:mtext><mml:msub><mml:mrow><mml:mi>g</mml:mi></mml:mrow><mml:mrow><mml:mn>&#x003BA;</mml:mn><mml:mo class="MathClass-punc">,</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mtd><mml:mtd class="array" columnalign="center"><mml:msub><mml:mrow><mml:mn>&#x003C3;</mml:mn></mml:mrow><mml:mrow><mml:mn>&#x003BA;</mml:mn><mml:mo class="MathClass-punc">,</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mtd><mml:mtd class="array" columnalign="center"><mml:msub><mml:mrow><mml:mn>&#x003B4;</mml:mn></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mtext>&#x02009;</mml:mtext><mml:msub><mml:mrow><mml:mi>g</mml:mi></mml:mrow><mml:mrow><mml:mn>&#x003BA;</mml:mn><mml:mo class="MathClass-punc">,</mml:mo><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mtd><mml:mtd class="array" columnalign="center"><mml:msub><mml:mrow><mml:mn>&#x003C3;</mml:mn></mml:mrow><mml:mrow><mml:mn>&#x003BA;</mml:mn><mml:mo class="MathClass-punc">,</mml:mo><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mtd><mml:mtd class="array" columnalign="center"><mml:mo class="MathClass-rel">&#x022EF;</mml:mo></mml:mtd><mml:mtd class="array" columnalign="center"><mml:msub><mml:mrow><mml:mn>&#x003B4;</mml:mn></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mtext>&#x02009;</mml:mtext><mml:msub><mml:mrow><mml:mi>g</mml:mi></mml:mrow><mml:mrow><mml:mn>&#x003BA;</mml:mn><mml:mo class="MathClass-punc">,</mml:mo><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:mtd><mml:mtd class="array" columnalign="center"><mml:msub><mml:mrow><mml:mn>&#x003C3;</mml:mn></mml:mrow><mml:mrow><mml:mn>&#x003BA;</mml:mn><mml:mo class="MathClass-punc">,</mml:mo><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mfenced><mml:mo class="MathClass-punc">,</mml:mo></mml:math></disp-formula>
from which the link between the synchronized product on automata and the merge operation on symbol arrays is verified. Coordinator runs, either in the form of a sequence [equation (<xref ref-type="disp-formula" rid="E24">7</xref>)] or in the form of an array [equation (<xref ref-type="disp-formula" rid="E25">8</xref>)], are referred to as <italic>plans</italic>.</p>
<p>Viewing now the coordinator as the synchronized product of the <italic>constrained</italic> dynamics of agents, the details of communication between this coordinator and its subordinate agents can be formalized. Assume that there exists a dedicated communication channel to each agent, and an encoder that takes the row of <inline-formula><mml:math id="M79"><mml:msub><mml:mi mathvariant="sans-serif">A</mml:mi><mml:mi mathvariant="script">K</mml:mi></mml:msub></mml:math></inline-formula> that corresponds to the particular agent and extracts the sequence of input strings for that agent. Specifically, assume that the coordinator communicates <inline-formula><mml:math id="M80"><mml:msub><mml:mrow><mml:mn>&#x003C0;</mml:mn></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mo class="MathClass-op">&#x003A3;</mml:mo></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mtext mathvariant="sans-serif">A</mml:mtext></mml:mrow><mml:mrow><mml:mi mathvariant="script">K</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo class="MathClass-open">&#x027E8;</mml:mo><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mo class="MathClass-close">&#x027E9;</mml:mo></mml:mrow></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:math></inline-formula> to agent <italic>i</italic>. (This can be done either in one batch, or one symbol at a time.) Then agent <italic>i</italic> executes the specified sequence of input symbols synchronously with the other agents, and <italic>all</italic> agents transition together through world states <italic>&#x003B4;</italic><sub>1</sub>, <italic>&#x003B4;</italic><sub>2</sub>,&#x02026;, until some final world state <italic>&#x003B4;<sub>n</sub></italic><sub>&#x0002B;1</sub> (not shown in <inline-formula><mml:math id="M81"><mml:msub><mml:mi mathvariant="sans-serif">A</mml:mi><mml:mi mathvariant="script">K</mml:mi></mml:msub></mml:math></inline-formula>).</p>
<p>Assume now that every <inline-formula><mml:math id="M82"><mml:msub><mml:mrow><mml:mi>L</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-rel">&#x0220B;</mml:mo><mml:msub><mml:mrow><mml:mn>&#x003C0;</mml:mn></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mo class="MathClass-op">&#x003A3;</mml:mo></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mtext>A</mml:mtext></mml:mrow><mml:mrow><mml:mi mathvariant="script">K</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo class="MathClass-open">&#x027E8;</mml:mo><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mo class="MathClass-close">&#x027E9;</mml:mo></mml:mrow></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:math></inline-formula> belongs to a subclass of Locally 2-Testable languages with grammars <italic>G<sub>i</sub></italic> consisted of a single 2-factor, i.e., <italic>G<sub>i</sub></italic>&#x02009;&#x0003D;&#x02009;&#x0007B;&#x0007B;<italic>&#x003C3;<sub>m</sub></italic>&#x003C3;<italic><sub>k</sub></italic>&#x0007D;&#x0007D; for <italic>&#x003C3;<sub>m</sub></italic>, <italic>&#x003C3;<sub>k</sub></italic>, &#x02208; &#x003A3;<italic><sub>i</sub></italic>, and that each agent knows that this is the subclass of languages containing its specification. Then a <inline-formula><mml:math id="M83"><mml:msub><mml:mi mathvariant="sans-serif">GIM</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:math></inline-formula> can be constructed (Garc&#x000ED;a and Ruiz, <xref ref-type="bibr" rid="B10">2004</xref>) to identify <italic>L<sub>i</sub></italic> in the limit from positive data. Each plan communicated by the coordinator to the agents constitutes a positive datum, and if enough<xref ref-type="fn" rid="fn5"><sup>5</sup></xref> data are presented to <inline-formula><mml:math id="M84"><mml:msub><mml:mi mathvariant="sans-serif">GIM</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:math></inline-formula>, the learner will converge to <italic>L<sub>i</sub></italic> in finite time.</p>
<p>Imagine a moment in time when the hypothesis (output) of every <inline-formula><mml:math id="M85"><mml:msub><mml:mi mathvariant="sans-serif">GIM</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:math></inline-formula> has converged to the corresponding specification language <italic>L<sub>i</sub></italic>. The question now is: can the agents, having knowledge of their own specification, <italic>reconstruct</italic> <bold><italic>T</italic></bold><sub>0</sub> by communicating? The sequence of mathematical statements that follow provide an affirmative answer to this question.</p>
<p>Consider a sequence <inline-formula><mml:math id="M86"><mml:msubsup><mml:mrow><mml:mrow><mml:mo class="MathClass-open">&#x0007B;</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mtext mathvariant="sans-serif">A</mml:mtext></mml:mrow><mml:mrow><mml:mi mathvariant="script">K</mml:mi><mml:mo class="MathClass-bin">&#x000D7;</mml:mo><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mi>k</mml:mi></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow><mml:mo class="MathClass-close">&#x0007D;</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>k</mml:mi><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mn>0</mml:mn></mml:mrow><mml:mrow><mml:mo class="MathClass-rel">&#x0221E;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula> of 2<italic>n</italic>-column symbol arrays of the form [equation (<xref ref-type="disp-formula" rid="E25">8</xref>)]. Pick an arbitrary <italic>i</italic> &#x02208; &#x0007B;1, &#x02026;, <italic>&#x003BA;</italic>&#x0007D;. Let the presentation to learner <inline-formula><mml:math id="M87"><mml:msub><mml:mi mathvariant="sans-serif">GIM</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:math></inline-formula> of agent <italic>i</italic> be
<disp-formula id="E26"><mml:math id="M88"><mml:msub><mml:mrow><mml:mn>&#x003D5;</mml:mn></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mtext>&#x02009;</mml:mtext><mml:mo class="MathClass-punc">:</mml:mo><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:munder class="msub"><mml:mrow><mml:munder><mml:mrow><mml:msub><mml:mrow><mml:mn>&#x003C0;</mml:mn></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mo class="MathClass-op">&#x003A3;</mml:mo></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mtext mathvariant="sans-serif">A</mml:mtext></mml:mrow><mml:mrow><mml:mi mathvariant="script">K</mml:mi><mml:mo class="MathClass-bin">&#x000D7;</mml:mo><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mn>0</mml:mn></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mrow><mml:mo class="MathClass-open">&#x027E8;</mml:mo><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mo class="MathClass-close">&#x027E9;</mml:mo></mml:mrow></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow><mml:mo>&#x0FE38;</mml:mo></mml:munder></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mn>&#x003D5;</mml:mn></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mn>0</mml:mn></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:munder><mml:mo class="MathClass-punc">,</mml:mo><mml:munder class="msub"><mml:mrow><mml:munder><mml:mrow><mml:msub><mml:mrow><mml:mn>&#x003C0;</mml:mn></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mo class="MathClass-op">&#x003A3;</mml:mo></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mtext mathvariant="sans-serif">A</mml:mtext></mml:mrow><mml:mrow><mml:mi mathvariant="script">K</mml:mi><mml:mo class="MathClass-bin">&#x000D7;</mml:mo><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mrow><mml:mo class="MathClass-open">&#x027E8;</mml:mo><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mo class="MathClass-close">&#x027E9;</mml:mo></mml:mrow></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow><mml:mo>&#x0FE38;</mml:mo></mml:munder></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mn>&#x003D5;</mml:mn></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:munder><mml:mo class="MathClass-punc">,</mml:mo><mml:munder class="msub"><mml:mrow><mml:munder><mml:mrow><mml:msub><mml:mrow><mml:mn>&#x003C0;</mml:mn></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mo class="MathClass-op">&#x003A3;</mml:mo></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mtext mathvariant="sans-serif">A</mml:mtext></mml:mrow><mml:mrow><mml:mi mathvariant="script">K</mml:mi><mml:mo class="MathClass-bin">&#x000D7;</mml:mo><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mrow><mml:mo class="MathClass-open">&#x027E8;</mml:mo><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mo class="MathClass-close">&#x027E9;</mml:mo></mml:mrow></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow><mml:mo>&#x0FE38;</mml:mo></mml:munder></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mn>&#x003D5;</mml:mn></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:munder><mml:mo class="MathClass-punc">,</mml:mo><mml:mo class="MathClass-op">&#x02026;</mml:mo><mml:mtext>&#x02009;</mml:mtext><mml:mo class="MathClass-punc">.</mml:mo></mml:math></disp-formula></p>
<p>As assumed, there is a finite <italic>m</italic> &#x02208; &#x02115; such that <inline-formula><mml:math id="M89"><mml:mi>L</mml:mi><mml:mo>(</mml:mo><mml:msub><mml:mi mathvariant="sans-serif">GIM</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:msub><mml:mi>&#x003D5;</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>[</mml:mo><mml:mi>m</mml:mi><mml:mo>]))</mml:mo><mml:mtext>&#x02009;</mml:mtext><mml:mo>&#x0003D;</mml:mo><mml:mtext>&#x02009;</mml:mtext><mml:msub><mml:mi>L</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:math></inline-formula>. At this point, and without any additional information about its teammates, an agent generically hypothesizes that the language of the coordinator is &#x1D49C;<sub>&#x1D4A6;&#x000D7;n</sub>(&#x0007B;<italic>L<sub>i</sub></italic>&#x0007D;), i.e., an <italic>&#x003BA;</italic>&#x02009;&#x000D7;&#x02009;2<italic>n</italic> array class where the rows in row <italic>i</italic> are words accepted by <inline-formula><mml:math id="M90"><mml:msub><mml:mrow><mml:mtext mathvariant="bold-italic">T</mml:mtext></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:math></inline-formula>, and in any row <italic>j</italic> &#x02260; <italic>i</italic> one finds any combination of symbols in &#x003A3;<italic><sub>j</sub></italic> interspersed with the (same) symbols from &#x00394; that appear in the <italic>i</italic> row.</p>
<p>The following lemma indicates that if two agents intersect the array classes they each hypothesize as the coordinator&#x02019;s language, they obtain exactly what they would have learned if they had been observing each other&#x02019;s presentation and running two learners in parallel, one for each presentation.</p>
<p><bold>Lemma 1</bold>. &#x1D49C;<sub>&#x02110;&#x0222A;&#x1D4A5;&#x000D7;</sub><italic><sub>n</sub></italic>(&#x0007B;<italic>L<sub>i</sub></italic>&#x0007D;<italic><sub>i</sub></italic><sub>&#x02208;&#x02110;</sub>) &#x02229; &#x1D49C;<sub>&#x02110;&#x0222A;&#x1D4A5;&#x000D7;</sub><italic><sub>n</sub></italic>(&#x0007B;<italic>L<sub>j</sub></italic>&#x0007D;<italic><sub>j</sub></italic><sub>&#x02208;&#x1D4A5;</sub>)&#x02009;&#x0003D;&#x02009;&#x1D49C;<sub>&#x02110;&#x0222A;&#x1D4A5;&#x000D7;</sub><italic><sub>n</sub></italic>(&#x0007B;<italic>L<sub>k</sub></italic>&#x0007D;<italic><sub>k</sub></italic><sub>&#x02208;&#x02110;&#x0222A;&#x1D4A5;</sub>).</p>
<p><bold>Proof</bold>.
<disp-formula id="E27"><mml:math id="M91"><mml:mtable columnalign="left" class="align-star"><mml:mtr><mml:mtd columnalign="right" class="align-odd"><mml:msub><mml:mrow><mml:mi mathvariant="script">A</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="script">I</mml:mi><mml:mo class="MathClass-bin">&#x0222A;</mml:mo><mml:mi mathvariant="script">J</mml:mi><mml:mo class="MathClass-bin">&#x000D7;</mml:mo><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mstyle mathsize="1.19em"><mml:mfenced separators="" open="(" close=""><mml:mrow></mml:mrow></mml:mfenced></mml:mstyle><mml:msub><mml:mrow><mml:mrow><mml:mo class="MathClass-open">&#x0007B;</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>L</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">&#x0007D;</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mo class="MathClass-rel">&#x02208;</mml:mo><mml:mi mathvariant="script">I</mml:mi></mml:mrow></mml:msub><mml:mstyle mathsize="1.19em"><mml:mfenced separators="" open=")" close=""><mml:mrow></mml:mrow></mml:mfenced></mml:mstyle></mml:mtd><mml:mtd class="align-even"><mml:mo class="MathClass-bin">&#x02229;</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="script">A</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="script">I</mml:mi><mml:mo class="MathClass-bin">&#x0222A;</mml:mo><mml:mi mathvariant="script">J</mml:mi><mml:mo class="MathClass-bin">&#x000D7;</mml:mo><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mstyle mathsize="1.19em"><mml:mfenced separators="" open="(" close=""><mml:mrow></mml:mrow></mml:mfenced></mml:mstyle><mml:msub><mml:mrow><mml:mrow><mml:mo class="MathClass-open">&#x0007B;</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>L</mml:mi></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">&#x0007D;</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>j</mml:mi><mml:mo class="MathClass-rel">&#x02208;</mml:mo><mml:mi mathvariant="script">J</mml:mi></mml:mrow></mml:msub><mml:mstyle mathsize="1.19em"><mml:mfenced separators="" open=")" close=""><mml:mrow></mml:mrow></mml:mfenced></mml:mstyle><mml:mspace width="2em"/></mml:mtd><mml:mtd columnalign="right" class="align-label"></mml:mtd><mml:mtd class="align-label"><mml:mspace width="2em"/></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="right" class="align-odd"></mml:mtd><mml:mtd class="align-even"><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="script">A</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="script">I</mml:mi><mml:mo class="MathClass-bin">&#x0222A;</mml:mo><mml:mi mathvariant="script">J</mml:mi><mml:mo class="MathClass-bin">&#x000D7;</mml:mo><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mstyle mathsize="1.61em"><mml:mfenced separators="" open="(" close=""><mml:mrow></mml:mrow></mml:mfenced></mml:mstyle><mml:msub><mml:mrow><mml:mrow><mml:mo class="MathClass-open">&#x0007B;</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>L</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">&#x0007D;</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mo class="MathClass-rel">&#x02208;</mml:mo><mml:mi mathvariant="script">I</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-bin">&#x0222A;</mml:mo><mml:msub><mml:mrow><mml:mrow><mml:mo class="MathClass-open">&#x0007B;</mml:mo><mml:mrow><mml:msubsup><mml:mrow><mml:mo class="MathClass-op">&#x003A3;</mml:mo></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mo class="MathClass-bin">&#x02217;</mml:mo></mml:mrow></mml:msubsup></mml:mrow><mml:mo class="MathClass-close">&#x0007D;</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>j</mml:mi><mml:mo class="MathClass-rel">&#x02208;</mml:mo><mml:mi mathvariant="script">J</mml:mi></mml:mrow></mml:msub><mml:mstyle mathsize="1.61em"><mml:mfenced separators="" open=")" close=""><mml:mrow></mml:mrow></mml:mfenced></mml:mstyle><mml:mspace width="2em"/></mml:mtd><mml:mtd columnalign="right" class="align-label"></mml:mtd><mml:mtd class="align-label"><mml:mspace width="2em"/></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="right" class="align-odd"></mml:mtd><mml:mtd class="align-even"><mml:mspace width="1em" class="quad"/><mml:mo class="MathClass-bin">&#x02229;</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="script">A</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="script">I</mml:mi><mml:mo class="MathClass-bin">&#x0222A;</mml:mo><mml:mi mathvariant="script">J</mml:mi><mml:mo class="MathClass-bin">&#x000D7;</mml:mo><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mstyle mathsize="1.61em"><mml:mfenced separators="" open="(" close=""><mml:mrow></mml:mrow></mml:mfenced></mml:mstyle><mml:msub><mml:mrow><mml:mrow><mml:mo class="MathClass-open">&#x0007B;</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>L</mml:mi></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">&#x0007D;</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>j</mml:mi><mml:mo class="MathClass-rel">&#x02208;</mml:mo><mml:mi mathvariant="script">J</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-bin">&#x0222A;</mml:mo><mml:msub><mml:mrow><mml:mrow><mml:mo class="MathClass-open">&#x0007B;</mml:mo><mml:mrow><mml:msubsup><mml:mrow><mml:mo class="MathClass-op">&#x003A3;</mml:mo></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mo class="MathClass-bin">&#x02217;</mml:mo></mml:mrow></mml:msubsup></mml:mrow><mml:mo class="MathClass-close">&#x0007D;</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mo class="MathClass-rel">&#x02208;</mml:mo><mml:mi mathvariant="script">I</mml:mi></mml:mrow></mml:msub><mml:mstyle mathsize="1.61em"><mml:mfenced separators="" open=")" close=""><mml:mrow></mml:mrow></mml:mfenced></mml:mstyle><mml:mspace width="2em"/></mml:mtd><mml:mtd columnalign="right" class="align-label"></mml:mtd><mml:mtd class="align-label"><mml:mspace width="2em"/></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="right" class="align-odd"></mml:mtd><mml:mtd class="align-even"><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="script">A</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="script">I</mml:mi><mml:mo class="MathClass-bin">&#x0222A;</mml:mo><mml:mi mathvariant="script">J</mml:mi><mml:mo class="MathClass-bin">&#x000D7;</mml:mo><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mstyle mathsize="1.61em"><mml:mfenced separators="" open="(" close=""><mml:mrow></mml:mrow></mml:mfenced></mml:mstyle><mml:mspace width="0.3em" class="thinspace"/><mml:msub><mml:mrow><mml:mrow><mml:mo class="MathClass-open">&#x0007B;</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>L</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mtext>&#x02009;</mml:mtext><mml:mo class="MathClass-bin">&#x02229;</mml:mo><mml:mtext>&#x02009;</mml:mtext><mml:msubsup><mml:mrow><mml:mo class="MathClass-op">&#x003A3;</mml:mo></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mo class="MathClass-bin">&#x02217;</mml:mo></mml:mrow></mml:msubsup></mml:mrow><mml:mo class="MathClass-close">&#x0007D;</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mo class="MathClass-rel">&#x02208;</mml:mo><mml:mi mathvariant="script">I</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-bin">&#x0222A;</mml:mo><mml:msub><mml:mrow><mml:mrow><mml:mo class="MathClass-open">&#x0007B;</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>L</mml:mi></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-bin">&#x02229;</mml:mo><mml:msubsup><mml:mrow><mml:mo class="MathClass-op">&#x003A3;</mml:mo></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mo class="MathClass-bin">&#x02217;</mml:mo></mml:mrow></mml:msubsup></mml:mrow><mml:mo class="MathClass-close">&#x0007D;</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>j</mml:mi><mml:mo class="MathClass-rel">&#x02208;</mml:mo><mml:mi mathvariant="script">J</mml:mi></mml:mrow></mml:msub><mml:mspace width="0.3em" class="thinspace"/><mml:mstyle mathsize="1.61em"><mml:mfenced separators="" open=")" close=""><mml:mrow></mml:mrow></mml:mfenced></mml:mstyle><mml:mspace width="2em"/></mml:mtd><mml:mtd columnalign="right" class="align-label"></mml:mtd><mml:mtd class="align-label"><mml:mspace width="2em"/></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="right" class="align-odd"></mml:mtd><mml:mtd class="align-even"><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="script">A</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="script">I</mml:mi><mml:mo class="MathClass-bin">&#x0222A;</mml:mo><mml:mi mathvariant="script">J</mml:mi><mml:mo class="MathClass-bin">&#x000D7;</mml:mo><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mstyle mathsize="1.61em"><mml:mfenced separators="" open="(" close=""><mml:mrow></mml:mrow></mml:mfenced></mml:mstyle><mml:msub><mml:mrow><mml:mrow><mml:mo class="MathClass-open">&#x0007B;</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>L</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">&#x0007D;</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mo class="MathClass-rel">&#x02208;</mml:mo><mml:mi mathvariant="script">I</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-bin">&#x02229;</mml:mo><mml:msub><mml:mrow><mml:mrow><mml:mo class="MathClass-open">&#x0007B;</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>L</mml:mi></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">&#x0007D;</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>j</mml:mi><mml:mo class="MathClass-rel">&#x02208;</mml:mo><mml:mi mathvariant="script">J</mml:mi></mml:mrow></mml:msub><mml:mstyle mathsize="1.61em"><mml:mfenced separators="" open=")" close=""><mml:mrow></mml:mrow></mml:mfenced></mml:mstyle><mml:mspace width="2em"/></mml:mtd><mml:mtd columnalign="right" class="align-label"></mml:mtd><mml:mtd class="align-label"><mml:mspace width="2em"/></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="right" class="align-odd"></mml:mtd><mml:mtd class="align-even"><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="script">A</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="script">I</mml:mi><mml:mo class="MathClass-bin">&#x0222A;</mml:mo><mml:mi mathvariant="script">J</mml:mi><mml:mo class="MathClass-bin">&#x000D7;</mml:mo><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mstyle mathsize="1.61em"><mml:mfenced separators="" open="(" close=""><mml:mrow></mml:mrow></mml:mfenced></mml:mstyle><mml:msub><mml:mrow><mml:mrow><mml:mo class="MathClass-open">&#x0007B;</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>L</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">&#x0007D;</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>k</mml:mi><mml:mo class="MathClass-rel">&#x02208;</mml:mo><mml:mi mathvariant="script">I</mml:mi><mml:mo class="MathClass-bin">&#x0222A;</mml:mo><mml:mi mathvariant="script">J</mml:mi></mml:mrow></mml:msub><mml:mstyle mathsize="1.61em"><mml:mfenced separators="" open=")" close=""><mml:mrow></mml:mrow></mml:mfenced></mml:mstyle><mml:mo class="MathClass-punc">.</mml:mo><mml:mspace width="2em"/></mml:mtd><mml:mtd columnalign="right" class="align-label"></mml:mtd><mml:mtd class="align-label"><mml:mspace width="2em"/></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
<p>It is now natural to take this argument one step further to conclude that if all <italic>&#x003BA;</italic> agents intersect their hypotheses obtained after their individual learners have converged, the resulting array class would be identical to the one that a single GIM would produce if it were to operate on a presentation of symbol arrays coming out of the coordinator.</p>
<p><bold>Lemma 2</bold>. &#x022C2;<italic><sub>i</sub></italic><sub>&#x02208;&#x1D4A6;</sub>&#x1D49C;<sub>&#x1D4A6;&#x000D7;</sub><italic><sub>n</sub></italic> (<italic>L<sub>i</sub></italic>)&#x02009;&#x0003D;&#x02009;&#x1D49C;<sub>&#x1D4A6;&#x000D7;</sub><italic><sub>n</sub></italic> (&#x0007B;<italic>L<sub>i</sub></italic>&#x0007D;<italic><sub>i</sub></italic><sub>&#x02208;&#x1D4A6;</sub>).</p>
<p><bold>Proof</bold>. Straightforward induction on <italic>i</italic>.</p>
<p>In this light, the intersection performed at the end, compensates for the decentralized agent operation and inference.</p>
<p><bold>Proposition 1</bold>. Assume that for each <italic>i</italic> &#x02208; &#x1D4A6;, a grammatical inference module running on inputs <inline-formula><mml:math id="M92"><mml:msub><mml:mrow><mml:mn>&#x003C0;</mml:mn></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mo class="MathClass-op">&#x003A3;</mml:mo></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mtext mathvariant="sans-serif">A</mml:mtext><mml:mrow><mml:mo class="MathClass-open">[</mml:mo><mml:mrow><mml:mi>m</mml:mi></mml:mrow><mml:mo class="MathClass-close">]</mml:mo></mml:mrow><mml:mrow><mml:mo class="MathClass-open">&#x027E8;</mml:mo><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mo class="MathClass-close">&#x027E9;</mml:mo></mml:mrow></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:math></inline-formula> has converged on a language <italic>L<sub>i</sub></italic> for large enough <italic>m</italic> &#x02208; &#x02115;. Then the array class where the modules&#x02019; presentation has been drawn from is exactly &#x022C2;<italic><sub>i</sub></italic><sub>&#x02208;&#x1D4A6;</sub>&#x1D49C;<sub>&#x1D4A6;&#x000D7;</sub><italic><sub>n</sub></italic> (&#x0007B;<italic>L<sub>i</sub></italic>&#x0007D;<italic><sub>i</sub></italic><sub>&#x02208;&#x1D4A6;</sub>).</p>
<p><bold>Proof</bold>. A direct restatement of Lemma&#x02009;2 in the context of <italic>&#x003BA;</italic> grammatical inference modules running in parallel on the rows of the finite sequence of symbol arrays <inline-formula><mml:math id="M93"><mml:msubsup><mml:mrow><mml:mrow><mml:mo class="MathClass-open">&#x0007B;</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="script">A</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="script">K</mml:mi><mml:mo class="MathClass-bin">&#x000D7;</mml:mo><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mi>k</mml:mi></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow><mml:mo class="MathClass-close">&#x0007D;</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>k</mml:mi><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mn>0</mml:mn></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula>.</p>
<p>One interpretation of Proposition&#x02009;1, therefore, is that if the agents&#x02019; link to their coordinator is severed, yet they had identified their own specification before this happened, then they can resurrect their coordinator&#x02019;s function by intersecting their individual hypotheses <inline-formula><mml:math id="M94"><mml:msub><mml:mi mathvariant="script">A</mml:mi><mml:mrow><mml:mi mathvariant="script">K</mml:mi><mml:mo>&#x000D7;</mml:mo><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo>(</mml:mo><mml:mn>&#x0007B;</mml:mn><mml:msub><mml:mi>L</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mn>&#x0007D;</mml:mn><mml:mo>)</mml:mo></mml:math></inline-formula> through communication.</p>
</sec>
</sec>
<sec id="S4" sec-type="discussion">
<label>4</label> <title>Discussion</title>
<sec id="S4-11">
<label>4.1</label> <title>Implementation Study</title>
<p>Consider two agents, with capacities <inline-formula><mml:math id="M95"><mml:msub><mml:mrow><mml:mi mathvariant="script">T</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> and <inline-formula><mml:math id="M96"><mml:msub><mml:mrow><mml:mi mathvariant="script">T</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>; the transition systems of the capacities of the two agents are illustrated in Figure <xref ref-type="fig" rid="F2">2</xref>. The two agents share the same (discrete) world state set <italic>W</italic> &#x02009;&#x0003D;&#x02009;&#x0007B;<italic>w</italic><sub>0</sub>, <italic>w</italic><sub>1</sub>, <italic>w</italic><sub>2</sub>&#x0007D;. Agent has alphabet &#x003A3;<sub>1</sub>&#x02009;&#x0003D;&#x02009;&#x0007B;<italic>s</italic><sub>10</sub>, <italic>s</italic><sub>11</sub>, <italic>s</italic><sub>12</sub>&#x0007D;, while agent 2 has alphabet &#x003A3;2&#x02009;&#x0003D;&#x02009;&#x0007B;<italic>s</italic><sub>20</sub>, <italic>s</italic><sub>21</sub>, <italic>s</italic><sub>22</sub>&#x0007D;. Both agents are supervised by coordinator <bold><italic>T</italic></bold><sub>0</sub>, which determines the desired behavior its subordinates. The desired behavior for an agent is its language specification, and is encoded as an automaton: <inline-formula><mml:math id="M97"><mml:msub><mml:mrow><mml:mi>T</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>L</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula> for agent 1, and <inline-formula><mml:math id="M98"><mml:msub><mml:mrow><mml:mi>T</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>L</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula> for agent 2, and shown in Figure <xref ref-type="fig" rid="F3">3</xref>. The labels on each specification automaton&#x02019;s states are (almost) arbitrary integers: the only consideration in the assignment is so that the states of the two automata can be distinguished. Here, let <italic>G</italic><sub>1</sub>&#x02009;&#x0003D;&#x02009;&#x0007B;<italic>g</italic><sub>11</sub>, <italic>g</italic><sub>12</sub>, <italic>g</italic><sub>13</sub>&#x0007D;&#x02009;&#x0003D;&#x02009;&#x0007B;1, 2, 0&#x0007D; and <italic>G</italic><sub>2</sub>&#x02009;&#x0003D;&#x02009;&#x0007B;<italic>g</italic><sub>21</sub>, <italic>g</italic><sub>22</sub>, <italic>g</italic><sub>23</sub>&#x0007D;&#x02009;&#x0003D;&#x02009;&#x0007B;4, 5, 3&#x0007D;. The languages generated by <inline-formula><mml:math id="M99"><mml:msub><mml:mrow><mml:mi>T</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>L</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula> and <inline-formula><mml:math id="M100"><mml:msub><mml:mrow><mml:mi>T</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>L</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula> belong to the specific subclass of Locally 2-Testable languages considered: the specification language for agent 1 contains all strings that have <italic>s</italic><sub>12</sub><italic>s</italic><sub>11</sub> as a substring, while that for agent 2 includes all strings that have the factor <italic>s</italic><sub>22</sub><italic>s</italic><sub>21</sub>.</p>
<fig position="float" id="F2">
<label>Figure 2</label>
<caption><p><bold>The capacity of agents <inline-formula><mml:math id="M101"><mml:msub><mml:mrow><mml:mi mathvariant="script">T</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> and <inline-formula><mml:math id="M102"><mml:msub><mml:mrow><mml:mi mathvariant="script">T</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> shown in (A,B), respectively</bold>. Since, in a transition system, all states can be thought of as both initial and final, they are marked in the figures using circles drawn with double thick line.</p></caption>
<graphic xlink:href="frobt-03-00036-g002.tif"/>
</fig>
<fig position="float" id="F3">
<label>Figure 3</label>
<caption><p><bold>Automata <inline-formula><mml:math id="M103"><mml:msub><mml:mrow><mml:mtext mathvariant="italic">T</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext mathvariant="italic">L</mml:mtext></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula> (A) and <inline-formula><mml:math id="M104"><mml:msub><mml:mrow><mml:mtext mathvariant="italic">T</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext mathvariant="italic">L</mml:mtext></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula> (B) encode the specifications for agents 1 and 2, respectively</bold>. Thick single circles denote initial states; double circles denote final states. Input strings for agent 1 belong to the specification language if they contain the factor <italic>s</italic><sub>12</sub><italic>s</italic><sub>11</sub>. Input strings for agent 2 are consistent with that agent&#x02019;s specification if they contain the factor <italic>s</italic><sub>22</sub><italic>s</italic><sub>21</sub>.</p></caption>
<graphic xlink:href="frobt-03-00036-g003.tif"/>
</fig>
<p>Taking the product of the agent&#x02019;s capacity <inline-formula><mml:math id="M105"><mml:msub><mml:mrow><mml:mi mathvariant="script">T</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> with its specification <inline-formula><mml:math id="M106"><mml:msub><mml:mrow><mml:mi>T</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>L</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula> produces the constrained dynamics of the agent, <inline-formula><mml:math id="M107"><mml:msub><mml:mrow><mml:mi>T</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:math></inline-formula>. The result of the product operation for the systems depicted in Figures <xref ref-type="fig" rid="F2">2</xref> and <xref ref-type="fig" rid="F3">3</xref> is shown in Figure <xref ref-type="fig" rid="F4">4</xref>. The coordinator <bold><italic>T</italic></bold><sub>0</sub> is formed by taking the synchronized product of <inline-formula><mml:math id="M108"><mml:msub><mml:mrow><mml:mi>T</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>C</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula> and <inline-formula><mml:math id="M109"><mml:msub><mml:mrow><mml:mi>T</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>C</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula>, which is shown in Figure <xref ref-type="fig" rid="F5">5</xref>. It may be worth noting that the product operation between the agent&#x02019;s capacity and its specification creates a <italic>unique perspective</italic> of a world state, from the point of view of the individual agent: for example, world state <italic>w</italic><sub>1</sub> may have different semantics for agent 1 compared to agent 2, for the two agents are trying to achieve different things. Yet, as the whole group operates in the same physical workspace, agents synchronize on their world state when they act together, as shown in the synchronized product of Figure <xref ref-type="fig" rid="F5">5</xref>.</p>
<fig position="float" id="F4">
<label>Figure 4</label>
<caption><p><bold>The constrained dynamics of agents 1 and 2, (A) <inline-formula><mml:math id="M110"><mml:msub><mml:mrow><mml:mtext mathvariant="italic">T</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext mathvariant="italic">C</mml:mtext></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula>&#x02009;&#x0003D;&#x02009;<inline-formula><mml:math id="M111"><mml:msub><mml:mrow><mml:mi mathvariant="script">T</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>&#x02009;&#x000D7;&#x02009;<inline-formula><mml:math id="M112"><mml:msub><mml:mrow><mml:mtext mathvariant="italic">T</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext mathvariant="italic">L</mml:mtext></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula> and (B) <inline-formula><mml:math id="M113"><mml:msub><mml:mrow><mml:mtext mathvariant="italic">T</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext mathvariant="italic">C</mml:mtext></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula>&#x02009;&#x0003D;&#x02009;<inline-formula><mml:math id="M114"><mml:msub><mml:mrow><mml:mi mathvariant="script">T</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>&#x02009;&#x000D7;&#x02009;<inline-formula><mml:math id="M115"><mml:msub><mml:mrow><mml:mtext mathvariant="italic">T</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext mathvariant="italic">L</mml:mtext></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula>, respectively</bold>.</p></caption>
<graphic xlink:href="frobt-03-00036-g004.tif"/>
</fig>
<fig position="float" id="F5">
<label>Figure 5</label>
<caption><p><bold>The automaton <italic>T</italic><sub>0</sub> of the coordinator</bold>. It is produced as <bold><italic>T</italic></bold><sub>0</sub>&#x02009;&#x0003D;&#x02009;<inline-formula><mml:math id="M116"><mml:msub><mml:mrow><mml:mtext mathvariant="bold-italic">T</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext mathvariant="bold-italic">C</mml:mtext></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo class="MathClass-bin">&#x02297;</mml:mo><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:msub><mml:mrow><mml:mtext mathvariant="bold-italic">T</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext mathvariant="bold-italic">C</mml:mtext></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo class="MathClass-bin">&#x02297;</mml:mo><mml:msub><mml:mrow><mml:mtext mathvariant="bold-italic">T</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext mathvariant="bold-italic">C</mml:mtext></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula>.</p></caption>
<graphic xlink:href="frobt-03-00036-g005.tif"/>
</fig>
<p>A run in the coordinator is now a plan for the subordinates. After translating tuple labels into strings (dropping parentheses and commas), this plan takes the form as in equation (<xref ref-type="disp-formula" rid="E24">7</xref>). One example can be:
<disp-formula id="E28"><mml:math id="M117"><mml:msub><mml:mrow><mml:mi>r</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mo class="MathClass-open">&#x0007B;</mml:mo><mml:mrow><mml:mn>1</mml:mn><mml:mo class="MathClass-punc">,</mml:mo><mml:mn>2</mml:mn></mml:mrow><mml:mo class="MathClass-close">&#x0007D;</mml:mo></mml:mrow></mml:mrow></mml:msub><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:msub><mml:mrow><mml:mi>w</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mtext>&#x02009;</mml:mtext><mml:mn>1</mml:mn><mml:mtext>&#x02009;</mml:mtext><mml:mn>4</mml:mn><mml:mspace width="0.5em" class="nbsp"/><mml:mspace width="0.5em" class="nbsp"/><mml:msub><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mn>10</mml:mn></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mn>20</mml:mn></mml:mrow></mml:msub><mml:mspace width="0.5em" class="nbsp"/><mml:mspace width="0.5em" class="nbsp"/><mml:msub><mml:mrow><mml:mi>w</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mtext>&#x02009;</mml:mtext><mml:mn>1</mml:mn><mml:mtext>&#x02009;</mml:mtext><mml:mn>4</mml:mn><mml:mspace width="0.5em" class="nbsp"/><mml:mspace width="0.5em" class="nbsp"/><mml:msub><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mn>12</mml:mn></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mn>22</mml:mn></mml:mrow></mml:msub><mml:mspace width="0.5em" class="nbsp"/><mml:mspace width="0.5em" class="nbsp"/><mml:msub><mml:mrow><mml:mi>w</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mtext>&#x02009;</mml:mtext><mml:mn>2</mml:mn><mml:mtext>&#x02009;</mml:mtext><mml:mn>5</mml:mn><mml:mspace width="0.5em" class="nbsp"/><mml:mspace width="0.5em" class="nbsp"/><mml:msub><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mn>11</mml:mn></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mn>21</mml:mn></mml:mrow></mml:msub><mml:mspace width="0.5em" class="nbsp"/><mml:mspace width="0.5em" class="nbsp"/><mml:msub><mml:mrow><mml:mi>w</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mtext>&#x02009;</mml:mtext><mml:mn>0</mml:mn><mml:mtext>&#x02009;</mml:mtext><mml:mn>3</mml:mn><mml:mo class="MathClass-punc">,</mml:mo></mml:math></disp-formula>
which in tabulated form [as in equation (<xref ref-type="disp-formula" rid="E25">8</xref>)] looks like
<disp-formula id="E29"><mml:math id="M118"><mml:msub><mml:mrow><mml:mtext mathvariant="sans-serif">A</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mo class="MathClass-open">&#x0007B;</mml:mo><mml:mrow><mml:mn>1</mml:mn><mml:mo class="MathClass-punc">,</mml:mo><mml:mn>2</mml:mn></mml:mrow><mml:mo class="MathClass-close">&#x0007D;</mml:mo></mml:mrow></mml:mrow></mml:msub><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mfenced separators="" open="[" close="]"><mml:mrow><mml:mtable equalrows="false" columnlines="none none none none none none none none none" equalcolumns="false" class="array"><mml:mtr><mml:mtd class="array" columnalign="center"><mml:msub><mml:mrow><mml:mi>w</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mtext>&#x02009;</mml:mtext><mml:mn>1</mml:mn><mml:mtext>&#x02009;</mml:mtext><mml:mn>4</mml:mn></mml:mtd><mml:mtd class="array" columnalign="center"><mml:msub><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mn>10</mml:mn></mml:mrow></mml:msub></mml:mtd><mml:mtd class="array" columnalign="center"><mml:msub><mml:mrow><mml:mi>w</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mtext>&#x02009;</mml:mtext><mml:mn>1</mml:mn><mml:mtext>&#x02009;</mml:mtext><mml:mn>4</mml:mn></mml:mtd><mml:mtd class="array" columnalign="center"><mml:msub><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mn>12</mml:mn></mml:mrow></mml:msub></mml:mtd><mml:mtd class="array" columnalign="center"><mml:msub><mml:mrow><mml:mi>w</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mtext>&#x02009;</mml:mtext><mml:mn>2</mml:mn><mml:mtext>&#x02009;</mml:mtext><mml:mn>5</mml:mn></mml:mtd><mml:mtd class="array" columnalign="center"><mml:msub><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mn>11</mml:mn></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="array" columnalign="center"><mml:msub><mml:mrow><mml:mi>w</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mtext>&#x02009;</mml:mtext><mml:mn>1</mml:mn><mml:mtext>&#x02009;</mml:mtext><mml:mn>4</mml:mn></mml:mtd><mml:mtd class="array" columnalign="center"><mml:msub><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mn>20</mml:mn></mml:mrow></mml:msub></mml:mtd><mml:mtd class="array" columnalign="center"><mml:msub><mml:mrow><mml:mi>w</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mtext>&#x02009;</mml:mtext><mml:mn>1</mml:mn><mml:mtext>&#x02009;</mml:mtext><mml:mn>4</mml:mn></mml:mtd><mml:mtd class="array" columnalign="center"><mml:msub><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mn>22</mml:mn></mml:mrow></mml:msub></mml:mtd><mml:mtd class="array" columnalign="center"><mml:msub><mml:mrow><mml:mi>w</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mtext>&#x02009;</mml:mtext><mml:mn>1</mml:mn><mml:mtext>&#x02009;</mml:mtext><mml:mn>5</mml:mn></mml:mtd><mml:mtd class="array" columnalign="center"><mml:msub><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mn>21</mml:mn></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mfenced><mml:mo class="MathClass-punc">.</mml:mo></mml:math></disp-formula></p>
<p>Plans are then communicated to the agents. Agent <italic>i</italic> receives <inline-formula><mml:math id="M119"><mml:msub><mml:mrow><mml:mn>&#x003C0;</mml:mn></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mo class="MathClass-op">&#x003A3;</mml:mo></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo class="MathClass-open">(</mml:mo><mml:msub><mml:mrow><mml:mtext mathvariant="sans-serif">A</mml:mtext></mml:mrow><mml:mrow><mml:mo class="MathClass-open">&#x0007B;</mml:mo><mml:mn>1</mml:mn><mml:mo class="MathClass-punc">,</mml:mo><mml:mn>2</mml:mn><mml:mo class="MathClass-close">&#x0007D;</mml:mo></mml:mrow></mml:msub><mml:mo class="MathClass-open">&#x027E8;</mml:mo><mml:mi>i</mml:mi><mml:mn>&#x027E9;</mml:mn><mml:mo class="MathClass-close">)</mml:mo></mml:math></inline-formula>, and all agents execute their instructions in step (i.e., synchronously), transitioning from one common world state to a next. There can be several instances where the same task needs to be completed, and for each one of these instances the coordinator crafts a different plan &#x02013; the system may be initialized at a different world state each time, or several scheduling strategies can be tried out; there is usually more than one way to achieve the same end result involving the same crucial steps. Each such instance of guided task completion offers an example for the agent learning algorithms. Figures <xref ref-type="fig" rid="F6">6</xref>A,B display results from several different experiments, during which the two agents observe the instructions received over a number of instances, and attempt to identify their specification. Depending on the composition of these sequences of examples, agents may need more time to identify their specification language. The two figures show the size (cardinality) of the hypothesized grammar produced by the inference machine, <inline-formula><mml:math id="M120"><mml:mo>&#x0007C;</mml:mo><mml:mi mathvariant="sans-serif">GIM</mml:mi><mml:mo>&#x0007C;</mml:mo></mml:math></inline-formula>, for the specification language of agent 1 (Figure <xref ref-type="fig" rid="F6">6</xref>A) and agent 2 (Figure <xref ref-type="fig" rid="F6">6</xref>B) as a function of the number <italic>m</italic> of examples in the presentation <italic>&#x003D5;</italic> provided to their inference algorithms by their coordinator, over a number of different experiments. Every experiment consists of an initial fragment of some (specification language) presentation, which for the purpose of these numerical tests is generated randomly. Convergence is achieved when <inline-formula><mml:math id="M121"><mml:mo>&#x0007C;</mml:mo><mml:mi mathvariant="sans-serif">GIM</mml:mi><mml:mo>(</mml:mo><mml:mi>&#x003D5;</mml:mi><mml:mo>[</mml:mo><mml:mi>m</mml:mi><mml:mo>])&#x0007C;</mml:mo><mml:mtext>&#x02009;</mml:mtext><mml:mo>&#x0003D;</mml:mo><mml:mtext>&#x02009;</mml:mtext><mml:mn>1</mml:mn></mml:math></inline-formula>. The thick curves in Figures <xref ref-type="fig" rid="F6">6</xref>A,B correspond to experimental averages of grammar size for random presentation fragments of a certain length. It appears that a (uniformly) random generation of presentations for the target Locally 2-Testable languages results in (at least) polynomial rate of convergence.</p>
<fig position="float" id="F6">
<label>Figure 6</label>
<caption><p><bold>Convergence of the learner as the number of examples <italic>m</italic> increases</bold>. The shaded envelopes in <bold>(A,B)</bold> represent the SD around the mean size of the hypothesized grammars for agents 1 and 2, indicating that <inline-formula><mml:math id="M122"><mml:mo>&#x0007C;</mml:mo><mml:mi mathvariant="sans-serif">GIM</mml:mi><mml:mo>(</mml:mo><mml:mi>&#x003D5;</mml:mi><mml:mo>[</mml:mo><mml:mi>m</mml:mi><mml:mo>])&#x0007C;</mml:mo></mml:math></inline-formula> converges to the value of 1 (marked with a dotted black line) as the number of presentations <italic>m</italic> increases.</p></caption>
<graphic xlink:href="frobt-03-00036-g006.tif"/>
</fig>
</sec>
<sec id="S4-12">
<label>4.2</label> <title>Scaling Up</title>
<p>Obviously, due to the product operations involved, increasing the number of agents <italic>&#x003BA;</italic>, or the size of the agents&#x02019; automata has an adverse effect on one&#x02019;s ability to reproduce the results of the previous section. Several observations, however, seem to indicate that the key insight behind the reported method is not directly linked to computational complexity issues related to dimensionality. This section, thus, briefly illustrates the implementation of the reported method on a similar setup with three agents, and concludes with the observations that can guide further algorithm development in the direction of handling larger-scale problems.</p>
<p>In this setup, there are three agents with structure similar to that shown in Figure <xref ref-type="fig" rid="F2">2</xref>. The three agents have similar but not identical capacities. There are still three world states, three-symbol alphabets for each agent, and the agents&#x02019; specification languages are again Locally 2-Testable languages, each represented by an automaton with three states. (The actual automaton for the coordinator is too large to display on these pages.)</p>
<p>Similar to Section <xref ref-type="sec" rid="S1">1</xref>, the learning process is repeated several times, and in each trial initial segments <italic>&#x003D5;</italic>[<italic>m</italic>] of random presentations of length <italic>m</italic>&#x02009;&#x0003D;&#x02009;100 are generated and processed by the individual agent learners. Each segment is tabulated in an array <inline-formula><mml:math id="M123"><mml:msub><mml:mi mathvariant="sans-serif">A</mml:mi><mml:mrow><mml:mo>&#x0007B;</mml:mo><mml:mn>1,2,3</mml:mn><mml:mo>&#x0007D;</mml:mo></mml:mrow></mml:msub></mml:math></inline-formula>, from which each agent reads the (projected) row <inline-formula><mml:math id="M124"><mml:msub><mml:mrow><mml:mn>&#x003C0;</mml:mn></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mo class="MathClass-op">&#x003A3;</mml:mo></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mtext mathvariant="sans-serif">A</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mo class="MathClass-open">&#x0007B;</mml:mo><mml:mrow><mml:mn>1</mml:mn><mml:mo class="MathClass-punc">,</mml:mo><mml:mn>2</mml:mn><mml:mo class="MathClass-punc">,</mml:mo><mml:mn>3</mml:mn></mml:mrow><mml:mo class="MathClass-close">&#x0007D;</mml:mo></mml:mrow></mml:mrow></mml:msub><mml:mrow><mml:mo class="MathClass-open">&#x027E8;</mml:mo><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mo class="MathClass-close">&#x027E9;</mml:mo></mml:mrow></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:math></inline-formula> associated with its index <italic>i</italic>&#x02009;&#x02208;&#x02009;&#x0007B;1, 2, 3&#x0007D;. As each learner reads this presentation segment, it progressively refines its hypothesis about what its specification language might be, and similarly to Figure <xref ref-type="fig" rid="F6">6</xref>, in Figure <xref ref-type="fig" rid="F7">7</xref> the number of factors in the hypothesized agent grammar is recorded in the plots of Figures <xref ref-type="fig" rid="F7">7</xref>A&#x02013;C. Figure <xref ref-type="fig" rid="F7">7</xref>C seems to also indicate a polynomial rate of convergence.</p>
<fig position="float" id="F7">
<label>Figure 7</label>
<caption><p><bold>Convergence results for individual agent learners over initial segments of presentation with 100 examples</bold>. The plots <bold>(A&#x02013;C)</bold> show the evolution of the cardinality of each agent&#x02019;s hypothesized grammars; when these grammars are reduced to a single factor, then the learner has converged. The shaded envelopes indicate the evolution of the SD around the mean grammar size over all trials, as the size of the presentation to the learners increases.</p></caption>
<graphic xlink:href="frobt-03-00036-g007.tif"/>
</fig>
<p>The simulation of the three-agent example was coded in python and was run on a Intel-I7 Quad-core laptop computer (8 threads, 2.30&#x02009;GHz processor). What needs to be noted, however, is that the computationally challenging aspect of such an implementation, as the number of agents and the size of their automata increase, is in computing and representing their products (with their specifications, and eventually with each other). In practice, however, this computation would be needed for determining coordination plans, not for inferring the agents&#x02019; specifications. Note that if the (big) automaton that the coordinator needs to devise its plans for its subordinates is available, and the system is running in normal operation mode, then the inference algorithm on each agent&#x02019;s hardware would need to build and refine a machine of size independent of the number of agents in the group: each agent is learning its own specification. Only when the agents are called to <italic>combine</italic> their hypotheses into a single model, and construct the synchronized product, would the increased computational power be required.</p>
<p>Skeptics will argue that outside the realm of academic examples, one inevitably has to face analysis of many complex sub-systems (agents), and a daunting computation of a huge synchronized product will be unavoidable. It is conjectured, however, that there are computationally efficient alternatives to performing this operation. For example, once all agent constrained dynamics have been reconstructed, compatible coordinator plans can possibly be synthesized in a factored fashion, by synchronizing the runs on individual constrained dynamics incrementally, transition by transition. Preliminary evidence that supports this hypothesis is that this type of factored synthesis has been already demonstrated when constructing winning strategies in two-player zero-sum games (Fu et al., <xref ref-type="bibr" rid="B9">2015</xref>), while at the same time it has been formally proven that learning sub-regular languages in factored form is also feasible (Heinz and Rogers, <xref ref-type="bibr" rid="B12">2013</xref>). In fact, the identification of individual agent specifications as implemented in this paper is a manifestation of the ability to learn in factored form. Exploiting the factored structure of the system in this way allows for exponentially smaller system representations (Heinz and Rogers, <xref ref-type="bibr" rid="B12">2013</xref>), significantly alleviating the ramifications of the curse of dimensionality. Exploring further the possibility for synthesis of coordinator plans when a model of the latter is maintained in factored form deserves treatment in a separate paper.</p>
</sec>
</sec>
<sec id="S5">
<label>5</label> <title>Conclusion</title>
<p>Distributed multi-agent systems, in which individual agents are coordinated by a central control authority, and the dynamics of all entities is captured in the form of transition systems, can be made resilient to leader decapitation by means of learning. Specifically, grammatical inference algorithms running locally at each agent can be utilized to decode the logic behind the generation of commands that are issued to each individual agent over a period of time, provided that a sufficiently large sample of command examples are observed, and the agents know <italic>a priori</italic> the class of formal languages their specifications belong to. Once individual agent specifications are identified, then it is shown that agents can put together their hypotheses about how their coordinator has been generating their instructions, and in this way essentially reconstruct it. This type of result can contribute to theory that supports the design of resilient multi-agent supervisory control systems, but also be utilized from the opposite direction as a means of decoding the mechanism that generates a bundle of signals communicated over a number of different, isolated, channels.</p>
</sec>
<sec id="S6">
<title>Author Contributions</title>
<p>KK contributed primarily in exploring the related literature, and together with HT he took leadership in formulating the problem, as well as designing the overall architecture depicted in Figure <xref ref-type="fig" rid="F1">1</xref>. PK was responsible for generating and presenting the numerical data that support the theoretical predictions, and helped revising the presentation of the theoretical analysis in order to be in concert with the software implementation. AJ and JH led the design of the grammatical inference algorithms, and contributed to the design of numerical tests. All authors contributed to varying degrees in writing and editing this manuscript.</p>
</sec>
<sec id="S8">
<title>Conflict of Interest Statement</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 id="S7">
<title>Funding</title>
<p>This work is supported in part by ARL MAST CTA &#x00023; W911NF-08-2-0004.</p>
</sec>
<ref-list>
<title>References</title>
<ref id="B1"><citation citation-type="book"><person-group person-group-type="author"><name><surname>Blanke</surname> <given-names>M.</given-names></name> <name><surname>Kinnaert</surname> <given-names>M.</given-names></name> <name><surname>Lunze</surname> <given-names>J.</given-names></name> <name><surname>Staroswiecki</surname> <given-names>M.</given-names></name></person-group> (<year>2003</year>). <source>Diagnosis and Fault-Tolerant Control</source>. <publisher-loc>Berlin Heidelberg</publisher-loc>: <publisher-name>Springer-Verlag</publisher-name>.</citation></ref>
<ref id="B2"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Bruni</surname> <given-names>F.</given-names></name></person-group> (<year>2014</year>). <article-title>Hacking our humanity: sony, security and the end of privacy</article-title>. <source>The New York Times</source>, <fpage>SR3</fpage>.</citation></ref>
<ref id="B3"><citation citation-type="book"><person-group person-group-type="author"><name><surname>Cam</surname> <given-names>H.</given-names></name> <name><surname>Mouallem</surname> <given-names>P.</given-names></name> <name><surname>Mo</surname> <given-names>Y.</given-names></name> <name><surname>Sinopoli</surname> <given-names>B.</given-names></name> <name><surname>Nkrumah</surname> <given-names>B.</given-names></name></person-group> (<year>2014</year>). <article-title>&#x0201C;Modeling impact of attacks, recovery, and attackability conditions for situational awareness,&#x0201D;</article-title> in <source>IEEE Int. Inter-Disciplinary Conf. on Cognitive Methods in situation Awareness and Decision Support</source> (<publisher-loc>San Antonio, TX</publisher-loc>: <publisher-name>IEEE</publisher-name>), <fpage>181</fpage>&#x02013;<lpage>187</lpage>.</citation></ref>
<ref id="B4"><citation citation-type="book"><person-group person-group-type="author"><name><surname>Cardenas</surname> <given-names>A.</given-names></name> <name><surname>Amin</surname> <given-names>S.</given-names></name> <name><surname>Sastry</surname> <given-names>S.</given-names></name></person-group> (<year>2008</year>). <article-title>&#x0201C;Secure control: towards survivable cyber-physical systems,&#x0201D;</article-title> in <source>28th Int. Conf. on Distributed Computing Systems Workshops</source> (<publisher-loc>Beijing</publisher-loc>: <publisher-name>IEEE</publisher-name>), <fpage>495</fpage>&#x02013;<lpage>500</lpage>.</citation></ref>
<ref id="B5"><citation citation-type="book"><person-group person-group-type="author"><name><surname>Cassandras</surname> <given-names>C. G.</given-names></name> <name><surname>Lafortune</surname> <given-names>S.</given-names></name></person-group> (<year>2008</year>). <source>Introduction to Discrete Event Systems</source>, Vol. <volume>11</volume>. <publisher-loc>New York, NY</publisher-loc>: <publisher-name>Springer</publisher-name>.</citation></ref>
<ref id="B6"><citation citation-type="web"><collab>CPS-FORCES</collab>. (<year>2015</year>). Available at: <uri xlink:href="https://www.cps-forces.org/">https://www.cps-forces.org/</uri></citation></ref>
<ref id="B7"><citation citation-type="book"><person-group person-group-type="author"><name><surname>de la Higuera</surname> <given-names>C.</given-names></name></person-group> (<year>2010</year>). <source>Grammatical Inference: Learning Automata and Grammars</source>. <publisher-loc>Cambridge</publisher-loc>: <publisher-name>Cambridge University Press</publisher-name>.</citation></ref>
<ref id="B8"><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Fu</surname> <given-names>J.</given-names></name> <name><surname>Tanner</surname> <given-names>H. G.</given-names></name> <name><surname>Heinz</surname> <given-names>J.</given-names></name></person-group> (<year>2013</year>). <article-title>&#x0201C;Adaptive planning in unknown environments using grammatical inference,&#x0201D;</article-title> in <conf-name>Decision and Control (CDC), 2013 IEEE 52nd Annual Conference on</conf-name> (<conf-loc>Florence</conf-loc>: <conf-sponsor>IEEE</conf-sponsor>), <fpage>5357</fpage>&#x02013;<lpage>5363</lpage>.</citation></ref>
<ref id="B9"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Fu</surname> <given-names>J.</given-names></name> <name><surname>Tanner</surname> <given-names>H. G.</given-names></name> <name><surname>Heinz</surname> <given-names>J. N.</given-names></name> <name><surname>Karydis</surname> <given-names>K.</given-names></name> <name><surname>Chandlee</surname> <given-names>J.</given-names></name> <name><surname>Koirala</surname> <given-names>C.</given-names></name></person-group> (<year>2015</year>). <article-title>Symbolic planning and control using game theory and grammatical inference</article-title>. <source>Eng. Appl. Artif. Intell.</source> <volume>37</volume>, <fpage>378</fpage>&#x02013;<lpage>391</lpage>.<pub-id pub-id-type="doi">10.1016/j.engappai.2014.09.020</pub-id></citation></ref>
<ref id="B10"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Garc&#x000ED;a</surname> <given-names>P.</given-names></name> <name><surname>Ruiz</surname> <given-names>J.</given-names></name></person-group> (<year>2004</year>). <article-title>Learning k-testable and k-piecewise testable languages from positive data</article-title>. <source>Grammars</source> <volume>7</volume>, <fpage>125</fpage>&#x02013;<lpage>140</lpage>.</citation></ref>
<ref id="B11"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Gold</surname> <given-names>M. E.</given-names></name></person-group> (<year>1967</year>). <article-title>Language identification in the limit</article-title>. <source>Inf. Control</source> <volume>10</volume>, <fpage>447</fpage>&#x02013;<lpage>474</lpage>.<pub-id pub-id-type="doi">10.1016/S0019-9958(67)91165-5</pub-id></citation></ref>
<ref id="B12"><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Heinz</surname> <given-names>J.</given-names></name> <name><surname>Rogers</surname> <given-names>J.</given-names></name></person-group> (<year>2013</year>). <article-title>&#x0201C;Learning subregular classes of languages with factored deterministic automata,&#x0201D;</article-title> in <conf-name>Proceedings of the 13th Meeting on the Mathematics of Language (MoL 13)</conf-name>, eds <person-group person-group-type="editor"><name><surname>Kornai</surname> <given-names>A.</given-names></name> <name><surname>Kuhlmann</surname> <given-names>M.</given-names></name></person-group> (<conf-loc>Sofia, Bulgaria</conf-loc>: <conf-sponsor>Association for Computational Linguistics</conf-sponsor>), <fpage>64</fpage>&#x02013;<lpage>71</lpage>.</citation></ref>
<ref id="B13"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Hespanha</surname> <given-names>J.</given-names></name> <name><surname>Naghshtabrizi</surname> <given-names>P.</given-names></name> <name><surname>Xu</surname> <given-names>Y.</given-names></name></person-group> (<year>2007</year>). <article-title>A survey of recent results in networked control systems</article-title>. <source>Proc. IEEE</source> <volume>95</volume>, <fpage>138</fpage>&#x02013;<lpage>162</lpage>.<pub-id pub-id-type="doi">10.1109/JPROC.2006.887288</pub-id></citation></ref>
<ref id="B14"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Jordan</surname> <given-names>J.</given-names></name></person-group> (<year>2009</year>). <article-title>When heads roll: assessing the effectiveness of leadership decapitation</article-title>. <source>Secur. Stud.</source> <volume>18</volume>, <fpage>719</fpage>&#x02013;<lpage>755</lpage>.<pub-id pub-id-type="doi">10.1080/09636410903369068</pub-id></citation></ref>
<ref id="B15"><citation citation-type="book"><person-group person-group-type="author"><name><surname>Kannappan</surname> <given-names>P.</given-names></name> <name><surname>Karydis</surname> <given-names>K.</given-names></name> <name><surname>Tanner</surname> <given-names>H. G.</given-names></name> <name><surname>Jardine</surname> <given-names>A.</given-names></name> <name><surname>Heinz</surname> <given-names>J.</given-names></name></person-group> (<year>2016</year>). <article-title>&#x0201C;Incorporating learning modules improves aspects of resilience of supervisory cyber-physical systems,&#x0201D;</article-title> in <source>24th Mediterranean Conf. on Control and Automation</source> (<publisher-loc>Athens</publisher-loc>: <publisher-name>IEEE</publisher-name>).</citation></ref>
<ref id="B16"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Kendra</surname> <given-names>J. M.</given-names></name> <name><surname>Wachtendorf</surname> <given-names>T.</given-names></name></person-group> (<year>2003</year>). <article-title>Elements of resilience after the world trade center disaster: reconstitung New York City&#x02019;s emergency operations centre</article-title>. <source>Disasters</source> <volume>27</volume>, <fpage>37</fpage>&#x02013;<lpage>53</lpage>.<pub-id pub-id-type="doi">10.1111/1467-7717.00218</pub-id></citation></ref>
<ref id="B17"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Khaitan</surname> <given-names>S.</given-names></name> <name><surname>McCalley</surname> <given-names>J.</given-names></name></person-group> (<year>2014</year>). <article-title>Design techniques and applications of cyberphysical systems: a survey</article-title>. <source>IEEE Syst. J.</source> <volume>9</volume>, <fpage>350</fpage>&#x02013;<lpage>365</lpage>.<pub-id pub-id-type="doi">10.1109/JSYST.2014.2322503</pub-id></citation></ref>
<ref id="B18"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Kim</surname> <given-names>K.-D.</given-names></name> <name><surname>Kumar</surname> <given-names>P.</given-names></name></person-group> (<year>2012</year>). <article-title>Cyber-physical systems: a perspective at the centennial</article-title>. <source>Proc. IEEE</source> <volume>100</volume>, <fpage>1287</fpage>&#x02013;<lpage>1308</lpage>.<pub-id pub-id-type="doi">10.1109/JPROC.2012.2189792</pub-id></citation></ref>
<ref id="B19"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Kundur</surname> <given-names>D.</given-names></name> <name><surname>Feng</surname> <given-names>X.</given-names></name> <name><surname>Mashayekh</surname> <given-names>S.</given-names></name> <name><surname>Liu</surname> <given-names>S.</given-names></name> <name><surname>Zourntos</surname> <given-names>T.</given-names></name> <name><surname>Butler-Purry</surname> <given-names>K.</given-names></name></person-group> (<year>2011</year>). <article-title>Towards modelling the impact of cyber attacks on a smart grid</article-title>. <source>Int. J. Secur. Netw.</source> <volume>6</volume>, <fpage>2</fpage>&#x02013;<lpage>13</lpage>.<pub-id pub-id-type="doi">10.1504/IJSN.2011.039629</pub-id></citation></ref>
<ref id="B20"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Liu</surname> <given-names>J.</given-names></name> <name><surname>Xiao</surname> <given-names>Y.</given-names></name> <name><surname>Li</surname> <given-names>S.</given-names></name> <name><surname>Liang</surname> <given-names>W.</given-names></name> <name><surname>Chen</surname> <given-names>C. L. P.</given-names></name></person-group> (<year>2012</year>). <article-title>Cyber security and privacy issues in smart grids</article-title>. <source>IEEE Commun. Surv. Tutorials</source> <volume>14</volume>, <fpage>981</fpage>&#x02013;<lpage>997</lpage>.<pub-id pub-id-type="doi">10.1109/SURV.2011.122111.00145</pub-id></citation></ref>
<ref id="B21"><citation citation-type="book"><person-group person-group-type="author"><name><surname>Mahmoud</surname> <given-names>M. S.</given-names></name></person-group> (<year>2004</year>). <source>Resilient Control of Uncertain Dynamical Systems</source>. <publisher-loc>Berlin Heidelberg</publisher-loc>: <publisher-name>Springer</publisher-name>.</citation></ref>
<ref id="B22"><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Martin</surname> <given-names>W.</given-names></name> <name><surname>White</surname> <given-names>P.</given-names></name> <name><surname>Taylor</surname> <given-names>F.</given-names></name> <name><surname>Goldberg</surname> <given-names>A.</given-names></name></person-group> (<year>2000</year>). <article-title>&#x0201C;Formal construction of the mathematically analyzed separation kernel,&#x0201D;</article-title> in <conf-name>Proceedings of the Fifteenth IEEE International Conference on Automated Software Engineering</conf-name> (<conf-loc>Grenoble</conf-loc>: <conf-sponsor>IEEE</conf-sponsor>), <fpage>133</fpage>&#x02013;<lpage>141</lpage>.</citation></ref>
<ref id="B23"><citation citation-type="book"><person-group person-group-type="author"><name><surname>McNaughton</surname> <given-names>R.</given-names></name> <name><surname>Papert</surname> <given-names>S.</given-names></name></person-group> (<year>1971</year>). <source>Counter-Free Automata</source>. <publisher-loc>Cambridge, MA</publisher-loc>: <publisher-name>MIT Press</publisher-name>.</citation></ref>
<ref id="B24"><citation citation-type="book"><person-group person-group-type="author"><name><surname>Mo</surname> <given-names>Y.</given-names></name> <name><surname>Sinopoli</surname> <given-names>B.</given-names></name></person-group> (<year>2009</year>). <article-title>&#x0201C;Secure control against replay attacks,&#x0201D;</article-title> in <source>47th Annual Allerton Conf. on Communication, Control, and Computing</source> (<publisher-loc>Monticello, IL</publisher-loc>: <publisher-name>IEEE</publisher-name>), <fpage>911</fpage>&#x02013;<lpage>918</lpage>.</citation></ref>
<ref id="B25"><citation citation-type="book"><person-group person-group-type="author"><name><surname>Rieger</surname> <given-names>C.</given-names></name></person-group> (<year>2014</year>). <article-title>&#x0201C;Resilient control systems practical metrics basis for defining mission impact,&#x0201D;</article-title> in <source>7th Int. Symp. on Resilient Control Systems</source> (<publisher-loc>Denver, CO</publisher-loc>: <publisher-name>IEEE</publisher-name>), <fpage>1</fpage>&#x02013;<lpage>10</lpage>.</citation></ref>
<ref id="B26"><citation citation-type="book"><person-group person-group-type="author"><name><surname>Rieger</surname> <given-names>C.</given-names></name> <name><surname>Gertman</surname> <given-names>D.</given-names></name> <name><surname>McQueen</surname> <given-names>M.</given-names></name></person-group> (<year>2009</year>). <article-title>&#x0201C;Resilient control systems: next generation design research,&#x0201D;</article-title> in <source>2nd Conf. on Human System Interactions</source> (<publisher-loc>Catania</publisher-loc>: <publisher-name>IEEE</publisher-name>), <fpage>632</fpage>&#x02013;<lpage>636</lpage>.</citation></ref>
<ref id="B27"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Rushby</surname> <given-names>J.</given-names></name></person-group> (<year>1981</year>). <article-title>Design and verification of secure systems</article-title>. <source>ACM SIGOPS Oper. Syst. Rev.</source> <volume>15</volume>, <fpage>12</fpage>&#x02013;<lpage>21</lpage>.<pub-id pub-id-type="doi">10.1145/1067627.806586</pub-id></citation></ref>
<ref id="B28"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Schenato</surname> <given-names>L.</given-names></name> <name><surname>Sinopoli</surname> <given-names>B.</given-names></name> <name><surname>Franceschetti</surname> <given-names>M.</given-names></name> <name><surname>Poolla</surname> <given-names>K.</given-names></name> <name><surname>Sastry</surname> <given-names>S.</given-names></name></person-group> (<year>2007</year>). <article-title>Foundations of control and estimation over lossy networks</article-title>. <source>Proc. IEEE</source> <volume>95</volume>, <fpage>163</fpage>&#x02013;<lpage>187</lpage>.<pub-id pub-id-type="doi">10.1109/JPROC.2006.887306</pub-id></citation></ref>
<ref id="B29"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Tanner</surname> <given-names>H. G.</given-names></name> <name><surname>Jadbabaie</surname> <given-names>A.</given-names></name> <name><surname>Pappas</surname> <given-names>G. J.</given-names></name></person-group> (<year>2007</year>). <article-title>Flocking in fixed and switching networks</article-title>. <source>IEEE Trans. Automat. Contr.</source> <volume>52</volume>, <fpage>863</fpage>&#x02013;<lpage>867</lpage>.<pub-id pub-id-type="doi">10.1109/TAC.2007.895948</pub-id></citation></ref>
</ref-list>
<fn-group>
<fn id="fn1"><p><sup>1</sup>Examples of such systems may be scada systems or separation kernel architectures.</p></fn>
<fn id="fn2"><p><sup>2</sup>Accessible states are all states that are reachable from initial states.</p></fn>
<fn id="fn3"><p><sup>3</sup>Co-accessible states are states from which there exists a path to a final state.</p></fn>
<fn id="fn4"><p><sup>4</sup>Note that K may not necessarily contain consecutive integers.</p></fn>
<fn id="fn5"><p><sup>5</sup>For the particular language subclass, a handful of positive examples generally suffice.</p></fn>
</fn-group>
</back>
</article>