2024-02-20

模倣子 So-Soo-Yoo Numbers Revisited

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

Memetics Index - So-Soo-Yoo Game Page - Previous THIS article


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 

fig. 2. The So-Soo-Yoo Game Board

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 prime factors (2) of the number you are on. Basically, the same "bubble" or collection of bubbles.

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 } 
R1 (2) = { 1, 3, 4 }
R1 (3) = { 2, 4, 6 }
R1 (4) = { 2, 3, 5, 6, 8 }
R1 (5) = { 4, 6, 10 }
R1 (6) = { 3, 4, 5, 7, 8, 9, 12 }
R1 (7) = { 6, 8, 14 }
R1 (8) = { 4, 6, 7, 9, 10, 16 }
R1 (9) = { 6, 8, 10, 12, 18 }
R1 (10) = { 5, 8, 9, 11, 15, 20 }

fig. 4. First Order Reachability Sets

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:

R1 (s) = { i :  | i - s |  Fs } 
fig. 5. 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. 

I wondered if it might be possible to define the first-order So-Soo-You numbers reachability set in more general terms, as in also being constructed from a previous set. I thought of the "zeroth-order reachability set," or just the So-Soo-Yoo Numbers themselves:

R0 = { {1}, {2}, {3}, ... , {198}, {199} }

fig. 6. The Zeroth-Order Reachability Set 

In other words, this is the set of all numbers where you haven't made a move yet. The set of all numbers reachable from any of the numbers in this set is the first-order reachability set. How to describe the construction of the first-order set from the zeroth order? A number i is in the nth-level reachability set of s if the difference between the two is in the set of factors of s, in other words, i is reachable from s, and the difference is also in the n-minus-first reachability set of s. In other words, i must both be reachable from s, and i, if reachable, must have been reachable in the previous set. In notation:

Rn(s) = { i ∈ Rn-1(s)  :  | i - s | ∈ Fs }

fig. 7. General Definition of Reachability Set Membership 

We can see how this works for the first-order, for which Rn-1 is the zeroth-order matrix, or just the So-Soo-Yoo number line itself. For any number s there will be a zeroth-order So-Soo-Yoo number i such that  | i - s | will be a factor in Fs. Likewise, for the "sparser" sets of the higher reachability matrices, for any i in the previous reachability set, if the difference between i and s is a factor of s, then s is a member of the reachability set.

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. 8.1. first order reachability

fig. 8.2. second order reachability

fig. 8.3. third order reachability

fig. 8.4. fourth order reachability

fig. 8.5. fifth order reachability

fig. 8.6. sixth order reachability

fig. 8.7. composite reachability

fig. 8.8. 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: 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