Coding, Community Projects, Contributing, Geometry Joys, Group, live stream, Milestones, Murderous Maths, Notes on everyday life, Physics, Python, Simon's Own Code

Live Session with Stephen Wolfram and the Wolfram Demo Project, World Science Scholars.

Simon has completed the course A New Kind of Science with Stephen Wolfram and the World Science Scholars program. Which doesn’t mean he is done with digging deep into Wolfram’s groundbreaking new kind of science! (As a matter of fact, he is still reading Wolfram’s 1500-page book. And as Professor Wolfram told Simon during the live session, there’s nothing in the book that no longer holds).

Simon happy after a major break-through in his demo project, hoping to present his findings to Stephen Wolfram the same evening

At the live session, a few scholars including Simon were planning to present their Wolfram Language demos, but Professor Wolfram was so inspired by his current research that he decided to share his latest discoveries instead (he is tiptoeing closer to laying the foundations of a theory that would unify all natural sciences based on his principle of computational equivalence). It was a very engaging session (even though Simon’s video camera malfunctioned, which hardly mattered).

screenshot of the live session
Danielle Rommel, who works with Professor Wolfram, told Simon she had actually been watching videos on his YouTube channel!

As for Simon’s demo project, that’s a whole story. It took Simon weeks to define what he was actually going to pick as his topic and once he had picked his topic, he didn’t know where to start (because he managed to pick an NP problem). He suggested to collaborate together with another World Science Scholar, as it was that boy who initially inspired to think in the direction of the particular open math problem. The two of them had two long video chats. (It was so much fun to observe them, they both had zero interest in small talk and went straight down to the math, without even saying hi).

Simon during a video chat with a fellow student, discussing the project
ways to write graph data that Simon shared with his fellow student during their talk

Unfortunately, after the original project presentation during the live session with Stephen Wolfram was cancelled, Simon’s partner never really replied to Simon’s chat messages (until weeks later). Simon did manage to get part of the demo done (porting a huge graph into the Wolfram Language, which required writing separate code in Python), but felt stuck later, after several attempts to color the graph failed. He ended up spending several days writing several more Python scripts. We have documented the process on video. The project has turned into a computational essay and it’s definitely still unfinished, but I’m not sure Simon will come back to it in the near future. He got a couple of minutes to present his findings at another live session last week (with a World Science Scholars teaching fellow Aaron Mertz and Rory Foulger, Education Outreach Coordinator at Wolfram Research), but was confused as he didn’t get any feedback about his findings and got the impression his main questions weren’t understood. He was also a bit annoyed with me yelling on the background about what he should do and say (I saw he was confused and was afraid his time would be cut short, so I wanted to make sure he would mention his main points). I’ve learned my lesson now and have decided not to interfere with his live performances anymore, not to put him under additional pressure.

Simon has also written to Professor Wolfram, currently awaiting his reply. His main questions were:

I was surprised to discover that no Heule or de Grey graphs exist (anymore?) built into the Wolfram Language. As part of my research, I’ve created a very long list of all the graphs the Wolfram Language knows about, and HeuleGraph is not in the list. I tried to pose this question during the short discussion of my project at the World Science Scholars live session this week, but didn’t get any feedback (I don’t think my question was understood). Yes, one is able to find images of Heule graphs in Wolfram notebooks, (like this one https://notebookarchive.org/heule-graph–2019-07-0z3zu9k/) and on Wolfram MathWorld (like here http://mathworld.wolfram.com/HeuleGraphs.html). But those are just pictures in archived notebooks, and even if I try to copy/paste the code into my own notebook, it doesn’t work.

My second question concerns coloring such a large graph in the Wolfram Language: do you think it could be possible? As I don’t know a built-in function to do that within the Wolfram Language (and I don’t think such a thing exists), I decided to try to color the graph in Python and then upload it into my Wolfram notebook. I created another Python script to make the graph easier to color, and yet another Python script to actually color all the vertices (using Breadth-First Search). The problem was: it didn’t color it with only 5 colors (but with 8)! I made a video about the making of the project, with me explaining why this task is hard for a computer to do, and even some computational complexity theory!

Timecodes: Converting to CSV: 0:00 Generating the Colors: 23:06 Some Math: 42:16 Part I Conclusion: 56:46

this video is long, but even briefly scanning through its several parts gives a thorough impression of Simon’s current math and coding abilities

The project is attempting to visualize the Hadwiger–Nelson problem from geometric graph theory: what is the minimum number of colors required to color the plane (chromatic number of the plane) such that no two points at distance 1 from each other have the same color. It’s an unsolved problem, but we know that the answer is 5, 6 or 7. In 2018, Aubrey de Grey proved that the chromatic number of the plane is at least 5. His smallest unit-distance graph with chromatic number 5 had 1581 vertices. Several smaller graphs have been found since then, a major contribution done by Marijn Heule, who has come up with his own method of reducing the size of graphs. In 2019, Heule constructed the smallest unit-distance graph with chromatic number 5 so far, with 517 vertices. (Side-note: since I decided I’m going to use the 517 graph, I have actually found a smaller Heule graph with 508 vertices, but it was of a data format that I wasn’t able to use anyway). The goal of my project was to color such a graph in Wolfram language, to create a Wolfram Demo.

In Part 2, I tried to code yet another Python script to group the graph into smaller units to make a smaller graph, and color that one, then blow each vertex back into the unit considered.

Link to Simon’s Wolfram Notebook: https://www.wolframcloud.com/obj/9795e37e-aa73-4ae6-8249-81223ffdbc7f Link to my code on GitHub: https://github.com/simon-tiger/Hadwiger-Nelson-Project-Data

Simon reading Marijn Heule’s paper “Computing Small Unit-Distance Graphs with Chromatic Number 5”

Link to Marijn Heule’s paper “Computing Small Unit-Distance Graphs with Chromatic Number 5”: https://arxiv.org/pdf/1805.12181.pdf

Geometry Joys, Math Riddles, Milestones, Murderous Maths, Notes on everyday life, Physics, Simon teaching, Simon's sketch book

The Ladder Problem

Simon saw this thumbnail (by the channel Mind Your Decisions) among the YouTube recommended videos and sat down to solve it, without watching the video, so that he doesn’t see the solution before he comes up with his own.

Simon drawing out the solution in Geogebra
Coding, Crafty, Experiments, JavaScript, Math and Computer Science Everywhere, Milestones, Murderous Maths, Physics, Simon teaching, Simon's Own Code, Simon's sketch book

Galton Board in p5.js

Simon saw a prototype of this Galton Board in a video about maths toys (it works similarly to a sand timer in a see-through container). He created his digital simulation using p5.js online editor, free for everyone to enjoy:

https://editor.p5js.org/simontiger/sketches/h7p-wZCw8

Coding, Computer Science, Good Reads, JavaScript, Math and Computer Science Everywhere, Milestones, Notes on everyday life, Physics, Simon teaching, Simon's Own Code

Crack Simulation in p5.js

Link to the interactive project and the code: https://editor.p5js.org/simontiger/sketches/n6-WZhMC3

Simon built a simple cellular automaton (rule 22) model for fracture. He read about this model a couple nights before in Stephen Wolfram’s “A New Kind of Science” and recreated it from memory.

Stephen Wolfram: “Even though no randomness is inserted from outside, the paths of the cracks that emerge from this model appear to a large extent random. There is some evidence from physical experiments that dislocations around cracks can form patterns that look similar to the grey and white backgrounds above” (p.375).

Curent Events, Electricity, Electronics, Engineering, Physics, Simon's sketch book, Together with sis

Discussing the news: dangers of shorting your mobile

Today we have heard about a new accident involving a teenager electrocuted by her mobile phone. Luckily, this time it was not a lethal case, but a quick search on the web has revealed that this is no joke: several teens have died in just a few years because they were either holding their phone with wet hands while the phone was being charged at the same time, or dropped their phone into the bath tub while the phone was plugged in, or because they were using wired headphones while charging their phone!

At first Simon and I didn’t believe this could be so dangerous, as he knew for sure that a mobile phone adaptor always has a voltage control built into it that reduces the voltage from 220V to something like 5 to 20V. But then we dove into it and found out that apparently, once a short circuit occurs, the adaptor’s voltage control unit also malfunctions and lets the 220V current through!

Simon’s drawing of the adaptor

Biology, Computer Science, Geography, Group, In the Media, Milestones, Murderous Maths, Notes on everyday life, Physics, Trips

World Science Scholars Feature Simon’s visit to CERN in a newsletter. The current course is about neurons. Reading Stephen Wolfram.

Simon’s September visit to CERN has been featured in a World Science Scholars newsletter:

Here’s our update on the World Science Scholars program. Simon has finished the first bootcamp course on the theory and quantum mechanics by one of program’s founders, string theorist Professor Brian Greene and has taken part in three live sessions: with Professor Brian Greene, Professor Justin Khoury (dark matter research, alternatives to the inflationary paradigm, such as the Ekpyrotic Universe), and Professor Barry Barish (one of the leading experts in gravitational waves and particle detectors; won the Nobel Prize in Physics along with Rainer Weiss and Kip Thorne “for decisive contributions to the LIGO detector and the observation of gravitational waves”).

September 2019: Simon at a hotel room in Geneva taking pat in his first WSS live session, with Professor Brian Greene
September 2019: screenshot from Professor Brian Greene’s course module on quantum physics

At the moment, there isn’t much going on. Simon is following the second course offered by the program, at his own pace. It’s a course about neurology and neurological statistics by Professor Suzana Herculano-Houzel and is called “Big Brains, Small Brains: The Conundrum of Comparing Brains and Intelligence”. The course is compiled from Professor Herculano-Houzel’s presentations made at the World Science Festival so it doesn’t seem to have been recorded specifically for the scholars, like Professor Brian Greene’s course was.

Professor Herculano-Houzel has made “brain soup” (also called “isotropic fractionator”) out of dozens of animal species and has counted exactly how many neurons different brains are made of. Contrary to what Simon saw in Professor Greene’s course (mainly already familiar stuff as both relativity theory and quantum mechanics have been within his area of interest for quite some time), most of the material in this second course is very new to him. And possibly also less exciting. Although what helps is the mathematical way in which the data is presented. After all, the World Science Scholars program is about interdisciplinary themes that are intertwined with mathematical thinking.

Screenshots of the course’s quizzes. Simon has learned about scale invariance, the number of neurons in the human brain, allometric and isometric scaling relationships.

Another mathematical example: in Professor Herculano-Houzel’s course on brains we have witnessed nested patterns, as if they escaped from Stephen Wolfram’s book we’re reading now.

screenshot from the course by Professor Herculano-Houzel

Simon has also contributed to the discussion pages, trying out an experiment where paper surface represented cerebral cortex:

The top paper represents the cerebral cortex of a smaller animal. Cerebral cortex follows the same physical laws when folding is applied.

Simon: “Humans are not outliers because they’re outliers, they are outliers because there’s a hidden variable”.

screenshot from Professor Herculano-Houzel’s course: after colour has been added to the plot, the patterns reveal themselves

Simon is looking forward to Stephen Wolfram’s course (that he is recording for world science scholars) and, of course, to the live sessions with him. The information that Stephen Wolfram will be the next lecturer has stimulated Simon to dive deep into his writings (we are already nearly 400 pages through his “bible” A New Kind of Science) and sparked a renewed and more profound understanding of cellular automata and Turing machines and of ways to connect those to our observations in nature. I’m pretty sure this is just the beginning.

It’s amazing to observe how quickly Simon grasps the concepts described in A New Kind of Science; on several occasions he has tried to recreate the examples he read about the night before.

Simon playing around in Wolfram Mathematica, after reading about minor changes to the initial conditions of an idealised version of the kneading process
Simon working out a “study plan” for his Chinese lessons using a network system model he saw in Stephen Wolfram’s book “A New Kind of Science”
Electronics, Engineering, Experiments, Milestones, Physics

More Engineering. RAM Ready in the simulated 8-bit computer project in Circuitverse.

In October and early November, Simon was busy with another attempt to simulate SAP-1 (simple as possible processor, an 8-bit computer) in Circuitverse (something that he hadn’t managed to complete when he tried it last time). I’m not even sure if anyone uses Circuitverse for such large-scale projects.

Main

On November 7, Simon finally managed to finish the RAM on his simulated 8-bit computer (a computer where every general-purpose register contains 8 bits and therefore can only process 8 bits of data)! Although he is far from the end of the project, he is convinced that the RAM is the hardest part, so “now everything is going to be okay!”

“RAM was the hardest mainly because I have been trying to build the subcircuit for the RAM myself, which is not going to do it for SAP-2”,(Simon’s next ambition, also an 8-bit computer but with 64K memory, 2K PROM + 62K RAM). “This time the RAM I needed was particularly small, so I built a mini-RAM myself”.

The most difficult part, half of the mini-RAM. It doesn’t contain 16 bites, it contains 16 4-bit words or “nibbles” of memory

You can view and launch this (unfinished) project via this link: https://circuitverse.org/users/7241/projects/35775

All of Simon’s projects on his Circuitverse page: https://circuitverse.org/users/7241

Simon’s current plan is to record a series of videos based on the Digital Computer Electronics book he uses as a guide in his engineering projects.

Simon compiling a plan (in Microsoft Paint) based on the Digital Computer Electronics book contents

These are some simpler circuits from late September, simulated on Tinkercad:

Test circuit in Tinkercad on 30 September 2019
Test circuit in Tinkercad on 30 September 2019
JK Flipflop to create simple clock module in Tinkercad on 30 September 2019
Coding, Community Projects, Contributing, Experiments, JavaScript, live stream, Machine Learning, Milestones, Physics, Simon's Own Code

Simon’s Random Number Generator

This one’s back from mid-October, forgot to post here.

Simon created a random number generator that generates a frequency, and then picks it back up. Then, it calculates the error between the generated frequency and the picked up frequency. This is one of my community contributions for a Coding Train challenge: https://thecodingtrain.com/CodingChallenges/151-ukulele-tuner.html

Link to project: https://editor.p5js.org/simontiger/sketches/eOXdkP7tz
Link to the random number plots: https://www.wolframcloud.com/env/monajune0/ukalele%20tuner%20generated%20random%20number%20analysis.nb
Link to Daniel Shiffman’s live stream featured at the beginning of this vid: https://youtu.be/jKHgVdyC55M

plot of the random numbers generated by Simon’s ukulele tuner random number generator (plotted in Wolfram Mathematica)