A Symbolic Programming Approach to the Rendezvous Search Problem

In this paper we solve the rendezvous problem on the line with markers that can be dropped at chosen times when the initial distance D between the players is known. In the case of one marker, the M1\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$M_1$$\end{document} game, the marker is held by player II at the start of the game and, once dropped and found by player I, indicates in which direction player I must move. In the case of two markers, the M2\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$M_2$$\end{document} game, each player holds one and the dropping times may differ. There is uncertainty regarding the problem initial configuration, and the goal is to minimize the expected rendezvous time that we call the rendezvous value (of the game) denoted R1\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$R_1$$\end{document} and R2\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$R_2$$\end{document} for the M1\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$M_1$$\end{document} and M2\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$M_2$$\end{document} games respectively. We present an algorithm that computes exactly the rendezvous value of the M1\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$M_1$$\end{document} game as a function of the dropping time z, i.e. z↦R1(z)\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$z\mapsto R_1(z)$$\end{document}. Then we show that the function R1(z)\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$R_1(z)$$\end{document} is locally an affine function and we compute the parameters of the local representations of R1(z)\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$R_1(z)$$\end{document}. Finally, the rendezvous value of the game R1=minzR1(z)\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$R_1=min_z R_1(z)$$\end{document} and the optimal dropping times can be determined with the expression of R1(z)\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$R_1(z)$$\end{document}. The same proceeding can be extended to apply to the problem M2\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$M_2$$\end{document}. Symbolic execution of programs is a classical technique of program testing in computer science, see King [1] for the pioneering work. In this work we adapt the symbolic execution technique to solve an optimization problem. To our knowledge this is the first time that this is attempted, in particular to deal with rendezvous problems.


Introduction
In the classical formulation of the rendezvous problem that we consider in this article, two players are moving along the infinite line and wish to meet as soon as possible. At the beginning of the game, the players know they are placed at a distance D apart. Players move along the line at speed 1 and rendezvous occurs at the time both players occupy the same position.
Players have no orientation reference. Initially, each player faces one side of the infinite line and can move Forward or Backward accordingly to the side faced. The resulting motion of a Forward move on the line may be to the left or to the right side with equal probability and the Backward move is to the opposite side. The left/right sides are fixed and correspond to the left/right sides as seen by an observer. The Forward/Backward directions are seen by the players who do not know whether it is left/right, see Fig. 1.
There are then 8 initial conditions obtained by compounding the Forward directions of both players and the two possibilities where player I starts on the left or on the right of player II. All starting positions are equiprobable, see Fig. 1. The goal of the players is to minimize the expected meeting time that is called the rendezvous value and denoted by R. This game is defined and solved in [2], we call it M 0 .
In this paper, we assume that player II has a marker that can be dropped off on the line at a chosen time at the position where he is located at that time. Once the other player, player I, is at the dropping position we say that the marker is found and this indicates to player I the direction on which player II is. As in M 0 the game stops when the two players rendezvous, i.e. occupy the same position on the line. The open question is to determine at which time it is optimal for a player to drop off the marker and when to change the direction (Forward/Backward) of motion? We call this game M 1 .
A strategy for a player is given by the direction of subsequent moves (Forward or Backward), the times at which the player changes the direction of the motion and, in addition for player II, the time at which the marker is dropped off. An optimal solution of the game is a strategy pair, one strategy for each player, such that the expected rendezvous time is minimal. We denote by R 1 (z) the minimal expected rendezvous time when player II drops off the marker at time z, and R 1 = min z R 1 (z) the rendezvous value of the game.
The contributions of this paper are to present optimal strategy pairs to the M 1 game. Our approach extends our work in [3] where it is shown how to write a program to compute the function z ↦ R 1 (z) . Here, we show how the program can be modified to compute 0 = a 0 < a 1 < … < a n and affine functions R i 1 (z) = b i + c i z , i = 1, … , n such that R i 1 (z) = R 1 (z) for z ∈ [a i−1 , a i ] . The value of a n is large enough to ensure that dropping off the marker at a later time is inefficient.
We also consider the game where player I and II have each one a marker and call this game M 2 and extend all the results to this setting.
Our approach is based on the symbolic execution of a program to compute these optimal strategy pairs. This work has been presented in a seminar 1 but has never been published yet. Up to our knowledge this approach is original.

Literature Review
The rendezvous search problem was proposed by Alpern in [4].This paradigm is prone to many variations. The references [5][6][7][8][9][10] provide a panorama of different settings and applications of the rendezvous problems. A first classification consider whether players move on continuous or discrete space. Time accommodates the same dichotomy. The first proper model of rendezvous search where the players can only meet at a discrete set of locations and time is discrete, is analysed in [11] and solved later for three locations in [12]. In this work we focus on models with continuous time and space and particularly on models where the motion happens along a one dimensional space (a line, a ring).
The rendezvous search problem for continuous space and time, including the infinite line, was first introduced in [13]. The player-asymmetric form of the problem (used in this paper), where players can adopt distinct strategies, was introduced in [2]. The corresponding player-symmetric problem on the line was developed in [14] and successively in [15,16], and [17]. These papers assumed that the initial distance between the players on the line was known. The problem version where the initial distance between the players is unknown was studied in [18][19][20] and [21]. It is relevant that even in its simplest form the player-symmetric problem is still unsolved.
In [22], the authors allowed the players to leave markers at their starting points (at time 0). Our work here extends their results.
The continuous rendezvous problem has also been extensively studied on finite networks, the unit interval and circle [10,23,24]; arbitrary networks [25]; planar grids [26,27]; and the star graph [28]. We have no knowledge of such works including the use of markers.
The rendezvous problem is an abstract problem that has some applications. In communication systems [29], robotic applications with different models: communication with faults [30], with asymmetric clocks [31], with asymmetric speeds [32].
The rendezvous problem on the line may be motivated by the problem of two players lost on an island. A strategy to rendezvous for the players is first to reach the coastline and then apply a strategy for solving the rendezvous problem on the line, i.e. the players move in following the coastline. The line topology occurs naturally when the problem for the player is to escape a building by following a line on the floor [33,34].
When the players are distinguishable, i.e. the player-asymmetric version of the game [14], the problem is said to have a universal strategy: One of the player is still while the other player searches for him. This strategy reduces rendezvous problems to search problems and is usually called wait-for-mummy strategy [6]. Hence, the optimal search strategy provide upper bounds on the asymmetric rendezvous value. The settings of search problems admit many variations as well [6,7,35,36].
This paper is built upon the work done in [3] where it is shown how to solve the M 1 and M 2 problems by simulating the strategy pairs when the marker dropping time is known. The contribution of [3] consists in reducing the space of possibly optimal strategy pairs to a finite space (given that the dropping times are known). It is then possible to find the optimal strategy pairs by enumerating all of them and use a computer simulation to compare their performance. The algorithms in [3] compute the functions z ↦ R 1 (z) and (z 1 , z 2 ) ↦ R 2 (z 1 , z 2 ) that compute the minimal expected rendezvous time given the dropping time(s). Here, we extend this work to compute the minimal expected rendezvous time and compute the optimal dropping time(s).

Structure of the Paper
We describe the contribution of this paper in finding the optimal strategy pairs the M 1 and M 2 problems. We focus on the M 1 problem. The M 2 problem is handled similarly but at the price of more work. We distinguish a technical contribution (symbolic programming approach) and the contribution of solving the M 1 and M 2 problems (the optimal strategy pairs).
In Section 4 we present the rendezvous problem on the line in its classical form (without markers) and call it M 0 . We show that finding the optimal strategy pairs can be done simply by enumerating all strategy pairs. This leads to a simple recursive program shown in Algorithm 1.
In Section 5 we introduce the problem M 1 where player II has a marker. It is shown how the previous algorithm of Section 4 can be extended to handle the marker of player II. This leads to an algorithm to compute the function z ↦ R 1 (z) . This algorithm takes as input the dropping time and enumerates all strategy pairs to output the ones minimizing the rendezvous time.
In Section 6 we extend the algorithm of Section 5 to compute 0 = a 0 < a 1 < … < a n and affine functions R i Because it happens that there are a finite number of such affine functions this program leads to the computation of the optimal dropping times and the optimal strategy pairs.
In the Apprendix Section 1 we describe how the formal computations can be extended to the problem M 2 .

Presentation and Solution of the M 0 Problem
The two players, player I and II, are placed at a known distance D apart and move on the infinite line. At the time when the two players occupy the same position rendezvous occurs and the game stops. The speed of motion is bounded, say by 1, to ensure a non zero rendezvous time. Proposition 3 of [3] shows that it does not restrict the generality to assume the speed of motion (maximal) equal to 1, i.e. moving at a lower speed is never optimal. There are two kinds of uncertainty: • The players do not know whether the other player is on the left or on the right. • Players move Forward or Backward but do not know whether these moves are to the left or to the right (only that a Backward move is opposite to a Forward one).
The 8 possible initial configurations are equiprobable and illustrated in Fig. 1. In fact, because of the symmetry of the problem we can assume that player I Forward direction always points in the same direction (the right) reducing to 4 the number of random initial configurations, see the top of Fig. 2. To illustrate, in case the two players move in their Forward direction, with probability 1/2 they are both moving to the right, hence the inter-distance is unchanged by the motion. With probability 1/4 they are moving towards each other, the inter-distance decreases by 2 after a motion of duration . Finally, with probability 1/4 they are moving apart from each other, the inter-distance increases by 2 after a motion of duration . It is usual to derandomize the problem and make it deterministic. To play the role of player II we introduce 4 agents, two of them initially placed on the left of player I and two on the right. The Forward directions of two agents at the same initial location are opposite, see the top of Fig. 2. With this representation, when the strategy of player II specifies a move, say Forward, it results in 4 deterministic moves by each agent in their respective Forward direction. The game now is that player I must rendezvous with the 4 agents of player II in minimum average time, the sum of the rendezvous time of player I with the agents being divided by 4. Figure 2 illustrates the derandomized initial condition with the 4 agents as well as the motions resulting from a Forward and a Backward move. The derandomization of the game is used as well in search game [6]. Here we introduce a name for the derandomized version of M 0 .
Notation In the text we refer to the derandomized version of M 0 as the MD 0 -game, where D stands for deterministic or derandomized.
To recapitulate, the original game is M 0 and in this game player I plays with player II. The game stops when player I rendezvous with player II. In MD 0 player I plays with the four agents of player II and the goal is to rendezvous with all of them. In M 0 player I can be seen as to play with only one of the agents of player II chosen randomly with uniform probability (1/4). The goal is to minimize the expected or average rendezvous time in M 0 , MD 0 respectively.
In MD 0 player strategies are successions of Backward (B) or Forward (F) moves and are displayed here as FBFB, for instance, to mean that the player is moving Forward, then Backward, then Forward, then Backward. Strategies of players I and II can be different and we write a strategy pair as (FBFB -FFBB), for instance, to display the strategy of player I (first) and of player II (second). Actually, this particular strategy is optimal [2] and shown in Fig. 3. A move is executed by the players at speed 1 and until player I rendezvous with one of the agents. Rendezvous occurs when both player I and the agent are located at the same position.
There are a finite number of strategy pairs. Indeed, in MD 0 player I must rendezvous with the 4 agents. A given strategy pair is equivalent to fix the order of player I rendezvous with the agents. For instance, this order may be {2, 3, 1, 4} , leading player I to move first F in the direction of agent 2, then B in the direction of agent 3, then F in the direction of agent 1 and finally B in the direction of agent 4. Player II corresponding strategy is F making the agent 2 moving towards player I, then F making agent 3 moving towards player I, then B making agent 1 moving towards player I, then B making agent 4 moving towards player I, see Fig. 3.
For the rendezvous times we use the notation t i for 2 the rendezvous time of player I with agent i. If at time t players I and II set their strategies such that player I rendezvous with agent i the time needed to rendezvous is d i 2 where d i is the distance between player I and agent i at time t. The rendezvous then occurs at time The times t 1 ≤ t 2 ≤ t 3 ≤ t 4 denote the rendezvous times t i by increasing order, see the illustration in Fig. 3.
Hence, a strategy pair is given by a permutation of the set {1, 2, 3, 4} that specifies that player I rendezvous with agents (1), (2), (3), (4) one after the other. With the notation introduced before we get (4) .
The goal of the players is to minimize the average rendezvous time given by Because there are 24 possible permutations 3 , a computer program can execute all strategies and output the strategies with minimal average rendezvous time. A procedure that enumerates all strategy pairs is shown in Algorithm 1. This procedure is already discussed but not given explicitly in [3]. Running this program is an alternative proof to the one in [2] and the strategy pair (FBFB -FFBB) appears to be optimal, see Fig. 3.
The initial distance D is set to 1 in Algorithm 1 for computation. To obtain the results in full generality the rendezvous times have to be multiplied by D (indeterminate), the rendezvous times being linear functions of the intial distance. Moreover, notice that Algorithm 1 makes only use of addition or division by 2 on variables. Hence, if the initial distance D is chosen of the form D = 2 N , and N is large enough, then all the values computed are integers. The algorithm can then be executed without round-off errors. This remark is also valid for the M 1 and M 2 games.  posi n of players on the line 3 By symmetry we can assume that the Forward direction of player I is to the right side and that player I and II start with a Forward move. Player I always rendezvous with agent 2 first and this reduces the number of permutations to 6.
Algorithm 1 Pseudo-code of the program that enumerates the 24 strategy pairs of the rendezvous problem on the line. The recursive procedure prints out all the checked strategy pairs and the total time. The parameters di are the distances from player I to agent i of player II, t is the current time, p 1 , p 2 are strings initially empty that contain the players' strategies, i.e. sequence of Forward and Backward moves and total is the sum of the rendezvous times. The agent numbering is according to Fig. 2. We use an operator denoted + , i.e. x+y whose semantic is: if x > 0 then x + y else 0. The operator + is used instead of + because a null distance d i indicates that player I and agent i have met and, if null, di must not be updated. To solve the problem call CheckAllStrategy(1,1,1,1,0,"","",0).

Presentation of the M 1 Game
In this section we introduce the new game M 1 which is a generalization of the game introduced in [22]. The setting is the same as for the M 0 game except that player II has a marker that can be dropped at any chosen time. The derandomization tool that we discuss for M 0 in Section 4 is still useful. Player II random initial configurations are replaced by 4 agents, each one having a marker at its disposal (the agents drop off the marker at the same time). Again we give a name to the derandomized version of M 1 .

Notation
In the text we refer to the derandomized version of M 1 as the MD 1 -game, where D stands for deterministic or derandomized.
In MD 1 strategies for players are still given by a succession of Forward and Backward moves and the strategies for player II are extended with the time z when the marker has to be dropped off. For instance a strategy for player I is FFFBB while a strategy for player II is z;FBFFB, the z denoting the dropping time.
The execution of a strategy pair goes in the following way. The players start to move at speed 1 in the direction given by the first letter of their strategy (F or B). The direction of the player's motion switches according to the next letter in the strategy each time one of the following events occurs This shows that if the dropping time z is known a strategy for a player consists of at most 5 moves (F or B, 4 rendezvous or markers found (events 1. or 3.) plus 1 for dropping the marker. Hence, there is at most 32 2 = 1024 strategy pairs that can be all simulated to find the optimal ones. The strategies can be enumerated and simulated to find out the optimal ones. We emphasize that this does not completely solve the problem since the dropping time z is not known, as assumed here, and must be chosen optimally. This will be discussed in the next Section 6. It is important to describe what happens after player I finds the marker of agent i. The first remark is that the direction that player I follows when he arrives to the marker location (F or B) is the direction that player I has to follow to rendezvous with agent i. This is because agent i cannot be on the other side of the line that has been crossed by player I (rendezvous would have occurred). Hence, after finding the marker the strategy becomes immaterial for player I to rendezvous with agent i. However, player I has to rendezvous with the other agents and for this he needs to follow the strategy. This means that after finding a marker, player I has to follow two paths simultaneously, player I splits into two subplayers. One goes on to rendezvous with agent i and one continues according to the strategy. This appears in Fig. 4

at time 2
To convince the reader that a program that simulates the execution of a strategy pair can be written we describe the execution of the strategy pair (FFFBB − 1 3 ;FBFFB) 4 with z = 1 3 and D = 1 , which is plotted on Fig. 4. Both players start with a forward move (F) which means that player I and agent 2 rendezvous if the motion lasts long enough, i.e. the rendezvous time occurs before the dropping time z. The time of motion ensuring rendezvous is 1 2 because the distance separating player I and agent 2 is 1 and both move at speed 1. The dropping time z = 1 3 < 1 2 occurs before the rendezvous. At this time, Player I and II switch to the next direction in their strategy, F and B respectively. At time 5 6 , player I rendezvous with agent 1 and players I and II switch to the 3rd direction in their strategy F and F respectively. At time 2 3 player I finds the marker of agent 2. At this point, player I splits in two subplayers, one subplayer keeps going Forward until rendezvous with agent 2 occurs (at time 1) and the other subplayer switches to the next direction in his strategy (follows the strategy) with a B move. Player II follows the strategy with the 4th direction which is a F move. At time 1, one subplayer of player I rendezvous with agent 2. This event stops the subplayer of player I and agent 2.
The next event occurs at time 5 3 when player I rendezvous with agent 3. After the rendezvous player I continues with a Backward move (B) and player II (agent 4) with a Backward move (B).
To summarize, rendezvous occur at times 5 6 , 1, 5 3 and 7 3 . The average rendezvous time R is If the dropping time is known, the execution (simulation) of a strategy pair is illustrated by Algorithm 2. The algorithm takes as input a strategy pair and a fixed concrete value for the dropping time z. Calling Algorithm 2 for all 1024 strategy  pairs and comparing the results leads to the identification of optimal strategy pairs for a given (fixed) dropping time z, i.e. the computation of the function z ↦ R 1 (z).
Algorithm 2 Pseudo code of the simulation of a strategy pair that leads to the computation of the average rendezvous time for this strategy pair. Notice, the dropping time z is a concrete value. example of a program is P ∶ z →< v = z∕2, w = v + z, x = 2 + w, return x > (v, w, x ℝ are local variables) . With P(2) denoting the value returned by the program P if the formal argument z is given the value 2 we obtain in our example P(2) = 5. Notice that here we assume that the program is computing with values in ℝ . In practice it computes with types like integer, double, etc. but the reasoning below remains valid.

Computing the Exact Solution of the MD 1 Game
The difficulty to solve the MD 1 game is that the dropping time z is a continuous variable. To resolve this issue, we modify the Algorithm 2 such that the dropping z is no longer a fixed (concrete) value but a symbolic variable (an unknown).
The important remark is that in Algorithm 2, the numerical operations applied to times and distances are: • Division by 2, to compute the time it takes for player I and an agent to rendezvous when both are moving towards each other (each one is moving at speed 1), • Addition, to compute the current or total times or the distance from player I to a marker or an agent, • Subtraction, to compute the distance from player I to a marker or an agent.

Lemma 1 The operations of division by 2 (/2), addition ( + ) and subtraction (−) preserve the set of affine functions defined by
This means that these operations can be seen as operations on , i.e. ∕2 ∶ → , Affine functions are defined by their coefficients, to simplify the notation we sometimes denote by (a, b) the affine function a + bz.
Proof These operations are defined on as We see from the definition that these operations preserve , i.e are functions → or × → .
An operation that does not preserve is the multiplication since by multiplying to affine functions we get a polynomial of order 2.
A program is composed of a sequence of operations. We denote a program P composed of n instructions and accepting a formal argument z by P ∶ z →< a 1 , a 2 , … , a n > . The program returns a value using the operation return. An example of a program is P ∶ z →< v = z∕2, w = v + z, x = 2 + w, return x > ( v, w, x ∈ ℝ are local variables). With P(2) denoting the value returned by the program P if the formal argument z is given the value 2 we obtain in our example P(2) = 5 . Notice that here we assume that the program is computing with values in ℝ . In practice it computes with types like integer, double, etc. but the reasoning below remains valid.

Lemma 2
We consider a program composed of a sequence of operations restricted to be: division by 2 (/2), addition ( + ) and subtraction (−). We assume that this program takes a real input and we denote z the parameter or formal argument. We denote z ↦ f (z) the function computed by the program. The function f(z) is affine.
Proof To prove the Lemma we change our point of view on the program execution. We take the program P of our example as support of the proof. We consider that the formal argument is not given a value but compute the result of the program algebraically, using z as an indeterminate. Because in that case the input of the program is the affine function z → z and each operation applied by the program preserves the affine functions by Lemma 1, the result output by P is an affine function. For the program P in our example we obtain v = z∕2, w = 3 2 z, x = 2 + 3 2 z , showing that the value returned by the program can well be expressed as an affine function. It can be checked that if we assign the value 2 to z in the expression 2 + 3 2 z the value returned is 5 again.
In order to turn a program like P to compute with variables and constants in the set of affine functions instead of real values ℝ the variables and constants have to be implemented as pairs of real values, (a, b) denoting the affine function a + bz . The operations of division by 2 (/2), addition ( + ) and subtraction (−) are then implemented as shown in the proof of Lemma 1. With this formalism, our example program P becomes P � ∶ (0, 1) →< v = (0, 1)∕2, w = v + (0, 1), x = (2, 0) + w, return x > that returns (2, 3 2 ) which is the expected affine function. We are almost done. The last operation that Algorithm 2 makes use and that we have not defined on × is the comparison . Given (a, b), (a � , b � ) ∈ it is needed to decide which one is the smaller, for instance, to decide whether a rendezvous occurs before the dropping time.
The first idea is to say that an affine function (a, b) is smaller than (a � , b � ) if the values computed are always smaller, i.e. ∀z ∈ ℝ , a + bz < a � + b � z , which is not a total order. To get a total order we need to constrain the domain of the affine function (the values that can be assigned to z). In our case, the values of z are dropping times and are assumed to be positive. So we come with the following definition for the comparison operator < .

Definition 1
Notice that in the case where a < a ′ and b < b ′ the condition on z, z > a � −a b−b � is always satisfied since z is assumed positive.
To be operational this definition requires that the program keeps track of the smallest bound computed along the computations. The affine function computed by the program will be the valid result only for values of z smaller than this bound. Let us describe this on the following example At the start of the execution of P F the value of the bound of z, denoted by z bound is infinite. The test (0, 1) < (1, −2) happens to be true if z is bounded by 1 3 . The condition is then true and z bound is set to z bound = min(z bound , 1 3 ) = 1 3 . Then the program computes v = (0, 1)∕2 and w = (2, 2) . The results is (2, 2) and z < 1 3 .
The discussion in this section up to this point is summarized, for emphasis, in the following proposition.

Proposition 1 Consider an algorithm that computes with data in and whose operations are divisions by 2 (noted /2), additions, subtractions and tests using the order relation < of Definition 1. Then, the program result is in and is correct for values of z in the interval [0, z bound ] where z bound is the smallest bound computed by the program when comparing members of with Definition 1. Computing a real value by substituting a value for z in the result leads to the same numerical value as if the program was written to compute with real values.
To compute the result of the program for values larger than z bound we now consider values of z of the form z = z bound + z � with z ′ ≥ 0 . This leads to a modification of the order relation < which is denoted by � < and is the order relation used in the program. In the definition we use a general offset instead of the particular z bound .

Definition 2
With this definition we continue the execution of the program P F with offset = 1 3 . The test leads to check (0, 1)� < (1, −2) which by Definition 2 leads to ( 1 3 , 1)< ( 1 3 , −2) , which by Definition 1 is false. Hence P F computes v = (0, 0) and returns w = (2, 1) . In computing the value of the test ( < ), because the result is false, the bound on z ′ is not updated. Hence the results is valid for z � ∈ [0, ∞[ , or z ∈ [ 1 3 , ∞[. Executing P F twice, we have obtained the formal expression of the function We have now collected all the material to prove one of the main result of this article.

Theorem 1 (Single Marker Game) The optimal strategy pair for the rendezvous problem on the line with a single marker (possessed by II) is as follows:
where the times at which direction may change are The rendezvous times are The rendezvous value R 1 (the average of the rendezvous times) for this problem is given by Proof It is shown in Section 5 that if the dropping time z is known it is possible to write a program that computes the function z ↦ R 1 (z) . This program makes use of only the operations of Lemma 1, division by 2 (/2), addition ( + ) and subtraction (−). As we have seen in this Section 6, such a program can be turned to compute symbolically. The proof consists in the execution this program. At the start the value of the offset is offset = 0 . The algorithm checks all strategy pairs and outputs that the rendezvous value of the game is 13∕8 − 1∕2z for z ∈ [0, 1∕6] . The strategy pairs that are identified as optimal are FFFBB − FBFFB , FFFBB − BFBBF , BBBFF − FBFFB and BBBFF − BFBBF . These 4 strategy pairs lead to the same figure as shown in Fig. 7. Indeed, if player II plays BFBBF instead of FBFFB this amounts to exchange agent 1 with 2 and agents 3 with 4. Similarly, if player I plays BBBFF instead of FFFBB this amounts to exchange agent 1 with 4 and agent 2 with 3. The strategy pairs that have in common such symmetry are considered as similar.
To continue the computations, we set the offset offset = 1∕6 to cover larger values of the dropping time z, i.e. z = offset + z � , with z ′ > 0 . For this second step we obtain that the rendezvous value of the game is 13∕8 − 1∕2z for z ∈ [1∕6, 1∕4] and the optimal strategy pairs are the same as the ones identified for z ∈ [0, 1∕6] and plotted in Fig. 7. The value of the bound for z ′ is 1/12 ( z = 1 6 + z � , hence we get the bound 1∕6 + 1∕12 = 1∕4 for z). We proceed similarly until the meaningful dropping  times are all covered. The function z ↦ R 1 (z) is plotted in Fig. 5. We see that it is optimal for player II to drop off the marker at time z = D∕4 and the optimal strategy pair is plotted in Fig. 6. In Fig. 7 we have plotted the optimal strategy pairs for z < D∕4 and 1∕4 ≤ z < 3∕8 . The optimal strategy pair for z ≥ 3∕8 is the one of M 0 plotted in Fig. 3.

Conclusion
The symbolic execution of program can be adapted to solve the M 2 problem as well. The program that computes the function (z 1 , z 2 ) ↦ R 2 (z 1 , z 2 ) is described in [3]. This time, the symbolic program computes with affine functions in 2 of the form a + bz 1 + cz 2 , see Section 1. Division by 2, addition and subtraction are defined in the natural way. To compare the elements of 2 requires more work than in . Moreover, to cover the 2-dimensional region where (z 1 , z 2 ) take their values requires more offset than in the definition of � < . This is presented in the Appendix 1. The execution of the symbolic program confirms that the strategy pairs stated in Theorem 9 of [3] are optimal. Notice that we observe that the rendezvous value of the M 2 game is the same as the one of the M 1 game. This shows that using a second marker provides more optimal strategy pairs but does not improve the expected rendezvous time.
In [37,38], we have considered different rendezvous problems and we have shown how to reduce these rendezvous problems to families of linear programs. By solving the LPs composing the family we compute the optimal dropping time z and identify the optimal strategy pairs of the associated rendezvous problem. However, with this approach the analysis of the function z ↦ R 1 (z) cannot be done. With the symbolic approach suggested here, such an analysis is possible as we have shown in Section 6. The main observation leading to the results is that the program that computes the function z ↦ R 1 (z) makes only use of of division by 2 (/2), addition ( + ) and subtraction (−). This observation resonates with the fact some arithmetic theories that do not use multiplication are decidable. For instance, the Presburger arithmetic is a first-order theory on the integers that does not use the multiplication. It is then tempting as an open question to investigate how a rendezvous problem could be formulated as such or in more general arithmetic theory [39]. Such an approach would lead to a formulation of the rendezvous problems in formal logical terms and makes possible the use of efficient solvers [39,40] to deal with more challenging rendezvous scenarios.

Computing the Exact Solution of the MD 2 Game
With two markers, the strategies are given by sequences of Forward or Backward moves and the dropping times of player I and player II. The game is derandomized similarly to M 0 and M 1 to define the MD 2 game where player I must rendezvous with the 4 agents of player II and the average rendezvous time is to be minimized. Players switch to the next direction in their strategy when one of the following events occurs: The strategy pairs are then given by (z 1 ;XXXXXXXXXX − z 2 ;YYYYYYYYYY) where z 1 and z 2 are dropping times of players I and II respectively and the X's and Y's are sequences of Forward (F) or Backward (B) moves and the strategy of player I is given first. Each strategy has a maximal length of 10 symbols (F or B): 4 accounting to the events 1. or 2., 4 accounting to the events 1. or 3., 1 for event 4. and 1 for event 5. (after the last event the game stops and there is no need to switch to any direction). Hence, the number of strategy pairs is bounded by 1024 * 1024 = 1048576 ( 1024 = 2 10 ) given that the dropping times z 1 and z 2 are known.
An algorithm similar to Algorithm 2 is then possible that given a strategy pair for players I and II (with z 1 and z 2 known) simulates the motions to find the average rendezvous time. By exhaustively testing at most 1048576 possible strategy pairs it is possible to compute R 2 (z 1 , z 2 ) the average rendezvous time given the dropping times z 1 , z 2 . The next problem is again that z 1 and z 2 are continuous variables to be optimized.
Similarly to what we observed in Section 6 for the problem with one marker, the program that simulates all trajectories makes use of addition, subtraction and multiplication by constant (actually only division by 2). Hence, in the program these operators can be overloaded to compute with variables in 2 , where

Definition 3
Addition, subtraction and multiplication by constant are defined similarly than for the M 1 problem, i.e.
• (a + bz 1 + cz 2 )k = (ak) + (bk)z 1 + (ck)z 2 , with k a constant in ℝ, It is still needed to specify how distances (or times) are compared. This amounts to define a total order on 2 and we proceed with the definition of positive members of 2 , i.e. we have that x > 2 y, x, y ∈ 2 is equivalent to x − y > 2 0 . With the notation of Definition 3, x ∈ 2 = 0 is equivalent to x = a + bz 1 + cz 2 and a = b = c = 0.
To decide whether x ∈ 2 is positive or negative we first consider small values of z 1 , z 2 , basically we look aroung z 1 = z 2 = 0 . Notice that, z 1 , z 2 are dropping times and should be assumed positive. However, in Section 1 we discuss the cases where z 1 ≤ 0 and/or z 2 ≤ 0 as well. These cases are irrelevant to the situation where z 1 , z 2 are assumed small, they must be positive. These cases are going to be useful when we introduce offsets in Section 2. Indeed, in this the dropping times are always positive but given by expressions of the form a + b(Offset 1 + Offset 12 z 2 + z 1 ) + c(Offset 2 + z 2 ) for instance, see Formulas (7) and (8) so the values of z 1 , z 2 may be negative. each time a member x ∈ 2 is tested for positivity, the smallest of the upper bounds and the highest of the lower bounds are computed. At the end of the program execution the output is correct for dropping times with values Min 1 < z 1 < Max 1 and Min 2 < z 2 < Max 2 , and for values of (z 1 , z 2 ) that belong to the convex region determined by the bounds, see Fig. 8. Indeed, if the program ends with bounds for each couple (z 1 , z 2 ) = 1 (Min 1 , 0) + 2 (Max 1 , 0) + 3 (0, Min 2 ) + 4 (0, Max 2 ) with 1 + 2 + 3 + 4 = 1 , i ≥ 0 all the inequalities x > 0 encountered by the program are still valid. Indeed, if x = a + bz 1 + cz 2 > 0 for z 1 , z 2 satisfying (3), it holds: Case 2: a = 0 and z 1 ≥ 0: If a = 0 we have to find the conditions ensuring that x = bz 1 + cz 2 > 0 or x = bz 1 + cz 2 < 0. If b < 0 we conclude that x < 0 because this is true for z 1 , z 2 = 0 and z 1 > 0 . However, in order to ensure x < 0 the value of z 2 must be bounded, In conclusion, each time the program must decide whether a member x ∈ 2 with a = 0 is positive or negative, with z 1 ≥ 0 , the answer depends on the sign of b and the bounds Max 21 and Min 21 are updated by At the end the values of z 1 and z 2 are related by the region that is defined by these inequalities and which corresponds to the region where the computations done by the program are correct is shown in the left of Fig. 9.
Similarly, if b > 0 we conclude that x > 0 because this is true for z 1 , z 2 small enough,z 1 ≥ 0 , and z 2 has still to be bounded to ensure that x > 0 . The bounds are if c < 0, z 2 must satisfy z 2 > − b c ��� For instance, if the program is run with the aim of covering the values of z 1 , z 2 small in the z 1 > 0, z 2 > 0 region. The program has to be executed to cover the cases 1, 2 and 3 of Section 1. However, it may happen that Max 21 < 1 and Max 12 < 1 at the end of the computations and the region z 2 > Max 21 z 1 and z 1 > Max 12 z 2 ( z 1 , z 2 > 0 ) is not covered by the computations.
In this case we introduce offsets to sweep the region covered by the computations, see Fig. 11, The x ∈ 2 with offset are of the form x = a + bz 1 + c Offset 21 z 1 + z 2 and x = a + b Offset 12 z 2 + z 1 + cz 2 . By running the program with various values of the offsets, we sweep the region covered by the computations around the origin, see Fig. 11.
As a first conclusion, the program must be started to compute the rendezvous value for the dropping times z 1 , z 2 small. The program must be executed to cover the cases of Section 1. Then, the program has to be run with offsets (6) in order to cover a region around the origin.
To finish, the optimal strategy pairs may be around another point in the (z 1 , z 2 ) plane than the origin. In [3] we identify that the optimal strategy pairs are located around (0, 0) and (D/2, D/2) 5 . To cover the case z 1 = D∕2, z 2 = D∕2 we need to introduce another offsets, Offset 1 and Offset 2 (both equal to D/4 in this particular situation). Generally, the member of 2 are then represented by expressions of the form (6) z � 1 = Offset 12 z 2 + z 1 , z � 2 = Offset 21 z 1 + z 2 . The left solution is already known, see [22] Then, we restart the computations but assuming now that z 2 ≥ 0 in order to cover the entire region z 1 ≥ 0, z 2 ≥ 0 . Because z 1 and z 2 are switched and the problem symmetric we obtain the same results than for z 2 ≤ z 1 .
To conclude, we still have to consider the bounds for z 1 , z 2 obtained by comparisons of the case 1 of Section 1 ( a ≠ 0 ) the smallest bound encountered show that z 1 ≥ 0.083 and z 2 ≥ 0.035 which cover the region z 1 , z 2 ∈ [0, 0.00016] of [3]. This shows that the optimal rendezvous value is 3/2 obtained for z 1 = z 2 = 0.
Similar computations around z 1 = z 2 = 0.5 shows that the results are correct.