Ready Player One
This afternoon, I went to see the movie
Ready
Player One. The movie was better than I had expected. Yes, it was full of
action, but it was not all over the top. The story also felt believable,
probably because it is based on a book, although I understand that the plot
differs from the book. Also the many references (easter eggs) to movies and
games made it interesting.
© Heidi Ulrich
|
TkkrLab: Gigatron
I took the Gigatron micro-computer with me
to show it at the office and to have it photographed at TkkrLab. One of the
photos is shown here on the right. I spend some time studying the Python
script in the Core folder of Gigatron ROM project at GitHub. I could not make much sense of it.
5 solutions for 9 with 19 integers
In the past month, I worked on a new
program for finding solutions for the the
Irregular Chocolate Bar problem. In the past two weeks, I did not do much
with it, but this afternoon, I decided to give it a try with a simple change.
After running for some hours, it found the following five solutions for 9 with
19 integers:
1 51 85 89 95 111 115 120 124 130 150 155 160 165 169 185 191 195 229
6 56 84 85 95 115 116 119 120 130 150 155 160 164 165 185 195 196 224
41 49 76 85 95 99 115 120 121 130 150 155 159 160 165 181 185 195 239
21 56 69 85 95 101 115 119 120 130 150 155 160 161 165 179 185 195 259
26 61 62 78 97 103 106 111 113 134 138 142 146 169 177 183 202 218 254
I took the idea of the new program by looking at a solution for 7 and putting
the numbers into a matrix of 6 columns and 7 rows, such that the rows summed
up to 60 and the columns up to 70. Each cell is either empty or contains
exactly one number. Now it turns out that there are many solutions that have
the same pattern with filled and empty cells (when normalized). The columns
and rows can be sorted such that the number of filled cell in each row of
column increases or stays the same. The program consists of three nested
'loops'. In the outer loop the program tries all possibilties of numbers of
filled columns and columns. In the middle loop, given the number of cells that
need to be filled in each row and column, if finds every possibility to empty
and filled cells. Before continueing, the program checks if the solution is
unique by permuting all columns and rows (with same number of filled cells) to
see if it already appeared. If this is the case, the third and last loop tries
to find numbers matching the pattern of filled cells, such that the columns
and rows add up to the correct numbers. Before this, it does figure out a
strategy, to fill the cells that need to be filled. The strategy is nothing
else than an order in which they are filled. After they are filled, the
solution is checked with a new (and much faster) knapsack algorithm.
Book
At 14:42:10, I bought the book Paralipomena Orphica written by Harry
Kurt Victor Mulisch in Dutch, with an interaction by Marita Theodora Catharina
Mathijsen, edited by Margot Engelen, and published by B for Books in 2016,
ISBN:9789085164357, from thrift store Het Goed
for € 0.95.
Going into the city
I went into the city with Andy. After visiting
McDonalds, we went to a toy shop, because Andy
wanted to look at DVD's. He did not find many at one place and we asked an
attendant if there were more. He said that what we had seen was all and that
this was due to Netflix. We walked to Concordia to see the exhibition Robson Ateliers. I asked Andy what he saw in the
paintings and objects. He gave interesting answers, but wanted to leave
quickly. Next we went to bookshop Broekhuis.
At 15:28:28, I bought the following two photo-books from sale of art books for
€ 5.00 each:
- Norami: Klaus Mitteldorf Photographs with photographs by
Klaus Mitteldorf,
text written by Valdir Zwetsch (in Brazial Portugese, German,
and English), edited by Helga Maria Miethke, and published by
Rotovision SA in 1989,
ISBN:9782880460921.
- Szenische Akte: Angelika Vogel written and photographs by Angelika Vogel
written in German
published by Verlag Photographie in 1986,
ISBN:9783723161005
Next he wanted to go to the Public Library for looking at all the DVD's.
At around 15:48 at the Public Library (Centrale Bibliotheek Enschede), I bought
the book Vrouwen en Liefde: Een culturele revolutie in ontwikkeling
written by Shere Hite,
translated from English to Dutch by Wineke Boegborn and Anki Klootwijk from
Women in Love: A Cultural Revolution in Progress, published by Sesam in
1990, ISBN:9789024647477, for € 1.00.
Magnolia
The first flowers of our magnolia have opened
today. Yesterday, they almost opened. This weekend it is the first time this
year we have temperatures above 20°C. In March we had some very cold
periods and I hope they will not happen again.
The Gigatron TTL micro-computer has a
Harvard
architecture, which means that instructions and data are not accessed in
the same ways as in the now commonly used Von Neumann architecture. The Gigatron has no instruction for reading
data from the ROM, which only contains instructions (and their operands).
This evening, I discovered that there is a very clever trick by which it is
possible to read data from ROM by clever use of the two step instruction
pipe-line and the fact that the pipe-line is not cleared during a jump/branch.
This means that the Gigatron will always execute the instruction following the
jump expression. The trick is to use a jump instruction to a location in the
ROM where there is a load immeditate instruction (loading the data in the
accumulator) and let this follow by another jump instruction to (for example)
the next memory location. This causes the load immediate instruction to be
executed when the program counter has returned to the next memory location.
See the following table for a step-by-step flow of events, where the 'normal'
flow of execution starts at 0x0804 and the data is stored at 0x0870.
Program counter | Instruction being fetched | Instruction being execute |
0x0804 | jump to 0x0870 | previous instruction |
0x0805 | jump to 0x0806 | jump to 0x0870 |
0x0870 | load immediate | jump to 0x0806 |
0x0806 | some instruction | load immediate |
Of course, this idea is only usefull when the address of the location of the
load immediate instruction (0x0870) can be calculated. There are indeed jump
(branch) instructions where this is possible. Note that the load immediate
instruction could also be replaced by some other instruction (as long as it
is not a jump/branch instruction).
Cosey Fanny Tutti
This morning, I finished reading the auto-biography
Cosey Fanny Tutti (by herself), which I started reading on March 19, the day after I
bought the book. It was an interesting read. A red
thread in the book is her complicated relationship with Genesis P-Orridge, who is called Gen in the book.
Some days ago, I started the new program for the the Irregular Chocolate Bar problem for finding solutions for 10. Today,
I saw that it found solutions with 22 integers. Not surprising, because
last September, I already found 885 such solutions.
It seems that there are no solutions with 21 integers, as the program started
searching from 20 integers. Below one of the solutions (with 22 integers) that
the program found, is given. This solution is not included in the 885 solutions
that were found last year. I am not really surprised about this and expect that
the progam will find many more such solutions.
10 set: 10 28 33 38 45 52 53 73 80 81 102 108 115 137 143 150 172 199 200 207 242 252
6 buckets with 420: 45+143+199+33 172+108+102+38 28+242+150 200+73+137+10 252+115+53 80+52+207+81
7 buckets with 360: 172+53+102+33 207+115+38 200+10+150 45+73+242 28+52+81+199 80+137+143 252+108
8 buckets with 315: 45+199+38+33 28+137+150 80+52+81+102 252+53+10 73+242 200+115 172+143 108+207
9 buckets with 280: 52+45+150+33 242+38 115+53+10+102 81+199 137+143 207+73 172+108 80+200 252+28
10 buckets with 252: 108+73+38+33 102+150 242+10 199+53 137+115 28+143+81 207+45 200+52 80+172 252
Easter Egg in the Gigatron
While showing the Gigatron TTL microcomputer
to some family members, I hit upon an animation that I had not seen before and
that to my knowledge has not been published. I conclude that this must be
Easter Egg build
into the ROM by Marcel and
Walter. I have not yet discovered the exact steps to activate the Easter
Egg, but I was able to activate it a second time. I found nothing in the
gigatron-rom at GitHub
related to the Easter Egg, which seems to imply that the ROM is either
different version than the one published there (or that the target files
published there are different that the ones produced by the sources). Have fun
with you Easter Egg hunt!
Addition Saturday, April 14: I got an email from Marcel informing me
that I was the first one to have reported the Easter Egg and that even Walter
did not know anything about it.
China Dreams
I saw the exhibition
China Dreams by Willemijn Calis at XPO. The works on
display were made during her trip to Dalin, China. I found one of the works
quite interesting and contacted her.
Books
At 16:32:40, I bought the following two books from thrift store Het Goed:
- Deeltijdopleiding Fine Art Enschede 2011 written in Dutch for
€ 0.95.
- Welchen soll ich nehmen? written by Eva Heller in German and
published by Ullstein in 2003,
ISBN:9783550084157, for € 1.95.
AKI takes over
In the afternoon, I went to see the exhibition
AKI takes over: "Hotel Bella Arte" at the University of Twente with
works by Nils Leibeling and Jelle van Assem.
At two meter, the maximum temperature at weather station at Twente Airport
was 28.7° Celsius and at 10 cm it was 29.9°. It would not surprise me
if these are record high temperatures for this day of the year. Most flowers of
our magnolia have fallen off. A tulip has
opened in the back garden.
Coloured rubber straps
About two weeks, I bought a ball of coloured rubber straps, with the intent
to use as hair rubber straps. I got the idea to use two straps with different
colours every day from a set of five colours. I also do not want to wear the
same colour on two consecutive days. I reasoned that there must be a sequence
of ten combinations that I could follow (because there are ten combinations
of five colours). When I wrote a program to count all the solutions, I
discovered that there was none. Next, I searched for a solution of twenty
combinations where each combination is included twice, and I found many. In
search of an elegant solution, I wanted to avoid solutions where some colour
is not used for some time or used on a long sequence of alternating days.
Then I realized that I also did not want to wear a certain combination on days
that are close together. However, in each solution of twenty combinations,
there was a combination that appeared only three days apart. While thinking
about this, I realized that the combinations are like the vertices in
the Perterson graph.
This also explains why there was no solution for ten combinations, because
the Peterson graph has no Hamiltonian cycle. I wondered whether anybody ever studied the existence
of paths that visit each vertex exactly n-times, a generalisation of
Hamiltonian cycles (for which n equals 1). Maybe one reasons is that many
graphs that do not have a Hamiltonian cycle do have a cycle which visits each
vertex twice, and/or that there exists a rather simple constraint for which
a graph contains a cycle that exactly visits each vertex n times. But adding
the requirement that each there must be at least k vertices between two
consecutive visits, may make it interesting. One could even state that
fraction k+1 divided by the number of vertices defines the Hamiltonianess.
When I tried to find an elegant solution on paper, I realized that there was an
error in the part of the algorithm that calculated the distance between
reoccurences of the same combination of coloured straps. When I corrected the
algorithm, it counted 60 solutions with at least seven other combinations
between each combination. The solution I had found on paper, was on of the 60
solutions found by the program. I strongly suspect that all solutions are
basically the same, with the colours and the starting position permutated,
because there are 10 combinations and 3! ways in arranging the neighbours of
a certain combination. I wrote a small fragment of JavaScript to calculate, which combination to wear on the coming ten
days (from today). (I am not going to publish the program, because it seems I
could have figured out everything on paper.)
Peterson graph
I thought about making a pendant of the Peterson graph. I had something like
the Petersen Graph Pendant in mind, and I thought about making it from a
copper wire. Then I wondered if it would be possible to make it out of a single
copper wire, where each edge is visited twice in opposite direction. At home
I adapted the program I wrote two days ago, because
trying this by hand seemed too complicated, and it found 960 'different'
solutions of 30 combinations where the minimal distance between two occurences
is five. No solutions with a greater minimal distance were found by the
program. Five is two less than seven as found with the solution with 20
combinations. I also discovered that 720 of these solutions have five
combinations occuring just five positions from each other, and 240 solutions
with only three combinations occuring just five positions from each other.
There was no further subdivision with respect to the occuring distances between
combinations. It would not surprise me if there are basically only a few (two
or four) solutions. I have not yet decided whether I am going to switch to the
sequence of 30 combinations. Luckily, I can delay the decision till the
thirtieth of the month because I found a solution that is similar until that
day. The combinations for that sequence are displayed below:
Book
At 09:31, I bought the book Sur Place, Catalogus / Catalogue edited by
Maria Anne van Dijk, written in Dutch and English, and published by Fortis
Stichting Kunst en Historisch Bezit in 2007,
ISBN:9789090216461, from thrift store Het Goed
for € 3.50.
This months interesting links
Home
| March 2018
| May 2018