W
W
WTFRU72014-09-08 13:06:05
Mathematics
WTFRU7, 2014-09-08 13:06:05

Is there an algorithm for covering the entire area of ​​an arbitrary figure with circles?

bf840b64f9844dcf857f2cadcc60da08.png
The question is purely mathematical, but I will give an example from life, so to speak.
So, the task is as follows - there is an arbitrary figure on the map (it can be both convex and concave).
Imagine that we are a cellular operator who wants to cover the city with base stations. Each station has a fixed radius of action and the coverage area has the shape of a circle. We need to find the best way to cover the entire inner territory of the figure with the least number of base stations. Redundancy is allowed.
My idea is this - we build a circle at any corner of the figure, so that its center is exactly at the intersection point of 2 faces of the figure. Next, we build the same circle at the intersection point of the face of the figure and the first circle - and so we run along the entire perimeter of the figure (blue circles). Next, we build a circle centered at the intersection point of 2 blue circles (green). And so let's go over the entire series of blue circles. It turns out that at each iteration we will move deeper and deeper towards the center of the figure.
But, I think that my algorithm is not optimal at all.
The main thing in the task is to cover the entire territory of the figure, while using a minimum of stations.
Maybe someone has come across something similar? I would be grateful for any knowledge or hypotheses. Thank you!

Answer the question

In order to leave comments, you need to log in

2 answer(s)
A
Andrew, 2014-09-08
@OLS

Genetic algorithms, it seems to me, will be just perfect for this task.

E
extempl, 2014-09-18
@extempl

Given that in your solution, the blue and yellow circles will be nothing more than a grid - you can try to impose a grid on the polygon with a step equal to the diameter of the circle, then fill in all the whole squares (which lie entirely within the circle), and then draw circles at an intersection of grid lines that lies in the polygon area and has not been covered. After all this, there may still be an uncovered zone in the form of narrow strips, on the territory of which there are neither grid cell centers nor line intersection points. Apparently, they will have to be bypassed in order - first, cover the entire cells, some of which lie on such lines, then, if there are free uncovered places, at the intersections around these very filled cells.
In fact, initially, for greater efficiency, it was necessary to impose two grids - the second with an offset of x+=50%, y+=50% of the cell width. Then fill only the cells without paying attention to the intersections (they will be the centers of the cells in another plane).
I think something like that. Surely you can optimize it further so that at the end (where the lines are) you don’t blindly go through the circles around the cells, but draw only where part of them exactly covers the zone.
Also, this algorithm is more convenient and optimal in terms of working with it, but to cover the smallest number of stations, it may be necessary to draw grids so that one of the directions of the lines that make it up is parallel to the longest straight side of the polygon. But not the fact, here it is necessary to experiment.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question