<?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.2017.00040</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>Non-Parametric Bayesian State Space Estimator for Negative Information</article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author" corresp="yes">
<name><surname>de Chambrier</surname> <given-names>Guillaume</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/361796"/>
</contrib>
<contrib contrib-type="author">
<name><surname>Billard</surname> <given-names>Aude</given-names></name>
<xref ref-type="aff" rid="aff1"><sup>1</sup></xref>
</contrib>
</contrib-group>
<aff id="aff1"><sup>1</sup><institution>&#x000C9;cole Polyt&#x000E9;chnique F&#x000E9;d&#x000E9;rale de Lausanne (EPFL)</institution>, <addr-line>Lausanne</addr-line>, <country>Switzerland</country></aff>
<author-notes>
<fn fn-type="edited-by"><p>Edited by: Shalabh Gupta, University of Connecticut, United States</p></fn>
<fn fn-type="edited-by"><p>Reviewed by: Xiao Bian, GE Global Research, United States; Tianhong Yan, China Jiliang University, China</p></fn>
<corresp content-type="corresp" id="cor1">&#x0002A;Correspondence: Guillaume de Chambrier, <email>guillaume.dechambrier&#x00040;epfl.ch</email></corresp>
<fn fn-type="other" id="fn001"><p>Specialty section: This article was submitted to Sensor Fusion and Machine Perception, a section of the journal Frontiers in Robotics and AI</p></fn>
</author-notes>
<pub-date pub-type="epub">
<day>22</day>
<month>09</month>
<year>2017</year>
</pub-date>
<pub-date pub-type="collection">
<year>2017</year>
</pub-date><volume>4</volume>
<elocation-id>40</elocation-id>
<history>
<date date-type="received">
<day>20</day>
<month>07</month>
<year>2016</year>
</date>
<date date-type="accepted">
<day>07</day>
<month>08</month>
<year>2017</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#x000A9; 2017 de Chambrier and Billard.</copyright-statement>
<copyright-year>2017</copyright-year>
<copyright-holder>de Chambrier and Billard</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>Simultaneous Localization and Mapping (SLAM) is concerned with the development of filters to accurately and efficiently infer the state parameters (position, orientation, etc.) of an agent and aspects of its environment, commonly referred to as the map. A mapping system is necessary for the agent to achieve situatedness, which is a precondition for planning and reasoning. In this work, we consider an agent who is given the task of finding a set of objects. The agent has limited perception and can only sense the presence of objects if a direct contact is made, as a result most of the sensing is negative information. In the absence of recurrent sightings or direct measurements of objects, there are no correlations from the measurement errors that can be exploited. This renders SLAM estimators, for which this fact is their backbone such as EKF-SLAM, ineffective. In addition for our setting, no assumptions are taken with respect to the marginals (beliefs) of both the agent and objects (map). From the loose assumptions we stipulate regarding the marginals and measurements, we adopt a histogram parametrization. We introduce a Bayesian State Space Estimator (BSSE), which we name Measurement Likelihood Memory Filter (MLMF), in which the values of the joint distribution are not parametrized but instead we directly apply changes from the measurement integration step to the marginals. This is achieved by keeping track of the history of likelihood functions&#x02019; parameters. We demonstrate that the MLMF gives the same filtered marginals as a histogram filter and show two implementations: MLMF and scalable-MLMF that both have a linear space complexity. The original MLMF retains an exponential time complexity (although an order of magnitude smaller than the histogram filter) while the scalable-MLMF introduced independence assumption such to have a linear time complexity. We further quantitatively demonstrate the scalability of our algorithm with 25 beliefs having up to 10,000,000 states each. In an Active-SLAM setting, we evaluate the impact that the size of the memory&#x02019;s history has on the decision-theoretic process in a search scenario for a one-step look-ahead information gain planner. We report on both 1D and 2D experiments.</p>
</abstract>
<kwd-group>
<kwd>negative information</kwd>
<kwd>SLAM</kwd>
<kwd>Bayesian state space estimator</kwd>
<kwd>histogram-SLAM</kwd>
<kwd>active-exploration</kwd>
</kwd-group>
<counts>
<fig-count count="15"/>
<table-count count="5"/>
<equation-count count="52"/>
<ref-count count="30"/>
<page-count count="20"/>
<word-count count="16240"/>
</counts>
</article-meta>
</front>
<body>
<sec id="S1" sec-type="introduction">
<label>1</label> <title>Introduction</title>
<p>Estimating the location of a mobile agent while simultaneously building a map of the environment has been regarded as one of the most important problems to be solved for agents to achieve autonomy. It is a necessary precondition for any agent to have an estimation of the world to store acquired knowledge. There has been a vast amount of research surrounding the field of Simultaneous Localization And Mapping (SLAM) that branches out into a wide variety of subfields dealing with problems from building accurate noise models of the agent sensors (Plagemann et al., <xref ref-type="bibr" rid="B24">2007</xref>), to determining which environmental feature caused a particular measurement, also known as the data association problem (Montemerlo and Thrun, <xref ref-type="bibr" rid="B17">2003</xref>) and much more.</p>
<p>Although the amount of research might seem overwhelming at first, all current SLAM methodologies are founded on a single principle: As the agent localizes itself by reducing its position uncertainty, the map&#x02019;s uncertainty also decreases as the landmarks are correlated via the robot&#x02019;s position (Durrant-Whyte and Bailey, <xref ref-type="bibr" rid="B6">2006</xref>). The predominant mathematical formulation of SLAM problems is to parameterize the joint distribution of the agent&#x02019;s position and map&#x02019;s features and to recursively integrate actions and measurement information into those parameters. This formulation is known as Probabilistic-SLAM (Durrant-Whyte and Bailey, <xref ref-type="bibr" rid="B6">2006</xref>; Cadena et al., <xref ref-type="bibr" rid="B4">2016</xref>) and there are broadly three paradigms to parameterizing.</p>
<p>The first paradigms assume the joint distribution to be a Multivariate Gaussian distribution parameterized by a mean and covariance. The mean is a state vector composed of the agent and map feature positions while the elements of the covariance encode the variance of the position uncertainties. If the motion and measurement system models are linear the Kalman Filter recursion is the best estimator of the joint&#x02019;s parameters. In case, the system models are non-linear they can be linearized via a Taylor approximation and in the context of SLAM, this is known as EKF-SLAM (Extended-Kalman Filter) (Durrant-Whyte and Bailey, <xref ref-type="bibr" rid="B6">2006</xref>). The two drawbacks of EKF-SLAM are the linearization of the system models, which may falsely reduce uncertainty resulting in the filter diverging (Li and Mourikis, <xref ref-type="bibr" rid="B16">2013</xref>), and the quadratic growth of the filter&#x02019;s parameters with respect to the number of landmarks (Paz et al., <xref ref-type="bibr" rid="B23">2008</xref>). The linearization problem has been addressed by non-parametric approaches, such as Unscented Kalman Filter (Wan and Van Der Merwe, <xref ref-type="bibr" rid="B30">2000</xref>; Huang et al., <xref ref-type="bibr" rid="B13">2013</xref>), which avoid the linearization by using a set of deterministic samples, known as sigma points or by introducing constraints on the Jacobian of the system models (Mourikis and Roumeliotis, <xref ref-type="bibr" rid="B19">2007</xref>). The constraint approach has been shown to be robust and scalable. In Hesch et al. (<xref ref-type="bibr" rid="B9">2014</xref>), the authors introduce a constraint on the Jacobians of both motion and measurement system models, which explicitly enforces that no unwanted information is gained. The authors successively mapped 1.5&#x02009;km of the outdoor terrain at the Minnesota campus. In terms of the quadratic growth drawback parameter, efficient EKF methods have been developed known as Extended information Filters (Thrun et al., <xref ref-type="bibr" rid="B29">2004</xref>). The methods use a canonical parameterization of the Gaussian function that includes the precision matrix, which is sparse. The drawback of information filters is that extracting the variance of the position uncertainty requires inverting the precision matrix, which is computationally expensive. Since then there are methods that decompose the EKF-SLAM problem and are able to solve it in linear time (Paz et al., <xref ref-type="bibr" rid="B23">2008</xref>). Although EKF-SLAM originally suffered from linearization and computational cost the scientific advances mentioned above still make it a method of choice (Cadena et al., <xref ref-type="bibr" rid="B4">2016</xref>). Especially when the linearization of the system models are accurate as it is the case with vision-SLAM methods such as visual-inertial odometry VIO-SLAM (Li and Mourikis, <xref ref-type="bibr" rid="B16">2013</xref>). EKF-SLAM methods also remain widely used in underwater navigation problems, the reader is referred to Paull et al. (<xref ref-type="bibr" rid="B22">2014</xref>) and Hidalgo and Brunl (<xref ref-type="bibr" rid="B10">2015</xref>) for a review.</p>
<p>The second paradigm is Graph-SLAM (Grisetti et al., <xref ref-type="bibr" rid="B8">2010</xref>). Graph-SLAM methods find the Maximum <italic>A Posteriori</italic> (MAP) of the full robot path in contrast to EKF-SLAM methods that are filters. As the name suggests a directed graph is gradually constructed with nodes being robot positions and edges geometric transformation between them. The transformations are non-linear constraints, which are measurement likelihoods with an error assumed to be Gaussian noise. The MAP solution of the robot&#x02019;s path is equivalent to solving a non-linear least square problem whose solution is attained by a Gauss&#x02013;Newton optimization (Kuemmerle et al., <xref ref-type="bibr" rid="B15">2011</xref>). This process results in the repositioning of the nodes such that the measurement constraints are minimized. Graph-based approaches are becoming increasingly popular as MAP solutions are more robust when compared to filtering approaches (Cadena et al., <xref ref-type="bibr" rid="B4">2016</xref>). As a result, multiple Graph-SLAM solvers have been released such as Large Scale-Directed monocular SLAM (LSD-SLAM) (Engel et al., <xref ref-type="bibr" rid="B7">2014</xref>), which can handle environments with different scales and is able to build large indoor and outdoor density maps, and ORB-SLAM (Mur-Artal et al., <xref ref-type="bibr" rid="B20">2015</xref>; Mur-Artal and Tardos, <xref ref-type="bibr" rid="B21">2016</xref>), which uses ORB (Rublee et al., <xref ref-type="bibr" rid="B25">2011</xref>) features extracted from keyframes. Recent developments in the context of vision-SLAM efforts have focused on efficiency and extraction of the pose uncertainty (Ila et al., <xref ref-type="bibr" rid="B14">2017</xref>) as Graph-SLAM methods generally only find the mean trajectory of the robot and not its variance. Graph-SLAM approaches mostly differ in the type of feature extraction methods (<italic>known as the front-end</italic>) while retain the same non-linear solver (bundle adjustment) such as g2o (Kuemmerle et al., <xref ref-type="bibr" rid="B15">2011</xref>).</p>
<p>The third paradigm is FastSLAM (Montemerlo et al., <xref ref-type="bibr" rid="B18">2003</xref>). FastSLAM exploits the fact that if we know the agent&#x02019;s position with certainty all landmarks become independent. It models the distribution of the agent&#x02019;s position by a particle filter. Each particle has its own copy of the map and updates all landmarks independently, which is the strength of this method. However, if many particles are required each must have its own copy of the map. FastSLAM methods have less traction in the literature as difficulties include tuning the resampling strategy, which if not dune properly can result in sample impoverishment.</p>
<p>It is beyond the scope of this chapter to provide a detailed review of these three paradigms. The reader is referred to Thrun et al. (<xref ref-type="bibr" rid="B27">2005</xref>), Thrun and Leonard (<xref ref-type="bibr" rid="B28">2008</xref>) for an introductory material.</p>
<sec id="S1-1">
<label>1.1</label> <title>Problem Statement</title>
<p>We consider an agent searching for a set of objects in a partially known environment in which exteroceptive feedback is extremely limited. For instance, we can think of an agent equipped with a range sensor that returns a positive response when in direct contact with an object and no response otherwise. Consider agent living in a Rectangle world, see Figure <xref ref-type="fig" rid="F1">1</xref>, in which is located two objects. The agent&#x02019;s uncertainty of its location and that of the objects is encoded by probability distributions <italic>P</italic>(&#x022C5;), which at initialization are known as the agent&#x02019;s prior beliefs.</p>
<fig position="float" id="F1">
<label>Figure 1</label>
<caption><p>Rectangle world. There are three different probability density functions present. The blue represents the believed location of the agent, the red and green probability distributions are associated with objects 1 and 2. The white shapes in each figure represent the true location of each associated object or agent.</p></caption>
<graphic xlink:href="frobt-04-00040-g001.tif"/>
</fig>
<p>As the agent explores the world, it integrates all sensing information at each time step and updates its prior beliefs to posteriors (the result of the prior belief after integrating motion and sensory information). To the author&#x02019;s knowledge, current SLAM methods are limited in that they consider only uncertainty induced by sensing inaccuracies inherent in the sensor and motion models. The reason for this widespread limitation is that during the theoretical foundation of SLAM, a period that is referred to as the <italic>classic age</italic> (1986&#x02013;2004) (Cadena et al., <xref ref-type="bibr" rid="B4">2016</xref>) (this period gave the three paradigms discussed above), the application domains considered the signal noise in range sensor, cameras, and odometry measurements. The features were always considered to be measurable except when occluded. In our setting as the sensory information is strictly haptic, we can confidently assume no measurement noise.</p>
<p>In the search task illustrated in Figure <xref ref-type="fig" rid="F1">1</xref>, the prior beliefs and sparse measurements are the two sources of the agent&#x02019;s uncertainty. The absence of a positive measurement (detection of an object of instance) is known as <bold>negative information</bold> (Thrun, <xref ref-type="bibr" rid="B26">2002</xref>; Hoffman et al., <xref ref-type="bibr" rid="B11">2005</xref>; Thrun et al., <xref ref-type="bibr" rid="B27">2005</xref>, p. 313). Thus, SLAM methodologies that use the <bold>Gaussian error</bold> between the predicted and estimated position of features, such as in the case of EKF-SLAM and Graph-SLAM, will not perform well in this setting as no measurements of the features positions are available until our agent &#x0201C;bumps&#x0201D; into a feature.</p>
<p>In addition to the negative sensing information, the original beliefs depicted in Figure <xref ref-type="fig" rid="F1">1</xref> are <bold>non-Gaussian</bold> and <bold>multimodal</bold>. We make <bold>no assumption</bold> regarding the form of the beliefs. This implies that the joint distribution can no longer be parameterized by a Multivariate Gaussian. This is an assumption made in many SLAM algorithms, notably EKF-SLAM, and allows for a closed form solution to the state estimation problem. Without the Gaussian assumption, no closed form solution to the filtering problem is feasible. Using standard non-parametric methods (Kernel Density, Gaussian Process, Histogram, etc.) to represent or estimate the joint distribution becomes unrealistic after a few dimensions or additional map features. FastSLAM could be a potential candidate, however, as it parameterizes the position uncertainty of the agent by a particle filter and each particle has its own copy of the map the memory demands become quickly significant and in addition has been shown that FastSLAM can degenerate with time regardless of the number of particles used (Bailey et al., <xref ref-type="bibr" rid="B2">2006</xref>). For planning purposes, we would also want to have a single representation of the marginals. The box below summarizes the desirable attributes and assumptions for our filter.</p>
<boxed-text position="float">
<p><bold>Attributes and Assumptions</bold></p>
<list list-type="bullet">
<list-item><p>Non-Gaussian joint distribution, no assumptions are made with respect to its form.</p></list-item>
<list-item><p>Mostly negative information available (absence of positive sightings of the landmarks).</p></list-item>
<list-item><p>Joint distribution volume grows exponentially with respect to the number of objects and states.</p></list-item>
<list-item><p>Joint distribution volume is dense, there is high uncertainty.</p></list-item>
</list>
</boxed-text>
</sec>
<sec id="S1-2">
<label>1.2</label> <title>The Contribution to the Field of Artificial Intelligence</title>
<p>In a wide range of Artificial Intelligence (AI) applications the agent&#x02019;s beliefs are discrete. This non-parametric representation is the most unconstraining but comes at a cost. The parameterization of the belief&#x02019;s joint distribution grows at the rate of a double exponential. We propose a Bayesian State Space Estimator (BSSE) which delivers the same filtered beliefs as a traditional filter but without explicitly parametrizing the joint distribution. We refer to our novel filter as the Measurement Likelihood Memory Filter (MLMF). It keeps track of the history of measurement likelihood functions, referred to as the memory, which have been applied to the joint distribution. The MLMF filter efficiently processes negative information. To the author&#x02019;s knowledge, there has been little research on the integration of negative information in an SLAM setting. Previous work considered the case of active localization (Hoffmann et al., <xref ref-type="bibr" rid="B12">2006</xref>). The incorporation of negative information is useful in many contexts and in particular in Bayesian Theory of Mind (Bake et al., <xref ref-type="bibr" rid="B3">2011</xref>), where the reasoning process of a human is inferred from a Bayesian Network and in our own work (de Chambrier and Billard, <xref ref-type="bibr" rid="B5">2013</xref>) where we model the search behavior of an intentionally blinded human. In such a setting, much negative information is present and an efficient belief filter is required. Our MLMF is thus applicable to the SLAM and AI community in general and to the Cognitive Science community, which models human or agent behaviors through the usage of Bayesian state estimators.</p>
<p>By using this new representation, we implement a set of passive search trajectories through the state space and demonstrate, for a discretized state space, that our novel filter is optimal with respect to the Bayesian criteria (the successive filtered posteriors are exact and not an approximation with respect to Bayes rule). We provide an analysis of the space and time complexity of our algorithm and prove that it is always more efficient even when considering worst-case scenarios. Finally, we consider an Active-SLAM setting and evaluate how constraining the size of the number of memorized likelihood functions impact the decision-making process of a greedy one-step look-ahead planner.</p>
<p>The rest of the document is structured as follows: in section <xref ref-type="sec" rid="S2">2</xref>, we overview the Bayes filter recursion and apply it to a simple 1D search scenario for both a discrete and Gaussian parametrization of the beliefs. We demonstrate that discrete parametrization gives the correct filtered beliefs but at a very high cost and that the EKF-SLAM fails to provide the adequate solution. In section <xref ref-type="sec" rid="S3">3</xref>, we introduce the Measurement Likelihood Memory Filter and overview its parametrization. In section <xref ref-type="sec" rid="S4">4</xref>, we derive the computational time and space complexity of the MLMF. Section <xref ref-type="sec" rid="S5">5</xref> describes additional assumptions made with respect to the MLMF to make it scalable (scalable-MLMF). In section <xref ref-type="sec" rid="S6">6</xref>, we numerically evaluate the time complexity of the scalable-MLMF and check the assumption we made for it to be scalable. We investigate the filter&#x02019;s sensitivity with respect to its parameters in an Active-SLAM setting.</p>
</sec>
</sec>
<sec id="S2">
<label>2</label> <title>Bayesian State Space Estimation with Negative Information</title>
<p>Bayesian State Space Estimators (BSSE) recursively incorporate actions <italic>u<sub>t</sub></italic> and observations <italic>y<sub>t</sub></italic> into a prior joint distribution <italic>P</italic>(<italic>A<sub>t</sub></italic>, <italic>O</italic>&#x0007C;<italic>Y</italic> <sub>0:</sub><bold><sub>t&#x02212;1</sub></bold>, <italic>u</italic><sub>1:</sub><bold><sub>t&#x02212;1</sub></bold>) to obtain a posterior joint distribution <italic>P</italic>(<italic>A<sub>t</sub></italic>, <italic>O</italic>&#x0007C;<italic>Y</italic> <sub>0:</sub><bold><sub>t</sub></bold>, <italic>u</italic><sub>1:</sub><bold><sub>t</sub></bold>) through the application of Bayes rules. The agent&#x02019;s random variable, <italic>A</italic>, is associated with the uncertainty of its location in the world, the same holds for the object(s&#x02019;) random variable(s), <italic>O</italic>. This is also known as the SLAM filtering problem. In Figure <xref ref-type="fig" rid="F2">2</xref>, we depict the general Bayesian Network (BN) of a BSSE, which conveys the dependence and independence relation between the random variables. The conditional dependence <inline-formula><mml:math id="M1"><mml:mi>A</mml:mi><mml:mo class="MathClass-punc">&#x02565;</mml:mo><mml:mi>O</mml:mi><mml:mo class="MathClass-rel">&#x0007C;</mml:mo><mml:mi>Y</mml:mi></mml:math></inline-formula> is necessary for incorporating information into the joint distribution and decreasing the uncertainty. The strength of the conditional dependence is governed by the size of the change the measurement likelihood <italic>P</italic>(<italic>Y<sub>t</sub></italic>&#x0007C;<italic>A<sub>t</sub></italic>, <italic>O</italic>) function has on the joint distribution. If the measurement likelihood does not affect the joint distribution, then the agent and object random variables will be independent, <italic>A</italic> &#x02568; <italic>O</italic>. If they are independent, then no information acquired by the agent can be used to infer changes in the object estimates.</p>
<fig position="float" id="F2">
<label>Figure 2</label>
<caption><p>Directed graphical model of dependencies between the agent (A) and object (O)&#x02019;s estimated location. Each object, <italic>O</italic><sup>(</sup><italic><sup>i</sup></italic><sup>)</sup> is associated with one sensing random variable <italic>Y</italic><sup>(</sup><italic><sup>i</sup></italic><sup>)</sup>. The overall sensing random variable is <italic>Y</italic> &#x02009;&#x0003D;&#x02009;[<italic>Y</italic><sup>(1)</sup>,&#x02026;,<italic>Y</italic><sup>(</sup><italic><sup>M&#x02212;</sup></italic><sup>1)</sup>]<sup>T</sup>, where <italic>M</italic> is the total number of agent and object random variables in the filter. For readability, we have left out the time index <italic>t</italic> from <italic>A</italic> and <italic>Y</italic>. Since the objects are static, they have no temporal process associated with them thus they will never have a time subscript. The two models necessary for filtering are the motion model <italic>P</italic>(<italic>A<sub>t</sub></italic>&#x0007C;<italic>A<sub>t&#x02212;</sub></italic><sub>1</sub>, <italic>u<sub>t</sub></italic>) (red) and measurement model <italic>P</italic>(<italic>Y<sub>t</sub></italic>&#x0007C;<italic>A<sub>t</sub></italic>, <italic>O</italic>) (blue).</p></caption>
<graphic xlink:href="frobt-04-00040-g002.tif"/>
</fig>
<p>We next demonstrate the effect negative information has on the update of the joint distribution for two different parameterizations, namely, for EKF and Histogram.</p>
<sec id="S2-3">
<label>2.1</label> <title>EKF-SLAM</title>
<p>In EKF-SLAM, the joint density <italic>p</italic>(<italic>A<sub>t</sub></italic>, <italic>O</italic>&#x0007C;<italic>Y</italic> <sub>0:</sub><italic><sub>t</sub></italic>, <italic>u</italic><sub>1:</sub><italic><sub>t</sub></italic>; <bold><italic>&#x003BC;</italic></bold><italic><sub>t</sub></italic>, <bold>&#x003A3;</bold><italic><sub>t</sub></italic>) is a multivariate Gaussian function parametrized by a mean <bold><italic>&#x003BC;</italic></bold><italic><sub>t</sub></italic> and covariance <bold>&#x003A3;</bold><italic><sub>t</sub></italic>. For simplicity, we considering a 1D search of one object. In this setting, the mean of the agent <inline-formula><mml:math id="M2"><mml:msub><mml:mrow><mml:mi>&#x003BC;</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>a</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo class="MathClass-rel">&#x02208;</mml:mo><mml:mi mathvariant="double-struck">R</mml:mi></mml:math></inline-formula> and object are <italic>&#x003BC;<sub>o</sub></italic>&#x02009;&#x02208;&#x02009;&#x0211D; are 1D Cartesian positions
<disp-formula id="E1"><label>(1)</label><mml:math id="M3"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">&#x003BC;</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msup><mml:mrow><mml:mo stretchy='false'>[</mml:mo><mml:msub><mml:mi>&#x003BC;</mml:mi><mml:mrow><mml:msub><mml:mi>a</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>&#x003BC;</mml:mi><mml:mi>o</mml:mi></mml:msub><mml:mo stretchy='false'>]</mml:mo></mml:mrow><mml:mtext>T</mml:mtext></mml:msup><mml:mo>&#x02208;</mml:mo><mml:msup><mml:mi>&#x0211D;</mml:mi><mml:mrow><mml:mo stretchy='false'>(</mml:mo><mml:mn>2</mml:mn><mml:mo>&#x000D7;</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy='false'>)</mml:mo></mml:mrow></mml:msup><mml:mtext>&#x02003;</mml:mtext><mml:msub><mml:mn>&#x003A3;</mml:mn><mml:mi>t</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:mtable><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mn>&#x003A3;</mml:mn><mml:mi>a</mml:mi></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:msub><mml:mn>&#x003A3;</mml:mn><mml:mrow><mml:mi>a</mml:mi><mml:mi>o</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mn>&#x003A3;</mml:mn><mml:mrow><mml:mi>o</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:msub><mml:mn>&#x003A3;</mml:mn><mml:mi>o</mml:mi></mml:msub></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow><mml:mo>]</mml:mo></mml:mrow><mml:mo>&#x02208;</mml:mo><mml:msup><mml:mi>&#x0211D;</mml:mi><mml:mrow><mml:mo stretchy='false'>(</mml:mo><mml:mn>2</mml:mn><mml:mo>&#x000D7;</mml:mo><mml:mn>2</mml:mn><mml:mo stretchy='false'>)</mml:mo></mml:mrow></mml:msup><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula></p>
<p>The measurement <italic>Y<sub>t</sub></italic>&#x02009;&#x02208;&#x02009;[0, 1] of the object by the agent is simulated by a radial basis function as is the measurement function (equation (<xref ref-type="disp-formula" rid="E2">2</xref>))
<disp-formula id="E2"><label>(2)</label><mml:math id="M4"><mml:mrow><mml:msub><mml:mover accent='true'><mml:mi>Y</mml:mi><mml:mo>&#x0005E;</mml:mo></mml:mover><mml:mi>t</mml:mi></mml:msub></mml:mrow><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mi mathvariant="normal">exp</mml:mi><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:mfrac><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mn>2</mml:mn><mml:msup><mml:mrow><mml:mi>&#x003C3;</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mfrac><mml:mo class="MathClass-rel">&#x0007C;&#x0007C;</mml:mo><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:mi>O</mml:mi><mml:msup><mml:mrow><mml:mo class="MathClass-rel">&#x0007C;&#x0007C;</mml:mo></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mfenced><mml:mspace width="0.3em" class="thinspace"/><mml:mspace width="0.3em" class="thinspace"/><mml:mo class="MathClass-punc">.</mml:mo></mml:math></disp-formula></p>
<p>By setting the variance <italic>&#x003C3;</italic><sup>2</sup> to be small, we can approximate a smooth binary sensor. EKF-SLAM assumes that the measurement is corrupted by Gaussian noise, &#x003F5; &#x0223C;&#x1D4A9;(0, <italic>R</italic>), giving the likelihood function:
<disp-formula id="E3"><label>(3)</label><mml:math id="M5"><mml:mi>p</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mn>&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mi>O</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mfrac><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mn>&#x0007C;</mml:mn><mml:mtext>2</mml:mtext><mml:mi>&#x003C0;</mml:mi><mml:mi>R</mml:mi><mml:msup><mml:mrow><mml:mn>&#x0007C;</mml:mn></mml:mrow><mml:mrow><mml:mfrac><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:mfrac></mml:mrow></mml:msup></mml:mrow></mml:mfrac><mml:mtext>&#x02009;</mml:mtext><mml:mi mathvariant="normal">exp</mml:mi><mml:mtext>&#x02009;</mml:mtext><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:mfrac><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:mfrac><mml:mstyle mathsize="1.19em"><mml:mfenced separators="" open="(" close=""><mml:mrow><mml:mtext>&#x02009;</mml:mtext></mml:mrow></mml:mfenced></mml:mstyle><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:mrow><mml:msub><mml:mover accent='true'><mml:mi>Y</mml:mi><mml:mo>&#x0005E;</mml:mo></mml:mover><mml:mi>t</mml:mi></mml:msub></mml:mrow><mml:msup><mml:mrow><mml:mstyle mathsize="1.19em"><mml:mfenced separators="" open=")" close=""><mml:mrow><mml:mtext>&#x02009;</mml:mtext></mml:mrow></mml:mfenced></mml:mstyle></mml:mrow><mml:mrow><mml:mi mathvariant="normal">T</mml:mi></mml:mrow></mml:msup><mml:msup><mml:mrow><mml:mi>R</mml:mi></mml:mrow><mml:mrow><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup><mml:mstyle mathsize="1.19em"><mml:mfenced separators="" open="(" close=""><mml:mrow><mml:mtext>&#x02009;</mml:mtext></mml:mrow></mml:mfenced></mml:mstyle><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:mrow><mml:msub><mml:mover accent='true'><mml:mi>Y</mml:mi><mml:mo>&#x0005E;</mml:mo></mml:mover><mml:mi>t</mml:mi></mml:msub></mml:mrow><mml:mstyle mathsize="1.19em"><mml:mfenced separators="" open=")" close=""><mml:mrow><mml:mtext>&#x02009;</mml:mtext></mml:mrow></mml:mfenced></mml:mstyle></mml:mrow></mml:mfenced></mml:math></disp-formula>
where the covariance, <italic>R</italic>, encompasses the uncertainty in the measurement. The elements of the covariance matrix capture the measurement error between the true <italic>Y</italic> and expected measurement <inline-formula><mml:math id="M6"><mml:mover accent='true'><mml:mi>Y</mml:mi><mml:mo>&#x0005E;</mml:mo></mml:mover></mml:math></inline-formula>. As the joint distribution is parameterized by a single Multivariate Gaussian, a closed form solution to the filtering equations exists, called the Kalman Filter (Durrant-Whyte and Bailey, <xref ref-type="bibr" rid="B6">2006</xref>).</p>
<p>In the search task, the agent can only perceive the object when in direct contact. This results in the observation <italic>Y<sub>t</sub></italic> being mostly always equal to <inline-formula><mml:math id="M7"><mml:mover accent='true'><mml:mi>Y</mml:mi><mml:mo>&#x0005E;</mml:mo></mml:mover></mml:math></inline-formula>. As a result, the agent&#x02019;s uncertainty of his location and of the object only changes once the object is found, which is unhelpful during a search. This is because the magnitude of the error between the true and expected measurement <inline-formula><mml:math id="M8"><mml:mi>e</mml:mi><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:mrow><mml:msub><mml:mover accent='true'><mml:mi>Y</mml:mi><mml:mo>&#x0005E;</mml:mo></mml:mover><mml:mi>t</mml:mi></mml:msub></mml:mrow></mml:mrow></mml:mfenced></mml:math></inline-formula> directly affects the joint distribution and is zero during most of the search. Figure <xref ref-type="fig" rid="F3">3</xref> illustrates this for the 1D search. The multivariate Gaussian parameterization of the joint and likelihood function only guarantees a dependency between the agent and object random variables when there is a positive sighting of the landmarks. This can be seen in Figure <xref ref-type="fig" rid="F3">3</xref>B, where the component &#x003A3;<italic><sub>ao</sub></italic> is 0 most of the time implying <italic>A<sub>t</sub></italic> &#x02568; <italic>O&#x0007C;Y</italic>, which is undesirable. The EKF parameterization in this form is ill suited for search tasks in which negative information is predominant.</p>
<fig position="float" id="F3">
<label>Figure 3</label>
<caption><p><bold>(A)</bold> EKF-SLAM time slice evolutions of the agent and object location belief for a 1D search. The temporal ordering is given by the numbers in the top right corner of each plot. The blue pdf represents the agent&#x02019;s believed location, and the circle is the agent&#x02019;s true location. The same holds for the red distribution that represents the agent&#x02019;s belief of the location of an object. <bold>(B)</bold> Evolution of the covariance components of &#x003A3; over time and true <italic>Y<sub>t</sub></italic> and expected measurements, <inline-formula><mml:math id="M9"><mml:mrow><mml:msub><mml:mover accent='true'><mml:mi>Y</mml:mi><mml:mo>&#x0005E;</mml:mo></mml:mover><mml:mi>t</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>. &#x003A3;<italic><sub>a</sub></italic> and &#x003A3;<italic><sub>o</sub></italic> are the variances of the agent and object positions, and &#x003A3;<italic><sub>ao</sub></italic> is the cross-covariance term.</p></caption>
<graphic xlink:href="frobt-04-00040-g003.tif"/>
</fig>
</sec>
<sec id="S2-4">
<label>2.2</label> <title>Histogram-SLAM</title>
<p>In histogram-SLAM, the joint distribution is discretized, and each bin has a parameter, <italic>P</italic>(<italic>A<sub>t</sub></italic>&#x02009;&#x0003D;&#x02009;<italic>i</italic>, <italic>O</italic>&#x02009;&#x0003D;&#x02009;<italic>j</italic>&#x0007C;<italic>Y</italic> <sub>0:</sub><italic><sub>t</sub></italic>, <italic>u</italic><sub>1:</sub><italic><sub>t</sub></italic>; <bold><italic>&#x003B8;</italic></bold>)&#x02009;&#x0003D;&#x02009;<bold><italic>&#x003B8;</italic></bold><sup>(<italic>ij</italic>)</sup> and all sum to one &#x003A3;<italic><sub>ij</sub></italic><bold><italic>&#x003B8;</italic></bold><sup>(<italic>ij</italic>)</sup>&#x02009;&#x0003D;&#x02009;1. For shorthand notation, we will write <italic>P</italic>(<italic>A<sub>t</sub></italic>, <italic>O</italic>&#x0007C;<italic>Y</italic> <sub>0:</sub><italic><sub>t</sub></italic>, <italic>u</italic><sub>1:</sub><italic><sub>t</sub></italic>) instead of <italic>P</italic>(<italic>A<sub>t</sub></italic>&#x02009;&#x0003D;&#x02009;<italic>i</italic>, <italic>O</italic>&#x02009;&#x0003D;&#x02009;<italic>j</italic>&#x0007C;<italic>Y</italic> <sub>0:</sub><italic><sub>t</sub></italic>, <italic>u</italic><sub>1:</sub><italic><sub>t</sub></italic>; <bold><italic>&#x003B8;</italic></bold>). The probability distribution of the agent&#x02019;s position is given by marginalizing the object random variable:
<disp-formula id="E4"><label>(4)</label><mml:math id="M10"><mml:mrow><mml:mi>P</mml:mi><mml:mo stretchy='false'>(</mml:mo><mml:msub><mml:mi>A</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:mn>&#x0007C;</mml:mn><mml:msub><mml:mi>Y</mml:mi><mml:mrow><mml:mn>0</mml:mn><mml:mo>:</mml:mo><mml:mi>t</mml:mi><mml:mo>,</mml:mo></mml:mrow></mml:msub><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>t</mml:mi><mml:mo>;</mml:mo></mml:mrow></mml:msub><mml:msub><mml:mi mathvariant="bold-italic">&#x003B8;</mml:mi><mml:mi>a</mml:mi></mml:msub><mml:mo stretchy='false'>)</mml:mo><mml:mo>=</mml:mo><mml:mstyle displaystyle='true'><mml:munderover><mml:mo>&#x02211;</mml:mo><mml:mrow><mml:mi>j</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mn>&#x0007C;</mml:mn><mml:mi>o</mml:mi><mml:mn>&#x0007C;</mml:mn></mml:mrow></mml:munderover><mml:mrow><mml:mi>P</mml:mi><mml:mo stretchy='false'>(</mml:mo><mml:msub><mml:mi>A</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>,</mml:mo></mml:mrow></mml:msub><mml:mi>O</mml:mi><mml:mo>=</mml:mo><mml:mi>j</mml:mi><mml:mn>&#x0007C;</mml:mn><mml:msub><mml:mi>Y</mml:mi><mml:mrow><mml:mn>0</mml:mn><mml:mo>:</mml:mo><mml:mi>t</mml:mi><mml:mo>,</mml:mo></mml:mrow></mml:msub><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>t</mml:mi><mml:mo>;</mml:mo><mml:mtext>&#x02009;</mml:mtext></mml:mrow></mml:msub><mml:mi mathvariant="bold-italic">&#x003B8;</mml:mi></mml:mrow></mml:mstyle><mml:mo stretchy='false'>)</mml:mo><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula></p>
<p>The converse holds true for the object&#x02019;s marginal, that is the summation would be over the agent&#x02019;s variable. We consider a similar 1D search task as the one used for EKF-SLAM. The world of the agent and object is discretized to 10 states, producing a joint distribution with 100 parameters, see Figure <xref ref-type="fig" rid="F4">4</xref> (<italic>Top</italic>) for an illustration of the joint distribution. An observation occurs, as before, only if the agent enters in contact with the object, making the measurement and expected measurement binary <italic>Y<sub>t</sub></italic>&#x02009;&#x02208;&#x02009;{0, 1}. Equation (<xref ref-type="disp-formula" rid="E5">5</xref>) is the form of the likelihood function when the object is sensed by the agent
<disp-formula id="E5"><label>(5)</label><mml:math id="M11"><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mtext mathvariant="bold">1</mml:mtext><mml:mo class="MathClass-rel">&#x0007C;</mml:mo><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mi>O</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="{" close=""><mml:mrow><mml:mtable equalrows="false" columnlines="none" equalcolumns="false" class="array"><mml:mtr><mml:mtd class="array" columnalign="left"><mml:mn>1</mml:mn><mml:mspace width="1em" class="quad"/></mml:mtd><mml:mtd class="array" columnalign="left"><mml:mspace width="1em" class="quad"/><mml:mtext>if&#x02009;</mml:mtext><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mi>O</mml:mi></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="array" columnalign="left"><mml:mn>0</mml:mn><mml:mspace width="1em" class="quad"/></mml:mtd><mml:mtd class="array" columnalign="left"><mml:mspace width="1em" class="quad"/><mml:mtext>if&#x02009;</mml:mtext><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-rel">&#x02260;</mml:mo><mml:mi>O</mml:mi><mml:mo class="MathClass-punc">.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mfenced></mml:math></disp-formula></p>
<fig position="float" id="F4">
<label>Figure 4</label>
<caption><p><bold>Top</bold>: <italic>Left:</italic> Initialization of the agent and object joint distribution. <italic>Right:</italic> Marginals of the agent and object parameterized by <bold><italic>&#x003B8;</italic></bold><italic><sub>a</sub></italic> and <bold><italic>&#x003B8;</italic></bold><italic><sub>o</sub></italic>, giving the probability of their location. The marginal of each random variable is obtained from equation (<xref ref-type="disp-formula" rid="E4">4</xref>). The probability of the agent and object being in state <italic>s</italic>&#x02009;&#x0003D;&#x02009;6 is given by summing the blue and red highlighted parameters in the joint distribution. <bold>Bottom</bold>: 1D world Likelihood <italic>P</italic>(<italic>Y<sub>t</sub></italic>&#x0007C;<italic>A<sub>t</sub></italic>, <italic>O</italic>), the white regions <italic>A</italic>&#x02009;&#x02229;&#x02009;<italic>O</italic> will leave the joint distribution unchanged while the black regions will evaluate the joint distribution to zero. <italic>Left:</italic> No contact detected with the object, the current measurement is <italic>Y<sub>t</sub></italic>&#x02009;&#x0003D;&#x02009;0, both the agent and object cannot be in the same state. <italic>Right:</italic> The agent entered into contact with the object and received a haptic feedback <italic>Y<sub>t</sub></italic>&#x02009;&#x0003D;&#x02009;1. The agent receives only two measurement possibilities, contact or no contact.</p></caption>
<graphic xlink:href="frobt-04-00040-g004.tif"/>
</fig>
<p>Figure <xref ref-type="fig" rid="F4">4</xref> (<italic>Bottom left</italic>) illustrates the likelihood function in the case of no contact <italic>Y<sub>t</sub></italic>&#x02009;&#x0003D;&#x02009;0. When there is no contact with the object all the parameters of the joint distribution in the black regions become zero, which we refer to as the <bold>dependent states</bold> <italic>A</italic>&#x02009;&#x02229;&#x02009;<italic>O</italic> of the joint distribution. The white states are the <bold>independent states</bold> <italic>A</italic>&#x02296;<italic>O</italic>, they are not changed by the likelihood function. The values of the joint distribution in the independent states will be unchanged by the likelihood function: <italic>P</italic><sub>&#x02296;</sub>(<italic>A<sub>t</sub></italic>, <italic>O</italic>&#x0007C;<bold>Y</bold><sub>0:</sub><bold><sub>t</sub></bold>, <italic>u</italic><sub>1:</sub><italic><sub>t</sub></italic>)&#x02009;&#x0221D;&#x02009;<italic>P</italic><sub>&#x02296;</sub>(<italic>A<sub>t</sub></italic>, <italic>O</italic>&#x0007C;<bold>Y<sub>0</sub></bold><sub>:</sub><bold><sub>t&#x02212;</sub></bold><sub><bold>1</bold></sub>, <italic>u</italic><sub>1:</sub><italic><sub>t</sub></italic>).</p>
<p>When the object is detected (<italic>Bottom right</italic>) the likelihood constrains all non-zero values of the joint distribution to be in states <italic>i</italic>&#x02009;&#x0003D;&#x02009;<italic>j</italic>, which in the case of a 2-dimensional joint distribution is a line. The <bold>sparsity</bold> of the likelihood function will be key to the development of the MLMF filter.</p>
<boxed-text position="float">
<p><bold>Histogram Bayesian recursion</bold></p>
<list list-type="simple">
<list-item><p><bold>Intialization</bold>
<disp-formula id="E6"><label>(6)</label><mml:math id="M12"><mml:mrow><mml:mi>P</mml:mi><mml:mo stretchy='false'>(</mml:mo><mml:msub><mml:mi>A</mml:mi><mml:mn>0</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x02009;</mml:mtext><mml:mi>O</mml:mi><mml:mo>;</mml:mo><mml:mtext>&#x02009;&#x02009;</mml:mtext><mml:mi mathvariant="bold-italic">&#x003B8;</mml:mi><mml:mo stretchy='false'>)</mml:mo><mml:mo>=</mml:mo><mml:mi>P</mml:mi><mml:mo stretchy='false'>(</mml:mo><mml:msub><mml:mi>A</mml:mi><mml:mn>0</mml:mn></mml:msub><mml:mo>;</mml:mo><mml:mtext>&#x02009;</mml:mtext><mml:msub><mml:mi mathvariant="bold-italic">&#x003B8;</mml:mi><mml:mi>a</mml:mi></mml:msub><mml:mo stretchy='false'>)</mml:mo><mml:mtext>&#x02009;</mml:mtext><mml:mi>P</mml:mi><mml:mo stretchy='false'>(</mml:mo><mml:mi>O</mml:mi><mml:mo>;</mml:mo><mml:mtext>&#x02009;</mml:mtext><mml:msub><mml:mi mathvariant="bold-italic">&#x003B8;</mml:mi><mml:mi>o</mml:mi></mml:msub><mml:mo stretchy='false'>)</mml:mo><mml:mo>=</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">&#x003B8;</mml:mi><mml:mi>a</mml:mi></mml:msub><mml:mo>&#x000D7;</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">&#x003B8;</mml:mi><mml:mi>o</mml:mi></mml:msub></mml:mrow></mml:math></disp-formula></p></list-item>
<list-item><p><bold>Motion</bold>
<disp-formula id="E7"><label>(7)</label><mml:math id="M13"><mml:mtext mathvariant="italic">P</mml:mtext><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mtext mathvariant="italic">A</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">t</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mtext mathvariant="italic">O</mml:mtext><mml:mo class="MathClass-rel">&#x0007C;</mml:mo><mml:msub><mml:mrow><mml:mtext mathvariant="italic">Y</mml:mtext></mml:mrow><mml:mrow><mml:mn>0:</mml:mn><mml:mi mathvariant="italic">t</mml:mi><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:mtext>1</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mtext mathvariant="italic">u</mml:mtext></mml:mrow><mml:mrow><mml:mtext>1:</mml:mtext><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mrow><mml:mstyle displaystyle='true'><mml:munder><mml:mo>&#x02211;</mml:mo><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>&#x02212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:munder></mml:mstyle></mml:mrow><mml:mtext mathvariant="italic">P</mml:mtext><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mtext mathvariant="italic">A</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">t</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-rel">&#x0007C;</mml:mo><mml:msub><mml:mrow><mml:mtext mathvariant="italic">A</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">t</mml:mtext><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:mtext>1</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mtext mathvariant="italic">u</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">t</mml:mtext></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mtext>&#x02009;</mml:mtext><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mtext mathvariant="italic">A</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">t</mml:mtext><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:mtext>1</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mtext mathvariant="italic">O</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">t</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-rel">&#x0007C;</mml:mo><mml:msub><mml:mrow><mml:mtext mathvariant="italic">Y</mml:mtext></mml:mrow><mml:mrow><mml:mn>0:</mml:mn><mml:mi>t</mml:mi><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:mtext>1</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mtext mathvariant="italic">u</mml:mtext></mml:mrow><mml:mrow><mml:mtext>1:</mml:mtext><mml:mi>t</mml:mi><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:mtext>1</mml:mtext></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:math></disp-formula></p></list-item>
<list-item><p><bold>Measurement</bold>
<disp-formula id="E8"><label>(8)</label><mml:math id="M14"><mml:mtext mathvariant="italic">P</mml:mtext><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mtext mathvariant="italic">A</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">t</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mtext mathvariant="italic">O</mml:mtext><mml:mo class="MathClass-rel">&#x0007C;</mml:mo><mml:msub><mml:mrow><mml:mtext mathvariant="italic">Y</mml:mtext></mml:mrow><mml:mrow><mml:mn>0:</mml:mn><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mtext mathvariant="italic">u</mml:mtext></mml:mrow><mml:mrow><mml:mtext>1:</mml:mtext><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mfrac><mml:mrow><mml:mtext mathvariant="italic">P</mml:mtext><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mtext mathvariant="italic">Y</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">t</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-rel">&#x0007C;</mml:mo><mml:msub><mml:mrow><mml:mtext mathvariant="italic">A</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">t</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mtext mathvariant="italic">O</mml:mtext></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mtext>&#x02009;</mml:mtext><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mtext mathvariant="italic">A</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">t</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mtext mathvariant="italic">O</mml:mtext><mml:mo class="MathClass-rel">&#x0007C;</mml:mo><mml:msub><mml:mrow><mml:mtext mathvariant="italic">Y</mml:mtext></mml:mrow><mml:mrow><mml:mn>0:</mml:mn><mml:mi>t</mml:mi><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:mtext>1</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mtext mathvariant="italic">u</mml:mtext></mml:mrow><mml:mrow><mml:mtext>1:</mml:mtext><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">P</mml:mtext><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mtext mathvariant="italic">Y</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">t</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-rel">&#x0007C;</mml:mo><mml:msub><mml:mrow><mml:mtext mathvariant="italic">Y</mml:mtext></mml:mrow><mml:mrow><mml:mn>0:</mml:mn><mml:mi>t</mml:mi><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:mtext>1</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mtext mathvariant="italic">u</mml:mtext></mml:mrow><mml:mrow><mml:mtext>1:</mml:mtext><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:mfrac></mml:math></disp-formula></p></list-item>
</list>
</boxed-text>
<p>Figure <xref ref-type="fig" rid="F5">5</xref> illustrates the evolution of the joint distribution in a 1D example by applying the filtering Bayesian recursion equations (<xref ref-type="disp-formula" rid="E7">7</xref>) and (<xref ref-type="disp-formula" rid="E8">8</xref>). The agent and object&#x02019;s true positions (unobservable) are in state 6 and 1. The agent moves three steps toward state 10. At each time step, as the agent fails to sense the object, the likelihood function <italic>P</italic>(<italic>Y<sub>t</sub></italic>&#x02009;&#x0003D;&#x02009;0&#x0007C;<italic>A<sub>t</sub></italic>, <italic>O</italic>) (Figure <xref ref-type="fig" rid="F4">4</xref>, <italic>Bottom left</italic>) is applied. As the agent moves toward the right, the motion model shifts the joint distribution toward state 10 along the agent&#x02019;s dimension, <italic>i</italic> (note that state 1 and 10 are wrapped). As the agent moves to the right more, joint distribution parameters become zero. The re-normalization by the evidence (denominator of equation (<xref ref-type="disp-formula" rid="E8">8</xref>)), which increases the value of the remaining parameters, is equal to the sum of the probability mass, which was set to zero by the likelihood function. Thus, the values of the parameters of the joint distribution that fall on the pink line in Figure <xref ref-type="fig" rid="F5">5</xref> (green line also, but only for first time slice) become zero, and their values are redistributed to the remaining non-zero parameters.</p>
<fig position="float" id="F5">
<label>Figure 5</label>
<caption><p>Histogram-SLAM, 4 time steps. <bold>(1)</bold> Application of likelihood <italic>P</italic>(<italic>Y</italic> <sub>0</sub>&#x02009;&#x0003D;&#x02009;0&#x0007C;<italic>A</italic><sub>0</sub>, <italic>O</italic>) and the agent remains stationary, all states along the green line become zero. <bold>(2)</bold> The agent moves to the right <italic>u</italic><sub>1</sub>&#x02009;&#x0003D;&#x02009;1, the motion <italic>P</italic>(<italic>A</italic><sub>1</sub>&#x0007C;<italic>A</italic><sub>0</sub>, <italic>u</italic><sub>1</sub>), and likelihood models are applied consecutively. The right motion results in a shift (black arrow on the left) in the joint probability distribution toward the state <italic>i</italic>&#x02009;&#x0003D;&#x02009;10. All parameters on the pink line are zero. <bold>(3)</bold> Same as two. At each time step, a new likelihood function (pink line) is applied to the joint distribution.</p></caption>
<graphic xlink:href="frobt-04-00040-g005.tif"/>
</fig>
<p>The <bold>inconvenience</bold> with histogram-SLAM is that its time and space complexity is exponential as the joint distribution is discretized and parametrized by <bold><italic>&#x003B8;</italic></bold><sup>(<italic>ij</italic>)</sup>. Instead, we propose a new filter, MLMF, which we formally introduce in the next section. This filter achieves the same result as the Histogram filter but without having to parameterize the values of the joint distribution, thus avoiding the exponential growth cost.</p>
</sec>
</sec>
<sec id="S3">
<label>3</label> <title>Measurement Likelihood Memory Filter</title>
<p>MLMF keeps a <bold>function parameterization</bold> of the joint distribution instead of a <bold>value parameterization</bold> as it is the case for histogram-SLAM. At initialization the joint distribution is represented by the product of marginals, equation (<xref ref-type="disp-formula" rid="E9">9</xref>), which would result in the joint distribution illustrated in Figure <xref ref-type="fig" rid="F4">4</xref>, if it were to be evaluated at all states (<italic>i</italic>, <italic>j</italic>) as it is done for histogram-SLAM. MLMF will only evaluate this product, when necessary, at specific states. At each time step, the motion and measurement update are applied (equations (<xref ref-type="disp-formula" rid="E10">10</xref>) and (<xref ref-type="disp-formula" rid="E11">11</xref>)). An important distinction is that these updates are performed on the <bold>un-normalized</bold> joint distribution <italic>P</italic>(<italic>A<sub>t</sub></italic>, <italic>O</italic>,<italic>Y</italic> <sub>0:</sub><italic><sub>t</sub>&#x0007C;u</italic><sub>1:</sub><italic><sub>t</sub></italic>), which is not the case in histogram-SLAM where the updates are done on the conditional <italic>P</italic>(<italic>A<sub>t</sub></italic>, <italic>O&#x0007C;Y</italic> <sub>0:</sub><italic><sub>t</sub>u</italic><sub>1:</sub><italic><sub>t</sub></italic>). After applying multiple motion and measurement updates the resulting joint distribution is given by equation (<xref ref-type="disp-formula" rid="E12">12</xref>), see Appendix <xref ref-type="sec" rid="S14">C</xref> for a step-by-step derivation.</p>
<boxed-text position="float">
<p><bold>MLMF Bayesian filter</bold></p>
<list list-type="simple">
<list-item><p><bold>Joint marginals (initial)</bold>
<disp-formula id="E9"><label>(9)</label><mml:math id="M15"><mml:mrow><mml:mi>P</mml:mi><mml:mo stretchy='false'>(</mml:mo><mml:msub><mml:mi>A</mml:mi><mml:mn>0</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mi>O</mml:mi><mml:mo stretchy='false'>)</mml:mo><mml:mo>=</mml:mo><mml:mi>P</mml:mi><mml:mo stretchy='false'>(</mml:mo><mml:msub><mml:mi>A</mml:mi><mml:mn>0</mml:mn></mml:msub><mml:mo>;</mml:mo><mml:msubsup><mml:mi mathvariant="bold-italic" mathcolor="blue">&#x003B8;</mml:mi><mml:mi mathcolor="blue">a</mml:mi><mml:mo mathcolor="blue">*</mml:mo></mml:msubsup><mml:mo stretchy='false'>)</mml:mo><mml:mtext>&#x02009;</mml:mtext><mml:mi>P</mml:mi><mml:mo stretchy='false'>(</mml:mo><mml:mi>O</mml:mi><mml:mo>;</mml:mo><mml:msubsup><mml:mi mathvariant="bold-italic" mathcolor="red">&#x003B8;</mml:mi><mml:mi mathcolor="red">o</mml:mi><mml:mo mathcolor="red">*</mml:mo></mml:msubsup><mml:mo stretchy='false'>)</mml:mo></mml:mrow></mml:math></disp-formula></p></list-item>
<list-item><p><bold>Motion</bold>
<disp-formula id="E10"><label>(10)</label><mml:math id="M16"><mml:mtext mathvariant="italic">P</mml:mtext><mml:mspace width="0.3em" class="thinspace"/><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:msub><mml:mrow><mml:mtext mathvariant="italic">A</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">t</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mtext mathvariant="italic">O</mml:mtext><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mtext mathvariant="italic">Y</mml:mtext></mml:mrow><mml:mrow><mml:mn>0:</mml:mn><mml:mi>t</mml:mi><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:mtext>1</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-rel">&#x0007C;</mml:mo><mml:msub><mml:mrow><mml:mtext mathvariant="italic">u</mml:mtext></mml:mrow><mml:mrow><mml:mtext>1:</mml:mtext><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mfenced><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mrow><mml:mstyle displaystyle='true'><mml:munder><mml:mo>&#x02211;</mml:mo><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>&#x02212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:munder></mml:mstyle></mml:mrow><mml:mtext mathvariant="italic">P</mml:mtext><mml:mspace width="0.3em" class="thinspace"/><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:msub><mml:mrow><mml:mtext mathvariant="italic">A</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">t</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-rel">&#x0007C;</mml:mo><mml:msub><mml:mrow><mml:mtext mathvariant="italic">A</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">t</mml:mtext><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:mtext>1</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mtext mathvariant="italic">u</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">t</mml:mtext></mml:mrow></mml:msub></mml:mrow></mml:mfenced><mml:mtext>&#x02009;</mml:mtext><mml:mi>P</mml:mi><mml:mspace width="0.3em" class="thinspace"/><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:msub><mml:mrow><mml:mtext mathvariant="italic">A</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">t</mml:mtext><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:mtext>1</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mtext mathvariant="italic">O</mml:mtext><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mtext mathvariant="italic">Y</mml:mtext></mml:mrow><mml:mrow><mml:mn>0:</mml:mn><mml:mi>t</mml:mi><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:mtext>1</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-rel">&#x0007C;</mml:mo><mml:msub><mml:mrow><mml:mtext mathvariant="italic">u</mml:mtext></mml:mrow><mml:mrow><mml:mtext>1:</mml:mtext><mml:mi>t</mml:mi><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:mtext>1</mml:mtext></mml:mrow></mml:msub></mml:mrow></mml:mfenced></mml:math></disp-formula></p></list-item>
<list-item><p><bold>Measurement</bold>
<disp-formula id="E11"><label>(11)</label><mml:math id="M17"><mml:mtable columnalign="left" class="align"><mml:mtr><mml:mtd columnalign="right" class="align-odd"></mml:mtd><mml:mtd class="align-even"><mml:mtext mathvariant="italic">P</mml:mtext><mml:mspace width="0.3em" class="thinspace"/><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:msub><mml:mrow><mml:mtext mathvariant="italic">A</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">t</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mtext mathvariant="italic">O</mml:mtext><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mtext mathvariant="italic">Y</mml:mtext></mml:mrow><mml:mrow><mml:mn>0:</mml:mn><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-rel">&#x0007C;</mml:mo><mml:msub><mml:mrow><mml:mtext mathvariant="italic">u</mml:mtext></mml:mrow><mml:mrow><mml:mtext>1:</mml:mtext><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-punc">;</mml:mo><mml:msubsup><mml:mn mathvariant="bold-italic" mathcolor="red">&#x003B8;</mml:mn><mml:mrow><mml:mtext mathvariant="italic" mathcolor="red">o</mml:mtext></mml:mrow><mml:mrow><mml:mo class="MathClass-bin" mathcolor="red">&#x02217;</mml:mo></mml:mrow></mml:msubsup><mml:mo class="MathClass-punc">,</mml:mo></mml:mrow><mml:msubsup><mml:mn mathvariant="bold-italic" mathcolor="blue">&#x003B8;</mml:mn><mml:mrow><mml:mtext mathvariant="italic" mathcolor="blue">a</mml:mtext></mml:mrow><mml:mrow><mml:mo class="MathClass-bin" mathcolor="blue">&#x02217;</mml:mo></mml:mrow></mml:msubsup><mml:mo class="MathClass-punc">,</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mn mathvariant="bold" mathcolor="green">&#x003A8;</mml:mn></mml:mrow><mml:mrow><mml:mtext mathcolor="green">0:</mml:mtext><mml:mi mathvariant="italic" mathcolor="green">t</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mfenced><mml:mo class="MathClass-rel">&#x0003D;</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:mtext mathvariant="italic">P</mml:mtext><mml:mspace width="0.3em" class="thinspace"/><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:msub><mml:mrow><mml:mtext mathvariant="italic">Y</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">t</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-rel">&#x0007C;</mml:mo><mml:msub><mml:mrow><mml:mtext mathvariant="italic">A</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">t</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mtext mathvariant="italic">O</mml:mtext></mml:mrow></mml:mfenced><mml:mtext>&#x02009;</mml:mtext><mml:mi>P</mml:mi><mml:mspace width="0.3em" class="thinspace"/><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:mtext mathvariant="italic">O</mml:mtext><mml:mo class="MathClass-punc">;</mml:mo><mml:mn mathvariant="bold-italic" mathcolor="red">&#x003B8;</mml:mn><mml:msubsup><mml:mrow><mml:mtext>&#x02009;</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="italic" mathcolor="red">o</mml:mtext></mml:mrow><mml:mrow><mml:mo class="MathClass-bin" mathcolor="red">&#x02217;</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:mfenced><mml:mtext>&#x02009;</mml:mtext><mml:mi>P</mml:mi><mml:mspace width="0.3em" class="thinspace"/><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:msub><mml:mrow><mml:mtext mathvariant="italic">A</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">t</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-rel">&#x0007C;</mml:mo><mml:msub><mml:mrow><mml:mtext mathvariant="italic">u</mml:mtext></mml:mrow><mml:mrow><mml:mtext>1:</mml:mtext><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-punc">;</mml:mo><mml:mn mathvariant="bold-italic" mathcolor="blue">&#x003B8;</mml:mn><mml:msubsup><mml:mrow><mml:mtext>&#x02009;</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="italic" mathcolor="blue">a</mml:mtext></mml:mrow><mml:mrow><mml:mo class="MathClass-bin" mathcolor="blue">&#x02217;</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:mfenced><mml:mtext>&#x02009;</mml:mtext><mml:mi>P</mml:mi><mml:mspace width="0.3em" class="thinspace"/><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:msub><mml:mrow><mml:mtext mathvariant="italic">Y</mml:mtext></mml:mrow><mml:mrow><mml:mn>0:</mml:mn><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-rel">&#x0007C;</mml:mo><mml:msub><mml:mrow><mml:mtext mathvariant="italic">A</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">t</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mtext mathvariant="italic">O</mml:mtext><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mtext mathvariant="italic">u</mml:mtext></mml:mrow><mml:mrow><mml:mtext>1:</mml:mtext><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-punc">;</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mn mathvariant="bold" mathcolor="green">&#x003A8;</mml:mn></mml:mrow><mml:mo class="MathClass-op" mathcolor="green">&#x000AF;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mtext mathcolor="green">0:</mml:mtext><mml:mi mathcolor="green">t</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:mfenced></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
</p></list-item>
<list-item><p><bold>Joint</bold>
<disp-formula id="E12"><label>(12)</label><mml:math id="M18"><mml:mtext mathvariant="italic">P</mml:mtext><mml:mspace width="0.3em" class="thinspace"/><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:msub><mml:mrow><mml:mtext mathvariant="italic">A</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">t</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mtext mathvariant="italic">O</mml:mtext><mml:mo class="MathClass-rel">&#x0007C;</mml:mo><mml:msub><mml:mrow><mml:mtext mathvariant="italic">Y</mml:mtext></mml:mrow><mml:mrow><mml:mn>0:</mml:mn><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mtext mathvariant="italic">u</mml:mtext></mml:mrow><mml:mrow><mml:mtext>1:</mml:mtext><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-punc">;</mml:mo><mml:mn mathvariant="bold-italic" mathcolor="red">&#x003B8;</mml:mn><mml:msubsup><mml:mrow><mml:mtext>&#x02009;</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="italic" mathcolor="red">o</mml:mtext></mml:mrow><mml:mrow><mml:mo class="MathClass-bin" mathcolor="red">&#x02217;</mml:mo></mml:mrow></mml:msubsup><mml:mo class="MathClass-punc">,</mml:mo><mml:mn mathvariant="bold-italic" mathcolor="blue">&#x003B8;</mml:mn><mml:msubsup><mml:mrow><mml:mtext>&#x02009;</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="italic" mathcolor="blue">a</mml:mtext></mml:mrow><mml:mrow><mml:mo class="MathClass-bin" mathcolor="blue">&#x02217;</mml:mo></mml:mrow></mml:msubsup><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mn mathvariant="bold" mathcolor="green">&#x003A8;</mml:mn></mml:mrow><mml:mrow><mml:mtext mathcolor="green">0:t</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mn mathvariant="bold-italic" mathcolor="#1C6B91">&#x003B1;</mml:mn><mml:msub><mml:mrow><mml:mtext>&#x02009;</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="bold" mathcolor="#1C6B91">0:t</mml:mtext></mml:mrow></mml:msub></mml:mrow></mml:mfenced><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mfrac><mml:mrow><mml:mtext mathvariant="italic">P</mml:mtext><mml:mspace width="0.3em" class="thinspace"/><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:msub><mml:mrow><mml:mtext mathvariant="italic">A</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">t</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mtext mathvariant="italic">O</mml:mtext><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mtext mathvariant="italic">Y</mml:mtext></mml:mrow><mml:mrow><mml:mn>0:</mml:mn><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-rel">&#x0007C;</mml:mo><mml:msub><mml:mrow><mml:mtext mathvariant="italic">u</mml:mtext></mml:mrow><mml:mrow><mml:mtext>1:</mml:mtext><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-punc">;</mml:mo><mml:mn mathvariant="bold-italic" mathcolor="red">&#x003B8;</mml:mn><mml:msubsup><mml:mrow><mml:mtext>&#x02009;</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="italic" mathcolor="red">o</mml:mtext></mml:mrow><mml:mrow><mml:mo class="MathClass-bin" mathcolor="red">&#x02217;</mml:mo></mml:mrow></mml:msubsup><mml:mo class="MathClass-punc">,</mml:mo><mml:mn mathvariant="bold-italic" mathcolor="blue">&#x003B8;</mml:mn><mml:msubsup><mml:mrow><mml:mtext>&#x02009;</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="italic" mathcolor="blue">a</mml:mtext></mml:mrow><mml:mrow><mml:mo class="MathClass-bin" mathcolor="blue">&#x02217;</mml:mo></mml:mrow></mml:msubsup><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mn mathvariant="bold" mathcolor="green">&#x003A8;</mml:mn></mml:mrow><mml:mrow><mml:mn>0:</mml:mn><mml:mi mathcolor="green">t</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mfenced></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">P</mml:mtext><mml:mspace width="0.3em" class="thinspace"/><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:msub><mml:mrow><mml:mtext mathvariant="italic">Y</mml:mtext></mml:mrow><mml:mrow><mml:mn>0:</mml:mn><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-rel">&#x0007C;</mml:mo><mml:msub><mml:mrow><mml:mtext mathvariant="italic">u</mml:mtext></mml:mrow><mml:mrow><mml:mtext>1:</mml:mtext><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-punc">;</mml:mo><mml:mn mathvariant="bold-italic" mathcolor="#1C6B91">&#x003B1;</mml:mn><mml:msub><mml:mrow><mml:mtext>&#x02009;</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="bold" mathcolor="#1C6B91">0:t</mml:mtext></mml:mrow></mml:msub></mml:mrow></mml:mfenced></mml:mrow></mml:mfrac></mml:math></disp-formula></p></list-item>
<list-item><p><bold>Filtered marginal</bold>
<disp-formula id="E13"><label>(13)</label><mml:math id="M19"><mml:mtable columnalign="left" class="align"><mml:mtr><mml:mtd columnalign="right" class="align-odd"></mml:mtd><mml:mtd class="align-even"><mml:mtext mathvariant="italic">P</mml:mtext><mml:mspace width="0.3em" class="thinspace"/><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:msub><mml:mrow><mml:mtext mathvariant="italic">A</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">t</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-rel">&#x0007C;</mml:mo><mml:msub><mml:mrow><mml:mtext mathvariant="italic">Y</mml:mtext></mml:mrow><mml:mrow><mml:mn>0:</mml:mn><mml:mtext mathvariant="bold">t</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-punc">;</mml:mo><mml:msub><mml:mn mathvariant="bold-italic" mathcolor="blue">&#x003B8;</mml:mn><mml:mrow><mml:mtext mathvariant="italic" mathcolor="blue">a</mml:mtext></mml:mrow></mml:msub></mml:mrow></mml:mfenced><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mtext mathvariant="italic">P</mml:mtext><mml:mspace width="0.3em" class="thinspace"/><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:msub><mml:mrow><mml:mtext mathvariant="italic">A</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">t</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-rel">&#x0007C;</mml:mo><mml:msub><mml:mrow><mml:mtext mathvariant="italic">Y</mml:mtext></mml:mrow><mml:mrow><mml:mn>0:</mml:mn><mml:mtext mathvariant="bold">t-1</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-punc">;</mml:mo><mml:msub><mml:mn mathvariant="bold-italic" mathcolor="blue">&#x003B8;</mml:mn><mml:mrow><mml:mtext mathvariant="italic" mathcolor="blue">a</mml:mtext></mml:mrow></mml:msub></mml:mrow></mml:mfenced><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:msub><mml:mrow><mml:mtext mathvariant="italic">P</mml:mtext></mml:mrow><mml:mrow><mml:mo class="MathClass-bin">&#x02229;</mml:mo></mml:mrow></mml:msub><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mtext mathvariant="italic">A</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">t</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-rel">&#x0007C;</mml:mo><mml:msub><mml:mrow><mml:mtext mathvariant="italic">Y</mml:mtext></mml:mrow><mml:mrow><mml:mn>0:</mml:mn><mml:mi>t</mml:mi><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:mtext>1</mml:mtext></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:msub><mml:mrow><mml:mtext mathvariant="italic">P</mml:mtext></mml:mrow><mml:mrow><mml:mo class="MathClass-bin">&#x02229;</mml:mo></mml:mrow></mml:msub><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mtext mathvariant="italic">A</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">t</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-rel">&#x0007C;</mml:mo><mml:msub><mml:mrow><mml:mtext mathvariant="italic">Y</mml:mtext></mml:mrow><mml:mrow><mml:mn>0:</mml:mn><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:mfenced></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<disp-formula id="E14"><label>(14)</label><mml:math id="M20"><mml:mtable columnalign="left" class="align"><mml:mtr><mml:mtd columnalign="right" class="align-odd"></mml:mtd><mml:mtd class="align-even"><mml:mtext mathvariant="italic">P</mml:mtext><mml:mspace width="0.3em" class="thinspace"/><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:mtext mathvariant="italic">O</mml:mtext><mml:mo class="MathClass-rel">&#x0007C;</mml:mo><mml:msub><mml:mrow><mml:mtext mathvariant="italic">Y</mml:mtext></mml:mrow><mml:mrow><mml:mn>0:</mml:mn><mml:mtext mathvariant="bold">t</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-punc">;</mml:mo><mml:msub><mml:mn mathvariant="bold-italic" mathcolor="red">&#x003B8;</mml:mn><mml:mrow><mml:mtext mathvariant="italic" mathcolor="red">o</mml:mtext></mml:mrow></mml:msub></mml:mrow></mml:mfenced><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mtext mathvariant="italic">P</mml:mtext><mml:mspace width="0.3em" class="thinspace"/><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:mtext mathvariant="italic">O</mml:mtext><mml:mo class="MathClass-rel">&#x0007C;</mml:mo><mml:msub><mml:mrow><mml:mtext mathvariant="italic">Y</mml:mtext></mml:mrow><mml:mrow><mml:mn>0:</mml:mn><mml:mtext mathvariant="bold">t-1</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-punc">;</mml:mo><mml:msub><mml:mn mathvariant="bold-italic" mathcolor="red">&#x003B8;</mml:mn><mml:mrow><mml:mtext mathvariant="italic" mathcolor="red">o</mml:mtext></mml:mrow></mml:msub></mml:mrow></mml:mfenced><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:msub><mml:mrow><mml:mtext mathvariant="italic">P</mml:mtext></mml:mrow><mml:mrow><mml:mo class="MathClass-bin">&#x02229;</mml:mo></mml:mrow></mml:msub><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mtext mathvariant="italic">A</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">t</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-rel">&#x0007C;</mml:mo><mml:msub><mml:mrow><mml:mtext mathvariant="italic">Y</mml:mtext></mml:mrow><mml:mrow><mml:mn>0:</mml:mn><mml:mi>t</mml:mi><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:mtext>1</mml:mtext></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:msub><mml:mrow><mml:mtext mathvariant="italic">P</mml:mtext></mml:mrow><mml:mrow><mml:mo class="MathClass-bin">&#x02229;</mml:mo></mml:mrow></mml:msub><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mtext mathvariant="italic">A</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">t</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-rel">&#x0007C;</mml:mo><mml:msub><mml:mrow><mml:mtext mathvariant="italic">Y</mml:mtext></mml:mrow><mml:mrow><mml:mn>0:</mml:mn><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:mfenced></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
</p></list-item>
</list>
</boxed-text>
<p>The MLFM filter is parameterized by the agent and object <bold>joint marginals</bold> <inline-formula><mml:math id="M21"><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mn>&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mo class="MathClass-punc">:</mml:mo></mml:mrow></mml:msub><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-punc">;</mml:mo><mml:mstyle mathvariant="bold-italic"><mml:mn mathcolor="blue">&#x003B8;</mml:mn></mml:mstyle><mml:msubsup><mml:mrow><mml:mtext>&#x02009;</mml:mtext></mml:mrow><mml:mrow><mml:mi mathcolor="blue">a</mml:mi></mml:mrow><mml:mrow><mml:mo class="MathClass-bin" mathcolor="blue">&#x02217;</mml:mo></mml:mrow></mml:msubsup></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M22"><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mi>O</mml:mi><mml:mo class="MathClass-punc">;</mml:mo><mml:mstyle mathvariant="bold-italic"><mml:mn mathcolor="red">&#x003B8;</mml:mn></mml:mstyle><mml:msubsup><mml:mrow><mml:mtext>&#x02009;</mml:mtext></mml:mrow><mml:mrow><mml:mi mathcolor="red">o</mml:mi></mml:mrow><mml:mrow><mml:mo class="MathClass-bin" mathcolor="red">&#x02217;</mml:mo></mml:mrow></mml:msubsup></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:math></inline-formula>, the <bold>filtered marginals</bold> <inline-formula><mml:math id="M23"><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mn>&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-punc">;</mml:mo><mml:msub><mml:mi mathvariant="bold-italic" mathcolor="blue">&#x003B8;</mml:mi><mml:mrow><mml:mi mathcolor="blue">a</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:math></inline-formula> (<italic>u</italic><sub>1:</sub><italic><sub>t</sub></italic> not shown in the above box), <inline-formula><mml:math id="M24"><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mi>O</mml:mi><mml:mn>&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mtext mathvariant="bold">t</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-punc">;</mml:mo><mml:msub><mml:mstyle mathvariant="bold-italic"><mml:mn mathcolor="red">&#x003B8;</mml:mn></mml:mstyle><mml:mrow><mml:mi mathcolor="red">o</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:math></inline-formula>, the evidence <inline-formula><mml:math id="M25"><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mn>&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-punc">;</mml:mo><mml:msub><mml:mstyle mathvariant="bold-italic"><mml:mn mathcolor="#1C6B91">&#x003B1;</mml:mn></mml:mstyle><mml:mrow><mml:mtext mathvariant="bold" mathcolor="#1C6B91">0</mml:mtext><mml:mo class="MathClass-punc" mathcolor="#1C6B91">:</mml:mo><mml:mtext mathvariant="bold" mathcolor="#1C6B91">t</mml:mtext></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:math></inline-formula> and the history of likelihood functions, <inline-formula><mml:math id="M26"><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mn>&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mi>O</mml:mi><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-punc">;</mml:mo><mml:msub><mml:mstyle mathvariant="bold"><mml:mn mathcolor="green">&#x003A8;</mml:mn></mml:mstyle><mml:mrow><mml:mn mathvariant="bold" mathcolor="green">0:</mml:mn><mml:mtext mathvariant="bold-italic" mathcolor="green">t</mml:mtext></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:math></inline-formula>, equation (<xref ref-type="disp-formula" rid="E15">15</xref>), which is the product of all the likelihood functions since initialization and we will refer to it as the <bold>memory likelihood function</bold>:
<disp-formula id="E15"><label>(15)</label><mml:math id="M27"><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mn>&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mi>O</mml:mi><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-punc">;</mml:mo><mml:msub><mml:mstyle mathvariant="bold"><mml:mn mathcolor="green">&#x003A8;</mml:mn></mml:mstyle><mml:mrow><mml:mn mathvariant="bold" mathcolor="green">0:</mml:mn><mml:mtext mathvariant="bold-italic" mathcolor="green">t</mml:mtext></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mo class="MathClass-punc">:</mml:mo><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mrow><mml:mstyle displaystyle='true'><mml:munderover><mml:mo>&#x0220F;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>0</mml:mn></mml:mrow><mml:mi>t</mml:mi></mml:munderover></mml:mstyle></mml:mrow><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi mathcolor="green">Y</mml:mi></mml:mrow><mml:mrow><mml:mi mathcolor="green">i</mml:mi></mml:mrow></mml:msub><mml:mn>&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mi>O</mml:mi><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mo class="MathClass-bin">&#x0002B;</mml:mo><mml:mn>1</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-punc">;</mml:mo><mml:msub><mml:mrow><mml:mi mathcolor="green">l</mml:mi></mml:mrow><mml:mrow><mml:mi mathcolor="green">i</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:math></disp-formula>
<disp-formula id="E16"><label>(16)</label><mml:math id="M28"><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi mathcolor="green">Y</mml:mi></mml:mrow><mml:mrow><mml:mi mathcolor="green">i</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mn>0&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mi>O</mml:mi><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mo class="MathClass-bin">&#x0002B;</mml:mo><mml:mn>1</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-punc">;</mml:mo><mml:msub><mml:mrow><mml:mi mathcolor="green">l</mml:mi></mml:mrow><mml:mrow><mml:mi mathcolor="green">i</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mo class="MathClass-punc">:</mml:mo><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mfenced separators="" open="{" close=""><mml:mrow><mml:mtable equalrows="false" columnlines="none" equalcolumns="false" class="array"><mml:mtr><mml:mtd class="array" columnalign="left"><mml:mn>0</mml:mn><mml:mspace width="1em" class="quad"/></mml:mtd><mml:mtd class="array" columnalign="left"><mml:mspace width="1em" class="quad"/><mml:mtext>if&#x02009;</mml:mtext><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-bin">&#x0002B;</mml:mo><mml:msub><mml:mrow><mml:mi mathcolor="green">l</mml:mi></mml:mrow><mml:mrow><mml:mi mathcolor="green">i</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mi>O</mml:mi></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="array" columnalign="left"><mml:mn>1</mml:mn><mml:mspace width="1em" class="quad"/></mml:mtd><mml:mtd class="array" columnalign="left"><mml:mspace width="1em" class="quad"/><mml:mtext>else</mml:mtext></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mfenced></mml:math></disp-formula>
<disp-formula id="E17"><label>(17)</label><mml:math id="M29"><mml:msub><mml:mrow><mml:mi mathcolor="green">l</mml:mi></mml:mrow><mml:mrow><mml:mi mathcolor="green">i</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-punc">:</mml:mo><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mrow><mml:mstyle displaystyle='true'><mml:munderover><mml:mo>&#x02211;</mml:mo><mml:mrow><mml:mi>j</mml:mi><mml:mo>=</mml:mo><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>t</mml:mi></mml:munderover><mml:mrow><mml:msub><mml:mi>u</mml:mi><mml:mi>j</mml:mi></mml:msub></mml:mrow></mml:mstyle><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula></p>
<p>The memory likelihood function&#x02019;s parameters <bold>&#x003A8;<sub>0:</sub></bold><bold><italic><sub>t</sub></italic></bold>&#x02009;&#x0003D;&#x02009;{(<italic>Y<sub>i</sub></italic>,<italic>l<sub>i</sub></italic>)}<italic><sub>i</sub></italic><sub>&#x0003D;0:</sub><italic><sub>t</sub></italic> consist of a set of measurements <italic>Y</italic> <sub>0:</sub><italic><sub>t</sub></italic> and offsets <italic>l</italic><sub>0:</sub><italic><sub>t</sub></italic> depicted in greed. The measurements <italic>Y<sub>i</sub></italic>&#x02009;&#x02208;&#x02009;{0, 1} are always binary, while the offsets <italic>l<sub>i</sub></italic>, actions <italic>u<sub>t</sub></italic>, agent <italic>A<sub>t</sub></italic> and object <italic>O</italic> variables&#x02019; size are equal to the dimension of the state space. The subscript <italic>i</italic> of an offset <italic>l<sub>i</sub></italic> indicates which likelihood function it belongs to. The offset of a likelihood function is given by the summation of all the applied actions from the time the likelihood was added until the current time <italic>t</italic>, equation (<xref ref-type="disp-formula" rid="E17">17</xref>), which can be computed recursively. The motion update, equation (<xref ref-type="disp-formula" rid="E10">10</xref>), when applied to the joint distribution results in the initial marginal <inline-formula><mml:math id="M30"><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-punc">;</mml:mo><mml:mstyle mathvariant="bold-italic" mathcolor="blue"><mml:mn>&#x003B8;</mml:mn></mml:mstyle><mml:msubsup><mml:mrow><mml:mtext>&#x02009;</mml:mtext></mml:mrow><mml:mrow><mml:mi mathcolor="blue">a</mml:mi></mml:mrow><mml:mrow><mml:mo class="MathClass-bin" mathcolor="blue">&#x02217;</mml:mo></mml:mrow></mml:msubsup></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:math></inline-formula> and the likelihood functions being moved along the agent&#x02019;s axis. In Algorithm <xref ref-type="table" rid="TA1">1</xref>, we detail how an action <italic>u<sub>t</sub></italic> and measurement <italic>Y<sub>t</sub></italic>, result in the update of the memory likelihood&#x02019;s parameters from &#x003A8;<sub>0:</sub><italic><sub>t</sub></italic><sub>&#x02212;</sub><italic><sub>t</sub></italic> to &#x003A8;<sub>0:</sub><italic><sub>t</sub></italic>; this is an implementation of equations (<xref ref-type="disp-formula" rid="E10">10</xref>) and (<xref ref-type="disp-formula" rid="E11">11</xref>).</p>
<table-wrap position="float" id="TA1">
<label>ALGORITHM 1</label>
<caption><p>Memory likelihood update</p></caption>
<table frame="hsides" rules="groups">
<thead>
<tr>
<th align="left">&#x02003;<bold>Input:</bold> &#x003A8;<sub>0:</sub><italic><sub>t</sub></italic><sub>&#x02212;1</sub>, <italic>Y<sub>t</sub></italic>, <italic>u<sub>t</sub></italic></th>
</tr>
<tr>
<th align="left">&#x02003;<bold>Output:</bold> &#x003A8;<sub>0:</sub><italic><sub>t</sub></italic></th>
</tr>
</thead>
<tbody>
<tr>
<td align="left">&#x02003;<bold>Motion update</bold> <inline-formula><mml:math id="M31"><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mn>&#x003A8;</mml:mn></mml:mrow><mml:mo class="MathClass-op">&#x000AF;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mn>0</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-rel">&#x02190;</mml:mo><mml:msub><mml:mrow><mml:mn>&#x003A8;</mml:mn></mml:mrow><mml:mrow><mml:mn>0</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula></td>
</tr>
<tr>
<td align="left">1 <bold>For</bold> <italic>l<sub>i</sub></italic>&#x02009;&#x02208;&#x02009;&#x003A8;<sub>0:</sub><italic><sub>t</sub></italic><sub>&#x02212;1</sub> <bold>do</bold></td>
</tr>
<tr>
<td align="left">2 <graphic xlink:href="frobt-04-00040-i001.tif"/> <italic>l<sub>i</sub></italic>&#x02009;&#x0003D;&#x02009;<italic>l<sub>i</sub></italic>&#x02009;&#x0002B;&#x02009;<italic>u<sub>t</sub></italic></td>
</tr>
<tr>
<td align="left">&#x02003;<bold>Measurement update</bold></td>
</tr>
<tr>
<td align="left">3 <inline-formula><mml:math id="M32"><mml:msub><mml:mrow><mml:mn>&#x003A8;</mml:mn></mml:mrow><mml:mrow><mml:mn>0</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-rel">&#x02190;</mml:mo><mml:mrow><mml:mo class="MathClass-open">&#x0007B;</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mn>&#x003A8;</mml:mn></mml:mrow><mml:mo class="MathClass-op">&#x000AF;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mn>0</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mi>l</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-punc">:</mml:mo><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mn>0</mml:mn></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow><mml:mo class="MathClass-close">&#x0007D;</mml:mo></mml:mrow></mml:math></inline-formula></td>
</tr>
</tbody>
</table>
</table-wrap>
<p>Figure <xref ref-type="fig" rid="F6">6</xref> illustrates the evolution of the <bold>un-normalized</bold> MLMF joint distribution <italic>P</italic>(<italic>A<sub>t</sub></italic>, <italic>O</italic>, <italic>Y</italic> <sub>0:</sub><italic><sub>t</sub></italic>&#x0007C;<italic>u</italic><sub>1:</sub><italic><sub>t</sub></italic>), equation (<xref ref-type="disp-formula" rid="E12">12</xref>). For ease of notation, we will omit at times the parameters of the probability functions. Both <inline-formula><mml:math id="M33"><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-punc">;</mml:mo><mml:mstyle mathvariant="bold-italic"><mml:mn>&#x003B8;</mml:mn></mml:mstyle><mml:msubsup><mml:mrow><mml:mtext>&#x02009;</mml:mtext></mml:mrow><mml:mrow><mml:mi>a</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">)</mml:mo></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M34"><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mi>O</mml:mi><mml:mo class="MathClass-punc">;</mml:mo><mml:mstyle mathvariant="bold-italic"><mml:mn mathcolor="red">&#x003B8;</mml:mn></mml:mstyle><mml:msubsup><mml:mrow><mml:mtext>&#x02009;</mml:mtext></mml:mrow><mml:mrow><mml:mi mathcolor="red">o</mml:mi></mml:mrow><mml:mrow><mml:mo class="MathClass-bin" mathcolor="red">&#x02217;</mml:mo></mml:mrow></mml:msubsup></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:math></inline-formula> were initialized as for the histogram-SLAM example in Figure <xref ref-type="fig" rid="F5">5</xref>. Two actions <italic>u</italic><sub>1:2</sub>&#x02009;&#x0003D;&#x02009;1 are applied and three measurements <italic>Y</italic> <sub>0:2</sub>&#x02009;&#x0003D;&#x02009;0 received which are then integrated into the filter. Since initialization of the joint distribution at <italic>t</italic>&#x02009;&#x0003D;&#x02009;0 until <italic>t</italic>&#x02009;&#x0003D;&#x02009;2 the object&#x02019;s marginal <inline-formula><mml:math id="M35"><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mi>O</mml:mi><mml:mo class="MathClass-punc">;</mml:mo><mml:mstyle mathvariant="bold-italic"><mml:mn mathcolor="red">&#x003B8;</mml:mn></mml:mstyle><mml:msubsup><mml:mrow><mml:mtext>&#x02009;</mml:mtext></mml:mrow><mml:mrow><mml:mi mathcolor="red">o</mml:mi></mml:mrow><mml:mrow><mml:mo class="MathClass-bin" mathcolor="red">&#x02217;</mml:mo></mml:mrow></mml:msubsup></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:math></inline-formula> remains unchanged and the agent&#x02019;s marginal <inline-formula><mml:math id="M36"><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mn>&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>u</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:mo class="MathClass-punc">;</mml:mo><mml:mstyle mathvariant="bold-italic"><mml:mn mathcolor="blue">&#x003B8;</mml:mn></mml:mstyle><mml:msubsup><mml:mrow><mml:mtext>&#x02009;</mml:mtext></mml:mrow><mml:mrow><mml:mi mathcolor="blue">a</mml:mi></mml:mrow><mml:mrow><mml:mo class="MathClass-bin" mathcolor="blue">&#x02217;</mml:mo></mml:mrow></mml:msubsup></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:math></inline-formula> is updated by the two actions according to the motion update, see Figure <xref ref-type="fig" rid="F6">6</xref> (<italic>Top right</italic>). The product of these two marginals (terms of equation (<xref ref-type="disp-formula" rid="E12">12</xref>) before the memory likelihood product) results in the joint probability distribution <inline-formula><mml:math id="M37"><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mi>O</mml:mi><mml:mn>&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>u</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:mo class="MathClass-punc">;</mml:mo><mml:mstyle mathvariant="bold-italic" mathcolor="blue"><mml:mn>&#x003B8;</mml:mn></mml:mstyle><mml:msubsup><mml:mrow><mml:mtext>&#x02009;</mml:mtext></mml:mrow><mml:mrow><mml:mi mathcolor="blue">a</mml:mi></mml:mrow><mml:mrow><mml:mo class="MathClass-bin" mathcolor="blue">&#x02217;</mml:mo></mml:mrow></mml:msubsup><mml:mo class="MathClass-punc">,</mml:mo><mml:mstyle mathvariant="bold-italic" mathcolor="red"><mml:mn>&#x003B8;</mml:mn></mml:mstyle><mml:msubsup><mml:mrow><mml:mtext>&#x02009;</mml:mtext></mml:mrow><mml:mrow><mml:mi mathcolor="red">o</mml:mi></mml:mrow><mml:mrow><mml:mo class="MathClass-bin" mathcolor="red">&#x02217;</mml:mo></mml:mrow></mml:msubsup></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:math></inline-formula> illustrated in Figure <xref ref-type="fig" rid="F6">6</xref> (<italic>Middle-right</italic>).</p>
<fig position="float" id="F6">
<label>Figure 6</label>
<caption><p>Un-normalized MLMF joint distribution, numerator of equation (<xref ref-type="disp-formula" rid="E12">12</xref>), at time <italic>t</italic>&#x02009;&#x0003D;&#x02009;3. Three measurements (all <italic>Y</italic> &#x02009;&#x0003D;&#x02009;0) and two actions (both <italic>u</italic>&#x02009;&#x0003D;&#x02009;1) have been integrated into the joint distribution, for simplicity we do not consider any motion noise. <italic>Left column:</italic> the first plot illustrates the likelihood of the first measurement <italic>Y</italic> <sub>0</sub>. We highlight the contour in light-green to indicate that it was the first applied likelihood function (see the correspondence with Figure <xref ref-type="fig" rid="F5">5</xref>). The first likelihood function has been moved by the 2 actions, the second likelihood function has been moved by one action (the last one, <italic>u</italic><sub>2</sub>&#x02009;&#x0003D;&#x02009;1), and the third likelihood has had no action applied to it yet. The last applied likelihood function is highlighted in pink, and the product of all the likelihoods since <italic>t</italic>&#x02009;&#x0003D;&#x02009;0 until <italic>t</italic>&#x02009;&#x0003D;&#x02009;3 is depicted at the bottom of the figure, which is <italic>P</italic>(<italic>Y</italic> <sub>0:2</sub>&#x0007C;<italic>A</italic><sub>2</sub>, <italic>O</italic>, <italic>u</italic><sub>1:2</sub>). <italic>Right column:</italic> the top figure illustrates the original marginal of the object <inline-formula><mml:math id="M38"><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mi>O</mml:mi><mml:mo class="MathClass-punc">;</mml:mo><mml:mstyle mathvariant="bold-italic"><mml:mn>&#x003B8;</mml:mn></mml:mstyle><mml:msubsup><mml:mrow><mml:mtext>&#x02009;</mml:mtext></mml:mrow><mml:mrow><mml:mi>o</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">)</mml:mo></mml:mrow></mml:math></inline-formula>, which remains unchanged, and the agent&#x02019;s marginal <inline-formula><mml:math id="M39"><mml:mtext mathvariant="italic">P</mml:mtext><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mtext mathvariant="italic">A</mml:mtext></mml:mrow><mml:mrow><mml:mtext>2</mml:mtext></mml:mrow></mml:msub><mml:mn>&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mtext mathvariant="italic">u</mml:mtext></mml:mrow><mml:mrow><mml:mtext>1:2</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-punc">;</mml:mo><mml:mstyle mathvariant="bold-italic"><mml:mn>&#x003B8;</mml:mn></mml:mstyle><mml:msubsup><mml:mrow><mml:mtext>&#x02009;</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">a</mml:mtext></mml:mrow><mml:mrow><mml:mo class="MathClass-bin">&#x02217;</mml:mo></mml:mrow></mml:msubsup></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:math></inline-formula>, which has moved in accordance to the motion-update function. Their product would result in the joint distribution <inline-formula><mml:math id="M40"><mml:mtext mathvariant="italic">P</mml:mtext><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mtext mathvariant="italic">A</mml:mtext></mml:mrow><mml:mrow><mml:mtext>2</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mtext mathvariant="italic">O</mml:mtext><mml:mn>&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mtext mathvariant="italic">u</mml:mtext></mml:mrow><mml:mrow><mml:mtext>1:2</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-punc">;</mml:mo><mml:mstyle mathvariant="bold-italic"><mml:mn>&#x003B8;</mml:mn></mml:mstyle><mml:msubsup><mml:mrow><mml:mtext>&#x02009;</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">a</mml:mtext></mml:mrow><mml:mrow><mml:mo class="MathClass-bin">&#x02217;</mml:mo></mml:mrow></mml:msubsup><mml:mo class="MathClass-punc">,</mml:mo><mml:mstyle mathvariant="bold-italic"><mml:mn>&#x003B8;</mml:mn></mml:mstyle><mml:msubsup><mml:mrow><mml:mtext>&#x02009;</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">o</mml:mtext></mml:mrow><mml:mrow><mml:mo class="MathClass-bin">&#x02217;</mml:mo></mml:mrow></mml:msubsup></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:math></inline-formula> illustrated in the middle figure if evaluated at each state (<italic>i</italic>, <italic>j</italic>). The bottom figure is the result of multiplying <inline-formula><mml:math id="M41"><mml:mtext mathvariant="italic">P</mml:mtext><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mtext mathvariant="italic">A</mml:mtext></mml:mrow><mml:mrow><mml:mtext>2</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mtext mathvariant="italic">O</mml:mtext><mml:mn>&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mtext mathvariant="italic">u</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">1:2</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-punc">;</mml:mo><mml:mstyle mathvariant="bold-italic"><mml:mn>&#x003B8;</mml:mn></mml:mstyle><mml:msubsup><mml:mrow><mml:mtext>&#x02009;</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">a</mml:mtext></mml:mrow><mml:mrow><mml:mo class="MathClass-bin">&#x02217;</mml:mo></mml:mrow></mml:msubsup><mml:mo class="MathClass-punc">,</mml:mo><mml:mstyle mathvariant="bold-italic"><mml:mn>&#x003B8;</mml:mn></mml:mstyle><mml:msubsup><mml:mrow><mml:mtext>&#x02009;</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">o</mml:mtext></mml:mrow><mml:mrow><mml:mo class="MathClass-bin">&#x02217;</mml:mo></mml:mrow></mml:msubsup></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:math></inline-formula> with <italic>P</italic>(<italic>Y</italic> <sub>0:2</sub>&#x0007C;<italic>A</italic><sub>2</sub>, <italic>O</italic>, <italic>u</italic><sub>1:2</sub>; <bold>&#x003A8;<sub>0:2</sub></bold>) giving the filtered joint distribution (equation (<xref ref-type="disp-formula" rid="E12">12</xref>)).</p></caption>
<graphic xlink:href="frobt-04-00040-g006.tif"/>
</fig>
<p>In the left column of Figure <xref ref-type="fig" rid="F6">6</xref>, we illustrate how the memory likelihood term, equation (<xref ref-type="disp-formula" rid="E15">15</xref>), is updated according to Algorithm <xref ref-type="table" rid="TA1">1</xref>. In the <italic>Top left</italic>, the first likelihood function <inline-formula><mml:math id="M42"><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi mathcolor="green">Y</mml:mi></mml:mrow><mml:mrow><mml:mn mathcolor="green">0</mml:mn></mml:mrow></mml:msub><mml:mn>&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mi>O</mml:mi><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mi>u</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:mo class="MathClass-punc">;</mml:mo><mml:msub><mml:mrow><mml:mi mathcolor="green">l</mml:mi></mml:mrow><mml:mrow><mml:mn mathcolor="green">0</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:math></inline-formula> is illustrated. As two actions have been applied, Algorithm <xref ref-type="table" rid="TA1">1</xref> is applied twice, which results in an <inline-formula><mml:math id="M43"><mml:msub><mml:mrow><mml:mi mathcolor="green">l</mml:mi></mml:mrow><mml:mrow><mml:mn mathcolor="green">0</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mn>2</mml:mn></mml:math></inline-formula> parameter for the first likelihood function. In this figure, we highlighted the likelihood in light-green to indicate that it was the first added to the memory term making it convenient to compare to Figure <xref ref-type="fig" rid="F5">5</xref>. As for the second likelihood function <inline-formula><mml:math id="M44"><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi mathcolor="green">Y</mml:mi></mml:mrow><mml:mrow><mml:mn mathcolor="green">1</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-rel">&#x0007C;</mml:mo><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mi>O</mml:mi><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-punc">;</mml:mo><mml:msub><mml:mrow><mml:mi mathcolor="green">l</mml:mi></mml:mrow><mml:mrow><mml:mn mathcolor="green">1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:math></inline-formula>, only one action has been applied and the third likelihood function <inline-formula><mml:math id="M45"><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi mathcolor="green">Y</mml:mi></mml:mrow><mml:mrow><mml:mn mathcolor="green">2</mml:mn></mml:mrow></mml:msub><mml:mn>&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mi>O</mml:mi><mml:mo class="MathClass-punc">;</mml:mo><mml:msub><mml:mrow><mml:mi mathcolor="green">l</mml:mi></mml:mrow><mml:mrow><mml:mn mathcolor="green">2</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-rel" mathcolor="green">&#x0003D;</mml:mo><mml:mn mathcolor="green">0</mml:mn></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:math></inline-formula> has not yet been updated by the next action. The parameters of the memory likelihood function, equation (<xref ref-type="disp-formula" rid="E15">15</xref>), are: &#x003A8;<sub>0.2</sub>&#x02009;&#x0003D;&#x02009;{(0, 2)<italic><sub>i</sub></italic><sub>&#x0003D;0</sub>, (0, 1)<italic><sub>i</sub></italic><sub>&#x0003D;1</sub>, (0, 0)<italic><sub>i</sub></italic><sub>&#x0003D;2</sub>} and its evaluation is illustrated in the <italic>Bottom left</italic> of Figure <xref ref-type="fig" rid="F6">6</xref>.</p>
<p>The reader may have noticed that the amplitude of the values of the filtered joint distribution illustrated in Figure <xref ref-type="fig" rid="F6">6</xref> have changed when compared with Figure <xref ref-type="fig" rid="F5">5</xref>, but not the structure. This is because we have not re-normalized the joint distribution by the evidence <italic>P</italic>(<italic>Y</italic> <sub>0:</sub><italic><sub>t</sub></italic>&#x0007C;<italic>u</italic><sub>1:</sub><italic><sub>t</sub></italic>; &#x003B1;<sub>0:</sub><italic><sub>t</sub></italic>). We will show in the next section how we can <bold>recursively</bold> compute the evidence without having to integrate the whole joint distribution, which would be expensive.</p>
<p>Our goal is to be able to compute the marginals <italic>P</italic>(<italic>A<sub>t</sub></italic>&#x0007C;<italic>Y</italic> <sub>0:</sub><italic><sub>t</sub></italic>, <italic>u</italic><sub>1:</sub><italic><sub>t</sub></italic>; <bold><italic>&#x003B8;</italic></bold><italic><sub>a</sub></italic>), <italic>P</italic>(<italic>O</italic>&#x0007C;<italic>Y</italic> <sub>0:</sub><italic><sub>t</sub></italic>; <bold><italic>&#x003B8;</italic></bold><italic><sub>o</sub></italic>) of the agent and object random variables and evidence <italic>P</italic>(<italic>Y</italic> <sub>0:</sub><italic><sub>t</sub></italic>&#x0007C;<italic>u</italic><sub>1:</sub><italic><sub>t</sub></italic>; &#x003B1;<sub>0:</sub><italic><sub>t</sub></italic>) <bold>without</bold> having to perform an <bold>expensive marginalization</bold> over the entire space of the joint distribution as was the case for histogram-SLAM. The next section describes how to efficiently compute the evidence and the marginals. For ease of notation, we will not always show the conditioned actions <italic>u</italic><sub>1:</sub><italic><sub>t</sub></italic>, so <italic>P</italic>(<italic>A<sub>t</sub></italic>, <italic>O</italic>&#x0007C;<italic>Y</italic> <sub>0:</sub><italic><sub>t</sub></italic>, <italic>u</italic><sub>1:</sub><italic><sub>t</sub></italic>) will be <italic>P</italic>(<italic>A<sub>t</sub></italic>, <italic>O</italic>&#x0007C;<italic>Y</italic> <sub>0:</sub><italic><sub>t</sub></italic>).</p>
<sec id="S3-5">
<label>3.1</label> <title>Evidence and Marginals</title>
<sec id="S3-5-1">
<label>3.1.1</label> <title>Evidence</title>
<p>The evidence of the measurement <inline-formula><mml:math id="M46"><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mn>&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-punc">;</mml:mo><mml:mstyle mathcolor="#1C6B91"><mml:mn mathvariant="bold-italic">&#x003B1;</mml:mn></mml:mstyle><mml:msub><mml:mrow><mml:mtext>&#x02009;</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="bold" mathcolor="#1C6B91">0</mml:mtext><mml:mo class="MathClass-punc" mathcolor="#1C6B91">:</mml:mo><mml:mtext mathvariant="bold" mathcolor="#1C6B91">t</mml:mtext></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:math></inline-formula>, equation (<xref ref-type="disp-formula" rid="E12">12</xref>), is the amount of probability mass re-normalized to the other parameters of the joint distribution as a result of the consecutive application of the likelihood function. At time step <italic>t</italic>, the normalizing factor to be added to the evidence is the difference between the probability mass located inside <italic>A</italic>&#x02009;&#x02229;&#x02009;<italic>O</italic> before and after the application of the measurement function <italic>P</italic>(<italic>Y<sub>t</sub></italic>&#x0007C;<italic>A<sub>t</sub></italic>, <italic>O</italic>), see equations (<xref ref-type="disp-formula" rid="E18">18</xref>) and (<xref ref-type="disp-formula" rid="E19">19</xref>) (see Appendix <xref ref-type="sec" rid="S15">D</xref> for the full derivation)
<disp-formula id="E18"><label>(18)</label><mml:math id="M47"><mml:mtable columnalign="left" class="align"><mml:mtr><mml:mtd columnalign="right" class="align-odd"></mml:mtd><mml:mtd class="align-even"><mml:msub><mml:mrow><mml:mn>&#x003B1;</mml:mn></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mrow><mml:mstyle displaystyle='true'><mml:munder><mml:mo>&#x02211;</mml:mo><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:mrow></mml:munder><mml:mrow><mml:mstyle displaystyle='true'><mml:munder><mml:mo>&#x02211;</mml:mo><mml:mi>O</mml:mi></mml:munder></mml:mstyle></mml:mrow></mml:mstyle></mml:mrow><mml:mtext>&#x02009;</mml:mtext><mml:mstyle><mml:mfenced separators="" open="(" close=""><mml:mrow><mml:mtext>&#x02009;</mml:mtext></mml:mrow></mml:mfenced></mml:mstyle><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mn>&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mi>O</mml:mi></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:mn>1</mml:mn><mml:mstyle mathsize="1.61em"><mml:mfenced separators="" open=")" close=""><mml:mrow><mml:mtext>&#x02009;</mml:mtext></mml:mrow></mml:mfenced></mml:mstyle><mml:msub><mml:mrow><mml:mi>P</mml:mi></mml:mrow><mml:mrow><mml:mo class="MathClass-bin">&#x02229;</mml:mo></mml:mrow></mml:msub><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mi>O</mml:mi><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mn>&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<disp-formula id="E19"><label>(19)</label><mml:math id="M48"><mml:mtable columnalign="left" class="align"><mml:mtr><mml:mtd columnalign="right" class="align-odd"></mml:mtd><mml:mtd class="align-even"><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mn>&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-punc">;</mml:mo><mml:mstyle mathvariant="bold-italic"><mml:mn mathcolor="#1C6B91">&#x003B1;</mml:mn></mml:mstyle><mml:msub><mml:mrow><mml:mtext>&#x02009;</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="bold" mathcolor="#1C6B91">0</mml:mtext><mml:mo class="MathClass-punc">:</mml:mo><mml:mtext mathvariant="bold" mathcolor="#1C6B91">t</mml:mtext></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mn>1</mml:mn><mml:mo class="MathClass-bin">&#x0002B;</mml:mo><mml:munder class="msub"><mml:mrow><mml:munder accentunder="false"><mml:mrow><mml:msub><mml:mrow><mml:mn>&#x003B1;</mml:mn></mml:mrow><mml:mrow><mml:mn>0</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-bin">&#x0002B;</mml:mo><mml:msub><mml:mrow><mml:mn>&#x003B1;</mml:mn></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo>&#x0FE38;</mml:mo></mml:munder></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mn>&#x003B1;</mml:mn></mml:mrow><mml:mrow><mml:mn>0</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:munder><mml:mo class="MathClass-punc">.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
<p>The advantage of equation (<xref ref-type="disp-formula" rid="E18">18</xref>) is that the summation is only over the states that are in the dependent area &#x02229; of the joint distribution. Until an object is sensed, the likelihood will always be zero <italic>P</italic>(<italic>Y<sub>t</sub></italic>&#x0007C;<italic>A<sub>t</sub></italic>, <italic>O</italic>)&#x02009;&#x0003D;&#x02009;0 and &#x003B1;<italic><sub>t</sub></italic> will correspond to the probability mass, which falls within the region of the joint distribution in which the likelihood function is zero. As we perform the filtering process, we will never re-normalize the whole joint distribution, but only keep track of how much it should have been normalized. The normalization factor in question will never be negative, as the joint distribution sums to one and each &#x003B1;<italic><sub>t</sub></italic> represents some of the mass removed from the joint distribution. Since we keep track of the history of applied measurement likelihood functions the same amount of probability mass is never removed twice from the joint distribution.</p>
</sec>
<sec id="S3-5-2">
<label>3.1.2</label> <title>Marginals</title>
<p>There are two different sets of marginals used in the MLMF filter. The first set are the <bold>joint marginals</bold> of the joint distribution, equation (<xref ref-type="disp-formula" rid="E12">12</xref>) parameterized by <inline-formula><mml:math id="M49"><mml:mstyle mathvariant="bold-italic"><mml:mn mathcolor="blue">&#x003B8;</mml:mn></mml:mstyle><mml:msubsup><mml:mrow><mml:mtext>&#x02009;</mml:mtext></mml:mrow><mml:mrow><mml:mi mathcolor="blue">a</mml:mi></mml:mrow><mml:mrow><mml:mo class="MathClass-bin" mathcolor="blue">&#x02217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula> and <inline-formula><mml:math id="M50"><mml:mstyle mathvariant="bold-italic" mathcolor="red"><mml:mn>&#x003B8;</mml:mn></mml:mstyle><mml:msubsup><mml:mrow><mml:mtext>&#x02009;</mml:mtext></mml:mrow><mml:mrow><mml:mi mathcolor="red">o</mml:mi></mml:mrow><mml:mrow><mml:mo class="MathClass-bin" mathcolor="red">&#x02217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula>. The second set of marginals are the <bold>filtered marginals</bold>, which are updated by evaluating the joint distribution in dependent states and are parameterized by <inline-formula><mml:math id="M51"><mml:msub><mml:mstyle mathvariant="bold-italic"><mml:mn mathcolor="blue">&#x003B8;</mml:mn></mml:mstyle><mml:mrow><mml:mi mathcolor="blue">a</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> and <inline-formula><mml:math id="M52"><mml:msub><mml:mstyle mathvariant="bold-italic"><mml:mn mathcolor="red">&#x003B8;</mml:mn></mml:mstyle><mml:mrow><mml:mi mathcolor="red">o</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>. At initialization before the first action or observation is made the parameters of the filtered marginal are set equal to those of the joint distribution. MLMF takes advantage of the sparsity of the likelihood function, which results in only the dependent elements of the marginal being affected, equation (<xref ref-type="disp-formula" rid="E20">20</xref>) (see Appendix E for the full derivation of equation (<xref ref-type="disp-formula" rid="E20">20</xref>))
<disp-formula id="E20"><label>(20)</label><mml:math id="M53"><mml:mtable columnalign="left" class="align"><mml:mtr><mml:mtd columnalign="right" class="align-odd"><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mi>O</mml:mi><mml:mn>&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mtext mathvariant="bold">t</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-punc">;</mml:mo><mml:msub><mml:mstyle mathvariant="bold-italic"><mml:mn mathcolor="red">&#x003B8;</mml:mn></mml:mstyle><mml:mrow><mml:mi mathcolor="red">o</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mi>O</mml:mi><mml:mn>&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mtext mathvariant="bold">t</mml:mtext><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:mtext mathvariant="bold">1</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-punc">;</mml:mo><mml:msub><mml:mstyle mathvariant="bold-italic"><mml:mn mathcolor="red">&#x003B8;</mml:mn></mml:mstyle><mml:mrow><mml:mi mathcolor="red">o</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:mstyle mathsize="1.61em"><mml:mfenced separators="" open="(" close=""><mml:mrow><mml:mtext>&#x02009;</mml:mtext></mml:mrow></mml:mfenced></mml:mstyle><mml:msub><mml:mrow><mml:mi>P</mml:mi></mml:mrow><mml:mrow><mml:mo class="MathClass-bin">&#x02229;</mml:mo></mml:mrow></mml:msub><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mi>O</mml:mi><mml:mn>&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:msub><mml:mrow><mml:mtext mathvariant="bold">P</mml:mtext></mml:mrow><mml:mrow><mml:mo class="MathClass-bin">&#x02229;</mml:mo></mml:mrow></mml:msub><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mtext mathvariant="bold">O</mml:mtext><mml:mn>&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mtext mathvariant="bold">Y</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="bold">0</mml:mtext><mml:mo class="MathClass-punc">:</mml:mo><mml:mtext mathvariant="bold">t</mml:mtext></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mstyle mathsize="1.61em"><mml:mfenced separators="" open=")" close=""><mml:mrow><mml:mtext>&#x02009;</mml:mtext></mml:mrow></mml:mfenced></mml:mstyle></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<disp-formula id="E21"><label>(21)</label><mml:math id="M54"><mml:mtable columnalign="left" class="align"><mml:mtr><mml:mtd columnalign="right" class="align-odd"></mml:mtd><mml:mtd class="align-even"><mml:msub><mml:mrow><mml:mtext mathvariant="bold">P</mml:mtext></mml:mrow><mml:mrow><mml:mo class="MathClass-bin">&#x02229;</mml:mo></mml:mrow></mml:msub><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mtext mathvariant="bold">O</mml:mtext><mml:mn>&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mtext mathvariant="bold">Y</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="bold">0</mml:mtext><mml:mo class="MathClass-punc">:</mml:mo><mml:mtext mathvariant="bold">t</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-punc">;</mml:mo><mml:mstyle mathvariant="bold-italic" mathcolor="blue"><mml:mn>&#x003B8;</mml:mn></mml:mstyle><mml:msubsup><mml:mrow><mml:mtext>&#x02009;</mml:mtext></mml:mrow><mml:mrow><mml:mi mathcolor="blue">a</mml:mi></mml:mrow><mml:mrow><mml:mo class="MathClass-bin" mathcolor="blue">&#x02217;</mml:mo></mml:mrow></mml:msubsup><mml:mo class="MathClass-punc">,</mml:mo><mml:mstyle mathvariant="bold-italic" mathcolor="red"><mml:mn>&#x003B8;</mml:mn></mml:mstyle><mml:msubsup><mml:mrow><mml:mtext>&#x02009;</mml:mtext></mml:mrow><mml:mrow><mml:mi mathcolor="red">o</mml:mi></mml:mrow><mml:mrow><mml:mo class="MathClass-bin" mathcolor="red">&#x02217;</mml:mo></mml:mrow></mml:msubsup><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mstyle mathvariant="bold"><mml:mn mathcolor="green">&#x003A8;</mml:mn></mml:mstyle><mml:mrow> <mml:mn mathvariant="bold" mathcolor="green">0:</mml:mn><mml:mtext mathvariant="bold-italic" mathcolor="green">t</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mstyle mathvariant="bold-italic"><mml:mn mathcolor="#1C6B91">&#x003B1;</mml:mn></mml:mstyle><mml:msub><mml:mrow><mml:mtext>&#x02009;</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="bold" mathcolor="#1C6B91">0</mml:mtext><mml:mo class="MathClass-punc" mathcolor="#1C6B91">:</mml:mo><mml:mtext mathvariant="bold" mathcolor="#1C6B91">t</mml:mtext></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mrow><mml:mstyle displaystyle='true'><mml:munder><mml:mo>&#x02211;</mml:mo><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:mrow></mml:munder></mml:mstyle></mml:mrow><mml:msub><mml:mrow><mml:mtext mathvariant="bold">P</mml:mtext></mml:mrow><mml:mrow><mml:mo class="MathClass-bin">&#x02229;</mml:mo></mml:mrow></mml:msub><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mtext mathvariant="bold">A</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="bold">t</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mtext mathvariant="bold">O</mml:mtext><mml:mn>&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mtext mathvariant="bold">Y</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="bold">0</mml:mtext><mml:mo class="MathClass-punc">:</mml:mo><mml:mtext mathvariant="bold">t</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mtext mathvariant="bold">u</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="bold">1</mml:mtext><mml:mo class="MathClass-punc">:</mml:mo><mml:mtext mathvariant="bold">t</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-punc">;</mml:mo><mml:mstyle mathvariant="bold-italic" mathcolor="blue"><mml:mn>&#x003B8;</mml:mn></mml:mstyle><mml:msubsup><mml:mrow><mml:mtext>&#x02009;</mml:mtext></mml:mrow><mml:mrow><mml:mi mathcolor="blue">a</mml:mi></mml:mrow><mml:mrow><mml:mo class="MathClass-bin" mathcolor="blue">&#x02217;</mml:mo></mml:mrow></mml:msubsup><mml:mo class="MathClass-punc">,</mml:mo><mml:mstyle mathvariant="bold-italic" mathcolor="red"><mml:mn>&#x003B8;</mml:mn></mml:mstyle><mml:msubsup><mml:mrow><mml:mtext>&#x02009;</mml:mtext></mml:mrow><mml:mrow><mml:mi mathcolor="red">o</mml:mi></mml:mrow><mml:mrow><mml:mo class="MathClass-bin" mathcolor="red">&#x02217;</mml:mo></mml:mrow></mml:msubsup><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mstyle mathvariant="bold"><mml:mn mathcolor="green">&#x003A8;</mml:mn></mml:mstyle><mml:mrow> <mml:mn mathvariant="bold" mathcolor="green">0:</mml:mn><mml:mtext mathvariant="bold-italic" mathcolor="green">t</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mstyle mathvariant="bold-italic"><mml:mn mathcolor="#1C6B91">&#x003B1;</mml:mn></mml:mstyle><mml:msub><mml:mrow><mml:mtext>&#x02009;</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="bold" mathcolor="#1C6B91">0</mml:mtext><mml:mo class="MathClass-punc" mathcolor="#1C6B91">:</mml:mo><mml:mtext mathvariant="bold" mathcolor="#1C6B91">t</mml:mtext></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><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:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mfrac><mml:mrow><mml:mrow><mml:mstyle displaystyle='true'><mml:munder><mml:mo>&#x02211;</mml:mo><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:mrow></mml:munder></mml:mstyle></mml:mrow><mml:msub><mml:mrow><mml:mi>P</mml:mi></mml:mrow><mml:mrow><mml:mo class="MathClass-bin">&#x02229;</mml:mo></mml:mrow></mml:msub><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mi>O</mml:mi><mml:mo class="MathClass-punc">;</mml:mo><mml:mstyle mathvariant="bold-italic" mathcolor="red"><mml:mn>&#x003B8;</mml:mn></mml:mstyle><mml:msubsup><mml:mrow><mml:mtext>&#x02009;</mml:mtext></mml:mrow><mml:mrow><mml:mi mathcolor="red">o</mml:mi></mml:mrow><mml:mrow><mml:mo class="MathClass-bin" mathcolor="red">&#x02217;</mml:mo></mml:mrow></mml:msubsup></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:msub><mml:mrow><mml:mi>P</mml:mi></mml:mrow><mml:mrow><mml:mo class="MathClass-bin">&#x02229;</mml:mo></mml:mrow></mml:msub><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mn>&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-punc">;</mml:mo><mml:mstyle mathvariant="bold-italic" mathcolor="blue"><mml:mn>&#x003B8;</mml:mn></mml:mstyle><mml:msubsup><mml:mrow><mml:mtext>&#x02009;</mml:mtext></mml:mrow><mml:mrow><mml:mi mathcolor="blue">a</mml:mi></mml:mrow><mml:mrow><mml:mo class="MathClass-bin" mathcolor="blue">&#x02217;</mml:mo></mml:mrow></mml:msubsup></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mn>&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mi>O</mml:mi><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-punc">;</mml:mo><mml:msub><mml:mstyle mathvariant="bold"><mml:mn mathcolor="green">&#x003A8;</mml:mn></mml:mstyle><mml:mrow><mml:mn mathvariant="bold" mathcolor="green">0:</mml:mn><mml:mtext mathvariant="bold-italic" mathcolor="green">t</mml:mtext></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mn>&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-punc">;</mml:mo><mml:mstyle mathvariant="bold-italic"><mml:mn mathcolor="#1C6B91">&#x003B1;</mml:mn></mml:mstyle><mml:msub><mml:mrow><mml:mtext>&#x02009;</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="bold" mathcolor="#1C6B91">0</mml:mtext><mml:mo class="MathClass-punc" mathcolor="#1C6B91">:</mml:mo><mml:mtext mathvariant="bold" mathcolor="#1C6B91">t</mml:mtext></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:mfrac><mml:mo class="MathClass-punc">.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
<p>Equation (<xref ref-type="disp-formula" rid="E20">20</xref>) is recursive, <inline-formula><mml:math id="M55"><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mi>O</mml:mi><mml:mn>&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mtext mathvariant="bold">t</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-punc">;</mml:mo><mml:msub><mml:mstyle mathvariant="bold-italic"><mml:mn mathcolor="red">&#x003B8;</mml:mn></mml:mstyle><mml:mrow><mml:mi mathcolor="red">o</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:math></inline-formula> is computed in terms of <inline-formula><mml:math id="M56"><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mi>O</mml:mi><mml:mn>&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mtext mathvariant="bold">t</mml:mtext><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:mtext mathvariant="bold">1</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-punc">;</mml:mo><mml:msub><mml:mstyle mathvariant="bold-italic"><mml:mn mathcolor="red">&#x003B8;</mml:mn></mml:mstyle><mml:mrow><mml:mi mathcolor="red">o</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:math></inline-formula>. Figure <xref ref-type="fig" rid="F7">7</xref> illustrates a measurement update of the MLMF. The illustrated marginals (<italic>Bottom row</italic>) are (on the <bold>left</bold>) the <bold>joint marginals</bold> <inline-formula><mml:math id="M57"><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mn>&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-punc">;</mml:mo><mml:mstyle mathvariant="bold-italic" mathcolor="blue"><mml:mn mathcolor="blue">&#x003B8;</mml:mn></mml:mstyle><mml:msubsup><mml:mrow><mml:mtext>&#x02009;</mml:mtext></mml:mrow><mml:mrow><mml:mi mathcolor="blue">a</mml:mi></mml:mrow><mml:mrow><mml:mo class="MathClass-bin" mathcolor="blue">&#x02217;</mml:mo></mml:mrow></mml:msubsup></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M58"><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mi>O</mml:mi><mml:mo class="MathClass-punc">;</mml:mo><mml:mstyle mathvariant="bold-italic" mathcolor="red"><mml:mn>&#x003B8;</mml:mn></mml:mstyle><mml:msubsup><mml:mrow><mml:mtext>&#x02009;</mml:mtext></mml:mrow><mml:mrow><mml:mi mathcolor="red">o</mml:mi></mml:mrow><mml:mrow><mml:mo class="MathClass-bin" mathcolor="red">&#x02217;</mml:mo></mml:mrow></mml:msubsup></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:math></inline-formula> and (on the <bold>right</bold>) the <bold>filtered marginals</bold> <inline-formula><mml:math id="M59"><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mn>&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-punc">;</mml:mo><mml:msub><mml:mstyle mathvariant="bold-italic"><mml:mn mathcolor="blue">&#x003B8;</mml:mn></mml:mstyle><mml:mrow><mml:mi mathcolor="blue">a</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M60"><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mi>O</mml:mi><mml:mn>&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-punc">;</mml:mo><mml:msub><mml:mstyle mathvariant="bold-italic"><mml:mn mathcolor="red">&#x003B8;</mml:mn></mml:mstyle><mml:mrow><mml:mi mathcolor="red">o</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:math></inline-formula>.</p>
<fig position="float" id="F7">
<label>Figure 7</label>
<caption><p>Filtered marginals. Illustration of the agent and object marginal update (equation (<xref ref-type="disp-formula" rid="E20">20</xref>)). The joint distribution parameters that are independent <italic>A</italic>&#x02009;&#x02296;&#x02009;<italic>O</italic> are pale, and the dependent areas <italic>A</italic>&#x02009;&#x02229;&#x02009;<italic>O</italic>, where <italic>P</italic>(<italic>Y<sub>t</sub></italic>&#x02009;&#x0003C;&#x02009;1&#x0007C;<italic>A<sub>t</sub></italic>, <italic>O</italic>), are bright. MLMF only evaluates the joint distribution in dependent states. For each state <italic>s</italic> of the marginals 1,&#x02026;, 10, the difference of the marginals inside the dependent area, before and after the measurement likelihood is applied, is evaluated and removed from the marginals <italic>P</italic>(<italic>A<sub>t</sub></italic>&#x0007C;<italic>Y</italic> <sub>0:</sub><italic><sub>t</sub></italic><sub>&#x02212;1</sub>, <italic>u</italic><sub>1:</sub><italic><sub>t</sub></italic>; <bold><italic>&#x003B8;</italic></bold><italic><sub>a</sub></italic>), <italic>P</italic>(<italic>O</italic>&#x0007C;<italic>Y</italic> <sub>0:</sub><italic><sub>t</sub></italic><sub>&#x02212;1</sub>; <bold><italic>&#x003B8;</italic></bold><italic><sub>o</sub></italic>) leading to <italic>P</italic>(<italic>A<sub>t</sub></italic>&#x0007C;<italic>Y</italic> <sub>0:</sub><italic><sub>t</sub></italic>, <italic>u</italic><sub>1:</sub><italic><sub>t</sub></italic>; <bold><italic>&#x003B8;</italic></bold><italic><sub>a</sub></italic>), <italic>P</italic>(<italic>O</italic>&#x0007C;<italic>Y</italic> <sub>0:</sub><italic><sub>t</sub></italic>; <bold><italic>&#x003B8;</italic></bold><italic><sub>o</sub></italic>) (we did not show <italic>u</italic><sub>1:</sub><italic><sub>t</sub></italic> in the figure for ease of notation). <italic>Bottom left</italic>: joint marginals <inline-formula><mml:math id="M61"><mml:mtext mathvariant="italic">P</mml:mtext><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mtext mathvariant="italic">A</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">t</mml:mtext></mml:mrow></mml:msub><mml:mn>&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mtext mathvariant="italic">u</mml:mtext></mml:mrow><mml:mrow><mml:mtext>1:</mml:mtext><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-punc">;</mml:mo><mml:mstyle mathvariant="bold-italic"><mml:mn>&#x003B8;</mml:mn></mml:mstyle><mml:msubsup><mml:mrow><mml:mtext>&#x02009;</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">a</mml:mtext></mml:mrow><mml:mrow><mml:mo class="MathClass-bin">&#x02217;</mml:mo></mml:mrow></mml:msubsup></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M62"><mml:mtext mathvariant="italic">P</mml:mtext><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mtext mathvariant="italic">O</mml:mtext><mml:mo class="MathClass-punc">;</mml:mo><mml:mstyle mathvariant="bold-italic"><mml:mn>&#x003B8;</mml:mn></mml:mstyle><mml:msubsup><mml:mrow><mml:mtext>&#x02009;</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">o</mml:mtext></mml:mrow><mml:mrow><mml:mo class="MathClass-bin">&#x02217;</mml:mo></mml:mrow></mml:msubsup></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:math></inline-formula> remain unchanged by measurements.</p></caption>
<graphic xlink:href="frobt-04-00040-g007.tif"/>
</fig>
<p>The shape of the <bold>joint marginals</bold> remain unchanged by measurements during the filtering process, they are the parameters of the joint distribution used to update the filtered marginals. Table <xref ref-type="table" rid="T1">1</xref> summarizes the functions and parameters of the MLMF for two random variables, an agent and object.</p>
<table-wrap position="float" id="T1">
<label>Table 1</label>
<caption><p>MLMF functions with associated parameters.</p></caption>
<table frame="hsides" rules="groups">
<thead>
<tr>
<th align="left"><bold>Functions</bold></th>
<th align="center"/>
<th align="center"><bold>Parameters</bold></th>
<th align="center"><bold>Description</bold></th>
</tr>
</thead>
<tbody>
<tr>
<td align="left"><italic>P</italic>(<italic>A<sub>t</sub></italic>&#x0007C;<italic>Y</italic> <sub>0:</sub><italic><sub>t</sub></italic>, <italic>u</italic><sub>1:</sub><italic><sub>t</sub></italic>)</td>
<td align="center">:</td>
<td align="center"><bold><italic>&#x003B8;</italic></bold><italic><sub>a</sub></italic></td>
<td align="left">Filtered marginals</td>
</tr>
<tr>
<td align="left"><italic>P</italic>(<italic>O</italic>&#x0007C;<italic>Y</italic> <sub>0:</sub><italic><sub>t</sub></italic>)</td>
<td align="center">:</td>
<td align="center"><bold><italic>&#x003B8;</italic></bold><italic><sub>o</sub></italic></td>
<td align="center"/>
</tr>
<tr>
<td align="left"><italic>P</italic>(<italic>A<sub>t</sub></italic>&#x0007C;<italic>u</italic><sub>1:</sub><italic><sub>t</sub></italic>)</td>
<td align="center">:</td>
<td align="center"><inline-formula><mml:math id="M73"><mml:mstyle mathvariant="bold-italic"><mml:mn>&#x003B8;</mml:mn></mml:mstyle><mml:msubsup><mml:mrow><mml:mtext>&#x02009;</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">a</mml:mtext></mml:mrow><mml:mrow><mml:mo class="MathClass-bin">&#x02217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula></td>
<td align="left">Joint marginals</td>
</tr>
<tr>
<td align="left"><italic>P</italic>(<italic>O</italic>)</td>
<td align="center">:</td>
<td align="center"><inline-formula><mml:math id="M74"><mml:mstyle mathvariant="bold-italic"><mml:mn>&#x003B8;</mml:mn></mml:mstyle><mml:msubsup><mml:mrow><mml:mtext>&#x02009;</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">o</mml:mtext></mml:mrow><mml:mrow><mml:mo class="MathClass-bin">&#x02217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula></td>
<td align="center"/>
</tr>
<tr>
<td align="left"><italic>P</italic>(<italic>Y</italic> <sub>0:</sub><italic><sub>t</sub>&#x0007C;u</italic><sub>1:</sub><italic><sub>t</sub></italic>)</td>
<td align="center">:</td>
<td align="center"><inline-formula><mml:math id="M75"><mml:msub><mml:mrow><mml:mn>&#x003B1;</mml:mn></mml:mrow><mml:mrow><mml:mtext>0</mml:mtext><mml:mo class="MathClass-punc">:</mml:mo><mml:mtext mathvariant="italic">t</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-rel">&#x02208;</mml:mo><mml:mi mathvariant="double-struck">R</mml:mi></mml:math></inline-formula></td>
<td align="left">Evidence</td>
</tr>
<tr>
<td align="left"><italic>P</italic>(<italic>Y</italic> <sub>0:</sub><italic><sub>t</sub>&#x0007C;A<sub>t</sub>, O, u</italic><sub>1:</sub><italic><sub>t</sub></italic>)</td>
<td align="center">:</td>
<td align="center">&#x003A8;<sub>0:</sub><italic><sub>t</sub></italic>&#x02009;&#x0003D;&#x02009;{(<italic>Y<sub>i</sub></italic>,<italic>l<sub>i</sub></italic>)}<italic><sub>i</sub></italic><sub>&#x0003D;0:</sub><italic><sub>t</sub></italic></td>
<td align="left">Likelihood history</td>
</tr>
</tbody>
</table>
<table-wrap-foot>
<p><italic>The marginal parameters are the discretization of the state space <inline-formula><mml:math id="M76"><mml:mstyle mathvariant="bold-italic"><mml:mn>&#x003B8;</mml:mn></mml:mstyle><mml:mo class="MathClass-rel">&#x02208;</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="double-struck">R</mml:mi></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">N</mml:mtext></mml:mrow></mml:msup></mml:math></inline-formula>, <bold><italic>&#x003B8;</italic></bold><sup>(</sup><italic><sup>s</sup></italic><sup>)</sup> correspond to the probability being in state s</italic>.</p>
</table-wrap-foot>
</table-wrap>
<p>We evaluated the MLMF with histogram-SLAM in the case of the 1D filtering scenario illustrated in Figure <xref ref-type="fig" rid="F5">5</xref>, and we found them to be identical. Having respected the formulation of Bayes rule, we assert that the MLMF filtering steps (see Algorithm <xref ref-type="table" rid="TA4">A1</xref>, Appendix <xref ref-type="sec" rid="S12">A</xref> for a more detailed application of motion-measurement update steps) are Bayesian Optimal Filter<xref ref-type="fn" rid="fn1"><sup>1</sup></xref>. Next we evaluate both space and time complexity of the MLMF filter.</p>
</sec>
</sec>
</sec>
<sec id="S4">
<label>4</label> <title>Space and Time Complexity</title>
<p>For discussion purposes, we consider the case of three beliefs, namely, that of the agent and two other objects <italic>O</italic><sup>(1)</sup> and <italic>O</italic><sup>(2)</sup>, we subsequently generalize. As stated previously, <italic>M</italic> stands for the number of filtered random variables including the agent, and <italic>N</italic> is the number of discrete states in the world. In the following section, we compare the space and time complexity of MLMF-SLAM with histogram-SLAM.</p>
<sec id="S4-6">
<label>4.1</label> <title>Space Complexity</title>
<p>Figure <xref ref-type="fig" rid="F8">8</xref> (<italic>Left</italic>) illustrates the volume occupied by the joint distribution for a space with <italic>N</italic> states. Histogram-SLAM would require <italic>N</italic><sup>3</sup> parameters for the joint distribution <italic>P</italic>(<italic>A</italic>, <italic>O</italic><sup>(1)</sup>, <italic>O</italic><sup>(2)</sup>; <bold><italic>&#x003B8;</italic></bold>) and 3&#x02009;<italic>N</italic> parameters to store the marginals. In general, for <italic>M</italic> random variables <italic>N<sup>M</sup></italic>&#x02009;&#x0002B;&#x02009;<italic>M N</italic> parameters are necessary, giving an exponential space complexity &#x1D4AA;(<italic>N<sup>M</sup></italic>).</p>
<fig position="float" id="F8">
<label>Figure 8</label>
<caption><p><italic>Left</italic>: Joint distribution. <italic>P</italic>(<italic>A</italic>, <italic>O</italic><sup>(1)</sup>, <italic>O</italic><sup>(2)</sup>) of the agent and two objects (<italic>Y</italic> <sub>0:</sub><italic><sub>t</sub></italic> and <italic>u</italic><sub>1:</sub><italic><sub>t</sub></italic> omitted). Each likelihood function, <italic>P</italic>(<italic>Y&#x0007C;A</italic>, <italic>O</italic><sup>(1)</sup>), <italic>P</italic>(<italic>Y&#x0007C;A</italic>, <italic>O</italic><sup>(2)</sup>) corresponds to a hyperplane in the joint distribution The state space is discretized to <italic>N</italic> bins giving a potential total of <italic>N</italic><sup>3</sup> parameters for the joint distribution (Histogram case). <italic>Right:</italic> Scalable-MLMF. Each agent&#x02013;object joint distribution pair is modeled independently. For clarity, we have left out the action random variable <italic>u</italic> that is linked to every agent node. Two joint distributions <inline-formula><mml:math id="M77"><mml:mtext mathvariant="italic">P</mml:mtext><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msup><mml:mrow><mml:mtext mathvariant="italic">A</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mtext>1</mml:mtext></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:msup><mml:mo class="MathClass-punc">,</mml:mo><mml:msup><mml:mrow><mml:mtext mathvariant="italic">O</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mtext>1</mml:mtext></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:msup><mml:mn>&#x0007C;</mml:mn><mml:msubsup><mml:mrow><mml:mtext mathvariant="italic">Y</mml:mtext></mml:mrow><mml:mrow><mml:mn>0:</mml:mn><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mtext>1</mml:mtext></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:msubsup></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M78"><mml:mtext mathvariant="italic">P</mml:mtext><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msup><mml:mrow><mml:mtext mathvariant="italic">A</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mtext>2</mml:mtext></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:msup><mml:mo class="MathClass-punc">,</mml:mo><mml:msup><mml:mrow><mml:mtext mathvariant="italic">O</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mtext>2</mml:mtext></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:msup><mml:mn>&#x0007C;</mml:mn><mml:msubsup><mml:mrow><mml:mtext mathvariant="italic">Y</mml:mtext></mml:mrow><mml:mrow><mml:mn>0:</mml:mn><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mtext>2</mml:mtext></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:msubsup></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:math></inline-formula> parametrize the graphical model. The dashed undirected lines represent a wanted dependency, if present <italic>O</italic><sup>(1)</sup> and <italic>O</italic><sup>(2)</sup> are to be dependent through <italic>A</italic>. In the standard setting, there will be no exchange of information between the individual joint distributions. However, we demonstrate later on how we perform a one-time transfer of information when one of the objects is sensed.</p></caption>
<graphic xlink:href="frobt-04-00040-g008.tif"/>
</fig>
<p>For MLMF-SLAM, each random variable requires two sets of parameters, <bold><italic>&#x003B8;</italic></bold> and <inline-formula><mml:math id="M79"><mml:mstyle mathvariant="bold-italic"><mml:mn>&#x003B8;</mml:mn></mml:mstyle><mml:msup><mml:mrow><mml:mtext>&#x02009;</mml:mtext></mml:mrow><mml:mrow><mml:mo class="MathClass-bin">&#x02217;</mml:mo></mml:mrow></mml:msup></mml:math></inline-formula> (see Table <xref ref-type="table" rid="T1">1</xref>). Given <italic>M</italic> random variables, the initial number of parameters is <italic>M</italic>(2<italic>N</italic>). At every time step the likelihood memory function increments by one measurement and offset, (<italic>Y<sub>t</sub></italic>, <italic>l&#x02009;</italic> &#x0003D;&#x02009;0) (Algorithm <xref ref-type="table" rid="TA1">1</xref>). Given a state space of size <italic>N</italic>, there can be no more than <italic>N</italic> different measurement functions (one for each state). In the worst-case scenario, the number of memory likelihood function parameters &#x003A8;<sub>0:</sub><italic><sub>t</sub></italic>, equation (<xref ref-type="disp-formula" rid="E15">15</xref>), will be <italic>N</italic>. The total number of parameters is <italic>M</italic>(2<italic>N</italic>)&#x02009;&#x0002B;&#x02009;<italic>N</italic>, which gives a final worst-case space complexity linear in the number of random variables, &#x1D4AA;(<italic>M N</italic>).</p>
</sec>
<sec id="S4-7">
<label>4.2</label> <title>Time Complexity</title>
<p>For histogram-SLAM, the computational cost is equivalent to that of the space complexity, &#x1D4AA;(<italic>N<sup>M</sup></italic>), since every state in the joint distribution has to be summed to obtain all the marginals.</p>
<p>For MLMF-SLAM, every state in the joint distribution&#x02019;s state space that has been changed by the likelihood function has to be summed, see Figure <xref ref-type="fig" rid="F7">7</xref>. As a result, the computational complexity is directly related to the number of dependent states &#x0007C;<italic>A</italic>&#x02009;&#x02229;&#x02009;<italic>O&#x0007C;</italic>. In Figure <xref ref-type="fig" rid="F7">7</xref>, this corresponds to states where <italic>i</italic>&#x02009;&#x0003D;&#x02009;<italic>j</italic> and there are <italic>N</italic> out of a total <italic>N</italic><sup>2</sup> states for that joint distribution. Figure <xref ref-type="fig" rid="F8">8</xref> (<italic>Left</italic>) illustrates a joint distribution with <italic>N</italic><sup>3</sup> states. The dependent states &#x0007C;<italic>A</italic>&#x02009;&#x02229;&#x02009;<italic>O</italic><sup>(1)</sup>&#x02009;&#x02229;&#x02009;<italic>O</italic><sup>(2)</sup>&#x0007C; are those which are within the blue and red planes (where the likelihood evaluates to zero) and comprise <italic>N</italic><sup>2</sup> states each, giving a total of 2<italic>N</italic><sup>2</sup>&#x02009;&#x02212;&#x02009;<italic>N</italic> dependent states (negative is to remove the states we count twice at the intersection of the blue and red plane).</p>
<p>The likelihood term <italic>P</italic>(<italic>Y<sub>t</sub></italic>&#x0007C;<italic>A<sub>t</sub></italic>, <italic>O</italic><sup>(1)</sup>) evaluates states to zero, which satisfies (<italic>i</italic>&#x02009;&#x0003D;&#x02009;<italic>j</italic>, &#x02200;<italic>k</italic>), as the measurement of object <italic>O</italic><sup>(1)</sup> is independent of object <italic>O</italic><sup>(2)</sup>. With 3 objects, the joint distribution would be <italic>P</italic>(<italic>A<sub>t</sub></italic>&#x02009;&#x0003D;&#x02009;<italic>i</italic>, <italic>O</italic><sup>(1)</sup>&#x02009;&#x0003D;&#x02009;<italic>j</italic>, <italic>O</italic><sup>(2)</sup>&#x02009;&#x0003D;&#x02009;<italic>k</italic>, <italic>O</italic><sup>(</sup><italic><sup>l</sup></italic><sup>)</sup>&#x02009;&#x0003D;&#x02009;<italic>l</italic>) then the likelihood <italic>P</italic>(<italic>Y<sub>t</sub></italic>&#x0007C;<italic>A<sub>t</sub></italic>, <italic>O</italic><sup>(1)</sup>) evaluated to zero for (<italic>i</italic>&#x02009;&#x0003D;&#x02009;<italic>j</italic>, &#x02200;<italic>k</italic>, &#x02200;<italic>l</italic>) which would mean <italic>N</italic><sup>3</sup> dependent states. In general, for <italic>M</italic> random variables the computational cost is (<italic>M</italic>&#x02009;&#x02212;&#x02009;1) <italic>N<sup>M&#x02212;</sup></italic><sup>1</sup> which gives &#x1D4AA;(<italic>N<sup>M&#x02212;</sup></italic><sup>1</sup>) as opposed to the histogram-SLAM&#x02019;s &#x1D4AA;(<italic>N<sup>M</sup></italic>). The computation complexity in this setup is still exponential but to the order <italic>M</italic>&#x02009;&#x02212;&#x02009;1 as opposed to <italic>M</italic>, which nevertheless quickly limits the scalability as more objects are added.</p>
<p>Computing the value of a dependent state (<italic>i</italic>, <italic>j</italic>, <italic>k</italic>) in the joint distribution required evaluating equation (<xref ref-type="disp-formula" rid="E12">12</xref>), which contains a product of <italic>N</italic> likelihood functions, in the worst-case scenario. However, the likelihood functions are not overlapping and binary. As a result, the complete product does not have to be evaluated since only one likelihood function will affect the state (<italic>i</italic>, <italic>j</italic>, <italic>k</italic>). Thus, evaluating equation (<xref ref-type="disp-formula" rid="E12">12</xref>) yields a cost of &#x1D4AA;(1).</p>
</sec>
</sec>
<sec id="S5">
<label>5</label> <title>Scalable Extension to Multiple Objects</title>
<p>To make the MLMF filter scalable, we introduce an <bold>independence assumption</bold> between the objects and model the joint distribution (equation (<xref ref-type="disp-formula" rid="E22">22</xref>)) as a product of agent&#x02013;object joint distributions:
<disp-formula id="E22"><label>(22)</label><mml:math id="M80"><mml:mi>P</mml:mi><mml:mspace width="0.3em" class="thinspace"/><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:msup><mml:mrow><mml:mi>o</mml:mi></mml:mrow><mml:mrow><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:msup><mml:mo class="MathClass-punc">,</mml:mo><mml:mo class="MathClass-rel">&#x022EF;</mml:mo><mml:mtext>&#x02009;</mml:mtext><mml:mo class="MathClass-punc">,</mml:mo><mml:msup><mml:mrow><mml:mi>O</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mi>M</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:msup><mml:mn>&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mfenced><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mrow><mml:mstyle displaystyle='true'><mml:munderover><mml:mo>&#x0220F;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>M</mml:mi><mml:mo>&#x02212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:munderover></mml:mstyle></mml:mrow><mml:mi>P</mml:mi><mml:mspace width="0.3em" class="thinspace"/><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:msubsup><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:msubsup><mml:mo class="MathClass-punc">,</mml:mo><mml:msup><mml:mrow><mml:mi>O</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:msup><mml:mn>&#x0007C;</mml:mn><mml:msubsup><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:msubsup><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mfenced><mml:mo class="MathClass-punc">.</mml:mo></mml:math></disp-formula></p>
<p>The measurement variable <italic>Y<sub>t</sub></italic>, is the vector of all agent&#x02013;object measurements, <inline-formula><mml:math id="M81"><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:msup><mml:mrow><mml:mfenced separators="" open="[" close="]"><mml:mrow><mml:msubsup><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><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:msubsup><mml:mo class="MathClass-punc">,</mml:mo><mml:mo class="MathClass-op">&#x02026;</mml:mo><mml:mo class="MathClass-punc">,</mml:mo><mml:msubsup><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mi>M</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:msubsup></mml:mrow></mml:mfenced></mml:mrow><mml:mrow><mml:mtext>T</mml:mtext></mml:mrow></mml:msup><mml:mspace width="0.3em" class="thinspace"/></mml:math></inline-formula>. Each agent&#x02013;object joint distribution has its own parametrization of the agent&#x02019;s marginal, <inline-formula><mml:math id="M82"><mml:msubsup><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><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:msubsup><mml:mo class="MathClass-punc">,</mml:mo><mml:mo class="MathClass-op">&#x02026;</mml:mo><mml:mo class="MathClass-punc">,</mml:mo><mml:msubsup><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mi>M</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:msubsup></mml:math></inline-formula> which combine to give the overall marginal of the agent <italic>A<sub>t</sub></italic>. The computation of each object marginal <inline-formula><mml:math id="M83"><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msup><mml:mrow><mml:mi>O</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:msup><mml:mn>&#x0007C;</mml:mn><mml:msubsup><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:msubsup></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:math></inline-formula> is independent of the other objects. This is evident from the marginalization, see equations (<xref ref-type="disp-formula" rid="E23">23</xref>) and (<xref ref-type="disp-formula" rid="E24">24</xref>)
<disp-formula id="E23"><label>(23)</label><mml:math id="M84"><mml:mtable columnalign="left" class="align"><mml:mtr><mml:mtd columnalign="right" class="align-odd"><mml:mi>P</mml:mi><mml:mspace width="0.3em" class="thinspace"/><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:msup><mml:mrow><mml:mi>O</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:msup><mml:mn>&#x0007C;</mml:mn><mml:msubsup><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:msubsup><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mfenced><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mrow><mml:mstyle displaystyle='true'><mml:munder><mml:mo>&#x02211;</mml:mo><mml:mrow><mml:msubsup><mml:mi>A</mml:mi><mml:mi>t</mml:mi><mml:mrow><mml:mo stretchy='false'>(</mml:mo><mml:mi>i</mml:mi><mml:mo stretchy='false'>)</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:munder></mml:mstyle></mml:mrow><mml:mi>P</mml:mi><mml:mspace width="0.3em" class="thinspace"/><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:msubsup><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:msubsup><mml:mo class="MathClass-punc">,</mml:mo><mml:msup><mml:mrow><mml:mi>O</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:msup><mml:mn>&#x0007C;</mml:mn><mml:msubsup><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:msubsup><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mfenced></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<disp-formula id="E24"><label>(24)</label><mml:math id="M85"><mml:mtable columnalign="left" class="align"><mml:mtr><mml:mtd columnalign="right" class="align-odd"><mml:mi>P</mml:mi><mml:mspace width="0.3em" class="thinspace"/><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mn>&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mfenced><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mrow><mml:mstyle displaystyle='true'><mml:munderover><mml:mo>&#x0220F;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>M</mml:mi><mml:mo>&#x02212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:munderover></mml:mstyle></mml:mrow><mml:mi>P</mml:mi><mml:mspace width="0.3em" class="thinspace"/><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:msubsup><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:msubsup><mml:mn>&#x0007C;</mml:mn><mml:msubsup><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:msubsup><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mfenced><mml:mo class="MathClass-punc">.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
<p>The independence assumption will create an unwanted effect with respect to agent&#x02019;s marginal <italic>P</italic>(<italic>A<sub>t</sub></italic>&#x0007C;<italic>Y</italic> <sub>0:</sub><italic><sub>t</sub></italic>, <italic>u</italic><sub>1:</sub><italic><sub>t</sub></italic>). At initialization the agent marginals should be equal, <inline-formula><mml:math id="M86"><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mn>&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msubsup><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow><mml:mrow><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:msubsup><mml:mn>&#x0007C;</mml:mn><mml:msubsup><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow><mml:mrow><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:msubsup></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:msub><mml:mrow><mml:mo class="MathClass-rel">&#x02200;</mml:mo></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>; however, this is not the case because of equation (<xref ref-type="disp-formula" rid="E24">24</xref>). To overcome this, we define the marginal, <italic>P</italic>(<italic>A<sub>t</sub></italic>&#x0007C;<italic>Y</italic> <sub>0:</sub><italic><sub>t</sub></italic>, <italic>u</italic><sub>1:</sub><italic><sub>t</sub></italic>), of the agent as being the average of all the individual pairs <inline-formula><mml:math id="M87"><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msup><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:msup><mml:mn>&#x0007C;</mml:mn><mml:msubsup><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:msubsup><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:math></inline-formula>
<disp-formula id="E25"><label>(25)</label><mml:math id="M88"><mml:mi>P</mml:mi><mml:mspace width="0.3em" class="thinspace"/><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mn>&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mfenced><mml:mo class="MathClass-punc">:</mml:mo><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mfrac><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>M</mml:mi><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:mfrac><mml:mrow><mml:mstyle displaystyle='true'><mml:munderover><mml:mo>&#x02211;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>M</mml:mi><mml:mo>&#x02212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:munderover></mml:mstyle></mml:mrow><mml:mi>P</mml:mi><mml:mspace width="0.3em" class="thinspace"/><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:msubsup><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:msubsup><mml:mn>&#x0007C;</mml:mn><mml:msubsup><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:msubsup><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mfenced><mml:mspace width="0.3em" class="thinspace"/><mml:mspace width="0.3em" class="thinspace"/><mml:mo class="MathClass-punc">.</mml:mo></mml:math></disp-formula></p>
<p>Figure <xref ref-type="fig" rid="F8">8</xref> (<italic>Right</italic>) depicts the graphical model of the scalable formulation. As each joint distribution pair has its own parametrization of the agent&#x02019;s marginal and these do not subsequently get updated by one another, the information gained by one joint distribution pair is <bold>not transferred</bold>. A solution is to transfer information between the marginals <italic>A</italic><sup>(</sup><italic><sup>i</sup></italic><sup>)</sup> at specific intervals namely when one of the objects is sensed by the agent.</p>
<p>The exchange of information of one joint distribution to another is achieved through the agent&#x02019;s marginals <italic>A</italic><sup>(</sup><italic><sup>i</sup></italic><sup>)</sup> according to Algorithm <xref ref-type="table" rid="TA2">A2</xref>, Appendix <xref ref-type="sec" rid="S13">B</xref>. The measurement update is the same as previously described in Algorithm <xref ref-type="table" rid="TA1">A1</xref> in the case of no positive measurements of the objects. If the agent senses an object, all of the agent marginals of the remaining joint distributions are set to the marginal of the joint distribution pair belonging to the positive measurement <inline-formula><mml:math id="M89"><mml:msubsup><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:msubsup></mml:math></inline-formula>.</p>
<p>Figure <xref ref-type="fig" rid="F9">9</xref> depicts the process of information exchange between object <italic>O</italic><sup>(1)</sup> and <italic>O</italic><sup>(2)</sup> in the event that the agent senses <italic>O</italic><sup>(2)</sup>. Prior to the positive detection, both marginals <inline-formula><mml:math id="M90"><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msubsup><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><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:msubsup><mml:mn>&#x0007C;</mml:mn><mml:msubsup><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><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:msubsup><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M91"><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msubsup><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><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:msubsup><mml:mn>&#x0007C;</mml:mn><mml:msubsup><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><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:msubsup><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:math></inline-formula> occupy the same region and are identical. When the agent senses <italic>O</italic><sup>(2)</sup> the line defined by the measurement likelihood function <inline-formula><mml:math id="M92"><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msubsup><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><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:msubsup><mml:mo class="MathClass-rel">&#x0007C;</mml:mo><mml:msubsup><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><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:msubsup><mml:mo class="MathClass-punc">,</mml:mo><mml:msup><mml:mrow><mml:mi>O</mml:mi></mml:mrow><mml:mrow><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:msup></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:math></inline-formula> becomes a hard constraint implying that both the agent and <italic>O</italic><sup>(2)</sup> have to satisfy this constraint. Figure <xref ref-type="fig" rid="F10">10</xref> shows marginals at initialization, prior contact between the agent and object and the after the measurement (post contact) has been integrated into the marginals (resulting from the joint distributions in Figure <xref ref-type="fig" rid="F9">9</xref>).</p>
<fig position="float" id="F9">
<label>Figure 9</label>
<caption><p>Transfer of information (joint distributions). <italic>Top:</italic> joint distributions of <inline-formula><mml:math id="M65"><mml:mtext mathvariant="italic">P</mml:mtext><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msubsup><mml:mrow><mml:mtext mathvariant="italic">A</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">t</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mtext>1</mml:mtext></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:msubsup><mml:mo class="MathClass-punc">,</mml:mo><mml:msup><mml:mrow><mml:mtext mathvariant="italic">O</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mtext>1</mml:mtext></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:msup><mml:mn>&#x0007C;</mml:mn><mml:msup><mml:mrow><mml:mtext mathvariant="italic">Y</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mtext>1</mml:mtext></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:msup></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M66"><mml:mtext mathvariant="italic">P</mml:mtext><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msubsup><mml:mrow><mml:mtext mathvariant="italic">A</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">t</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mtext>2</mml:mtext></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:msubsup><mml:mo class="MathClass-punc">,</mml:mo><mml:msup><mml:mrow><mml:mtext mathvariant="italic">O</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mtext>2</mml:mtext></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:msup><mml:mn>&#x0007C;</mml:mn><mml:msup><mml:mrow><mml:mtext mathvariant="italic">Y</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mtext>2</mml:mtext></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:msup></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:math></inline-formula> prior sensing, <inline-formula><mml:math id="M67"><mml:msubsup><mml:mrow><mml:mtext mathvariant="italic">Y</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">t</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mtext>2</mml:mtext></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:msubsup><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mtext>1</mml:mtext></mml:math></inline-formula>, see Figure <xref ref-type="fig" rid="F10">10</xref> (<italic>Top right</italic>) for the corresponding marginals. The red and green lines across the joint distributions correspond to the region in which the likelihood functions <inline-formula><mml:math id="M68"><mml:mtext mathvariant="italic">P</mml:mtext><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msubsup><mml:mrow><mml:mtext mathvariant="italic">Y</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">t</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mtext>1</mml:mtext></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:msubsup><mml:mn>&#x0007C;</mml:mn><mml:msubsup><mml:mrow><mml:mtext mathvariant="italic">A</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">t</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mtext>1</mml:mtext></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:msubsup><mml:mo class="MathClass-punc">,</mml:mo><mml:msup><mml:mrow><mml:mtext mathvariant="italic">O</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mtext>1</mml:mtext></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:msup></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M69"><mml:mtext mathvariant="italic">P</mml:mtext><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msubsup><mml:mrow><mml:mtext mathvariant="italic">Y</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">t</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mtext>2</mml:mtext></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:msubsup><mml:mn>&#x0007C;</mml:mn><mml:msubsup><mml:mrow><mml:mtext mathvariant="italic">A</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">t</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mtext>2</mml:mtext></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:msubsup><mml:mo class="MathClass-punc">,</mml:mo><mml:msup><mml:mrow><mml:mtext mathvariant="italic">O</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mtext>2</mml:mtext></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:msup></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:math></inline-formula> will change the joint distributions. The dotted blue lines are to ease the comparison of the joint distributions prior and post sensing. <italic>Bottom right:</italic> After the agent has sensed <italic>O</italic><sup>(2)</sup>, all the probability mass that was not overlapping the green line becomes an infeasible solution to the agent and object locations. At this point the marginals <inline-formula><mml:math id="M70"><mml:mtext mathvariant="italic">P</mml:mtext><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msubsup><mml:mrow><mml:mtext mathvariant="italic">A</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">t</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mtext>1</mml:mtext></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:msubsup><mml:mn>&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mtext mathvariant="italic">u</mml:mtext></mml:mrow><mml:mrow><mml:mtext>1:</mml:mtext><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mo class="MathClass-rel">&#x02260;</mml:mo><mml:mtext mathvariant="italic">P</mml:mtext><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msubsup><mml:mrow><mml:mtext mathvariant="italic">A</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">t</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mtext>2</mml:mtext></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:msubsup><mml:mn>&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mtext mathvariant="italic">u</mml:mtext></mml:mrow><mml:mrow><mml:mtext>1:</mml:mtext><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:math></inline-formula> are no longer equal (see the blue marginals <italic>Top</italic>). <italic>Bottom left:</italic> The constraint imposed by the likelihood function of the second object (green line) is transferred to the joint distribution of the first object according to Algorithm <xref ref-type="table" rid="TA2">A2</xref>. This results in a change in the joint distribution <inline-formula><mml:math id="M71"><mml:mtext mathvariant="italic">P</mml:mtext><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msubsup><mml:mrow><mml:mtext mathvariant="italic">A</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">t</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mtext>1</mml:mtext></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:msubsup><mml:mo class="MathClass-punc">,</mml:mo><mml:msup><mml:mrow><mml:mtext mathvariant="italic">O</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mtext>1</mml:mtext></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:msup><mml:mn>&#x0007C;</mml:mn><mml:msup><mml:mrow><mml:mtext mathvariant="italic">Y</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mtext>1</mml:mtext></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:msup></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:math></inline-formula>, which satisfies the constraints imposed by the agent&#x02019;s marginal from the joint distribution <inline-formula><mml:math id="M72"><mml:mtext mathvariant="italic">P</mml:mtext><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msubsup><mml:mrow><mml:mtext mathvariant="italic">A</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">t</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mtext>2</mml:mtext></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:msubsup><mml:mo class="MathClass-punc">,</mml:mo><mml:msup><mml:mrow><mml:mtext mathvariant="italic">O</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mtext>2</mml:mtext></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:msup><mml:mn>&#x0007C;</mml:mn><mml:msup><mml:mrow><mml:mtext mathvariant="italic">Y</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mtext>2</mml:mtext></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:msup></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:math></inline-formula>.</p></caption>
<graphic xlink:href="frobt-04-00040-g009.tif"/>
</fig>
<fig position="float" id="F10">
<label>Figure 10</label>
<caption><p>Transfer of information (marginals). <italic>Top left:</italic> Initial beliefs of the agent and object&#x02019;s location. The agent moves to the left until it senses object <italic>O</italic><sup>(2)</sup>. <italic>Top right:</italic> Marginals prior the agent entering in contact with the green object, see Figure <xref ref-type="fig" rid="F9">9</xref> (<italic>Top</italic>) for an illustrate of the joint distributions. <italic>Bottom left:</italic> resulting marginals after setting the agent marginals of each joint distribution equal <inline-formula><mml:math id="M63"><mml:msubsup><mml:mrow><mml:mtext mathvariant="italic">A</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">t</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mtext>1</mml:mtext></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:msubsup><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:msubsup><mml:mrow><mml:mtext mathvariant="italic">A</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">t</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mtext>2</mml:mtext></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:msubsup></mml:math></inline-formula> according to Algorithm <xref ref-type="table" rid="TA2">A2</xref>. The object marginal <inline-formula><mml:math id="M64"><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msup><mml:mrow><mml:mi>O</mml:mi></mml:mrow><mml:mrow><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:msup><mml:mn>&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:math></inline-formula> is recomputed. <italic>Bottom Right:</italic> resulting marginals in which the objects have no influence on one another. Note that a transfer of information has caused a change in the marginal <italic>O</italic><sup>(1)</sup>.</p></caption>
<graphic xlink:href="frobt-04-00040-g010.tif"/>
</fig>
<p>The result of introducing a dependency between the objects through the agent&#x02019;s marginals in the event of a sensing and treating them independently gives the same solution as the histogram filter in this particular case. However, as each individual marginal <inline-formula><mml:math id="M93"><mml:msubsup><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:msubsup></mml:math></inline-formula> diverges from the other marginals, the filtered solution will diverge from the histogram&#x02019;s solution. We assume, however, that the objects are weakly dependent and sharing information during positive sensing events is sufficient. In section <xref ref-type="sec" rid="S6-9">6.2</xref>, we will evaluate the independence assumption with respect to the histogram filter. Table <xref ref-type="table" rid="T2">2</xref> summarizes the time and space complexity for the three filters.</p>
<table-wrap position="float" id="T2">
<label>Table 2</label>
<caption><p>Time and space complexity summary.</p></caption>
<table frame="hsides" rules="groups">
<thead>
<tr>
<th align="center"/>
<th align="center"><bold>Space</bold></th>
<th align="center"><bold>Time</bold></th>
</tr>
</thead>
<tbody>
<tr>
<td align="left">Histogram</td>
<td align="center">&#x1D4AA;(<italic>N<sup>M</sup></italic>)</td>
<td align="center">&#x1D4AA;(<italic>N<sup>M</sup></italic>)</td>
</tr>
<tr>
<td align="left">MLMF</td>
<td align="center">&#x1D4AA;(<italic>M N</italic>)</td>
<td align="center">&#x1D4AA;(<italic>N</italic><sup>(</sup><italic><sup>M&#x02009;</sup></italic><sup>&#x02212;&#x02009;1)</sup>)</td>
</tr>
<tr>
<td align="left">Scalable-MLMF</td>
<td align="center">&#x1D4AA;(<italic>M N</italic>)</td>
<td align="center">&#x1D4AA;(<italic>M N</italic>)</td>
</tr>
</tbody>
</table>
<table-wrap-foot>
<p><italic>For both MLMF and scalable-MLMF, the worst-case scenario is reported for the space complexity</italic>.</p>
</table-wrap-foot>
</table-wrap>
</sec>
<sec id="S6">
<label>6</label> <title>Evaluation</title>
<p>We conduct three different types of evaluation to quantify the scalability and correctness of the scalable-MLMF filter. The first experiment tests the scalability of our filter in terms of processing time taken per motion-measurement update cycle. The second experiment evaluates the independence assumption made in the scalable-MLMF filter between the objects. The third and final experiment determines the effect of the memory size on a search policy to locate all the objects in the <italic>Table</italic> world.</p>
<sec id="S6-8">
<label>6.1</label> <title>Evaluation of Time Complexity</title>
<p>We measured the time taken by the motion-measurement update loop, as a function of the number beliefs and number of states per belief. We started with 100 states per belief and gradually increase it to 10,000,000 over 50 steps. Each of the 50 steps treated 2&#x02013;25 objects. Figure <xref ref-type="fig" rid="F11">11</xref> (<italic>Left</italic>) illustrates the computational cost as a function of number of states and objects. For each state-object pair 100, motion-measurement updates were performed. Most of the trials returned time updates below 1&#x02009;Hz. Figure <xref ref-type="fig" rid="F11">11</xref> (<italic>Right</italic>) shows the computational cost as a function of the number of states plotted for 6 different filter runs with a different number of objects. As the number of states increases exponentially so does the computational cost. Note the cost increases at the same rate as the number of states, which increase at a rate exponential in the number of random variables, meaning that the computational complexity is linear with respect to the number of states. This result is in agreement with the asymptotic time complexity.</p>
<fig position="float" id="F11">
<label>Figure 11</label>
<caption><p>Time complexity: <italic>Left:</italic> mean time taken for a loop update (motion and measurement) as a function of the number of states in a marginal and the number of objects present. <italic>Right:</italic> Log&#x02013;log plot of time taken for a loop update with respect to the number of states in the marginal. The color coded lines are associated with the number of objects present. As the number of states increases exponentially the computational cost matches it.</p></caption>
<graphic xlink:href="frobt-04-00040-g011.tif"/>
</fig>
</sec>
<sec id="S6-9">
<label>6.2</label> <title>Evaluation of the Independence Assumption</title>
<p>In section <xref ref-type="sec" rid="S5">5</xref>, we made the assumption (for scalability reasons) that the objects&#x02019; beliefs are independent of one another. This assumption is validated by comparing the MLMF filter on three random variables, an agent and two objects, with the ground truth, which we obtain from the standard histogram filter. For each of the three beliefs (the agent and two objects), 100 different marginals were generated and the true locations (actual position of the agent and objects) were sampled. Figure <xref ref-type="fig" rid="F12">12</xref> (<italic>Top left</italic>) illustrates one instance of the initialization of the agent and object marginals with their associated sampled true position. The agent carries out a sweep of the state space for each of the marginals and the policy is saved and run with the scalable-MLMF filter. In the first experiment, we assumed that the objects are completely independent and that there was no transfer of information between the pair-wise joint distributions. In the second and third experiments, there is an exchange of information as described in Algorithm <xref ref-type="table" rid="TA2">A2</xref>. Here, we compare the effect of using the product of the agent&#x02019;s marginals, equation (<xref ref-type="disp-formula" rid="E24">24</xref>), with the average of the marginals, equation (<xref ref-type="disp-formula" rid="E25">25</xref>). We expect the average of the agent&#x02019;s marginal to yield a result closer to the ground truth as the marginal of the agent <italic>P</italic>(<italic>A<sub>t</sub></italic>&#x0007C;<italic>Y</italic> <sub>0:</sub><italic><sub>t</sub></italic>, <italic>u</italic><sub>1:</sub><italic><sub>t</sub></italic>) at initialization is the same as the ground truth (the histogram-SLAM&#x02019;s). As for the marginal of the objects <italic>P</italic>(<italic>O</italic><sup>(</sup><italic><sup>i</sup></italic><sup>)</sup>&#x0007C;<italic>Y</italic> <sub>0:</sub><italic><sub>t</sub></italic>), we expect the difference between them to be independent of whether the product or average of the agent&#x02019;s marginal is used. This results from Algorithm <xref ref-type="table" rid="TA2">A2</xref>. When an object <italic>i</italic> is sensed all the corresponding agent marginals <italic>P</italic>(<italic>A</italic><sup>(</sup><italic><sup>j</sup></italic><sup>)</sup>&#x0007C;<italic>u</italic><sub>1:</sub><italic><sub>t</sub></italic>) are set equal to <italic>P</italic>(<italic>A</italic><sup>(</sup><italic><sup>i</sup></italic><sup>)</sup>&#x0007C;<italic>u</italic><sub>1:</sub><italic><sub>t</sub></italic>) and not to <italic>P</italic>(<italic>A<sub>t</sub></italic>&#x0007C;<italic>Y</italic> <sub>0:</sub><italic><sub>t</sub></italic>, <italic>u</italic><sub>1:</sub><italic><sub>t</sub></italic>). This is a design decision of our information transfer heuristic. There are many other possibilities but this is one of the simplest. For each of the 100 sweeps, the ground truth is compared with the scalable-MLMF using the Hellinger distance (equation (<xref ref-type="disp-formula" rid="E26">26</xref>))
<disp-formula id="E26"><label>(26)</label><mml:math id="M94"><mml:mi>H</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mi>P</mml:mi><mml:mo class="MathClass-punc">,</mml:mo><mml:mi>Q</mml:mi></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mfrac><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:msqrt><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msqrt></mml:mrow></mml:mfrac><mml:mtext>&#x02009;</mml:mtext><mml:mstyle mathsize="1.61em"><mml:mfenced separators="" open="&#x02225;" close=""><mml:mrow><mml:mtext>&#x02009;</mml:mtext></mml:mrow></mml:mfenced></mml:mstyle><mml:msqrt><mml:mrow><mml:mi>P</mml:mi></mml:mrow></mml:msqrt><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:msqrt><mml:mrow><mml:mi>Q</mml:mi></mml:mrow></mml:msqrt><mml:msub><mml:mrow><mml:mstyle mathsize="1.61em"><mml:mfenced separators="" open="&#x02225;" close=""><mml:mrow><mml:mtext>&#x02009;</mml:mtext></mml:mrow></mml:mfenced></mml:mstyle></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></disp-formula>
which is a metric that measures the distance between two probability distributions. Its value lies strictly between 0 (the two distributions are identical) and 1 (no overlap between them). Figure <xref ref-type="fig" rid="F12">12</xref> shows the kernel density distribution of the Hellinger distances taken at each time step for all 100 sweeps. In the <italic>Top left</italic> of the figure, for the case when no transfer of information is a applied, all the marginals are far from the ground truth. This results from the introduction of the independence assumption, necessary to scale the MLMF. Figure <xref ref-type="fig" rid="F12">12</xref> (<italic>Bottom</italic>) shows the results for difference between the product and average of the agents marginals. As expected, there is no difference between the objects&#x02019; marginals when considering both methods (product and average) with respect to the ground truth. The predominant difference occurs in the agent&#x02019;s marginal <italic>P</italic>(<italic>A<sub>t</sub></italic>&#x0007C;<italic>Y</italic> <sub>0:</sub><italic><sub>t</sub></italic>, <italic>u</italic><sub>1:</sub><italic><sub>t</sub></italic>). This is also expected and prompted the introduction of the average method instead of the product.</p>
<fig position="float" id="F12">
<label>Figure 12</label>
<caption><p>Comparison of scalable-MLMF and the histogram filter. A deterministic sweep policy was carried out for 100 different initializations of the agent and object beliefs. <italic>Top left</italic>: one particular Initialization of the agent and object random variables. The true position of the agent and objects was sampled at random. The black arrow indicates the general policy, which was followed for each of the 100 sweeps. These were performed for <bold>(1)</bold> scalable-MLMF with objects considered to be independent at all times (Algorithm <xref ref-type="table" rid="TA2">A2</xref>). <bold>(2)</bold> Agent marginal <italic>P</italic>(<italic>A<sub>t</sub></italic>&#x0007C;<italic>Y</italic> <sub>0:</sub><italic><sub>t</sub></italic>, <italic>u</italic><sub>1:</sub><italic><sub>t</sub></italic>) is the product of marginals <inline-formula><mml:math id="M95"><mml:mtext mathvariant="italic">P</mml:mtext><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msubsup><mml:mrow><mml:mtext mathvariant="italic">A</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">t</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mtext mathvariant="italic">i</mml:mtext></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:msubsup><mml:mn>&#x0007C;</mml:mn><mml:msubsup><mml:mrow><mml:mtext mathvariant="italic">Y</mml:mtext></mml:mrow><mml:mrow><mml:mn>0:</mml:mn><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mtext mathvariant="italic">i</mml:mtext></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:msubsup><mml:mo class="MathClass-punc">,</mml:mo><mml:mtext>&#x02009;</mml:mtext><mml:msub><mml:mrow><mml:mtext mathvariant="italic">u</mml:mtext></mml:mrow><mml:mrow><mml:mtext>1:</mml:mtext><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:math></inline-formula>, equation (<xref ref-type="disp-formula" rid="E24">24</xref>). <bold>(3)</bold> Marginal <italic>P</italic>(<italic>A<sub>t</sub></italic>&#x0007C;<italic>Y</italic> <sub>0:</sub><italic><sub>t</sub></italic>, <italic>u</italic><sub>1:</sub><italic><sub>t</sub></italic>) is taken to be the average of all marginals <inline-formula><mml:math id="M96"><mml:mtext mathvariant="italic">P</mml:mtext><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msubsup><mml:mrow><mml:mtext mathvariant="italic">A</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">t</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mtext mathvariant="italic">i</mml:mtext></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:msubsup><mml:mn>&#x0007C;</mml:mn><mml:msubsup><mml:mrow><mml:mtext mathvariant="italic">Y</mml:mtext></mml:mrow><mml:mrow><mml:mn>0:</mml:mn><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mtext mathvariant="italic">i</mml:mtext></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:msubsup><mml:mo class="MathClass-punc">,</mml:mo><mml:mtext>&#x02009;</mml:mtext><mml:msub><mml:mrow><mml:mtext mathvariant="italic">u</mml:mtext></mml:mrow><mml:mrow><mml:mtext>1:</mml:mtext><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:math></inline-formula>, equation (<xref ref-type="disp-formula" rid="E25">25</xref>). For each of these three experiments, we report the kernel density estimation over the Hellinger distances taken at every time step between ground truth (from histogram filter) and scalable-MLMF.</p></caption>
<graphic xlink:href="frobt-04-00040-g012.tif"/>
</fig>
<p>The scalable-MLMF information exchange heuristic will not lead to any of the objects marginals probability mass being falsely removed during the information transfer, which is close to a winner-take-all approach in terms of beliefs. When object <italic>i</italic> is sensed its associated agent marginal is set to all other agent&#x02013;object joint pairs, which results in the information accumulated in the <italic>j</italic>th agent marginals being replaced by the <italic>i</italic>th.</p>
</sec>
<sec id="S6-10">
<label>6.3</label> <title>Evaluation of Memory</title>
<p>The memory measurement likelihood function <italic>P</italic>(<italic>Y</italic> <sub>0:</sub><italic><sub>t</sub></italic>&#x0007C;<italic>A<sub>t</sub></italic>, <italic>O</italic>, <italic>u</italic><sub>1:</sub><italic><sub>t</sub></italic>; &#x003A8;<sub>0:</sub><italic><sub>t</sub></italic>) is parameterized by the history of all the measurement likelihood functions that have been applied to the joint distribution since initialization. As detailed earlier, there can be no more than &#x0007C;&#x003A8;<sub>0:</sub><italic><sub>t</sub></italic>&#x0007C;&#x02009;&#x02264;&#x02009;<italic>N</italic> different measurement likelihood functions added to memory. In the case of a very large state space, this might be cumbersome. We investigate how restricting the memory size, the number of parameters &#x0007C;&#x003A8;<sub>0:</sub><italic><sub>t</sub></italic>&#x0007C;, can impact on the decision process in an Active-SLAM setting. Given our setup, a breadth-first search in the action space is chosen with a one-time step horizon, making it a greedy algorithm. The objective function utilized is the information gain of the beliefs after applying an action (equation (<xref ref-type="disp-formula" rid="E27">27</xref>))
<disp-formula id="E27"><label>(27)</label><mml:math id="M97"><mml:mtable columnalign="left" class="align"><mml:mtr><mml:mtd columnalign="right" class="align-odd"><mml:msub><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:msub><mml:mrow><mml:mtext>arg&#x02009;max</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mi>H</mml:mi><mml:mspace width="0.3em" class="thinspace"/><mml:mfenced separators="" open="{" close="}"><mml:mrow><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mi>O</mml:mi><mml:mn>&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:mfenced><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="double-struck">E</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mtext>&#x02009;</mml:mtext><mml:mfenced separators="" open="[" close="]"><mml:mrow><mml:mi>H</mml:mi><mml:mspace width="0.3em" class="thinspace"/><mml:mfenced separators="" open="{" close="}"><mml:mrow><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mi>O</mml:mi><mml:mn>&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:mfenced></mml:mrow></mml:mfenced><mml:mo class="MathClass-punc">.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
<p>For each action the filter is run forward in time and all future measurements since we cannot know ahead of time the actual measurement. The information gain is the difference between the current entropy (defined by <italic>H</italic>{&#x022C5;}) and the future entropy after the simulated motion and measurement update. The action with the highest information gain is subsequently selected. This is repeated at each time step. Figure <xref ref-type="fig" rid="F13">13</xref> illustrates the environment setup for a 1D and 2D case. The agent&#x02019;s task is to find the objects in the environment.</p>
<fig position="float" id="F13">
<label>Figure 13</label>
<caption><p>Agent&#x02019;s prior beliefs. Two types of environment, the first is a 2D world where the agent lives in a square surrounded by a wall while the second is a 1D world. In the 2D figures, the agent is illustrated by a circle with a bar to indicate its heading. The true location of the objects is represented by color coded squares. <italic>Top row</italic>, <bold>(A&#x02013;C)</bold> three different initializations of the agent&#x02019;s location. <italic>Bottom row</italic>, <bold>(D)</bold> the agent&#x02019;s prior beliefs with respect to the location of the first object and <bold>(E)</bold> belief of the second object&#x02019;s location. <italic>Bottom row</italic>, <bold>(F)</bold> 1D world with one object.</p></caption>
<graphic xlink:href="frobt-04-00040-g013.tif"/>
</fig>
<p>For the 2D search, we consider three different initializations (single-Gaussian, four-Gaussian, Uniform) for the agent&#x02019;s belief where there are two objects to be found. Ten searches are carried out for each of the three initializations of the agent&#x02019;s beliefs. The agent&#x02019;s true location, for each search, is sampled from its initial belief, and the objects&#x02019; locations (red and green squares in Figure <xref ref-type="fig" rid="F13">13</xref>) are kept fixed throughout all searches. Each search is repeated for 18 different memory sizes ranging from 1 to <italic>N</italic> (the number of states). For the 1D search case, one object is considered since adding more objects makes the search easier and the interest lies in the memory effects of the search and not the search itself. In Figures <xref ref-type="fig" rid="F14">14</xref> and <xref ref-type="fig" rid="F15">15</xref>, we report on the time taken to find all objects with respect to a given memory size, which is shown as the percentage of the total number of states. In the 1D search case, the time variability taken to find the object converges when the memory size is at 60% of the original state space. As for the 2D search with 2 beliefs (agent and 1 object), the convergence depends on the agent&#x02019;s initial belief. For the 1-Gaussian (green line), all searches take approximately the same amount of time after a memory size of 9%. As for the remaining two initializations, convergence is achieved at 48%. The same holds true for the case of 3 beliefs (agent and 2 objects).</p>
<fig position="float" id="F14">
<label>Figure 14</label>
<caption><p>Memory size vs time to find object in 1D. Results of the effect of the memory size on the decision process for the 1D search illustrated in Figure <xref ref-type="fig" rid="F13">13</xref>F. The memory size is reported as the percentage of total number of states present in the marginal space. At 100%, the size of the memory is equal to that of the state space, <italic>N</italic>&#x02009;&#x0003D;&#x02009;100 in this case. A total sweep of the entire state space would result in a total of 200 steps, the dotted gray line in the figure. When no restrictions are placed on the memory size, the policy following the greedy approach takes around 180 steps. This result converges when the number of parameters &#x0007C;&#x003A8;<sub>0:</sub><italic><sub>t</sub></italic>&#x0007C; of the memory likelihood function is greater than 50% of the original state space.</p></caption>
<graphic xlink:href="frobt-04-00040-g014.tif"/>
</fig>
<fig position="float" id="F15">
<label>Figure 15</label>
<caption><p>Memory size vs time to find objects in 2D. The initial beliefs correspond to those of Figure <xref ref-type="fig" rid="F13">13</xref>A for Gaussian (green line), Figure <xref ref-type="fig" rid="F13">13</xref>B for 4 Gaussians (red line), and Figure <xref ref-type="fig" rid="F13">13</xref>C for uniform (blue line), both objects are initialized according to Figures <xref ref-type="fig" rid="F13">13</xref>D,E.</p></caption>
<graphic xlink:href="frobt-04-00040-g015.tif"/>
</fig>
<p>In the 2D searches, the memory size has a less impact on the time taken to find the objects than in the 1D (which is a special search case). Only when the memory size is less than 6% is there a significant change. We conclude that at least in the case of the greedy one-step look-ahead planner that is frequently used in the literature, the size of the memory seems not to be a limiting factor in terms of the time taken to accomplish the search.</p>
</sec>
</sec>
<sec id="S7">
<label>7</label> <title>Conclusion</title>
<p>This work addresses the Active-SLAM filtering problem for scenarios in which sensory information relating to the map is very limited. Current SLAM algorithms filter the errors originating from sensory measurements and not prior uncertainty. By making the assumption that the joint distribution of all the random variables is a multivariate Gaussian, inference is tractable. Since the origin of the uncertainty does not originate from the measurement noise, no assumption can be made about the structure of the joint distribution. In this case, a suitable filter would be the histogram, which makes no assumption about the shape or form taken by the joint distribution. However, the space and time complexity are exponential with respect to the number random variables, and this is a major limiting factor for scalability.</p>
<p>The main contribution of this work is a formulation of a histogram Bayesian state space estimator in which the computational complexity is both linear in time and space. A different approach to other SLAM formulations as been taken in the sense that the joint distribution is not explicitly parameterized avoiding the exponential increase in parameter space, which would otherwise have been the case. The MLMF parameters consist of the marginals and the history of measurement functions, which have been applied. By solely evaluating the joint distribution at the states that are affected by the current measurement function while taking into account the memory, the MLMF filter obtains the same filtered marginals as the histogram filter. Further, the worst-case space complexity is linear rather than exponential, and the time complexity remains exponential but increases at lower rate than in the histogram filter. In striving to make the filter scalable, we make the assumption that the objects are independent. An individual MLMF is used for each agent&#x02013;object pair. We evaluate the difference between the scalable-MLMF with a ground truth provided by the histogram filter for 100 different searches with respect to the Hellinger distance. We conclude that the divergence is relatively small and thus the scalable-MLMF filter provides a good approximation to the true filtered marginals. We evaluate the time taken to perform a motion-update loop for different discretizations of the state space (100&#x02013;10,000,000 states) and number of objects (2&#x02013;25). In most of the cases, we achieve an update cycle rate below 1&#x02009;Hz. We evaluate how the increase of the number of states affects the computational cost and find the relationship to be linear and thus in agreement with our analysis of the asymptotic growth rate. We analyze the effect of the memory size (the remembered number of measurement likelihood functions) on the decision-theoretic process of reducing the uncertainty of the map and agent during a search task. We conclude that in the 2D case the memory size has much less effect than in the 1D case and that it is unnecessary to remember every single measurement function.</p>
<p>This implies that the MLMF and scalable-MLMF that we have are a computationally tractable means of performing SLAM in a case scenario in which mostly negative information is present and the joint distribution cannot be assumed to have any specific structure. Furthermore, the filter can be used at a higher cognitive level than the processing of raw sensory information as is often the case in Active-SLAM. MLMF would be well suited for reasoning tasks where the robot&#x02019;s field of view is limited.</p>
<p>An interesting future extension could be to make the original MLMF filter scalable without introducing assumptions. One possibility could to be to consider Monte Carlo integration methods for inference. These can scale well to high dimensional spaces while still providing reliable estimates. A second possibility could be to investigate the use of Gaussian Mixtures as a form of parameterization of the marginals to blend our filter with EKF-SLAM. This would allow the parameters to grow quadratically with respect to the dimension of the marginal space as opposed to exponentially as is the case with the histogram and MLMF filters.</p>
</sec>
<sec id="S8">
<title>Author Contributions</title>
<p>GC: theory, implementation, analysis, and wrote manuscript. AB: guidance on theory and manuscript.</p>
</sec>
<sec id="S9">
<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="S10" sec-type="supplementary-material">
<title>Supplementary Material</title>
<p>The Supplementary Material for this article can be found online at <uri xlink:href="http://journal.frontiersin.org/article/10.3389/frobt.2017.00040/full&#x00023;supplementary-material">http://journal.frontiersin.org/article/10.3389/frobt.2017.00040/full&#x00023;supplementary-material</uri>.</p>
<supplementary-material xlink:href="video_1.mp4" id="SM1" mimetype="applicationn/mp4" xmlns:xlink="http://www.w3.org/1999/xlink">
<label>Video S1</label>
<caption><p>Top left : initial marginals, the blue and red probability density functions (solid red and blue) represent the belief the agent has of his position and that of the object being searched. Bottom right: product of the original marginals (dashed blue and red in top left figure) and the current likelihood function. Bottom left: the memory likelihood functions (equation (<xref ref-type="disp-formula" rid="E15">15</xref>)) which is the product of all likelihood functions. Top right: the joint distribution, which is result of the product of both functions in the bottom figures. The marginalization of the joint distribution would result in solid blue and red marginals, depicted in the top left figure. The marginalization is computed at each step along the pink line illustrated in the bottom right figure. This avoids performing an expensive margnisalization over the entire joint distribution.</p></caption>
</supplementary-material>
<supplementary-material xlink:href="video_2.mp4" id="SM2" mimetype="applicationn/mp4" xmlns:xlink="http://www.w3.org/1999/xlink">
<label>Video S2</label>
<caption><p>2D search example of an experiment illustrated in Figure <xref ref-type="fig" rid="F13">13</xref>. The agent has to locate the red square. As the agent reduces his uncertainty by using the wall, this propegates to the entire object marginal (shown in red).</p></caption>
</supplementary-material>
<supplementary-material xlink:href="video_3.mp4" id="SM3" mimetype="applicationn/mp4" xmlns:xlink="http://www.w3.org/1999/xlink">
<label>Video S3</label>
<caption><p>2D search example of an experiment illustrated in Figure <xref ref-type="fig" rid="F13">13</xref>. The agent must locate two objects (red and green). When the agent locates the red object, their marginals become the same, as both of them have to be located at the same point.</p></caption>
</supplementary-material>
</sec>
<ref-list>
<title>References</title>
<ref id="B1"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Arulampalam</surname> <given-names>M.</given-names></name> <name><surname>Maskell</surname> <given-names>S.</given-names></name> <name><surname>Gordon</surname> <given-names>N.</given-names></name> <name><surname>Clapp</surname> <given-names>T.</given-names></name></person-group> (<year>2002</year>). <article-title>A tutorial on particle filters for online nonlinear/non-Gaussian Bayesian tracking</article-title>. <source>Trans. Sig. Process.</source> <volume>50</volume>, <fpage>174</fpage>&#x02013;<lpage>188</lpage>.<pub-id pub-id-type="doi">10.1109/78.978374</pub-id></citation></ref>
<ref id="B2"><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Bailey</surname> <given-names>T.</given-names></name> <name><surname>Nieto</surname> <given-names>J.</given-names></name> <name><surname>Nebot</surname> <given-names>E.</given-names></name></person-group> (<year>2006</year>). &#x0201C;<article-title>Consistency of the FastSLAM algorithm</article-title>,&#x0201D; in <conf-name>International Conference on Robotics and Automation (ICRA)</conf-name>, <conf-loc>Sydney</conf-loc>, <fpage>424</fpage>&#x02013;<lpage>429</lpage>.</citation></ref>
<ref id="B3"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Bake</surname> <given-names>C.</given-names></name> <name><surname>Tenenbaum</surname> <given-names>J.</given-names></name> <name><surname>Saxe</surname> <given-names>R.</given-names></name></person-group> (<year>2011</year>). <article-title>Bayesian theory of mind: modeling joint belief-desire attribution</article-title>. <source>J. Cognit. Sci.</source> <volume>33</volume>, <fpage>2469</fpage>&#x02013;<lpage>2474</lpage>.</citation></ref>
<ref id="B4"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Cadena</surname> <given-names>C.</given-names></name> <name><surname>Carlone</surname> <given-names>L.</given-names></name> <name><surname>Carrillo</surname> <given-names>H.</given-names></name> <name><surname>Latif</surname> <given-names>Y.</given-names></name> <name><surname>Scaramuzza</surname> <given-names>D.</given-names></name> <name><surname>Neira</surname> <given-names>J.</given-names></name> <etal/></person-group> (<year>2016</year>). <article-title>Past, present, and future of simultaneous localization and mapping: towards the robust-perception age</article-title>. <source>Trans. Robot.</source> <volume>32</volume>, <fpage>13091332</fpage>.<pub-id pub-id-type="doi">10.1109/TRO.2016.2624754</pub-id></citation></ref>
<ref id="B5"><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>de Chambrier</surname> <given-names>G.</given-names></name> <name><surname>Billard</surname> <given-names>A.</given-names></name></person-group> (<year>2013</year>). &#x0201C;<article-title>Learning search behaviour from humans</article-title>,&#x0201D; in <conf-name>International Conference on Robotics and Biomimetics (ROBIO)</conf-name>, <conf-loc>Shenzhen</conf-loc>, <fpage>573</fpage>&#x02013;<lpage>580</lpage>.</citation></ref>
<ref id="B6"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Durrant-Whyte</surname> <given-names>H.</given-names></name> <name><surname>Bailey</surname> <given-names>T.</given-names></name></person-group> (<year>2006</year>). <article-title>Simultaneous localisation and mapping (SLAM): part I the essential algorithms</article-title>. <source>Robot. Automat. Mag.</source> <volume>13</volume>, <fpage>99</fpage>&#x02013;<lpage>110</lpage>.<pub-id pub-id-type="doi">10.1109/mra.2006.1638022</pub-id></citation></ref>
<ref id="B7"><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Engel</surname> <given-names>J.</given-names></name> <name><surname>Sch&#x000F6;ps</surname> <given-names>T.</given-names></name> <name><surname>Cremers</surname> <given-names>D.</given-names></name></person-group> (<year>2014</year>). &#x0201C;<article-title>LSD-SLAM: large-scale direct monocular SLAM</article-title>,&#x0201D; in <conf-name>European Conference on Computer Vision (ECCV)</conf-name>, <conf-loc>Zurich</conf-loc>.</citation></ref>
<ref id="B8"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Grisetti</surname> <given-names>G.</given-names></name> <name><surname>Kummerle</surname> <given-names>R.</given-names></name> <name><surname>Stachniss</surname> <given-names>C.</given-names></name> <name><surname>Burgard</surname> <given-names>W.</given-names></name></person-group> (<year>2010</year>). <article-title>A tutorial on graph-based slam</article-title>. <source>IEEE Intell. Transp. Syst. Mag.</source> <volume>2</volume>, <fpage>31</fpage>&#x02013;<lpage>43</lpage>.<pub-id pub-id-type="doi">10.1109/MITS.2010.939925</pub-id></citation></ref>
<ref id="B9"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Hesch</surname> <given-names>J.</given-names></name> <name><surname>Kottas</surname> <given-names>D.</given-names></name> <name><surname>Bowman</surname> <given-names>S.</given-names></name> <name><surname>Roumeliotis</surname> <given-names>S.</given-names></name></person-group> (<year>2014</year>). <article-title>Consistency analysis and improvement of vision-aided inertial navigation</article-title>. <source>Trans. Robot.</source> <volume>30</volume>, <fpage>158</fpage>&#x02013;<lpage>176</lpage>.<pub-id pub-id-type="doi">10.1109/TRO.2013.2277549</pub-id></citation></ref>
<ref id="B10"><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Hidalgo</surname> <given-names>F.</given-names></name> <name><surname>Brunl</surname> <given-names>T.</given-names></name></person-group> (<year>2015</year>). &#x0201C;<article-title>Review of underwater slam techniques</article-title>,&#x0201D; in <conf-name>2015 6th International Conference on Automation, Robotics and Applications (ICARA)</conf-name>, <conf-loc>Queenstown</conf-loc>, <fpage>306</fpage>&#x02013;<lpage>311</lpage>.</citation></ref>
<ref id="B11"><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Hoffman</surname> <given-names>J.</given-names></name> <name><surname>Spranger</surname> <given-names>M.</given-names></name> <name><surname>Gohring</surname> <given-names>D.</given-names></name> <name><surname>Jungel</surname> <given-names>M.</given-names></name></person-group> (<year>2005</year>). &#x0201C;<article-title>Making use of what you don&#x02019;t see: negative information in Markov localization</article-title>,&#x0201D; in <conf-name>International Conference on Intelligent Robots and Systems (IROS)</conf-name>, <conf-loc>Chicago</conf-loc>, <fpage>2947</fpage>&#x02013;<lpage>2952</lpage>.</citation></ref>
<ref id="B12"><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Hoffmann</surname> <given-names>J.</given-names></name> <name><surname>Spranger</surname> <given-names>M.</given-names></name> <name><surname>Gohring</surname> <given-names>D.</given-names></name> <name><surname>Jungel</surname> <given-names>M.</given-names></name> <name><surname>Burkhard</surname> <given-names>H.-D.</given-names></name></person-group> (<year>2006</year>). &#x0201C;<article-title>Further studies on the use of negative information in mobile robot localization</article-title>,&#x0201D; in <conf-name>International Conference on Robotics and Automation (ICRA)</conf-name>, <conf-loc>Orlando</conf-loc>, <fpage>62</fpage>&#x02013;<lpage>67</lpage>.</citation></ref>
<ref id="B13"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Huang</surname> <given-names>G.</given-names></name> <name><surname>Mourikis</surname> <given-names>A.</given-names></name> <name><surname>Roumeliotis</surname> <given-names>S.</given-names></name></person-group> (<year>2013</year>). <article-title>A quadratic-complexity observability-constrained unscented Kalman filter for SLAM</article-title>. <source>Trans. Robot.</source> <volume>29</volume>, <fpage>1226</fpage>&#x02013;<lpage>1243</lpage>.<pub-id pub-id-type="doi">10.1109/TRO.2013.2267991</pub-id></citation></ref>
<ref id="B14"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Ila</surname> <given-names>V.</given-names></name> <name><surname>Polok</surname> <given-names>L.</given-names></name> <name><surname>Solony</surname> <given-names>M.</given-names></name> <name><surname>Svoboda</surname> <given-names>P.</given-names></name></person-group> (<year>2017</year>). <article-title>Slam&#x0002B;&#x0002B; &#x02013; a highly efficient and temporally scalable incremental slam framework</article-title>. <source>Int. J. Robot. Res.</source> <volume>36</volume>, <fpage>210</fpage>&#x02013;<lpage>230</lpage>.<pub-id pub-id-type="doi">10.1177/0278364917691110</pub-id></citation></ref>
<ref id="B15"><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Kuemmerle</surname> <given-names>R.</given-names></name> <name><surname>Grisetti</surname> <given-names>G.</given-names></name> <name><surname>Strasdat</surname> <given-names>H.</given-names></name> <name><surname>Konolige</surname> <given-names>K.</given-names></name> <name><surname>Burgard</surname> <given-names>W.</given-names></name></person-group> (<year>2011</year>). &#x0201C;<article-title>g2o: A general framework for graph optimization</article-title>,&#x0201D; in <conf-name>International Conference on Robotics and Automation (ICRA)</conf-name>, <conf-loc>Shanghai</conf-loc>, <fpage>3607</fpage>&#x02013;<lpage>3613</lpage>.</citation></ref>
<ref id="B16"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Li</surname> <given-names>M.</given-names></name> <name><surname>Mourikis</surname> <given-names>A. I.</given-names></name></person-group> (<year>2013</year>). <article-title>High-precision, consistent EKF-based visual-inertial odometry</article-title>. <source>Int. J. Robot. Res.</source> <volume>32</volume>, <fpage>690</fpage>&#x02013;<lpage>711</lpage>.<pub-id pub-id-type="doi">10.1177/0278364913481251</pub-id></citation></ref>
<ref id="B17"><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Montemerlo</surname> <given-names>M.</given-names></name> <name><surname>Thrun</surname> <given-names>S.</given-names></name></person-group> (<year>2003</year>). &#x0201C;<article-title>Simultaneous localization and mapping with unknown data association using FastSLAM</article-title>,&#x0201D; in <conf-name>International Conference on Robotics and Automation (ICRA)</conf-name>, Vol. <volume>2</volume>. <conf-loc>Acapulco</conf-loc>, <fpage>1985</fpage>&#x02013;<lpage>1991</lpage>.</citation></ref>
<ref id="B18"><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Montemerlo</surname> <given-names>M.</given-names></name> <name><surname>Thrun</surname> <given-names>S.</given-names></name> <name><surname>Koller</surname> <given-names>D.</given-names></name> <name><surname>Wegbreit</surname> <given-names>B.</given-names></name></person-group> (<year>2003</year>). &#x0201C;<article-title>FastSLAM 2.0: an improved particle filtering algorithm for simultaneous localization and mapping that provably converges</article-title>,&#x0201D; in <conf-name>International Conference on Artificial Intelligence (IJCAI)</conf-name>, <conf-loc>Taipei</conf-loc>, <fpage>1151</fpage>&#x02013;<lpage>1156</lpage>.</citation></ref>
<ref id="B19"><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Mourikis</surname> <given-names>A.</given-names></name> <name><surname>Roumeliotis</surname> <given-names>S.</given-names></name></person-group> (<year>2007</year>). &#x0201C;<article-title>A multi-state constraint Kalman filter for vision-aided inertial navigation</article-title>,&#x0201D; in <conf-name>International Conference on Robotics and Automation (ICRA)</conf-name>, <conf-loc>Roma</conf-loc>, <fpage>3565</fpage>&#x02013;<lpage>3572</lpage>.</citation></ref>
<ref id="B20"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Mur-Artal</surname> <given-names>R.</given-names></name> <name><surname>Montiel</surname> <given-names>J. M. M.</given-names></name> <name><surname>Tards</surname> <given-names>J. D.</given-names></name></person-group> (<year>2015</year>). <article-title>ORB-SLAM: a versatile and accurate monocular slam system</article-title>. <source>Trans. Robot.</source> <volume>31</volume>, <fpage>1147</fpage>&#x02013;<lpage>1163</lpage>.<pub-id pub-id-type="doi">10.1109/TRO.2015.2463671</pub-id></citation></ref>
<ref id="B21"><citation citation-type="book"><person-group person-group-type="author"><name><surname>Mur-Artal</surname> <given-names>R.</given-names></name> <name><surname>Tardos</surname> <given-names>J.</given-names></name></person-group> (<year>2016</year>). <source>ORB-SLAM2: An Open-Source SLAM System for Monocular, Stereo and RGB-D Cameras</source>. (<publisher-loc>New York</publisher-loc>: <publisher-name>IEEE</publisher-name>) CoRR abs/1610.06475.</citation></ref>
<ref id="B22"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Paull</surname> <given-names>L.</given-names></name> <name><surname>Saeedi</surname> <given-names>S.</given-names></name> <name><surname>Seto</surname> <given-names>M.</given-names></name> <name><surname>Li</surname> <given-names>H.</given-names></name></person-group> (<year>2014</year>). <article-title>AUV navigation and localization: a review</article-title>. <source>J. Oceanic Eng.</source> <volume>39</volume>, <fpage>131</fpage>&#x02013;<lpage>149</lpage>.<pub-id pub-id-type="doi">10.1109/JOE.2013.2278891</pub-id></citation></ref>
<ref id="B23"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Paz</surname> <given-names>L. M.</given-names></name> <name><surname>Tards</surname> <given-names>J. D.</given-names></name> <name><surname>Neira</surname> <given-names>J.</given-names></name></person-group> (<year>2008</year>). <article-title>Divide and conquer: EKF slam in o(n)</article-title>. <source>Trans. Robot.</source> <volume>24</volume>, <fpage>1107</fpage>&#x02013;<lpage>1120</lpage>.<pub-id pub-id-type="doi">10.1109/TRO.2008.2004639</pub-id></citation></ref>
<ref id="B24"><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Plagemann</surname> <given-names>C.</given-names></name> <name><surname>Kersting</surname> <given-names>K.</given-names></name> <name><surname>Pfaff</surname> <given-names>P.</given-names></name> <name><surname>Burgard</surname> <given-names>W.</given-names></name></person-group> (<year>2007</year>). &#x0201C;<article-title>Gaussian beam processes: a nonparametric Bayesian measurement model for range finders</article-title>,&#x0201D; in <conf-name>Proceedings of Robotics: Science and Systems (RSS)</conf-name>, <conf-loc>Philadelphia</conf-loc>.</citation></ref>
<ref id="B25"><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Rublee</surname> <given-names>E.</given-names></name> <name><surname>Rabaud</surname> <given-names>V.</given-names></name> <name><surname>Konolige</surname> <given-names>K.</given-names></name> <name><surname>Bradski</surname> <given-names>G.</given-names></name></person-group> (<year>2011</year>). &#x0201C;<article-title>ORB: an efficient alternative to sift or surf</article-title>,&#x0201D; in <conf-name>International Conference on Computer Vision (ICCV)</conf-name>, <conf-loc>Barcelona</conf-loc>, <fpage>2564</fpage>&#x02013;<lpage>2571</lpage>.</citation></ref>
<ref id="B26"><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Thrun</surname> <given-names>S.</given-names></name></person-group> (<year>2002</year>). &#x0201C;<article-title>Particle filters in robotics</article-title>,&#x0201D; in <conf-name>Annual Conference on Uncertainty in AI (UAI)</conf-name>, <conf-loc>Alberta</conf-loc>, <fpage>17</fpage>.</citation></ref>
<ref id="B27"><citation citation-type="book"><person-group person-group-type="author"><name><surname>Thrun</surname> <given-names>S.</given-names></name> <name><surname>Burgard</surname> <given-names>W.</given-names></name> <name><surname>Fox</surname> <given-names>D.</given-names></name></person-group> (<year>2005</year>). <source>Probabilistic Robotics (Intelligent Robotics and Autonomous Agents)</source>. <publisher-name>The MIT Press</publisher-name>.</citation></ref>
<ref id="B28"><citation citation-type="book"><person-group person-group-type="author"><name><surname>Thrun</surname> <given-names>S.</given-names></name> <name><surname>Leonard</surname> <given-names>J. J.</given-names></name></person-group> (<year>2008</year>). &#x0201C;<article-title>Simultaneous localization and mapping</article-title>,&#x0201D; in <source>Springer Handbook of Robotics</source>, eds <person-group person-group-type="editor"><name><surname>Siciliano</surname> <given-names>B.</given-names></name> <name><surname>Khatib</surname> <given-names>O.</given-names></name></person-group> (<publisher-loc>New York</publisher-loc>: <publisher-name>Springer-Verlag</publisher-name>), <fpage>871</fpage>&#x02013;<lpage>889</lpage>.</citation></ref>
<ref id="B29"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Thrun</surname> <given-names>S.</given-names></name> <name><surname>Liu</surname> <given-names>Y.</given-names></name> <name><surname>Koller</surname> <given-names>D.</given-names></name> <name><surname>Ng</surname> <given-names>Y.</given-names></name> <name><surname>Ghahramani</surname> <given-names>Z.</given-names></name> <name><surname>Durrant-Whyte</surname> <given-names>H.</given-names></name></person-group> (<year>2004</year>). <article-title>Simultaneous localization and mapping with sparse extended information filters</article-title>. <source>Int. J. Robot. Res.</source> <volume>23</volume>.</citation></ref>
<ref id="B30"><citation citation-type="book"><person-group person-group-type="author"><name><surname>Wan</surname> <given-names>E.</given-names></name> <name><surname>Van Der Merwe</surname> <given-names>R.</given-names></name></person-group> (<year>2000</year>). <source>The Unscented Kalman Filter for Nonlinear Estimation</source>. <publisher-loc>Lake Louise</publisher-loc>: <publisher-name>IEEE</publisher-name>, <fpage>153</fpage>&#x02013;<lpage>158</lpage>.</citation></ref>
</ref-list>
<app-group>
<app id="A1">
<title>Appendix</title>
<sec id="S11">
<title>A. MLMF Algorithm</title>
<table-wrap position="float" id="TA4">
<label>ALGORITHM A1</label>
<caption><p>MLMF-SLAM</p></caption>
<table frame="hsides" rules="groups">
<tbody>
<tr>
<td align="left"><bold>Input:</bold></td>
</tr>
<tr>
<td align="left">&#x02003;&#x02003;&#x02003;<bold>Measurements</bold></td>
</tr>
<tr>
<td align="left">&#x02003;&#x02003;&#x02003;<bold>Y<sub>t</sub></bold>, <bold>u<sub>t</sub></bold></td>
</tr>
<tr>
<td align="left">&#x02003;&#x02003;&#x02003;<bold>Joint distribution parameters</bold>:</td>
</tr>
<tr>
<td align="left">&#x02003;&#x02003;&#x02003;<italic>P</italic>(<italic>A<sub>t&#x02212;</sub></italic><sub>1</sub>&#x0007C;<italic>u</italic><sub>1:</sub><italic><sub>t&#x02212;</sub></italic><sub>1</sub>) <italic>P</italic>(<italic>O</italic>), &#x003A8;<sub>0:</sub><italic><sub>t&#x02212;</sub></italic><sub>1</sub>, <italic>&#x003B1;</italic><sub>0:</sub><italic><sub>t&#x02212;</sub></italic><sub>1</sub></td>
</tr>
<tr>
<td align="left">&#x02003;&#x02003;&#x02003;<bold>Filtered marginals</bold>:</td>
</tr>
<tr>
<td align="left">&#x02003;&#x02003;&#x02003;<italic>P</italic>(<italic>A<sub>t&#x02212;</sub></italic><sub>1</sub>&#x0007C;<italic>Y</italic> <sub>0:</sub><italic><sub>t&#x02212;</sub></italic><sub>1</sub>,<italic>u</italic><sub>1:</sub><italic><sub>t&#x02212;</sub></italic><sub>1</sub>), <italic>P</italic>(<italic>O</italic>&#x0007C;<italic>Y</italic> <sub>0:</sub><italic><sub>t&#x02212;</sub></italic><sub>1</sub>)</td>
</tr>
<tr>
<td align="left"><bold>Output:</bold></td>
</tr>
<tr>
<td align="left">&#x02003;&#x02003;&#x02003;<bold>Joint parameters</bold>:</td>
</tr>
<tr>
<td align="left">&#x02003;&#x02003;&#x02003;<italic>P</italic>(<italic>A<sub>t</sub></italic>&#x0007C;<italic>u</italic><sub>1:</sub><italic><sub>t</sub></italic>), &#x003A8;<sub>0:</sub><italic><sub>t</sub></italic>, <italic>&#x003B1;</italic><sub>0:</sub><italic><sub>t</sub></italic></td>
</tr>
<tr>
<td align="left">&#x02003;&#x02003;&#x02003;<bold>Filtered marginals</bold>:</td>
</tr>
<tr>
<td align="left">&#x02003;&#x02003;&#x02003;<italic>P</italic>(<italic>A<sub>t</sub></italic>&#x0007C;<italic>Y</italic> <sub>0:</sub><italic><sub>t</sub></italic>, <italic>u</italic><sub>1:</sub><italic><sub>t</sub></italic>), <italic>P</italic>(<italic>O</italic>&#x0007C;<italic>Y</italic> <sub>0:</sub><italic><sub>t</sub></italic>)</td>
</tr>
<tr>
<td align="left"><hr/></td>
</tr>
<tr>
<td align="left"><bold>Initialization</bold></td>
</tr>
<tr>
<td align="left"><inline-formula><mml:math id="M98"><mml:mspace width="6em" class="nbsp"/><mml:mtable columnalign="left" class="align"><mml:mtr><mml:mtd columnalign="right" class="align-odd"><mml:mtext mathvariant="italic">P</mml:mtext><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mtext mathvariant="italic">A</mml:mtext></mml:mrow><mml:mrow><mml:mtext>0</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-punc">;</mml:mo><mml:msub><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">a</mml:mtext></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mtd><mml:mtd><mml:mo class="MathClass-punc">:</mml:mo><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mtext mathvariant="italic">P</mml:mtext><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mtext mathvariant="italic">A</mml:mtext></mml:mrow><mml:mrow><mml:mtext>0</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-punc">;</mml:mo><mml:msubsup><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">a</mml:mtext></mml:mrow><mml:mrow><mml:mo class="MathClass-bin">&#x02217;</mml:mo></mml:mrow></mml:msubsup></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="right" class="align-odd"><mml:mtext mathvariant="italic">P</mml:mtext><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mi>O</mml:mi><mml:mo class="MathClass-punc">;</mml:mo><mml:msub><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">o</mml:mtext></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mtd><mml:mtd><mml:mo class="MathClass-punc">:</mml:mo><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mtext mathvariant="italic">P</mml:mtext><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mtext mathvariant="italic">O</mml:mtext><mml:mo class="MathClass-punc">;</mml:mo><mml:msubsup><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">a</mml:mtext></mml:mrow><mml:mrow><mml:mo class="MathClass-bin">&#x02217;</mml:mo></mml:mrow></mml:msubsup></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="right" class="align-odd"><mml:msub><mml:mrow><mml:mn>&#x003A8;</mml:mn></mml:mrow><mml:mrow><mml:mtext>0</mml:mtext></mml:mrow></mml:msub></mml:mtd><mml:mtd><mml:mo class="MathClass-punc">:</mml:mo><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mrow><mml:mo class="MathClass-open">&#x0007B;</mml:mo><mml:mrow><mml:mtext>&#x02009;</mml:mtext></mml:mrow><mml:mo class="MathClass-close">&#x0007D;</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="right" class="align-odd"><mml:msub><mml:mrow><mml:mi>&#x003B1;</mml:mi></mml:mrow><mml:mrow><mml:mtext>0</mml:mtext></mml:mrow></mml:msub></mml:mtd><mml:mtd><mml:mo class="MathClass-punc">:</mml:mo><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mtext>0</mml:mtext></mml:mtd></mml:mtr>
</mml:mtable></mml:math></inline-formula>
</td>
</tr>
<tr>
<td align="left"><hr/></td>
</tr>
<tr>
<td align="left"><bold>Motion update</bold></td>
</tr>
<tr>
<td align="left"><inline-formula><mml:math id="M99"><mml:mspace width="4em" class="nbsp"/><mml:mtable columnalign="left" class="align"><mml:mtr><mml:mtd columnalign="right" class="align-odd"><mml:mtext mathvariant="italic">P</mml:mtext><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mtext mathvariant="italic">A</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">t</mml:mtext></mml:mrow></mml:msub><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mtext mathvariant="italic">u</mml:mtext></mml:mrow><mml:mrow><mml:mtext>1:</mml:mtext><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mtd><mml:mtd><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mstyle displaystyle='true'><mml:munder class="msub"><mml:mrow><mml:mo class="MathClass-op">&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext mathvariant="italic">A</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">t</mml:mtext><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:mtext>1</mml:mtext></mml:mrow></mml:msub></mml:mrow></mml:munder></mml:mstyle><mml:mtext mathvariant="italic">&#x02009;P</mml:mtext><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mtext mathvariant="italic">A</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">t</mml:mtext></mml:mrow></mml:msub><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mtext mathvariant="italic">A</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">t</mml:mtext><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:mtext>1</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mtext mathvariant="bold">u</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="bold">t</mml:mtext></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mtext mathvariant="italic">P</mml:mtext><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mtext mathvariant="italic">A</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">t</mml:mtext><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:mtext>1</mml:mtext></mml:mrow></mml:msub><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mtext mathvariant="italic">u</mml:mtext></mml:mrow><mml:mrow><mml:mtext>1:</mml:mtext><mml:mi>t</mml:mi><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:mtext>1</mml:mtext></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="right" class="align-odd"><mml:mtext mathvariant="italic">P</mml:mtext><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mtext mathvariant="italic">A</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">t</mml:mtext></mml:mrow></mml:msub><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mtext mathvariant="italic">Y</mml:mtext></mml:mrow><mml:mrow><mml:mn>0:</mml:mn><mml:mi>t</mml:mi><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:mtext>1</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mtext mathvariant="italic">u</mml:mtext></mml:mrow><mml:mrow><mml:mtext>1:</mml:mtext><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mtd><mml:mtd><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mstyle displaystyle='true'><mml:munder class="msub"><mml:mrow><mml:mo class="MathClass-op">&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext mathvariant="italic">A</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">t</mml:mtext><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:mtext>1</mml:mtext></mml:mrow></mml:msub></mml:mrow></mml:munder></mml:mstyle><mml:mtext mathvariant="italic">&#x02009;P</mml:mtext><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mtext mathvariant="italic">A</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">t</mml:mtext></mml:mrow></mml:msub><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mtext mathvariant="italic">A</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">t</mml:mtext><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:mtext mathvariant="italic">1</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mtext mathvariant="bold">u</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="bold">t</mml:mtext></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mtext mathvariant="italic">P</mml:mtext><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mtext mathvariant="italic">A</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">t</mml:mtext><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:mtext>1</mml:mtext></mml:mrow></mml:msub><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mtext mathvariant="italic">Y</mml:mtext></mml:mrow><mml:mrow><mml:mn>0:</mml:mn><mml:mi>t</mml:mi><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:mtext>1</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mtext mathvariant="italic">u</mml:mtext></mml:mrow><mml:mrow><mml:mtext>1:</mml:mtext><mml:mi>t</mml:mi><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:mtext>1</mml:mtext></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="right" class="align-odd"><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mn>&#x003A8;</mml:mn></mml:mrow><mml:mo class="MathClass-op">&#x000AF;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mn>0:</mml:mn><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mtd><mml:mtd><mml:mo class="MathClass-rel">&#x02190;</mml:mo><mml:msub><mml:mrow><mml:mn>&#x003A8;</mml:mn></mml:mrow><mml:mrow><mml:mn>0:</mml:mn><mml:mi>t</mml:mi><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:mtext>1</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-punc">:</mml:mo><mml:mtext>Algorithm</mml:mtext><mml:mspace width="0.5em" class="nbsp"/><mml:mtext>1</mml:mtext><mml:mspace width="0.5em" class="nbsp"/><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mtext mathvariant="italic">motion&#x02009;&#x02009;update</mml:mtext></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></inline-formula></td>
</tr>
<tr>
<td align="left"><hr/></td>
</tr>
<tr>
<td align="left"><bold>Measurement update</bold></td>
</tr>
<tr>
<td align="left"><inline-formula><mml:math id="M100"><mml:mspace width="4em" class="nbsp"/><mml:msub><mml:mrow><mml:mi>&#x003B1;</mml:mi></mml:mrow><mml:mrow><mml:mn>0:</mml:mn><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:msub><mml:mrow><mml:mi>&#x003B1;</mml:mi></mml:mrow><mml:mrow><mml:mn>0:</mml:mn><mml:mi>t</mml:mi><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:mtext>1</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-bin">&#x0002B;</mml:mo><mml:mstyle displaystyle='true'><mml:munder class="msub"><mml:mrow><mml:mo class="MathClass-op">&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext mathvariant="italic">A</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">t</mml:mtext></mml:mrow></mml:msub></mml:mrow></mml:munder></mml:mstyle><mml:mtext>&#x02009;</mml:mtext><mml:mstyle displaystyle='true'><mml:munder class="msub"><mml:mrow><mml:mo class="MathClass-op">&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">O</mml:mtext></mml:mrow></mml:munder></mml:mstyle><mml:mtext>&#x02009;</mml:mtext><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mtext mathvariant="italic">P</mml:mtext><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mtext mathvariant="bold">Y</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="bold">t</mml:mtext></mml:mrow></mml:msub><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mtext mathvariant="italic">A</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">t</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mtext mathvariant="italic">O</mml:mtext></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:mtext>1</mml:mtext></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:msub><mml:mrow><mml:mtext mathvariant="italic">P</mml:mtext></mml:mrow><mml:mrow><mml:mo class="MathClass-bin">&#x02229;</mml:mo></mml:mrow></mml:msub><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mtext mathvariant="italic">A</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">t</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mtext mathvariant="italic">O</mml:mtext><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mtext mathvariant="italic">Y</mml:mtext></mml:mrow><mml:mrow><mml:mn>0:</mml:mn><mml:mi>t</mml:mi><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:mtext>1</mml:mtext></mml:mrow></mml:msub><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mtext mathvariant="italic">u</mml:mtext></mml:mrow><mml:mrow><mml:mtext>1:</mml:mtext><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:math></inline-formula></td>
</tr>
<tr>
<td align="left"><inline-formula><mml:math id="M101"><mml:mspace width="4em" class="nbsp"/><mml:mtext mathvariant="italic">P</mml:mtext><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mtext mathvariant="italic">Y</mml:mtext></mml:mrow><mml:mrow><mml:mn>0:</mml:mn><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mtext mathvariant="italic">u</mml:mtext></mml:mrow><mml:mrow><mml:mtext>1:</mml:mtext><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mtext>1</mml:mtext><mml:mo class="MathClass-bin">&#x0002B;</mml:mo><mml:msub><mml:mrow><mml:mi>&#x003B1;</mml:mi></mml:mrow><mml:mrow><mml:mn>0:</mml:mn><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula></td>
</tr>
<tr>
<td align="left"><inline-formula><mml:math id="M102"><mml:mspace width="4em" class="nbsp"/><mml:mtext mathvariant="italic">P</mml:mtext><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mtext mathvariant="italic">A</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">t</mml:mtext></mml:mrow></mml:msub><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mtext mathvariant="italic">Y</mml:mtext></mml:mrow><mml:mrow><mml:mn>0:</mml:mn><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mtext mathvariant="italic">P</mml:mtext><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mtext mathvariant="italic">A</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">t</mml:mtext></mml:mrow></mml:msub><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mtext mathvariant="italic">Y</mml:mtext></mml:mrow><mml:mrow><mml:mn>0:</mml:mn><mml:mi>t</mml:mi><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:mtext>1</mml:mtext></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mtext mathvariant="italic">P</mml:mtext></mml:mrow><mml:mrow><mml:mo class="MathClass-bin">&#x02229;</mml:mo></mml:mrow></mml:msub><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mtext mathvariant="italic">A</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">t</mml:mtext></mml:mrow></mml:msub><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mtext mathvariant="italic">Y</mml:mtext></mml:mrow><mml:mrow><mml:mn>0:</mml:mn><mml:mi>t</mml:mi><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:mtext>1</mml:mtext></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:msub><mml:mrow><mml:mtext mathvariant="italic">P</mml:mtext></mml:mrow><mml:mrow><mml:mo class="MathClass-bin">&#x02229;</mml:mo></mml:mrow></mml:msub><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mtext mathvariant="italic">A</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">t</mml:mtext></mml:mrow></mml:msub><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mtext mathvariant="italic">Y</mml:mtext></mml:mrow><mml:mrow><mml:mn>0:</mml:mn><mml:mtext mathvariant="bold">t</mml:mtext></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></inline-formula></td>
</tr>
<tr>
<td align="left"><inline-formula><mml:math id="M103"><mml:mspace width="4em" class="nbsp"/><mml:mtext mathvariant="italic">P</mml:mtext><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mtext mathvariant="italic">O</mml:mtext><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mtext mathvariant="italic">Y</mml:mtext></mml:mrow><mml:mrow><mml:mn>0:</mml:mn><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mtext mathvariant="italic">P</mml:mtext><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mtext mathvariant="italic">O</mml:mtext><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mtext mathvariant="italic">Y</mml:mtext></mml:mrow><mml:mrow><mml:mn>0:</mml:mn><mml:mi>t</mml:mi><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:mtext>1</mml:mtext></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mtext mathvariant="italic">P</mml:mtext></mml:mrow><mml:mrow><mml:mo class="MathClass-bin">&#x02229;</mml:mo></mml:mrow></mml:msub><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mtext mathvariant="italic">O</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">t</mml:mtext></mml:mrow></mml:msub><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mtext mathvariant="italic">Y</mml:mtext></mml:mrow><mml:mrow><mml:mn>0:</mml:mn><mml:mi>t</mml:mi><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:mtext>1</mml:mtext></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:msub><mml:mrow><mml:mtext mathvariant="italic">P</mml:mtext></mml:mrow><mml:mrow><mml:mo class="MathClass-bin">&#x02229;</mml:mo></mml:mrow></mml:msub><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mtext mathvariant="italic">O</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">t</mml:mtext></mml:mrow></mml:msub><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mtext mathvariant="italic">Y</mml:mtext></mml:mrow><mml:mrow><mml:mn>0:</mml:mn><mml:mtext mathvariant="bold">t</mml:mtext></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></inline-formula></td>
</tr>
<tr>
<td align="left"><inline-formula><mml:math id="M104"><mml:mspace width="4em" class="nbsp"/><mml:msub><mml:mrow><mml:mn>&#x003A8;</mml:mn></mml:mrow><mml:mrow><mml:mn>0:</mml:mn><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-rel">&#x02190;</mml:mo><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mn>&#x003A8;</mml:mn></mml:mrow><mml:mo class="MathClass-op">&#x000AF;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mn>0:</mml:mn><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-punc">:</mml:mo><mml:mtext>Algorithm</mml:mtext><mml:mspace width="0.5em" class="nbsp"/><mml:mtext>1</mml:mtext><mml:mspace width="0.5em" class="nbsp"/><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mtext mathvariant="italic">measurement&#x02009;&#x02009;update</mml:mtext></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:math></inline-formula></td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec id="S12">
<title>B. Scalable-MLMF Algorithm</title>
<table-wrap position="float" id="TA2">
<label>ALGORITHM A2</label>
<caption><p>Scalable-MLMF: Measurement Update</p></caption>
<table frame="hsides" rules="groups">
<tbody>
<tr>
<td align="left">&#x02003;&#x02003;<bold>input:</bold> <inline-formula><mml:math id="M105"><mml:mtext mathvariant="italic">P</mml:mtext><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msubsup><mml:mrow><mml:mtext mathvariant="italic">A</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">t</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mtext mathvariant="italic">i</mml:mtext></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:msubsup><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mtext mathvariant="italic">u</mml:mtext></mml:mrow><mml:mrow><mml:mtext>1:</mml:mtext><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M106"><mml:mtext mathvariant="italic">P</mml:mtext><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msubsup><mml:mrow><mml:mtext mathvariant="italic">A</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">t</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mtext mathvariant="italic">i</mml:mtext></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:msubsup><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msubsup><mml:mrow><mml:mtext mathvariant="italic">Y</mml:mtext></mml:mrow><mml:mrow><mml:mn>0:</mml:mn><mml:mi>t</mml:mi><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:mtext>1</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mtext mathvariant="italic">i</mml:mtext></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:msubsup><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mtext mathvariant="italic">u</mml:mtext></mml:mrow><mml:mrow><mml:mtext>1:</mml:mtext><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:math></inline-formula></td>
</tr>
<tr>
<td align="left">&#x02003;&#x02003;&#x02003;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;<italic>P</italic>(<italic>O</italic><sup>(</sup><italic><sup>i</sup></italic><sup>)</sup>), <inline-formula><mml:math id="M107"><mml:mtext mathvariant="italic">P</mml:mtext><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msup><mml:mrow><mml:mtext mathvariant="italic">O</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mtext mathvariant="italic">i</mml:mtext></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:msup><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msubsup><mml:mrow><mml:mtext mathvariant="italic">Y</mml:mtext></mml:mrow><mml:mrow><mml:mn>0:</mml:mn><mml:mi>t</mml:mi><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:mtext>1</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mtext mathvariant="italic">i</mml:mtext></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:msubsup><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mtext mathvariant="italic">u</mml:mtext></mml:mrow><mml:mrow><mml:mtext>1:</mml:mtext><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:math></inline-formula></td>
</tr>
<tr>
<td align="left">&#x02003;&#x02003;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;<inline-formula><mml:math id="M108"><mml:msubsup><mml:mrow><mml:mtext mathvariant="italic">Y</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">t</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mtext mathvariant="italic">i</mml:mtext></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:msubsup></mml:math></inline-formula></td>
</tr>
<tr>
<td align="left">&#x02003;&#x02003;&#x02003;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;<italic>i</italic>&#x02009;&#x0003D;&#x02009;1, &#x02026;, <italic>M</italic></td>
</tr>
<tr>
<td align="left">&#x02003;&#x02003; &#x025B9;<monospace>If object <italic>i</italic> has been sensed by the agent</monospace></td>
</tr>
<tr>
<td align="left">1 <bold>if</bold> <inline-formula><mml:math id="M109"><mml:msubsup><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:msubsup><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mn>1</mml:mn></mml:math></inline-formula> <bold>then</bold></td>
</tr>
<tr>
<td align="left">2 &#x02003; <inline-formula><mml:math id="M110"><mml:mtext mathvariant="italic">P</mml:mtext><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msup><mml:mrow><mml:mtext mathvariant="italic">O</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mtext mathvariant="italic">i</mml:mtext></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:msup><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msubsup><mml:mrow><mml:mtext mathvariant="italic">Y</mml:mtext></mml:mrow><mml:mrow><mml:mn>0:</mml:mn><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mtext mathvariant="italic">i</mml:mtext></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:msubsup></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mo class="MathClass-rel">&#x02190;</mml:mo><mml:mtext mathvariant="italic">P</mml:mtext><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msup><mml:mrow><mml:mtext mathvariant="italic">O</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mtext mathvariant="italic">i</mml:mtext></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:msup><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msubsup><mml:mrow><mml:mtext mathvariant="italic">Y</mml:mtext></mml:mrow><mml:mrow><mml:mn>0:</mml:mn><mml:mi>t</mml:mi><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:mtext>1</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mtext mathvariant="italic">i</mml:mtext></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:msubsup></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:math></inline-formula>; &#x02003;&#x022B3; <monospace>measurement update Algorithm A1</monospace></td>
</tr>
<tr>
<td align="left">3 &#x02003; <inline-formula><mml:math id="M111"><mml:mtext mathvariant="italic">P</mml:mtext><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msubsup><mml:mrow><mml:mtext mathvariant="italic">A</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">t</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mtext mathvariant="italic">i</mml:mtext></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:msubsup><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msubsup><mml:mrow><mml:mtext mathvariant="italic">Y</mml:mtext></mml:mrow><mml:mrow><mml:mn>0:</mml:mn><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mtext mathvariant="italic">i</mml:mtext></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:msubsup><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mtext mathvariant="italic">u</mml:mtext></mml:mrow><mml:mrow><mml:mtext>1:</mml:mtext><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mo class="MathClass-rel">&#x02190;</mml:mo><mml:mtext mathvariant="italic">P</mml:mtext><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msubsup><mml:mrow><mml:mtext mathvariant="italic">A</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">t</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mtext mathvariant="italic">i</mml:mtext></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:msubsup><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msubsup><mml:mrow><mml:mtext mathvariant="italic">Y</mml:mtext></mml:mrow><mml:mrow><mml:mn>0:</mml:mn><mml:mi>t</mml:mi><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:mtext>1</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mtext mathvariant="italic">i</mml:mtext></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:msubsup><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mtext mathvariant="italic">u</mml:mtext></mml:mrow><mml:mrow><mml:mtext>1:</mml:mtext><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:math></inline-formula></td>
</tr>
<tr>
<td align="left">4 &#x02003;&#x02003; <bold>for all</bold> <inline-formula><mml:math id="M112"><mml:mtext mathvariant="italic">j</mml:mtext><mml:mo class="MathClass-rel">&#x02208;</mml:mo><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mtext>1</mml:mtext><mml:mo class="MathClass-punc">,</mml:mo><mml:mo class="MathClass-op">&#x02026;</mml:mo><mml:mtext mathvariant="italic">M</mml:mtext><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:mtext>1</mml:mtext></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mo class="MathClass-bin">&#x02216;</mml:mo><mml:mtext mathvariant="italic">i</mml:mtext></mml:math></inline-formula> <bold>do</bold></td>
</tr>
<tr>
<td align="left">5 &#x02003;&#x02003; <inline-formula><mml:math id="M113"><mml:mtext mathvariant="italic">P</mml:mtext><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msubsup><mml:mrow><mml:mtext mathvariant="italic">A</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">t</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mtext mathvariant="italic">j</mml:mtext></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:msubsup><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mtext mathvariant="italic">Y</mml:mtext></mml:mrow><mml:mrow><mml:mn>0:</mml:mn><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mtext mathvariant="italic">u</mml:mtext></mml:mrow><mml:mrow><mml:mtext>1:</mml:mtext><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mtext mathvariant="italic">P</mml:mtext><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msubsup><mml:mrow><mml:mtext mathvariant="italic">A</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">t</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mtext mathvariant="italic">i</mml:mtext></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:msubsup><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mtext mathvariant="italic">Y</mml:mtext></mml:mrow><mml:mrow><mml:mn>0:</mml:mn><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mtext mathvariant="italic">u</mml:mtext></mml:mrow><mml:mrow><mml:mtext>1:</mml:mtext><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:math></inline-formula></td>
</tr>
<tr>
<td align="left">6 &#x02003;&#x02003; <inline-formula><mml:math id="M114"><mml:mtext mathvariant="italic">P</mml:mtext><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msubsup><mml:mrow><mml:mtext mathvariant="italic">A</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">t</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mtext mathvariant="italic">j</mml:mtext></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:msubsup><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mtext mathvariant="italic">u</mml:mtext></mml:mrow><mml:mrow><mml:mtext>1:</mml:mtext><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mtext mathvariant="italic">P</mml:mtext><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msubsup><mml:mrow><mml:mtext mathvariant="italic">A</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">t</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mtext mathvariant="italic">i</mml:mtext></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:msubsup><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mtext mathvariant="italic">u</mml:mtext></mml:mrow><mml:mrow><mml:mtext>1:</mml:mtext><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:math></inline-formula></td>
</tr>
<tr>
<td align="left">7 &#x02003;&#x02003; <inline-formula><mml:math id="M115"><mml:mtext mathvariant="italic">P</mml:mtext><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msup><mml:mrow><mml:mtext mathvariant="italic">O</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mtext mathvariant="italic">j</mml:mtext></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:msup><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msubsup><mml:mrow><mml:mtext mathvariant="italic">Y</mml:mtext></mml:mrow><mml:mrow><mml:mn>0:</mml:mn><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mtext mathvariant="italic">i</mml:mtext></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:msubsup></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mo class="MathClass-rel">&#x02190;</mml:mo><mml:mstyle displaystyle='true'><mml:munder class="msub"><mml:mrow><mml:mo class="MathClass-op">&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:msup><mml:mrow><mml:mtext mathvariant="italic">A</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mtext mathvariant="italic">j</mml:mtext></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:msup></mml:mrow></mml:munder></mml:mstyle><mml:mtext mathvariant="italic">&#x02009;P</mml:mtext><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msubsup><mml:mrow><mml:mtext mathvariant="italic">A</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">t</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mtext mathvariant="italic">j</mml:mtext></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:msubsup><mml:mo class="MathClass-punc">,</mml:mo><mml:msup><mml:mrow><mml:mtext mathvariant="italic">O</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mtext mathvariant="italic">j</mml:mtext></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:msup><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msubsup><mml:mrow><mml:mtext mathvariant="italic">Y</mml:mtext></mml:mrow><mml:mrow><mml:mn>0:</mml:mn><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mtext mathvariant="italic">i</mml:mtext></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:msubsup></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:math></inline-formula></td>
</tr>
<tr>
<td align="left">&#x02003;&#x02003;&#x02003;&#x02003;</td>
</tr>
<tr>
<td align="left">8 <bold>else</bold></td>
</tr>
<tr>
<td align="left">9 &#x02003;&#x02003; <bold>for all</bold> <italic>i</italic>&#x02009;&#x02208;&#x02009;(1,&#x02026;<italic>M</italic>) <bold>do</bold></td>
</tr>
<tr>
<td align="left">10 &#x02003;&#x02003;&#x02003; measurement update Algorithm <xref ref-type="table" rid="TA4">A1</xref></td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec id="S13">
<title>C. Recursion Example</title>
<p>Derivation of the filtered joint distribution, <italic>P</italic>(<italic>A<sub>t</sub></italic>, <italic>O</italic>, <italic>Y<sub>t</sub></italic>&#x0007C;<italic>Y</italic> <sub>0:</sub><italic><sub>t</sub></italic>, <italic>u</italic><sub>1:</sub><italic><sub>t</sub></italic>), for two updates. At initialization when no action has yet been taken the filtered joint distribution is the product of the initial marginals and first likelihood function:
<disp-formula id="E28"><label>(A1)</label><mml:math id="M116"><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mi>O</mml:mi><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mi>O</mml:mi></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mi>O</mml:mi></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 first action, <italic>u</italic><sub>1</sub> is applied, which to get the filtered joint distribution is marginalized:
<disp-formula id="E29"><label>(A2)</label><mml:math id="M117"><mml:mtable columnalign="left" class="align"><mml:mtr><mml:mtd columnalign="right" class="align-odd"><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mi>O</mml:mi><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mi>O</mml:mi></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mstyle displaystyle='true'><mml:munder class="msub"><mml:mrow><mml:mo class="MathClass-op">&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:munder></mml:mstyle><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mi>O</mml:mi></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<disp-formula id="E30"><label>(A3)</label><mml:math id="M118"><mml:mtable columnalign="left" class="align"><mml:mtr><mml:mtd columnalign="right" class="align-odd"><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mi>O</mml:mi></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mstyle displaystyle='true'><mml:munder class="msub"><mml:mrow><mml:mo class="MathClass-op">&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:munder></mml:mstyle><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>A</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>A</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mi>O</mml:mi></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<disp-formula id="E31"><label>(A4)</label><mml:math id="M119"><mml:mtable columnalign="left" class="align"><mml:mtr><mml:mtd columnalign="right" class="align-odd"><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mi>O</mml:mi></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>A</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>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mi>O</mml:mi></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<disp-formula id="E32"><label>(A5)</label><mml:math id="M120"><mml:mtable columnalign="left" class="align"><mml:mtr><mml:mtd columnalign="right" class="align-odd"><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mi>O</mml:mi></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mi>O</mml:mi><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mrow><mml:menclose notation="updiagonalstrike"><mml:mi>O</mml:mi></mml:menclose></mml:mrow></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<disp-formula id="E33"><label>(A6)</label><mml:math id="M121"><mml:mtable columnalign="left" class="align"><mml:mtr><mml:mtd columnalign="right" class="align-odd"><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mi>O</mml:mi></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mi>O</mml:mi><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mn>1</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:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
<p>From equations (<xref ref-type="disp-formula" rid="E28">A4</xref>) and (<xref ref-type="disp-formula" rid="E29">A5</xref>), we used the Chain rule and the cancelation in equation (<xref ref-type="disp-formula" rid="E29">A5</xref>) arise from the factorization of the joint distribution, see Figure <xref ref-type="fig" rid="F2">2</xref>, <italic>A</italic>&#x02019;s marginal does not depend on <italic>O</italic>. After the application of the first action, the filtered joint has the following form:
<disp-formula id="E34"><label>(A7)</label><mml:math id="M122"><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mi>O</mml:mi><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mi>O</mml:mi></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mi>O</mml:mi><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mn>1</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 second measurement <italic>Y</italic> <sub>1</sub> and action <italic>u</italic><sub>2</sub> are integrated into the filtered joint distribution:
<disp-formula id="E35"><label>(A8)</label><mml:math id="M123"><mml:mtable columnalign="left" class="align"><mml:mtr><mml:mtd class="align-even"><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mi>O</mml:mi><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>u</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 class="MathClass-close">)</mml:mo></mml:mrow></mml:mtd><mml:mtd><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mi>O</mml:mi></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mstyle displaystyle='true'><mml:munder class="msub"><mml:mrow><mml:mo class="MathClass-op">&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:munder></mml:mstyle><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>A</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>u</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:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mi>O</mml:mi><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mi>O</mml:mi></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></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:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mi>O</mml:mi></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mstyle displaystyle='true'><mml:munder class="msub"><mml:mrow><mml:mo class="MathClass-op">&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:munder></mml:mstyle><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>u</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 class="MathClass-close">)</mml:mo></mml:mrow><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mi>O</mml:mi><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></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:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mi>O</mml:mi></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mstyle displaystyle='true'><mml:munder class="msub"><mml:mrow><mml:mo class="MathClass-op">&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:munder></mml:mstyle><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mi>A</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>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:mi>O</mml:mi><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mi>u</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 class="MathClass-close">)</mml:mo></mml:mrow></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:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mi>O</mml:mi></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:mi>O</mml:mi><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mi>u</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 class="MathClass-close">)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<disp-formula id="E36"><label>(A9)</label><mml:math id="M124"><mml:mtable columnalign="left" class="align"><mml:mtr><mml:mtd class="align-even"><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mi>O</mml:mi></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mi>O</mml:mi><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mi>u</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 class="MathClass-close">)</mml:mo></mml:mrow><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:menclose notation='updiagonalstrike'><mml:mi>O</mml:mi></mml:menclose><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mi>u</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 class="MathClass-close">)</mml:mo></mml:mrow><mml:mo class="MathClass-punc">.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
<p>We expand the function <italic>P</italic>(<italic>Y</italic> <sub>0:1</sub>&#x0007C;<italic>A</italic><sub>2</sub>, <italic>O</italic>, <italic>u</italic><sub>1:2</sub>) to give a sense of how the likelihood function&#x02019;s positions get as illustrated in Figure <xref ref-type="fig" rid="F5">5</xref>
<disp-formula id="E37"><label>(A10)</label><mml:math id="M125"><mml:mtable columnalign="left" class="align"><mml:mtr><mml:mtd class="align-even"><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mi>O</mml:mi><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mi>u</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>u</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:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:menclose notation='updiagonalstrike'><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:menclose><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>Y</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>A</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mi>O</mml:mi><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mi>u</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>u</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:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mi>O</mml:mi><mml:mo class="MathClass-punc">,</mml:mo><mml:menclose notation='updiagonalstrike'><mml:msub><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:menclose><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mi>u</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:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<disp-formula id="E38"><label>(A11)</label><mml:math id="M126"><mml:mtable columnalign="left" class="align"><mml:mtr><mml:mtd columnalign="right" class="align-odd"><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mi>O</mml:mi><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mi>u</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 class="MathClass-close">)</mml:mo></mml:mrow><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mi>O</mml:mi><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mi>u</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:mo class="MathClass-punc">.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
<p>The first likelihood of measurement <italic>Y</italic> <sub>0</sub> is dependent on the last to applied actions while the likelihood of <italic>Y</italic> <sub>1</sub> is dependent on the last action.</p>
<p>Repeating the above for <italic>Y</italic> <sub>2:</sub><italic><sub>t</sub></italic> and <italic>u</italic><sub>3:</sub><italic><sub>t</sub></italic> results in:
<disp-formula id="E39"><label>(A12)</label><mml:math id="M127"><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mi>O</mml:mi><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mi>O</mml:mi></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mstyle displaystyle='true'><mml:munderover><mml:mrow><mml:mo class="MathClass-op">&#x0220F;</mml:mo></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mn>0</mml:mn></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:munderover></mml:mstyle><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mi>O</mml:mi><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mo class="MathClass-bin">&#x0002B;</mml:mo><mml:mn>1</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi></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>If <italic>t</italic>&#x02009;&#x0003D;&#x02009;3, (<italic>Y</italic> <sub>0:3</sub> and <italic>u</italic><sub>1:3</sub>) according to the above equation, we would get:
<disp-formula id="E40"><label>(A13)</label><mml:math id="M128"><mml:mtable columnalign="left" class="align"><mml:mtr><mml:mtd columnalign="right" class="align-odd"><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mi>O</mml:mi><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mi>O</mml:mi></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mtd><mml:mtd class="align-even"><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mi>O</mml:mi><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="right" class="align-odd"></mml:mtd><mml:mtd class="align-even"><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mi>O</mml:mi><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="right" class="align-odd"></mml:mtd><mml:mtd class="align-even"><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mi>O</mml:mi><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="right" class="align-odd"></mml:mtd><mml:mtd class="align-even"><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mi>O</mml:mi><mml:mo class="MathClass-punc">,</mml:mo><mml:menclose notation='updiagonalstrike'><mml:msub><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mn>4</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:menclose></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mo class="MathClass-punc">.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
<p>We introduce some notation rules, first if (<italic>i</italic>&#x02009;&#x0002B;&#x02009;1)&#x02009;&#x0003E;&#x02009;<italic>t</italic> for <italic>u</italic><sub>(</sub><italic><sub>i</sub></italic><sub>&#x0002B;1):</sub><italic><sub>t</sub></italic> then it cancels out since the current measurement <italic>Y<sub>t</sub></italic> cannot depend on a future action <italic>u</italic><sub>(</sub><italic><sub>i</sub></italic><sub>&#x0002B;1)</sub>.</p>
</sec>
<sec id="S14">
<title>D. Derivation of the Evidence</title>
<p>The evidence, also known as the marginal likelihood, is the marginalization of all non-measurement random variables from the filtered joint distribution <italic>P</italic>(<italic>A<sub>t</sub></italic>, <italic>O</italic>, <italic>Y</italic> <sub>0:</sub><italic><sub>t</sub></italic>&#x0007C;<italic>u</italic><sub>1:t</sub>). We detail below how we compute the evidence in a recursive manner while only considering dependent regions of the joint distribution.</p>
<p>We start with the <bold>standard</bold> definition of the evidence:
<disp-formula id="E41"><label>(A14)</label><mml:math id="M129"><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mstyle displaystyle='true'><mml:munder class="msub"><mml:mrow><mml:mo class="MathClass-op">&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:munder></mml:mstyle><mml:mstyle displaystyle='true'><mml:munder class="msub"><mml:mrow><mml:mo class="MathClass-op">&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>O</mml:mi></mml:mrow></mml:munder></mml:mstyle><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mi>O</mml:mi><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mo class="MathClass-rel">&#x02208;</mml:mo><mml:mi mathvariant="double-struck">R</mml:mi><mml:mo class="MathClass-punc">.</mml:mo></mml:math></disp-formula></p>
<p>If both <italic>A<sub>t</sub></italic> and <italic>O</italic> are random variables defined over a discretized state space of <italic>N</italic> states, the above double integral will sum a total of <italic>N</italic><sup>2</sup> states, which is the complete state space of the joint distribution <italic>P</italic>(<italic>A<sub>t</sub></italic>, <italic>O</italic>, <italic>Y</italic> <sub>0:</sub><italic><sub>t</sub></italic>&#x0007C;<italic>u</italic><sub>1:</sub><italic><sub>t</sub></italic>)&#x02009;&#x0221D;&#x02009;<italic>P</italic>(<italic>A<sub>t</sub></italic>, <italic>O</italic>&#x0007C;<italic>Y</italic> <sub>0:</sub><italic><sub>t</sub></italic>, <italic>u</italic><sub>1:</sub><italic><sub>t</sub></italic>), see Figure <xref ref-type="fig" rid="F6">6</xref> for an illustrate of such a joint distribution. As we are interested in a recursive computation of the evidence, we consider the gradient:
<disp-formula id="E42"><label>(A15)</label><mml:math id="M130"><mml:mtable columnalign="left" class="align"><mml:mtr><mml:mtd columnalign="right" class="align-odd"><mml:msub><mml:mrow><mml:mi>&#x003B1;</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mtd><mml:mtd class="align-even"><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:msub><mml:mrow><mml:mo class="MathClass-rel">&#x02207;</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<disp-formula id="E43"><label>(A16)</label><mml:math id="M131"><mml:mtable columnalign="left" class="align"><mml:mtr><mml:mtd columnalign="right" class="align-odd"><mml:msub><mml:mrow><mml:mi>&#x003B1;</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mtd><mml:mtd class="align-even"><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mstyle displaystyle='true'><mml:munder class="msub"><mml:mrow><mml:mo class="MathClass-op">&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:munder></mml:mstyle><mml:mstyle displaystyle='true'><mml:munder class="msub"><mml:mrow><mml:mo class="MathClass-op">&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>O</mml:mi></mml:mrow></mml:munder></mml:mstyle><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mi>O</mml:mi><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mi>O</mml:mi><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<disp-formula id="E44"><label>(A17)</label><mml:math id="M132"><mml:mtable columnalign="left" class="align"><mml:mtr><mml:mtd columnalign="right" class="align-odd"><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mstyle displaystyle='true'><mml:munder class="msub"><mml:mrow><mml:mo class="MathClass-op">&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:munder></mml:mstyle><mml:mstyle displaystyle='true'><mml:munder class="msub"><mml:mrow><mml:mo class="MathClass-op">&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>O</mml:mi></mml:mrow></mml:munder></mml:mstyle><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mi>O</mml:mi></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mi>O</mml:mi><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mi>O</mml:mi><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<disp-formula id="E45"><label>(A18)</label><mml:math id="M133"><mml:mtable columnalign="left" class="align"><mml:mtr><mml:mtd columnalign="right" class="align-odd"><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mstyle displaystyle='true'><mml:munder class="msub"><mml:mrow><mml:mo class="MathClass-op">&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:munder></mml:mstyle><mml:mstyle displaystyle='true'><mml:munder class="msub"><mml:mrow><mml:mo class="MathClass-op">&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>O</mml:mi></mml:mrow></mml:munder></mml:mstyle><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mi>O</mml:mi></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><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:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mi>O</mml:mi><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mo class="MathClass-punc">.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
<p>The gradient <italic>&#x003B1;</italic><italic><sub>t</sub></italic> is the difference in mass before and after the application the likelihood function, <italic>P</italic>(<italic>Y<sub>t</sub></italic>&#x0007C;<italic>A<sub>t</sub></italic>, <italic>O</italic>). The above summation, equation (A18), is over the entire joint distribution state space. We can take advantage of the fact that the likelihood function is sparse and will only affect a small region of the joint distribution, which we called the dependent states, &#x02229;. The states that are not affected by the joint distribution will result in a contribution of zero to equation (A18). We rewrite the gradient update in terms of only the dependent regions:
<disp-formula id="E46"><label>(A19)</label><mml:math id="M134"><mml:msub><mml:mrow><mml:mi>&#x003B1;</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mstyle displaystyle='true'><mml:munder class="msub"><mml:mrow><mml:mo class="MathClass-op">&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:munder></mml:mstyle><mml:mstyle displaystyle='true'><mml:munder class="msub"><mml:mrow><mml:mo class="MathClass-op">&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>O</mml:mi></mml:mrow></mml:munder></mml:mstyle><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mi>O</mml:mi></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><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:msub><mml:mrow><mml:mi>P</mml:mi></mml:mrow><mml:mrow><mml:mo class="MathClass-bin">&#x02229;</mml:mo></mml:mrow></mml:msub><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mi>O</mml:mi><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:math></disp-formula></p>
<p>Consider the first update of the evidence at time <italic>t</italic>&#x02009;&#x0003D;&#x02009;0:
<disp-formula id="E47"><label>(A20)</label><mml:math id="M135"><mml:mtable columnalign="left" class="align"><mml:mtr><mml:mtd columnalign="right" class="align-odd"><mml:msub><mml:mrow><mml:mi>&#x003B1;</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:mtd><mml:mtd class="align-even"><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mstyle displaystyle='true'><mml:munder class="msub"><mml:mrow><mml:mo class="MathClass-op">&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:munder></mml:mstyle><mml:mstyle displaystyle='true'><mml:munder class="msub"><mml:mrow><mml:mo class="MathClass-op">&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>O</mml:mi></mml:mrow></mml:munder></mml:mstyle><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mi>O</mml:mi></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><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:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mi>O</mml:mi></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mo class="MathClass-punc">.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
<p>The one in equation (A21) is the original value of the normalization denominator before any observation is made and as the initial joint distribution <italic>P</italic>(<italic>A</italic><sub>0</sub>, <italic>O</italic>) is normalized the value of the denominator is one
<disp-formula id="E48"><label>(A21)</label><mml:math id="M136"><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mn>1</mml:mn><mml:mo class="MathClass-bin">&#x0002B;</mml:mo><mml:msub><mml:mrow><mml:mi>&#x003B1;</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-punc">.</mml:mo></mml:math></disp-formula></p>
<p>For the evidence <italic>P</italic>(<italic>Y</italic> <sub>0:</sub><italic><sub>t</sub></italic>&#x0007C;<italic>u</italic><sub>1:</sub><italic><sub>t</sub></italic>), we consider the summation of all the derivatives <italic>&#x003B1;</italic><italic><sub>t</sub></italic> from time <italic>t</italic>&#x02009;&#x0003D;&#x02009;0 until <italic>t</italic>:
<disp-formula id="E49"><label>(A22)</label><mml:math id="M137"><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mn>1</mml:mn><mml:mo class="MathClass-bin">&#x0002B;</mml:mo><mml:mstyle displaystyle='true'><mml:munderover><mml:mrow><mml:mo class="MathClass-op">&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mn>0</mml:mn></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:munderover></mml:mstyle><mml:msub><mml:mrow><mml:mi>&#x003B1;</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-punc">.</mml:mo></mml:math></disp-formula></p>
</sec>
<sec id="S15">
<title>E. Derivation of the Marginal</title>
<p>The marginal of a random variable is the marginalization or integration over all other random variables, <inline-formula><mml:math id="M138"><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mstyle displaystyle='true'><mml:munder class="msub"><mml:mrow><mml:mo class="MathClass-op">&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>O</mml:mi></mml:mrow></mml:munder></mml:mstyle><mml:mtext>&#x02009;</mml:mtext><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mi>O</mml:mi><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:math></inline-formula>. Below, we give a form of this integration, which exploits the independent regions in the joint distribution
<disp-formula id="E50"><label>(A23)</label><mml:math id="M139"><mml:mtable columnalign="left" class="align"><mml:mtr><mml:mtd columnalign="right" class="align-odd"><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mtext mathvariant="bold">P</mml:mtext><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mtext mathvariant="bold">A</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="bold">t</mml:mtext></mml:mrow></mml:msub><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mtext mathvariant="bold">Y</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="bold">0</mml:mtext><mml:mo class="MathClass-punc">:</mml:mo><mml:mtext mathvariant="bold">t</mml:mtext><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:mtext mathvariant="bold">1</mml:mtext></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:mstyle mathsize="1.61em"><mml:mfenced separators="" open="(" close=""><mml:mrow><mml:mtext>&#x02009;</mml:mtext></mml:mrow></mml:mfenced></mml:mstyle><mml:mtext mathvariant="bold">P</mml:mtext><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mtext mathvariant="bold">A</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="bold">t</mml:mtext></mml:mrow></mml:msub><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mtext mathvariant="bold">Y</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="bold">0</mml:mtext><mml:mo class="MathClass-punc">:</mml:mo><mml:mtext mathvariant="bold">t</mml:mtext><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:mtext mathvariant="bold">1</mml:mtext></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mstyle mathsize="1.61em"><mml:mfenced separators="" open=")" close=""><mml:mrow><mml:mtext>&#x02009;</mml:mtext></mml:mrow></mml:mfenced></mml:mstyle><mml:mo class="MathClass-punc">.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
<p>In equation (A23), we add and subtract <italic>P</italic>(<italic>A<sub>t</sub></italic>&#x0007C;<italic>Y</italic> <sub>0:</sub><italic><sub>t&#x02212;</sub></italic><sub>1</sub>), and we further split <italic>P</italic>(<italic>A<sub>t</sub></italic>&#x0007C;<italic>Y</italic> <sub>0:</sub><italic><sub>t&#x02212;</sub></italic><sub>1</sub>) into independent and dependent components:
<disp-formula id="E51"><label>(A24)</label><mml:math id="M140"><mml:mtable columnalign="left" class="align"><mml:mtr><mml:mtd class="align-even"><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mo class="MathClass-bin">&#x02212;</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="align-even"><mml:mstyle mathsize="1.61em"><mml:mfenced separators="" open="(" close=""><mml:mrow><mml:mtext>&#x02009;</mml:mtext></mml:mrow></mml:mfenced></mml:mstyle><mml:munder class="msub"><mml:mrow><mml:munder accentunder="false"><mml:mrow><mml:msub><mml:mrow><mml:mi>P</mml:mi></mml:mrow><mml:mrow><mml:mo class="MathClass-bin">&#x02229;</mml:mo></mml:mrow></mml:msub><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mtext>&#x02009;</mml:mtext><mml:mo class="MathClass-bin">&#x0002B;</mml:mo><mml:mtext>&#x02009;</mml:mtext><mml:menclose notation='updiagonalstrike'><mml:msub><mml:mrow><mml:mi>P</mml:mi></mml:mrow><mml:mrow><mml:mo class="MathClass-bin">&#x02296;</mml:mo></mml:mrow></mml:msub><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:menclose></mml:mrow><mml:mo>&#x0FE38;</mml:mo></mml:munder></mml:mrow><mml:mrow><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:munder><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:munder class="msub"><mml:mrow><mml:munder accentunder="false"><mml:mrow><mml:msub><mml:mrow><mml:mi>P</mml:mi></mml:mrow><mml:mrow><mml:mo class="MathClass-bin">&#x02229;</mml:mo></mml:mrow></mml:msub><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mtext>&#x02009;</mml:mtext><mml:menclose notation='updiagonalstrike'><mml:mo class="MathClass-bin">&#x0002B;</mml:mo><mml:mtext>&#x02009;</mml:mtext><mml:msub><mml:mrow><mml:mi>P</mml:mi></mml:mrow><mml:mrow><mml:mo class="MathClass-bin">&#x02296;</mml:mo></mml:mrow></mml:msub><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:menclose></mml:mrow><mml:mo>&#x0FE38;</mml:mo></mml:munder></mml:mrow><mml:mrow><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:munder><mml:mstyle mathsize="1.61em"><mml:mfenced separators="" open=")" close=""><mml:mrow><mml:mtext>&#x02009;</mml:mtext></mml:mrow></mml:mfenced></mml:mstyle><mml:mo class="MathClass-punc">.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
<p>From equations (A24) and (A25), we used the fact that independent regions of the marginal distributions will remain unchanged after an observation, <italic>P</italic><sub>!</sub>(<italic>A<sub>t</sub></italic>&#x0007C;<italic>Y</italic> <sub>0:</sub><italic><sub>t</sub></italic><sub>&#x02212;1</sub>)&#x02009;&#x0003D;&#x02009;<italic>P</italic><sub>!</sub>(<italic>A<sub>t</sub></italic>&#x0007C;<italic>Y</italic> <sub>0:</sub><italic><sub>t</sub></italic>), and before re-normalization. This results in the final recursive update:
<disp-formula id="E52"><label>(A25)</label><mml:math id="M141"><mml:mtable columnalign="left" class="align"><mml:mtr><mml:mtd columnalign="right" class="align-odd"><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi mathcolor="red">t</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mi>P</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi mathcolor="red">t</mml:mi><mml:mo class="MathClass-bin" mathcolor="red">&#x02212;</mml:mo><mml:mtext mathcolor="red">1</mml:mtext></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:mstyle mathsize="1.61em"><mml:mfenced separators="" open="(" close=""><mml:mrow><mml:mtext>&#x02009;</mml:mtext></mml:mrow></mml:mfenced></mml:mstyle><mml:msub><mml:mrow><mml:mi>P</mml:mi></mml:mrow><mml:mrow><mml:mo class="MathClass-bin">&#x02229;</mml:mo></mml:mrow></mml:msub><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:msub><mml:mrow><mml:mi>P</mml:mi></mml:mrow><mml:mrow><mml:mo class="MathClass-bin">&#x02229;</mml:mo></mml:mrow></mml:msub><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mn class="MathClass-rel">&#x0007C;</mml:mn><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn><mml:mo class="MathClass-punc">:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mstyle mathsize="1.61em"><mml:mfenced separators="" open=")" close=""><mml:mrow><mml:mtext>&#x02009;</mml:mtext></mml:mrow></mml:mfenced></mml:mstyle><mml:mo class="MathClass-punc">.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
<p>Equation (A25) states that only elements of the marginals that are dependent will change by the difference before and after a measurement update.</p>
</sec>
</app>
</app-group>
<fn-group>
<fn id="fn1"><p><sup>1</sup>An optimal Bayesian solution is an exact solution to the recursive problem of calculating the exact posterior density (Arulampalam et al., <xref ref-type="bibr" rid="B1">2002</xref>).</p></fn>
</fn-group>
</back>
</article>