Automated Topological Encoding of Operational Environments for Scalable Swarm Behavior Learning
From Open Street Map (OSM) to Topological Graph
2020
OSM is an open-source database containing annotated map information of the earth. This information can include structure details such as height, address, name, and type (school, hospital, bench, tree, roads, etc.), with road information further specifying the type of road (pedestrian foot-ways, bike trails, hiking trails, highways for automobiles, etc.). This information is extracted for a specified area of interest, and converted into a geodataframe object for use and manipulation in Python.
This information is then used to create a topological graph with nodes defined for each annotated object in the data set, and edges defining the roads and paths which connect them, with a "cost" attribute equal to the euclidean distance between the geographical coordinates of each pair of connected nodes. The result is a topological graph with nodes for every structure in a given OSM data set. Each node and edge contains useful attributes defining the structure, including a cost attribute equivalent to the euclidean distance between the geographical coordinates of each connected pair.
Expanding The Sample Size For Swarm Learning
Using the automatic encoding of geographical maps to topological graphs, we can analyze common characteristics of the sample set of encoded maps.
​
To expand the available data set for learning, we create new, original topological graphs with a distribution of features along the same distribution of the sample set. To do this, a generator is fed a partial amount of the sample set, and uses a policy which draws from probability distributions obtained from the sample data. This defines the likelihood that a given node with specific features may exist at each node, given the current state of the graph. The generator is fed only a partial amount real data, and is to construct the remaining data using this policy.
Output
Input
At each iteration, the probability space for the construction of each node and its features reflects upon the state of the graph, and continues to expand the number of nodes and edges based on the probability distributions influencing the policy. After a number of iterations, the graph becomes saturated with features following the rules from the probability distributions. Further and deeper explanation of this project is covered in Chapter Four of my Master's Thesis, provided below.
Project Requirements
-
Extensive Python usage
-
Statistics
-
Probability
-
Graph theory
-
Mathematics
​
​
​