Characterizing the flying behaviour of bird flocks with fuzzy reasoning Elisa Perinota,b , Johannes Fritza,c , Leonida Fusanib,c , Bernhard Voelkla,d and Marco S. Nobilee,f,g a Waldrappteam Conservation and Research, 6162 Mutters, Austria b Konrad Lorenz Institute of Ethology, University of Veterinary Medicine, Vienna, Austria c Department of Behavioural and Cognitive Biology, University of Vienna, Vienna, Austria d Animal Welfare Division, University of Bern, Switzerland e Industrial Engineering & Innovation Sciences, Eindhoven University of Technology, The Netherlands f Eindhoven Artificial Intelligence Systems Institute, Eindhoven University of Technology, PO Box 513, Eindhoven 5600 MB, the Netherlands g Department of Environmental Sciences, Informatics and Statistics, Ca’ Foscari University of Venice, Venice, Italy Abstract The study of the collective behaviour of animals, driving emergent phenomena like bird flocks flying in formation, is a challenging task. In this work, we present a novel methodology for the investigation of birds’ behaviour assisted by fuzzy reasoning. Specifically, we collected all available domain information about in-wake formation flying and used that knowledge to build a fuzzy inference system able to accurately determine which bird is providing up-wash to a follower. As proof-of-concept, we tested our approach to the migration data collected during 2019’s autumn migration of Northern bald ibis. Keywords fuzzy modelling, Takagi-Sugeno inference, Geronticus eremita, flock behaviour, formation flight 1. Introduction Among all animal behaviours, collective motion is one of the most challenging to study yet it has continuously drawn the attention of scientists, not only in biology but also in computer science. Collective movement refers to a phenomenon in which single individuals engage in complex and coordinated movements in space and time, which create characteristic emerging patterns such as swimming fish schools, migrating herds of herbivores or flying bird flocks [1]. When considering the flocking behaviour, it is possible to differentiate between birds flying in “cluster formations” – three-dimensional WILF 2021 – The 13th International Workshop on Fuzzy Logic and Applications, December 20–22, 2021, Vietri sul Mare, Salerno, Italy " elisa.perinot@vetmeduni.ac.at (E. Perinot); marco.nobile@unive.it (M. S. Nobile) ~ http://msnobile.it (M. S. Nobile)  0000-0003-0379-8508 (E. Perinot); 0000-0003-4691-2892 (J. Fritz); 0000-0001-8900-796X (L. Fusani); 0000-0001-5454-2508 (B. Voelkl); 0000-0002-7692-7203 (M. S. Nobile) © 2021 Copyright for this paper by its authors. Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0). CEUR Workshop Proceedings http://ceur-ws.org ISSN 1613-0073 CEUR Workshop Proceedings (CEUR-WS.org) groups of (usually) smaller birds such as starlings [2] or pigeons [3] – and birds flying in “line formations”, e.g. Canada geese [4] or pelicans [5]. When investigating “cluster formations”, scientists’ interest is generally focused on how birds turn, take off and land all at once with an extraordinary synchrony. However, in “line formation”, the focus is mainly on the aerodynamic advantage experienced by the birds [6, 7, 8]. When a bird flies, it produces an up-wash (uplifting air vortex) with the outer part of its wings, which can be exploited by a following individual to save energy during flight. However, the follower has to maintain a specific position, that is laterally offset respect to the main direction of the leader, possibly with one of the wingtips overlapping with the leader’s wingtip. In addition, the follower should never fly right behind the leader as between the two up-wash regions (one for each wingtip) there is an area of downwash (for more details, please see [6]). If the bird is flying in this specific position it is said to be in-wake. The foundation of flocking behaviour – which inspired countless computational intelli- gence meta-heuristics – lies in the self-organization of each single individual within the group. Therefore, in both formation types, to better understand how group dynamics work, it is necessary to unveil the local inter-individual interactions among the members of the flock [1, 2]. A common approach to unravel intra-flock interactions and social relationships is to select one bird, determine its nearest neighbour (with respect to a Euclidean distance) and assume that the latter is providing up-wash to the follower [3, 9, 10]. However, this might be not the best approach to study line formations as the frontal nearest neighbour of an individual might not be necessarily the one that is providing the up-wash. Another approach is based on in-wake areas of fixed size behind the wing tips of a leading bird [11, 8], though this approach requires educated guesses for the extent of the up-wash area. To overcome these problems, we propose a new approach based on the fuzzy logic. Specifically, in this work we define a knowledge-based fuzzy inference system, based on Takagi-Sugeno reasoning, for the dynamic assessment of in-wake flying. Our model encompasses all the available information in the literature and it is here applied to data collected during the migration of a Northern bald ibis flock. Data collection. The data were collected in the field and from a group of free-flying Northern bald ibises (Geronticus eremita) during the 2019’s autumn migration in the frame of an European LIFE+ conservation project (LIFE+12-BIO_AT_000143) led by Waldrappteam Conservation and Research1 . Every year, a human-raised group of birds is taught to fly behind a motorized microlight plane with the scope of leading them in stages along the migration route to the wintering area in Tuscany, where they are released (see [12] for more details). During the migration in 2019, all the birds in the flock were equipped with high-precision GNSS loggers, which collected raw-satellite data from three different satellite constellations, i.e. GPS, Galileo and GLONASS, using a sampling frequency of 5 Hz. In addition, the ultralight flying with the flock was carrying a logger. The loggers were attached to the birds using a leg-loop harness and cased in a 3D printed backpack. After every flight, data were downloaded from each logger and the loggers’ batteries recharged. We tracked the flock flying across six legs of the migratory 1 More information available at: http://waldrapp.eu flight, but in this study we restricted the analysis to the data collected during the flight of the 9th of August. During this flight, we acquired the data for 29 birds and for each of them collected approximately 10500 points during a 35 minutes period. We want to point out that during these flights the birds follow the microlight but they usually fly in a separate formation outside of the aerodynamic influences of the aircraft. Only occasionally, individual birds leave the group and fly directly behind the aircraft [7, 8]. Data processing. After collection, data were post-processed using RTKlib (version demo5 b33b) [13, 14] and Python (version 3.7.9). The post-processing allows to calculate the position in the space using a technique called Post Processing Kinematics (PPK). This methodology – which is different from the simple trilateration and positioning exploited by common GNSS (most often GPS) receivers – estimates the position with a cm-level accuracy (1-10 cm ca.), in contrasts with the meter(s) accuracy (1-5 m ca.) of normal loggers. However, it mandates the support of a stationary base station that must be located close to the flying path. Specifically, the flight started and ended in Heiligenberg (Germany) and therefore we relied on the base station PFA300AUT in Bregenz (Austria). This station belongs to the EUREF Permanent Network [15], which continuously collect free-accessible high quality GNSS data. Using RTKpost, we first calculated the positioning of the microlight given the base station and then we used the microlight as a reference to calculate the positioning of every single bird in the flock. At the end of this process, we obtained a sequence of snapshots of the flight, composed of a timestamp and the associated absolute positions of the birds. As a further processing step, we calculated the pair-wise relative flying direction for combinations of bird dyads during each snapshot. In order to do so, we performed the following steps: • for a given snapshot at time 𝑡, we used the positions at time 𝑡 − 2, 𝑡 − 1 and 𝑡 to calculate the direction of the flight of all birds; • for each bird 𝐵, we used such directions to calculate its positioning with respect to every other bird in the flock. Specifically, we roto-translated all coordinates in order to place 𝐵 in the origin, with a heading aligned to the 𝑦 axis, and calculated the relative positions of the other birds. The output of this process is a set of triples denoting the 𝑤𝑒𝑠𝑡|𝑒𝑎𝑠𝑡, 𝑛𝑜𝑟𝑡ℎ|𝑠𝑜𝑢𝑡ℎ, and 𝑢𝑝|𝑑𝑜𝑤𝑛 relative headings of all leader-follower pairs of birds in the flock. We will denote the components of these vectors as 𝑤|𝑒, 𝑛|𝑠 and 𝑢|𝑑, respectively. For instance, given the pair of birds 278 (leader) and 279 (follower), 𝑤|𝑒 = 0 m, 𝑛|𝑠 = −1 m and 𝑢|𝑑 = −0.5 m means that 279 is following 278 by flying with no lateral offset, with a back displacement of 1m, staying 0.5m lower with respect to the leading bird. 2. Fuzzy modeling and inference To determine whether an individual in the flock is exploiting the up-wash provided by a leading bird, a series of circumstances must be verified. Specifically, the circumstances used to build our model are the following: • we assume that a bird can exploit only one up-wash at a time; • we assume a bird can perform in-wake flying by following (i.e., staying behind) another bird (from now on, “the leader”). Stated otherwise, the component of the 𝑛|𝑠 axis must be negative; • we assume that in-wake flying can only happen if the following bird is close enough to the leader (approximately up to 5m), but not too close [7, 16, 17, 18]; • in-wake flying is supposed to be more effective if a bird is aligned with the wing tips of the leader, and less effective elsewhere. This region represents the optimal “wingtip overlap” at which birds should be able to better exploit the up-wash [19, 7, 16, 18, 8, 11], and an ibis has average wingspan of 1.5m; • in-wake flying is more effective when the two birds are co-planar, i.e., their 𝑢|𝑑 components should be similar [8, 11, 19]. All these assumptions are vague in nature, so that a bird can satisfy one or more conditions to a certain extent. Fuzzy Inference Systems (FIS) are perfectly suitable to model this kind of phenomenon. In this work, we exploit a 0-order Takagi-Sugeno FIS, in which the fuzzified input is the information about the relative spatial relationship between two birds, while the output is the level of up-wash felt by the following bird. The assumptions described above led to the definition of the three linguistic variables in the FIS, namely: “bird_ew”, “bird_ns”, and “bird_plane”, corresponding to lateral offset with respect to the leading bird (Figure 1a), proximity to the leading bird (Figure 1b), and the co-planarity between the two birds (Figure 1c), respectively. a) b) c) Figure 1: Fuzzy sets and linguistic terms exploited by our inwake flying model. Measures on x axis are in meters. a) lateral offset; b) proximity; c) co-planarity with respect to the leading bird. The fuzzy sets of the “bird_we” linguistic variable reflect the fact that birds flying in-wake are aligned with the tip of wing. For this variable, we used two complementary and symmetric fuzzy sets to denote alignment (“wing-tip-aligned”) and misalignment (“wing-tip-misaligned”). Off-tip flying reduces the membership to “wing-tip-aligned”, which drops to zero after 1.8m. The membership drops to zero also behind the leader, where an area of downwash is expected [20]. It is worth noting that the alignment with a leading bird (e.g., −0.8 < 𝑤|𝑒 < 0.8) reduces the up-wash and, hence, increases the membership to “wing-tip-misaligned”. For the linguistic variable “bird_ns” we used three fuzzy sets to represent three conditions: “close”, “too_close” and “distant”. By definition, the strength of in-wake rules is zero if the follower is actually in front of the bird (i.e., when 𝑛|𝑠 is positive); the strength increases when the ibis is behind the leader, except when it is too close (distance < 0.1m), where the strength goes down again, because such proximity would imply a collision between the animals. Finally, when the leading bird is too distant (e.g., when 𝑛|𝑠 < −5m) the membership to the “close” fuzzy set drops to 0. This is the rationale of the fuzzy sets of the “bird_ns” linguistic variable. Finally, we assume that plane-aligned ibises are flying in-wake; off-plane flying reduces the membership to the “same_plane” set (Figure 1c), which ultimately drops to zero after ±0.75m. This number was taken as it is half a wingspan of the birds. The assumptions for in-wake flight led to the five fuzzy rules, involving the aforementioned linguistic variables as antecedents, reported in Table 1. The crisp output values, used Rule 1: IF bird_ew IS wing_tip_aligned AND bird_ns IS close AND bird_plane IS same_plane THEN flying IS in_wake Rule 2: IF bird_ew IS wing_tip_misaligned THEN flying IS not_in_wake Rule 3: IF bird_ns IS too_close THEN flying IS not_in_wake Rule 4: IF bird_ns IS distant THEN flying IS not_in_wake Rule 5: IF bird_plane IS different_plane THEN flying IS not_in_wake Table 1 Fuzzy rules used by our inwake flying model. in the consequents, are defined as: in_wake = 1; not_in_wake = 0. Figure 2 shows three heatmaps that summarize the behavior of the whole FIS: the brighter the color, the stronger the firing of the “in_wake” rule. The three panels show the area of upwash as seen from above, (Figure 2a, assuming 𝑢|𝑑 = 0), behind (Figure 2b, assuming 𝑛|𝑠 = 1), and from the side (Figure 2c, assuming 𝑤|𝑒 = 0). The FIS implicitly defines a region where the bird feels the up-wash, with the maximum level of in-wake flight being reached approximately 1m behind one of the tips of the leading bird. 3. Preliminary results In this section we apply our knowledge-based FIS for the analysis of the time series of one leg of human-led ibis migration. The FIS was implemented using the Simpful python library [21] version 2.5.0. D E F           ELUGBXG ELUGBXG ELUGBQV                               ELUGBZH ELUGBZH ELUGBQV Figure 2: Heatmaps showing the mapping between relative positions and the defuzzified value of the output: (a) top view; (b) rear view; (c) vertical lateral view. We run our FIS on the relative position data in each flight snapshot and managed to reconstruct flock dynamics. An example of the results is show in Figure 3, which shows the bird flock from above (top left), back (top right), side (bottom left) and using a perspective view (bottom right). In the figure, each blue dot represents a bird and it is reported a unique identification number for each individual. If one bird is exploiting the up-wash of a leader bird, this relationship is denoted by an arrow. The color of the arrow denotes the strength of the fuzzy rule, ranging from low (blue) to high (red). The FIS is also able to detect birds that are not flying in the wake: in Figure 3 (bottom right), we denote such birds using red color, in this case ibises 285, 286, 301 and 309. Figure 3: Example of in-wake relationships of the flock calculated by our FIS. View of the bird flock from different perspectives, i.e., above (top left), the back (top right), the side (bottom left) and perspective view (bottom right). The blue dots represent the positions of birds, while the arrows denote the in-wake relationship between follower and leader birds. The color of the arrow denotes the firing strength of the “in-wake” rule, ranging from blue (low strength) to red (high strength). In the bottom right graph, the red dots represent the birds that are not flying in wake. The green arrows show the direction towards which the entire flock is flying. We repeated the analyses for all the snapshots collected during the flight of August 9, 2021. For each bird, we calculated the distribution of its leaders, as determined by the FIS, during the whole flight. The result of this analysis is shown in Figure 4: each panel represent the distribution for a specific bird. We use histograms to represent how 278 279 280 281 282 283 284 285 286 287 309 309 309 309 309 309 309 309 309 309 308 308 308 308 308 308 308 308 308 308 307 307 307 307 307 307 307 307 307 307 306 306 306 306 306 306 306 306 306 306 304 304 304 304 304 304 304 304 304 304 303 303 303 303 303 303 303 303 303 303 302 302 302 302 302 302 302 302 302 302 301 301 301 301 301 301 301 301 301 301 300 300 300 300 300 300 300 300 300 300 299 299 299 299 299 299 299 299 299 299 298 298 298 298 298 298 298 298 298 298 297 297 297 297 297 297 297 297 297 297 295 295 295 295 295 295 295 295 295 295 294 294 294 294 294 294 294 294 294 294 293 293 293 293 293 293 293 293 293 293 292 292 292 292 292 292 292 292 292 292 291 291 291 291 291 291 291 291 291 291 289 289 289 289 289 289 289 289 289 289 288 288 288 288 288 288 288 288 288 288 287 287 287 287 287 287 287 287 287 287 286 286 286 286 286 286 286 286 286 286 285 285 285 285 285 285 285 285 285 285 284 284 284 284 284 284 284 284 284 284 283 283 283 283 283 283 283 283 283 283 282 282 282 282 282 282 282 282 282 282 281 281 281 281 281 281 281 281 281 281 280 280 280 280 280 280 280 280 280 280 279 279 279 279 279 279 279 279 279 279 278 278 278 278 278 278 278 278 278 278 0 200 400 600 0 200 400 600 0 200 400 0 250 500 750 0 200 400 0 200 400 600 0 250 500 750 0 200 400 600 0 250 500 750 0 200 400 288 289 291 292 293 294 295 297 298 299 309 309 309 309 309 309 309 309 309 309 308 308 308 308 308 308 308 308 308 308 307 307 307 307 307 307 307 307 307 307 306 306 306 306 306 306 306 306 306 306 304 304 304 304 304 304 304 304 304 304 303 303 303 303 303 303 303 303 303 303 302 302 302 302 302 302 302 302 302 302 301 301 301 301 301 301 301 301 301 301 300 300 300 300 300 300 300 300 300 300 299 299 299 299 299 299 299 299 299 299 298 298 298 298 298 298 298 298 298 298 297 297 297 297 297 297 297 297 297 297 295 295 295 295 295 295 295 295 295 295 294 294 294 294 294 294 294 294 294 294 293 293 293 293 293 293 293 293 293 293 292 292 292 292 292 292 292 292 292 292 291 291 291 291 291 291 291 291 291 291 289 289 289 289 289 289 289 289 289 289 288 288 288 288 288 288 288 288 288 288 287 287 287 287 287 287 287 287 287 287 286 286 286 286 286 286 286 286 286 286 285 285 285 285 285 285 285 285 285 285 284 284 284 284 284 284 284 284 284 284 283 283 283 283 283 283 283 283 283 283 282 282 282 282 282 282 282 282 282 282 281 281 281 281 281 281 281 281 281 281 280 280 280 280 280 280 280 280 280 280 279 279 279 279 279 279 279 279 279 279 278 278 278 278 278 278 278 278 278 278 0 200 400 600 0 200 400 600 0 200 400 600 0 200 400 600 0 200 400 600 0 200 400 0 200 400 600 0 250 500 750 0 200 400 600 0 250 500 750 300 301 302 303 304 306 307 308 309 Not flying inwake 309 309 309 309 309 309 309 309 309 309 308 308 308 308 308 308 308 308 308 308 307 307 307 307 307 307 307 307 307 307 306 306 306 306 306 306 306 306 306 306 304 304 304 304 304 304 304 304 304 304 303 303 303 303 303 303 303 303 303 303 302 302 302 302 302 302 302 302 302 302 301 301 301 301 301 301 301 301 301 301 300 300 300 300 300 300 300 300 300 300 299 299 299 299 299 299 299 299 299 299 298 298 298 298 298 298 298 298 298 298 297 297 297 297 297 297 297 297 297 297 295 295 295 295 295 295 295 295 295 295 294 294 294 294 294 294 294 294 294 294 293 293 293 293 293 293 293 293 293 293 292 292 292 292 292 292 292 292 292 292 291 291 291 291 291 291 291 291 291 291 289 289 289 289 289 289 289 289 289 289 288 288 288 288 288 288 288 288 288 288 287 287 287 287 287 287 287 287 287 287 286 286 286 286 286 286 286 286 286 286 285 285 285 285 285 285 285 285 285 285 284 284 284 284 284 284 284 284 284 284 283 283 283 283 283 283 283 283 283 283 282 282 282 282 282 282 282 282 282 282 281 281 281 281 281 281 281 281 281 281 280 280 280 280 280 280 280 280 280 280 279 279 279 279 279 279 279 279 279 279 278 278 278 278 278 278 278 278 278 278 0 200 400 0 200 400 600 0 200 400 600 0 200 400 0 200 400 0 200 400 600 0 200 400 600 0 200 400 0 200 400 600 0.0 0.2 0.4 Figure 4: 1. Colored bars: distributions of the leader-follower relationships for the 29 birds in the flock. Each individual is characterized by a unique identification number (top of the graphs and on y axes). The numbers on the x axis represent the number of snapshots. The star denotes the most followed bird. 2. Grey bars: proportion of time each bird was flying alone (see text for details). frequently a bird followed a specific bird, denoted by a unique color. In each panel, the black star denotes the most frequently leading bird, while the dashed line represents the theoretical frequency in the case each bird follows any other bird during the flight, following a uniform probability distribution. According to our results, many ibises seem to have a preferred bird to follow (e.g., bird 306 mostly followed bird 291 during the flight). Interestingly, the leader bird is often unique for each bird, with the notable exception of ibis 293 which was the choice of ibises 287, 297, 298, 300 and 307. This result agrees with our observation that 293 was indeed a dominant male while four out of the five followers were subordinate females (personal communication). In addition, we extracted the proportion of time that each bird was flying alone, i.e. was not in the wake of any other individual (Figure 4 graph in grey, bottom right). Few birds flew more that 40% of the time whether in the front of the flock or without following any individual (e.g. 283 and 306). That day, both birds were observed to fly outside the group, near the aircraft, more often than other birds (personal communication). All the others flew alone between 20% and 40% of the time. Indeed, birds prefer to fly close together, whether in a three-dimensional flock or in a formation. 4. Future developments As future development, we plan to extend our approach to develop some ideas and fix some current issues. First, it is worth noting that, during our data collection, we also gathered measurements about the energy expenditure of the free-flying birds. Our hypothesis is that birds can save energy by flying in-wake: if this were the case, this measure should show some degree of correlation with the firing strengths calculated by the FIS model. Second, we plan to further investigate the differences between the results of our FIS-based approach with respect to conventional method based on nearest neighbour. Preliminary results show that the two methodologies actually yield different results approximately 60% of the time. Third, we noticed high-frequency changes in the bird providing the up-wash according to the FIS. Specifically, the model switches between different individuals in a very short timespan (200/400 ms), which implies the unlikely circumstance that the following bird is changing for very short time from one to another leading bird and back. The reason behind this phenomenon is not clear, and we speculate that it might be due to the parameters used in our membership functions; a data-driven calibration of the FIS’ fuzzy sets is currently under investigation. One possible option to mitigate this problem, and reduce the noise fed to the analysis downstream, could be to smooth out the time series. Finally, it has been suggested that, to save energy, birds in formation should synchronize their wing flapping cycles with a phase shift corresponding to the axial distance between leader and follower [22]. When studying line formation in the Northern bald ibis, Portugal et al. reported that the following birds were, indeed, flapping in phase with the bird that is providing the up-wash [7]. This ability, to synchronize wing flapping is possibly a unique feature of specialized formation flyers as Corcoran and Hendrick could not find such effects in mixed species flocks of shorebirds [19]. This topic requires, therefore, further in-depth investigation: we will elaborate this concept by extending the FIS with additional rules taking into consideration when the two birds are flying in a synchronized fashion. As final future development, we will relate energy experimental data to positional data to investigate the possibility of using a data-driven approach (e.g., ANFIS [23], fuzzy relational neural networks [24], pyFUME [25]) to build predictive models of birds flocking behavior. Acknowledgments The project was funded by the Austrian Science Fund FWF (FWF P 30620-BBL). Data were collected in the frame of a European LIFE+ project, 50 % contribution of the LIFE financial instrument of the European Union (LIFE+12-BIO_AT_000143, LIFE Northern Bald Ibis). References [1] I. D. Couzin, J. Krause, Self-organization and collective behavior in vertebrates, volume 32 of Advances in the Study of Behavior, Academic Press, 2003, pp. 1–75. [2] G. Young et al., Starling flock networks manage uncertainty in consensus at low cost, PLOS Comput Biol 9 (2013) 1–7. [3] M. Nagy, Z. Ákos, D. Biro, T. Vicsek, Hierarchical group dynamics in pigeon flocks, Nature 464 (2010) 890–893. [4] L. L. Gould, F. Heppner, The Vee formation of Canada geese, Auk 91 (1974) 494–506. [5] H. Weimerskirch, J. Martin, Y. Clerquin, P. Alexandre, S. Jiraskova, Energy saving in flight formation, Nature 413 (2001) 697–698. [6] I. L. Bajec, F. H. Heppner, Organized flight in birds, Anim Behav 78 (2009) 777–789. [7] S. J. Portugal, T. Y. Hubel, J. Fritz, S. Heese, D. Trobe, B. Voelkl, S. Hailes, A. M. Wilson, J. R. Usherwood, Upwash exploitation and downwash avoidance by flap phasing in ibis formation flight, Nature 505 (2014) 399–402. [8] B. Voelkl, J. Fritz, Relation between travel strategy and social organization of migrating birds with special consideration of formation flight in the northern bald ibis, Phil Trans R Soc B 372 (2017) 20160235. [9] H. Linget al., Costs and benefits of social relationships in the collective motion of bird flocks, Nat Ecol Evol 3 (2019) 943–948. [10] D. J. Evangelista, D. D. Ray, S. K. Raja, T. L. Hedrick, Three-dimensional trajectories and network analyses of group behaviour within chimney swift flocks during approaches to the roost, Proc. Royal Soc. B 284 (2017) 20162602. [11] B. Voelkl, S. J. Portugal, M. Unsöld, J. R. Usherwood, A. M. Wilson, J. Fritz, Match- ing times of leading and following suggest cooperation through direct reciprocity during v-formation flight in ibis, PNAS 112 (2015) 2115–2120. [12] J. Fritz et al., Back into the wild: establishing a migratory Northern bald ibis Geronticus eremita population in Europe, Int Zoo Yearb 51 (2017) 107–123. [13] T. Everett, RTK-LIB, Version Demo5_b33e, 2020. URL: http://rtkexplorer.com/ download/demo5-b33e-binaries/, accessed on 6 December2020. [14] T. Takasu, A. Yasuda, Development of the low-cost RTK-GPS receiver with an open source program package RTKLIB, in: International symposium on GPS/GNSS, volume 1, International Convention Center Jeju Korea, 2009. [15] C. Bruyninx, J. Legrand, A. Fabian, E. Pottiaux, GNSS metadata and data validation in the EUREF Permanent Network, GPS Solutions 23 (2019) 1–14. [16] J.-S. Maeng, J.-H. Park, S.-M. Jang, S.-Y. Han, A modeling approach to energy savings of flying Canada geese using computational fluid dynamics, J Theor Biol 320 (2013) 76–85. [17] A. Kölzsch, A. Flack, G. J. D. M. Müskens, H. Kruckenberg, P. Glazov, M. Wikelski, Goose parents lead migration V, J Avian Biol 51 (2020). [18] R. M. Shelton, B. E. Jackson, T. L. Hedrick, The mechanics and behavior of cliff swallows during tandem flights, J Exp Biol 217 (2014) 2717–2725. [19] A. J. Corcoran, T. L. Hedrick, Compound-V formations in shorebird flocks, eLife 8 (2019) e45071. [20] R. M. May, Flight formations in geese and other birds, Nature 282 (1979) 778–780. [21] S. Spolaor et al., Simpful: A user-friendly python library for fuzzy logic, Int J Comput Int Syst 13 (2020) 1687–1698. [22] F. T. Muijres, M. H. Dickinson, Fly with a little flap from your friends, Nature 505 (2014) 295–296. [23] J.-S. Jang, ANFIS: adaptive-network-based fuzzy inference system, IEEE transac- tions on systems, man, and cybernetics 23 (1993) 665–685. [24] A. Ciaramella, R. Tagliaferri, W. Pedrycz, A. Di Nola, Fuzzy relational neural network, International Journal of Approximate Reasoning 41 (2006) 146–163. Advances in Fuzzy Sets and Rough Sets. [25] C. Fuchs, S. Spolaor, M. S. Nobile, U. Kaymak, pyFUME: a Python package for fuzzy model estimation, in: 2020 IEEE international conference on fuzzy systems (FUZZ-IEEE), IEEE, 2020, pp. 1–8.