"Golden Ratio is a powerful mathematical constant woven into the very fabric of biology. It is the unique visual tension between comforting symmetry and compelling asymmetry, and its thoughtful application can bring beauty and harmony and intrigue to all manner of designed things." - Darrin Crescenzi
The Fibonacci sequence is created by the recurrence and is one of the most famous biologically-inspired mathematical sequences. The Golden Ratio, denoted , is the limit of the ratio of consecutive numbers in this sequence. Fibonacci generated the sequence as an idealized model of a reproducing rabbit population assuming overlapping generations (dunlap1997golden). It was documented in India many centuries earlier, and has been observed in numerous biological systems including the arrangement of pine cones, unfurling of fern leaves, and the arrangement of sunflower seeds that optimally fills the circular area of the flower (naylor2002golden). The Golden ratio and Fibonacci numbers have been used in computer science for various applications like obtaining optimal schedules for security games (kempe2018quasi), Fibonacci hashing (knuth1973art), bandwidth sharing (itai1984golden), data structures (fredman1987fibonacci) and game theoretic models for blocking-resistant communication (king2011conflict).
In this paper, we use the Golden Angle created by arcs that form the Golden Ratio to develop a collective foraging algorithm that reduces the time to first discovery of clustered targets. In particular, we show that our new foraging algorithm, GoldenFA, performs better in theory and practice than a previous algorithm that chooses search directions uniformly at random (aggarwalIROS2019).
Motivation for using the “most irrational" number. Any number can be written as an integer plus over another number. The larger the denominator in the fractional part, the better the integer part is as an approximation. For example, , for , and so is fairly-well approximated by . Thinking recursively, the number in the denominator can itself be written as an integer plus over another number. Thus, we can write any number as a (possibly infinite) continued fraction (khinchin1963continued)
where the values are all integers for .
The degree to which the original number is well-approximated by a finite continued fraction depends on how large the values are. When for all , we obtain an irrational number that is most difficult to approximate. To find this most difficult irrational number, we set , and solve the resulting quadratic equation to obtain a solution , which is the celebrated Golden ratio .
The fact that is difficult to approximate with a rational number has useful implications in ensuring angles are “well-spread". For example, if we start at the point on a unit circle, and iteratively add points by moving clockwise by distance , then we will end up with points that spread out with ample distance between points.111In contrast, if we use instead of , the points will cluster around spokes since is fairly well-approximated by . See (numberphilevideo) for a fascinating simulation and discussion of these facts. Interestingly, this approximates how plants add florets, leaves and petals as they grow. If the next leaf is added by moving distance along a unit circle, this ensures that leaves are well-spread in order to increase their total intersection with sunlight without interference.
In this paper, we make use of the “most irrational" property of to design a foraging algorithm. A searcher first forages in an initial direction from a nest site to a boundary of the search space, and then returns to the nest site. The angle for the next spoke from the nest site is chosen by moving a distance of
along a unit circle. In this way, we can ensure that our foraging spokes are “well-spread", thus minimizing overlap at the circle center while maximizing the probability of the first discovery of a cluster of resources somewhere in the circle area. If there are multiple searchers, it is straight-forward to parallelize this process.
The rest of the paper is organized as follows: We first define our formal model and problem statement. Then we introduce GoldenFA and explain the theoretical upper bound on finding a single target of a given diameter for a single searcher and then multiple searchers. We then compare theoretical predictions to simulated searchers.
2. Our Model and Problem Statement
We assume a circular arena of radius with the nest at the centre222Similar to existing work, this arena can be modelled as a discrete grid with the Manhattan distance as the metric, however, since working in the continuous Euclidean space introduces only a constant multiplicative blowup, we state our algorithm and the results for a continuous arena for mathematical simplicity.. A cluster333We assume that this cluster is circular in shape for mathematical simplicity, however, our results apply to all cluster shapes that can be circumscribed by a circle. of targets is placed at a distance from this collection zone and has a diameter . We assume an obstacle-free arena in which the cluster does not move or regenerate as targets are collected.
We assume searchers. Each searcher has limited memory and can complete straight line motion in a specified direction from the nest to the edge of the search arena. Searchers can detect if they have encountered a target. Moreover, they know the direction in which they are currently moving, but no information from the past can be stored and or communicated.
Overview of our Approach. Previous work shows that foraging for a single target in an arena without any knowledge of the arena parameters requires time that is proportional to the area of the arena (feinerman2017ants). We seek to reduce time to discover a cluster with large diameter. In particular, when cluster diameter is any increasing function of arena diameter our foraging strategy can locate the cluster in sub-quadratic time.
We state our main result in the theorem below and defer its proof to the full version of our paper.
Theorem 2.1 ().
The number of time steps taken by GoldenFA before the cluster is located for the first time is .
Again, as long as is some increasing function of , GoldenFA has improved performance. Additionally, when searchers work in parallel, the distance travelled is , which is asymptotically optimal.
Technically, the proof of this theorem rests on two main facts. First, for by the Taylor expansion, so the angle formed with the nest and cluster diameter is of size . Second, to ensure the largest angle size between consecutive spokes is less than , our algorithm requires adding spokes by the Three-Gap Theorem (swierczkowski1958successive). Thus, no matter where the cluster is located in the arena, we require spokes before some spoke intersects the cluster.
3. The Golden Foraging Algorithm
We now describe our algorithm, GoldenFA.
Single-searcher case: The searcher starts from the reference heading, moves along a spoke to the end of the arena and then returns to the nest. Next, the searcher turns an arc distance of along a unit circle centered at the nest, and moves along a spoke in that direction to the end of the arena. This process continues until the searcher locates the cluster.
Multiple searchers case: When searchers search for the cluster together, searcher starts the search at an arc distance of from the reference heading and searches along spokes that are arc distance apart (see Figure 1).
For this to work, each searcher must have a unique identifier and know its relative order in the sorted sequence of these identifiers. For simplicity, we assume that the search stops as soon as any searcher discovers a target.
4. Experimental Evaluation
The theoretical analysis in the previous section makes many assumptions that do not hold in a robotics setting. These include the lack of collisions between robots, which is a cause of significant slow-down in central place foraging (Lu2016mpfa); the use of an exact value of instead of an approximation; and imprecise robot motion. To test whether the analysis holds under more realistic constraints, we implemented the multiple-searcher GoldenFA in the ARGoS swarm robotics simulator (pinciroli2012argos), and evaluated the time required to discover a single square cluster of resources placed uniformly at random in a meter square arena.
The resources in the cluster are placed 0.15 meters apart such that a square cluster with resources on a side has diameter meters. We conducted experiments with square clusters of , , , , and resources. For each cluster and value of , we computed the average time over 100 experiments.
Time to Discover versus and N. Figure 2 shows how the time to discover decreases as increases. There seems to be a nice linear decrease, as predicted in Theorem 2.1, for and , with a slope of . However, for , the slope is larger, probably because of congestion effects. We note that congestion happens when searchers are not infinitely small, as is assumed by the theory.
Figure 3 shows how the time to find the cluster depends on the number of searchers. For increasing , we evaluated square clusters of size , and in a meter arena. The figure shows how additional searchers reduce the search time, but how adding too many searchers causes increased congestion, which results in increased search times.
Comparison to Ballistic Algorithm. We compared our algorithm with the Ballistic Central Place Foraging Algorithm (bCPFA) (aggarwalIROS2019), for the case . In bCPFA, the searchers traverse spokes in directions chosen uniformly at random, until the cluster is located. It can be shown that the number of spokes required by this algorithm is with high probability, using the result about maximum distance between random points on an arc from (king2004choosing). This is asymptotically worse than GoldenFA for all values of and .
Figure 4 shows that the searchers using GoldenFA are able to find the cluster faster than those using the Ballistic CPFA (bCPFA). The results for varying cluster diameter show that the search time using bCPFA is both longer and more variable than the search time using GoldenFA. Ballistic CPFA
searches have a large number of outliers that take considerably longer than average time to find the cluster.
5. Related Work
Search is a fundamental problem in biology, where survival depends on search for mates, prey and other resources. It is also a common problem in robotics and mobile computing. Collective search, where multiple searchers must coordinate, is a key problem in computer science, robotics and in social insects. Ant- and bee-inspired algorithms have been particularly influential in swarm robotics research (csahin2004swarm; krieger2000ant; karaboga2009survey). In prior work, we have used algorithms inspired by foraging behaviours of desert seed-harvesting ants. These ants forage collectively as follows : each ant leaves a central nest, travels in a relatively straight line in an apparently randomly chosen direction.Upon finding food, the ant determines whether to remember and return to that location or communicate the location to nest mates by laying a pheromone trail.
We mimic this behaviour in robots with a generic Central Place Foraging Algorithm (CPFA) which is effective at finding nearby resources quickly, particularly when resources are distributed in multiple clusters of unknown diameter (Hecker2015). However, a simpler interlocking spiral algorithm finds targets faster than the bio-inspired CFPA, and the spiral is particularly fast at completely collecting all targets (heckerClusters; Fricke2016b; aggarwalIROS2019).
Our prior work (aggarwalIROS2019) shows that the most efficient foraging algorithms that completely retrieve all items in a search arena in minimal time use geometric patterns that fill space with minimal traversal of already searched territory. In contrast, in this work, we seek foraging patterns that minimize the time to first discovery when resources are clustered in a single pile of unknown diameter.
Foraging for Multiple Clusters When multiple clusters are placed in the arena, time for first detection will be determined by the largest cluster. For discover of all clusters, the number of spokes must be large enough to find the cluster with smallest diameter. Note that if the smallest cluster has a diameter that is constant, then the asymptotic performance of GoldenFA is no better than exhaustive search, which has quadratic cost.
Conclusions and Future Work: We have described an algorithm, GoldenFA
that can locate a cluster efficiently. Our algorithm has search time that asymptotically decreases linearly with cluster diameter and the number of searchers. Moreover, our algorithm performs well in practice, with search times that generally match our theoretical predictions. Further, our algorithm empirically outperforms another common search algorithm in both mean time to discovery and variance. We believe our algorithm is a first step toward minimizing foraging time when resources are distributed in an unknown number of clusters of unknown and variable diameter.
Next steps of this work include the following. First, implementing GoldenFA in real, rather than simulated, robots to determine how well it performs with real-world noise and error. Second, a theoretical analysis of resilience of GoldenFA. Finally, measuring collection time of multiple clusters by GoldenFA and comparing to other foraging algorithms.