[Math] Is there (or can there be) a general algorithm to solve Rubik’s cubes of any dimension

algorithmsgroup-theorypuzzlerecreational-mathematicsrubiks-cube

I love solving Rubik's cube (the usual 3D one). But, a lecture by Matt Parker at the Royal Institute (YouTube Link) led me to an app that can simulate a four dimensional rubik's cube. But unfortunately it was so complex, that I soon got bored as I failed to solve it.

The website to the 4D cube : http://superliminal.com/cube/cube.htm

4d cube

Following which today, I also found an app that can simulate a 5D cube!!

The website to the 5D cube: http://www.gravitation3d.com/magiccube5d/

5d cube

So, my two questions are :

  1. Is there a general (non brute-force) algorithm that can be used to solve a well-scrambled cube of any dimension (even though it may not be very efficient, but yet is not a simple search over all the available space of move sequences) ? [Point modified after reading @RavenclawPrefect's answer 😀 ]
  2. Mathematically, what is common in all these cubes, and "hypercubes"?

NOTE: By dimensions I mean physical dimension and not the number of rows of pieces on a face of the cube. So a four-dimension cube is a cube in x,y,z,$\delta$ dimensions where $\hat x,\hat y,\hat z,\hat \delta$ are mutually orthogonal unit vectors in the respective dimensions.
For example, here is how the aforementioned 4D cube moves:
https://miro.medium.com/max/2552/1*ga32DoV_Hc6e8t6PC1hFHw.gif


Addendum:
List of resources that may help finding an answer to this question:

Best Answer

The algorithmic problem is a special case of ``constructive membership test in permutation groups'' -- given a permutation (you label every face of the cube with a number, then every slice rotation corresponds to a permutation of the numbers, as does the mixed state), write it as a product of generators. This does not care for the dimension of the cube you work in, you just get more and more labels.

The generic solution to the problem is called the Schreier-Sims algorithm (https://en.wikipedia.org/wiki/Schreier–Sims_algorithm). However in its naive form, it produces very long solutions (length >100k for the $3\times3\times 3$ cube).

One can add heuristics (basically to pre-seed with short products as "extra" generators), see for example: https://doi.org/10.1006/jsco.1998.0202 . With such heuristics, the $3\times3\times 3$ cube gets solutions of length $\sim 40-100$, so a magnitude too large, but not astronomically so. One can tune heuristics (use more memory) to get better solutions, though the only (known) way to find a shortest solution is brute-force.