$\begingroup$

I have a very complex search problem which I can't wrap my head around:

While reading please remember I'm not asking for a specific solution! Only a general approach how such a problem can be solved and what kinds of algorithms to use (more below)



I have a sphere with around 120 000 weighted and named points mapped on its surface.

Now I take a section out of the sphere with somewhat around 10 of the highest weights (not guaranteed the 10 hightest weights!)

The Problem: I want to find the spot where the section was taken out, so that i could assign each point the "name" it would have had on the sphere

Characteristics of the points on the sphere.:

120 000

The coordinates are exact

The points are weighted

Characteristics of the points in the sector:

The points are also weighted. The proportions are roughly the same as on the sphere, unfortunately I don't know a single inital weight. So my only chance is to compare the proportions.

Not every point which is on the sphere is also visible in the section (sometimes only 5-10%). However the weigths matter: The hightest weighted points do always appear. The first non-visible points have guaranteed less weight than most of the visible points.

The section could be rotated

All points are a bit offset (not by much), but they aren't exactly on the spot where they were on the sphere

Other errors could be possible too (like counting 2 points only once)

Additional info which might make the problem simpler:

The sector is only around 1°x1° to 5°x5°. So maybe i could use a flat map instead of a sphere. (Just like Google Maps if you zoom out enougth

The first non-visible points have guaranteed less weight than most of the visible points.

What I'm asking for:

What is the general approach to solve this problem? Are there any algorithms you might now on which I can orientate myself? Anything between pure brute-force and AI is welcome!

Example image of a sector region which is detected by my algorithm: (A larger red rectangle = higher weight)





If you think this is a good question please consider upvoting to draw attention.