If we are asked to place 3 points on the surface of a sphere so that they are equidistant, it's easy to visualize that the result will be such that the three points form an equilateral triangle. If asked to place 4 points it's easy to visualize that the result is such that the points arrange themselves into a tetrahedron. It is impossible for me to visualize what happens with 5 points, there is apparently no solution. So what would happen if we imagine an actual physical system where each of the five points has some kind of 'motor' which constantly repels it away from whichever other point it is closest to. Would the 5 points ever settle into some kind of recognisable arrangement? What we expect to see as the motorised points attempt to reach an equidistant configuration? What sort of math applies to resolving this question?
If a square based pyramid formed it would be stable since there would be zero resultant force on the apex and symmetrical force on the base vertices. This would seem to imply that at least certain classes of initial conditions would converge to a square based pyramid, though it could be a knife-edge condition. You could test this with a small pertubation to each vertex. Another convergent configuration would be all points collapsing to their centre of mass. You could avoid this by arranging your forces to tend distances between points towards a determined finite value, rather than attempting to minimise, or maximise, them. I think there may be also the possibility of an intermediate case involving oscillations. Perhaps you could even end up with different modes of oscillation. I think a lot depends on how your motors attempt to optimise the problem. A bit inconclusive, but it's something to start from at least, if you want to do some calculations.
The Thomson problem is not the same, but is similar. There is no solution for equidistance on a sphere. One needs ##n-1## dimensions, where ##n## is the number of points, for all of the points to be arranged the same distance from each other. Your idea about little engines propelling points apart is not detailed enough (I think). The dynamics of these points depends on exactly they start and what "rule" is used to decide how they move. The Thomson is a possible version, but I bet you would find different solutions. It seems to me that there are two questions. 1) Is there a configuration that "minimizes distance" where we could define distance as Euclidean or perhaps some other metric? 2) If the points are started in an arbitrary configuration with some dynamical rules, will they eventually reach this equilibrium configuration? I'm guessing that the answers could be found with some basic calculus and linear algebra (and maybe a computer for assistance?).
The square base would not be stable. The forces (I'm assuming we are sort of implicitly assuming an inverse square law since this is physics forum) between the base points and the apex would be equal, but the base points are not the same distance from each other.
Sure, but they cancel due to symmetry. I don't doubt that there are cases where the base would be unstable. That would be the knife-edge condition that I was referring to. It's easy to see how there is a case where the influence of the apex can be diminished to the extent that the base, intially tends towards a tetrahedron upon a small pertubation, but that could be the other side of some tipping point. Much of this depends on the nature of the force applied obviously, so we could easily be talking about different things. It's probably best that we go back and define the problem properly rather than going off at tangents by making over generalisations.
Thanks for the replies so far craigi and DrewD It seems that that the initial condition of the points is the crucial issue in defining the problem properly. Well lets assume that the points don't have any initial velocity, and are distributed randomly. I imagine most random starting arrangements would eventually evolve into a small number of outcomes. I guess there are semi stable conditions that might be arrived at such as the suggested square based pyramid. The points in this case do not achieve equidistance but they do get to an ordered state which is close to it. I guess also, a ring of points arranged at equal intervals along the equator of the sphere may be a similar. The idea that the result could be oscillating sounds like fun, but a hell of a math problem, (for me anyway). As for the 'motors', well I initially suggested that they act so that each point moves away from the point it's closest too, which is simplest, but I am open to suggestions which are more complex if that contributes to nailing this thing down. Is chaos theory relevant?, (I understand very little of it beyond broad concepts)
The main problem with that scheme is that it doesn't try to optimise for the case that you want. The square based pyramid, for example would be stable and fully optimal. One alternative would be to model identical springs between each pair of points, which I think would result in vibrational modes with vertices taking turns in tending towards the apex of a square based pyramid.
I like this question. I'll be thinking about this problem for a while. I'm wondering about a related question. Imagine restricting the problem to only looking for solutions where the points end up in a stable, practically motionless configuration (i.e. 2 points at opposite poles, 4 points in a tetrahedron, etc). Imagine collecting all of these configurations in a book. Now imagine making another book of all of the stable configurations of points on a sphere that attract each other instead of repelling each other. Are the two books identical? Intuition says probably so, but I'm not sure how to prove it to myself. Another question. Given the sphere where points are scattered randomly and attract each other through gravity/magnetism/whatever, how do you determine the one location that they will all clump together at the end if they do not end up in a stable pattern?
Again that depends on the optimisation scheme. It's not possible to find the actual minimum for 5 points on a sphere, but some schemes, like the one we were just discussing come to rest at local minima. If you take an average of your positions in spherical polar coordinates, you've found the centre that they'll converge to, unless there's some kind of asymmetry in the attraction between 2 vertices. That would be pretty whacky because then either all vertices wouldn't be identical or all positions on the sphere wouldn't permit the same rules.
The problem is like trying to calculate brownian motion? Is there any hope of at least a model to work on? I tried the springs idea, but springs which push instead of pulling work better. They don't end up with anything you could predictable though.
The square base is not symmetric in a way that matters. I can't completely discount it as an unstable equillibrium, because there might be some metric/function where the solution is a square base configuration, but the most common, an inverse square force, is unstable in this configuration. Wiki states that the solution for n=5 is a triangular dipyramid. If this is a serious question, a few specific must be settled. How is distance measured. I assume Euclidean metric since this is a physical question. Next, what is the function of distance that you want to minimize/maximize? The most likely candidates would be ## F=\sum_{i,j=1}^5\frac12 (r_j-r_i)^n ## where ##n## is some integer. After that is chosen, then the dynamics can be considered. The spring idea is a good one, but depending on how the springs are modeled, the answer will be different and may very well be solved by the points trivially collapsing to a single point on the sphere. You will probably also have to consider geodesics which will complicate things beyond simple Euclidean distances. It is an interesting problem, but I think it is very complicated. The dynamics will be chaotic, but not random. Most likely a computer aided search would give an answer if you choose a precise question.
I'm glad someone asked this question. This puzzle has perplexed me for some time now. I was in chemistry where I first recognized this problem. I think the "motor" you're looking for could be provided by the mutually repelling electric charge of the electrons in the classical depiction of the phosphorus atom. In this case, as far as I know, the angular distance along a spherical surface between any two "electrons" (using this as imagery, not as an actual physical description) would not be the same between any two adjacent electrons. You'd end up with 90^{o} between some and 120^{o} between others. Once you get to 6 items on the spherical surface, the symmetry reappears. Perhaps the symmetry breaks down whenever there are n items on the spherical surface in x dimensions, where n does not share a prime factor with x!.
Hmmm guess other attempt did not post let me try again. This is a great question and just ran into it with a project I am making. Need to put 8 points inclusively equidistant on a sphere (not an inscribed cube as the diagonal vertices are not equidistant). Intuitively there should be an answer to this without needing 7 dimensions as someone indicated. If had 8 theoretically unipolar magnets, would they find the points?
Just curious, are you using Euclidean distance/metric or the chordal or other metric? For 3 points If you use the Euclidean distance, we could somehow embed an equilateral triangle, so its vertices lie in the sphere. Maybe this generalizes to taking n points: for points, take the triangle and select a point equidistant to the three points, etc. Of course, this is very informal. EDIT : Seems others have thought about it: http://stackoverflow.com/questions/...of-a-d-dimensional-sphere-roughly-equidistant.
Hi All, we needed to solve this for a problem related to cell towers. We ended up using a simulated annealing algorithm, not accurate but "good enough". This sort of thing: double metric(pointset p) { min = 9999999; // practically positive infinity for all pairs of points in p { if the distance between this pair < min, then min = the distance } return min } Then you need a mutation function. The 'temperature' parameter starts out big, then after more and more iterations it cools off to make the mutations smaller and smaller. pointset mutate(double temperature, pointset p) { pointset result = p; for every point (x,y,z) in result { x = x + random number between -temperature and +temperature y = y + random number between -temperature and +temperature z = z + random number between -temperature and +temperature // normalize to sphere radius double mag = sqrt(x*x + y*y + z*z) x = x * radius/ mag y = y * radius / mag z = z * radius / mag } return result; } Finally, the annealing: pointset anneal(double temp, int iters pointset start) { pointset changed, best; double bestmetric, changedmetric; best = start; bestmetric = metric(best); for(i = 0; i < iters; i++) { changed = mutate(temp, best); changedmetric = metric(changed); if (thismetric > bestmetric) { best = changed; bestmetric = changedmetric; } } return best; }
Thanks for dredging up this topic which I originally posted. I never did find a satisfactory solution, though I tried using the now obscure language 'prolog', - my hopes were dashed. I might try something in a more conventional language as you describe above. (gotta wash up that stuff accumulating in the kitchen sink first though)
After re-reading the thread. To clarify what I was getting at previously, the first thing that you need to do is to define whether the points being on the surface of the sphere is a hard constraint or a soft constraint. It appears there have been different assumptions about that in this thread. Then you should choose an optimisation scheme, which doesn't find equilibrium at local minima and which solves the for the ground state of the system. The optimisation scheme which seems to lend itself most naturally to the problem, would be Simulated Annealing. https://en.wikipedia.org/?title=Simulated_annealing After finding one solution, be sure to scan with increasing energy, to dig yourself out of the local minima and find new minima. I'm not sure what your completion condition would be, but you you should be able to use symmetry and re-running with randomised initial conditions, to give confidence that you have found all minima. The language you choose shouldn't make any difference. Just choose whichever you're most familiar with.