Exploration of Projection Spaces

Data

To be able to explore paths in a projected space, you need to pick a problem/algorithm/model that consists of multiple states that change interatively.

Click to see an Example An example is the solving of a Rubik's Cube. After each rotation the state of the cube changes. This results in a path from the initial state, through the individual rotations, to the solved cube. By using projection, we can examine the individual states and paths in the two-dimensional space. Depending on the initial state and the solution strategy the paths will differ or resemble each other. This is an example of solving 10 randomly scrambled Rubik's Cubes with two different strategies, the Beginner (in green) and the Fridrich Method (in orange):
Rubiks's Cube Sovling Strategies
You can see that although each cube is scrambled differently in the beginning, both strategies converge to the same paths after a few steps. You can also notice that the Beginner's method takes some additional paths that are not necessary with the Fridrich method.

Read and Prepare Data

Read in your data from a file or create your own data.

Document any data processing steps.

Comments

Rubik's cube data was generated using Rubiks Cube Solver, see data/rubiks/rubik.notebook.pynb. 10 Cubes are solved with both, the Fridrich and the Beginner's method; starting at randomly scrambled cubes.

The file contains the states of the cubes (e.g. the color of each tile, on each side), the solving strategy (algo), to which solving attempt the sate belongs (line), and wether the state is a start, end, or intermediate state (cp).

Projection

Project your data into a 2D space. Try multiple (3+) projection methods (e.g., t-SNE, UMAP, MDS, PCA, ICA, other methods) with different settings and compare them.

Make sure that all additional dependencies are included when submitting.

Comments

Excluded meta data and projected the colors of all tiles of all sides of the cube.

t-SNE, for demonstration

We used square root of the number of items (~2000) as a first test which already shows some pattterns in regards to the lines patterns. However, with lower perplexity, the space became less cluttered which is why we picked 15.

try to find out 😉

Connect the states that belong together.

The states of a single solution should be connected to see the path from the start to the end state. How the points are connected is up to you, for example, with straight lines or splines.

Meta Data Encoding

Encode addtional features in the visualization.

Use features of the source data and include them in the projection, e.g., by using color, opacity, different shapes or line styles, etc.

Comments

The lines are colored by the applied method (Fridrich or Beginner), as the individual solving attempts are not of interest. Start & end states are shown for each line, intermediate states are hidden to avoid clutter. In the second visualization with facet by applied to see the individual patterns better.

Optional

Projection Space Explorer (click to reveal)

Projection Space Explorer

The Projection Space Explorer is a web application to plot and connect two dimensional points. Metadata of the data points can be used to encode additonal information into the projection, e.g., by using different shapes or colors. Further Information:

Data Format

How to format the data can be found in the Projection Space Explorer's README. Example data with three lines, with two colors (algo) and additional mark encoding (cp):
x y line cp algo
0.0 0 0 start 1
2.0 1 0 state 1
4.0 4 0 state 1
6.0 1 0 state 1
8.0 0 0 state 1
12.0 0 0 end 1
-1.0 10 1 start 2
0.5 5 1 state 2
2.0 3 1 state 2
3.5 0 1 state 2
5.0 3 1 state 2
6.5 5 1 state 2
8.0 10 1 end 2
3.0 6 2 start 2
2.0 7 2 end 2
Save the dataset to CSV, e.g. using pandas: df.to_csv('data_path_explorer.csv', encoding='utf-8', index=False) and upload it in the Projection Space Explorer by clicking on `OPEN FILE` in the top left corner. ℹ You can also include your high dimensionmal data and use it to adapt the visualization.

Results

You may add additional screenshots of the Projection Space Explorer.

Interpretion

Differences between strategies

We can identify some areas where the states are exclusively or mainly hit by only one method:

image.png

As there are multiple lines at those exclusive states, we assume those are strategy specific checkpoints.

Overall, the states of the Fridrich method appear more dense than those of the Beginner method. This is reasonable, since the Fridrich mehtod solves the cube faster.

Similarities between strategies

The states at the top of the projection are hit with both methods:

image.png

Before these states, the cubes were almost solved (close to the final state in the violet circle), so that such a wide jump seems unreasonable. But a cube with almost all sides solved has to be "destroyed" again to be able to arrange the last colors.

Since only very few changes can be made to the cube at this staate, the two strategies do not differ here.

Submission

When you’ve finished working on this assignment please download this notebook as HTML and add it to your repository in addition to the notebook file.