\documentclass[10pt,a4paper]{article} % Packages \usepackage{fancyhdr} % For header and footer \usepackage{multicol} % Allows multicols in tables \usepackage{tabularx} % Intelligent column widths \usepackage{tabulary} % Used in header and footer \usepackage{hhline} % Border under tables \usepackage{graphicx} % For images \usepackage{xcolor} % For hex colours %\usepackage[utf8x]{inputenc} % For unicode character support \usepackage[T1]{fontenc} % Without this we get weird character replacements \usepackage{colortbl} % For coloured tables \usepackage{setspace} % For line height \usepackage{lastpage} % Needed for total page number \usepackage{seqsplit} % Splits long words. %\usepackage{opensans} % Can't make this work so far. Shame. Would be lovely. \usepackage[normalem]{ulem} % For underlining links % Most of the following are not required for the majority % of cheat sheets but are needed for some symbol support. \usepackage{amsmath} % Symbols \usepackage{MnSymbol} % Symbols \usepackage{wasysym} % Symbols %\usepackage[english,german,french,spanish,italian]{babel} % Languages % Document Info \author{lior1995} \pdfinfo{ /Title (collaboration-in-ai.pdf) /Creator (Cheatography) /Author (lior1995) /Subject (Collaboration in AI Cheat Sheet) } % Lengths and widths \addtolength{\textwidth}{6cm} \addtolength{\textheight}{-1cm} \addtolength{\hoffset}{-3cm} \addtolength{\voffset}{-2cm} \setlength{\tabcolsep}{0.2cm} % Space between columns \setlength{\headsep}{-12pt} % Reduce space between header and content \setlength{\headheight}{85pt} % If less, LaTeX automatically increases it \renewcommand{\footrulewidth}{0pt} % Remove footer line \renewcommand{\headrulewidth}{0pt} % Remove header line \renewcommand{\seqinsert}{\ifmmode\allowbreak\else\-\fi} % Hyphens in seqsplit % This two commands together give roughly % the right line height in the tables \renewcommand{\arraystretch}{1.3} \onehalfspacing % Commands \newcommand{\SetRowColor}[1]{\noalign{\gdef\RowColorName{#1}}\rowcolor{\RowColorName}} % Shortcut for row colour \newcommand{\mymulticolumn}[3]{\multicolumn{#1}{>{\columncolor{\RowColorName}}#2}{#3}} % For coloured multi-cols \newcolumntype{x}[1]{>{\raggedright}p{#1}} % New column types for ragged-right paragraph columns \newcommand{\tn}{\tabularnewline} % Required as custom column type in use % Font and Colours \definecolor{HeadBackground}{HTML}{333333} \definecolor{FootBackground}{HTML}{666666} \definecolor{TextColor}{HTML}{333333} \definecolor{DarkBackground}{HTML}{A3A3A3} \definecolor{LightBackground}{HTML}{F3F3F3} \renewcommand{\familydefault}{\sfdefault} \color{TextColor} % Header and Footer \pagestyle{fancy} \fancyhead{} % Set header to blank \fancyfoot{} % Set footer to blank \fancyhead[L]{ \noindent \begin{multicols}{3} \begin{tabulary}{5.8cm}{C} \SetRowColor{DarkBackground} \vspace{-7pt} {\parbox{\dimexpr\textwidth-2\fboxsep\relax}{\noindent \hspace*{-6pt}\includegraphics[width=5.8cm]{/web/www.cheatography.com/public/images/cheatography_logo.pdf}} } \end{tabulary} \columnbreak \begin{tabulary}{11cm}{L} \vspace{-2pt}\large{\bf{\textcolor{DarkBackground}{\textrm{Collaboration in AI Cheat Sheet}}}} \\ \normalsize{by \textcolor{DarkBackground}{lior1995} via \textcolor{DarkBackground}{\uline{cheatography.com/188302/cs/39267/}}} \end{tabulary} \end{multicols}} \fancyfoot[L]{ \footnotesize \noindent \begin{multicols}{3} \begin{tabulary}{5.8cm}{LL} \SetRowColor{FootBackground} \mymulticolumn{2}{p{5.377cm}}{\bf\textcolor{white}{Cheatographer}} \\ \vspace{-2pt}lior1995 \\ \uline{cheatography.com/lior1995} \\ \end{tabulary} \vfill \columnbreak \begin{tabulary}{5.8cm}{L} \SetRowColor{FootBackground} \mymulticolumn{1}{p{5.377cm}}{\bf\textcolor{white}{Cheat Sheet}} \\ \vspace{-2pt}Not Yet Published.\\ Updated 20th June, 2023.\\ Page {\thepage} of \pageref{LastPage}. \end{tabulary} \vfill \columnbreak \begin{tabulary}{5.8cm}{L} \SetRowColor{FootBackground} \mymulticolumn{1}{p{5.377cm}}{\bf\textcolor{white}{Sponsor}} \\ \SetRowColor{white} \vspace{-5pt} %\includegraphics[width=48px,height=48px]{dave.jpeg} Measure your website readability!\\ www.readability-score.com \end{tabulary} \end{multicols}} \begin{document} \raggedright \raggedcolumns % Set font size to small. Switch to any value % from this page to resize cheat sheet text: % www.emerson.emory.edu/services/latex/latex_169.html \footnotesize % Small font. \begin{multicols*}{3} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{MAPF algorithms}} \tn \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{{\bf{Non optimal}} \newline % Row Count 1 (+ 1) {\bf{Algorithm: Prioritized Planning}} -Explanation: Prioritized Planning assigns priority levels to agents based on their importance and solves subproblems in a prioritized order. It is complete, but the solutions may not be optimal due to the disruption caused by higher-priority agents to lower-priority agents' plans. \newline % Row Count 8 (+ 7) Efficient for solving multi-agent pathfinding problems by prioritizing agents based on their importance. Inefficient for problems with conflicting priorities or complex dependencies. \newline % Row Count 12 (+ 4) {\bf{Optimal}} \newline % Row Count 13 (+ 1) {\bf{Algorithm: ICTS}} \newline % Row Count 14 (+ 1) {\bf{Algorithm: CBS}} -Explanation: Two-level algorithm, first finds a conflict-free path assignment using a high-level search tree and then resolves conflicts at the low-level. It guarantees optimality when using optimal low-level solvers. Efficient for solving multi-agent pathfinding problems with conflicting paths and bottlenecks. Inefficient for problems with a large number of agents or complex environments. \newline % Row Count 23 (+ 9) {\bf{Algorithm: M-star}} -Explanation: A single-agent pathfinding algorithm that uses lazy search to adapt to dynamic obstacles in grid-based environments. Efficient for solving single-agent pathfinding problems in grid-based environments with an unbounded number of obstacles. Inefficient for problems with a large number of agents or complex terrain. \newline % Row Count 31 (+ 8) } \tn \end{tabularx} \par\addvspace{1.3em} \vfill \columnbreak \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{MAPF algorithms (cont)}} \tn \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{ {\bf{Algorithm: A-star OD ID}} -Explanation: A-star OD is a variant of A-star where 1 agent moves every time. Deeper search but lower branching factors, hopefully can explore less of the tree this way. \newline % Row Count 5 (+ 5) {\bf{Algorithm: EPE A-star (Enhanced Partial Expansion A-star)}} -Explanation: EPE A-star selectively expands nodes, focusing on promising areas using a heursitic on actions, to reduce computational overhead.% Row Count 10 (+ 5) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Independence Detection}} \tn \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{{\bf{Simple Independence Detection}} \newline % Row Count 1 (+ 1) 1. Solve optimally each agent separately \newline % Row Count 2 (+ 1) 2. While some agents conflict \newline % Row Count 3 (+ 1) ~ A.Merge conflicting agents to one group \newline % Row Count 5 (+ 2) ~ B.Solve optimally new group \newline % Row Count 6 (+ 1) {\bf{Independence Detection}} \newline % Row Count 7 (+ 1) Try to avoid conflict with {\bf{same cost}} before merge \newline % Row Count 9 (+ 2) {\bf{Online Independence Detection}} \newline % Row Count 10 (+ 1) Solve for every group of agents separately, merge groups if necessary. \newline % Row Count 12 (+ 2) Advantages: Replan only required agents, Minimize disturbance, maintain snapshot optimality.% Row Count 14 (+ 2) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Planning Domain Description Language (PDDL)}} \tn \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{Fact = a predicate, State = a conjunction of facts, The initial state: all that I know about the world \newline % Row Count 3 (+ 3) The goal: a conjunction of facts that I wish true, \newline % Row Count 5 (+ 2) Action = a method for moving between states \newline % Row Count 6 (+ 1) - Can have preconditions and effects \newline % Row Count 7 (+ 1) {\bf{STRIPS}} - Problem is \textless{}Predicates, Actions, Initial, Goal\textgreater{} \newline % Row Count 9 (+ 2) {\bf{Approach 1}}- State Space Search. Can search Forward to the goal or backward from the goal. Possible heuristics: Delete \seqsplit{relaxation/Abstraction(Remove} a predicate) \newline % Row Count 13 (+ 4) {\bf{Approach 2}}- Partial order planning- try to achieve goals in parallel, Only make choices when conflicts occur. \newline % Row Count 16 (+ 3) {\bf{Approach 3}}- SAT compilation.% Row Count 17 (+ 1) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{MA-STRIPS}} \tn \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{{\bf{MA-STRIPS}} - Replace Actions in strips with a set of actions per agent. It has different levels: \newline % Row Count 2 (+ 2) Centralized | Centralized but allow parallel execution| Decentralized observations| Decentralized execution| Decentralized planning \newline % Row Count 5 (+ 3) {\bf{Approach 1}}- STRIPS compilation: If agents can act in parallel, A in STRIPS will be the cartesian product of all A's. \newline % Row Count 8 (+ 3) Else, The possible actions are a unition of all actions. \newline % Row Count 10 (+ 2) {\bf{In the parallel setting:}} \newline % Row Count 11 (+ 1) - Full knowledge of other agent' abilities \newline % Row Count 12 (+ 1) - Global heuristic estimates, as in centralized planning \newline % Row Count 14 (+ 2) {\bf{In the distributed setting:}} \newline % Row Count 15 (+ 1) - Partial knowledge of other agents' abilities \newline % Row Count 16 (+ 1) - Local, less informed heuristic estimates \newline % Row Count 17 (+ 1) {\bf{In the centralized setting:}} \newline % Row Count 18 (+ 1) - Agents represent a natural factoring of the problem \newline % Row Count 20 (+ 2) Can we plan in a mostly decoupled way? \newline % Row Count 21 (+ 1) Pros: - Can use regular STRIPS planner \newline % Row Count 22 (+ 1) Cons: - Does not fit a distributed setting \newline % Row Count 23 (+ 1) - Branching factor exponential w. \# of agents \newline % Row Count 24 (+ 1) {\bf{Private actions}} affect and are affected by agent's actions only. \newline % Row Count 26 (+ 2) {\bf{Public actions}} affect or are affected by other agents. \newline % Row Count 28 (+ 2) {\bf{Approach 2:}} Planning + CSP% Row Count 29 (+ 1) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Suboptimal MAPF}} \tn \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{{\bf{Algorithm: Weighted A-Star}} - A-Star that has a weight factor to prioritize nodes close to the goal by increasing the weight of h in the formula. \newline % Row Count 3 (+ 3) Formula: f(n) = g(n) + w * h(n) \newline % Row Count 4 (+ 1) {\bf{Algorithm: Suboptimal CBS}} -First expand the routes with the least conflicts OR use single agent A-Star for low leve serach OR use BFS for high level search.% Row Count 8 (+ 4) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{MAPF to SAT Encoding}} \tn \SetRowColor{LightBackground} \mymulticolumn{1}{p{5.377cm}}{\vspace{1px}\centerline{\includegraphics[width=5.1cm]{/web/www.cheatography.com/public/uploads/lior1995_1687168689_MAPF to SAT Encoding.jpg}}} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{SIPP- Low Level Planner for Continous}} \tn \SetRowColor{LightBackground} \mymulticolumn{1}{p{5.377cm}}{\vspace{1px}\centerline{\includegraphics[width=5.1cm]{/web/www.cheatography.com/public/uploads/lior1995_1687172512_SIPP.jpg}}} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Continous Time}} \tn \SetRowColor{LightBackground} \mymulticolumn{1}{p{5.377cm}}{\vspace{1px}\centerline{\includegraphics[width=5.1cm]{/web/www.cheatography.com/public/uploads/lior1995_1687172032_CCBS.jpg}}} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{To eliminate a conflict, CBS needs to constrain the colliding agents. \newline And again in case of classical CBS constraints are imposed on locations and contain only one timestep, while in CCBS the one needs to constrain actions. And these constraints need to have time-intervals as the agent can wait for arbitrary amount of time and start to perform the action at any moment.} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Large Agents}} \tn \SetRowColor{LightBackground} \mymulticolumn{1}{p{5.377cm}}{\vspace{1px}\centerline{\includegraphics[width=5.1cm]{/web/www.cheatography.com/public/uploads/lior1995_1687171873_Large agents.jpg}}} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{Every grid cell is a node. And agent at a node is defined here as having the top-left of the agent at that node.} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{MA STRIPS Plan}} \tn \SetRowColor{LightBackground} \mymulticolumn{1}{p{5.377cm}}{\vspace{1px}\centerline{\includegraphics[width=5.1cm]{/web/www.cheatography.com/public/uploads/lior1995_1687245753_MA STRIPS plan.jpg}}} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Planning + CSP}} \tn \SetRowColor{LightBackground} \mymulticolumn{1}{p{5.377cm}}{\vspace{1px}\centerline{\includegraphics[width=5.1cm]{/web/www.cheatography.com/public/uploads/lior1995_1687214714_Planning and CSP.jpg}}} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{{\bf{Pros}} -Exploits loosely coupled agents \newline -Adding agents may only add complexity polynomially \newline {\bf{Cons}} -CSP variables have huge domain \newline -Regular CSP heuristic are not relevant and regular solvers can't run a planner} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Approach 2+: Planning First}} \tn \SetRowColor{LightBackground} \mymulticolumn{1}{p{5.377cm}}{\vspace{1px}\centerline{\includegraphics[width=5.1cm]{/web/www.cheatography.com/public/uploads/lior1995_1687215287_planning first.jpg}}} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{{\bf{Pros-}} The choice of public actions is more informed \newline {\bf{Cons-}} Which agent goes first? \newline How to know what the other agents can do?} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Greddy Privacy Preserving Planner (GPPP):}} \tn \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{● High level planning \newline % Row Count 1 (+ 1) ○ Outcome: coordination scheme \newline % Row Count 2 (+ 1) ○ Approach: Solve a relaxed planning problem \newline % Row Count 3 (+ 1) ● Grounding \newline % Row Count 4 (+ 1) ○ Input: a coordination scheme \newline % Row Count 5 (+ 1) ○ Output: a set of private plans to follow the scheme \newline % Row Count 7 (+ 2) $\filledsquare{}$ Or false, if not possible \newline % Row Count 8 (+ 1) ● Notes High level planning \newline % Row Count 9 (+ 1) ○ Done using a heuristic forward search (GBFS) \newline % Row Count 10 (+ 1) ○ Each agent generates runs search locally using only private \newline % Row Count 12 (+ 2) actions to identify relevant states to publish \newline % Row Count 13 (+ 1) ○ Uses heuristics to guide the search \newline % Row Count 14 (+ 1) ● Notes Grounding \newline % Row Count 15 (+ 1) ○ Grounding is done in parallel by all agents \newline % Row Count 16 (+ 1) ○ Agents can use different heuristics/planners% Row Count 17 (+ 1) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Online MAPF}} \tn \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{{\bf{Replan Single}} \newline % Row Count 1 (+ 1) Plan optimally one by one for new agents \newline % Row Count 2 (+ 1) New agent avoids current agents' plans \newline % Row Count 3 (+ 1) {\bf{Replan Single Grouped}} \newline % Row Count 4 (+ 1) Plan optimally for new agents together (MAPF) \newline % Row Count 5 (+ 1) New agents avoids current agents' plans \newline % Row Count 6 (+ 1) {\bf{Replan All}} \newline % Row Count 7 (+ 1) Replans optimally all agents when new agents appear \newline % Row Count 9 (+ 2) +Is snapshot optimal- optimal solution assuming no new agent appear in the future \newline % Row Count 11 (+ 2) -May unnecessarily disturb agents \newline % Row Count 12 (+ 1) Possible objective functions: Sum of steps, Number of agents in graph at any time, Sum of steps over shortest path- all equal. Throughput at time x, Maximal service ration (ratio between shortest path and actual path).% Row Count 17 (+ 5) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Online MAPF variants}} \tn \SetRowColor{LightBackground} \mymulticolumn{1}{p{5.377cm}}{\vspace{1px}\centerline{\includegraphics[width=5.1cm]{/web/www.cheatography.com/public/uploads/lior1995_1687173316_Online MAPF Variants.jpg}}} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Suboptimal ID}} \tn \SetRowColor{LightBackground} \mymulticolumn{1}{p{5.377cm}}{\vspace{1px}\centerline{\includegraphics[width=5.1cm]{/web/www.cheatography.com/public/uploads/lior1995_1687175206_Suboptimal ID.jpg}}} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{ITF}} \tn \SetRowColor{LightBackground} \mymulticolumn{1}{p{5.377cm}}{\vspace{1px}\centerline{\includegraphics[width=5.1cm]{/web/www.cheatography.com/public/uploads/lior1995_1687179022_ITF.jpg}}} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{iBundle}} \tn \SetRowColor{LightBackground} \mymulticolumn{1}{p{5.377cm}}{\vspace{1px}\centerline{\includegraphics[width=5.1cm]{/web/www.cheatography.com/public/uploads/lior1995_1687179567_iBundle.jpg}}} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Action Graph}} \tn \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{● Graph to model the interaction between actions \newline % Row Count 2 (+ 2) ● Nodes correspond to actions \newline % Row Count 3 (+ 1) ● An aedge (a1, a2) exists iff at least 1 of the following hold \newline % Row Count 5 (+ 2) ○ a1 achieves a precondition for a2 (or the other way around) \newline % Row Count 7 (+ 2) ○ a1 destroyed a precondition for a2 (or the other way around) \newline % Row Count 9 (+ 2) ○ a1 and a2 have conflicting effects \newline % Row Count 10 (+ 1) ● Key: a partition of the AG induces MA-STRIPS% Row Count 11 (+ 1) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Approach 3: Multi Agent Forward Search}} \tn \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{{\bf{Algorithm for agents}} \newline % Row Count 1 (+ 1) 1.While (not done) \newline % Row Count 2 (+ 1) 1.1. Handle received messages \newline % Row Count 3 (+ 1) 1.2. Extract best state s from OPEN \newline % Row Count 4 (+ 1) 1.3. For every action a of this agent \newline % Row Count 5 (+ 1) 1.3.1. s' = generate(a,s) \newline % Row Count 6 (+ 1) 1.3.2 Add s' to OPEN \newline % Row Count 7 (+ 1) 1.3.3. If a is public, broadcast it \newline % Row Count 8 (+ 1) ● Can be optimal! But needs halting mechanism. \newline % Row Count 9 (+ 1) ● Distributed with distributed heuristics \newline % Row Count 10 (+ 1) ● Sometimes, MAFS achieves super linear speedup since it exploits \newline % Row Count 12 (+ 2) the structure of the problem% Row Count 13 (+ 1) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} % That's all folks \end{multicols*} \end{document}