Book
At 17:12, I bought the book Monumenta 2011 written by Anish Kapoor and
Jean de Loisy (in French and some English), edited by Jean de Loisy, and
published by RMN Editions in 2011,
ISBN:9782711858170, from thrift store Het Goed
for € 1.50.
OfferZen package
At the end of the afternoon, I received a package from OfferZen for the Make Event
on June 24.
A former colleague pointed me to the virtual meetup
AGL: when a regular expression is not enough about
AGL: A Grammar Language by Dr. David H. Akehurst on
the Strumenta Community: A Software
Language Engineering community organized by Federico Tomassetti, the founder of Strumenta. The AGL
Editor Demo is impressive with respect to syntax colouring and help.
Althought the author claimed that the AGL parser is interpreted at runtine,
i.e. has no generate parser step, it actually has a just-in-time parser
generator, which constructs an 'automaton' that is used to parse the input.
AGL uses a GLR based parsing
algorithm. I understand that the construction of the 'automaton' is rather
complex, especially if you do it on the fly in a lazy manner. I am using a
much simpler approach in IParse, which interprets
the grammar directly (except for some regrouping to support left-recursion).
Whereas the AGL parser does not back-track over the input, IParse does
back-track over the input, but still proves fast enough as a parser for
small languages.
Border poles
Since the first of June, the Netherlands is no longer a
Hochinzidenzgebiet with respect to COVID-19, which means we can enter the country without having a recent
test that shows we are not infected. Conny and
I took the opportunity to continue our search for border poles: We found the following poles:
- At 13:43, pole 18-IV. (Not really a pole but a plate on the ground.)
- At 14:14, pole 21.
- At 14:46, pole 22-I.
Product of directed graphs
I am thinking about a puzzle problem and want to find an algorith to solve a
certain problem. I am going to make an attempt to formalize the problem. It
is related to directed graphs where the vertices are labled with values from
a fixed alphabet. Lets start defining the set of all directed graphs:
FiniteDirectedGraphs
= { { "V" : V, "E" : E }
| V in FiniteSets and
E subset { (v1, v2) | v1 in V and v2 in V }
}
To label the vertices, we first need to define the set of all functions over
a given domain:
FiniteFunctionsForDomain(D in FiniteSets)
= { F | size F = size D }
where F = { { d : c } | d in D and c in Any}
With this we can define the set of all labled directed graphs:
LabledFiniteDirectedGraphs
= { { "G" : G, "L" : L }
| G in FiniteDirectedGraphs and
L in FiniteFunctionsForDomain(G."V")
}
Now we can define a kind of product of two labled directed graphs, like:
Matching(G1 in LabledFiniteDirectedGraphs,
G2 in LabledFiniteDirectedGraphs)
= { "G" :
{ "V" : { (v1,v2)
| v1 in G1."G"."V" and v2 in G2."G"."V" and
G1."L".v1 = G2."L".v2
},
"E" : { ((v11,v12), (v21,v22))
| (v11,v21) in G1."E" and (v12,v22) in G2."E"
}
},
"L" : { (v1,v2) : G1."L".v1 }
} in LabledFiniteDirectedGraphs
I would like to define something as sequence equivalence, where the sequences
of lables that can be produced by any walk over a labled directed graph is
equal to that of another graph. First we define the set of all directed paths
of a directed graph and with this we define the sequences:
DirectedPaths(G in DirectedGraphs)
= { (v[1], .., v[n])
| ForEach i in NatNum
(1 <= i and i < n implies (v[i],v[i+1]) in G."E")
}
Sequences(G in LabledFiniteDirectedGraphs)
= { (G."L".v[1], .., G."L".v[n])
| (v[1], .., v[n]) in DirectedPaths(G."G")
}
Now we can define what it means that two graphs a sequence equivalent:
SequenceEquivalent(G1 in LabledFiniteDirectedGraphs,
G2 in LabledFiniteDirectedGraphs)
= Sequences(G1) = Sequences(G2)
Now, one could argue that such a test is impossible to execute, because one
would have to compare an infinite set of sequences, but I believe it is
sufficient to test this for all sequences that are one longer than the
largest number of vertices of one of the two graphs. Maybe, there are even
beter ways to check the equivalence, for example, if one could construct a
correspondance relationship between the two set of vertices and somehow
prove that the graphs are isomorphic with respect to the lables of the
vertices. The algorithm, I am looking for, is an algorithm that finds a
smallest sequence equivalent labled directed graph of given labled direct
graph, where smallest is defined by the number of vertices.
This afternoon, Conny and I walked along
the dirt road Vrijdijk in Denekamp and which lies along the border with Germany. The name Vrijdijk
(Dutch for free dike) refers to the fact that the Count of Bentheim and the Bishop of Utrecht at one point declared the area a no man's land that
should be left untouched. We found the following border poles:
- At 11:53, pole 24-I.
- At 12:02, pole 24.
- At 12:22, pole 26.
- At 12:41, pole 26-III.
- At 12:50, pole 26-II.
- At 13:13, pole 26-I.
Correction
I realized I have made a mistake in the sequence equivalence
definition. It should not be about finite sequences, but about all
infinite sequences. And I believe it is sufficient for all cyclic directed
paths. This results in the following definitions:
CyclicDirectedPaths(G in DirectedGraphs)
= { (v[1], .., v[n])
| ForEach i in NatNum
(1 <= i and i < n implies (v[i],v[i+1]) in G."E")
and (v[n],v[1]) in G."E"
}
Sequences(G in LabledFiniteDirectedGraphs)
= { (G."L".v[1], .., G."L".v[n])
| (v[1], .., v[n]) in CyclicDirectedPaths(G."G")
}
(I have to admit that I am still wrestling with the syntax and the semantics I
am using in these specifications. The idea is that it should be close to some
mathematical notations, but these notations are often hard to interpret. The
equal sign in the above notation can both mean equality and definition
depending on the context. Maybe it is better to use a more explicit syntax
for definition using the keyword define and at. The same is
true for the set notation with the vertical bar.) If a directed labled graph has vertices with no
outgoing and/or no incoming directed edges, those vertices can be removed
without affecting the sequence equivalence. Probably another technique to find
a smaller but sequence equivalent graph is to find a mapping between vertices
that can be joined together with their incoming and outgoing edges. Of course,
the question is whether this always leads to a minimal solution. Another
question is whether there always exists a unique minimal solution or not.
Solar eclipse
At 12:22, Conny and I went outside to
have a short look at the solar eclipse, which at our location was only a partial eclipse with
about 17% cover around that time.
Exhibitions
This afternoon, I went to have a look at the exhibitions at Concordia. I first watched the exhibition Ik ben Ik
(Dutch for: I am I), which is aimed at children. But I still found it
interesting. I was not so much interested in the exhibition upstairs. The
exhibition André Smits: Artist in The World was held in the
hallway. Both sides of the walls were filled with a drawing by André
Smits, a traveling artist who takes pictures of artists. His website is
called Artists in the World:
Never Ending Art Trip. The wall also included names of local artists and one
work from each of them. I saw a work by Willemijn Calis. I found the work by Wout Zweers quite interesting. It took me some time to figure out how he
had made it: it is a kind of magic trick.
Hunenborg
Conny and I visited Hunenborg, a ring walburg
along the Almelo-Nordhorn Canal near Volthe in the municipality of Dinkelland in Overijssel. The whole consists
of the wooded remains of a main castle and an outer castle that is barely
visible. The high burg is an oval-shaped site of approximately 100 by 150
meters with a moat around it. On the outside of the moat is a small elevation,
on the inside an earthen wall has been built. We parked the car on the North
side of the canal and walked through the burg into a farm field. From this we
walked a long a road back to the canal. On the way home, we also stopped near
Oldenzaal to search for some Marke stones. At
13:08, we found the marke stone called 'Steen in het veld' (20.24-02). We also
found out that the other marke stones in the area are not accessible.
30.2° Celsius
The temperature at Twenthe Airport went up to
30.2° Celsius, which breaks the previous record of 29.9° for the
temperature on this date in 1966. The predicted temperature according to the
prediction at the start of the day, was 29.4° Celsius. This was the first
local tropical day of the year.
33.6° Celsius
The temperature at Twenthe Airport went up to
33.6° Celsius, which breaks the previous record of 31.3° for the
temperature on this date in 2002. The predicted temperature according to the
prediction at the start of the day, was 34.0° Celsius. This was the first
national tropical day of the year.
Graduation presentation
This morning, Annabel gave her graduation
presentation (online) for her Industrial Product Design major. She got an
eight (on a scale of one to ten) for her graduation project, thesis, and
presentation. She came up with a clever solution for an interesting engineering
problem and I am proud of her achievement.
In the evening, I joined the self watering plant workshop organized by
OfferZen Make in cooperation with
TkkrLab. I had not done
the preparation of the event. And I also had some problems interpretting
the schematics in the documenation, but I managed to get the hardware setup working (which
still needs some programming) and even build the Rubber Ducking Brick Set
(by Tico Mini
Bricks).
AKI MUPI route 2021
In the past week, I worked on finding a route to bike along all the MUPIss
that contain a picture of a work by one of this years graduates of
the AKI. I implemented the algorithm from
last year in the TSP solver page using JavaScript. With this, I established a shortest
route and from this shortest route, with some small modifications, I created
a round trip using Google Earth along all the MUPIs where you can start at any place. (Open
route in Google Maps.)
AKI Finals 2021
This morning, I went to the AKI finals 2020/2021 exhibitions at the AKI building. I found
the works of the following graduated students noteworthy (in the order I
encountered them):
At 11:35, I bought the book Contrast: AKI 2020 Catalogue + AKI 2021
Catalogue edited by Johan Visser, written in Dutch and English published
by AKI Academy of Art & Design on Tuesday, June 25, 2019,
ISBN:9789075522419 for € 15.00.
Visiting all MUPIs
Today, I biked the the route
(in Google Maps) I created the day before yesterday. I followed the route
by heart and I did not miss any MUPI. I came across two locations where the
road was broken up and where I had to bike over the pavement.
Self watering plant
This weekend, I already installed the self
watering plant in the windowsill of the kitchen and I saw how it pumped
water because the tube connecting the glass with water and the plant was
filled with water. When I refilled the glass, I noticed that the plant pot was
overflowing due to the communicating vessels effect. I used to tube to drain the water and
placed the put a little higher than the glass, such that it could not happen
again. Since than, I have not seen any evidence of the pomp working again.
I also installed a 24 hours mechanical electric timer switch to power the
device only between seven and eight in the morning. The Arduino code I am using, boils down to:
int secToWait = 0;
void setup() {
pinMode(A0, INPUT);
pinMode(D7, OUTPUT);
pinMode(D6, OUTPUT);
}
void loop() {
if (--secToWait <= 0)
{
secToWait = SEC_TO_WAIT;
digitalWrite(D7, HIGH);
delay(100);
int analogValue = analogRead(A0);
digitalWrite(D7, LOW);
if (analogValue > 500)
{
digitalWrite(D6, HIGH);
delay(1000);
digitalWrite(D6, LOW);
}
}
delay(900);
}
Some little basil sprouts already have appeared.
Book
I recieved the book Commissioned: Sixty years percentage for art programme
at the Dutch government building agency edited by Hans van den Ban, written
in English, published by Sun Uitgeverij in November 2011, translated by Peter
Mason from In Opdracht,
ISBN:9789461051639, which I had bought on Monday, June 28, 2021 at 18:08 from
GMSbooks for € 11.00.
This months interesting links
Home
| May 2021
| July 2020