2023-07-06

模倣子 So-Soo-Yoo Numbers Plotted

 UPDATED VERSION (2/20/2024)

See the spreadsheets associated with these plots HERE (ask for access if you don't have it).

Memetics Index - So-Soo-Yoo Game Page 


Introduction

Dr. David Chappell and I started digging into what the brain of a child who was playing So-Soo-Yoo is actually doing.  What kinds of mathematical problems were they solving by making successful moves?

We started doing some plots using a Python program David quickly set up, and we started seeing some fractal patterns emerge. The first move you make in So-Soo-Yoo, and indeed every move after, must be "reachable" from the spot you start on. To make long moves, you try to work out which spaces (containing the tokens you hope to collect) can be reached in subsequent moves.

Similar to the plotter David wrote, I finally managed to use Google Sheets to make plots of which board locations may be reached in one move from a given other spot, which in two, in three, on up to six, which is the maximum number of moves allowed in a turn. I started calling these first order, second order, on up to sixth order So-Soo-Yoo Numbers.

Some Background 

As I mentioned, the "order" of a So-Soo-Yoo number, as in "Second Order So-Soo-Yoo Numbers" was something I seized upon during David's and my first investigations, before having clearly defined it.

I was trying to come up with definitions I could use to make a practical spreadsheet, or, failing that, another Python program to finish the plotting. David's program became resource constrained at the sixth order so-soo-yoo set, for one thing. (1)

I define "the So-Soo-Yoo Numbers" as one through 199, since that's what's on the game board.

As a matter of course, I made a spreadsheet of all of the factors of all of the so-soo-yoo numbers (visibile in the spreadsheet linked above), and I named these sets like:

F1 = { 1 } 
F2 = { 1, 2 }
F3 = { 1, 3 }
F4 = { 1, 2, 4 }
F5 = { 1, 5 }
F6 = { 1, 2, 3, 6 }
F7 = { 1, 7 }
F8 = { 1, 2, 4, 8 }
F9 = { 1, 3, 9 }
F10 = { 1, 2, 5 }

fig. 1. Sets of Factors for So-Soo-Yoo Numbers

The Approach 

For each So-Soo-Yoo number, I defined a "reachability set" or the set of all other So-Soo-Yoo numbers which could be reached from the given number. You have to familiarize yourself with the rules of So-Soo-Yoo a bit. If we take s to be the space, or the So-Soo-Yoo number we are on, we can move to a new number based on the following rules.

1. You can always move by one space to either side, i.e., s + 1 or s - 1 (staying within 1 to 199)

2. You can jump forward or back to the next space that has some combination the factors (2) of the number you are on.

For example, you can jump from 4 to 6, or from 4 to 2 because of the common two. There is a common two between 4 and 8, but that doesn't equal a jump, but the shared 4 does. Anyway, using fig. 1., let's build the first order reachability sets.

R1,1 = { 2 } 
R2,1 = { 1, 3, 4 }
R3,1 = { 2, 4, 6 }
R4,1 = { 2, 3, 5, 6, 8 }
R5,1 = { 4, 6, 10 }
R6,1 = { 3, 4, 5, 7, 8, 9, 12 }
R7,1 = { 6, 8, 14 }
R8,1 = { 4, 6, 7, 9, 10, 16 }
R9,1 = { 6, 8, 10, 12, 18 }
R10,1 = { 5, 8, 9, 11, 15, 20 }

fig. 2. First Order Reachability Sets

I got the idea that the factors sets were actually a kind of Zeroeth Order So-Soo-Yoo number set. I could define any number as being reachable or non-reachable, i.e., a member or non-member of the first order reachability set for a given s-number by:

Rs,1 = { i :  | i - s |  Fs } 
fig. 3.1. Definition of Reachability Set Membership, first order

 My next task was of course to come up with a definition of higher level reachability sets, and my hope was that I could extend the fig. 3.1. expression to fill that requirement.

To talk about the second order reachability set, we have to work from the first order set, and for the third we have to look at the second, and so on. There's a kind of "duplication" effect. For example, if you look at fig. 2. and the first-order reachability matrix for 7, which is { 6, 8, 14 }, which means the second order would be { 5, 6, 7, 8, 10, 12, 16, 21 }. So 6 and 8 stay in the list, and 7 is in the list because both 6 and 8 are in the previous list. So it starts to look like the second order set definition looks a lot like:

Rs,2 = { i :  | i - s |  Rs,1 }      (1st to 2nd order)
Rs,n+1 = { i :  | i - s |  Rs,n }    (general)
fig. 3.2. Definition of Reachability Set Membership

So we see that there is a general definition of Reachability, with the factor sets of basic so-soo-yoo numbers action as the zeroeth order reachability matrix.

It turns out that a spreadsheet is very good at making this kind of determination, given, of course, that it's over a finite data set. The method should be extensible, however, to large data sets and to high orders of reachability.

The Plots 

I made plots for each order reachability set, and then a combined plot where the lower orders take precedence over the higher ones.  I also plotted the factor matrix (zeroeth order reachability set).

fig. 4.1. first order reachability

fig. 4.2. second order reachability

fig. 4.3. third order reachability

fig. 4.4. fourth order reachability

fig. 4.5. fifth order reachability

fig. 4.6. sixth order reachability

fig. 4.7. composite reachability

fig. 4.8. zeroth order reachability (factors)

Summary and Conclusions 

I'd like to investigate whether there are any interesting fractal features in these plots. It's a phenomenon linked to the behavior of prime numbers, so there may be something new going on here, or it may be able to be reduced to some other work or theories to do with prime numbers. Fractal phenomena in the domain of natural numbers may be interesting, even rare.

On the education side, and psychology, even psychology of math, this started out as investigation of what the brain is doing when it plays So-Soo-Yoo. There are people who are very good at this game, and the question remains is what is their brain doing when they play? What problems are they solving? Are we seeing something that the human brain is very good at, which machines might not be good at, and what might this tell us about how the brain works?

The impression that I think David and I share, is that solving long and complex So-Soo-Yoo moves, i.e., making a multiple move turn that solves the problem of picking up as many rings as possible, is difficult, that it's solving a problem in mathematics and computation that is known to be difficult, possibly, say, for instance, an np-complete problem. That's the impression. Is it really correct? This seems like an interesting question to try to answer.

And again on the education side, So-Soo-Yoo was invented to help young children learn multiplication tables, and other math facts and skills. Is it teaching this, really, or is it teaching something else, or both? Children seem to be able to learn the game quickly and easily, so what does that say?

____________________________________

(1) I don't know how David's program worked. My definition of so-soo-yoo sets and how to determine memberships may be a different approach. My spreadsheet did not hang, which may just be due to the cloud resources it uses. 

(2) A clarification of how to use "factors" to move around the board. In So-Soo-Yoo, every non-prime board space has the collection of prime factors of that number. For instance, 6 has factors of 2 and 3, and the next space on the board that has both 2 and 3 is 12, so that is a valid move (the longest possible move, actually). In the F-matrix I set up, instead of 6 having just { 2, 3 } as it would on the game board, I have { 1, 2, 3, 6 } which includes all of the possible So-Soo-Yoo moves, i.e., [ 3, 4, 5, 7, 8, 12 ] and is more "computation friendly", i.e., moving back and forth by one and combining the factors of 2 and 3 is already done for the spreadsheet engine that wants to determine membership.

No comments:

Post a Comment