======================================================================= Cybernetics in the 3rd Millennium (C3M) Volume 17 Number 1, Mar. 2023 Alan B. Scrivener — www.well.com/user/absmailto:abs@well.com ========================================================================
Glass Bead Game worksheet Glass Bead Game worksheet (programmed by author)
In this issue:

Short Subjects

Fractured Flickers "Fractured Flickers" letterhead with Theda Bara (artofjayward.blogspot.com/2015/06/fractured-flickers.html)
  • ChatGPT failed my Turing test There's been a lot of buzz lately about chatbots with "Artificial Intelligence" that may make mediocre people obsolete. The first to grab headlines was ChatGPT. ( openai.com/blog/chatgpt ) I recalled that Douglas Hofstadter came up with a challenge to test the intelligence of a chatbot (what we call a Turing Test), to make sense of these words:
      This sentence no verb.
    I think it was in Fluid Concepts and Creative Analogies: Computer Models Of the Fundamental Mechanisms of Thought (1996). ( www.amazon.com/exec/obidos/ASIN/9780465024759/hip0bd ) My interpretation is that these words form a sentence fragment which is both a joke and a paradox. If you supply the missing verb, "has" or "contained," then the new sentence is false. But the original partial sentence, if you infer its meaning, is true. Well, I laughed anyway. On 14 December 2022 I tried out CHatGPT, and one thing I did was ask it to diagram the sentence fragment. It said it couldn't draw diagrams. So I tried again.
      Me: Analyze this sentence: "This sentence no verb." ChatGPT: The sentence you provided is grammatically incorrect because it does not contain a verb. In order for a sentence to be grammatically correct, it must have at least one verb. Verbs are words that describe an action, state, or occurence, and are often used to indicate the main activity or event in a sentence. Without a verb, a sentence is incomplete and can't convey a complete thought.
    So I'd say it flunked, getting neither the joke nor the paradox. This bot reminds me of a comedy character named Perini Scleroso played by Andrea Martin on the TV show Second City Television (SCTV). I was originally going to link to "SCTV PSA - The Illegal Immigrant Problem" sketch but I thought it hadn't aged well. I needed a warning message like this one Disney+ has been using:
      This programme includes negative depictions and/or mistreatment of people or cultures. These stereotypes were then and are wrong now. Rather than remove this content, we want to acknowledge its harmful impact, learn from it and spark conversation to create a more inclusive future together.
    So instead, I found the somewhat less cringeworthy but actually more relevant sketch . ChatGPT has been compared to a parrot with a very good memory that has listened to a million years of radio. I see it more resembling Perini. And speaking of warning labels, these chatbots have a prrennial problem of being "inappropriate," because they've sucked up the internet, toxicity and all. If I were a Nazi, or a frat boy prankster, or an agent of some foreign or corporate power with an agenda for sabotage, I'd flood the internet with radioactive content to corrupt the bots. I mean terabytes. Of course I wouldn't be able to write it all, so I'd have bots dot it.
  • SageMath software I've been reading the excellent systems theory textbook Modeling Life: The Mathematics of Biological Systems (2017) by Alan Garfinkel, Jane Shevtsov and Yina Guo. ( www.amazon.com/exec/obidos/ASIN/3319597302/hip0bd ) It used the SageMath software in the creation of the text, and also has students use it. I downloaded it and made my first plot, with the command:
      show(plot(sin(x) + sin(1.6*x), 0, 40)).
    Free from sagemath.org. Plot command taken from "A Tour of Sage."
  • Summer of Math Exposition (SoME) 2022 Brad Sanderson of 3blue1brown and others did a second contest last summer for math explainer videos. ( www.youtube.com/watch?v=cDofhN-RJqg )

A Glass Bead Game

glass beads glass beads from Beads Factory ( beadsfactory.com )
I've invented a game and you're invited to play. It's like a competitive puzzle, involving multicolored glass beads strung on a series of cords.

THE INSPIRATION FOR THE GAME

In a previous eZine, "Cybernetics in the 3rd Millennium volume 2 number 1" (Jan. 2003) ( people.well.com/user/abs/Cyb/archive/c3m_0201.html ) I wrote:
    Psychedelic guru Timothy Leary's last book, "Chaos & Cyber Culture" (1994), was a collection of his recent short writings. ( www.amazon.com/exec/obidos/ASIN/0914171771/hip0bd ) In one essay he talked about Hermann Hesse, whose "Siddhartha" (1922), and "Steppenwolf" (1927) were counter-culture favorites in the 1960s:
      Poor Hesse, he seems out of place up here in the high-tech, cybercool, Sharp catalog, M.B.A., upwardly mobile 1990s. But our patronizing pity for the washed-up Swiss sage may be premature. In the avant-garde frontiers of the computer culture, around Massachusetts Avenue in Cambridge, around Palo Alto, in the Carnegie-Mellon A.I. labs, in the back rooms of the computer-graphics labs in Southern California, a Hesse comeback seems to be happening. This revival, however, is not connected with Hermann's mystical, eastern writings. It's based on his last, and least-understood work, "Magister Ludi, or The Glass Bead Game." ( www.amazon.com/exec/obidos/ASIN/022461844X/hip0bd ) This book... is positioned a few centuries in the future, when human intelligence is enhanced and human culture elevated by a device for thought-processing called the glass bead game. Up here in the Electronic Nineties we can appreciate what Hesse did at the very pinnacle (1931-42) of the smoke-stack mechanical age. He forecast with astonishing accuracy a certain postindustrial device for converting thoughts to digital elements and processing them. No doubt about it, the sage of the hippies was anticipating an electronic mind-appliance that would not appear on the consumer market until 1976. I refer, of course, to that Fruit from the Tree of Knowledge called the Apple Computer.
    Hesse described the glass bead game as "a serial arrangement, an ordering, grouping, and interfacing of concentrated concepts of many fields of thought and aesthetics. ...the Game of games had developed into a kind of universal language through which the players could express values and set these in relation to one another." This sounds to me remarkably like Wolfram's vision of the significance of Cellular Automata.
I'm not sure I'd go so far as to say Hesse predicted the digital computer, let alone the home or personal computer, not to mention the particular brand of Apple computers. But I think it's fair to say he predicted digital encoding. Jacquard Loom Jacquard Loom card maker from Manchester Science and Industry Museum ( https://www.scienceandindustrymuseum.org.uk/objects-and-stories/jacquard-loom ) The world at the time of his writing (1943) already had the Jacquard Loom (1804), which encoded thread colors on punch cards in weaving, the designs of gear-based digital computation of Charles Babbage (1822), the tabulating machines of Herman Hollerith which were used in the 1890 census, Harvard Mark I Harvard Mark I from Wikimedia Commons and early experimental electromechanical relay and vacuum tube digital computers, as well as a number of then-classified digital machines of various types for wartime codebreaking, but Hesse probably would have been unaware of them. But he did envision an ability to use finite beads to express concepts and patterns in the sciences in the arts. The idea of all forms of data being stored in interactive computers was familiar to every Star Trek fan in 1966, but many futurists and business planners didn't believe until the late 1980s that it was going to actually happen. Hesse didn't describe the Glass Bead Game in detail, using the concept as a plot device and a metaphor, to make points about social and political issues, especially his disdain for hyper-academic pursuits and fascism. At the end of novel he even delved into alternate universes. An on-line plot summary gives some features of the game that we do learn from the book:
  1. it is suggested that the rules are too complex for a lay audience to understand
  2. to play the game at all requires years of study in mathematics, music, and history
  3. play proceeds when players make conceptual connections between topics that seem unrelated on the surface
WIkipedia elaborates:
"The Glass Bead Game is 'a kind of synthesis of human learning' in which themes, such as a musical phrase or a philosophical thought, are stated. As the Game progresses, associations between the themes become deeper and more varied. Although the Glass Bead Game is described lucidly, the rules and mechanics are not explained in detail."
I figured that this vagueness gave me enough leeway to invent something.

THE MECHANICS OF THE GAME

weaving pattern weaving pattern from weave-away.blogspot.com What I've come up with is this: the Game Master gives the players a challenge. They are presented with two strings of colored beads of the same length which have different patters of colors. One is called the beginning pattern and the other is the target pattern.
beginning pattern:
target pattern:
example beginning and target patterns in a three-color game Each player can do three types of things to transform one into the other. In order of least to most "costly" in the scoring, they can (1) apply a rule, (2) change the rule they are using, or (3) change a single bead color. The rules available are taken from the mathematical concept of a cellular automaton. Webster defines the word as a mechanical device, but to mathematicians it can refer to a type of finite state machine. I described the basic form of a simple cellular automaton in "What Hath Wolfram Wrought?" C3M volume 1 number 2, October 2002. ( people.well.com/user/abs/Cyb/archive/c3m_0102.html ) The particular cellular automaton that the most number of people are familiar with is "Conway's Life," also called the Game of Life. sample snapshot from Conway's Life This is a two-state, two-dimensional system in which each cell changes based on its previous value and those of its neighbors. A multitude of web versions exist of you want to play with it. ( playgameoflife.com ) But Wolfram focused on the simplest non-trivial cellular automaton, a two-state one-dimensional system that looks at the current state and the two nearest neighbors in computing each following step. This is the model I am using initially for this Glass Bead Game. The following page from Wolfram's "A New Kind of Science" shows a time history of one of these machines, where each row is a single step and time moves downward. cellular automaton cellular automaton from "Introduction to A New Kind of Science" ( www.stephenwolfram.com/publications/introduction-to-a-new-kind-of-science ) At the bottom is a key to the rule used. (I will be representing a white cell as 0 and a black cell as 1, per Wolfram.) You read the key from left to right as saying:
  1. if the left neighbor is 1, the current cell is 1, and the right neighbor is 1, make the new cell 0
  2. if the left neighbor is 1, the current cell is 1, and the right neighbor is 0, make the new cell 1
...and so on. Wolfram also suggests taking the bottom row of this key and encoding the rule number in binary. In the case it would be 01011010, or 90 in base ten. I've created a worksheet you can use for encoding and decoding rules: ( people.well.com/user/abs/Cyb/archive/GBG_RULE_WORKSHEET_2.html ) A player makes a move by informing the Magister Ludi that they are either taking one time step, changing to a new rule number, or modifying a certain bead color. My current approach to scoring is this: given S is the size of the bead strand, a step is 1 point, a rule change is S squared points, and a bead change is S cubed points. Low score wins. I am willing to take suggestions on this, based on analysis and game play. One final detail of the rules is what to do at the left and right edges. The mathematical abstraction of this family of cellular automata sometimes allows the width of each row to be infinite, but for the game I've designed there will always be a finite bead strand length, so there will always be two ends, which must be handled specially. There are two I allow: first, called "wrap," where the strand wraps around into a necklace of sorts, and so the bead to left of the leftmost one displayed is assumed to be the same as the rightmost displayed bead, and vice versa. Another way of thinking about this is that the strand is infinite but always repeats exactly the finite pattern. The second is "no wrap," in which the leftmost bead is assumed to have an unseen left neighbor which is a "dead" bead (always 0, or white) and the rightmost bead is also assumed to have an unseen right neighbor which is also a "dead" bead. So at the beginning of a game, the player specifies wrap or no wrap. They are allowed to change this during play at the same score cost as a rule change. After so much abstraction perhaps an example will help. Here is a challenge in which the Magister Ludi provides a seven bead game, to change 1000101 binary (69 decimal) into 0111110 binary (126 decimal).

example Glass Bead Game key:

beaddigit
0
1
colormeaning
light greenstart beads
pinktarget beads

wrap ; starting beads = 1000101 ; target beads = 0111110

1 2 3 4 5 6 7 step or
action
rule/bit
number
binary
beads
input - 1000101
1 90 1101001
2 90 0100111
3 90 0011101
4 90 1110100
5 90 1010011
6 110 1111100
7 110 0000111
8 110 1001001
9 110 1111110
flip 1 0111110
target found; steps (1 point): 9; rule/wrap changes (49 points): 1; bit flips (343 points): 1 score = 401
In this game the player uses wrap, and starts with rule 90 applied 5 times, resulting in 1010011 (83). They then apply rule 110 four times to get 1111110 (126). Lastly they flip bit 1 to get 0111110 (62), the target. As shown the score is 401. I don't know if this is a well-played game or not, so I offer:
    Challenge Number One: What is a better scoring game using these beginning and target bead patterns?
In the future I would like to expand to more than two bead colors. I have created a worksheet for a three-color (trinary) Glass Bead Game. ( people.well.com/user/abs/Cyb/archive/GBG_RULE_WORKSHEET_3.html ) While this will produce a more colorful and complex game, it will vastly increase the computing requirements and possibly expand it beyond human comprehension. For the binary (two state) game has only 256 rules, given by:
    2(23)
The number of trinary (three state) rules: is 7,625,597,484,987 (that's trillion with a t), given by:
    3(33)
Wolfram has said that he has a filing cabinet with 256 folders for the 256 rules of the 2D 2-state cellular automaton, and in each are scientific papers about that rule. He claims they all have been studied and have uses in mathematics and related applied mathematical fields. We can be confident he doesn't have 7+ trillion folders for the 3-sate rules.

THE CHALLENGE OF THE GAME

the beginning of Beethoven's Fifth I Ching hexagrams the beginning of Beethoven's Fifth I Ching hexagrams Since Hesse's Glass Bead Game is supposed to relate patterns in the arts and sciences, in fact all of human culture and the natural world, I thought I would issue a nontrivial challenge involving taking a pattern from Beethoven's music and transforming it into a pattern from a book of Chinese philosophy. For the Beethoven I chose the beginning of his 5th Symphony, just the melody (which I selected subjectively). I use the first 7 measures or so. I transcribed it from 2/4 time thusly (lines are measure marks):
    eighth note rest eighth note G eighth note G eighth note G ---- half note E ---- eighth note rest eighth note F eighth note F eighth note F ---- whole note D (two measures) ---- ---- eighth note rest eighth note G eighth note G eighth note G ---- half note C
I created a nine-bit code for each note or rest: +-+-+-+-+-+-+-+-+-+ |dura |fsr| note | +-+-+-+-+-+-+-+-+-+ Three bits for duration, two bits for flat/sharp or rest, and four bits for pitch.
duration 000 = S = sixteenth note 001 = E = eighth note 010 = Q = quarter note 011 = H = half note 100 = W = whole note flat/sharp or rest 00 = Z = rest 01 = b = flat 10 = # = sharp 11 = = none of the above pitch 000 = Z = rest 0001-0111 = A-G = Treble notes 1001-1111 = a-g = Bass notes
This may not be the ideal coding; there are some duplicate ways to specify some notes, such as middle C, and some patterns are impossible, such as certain flats and sharps, and it only has a two octave range, but it will suffice. (Note that all nine zeroes is a sixteenth note rest, and any number ending seven zeroes is some duration of rest. This is wasteful, but there is room to improve.) Converting the above notes to abbreviations, and then to the binary patterns, separated by colons for clarity, we get: EZ 001:00:0000 EG 001:11:0111 EG 001:11:0111 EG 001:11:0111 --------------- HE 011:11:0101 --------------- EZ 001:00:0000 EF 001:11:0110 EF 001:11:0110 EF 001:11:0110 --------------- WD 100:11:0100 --------------- --------------- EZ 001:00:0000 EG 001:11:0111 EG 001:11:0111 EG 001:11:0111 --------------- HC 011:11:0011 Concatenating the binary patterns separated by hyphens we get: 001:00:0000-001:11:0111-001:11:0111-001:11:0111- 011:11:0101-001:00:0000-001:11:0110-001:11:0110- 001:11:0110-100:11:0100-001:00:0000-001:11:0111- 001:11:0111-001:11:0111-011:11:0011 and lastly removing the colons and hyphens we get the binary number: 001000000001110111001110111001110111011110101001000000001110110001110110001110110100110100001000000001110111001110111001110111011110011 In decimal (base ten): 5464328830608862715843142692626669301491 So that is our beginning bead pattern. For the target bead pattern I take the order of bits given by the patterns in the I Ching, a book of Chinese philosophy and fortune telling. It dates back three thousand years, and according to a story Leibniz studied it and then invented binary numbers. In the image above the basic three-bit units called tri-grams are shown, where a broken line is a 0 and a solid line is a 1. Each pair of trigrams forms a hexagram, and they are listed in the book in an unusual order; no one knows exactly why. I used the six bit patterns, concatenated in the order of the hexagrams shown in the book (Wilhelm translation 1950), to generate the first 135 bits. For example, hexagram 1 is Ch'ien (Heaven) repeated twice, each shown as three solid lines or 111. So the first hexagram is 111111, and that's how our target strand of beads begins. The second hexagram (at position row 5 column 5 in the diagram) is K'un (Earth), three broken lines or 000, repeated twice, so the second hexagram is 000000, and that's how our target strand of beads continues. Strung together, and truncated to 135 beads to match the length of the Beethoven notes, the entire target value is: 111111000000010001100010010111111010000010010000110111111011000111111000111101101111000100001000011001100110000011110000101001100101100 In decimal (base ten): 42878492080351011745442049171445450822444
    Challenge Number Two: What is the best scoring game using these 135-bit beginning and target bead patterns?
(If you need help converting between bases, like binary and decimal, you can use the on-line wolframalpha.com and just type, for example, "1000101 binary to decimal" and it will print 69.)

HOW TO PLAY

If you like you can email me ( abs@well.com ) with your entries. Put "C3M GBG" in the subject so I'll know. Include the following info:
  1. Which challenge are you responding to?
  2. What is the strand size in beads?
  3. What are the beginning and target patterns (use any base you like)?:
  4. What are the initial rule and wrap/no wrap?
  5. Exactly what actions do you take to reach the target (step, rule or wrap change, bit flip)? (If you use the program described below, please include the command line and the gbg script file that you used, explained soon.)
You have enough information above to do it all on paper (hint: print out copies of the 2-D worksheet and use them). Or, you can use gbg.py (for Glass Bead Game), a program I wrote in Python. I wrote it using Python version 2.7.16, though it should work with other 2.7 versions. The source code and some sample files are located on my web site. ( people.well.com/user/abs/swdev/Python/gbg ) Follow the link for a directory listing something like this: Index of /user/abs/swdev/Python/gbg Name Last modified Size Run4 26-Mar-2023 23:05 1.7K RunExample7S 26-Mar-2023 22:59 316 gbg.py.txt 24-Mar-2023 22:29 17K gbg_ALL.sh.txt 22-Mar-2023 14:40 19K Apache Server at people.well.com Port 443 There you will find the program, with a .txt suffix to make it easier to download, and also some sample shell scripts for running the program and sample gbg scripts for game play (explained below). Also a single file: gbg_ALL.sh which is a self-extracting shell archive of the other files, if you know what that is. If not, the internet will explain. That reminds me, to use these tools you will also need a UNIX or Linux shell, such as bash (the Bourne again shell) or csh (the C shell). If you are on a Mac or UNIX/Linux system, you already have these. If you are on Windows you can get the GNU foundation tools from Cygwin. ( www.cygwin.com ) The sample shell scripts are for the C Shell, but can easily be converted to the Bourne Again SHell. The resulting HTML file will reference these image files: zero.png one.png Right click to download them, or supply your own. You can run the gbg program in two modes: game play (scripted) mode and exploration mode. When you run the program and use the -h "help" flag like so:
python gbg.py -help
You get this help, which unfortunately mixes flags from both modes:
usage: gbg.py [-h] [-D] [-A] [-X] [-b BINARY_START] [-f FINAL_BINARY] [-m MAX_STEPS] [-n NUM_STEPS] [-r RULE] [-s SIZE] [-t TABLE_FILE] [-L] [-T] [-S] [-W] explore or play the Glass Bead Game; see: https://people.well.com/user/abs/Cyb/archive/c3m_1701.html#sec_1 optional arguments: -h, --help show this help message and exit -D, --DEBUG debug write -A, --ABBREV abbreviated output (no beads) -X, --XOR xor current and target and count bits -b BINARY_START, --binary_start BINARY_START starting bead pattern in binary -f FINAL_BINARY, --final_binary FINAL_BINARY final bead pattern in binary -m MAX_STEPS, --max_steps MAX_STEPS maximum number of steps -n NUM_STEPS, --num_steps NUM_STEPS number of steps to print -r RULE, --rule RULE rule number of 2D binary cellular automaton -s SIZE, --size SIZE size of string of beads -t TABLE_FILE, --table_file TABLE_FILE table file -L, --Loop stop when loop detected -T, --Target_stop stop when target reached -S, --Script take script commands from standard input -W, --Wrap wrap each line
This is useful for jogging your memory, but to explain the program workflow I need to break it down. In both modes you can use these flags (each flag is shown is short and long form, such as -D and --DEBUG.)
-D, --DEBUG debug write I recommend you don't use this. -b BINARY_START, --binary_start BINARY_START starting bead pattern in binary Beginning bead patterns such as 1000101 -f FINAL_BINARY, --final_binary FINAL_BINARY final bead pattern in binary -s SIZE, --size SIZE size of string of beads -W, --Wrap wrap each line Default is no wrap; this flag changes to wrap. -A, --ABBREV abbreviated output (no beads) Default is beads displayed as images; this flag suppresses that. -X, --XOR xor current and target and count bits This option adds a measure of how "close" the current pattern is to the target, by counting the number of bits that differ. It uses a bitwise exclusive or operator, which is like a bit-by-bit "not equals" calculation. -n NUM_STEPS, --num_steps NUM_STEPS number of steps to print When there's a lot of computation you can suppress output beyond a number of steps
Exploration mode lets you start with a pattern and evolve it with a single rule, searching for loops along the way (which mean the pattern will never reach the target). In this mode you can also use these flags:
-m MAX_STEPS, --max_steps MAX_STEPS maximum number of steps -r RULE, --rule RULE rule number of 2D binary cellular automaton -t TABLE_FILE, --table_file TABLE_FILE table file This option allows you to capture beginning bead pattern, final bead pattern, number of steps and rule number, when the target is reached, as four comma-delimited values in a designated file. If the target is not found by MAX_STEPS a "U" is placed in the steps field. -L, --Loop stop when loop detected Stats are printed out. -T, --Target_stop stop when target reached Stats are printed out.
In game play (scripted) mode you are trying to win the game and provide a script file with your commands to do so. You invoke it with the -S flag:
-S, --Script take script commands from standard input
Here is the format of the gbg script file
script
command
short for argument meaning
f flip BIT NUMBER flip a bit (0 becomes 1 or 1 becomes 0) using bit number, counting left to right, one is first
r rule RULE NUMBER change the rule number to use going forward
s step NUMBER OF STEPS use the current rule to take a number of steps in time
w wrap 0 (FALSE) OR 1 (TRUE) wrap/no wrap state
As an example, this script file was used to produce the example above:
r 90 s 5 r 110 s 4 f 1
It is run with this command:
python gbg.py -D -s 7 -b "1000101" -f "0111110" -S -W > gbg7S.html < script7S.txt

STRATEGY

Well, now that I've told you how you can play the game, perhaps I should give you some clues as to how you should play in order to win.
  1. Fiddling Around Playing with the rules on paper or with a computer, you quickly find that rules 0 and 255 annihilate bead patters of any length, turning them to all zeroes or all ones. There are other rules with simple effects, such as copying, flipping and shifting bits. Come to think of it, my first explorations into Conway's Life involved fiddling around, and I found stable structures (four cells in a square) +-+-+-+-+ | | | | | +-+-+-+-+ | |X|X| | +-+-+-+-+ | |X|X| | +-+-+-+-+ | | | | | +-+-+-+-+ 2x2 "block" stable structure and oscillating structures (three cells in a line). +-+-+-+-+-+ +-+-+-+-+-+ | | | | | | | | | | | | +-+-+-+-+-+ +-+-+-+-+-+ | | | | | | | | |X| | | +-+-+-+-+-+ +-+-+-+-+-+ | |X|X|X| | | | |X| | | +-+-+-+-+-+ +-+-+-+-+-+ | | | | | | | | |X| | | +-+-+-+-+-+ +-+-+-+-+-+ | | | | | | | | | | | | +-+-+-+-+-+ +-+-+-+-+-+ 3x1 "traffic light" oscillator
  2. Literature Search Reading books and later online articles I learned about the complexities of Conway's Life. I learned about the stable structures called blocks and boats/beehives, the oscillators called traffic lights or blinkers, the moving objects called gliders, and the growing patterns called glider guns. I also learned that a Universal Turing Machine (capable executing all algorithms) can be built on an infinite Life board. A New Kind of Science The main literature source for 2-D 2-state cellular automata is, of course, "A New Kind of Science" (2002) by Stephen Wolfram. ( www.amazon.com/exec/obidos/ASIN/1579550258/hip0bd ) Since its publication, though, much has been added to the literature by enthusiastic researches inspired by the book. In this body of work you will out about rule 30 being a good random number generator and rule 110 being a Universal Turing Machine. Wolfram has also published a follow-on book in 2022, "Twenty Years of a New Kind of Science," which I am looking forward to reading. ( www.amazon.com/exec/obidos/ASIN/1579550495/hip0bd )
  3. Analysis I analyzed the game starting with its simplest form: a one bead strand. There are only 2^1 or two possible states, and there are very many ways to get from one to the other. The weird thing about this category of game is that most of the cases in the rules are ignored, because in the no-wrap game the only possible input patterns are 000 and 010 (with the two dead spots on either end) while in the wrap game the two possible inputs are 000 and 111 (with both ends duplicating the single bead). I can illustrate this set of games with a directed graph, or digraph (as in graph theory, also known as network theory). Directed means there are arrows on the lines. I drew these with the GraphViz program, which is free on the web. ( graphviz.org ) one bead game (both kinds) This diagram tells us that we can get from any pattern to any other pattern by applying a single rule for a finite number of steps. In graph theory nomenclature this graph is known as a complete digraph because every node has an arrow to every other. (Note that because there are rules that copy any pattern, every pattern should have an arrow back to itself. Because this is useless in the game, costing a point for the step and achieving nothing, I ignore them for the rest of this article. It makes the diagrams simpler.) The two bead case gets a little more complicated. There are 2^2 or four possible patterns. In the no wrap case it is still possible to get from any pattern to any other with a single rule. Its graph is also a complete graph. two bead game (no wrap) But the wrap game with two beads has a problem: if you start with binary 00 or 11 (decimal 0 or 3), whatever you do to create the new bead on the left is also done to create the new bead on the right. As this diagram shows for starting pattern 00 binary: --------- "ghost bead" wrapped around from right side / -- "ghost bead" wrapped around from left side / / | | v v +-++-+-++-+ |0||0|0||0| +-++-+-++-+ ||a|a|| ++-+-++ Whatever the first 'a' ends up being, using the rule for [000] -> [a], the second 'a' will also end up being. There's no way to break the symmetry and pick a bead to be different. So the graph looks like this: two bead game (wrap) (A similar argument applies if you begin with 11 binary.) I'm going to call the states by their decimal numbers from now on for brevity. If you imagine drawing an oval around 0 and 3, and labeling it A, and then drawing another oval around 1 and 2, and labeling it B, inside each oval is a complete digraph. But between the two ovals all of the arrows go from B to A. Every node in B connects to every node in A, but none of the nodes in A connect to any nodes in B. In the parlance of systems theory, A is an attractor of the system. I did some analysis of the three bead game, but I didn't get entirely correct answers, as I found when I used Wolfram's Method.
  4. Wolfram's Method (Exhaustive Search) By using gbg.py invoked with shell scripts and concatenating the resulting HTML files I created sets of all possible steps from every pattern to every other pattern in the 2, 3 and 4 bead cases. I also used the transition table output, and passed it through another program mapping2matrix.py (not yet provided; still in work) to get transition matrix for each bead size. The advantage of this approach is that all secrets are revealed. I fully mapped all possible games of these bead sizes. The disadvantage is that run time grow so quickly. The 4 bead case takes about 7 hours. (That's what I get for using Python, and an old Mac Mini.) I was able to establish that the 3 bead games, no wrap, also form a connected digraph. three bead game (no wrap) I had guessed that the 3 bead, wrap games formed the same kind of two subgraphs (that I called A and B) as the two bead case above, an it turned out I was right. three bead game (wrap) In this case you draw oval A around 0 and 7, and oval B around all of the others (1 through 6). Each oval contains a complete digraph, and again between the two ovals all of the arrows go from B to A. Every node in B connects to every node in A, but none of the nodes in A connect to any nodes in B. A is again an attractor in the system. I had not explored the four bead games before using Wolfram's Method. My guess was that the pattern of A and B would continue, but it yielded some surprises. On my web site is a csh script called Run4 for creating the two files gbg4.html and gbg4W.html counting the set of all possible 4 bead games. I don't provide the output files because they are over 9000 lines each. Generate them and view them in a browser at your own risk. Here is the transition graph, with a surprise: four bead game (wrap) The red lines connect patterns 0, 5, 10 and 15. It turns out of you draw an oval around 0 and 15, label it A, another around 5 and 5, label it B, and a third around the rest, label it C, you have a new structure. Each oval contains a complete digraph, but neither of the patterns in A point outside of A, while both of the arrows leaving B go to A, and arrows from C go to B and A. A is still the attractor, but A and B together form a sub-basin of that attractor. The reason 5 and 10 are hard to escape is seen in the diagram below. ------------- "ghost bead" wrapped around from right side / -- "ghost bead" wrapped around from left side / / | | v v +-++-+-+-+-++-+ |1||0|1|0|1||0| +-++-+-+-+-++-+ ||a|b|a|b|| ++-+-+-+-++ As argues above, new beads labeled a must match because they have the same three bead pattern above, and likewise new beads labeled 'b' must match. This can only lead to an alternating pattern (0101 or 1010) or all zeros or ones (0000 or 1111). Here is the transition matrix for the wrap 4 bead case: 111111 0123456789012345 +---------------- 0|0000000000000001 1|1011111111111111 2|1101111111111111 3|1110111111111111 4|1111011111111111 5|1000000000100001 6|1111110111111111 7|1111111011111111 8|1111111101111111 9|1111111110111111 10|1000010000000001 11|1111111111101111 12|1111111111110111 13|1111111111111011 14|1111111111111101 15|1000000000000000 The numbers above and to the left of the dividing lines are like a ruler to identify grid locations. Below and to the right is the matrix, where 0 means no amount of steps by any single rule goes from on pattern to another, while a 1 means there exists a way with a single rule and a finite number of steps. There should be ones down the diagonal from upper left to lower right, since there is always guaranteed to be a rule that takes a pattern to itself, but I don't care about them so I made the diagonal all zeroes by fiat. You can use the matrix to answer questions like "is there a way to get from 5 to 13?" Strat with the row labeled with a 5, go over to the column labeled with a 1 over a 3, and the answer is 0, no way. This array of 16x16 bits completely specifies how winnable the games are. For example, if you are given 1010 to begin and 0111 as the target, the only solution is bit flipping. Well, now that the 4-bead games are totally solved, what about the 135-bead game given in the challenge above? Well, after several days of computing I can verify that no single rule answer has been found for up to 18,225 (135^2) steps. This brings up an interesting question. In the Game of Life there was the concept of a "Garden of Eden" pattern, which could not come into being by evolving from a previous pattern by the rules. It could only exist in the first step. SO farm in my explorations I have not found any Garden of Eden patterns, and I wonder if there are any in this Glass Bead Game.
      Challenge Number Three: What is the smallest bead length that has a "Garden of Eden" pattern, and what is the pattern?
  5. Monte Carlo (Random) I haven't tried this yet but one could randomly change rules and step and see if you got lucky. I have done this with other problems and gotten good results, but the search space was always smaller.
  6. Intuition Gregory Bateson used to talk about the importance of exposing your mind to a lot of data from "natural history" — the way things, especially living things, are. I'm willing to count these numerical experiments as natural history, since if humans weren't here they wouldn't be either. As Wolfram has claimed, I think it benefits one's intuition to play with this stuff. One intuitive flash I had was that I could take the binary exclusive or between a given pattern and the target, which is like a "not equals" function done bit by bit comparing two numbers. Each 1 is in a column that doesn't match. If I then counted the one bits I would get a sort of "distance" away from the target. If I searched for the lowest count in a list of steps, I could then use bit flips to get the rest of the way to the target. I modified the gbg.py program by adding the -X flag to compute this count and add it to the output. I then searched the rules for the beginning and target values in Challenge Two and saved the output, which through some shell scrips I coerced into telling me the lowest count, 40, for 17,508 steps using rule 94. I had a hunch that rule 94 had more to offer, so I spent 26 hours running it up past 810,000 steps, and along the way found step 26,347 which yields a pattern with 38 wrong bits. Those 38 bits can then be flipped (at a cost of 135^3 or 2,460,375 each) to get the best score so far. This is the gbg script, no wrap, for winning the game (so far):
    r 94 s 26347 f 14 f 23 f 26 f 33 f 35 f 42 f 43 f 45 f 46 f 52 f 58 f 61 f 62 f 64 f 69 f 71 f 72 f 77 f 79 f 87 f 94 f 97 f 100 f 101 f 103 f 104 f 105 f 108 f 113 f 114 f 117 f 118 f 121 f 124 f 125 f 128 f 130 f 135
    This is the winning score (so far): 26,347 + 0*135^2 + 38*135^3 26,347 + 38*2,460,375 93,520,597 Here is a comparison between the value at step 26,347 using rule 94 and the target pattern: 1 2 3 4 5 6 7 8 9 0 1 2 3 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345 ---------*---------*---------*---------*---------*---------*---------*---------*---------*---------*---------*---------*---------*----- 111111000000000001100000000111110000000011111100110011111111110011110011111111001111001100001100111111011111000000111100001111110001101 111111000000010001100010010111111010000010010000110111111011000111111000111101101111000100001000011001100110000011110000101001100101100 1 1 1 1 1 11 11 1 1 11 1 1 11 1 1 1 1 1 11 111 1 11 11 1 11 1 1 1 I've deleted the zeroes in the exclusive or, to make the differences more obvious. These patterns manage to look rather close on first glance. Who knows if you, me or others will have more intuitive flashes in the play of this game.
  7. Machine Learning If we can learn to play this game maybe AI systems can too. We'll see.

FUN AND PRIZES

A big question for me is: will this game be fun for anyone? I've been enjoying putting it together, but I wonder if a better User Interface, or a Web or Mobile version, might fare better. To get people over the hump of trying it out, I'm providing motivation in the form of $20 gift cards for each of the three challenges above. Entries due by 31 May 2023. Ties go to the earliest entry. Edit 14 July 2023: The dealine has been extended. The new deadline is 29 September 2023. I am open to suggestions for other challenges.

A FOOTNOTE ON CONWAY AND WOLFRAM

In a cursory search I haven't been able to find anything John Conway had to say about Stephen Wolfram and his ideas. I did find an interview with Grant Sanderson of the 3blue1brown YouTube channel, in which he talks about "hating" the Game of Life that he invented. I think it was mostly because history tends to give people one liners, and he became "John Conway inventor of the Game of Life." Does John Conway hate his Game of Life? Numberphile — 2014 ( www.youtube.com/watch?v=E8kUJL04ELA ) If you've ever heard "The Presidents" by the Animaniacs you know what I mean. Here is an example of their snarky lyrics:
Richard Nixon, he gets caught And Gerald Ford fell down a lot
I think Conway would've preferred to be remembered for something like his "Monstrous Moonshine" conjecture. ( en.wikipedia.org/wiki/Monstrous_moonshine ) Wolfram on the other hand speaks fondly of Conway, and implies they used to spar over various mathematics and physics opinions. Day 3: An Interaction with Stephen Wolfram Cellular Automata India — 2021 ( www.youtube.com/watch?v=sssLEjQpKMo ) Does anyone have more info on this?

If It's Just a Virtual Actor, Then Why Am I Feeling Real Emotions? (Part Nine)

mask
(If you haven't read parts one through seven, see the archives, also listed at the end.) There is a gap in the video and then I am partway through introducing our panelists, Brad deGraf, Richard Cray, Art Doheny, Anne Hering and Kristian Truelsen.
Alan: ...are there any of these left (consult my notes). Brad's been doing this for 10 years... no, that's me, sorry (laughter). Produced the world's first computer generated character; I'm certainly hoping he will tell us about that. And has also directed the computer animation for Peter Gabriels' Grammy award winning video, Steam. We have Christian Truelson, Art Doheny, and Anne Hering from the Adventurers's Club. They've all worked doing characters at the club. Christian, who's on the end, has worked on the Night Rider car and acted in film, television and commercials. Art who's sitting right there has also had acting experience on stage and industrial videos. Anne, who's been doing audience participation performances at Epcot as well as at the Adventurer's Club, has also the upcoming performance in Steel Magnolias in Jacksonville, so those of you who are locals be sure to go see her, write letters to the paper saying she's great. We also have Richard Cray, who's been a vactor operator at last year's SigGRAPH for the SimGraphics booth, who as also acted on Broadway in The Mystery of Edwin Drood, which was an interactive play; and (how do I want to put this) who was the first person to our knowledge to use an operatic singers voice in a vactor system last year when he created a character called Dynamation Man, an opera singer by day... a Superhero with an opera voice by day, and a lounge singer by night. So, I guess we'll just go in order, makes it easier, start with Brad.
I felt very privileged to get Brad as a speaker. He had been at Digital Productions, and then with Michael Wahrman founded deGraf/Wahrman, before founding Colossal pictures. There is a more complete bio at his latest project, PlanetWork. ( www.planetwork.net/people/brad-degraf )
    Brad deGraf, has been a leader in computer animation in the entertainment industry since 1982, particularly in the areas of realtime characters, ride films, and the Web. From 1992 through 1994 he was director of digital media at Colossal Pictures, which he and his partners spun off to create Protozoa (aka Dotcomix) for which he has served as Chairman, CEO, and Chief Creative Officer.Credits include; Moxy, emcee for the Cartoon Network, the first virtual character for television; Floops, the first Web episodic cartoon; Peter Gabriel's Grammy award- winning video, Steam; Duke2000.com, a attempt with Garry Trudeau to get his Ambassador Duke character elected president; "The Funtastic World of Hanna-Barbera", the first computer- generated ride film; "The Last Starfighter", "2010", "Jetsons: the Movie", "Robocop 2", and many others.
Brad came to the podium. Brad deGraf
    Brad DeGraf: I may not take 10 minutes; I have a tape that I hope we'll get a chance to show. Alan: Oh, yes. At the end we're all going to go across the street and borrow someone else's tape player---no, not across the street, across the hall; we've got 24 minutes of video material if I'm not mistaken, which is quite interesting; but we thought we'd do the talking first. Brad: My tape's about 10 minutes long. Alan: And Richard Cray has a 14 minute video so that's about 24 minutes. Brad: While I wouldn't mind taking credit for doing the first computer generated character, I can't quite claim that. Michael Wahrman and I did the first live computer generated character... MicroTalk (?) in 1988. Actually, one person I didn't hear you mention in your discussion there, but Jim Henson, I think, really deserves a lot of credit in really pioneering this stuff, because when we were at Digital Productions it was before the days you could do real time shaded graphics so that kind of meant that it really didn't go anywhere; we did a project with the Henson people, I guess in '86 or '87, that's where we digitized Kermit and attached it to one of their globals and were able to animate him on an IMI vector system. That's the first instance I know of where we had real time devices attached to a computer display of a character. It wasn't until about a year, year and a half later when we did MicroTalk again that we actually had shaded graphics that came out of the SGI [IRIS] 4D system and then going on from there. wire frame Kermit for reference, wire frame model of Kermit by supercigale — probably done over 30 years later ( https://www.renderhub.com/supercigale/kermit-the-frog-rigged-and-animated ) It's amazing to me that it's taken as long as it has to do anything compelling with it. You know, 5 years is a long time in this business, and there really haven't been... for me, what I've done recently is moved to Colossal Pictures and brought performance animation with me. Eric Gregory and I developed a system that, after my old company deGraf/Wahrman had shut down, a second generation performance animation system called A-Live (?), brought that to Colossal, and the really liberating thing about that was not so much the technology but hooking into a creative community grounded in the creation of characters. So we got to work with people who created characters all the time. It just happened that right when we started, about a year and a half ago we started working with the Cartoon Network to do a character for them called Moxie, it ended up being called Moxie. It took us a while to arrive at who the character was. He's in his 2nd year now; we did 16 45 second little cartoons; he has his own show where he does kind of a Beavis and Butthead number where he intrudes on cartoons. We also did a live show out to 75 million homes, straight out of the back of the computer, over at TBS, TNT, Cartoon Network. Anyway, that was pretty scary. It's still kind of in its infancy... Live shows are for me really really dicey because the computer, the hardware to do a full body, rich character still isn't there, as far as I'm aware of, I mean, I just went to Epcot to see the Aladdin show, which is basically every machine that anybody can interact with was fully loaded: Onyx 8, 3 reality engine boards at least, and at least $400,000 worth of hardware, and even then the frame rate sucks, it's not really there, so I think we're still another generation away from really being able to do high quality live stuff. We use it for doing large amounts of animation to be as high quality as possible, we do what you were talking about as a production tool which allows us to generate minutes of animation in a day as opposed to several months. Motion capture to me is a tool. It's becoming really commonplace, there's a lot of systems out there for capturing motion. That's not a hard problem. Anybody with any brains can figure out how to take real time devices and attach them to channel capturing, you know, software, and play it back on an animation system. What's really tricky, what's important is what you do with it creatively; what are your characters like, what are the stories you're telling. What are you doing to make use of it; are you going to make people laugh or show simulations, or whatever. I think that's what I think is great about it, that it's going to get in the hands of a lot of people; there's a huge open field there for three dimensional characters that really have, that are not limited by how long it takes you to produce them, it's limited only by the stories being told. The other big area that I think is really interesting is I guess what I call Autonomous Characters, where you're not just capturing motion but you're giving the character some set of behavior that is inherent in the way the character is built. Moxie, for instance, has a lot of sort of autonomous nervous system kind of things that the animators don't have to deal with at all. He blinks automatically, his feet when they get near the ground his toes bend, if they're within a particular angle so you have a sense that his feet are planted on the ground. What else, there's a whole bunch... his ears do this kind of wobble that kind of follows his head so it don't look like a pair of antlers just stuck to his head... a lot of subtle things that really just add a lot to the believability and the life of the character that isn't just capturing a bunch of motion or capturing a mouth opening and closing or whatever... But also I think you take that idea a little bit farther and get it up from autonomous nervous system kind of things to being behaviors that deal with the environment that they're in or interactions with other characters, whether they're incarnations of real people or whether they're autonomous characters themselves and that becomes real interesting and leads into a whole population of virtual reality. If it doesn't have characters, it gets really boring. What are the character is doing; they're either being incarnations of people who are participating or they'r autonomous characters in and of themselves. That gets into gaming and multiplayer environments that are going to be possible in another few years. As far as people being put out of work... I just don't see it. I've been doing attempts at simulating human beings ever since TRW it's first one we did it, at Digital Productions, and it's a pain in the ass, something I hate doing. Some people might want to do it, it's a challenge, and people will get better and better and better at it and there will be computer generated characters that are very convincing as human beings. So what. I'm much more interested in creating fantasy characters, cartoons. The whole thing of what you call it, tromplography, that would be in a whole other direction, that's 2D stuff. When I started hearing Steven Spielberg say that in a few years there were going to be simulations of actors, you know, having Bogey doing things he never did, I thought, what a joke, we're decades away from that, but I was thinking 3-D, I wasn't thinking 2-D. Greenberg has done a great job of having Paula Abdul talk to Carey Grant; but I just think of that as trick photography, it has nothing to do with performance animation. I think actually, it really depends how much people are interested in seeing more animated material. Animation's been limited by production capacity and always has been, and I think that's the one thing that's going to change, production capacity is just going to be wide open. When these tools are another generation beyond... basically anybody wno has a PC and a few thousand dollars in software and hardware will be able to animate characters in real time. Anybody who has a video camera can make films now, too, but that doesn't necessarily mean there's orders of magnitude more films that people want to watch. I think there will be a certain amount of displacement of traditional animation into 3-D animation. I don't think there will be any actors out of business, if anything it gives actors more different ways of plying their trade. You won't necessarily see them as much but you will see their motions. Thank you.
Our next speaker was Adventurers Club actor Art Doheny.

TO BE CONTINUED...

======================================================================== newsletter archives: www.well.com/user/abs/Cyb/archive ======================================================================== Privacy Promise: Your email address will never be sold or given to others. You will receive only the e-Zine C3M from me, Alan Scrivener, at most once per month. It may contain commercial offers from me. To cancel the e-Zine send the subject line "unsubscribe" to me. ======================================================================== Copyright 2023 by Alan B. Scrivener
Last update: Fri Jul 14 22:08:22 PDT 2023