You are given a number of points on the sphere of radius 1. You should view them as sensors on the surface of the Earth. The sensors are used to gather data and form a sensor network with parameters r and R:
- each sensor gathers data from the surrounding area in the shape of a circle of radius R,
- each sensor can communicate with other sensors which are at most r away.
Determine r and R, so that
- numbers r and R are as small as possible (that would decrease the cost of sensors),
- the sensor network is connected (i.e. the Vietoris-Rips graph is connected),
- the sensor network covers the whole sphere (the Čech complex should be homotopy equivalent to the sphere, i.e. the Euler characteristic of the Čech complex should be that of a sphere).
Furthermore, once the parameters r and R are established, the program should return a list of obsolete sensors, i.e. sensors, whose removal would not change the desired properties 2. and 3. of the sensor network.
The input data is a set of points on the sphere of radius 1.
The result should be required parameter values r and R. Start with an estimatefor r and R and keep optimizing the values. To generate the Čech complex you can use the MiniBall algorithm.
You should also produce a distribution of 50 points on the sphere with parameters r and R as small as possible.
Program can be started by running the sensors.py
script. Plots will be shown in separate windows and 3d visualisations will be opened in a web browser.
DThe program requires python version 3 and the following libraries:
numpy
,matplotlib
,vpython
,dionysus
,miniball
(from https://github.com/weddige/miniball)