-
Notifications
You must be signed in to change notification settings - Fork 0
/
find-the-quine.html
178 lines (142 loc) · 7.48 KB
/
find-the-quine.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
<!DOCTYPE html>
<html lang="en-US">
<!-- forked from https://github.com/ishanpm/chemlambda-editor, which was previously https://jsfiddle.net/ishanpm/0k98ceha/show
a js version of chemlambda v2 http://imar.ro/~mbuliga/chemlambda-v2.html ,
https://github.com/chorasimilarity/chemlambda-gui/blob/gh-pages/dynamic/README.md,
some small improvements, added a mol library and significant examples
-->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>find a quine</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
.image {border-width:2; padding: 10px 10px; border-radius: 12px; border: 2px solid #f55 }
.image:hover {border-width:2; padding: 10px 10px; border-radius: 12px; border: 2px solid #ff5 }
a:active, a:link, a:visited {color: #f55;}
.flex {
display: flex;
flex-wrap: nowrap;
padding: 1px 26px;
}
.flex .box10 {
width: 10%;
margin: 2px;
text-align: left;
}
.flex .box20 {
width: 20%;
margin: 10px;
text-align: left;
}
.flex .box90 {
width: 90%;
margin: 2px;
text-align: left;
}
.flex .box70 {
width: 70%;
margin: 2px;
text-align: left;
}
span {
color: white;
}
span2 {
color: #ff5;
}
span3 {
color: #f55;
}
.link {
stroke: white;
stroke-width: 2px;
}
.node {
}
.textClass {
stroke: #323232;
fill: white;
font-family: "Lucida Grande", "Droid Sans", Arial, Helvetica, sans-serif;
font-weight: normal;
stroke-width: .5;
font-size: 14px;
}
body {
background-color: black;
}
#svgdiv .svg {
border: 2px solid #888
}
</style>
</head>
<body id="container">
<script src="d3.v5.9.4.min.js"></script>
<script src="jquery.min.js"></script>
<div style="padding: 8px 26px;"><span2>
<select class="image" id="listofmols" onchange="molSelect()">
<option value="random_10_quine_bubbles">new random 10 nodes graph
<option value="10_quine_bubbles">original 10_nodes quine
<option value="shuffle_10_D870619BC345AE2">10 nodes quine 1
<option value="shuffle_10_0A8E7D9132C546B">10 nodes quine 2 = [A-L-FI-FO 245013]
<option value="shuffle_10_5681ECD297AB304">10 nodes quine 3 (reload if it dies)
<option value="shuffle_10_035B17C469E82AD">10 nodes quine 4 (reload if it dies)
<option value="shuffle_10_3D25C769B1E804A">10 nodes quine 5 (reload if it dies)
<option value="shuffle_10_D35C680B7AE2149">10 nodes quine 6 (reload if it dies)
<option value="shuffle_10_2AC4D156E30789B">10 nodes quine 7 (reload if it dies)
<option value="shuffle_10_DAB62013EC87459">10 nodes quine 8 (reload if it dies)
<option value="shuffle_10_018C23A7B6E49D5">10 nodes quine 9 (reload if it dies)
<option value="shuffle_10_8C72046E53B9DA1">10 nodes quine 10 (reload if it dies)
<option value="shuffle_10_6AC0379E12D5B48">10 nodes quine 11 (reload if it dies)
<option value="shuffle_10_8639A7BC024DE51">10 nodes quine 12 (reload if it dies)
<option value="shuffle_10_04C92C86BE5A317">10 nodes quine 13 (reload if it dies)
<option value="shuffle_10_0368BCDE2541A97">10 nodes quine 14 (reload if it dies)
<option value="shuffle_10_A3E2974C16B85D0">10 nodes quine 15 (reload if it dies)
<option value="random_egg_A_L_FI_FO">new random 4 nodes graph A-L-FI-FO
<option value="spark_243501">quine from [graph A-L-FI-FO 243501]
<option value="spark_234501">quine from [graph A-L-FI-FO 234501]
<option value="spark_214530">quine from [graph A-L-FI-FO 214530]
<option value="spark_301542">dirty quine [graph A-L-FI-FO 301542]
<option value="9sparkhybrid">9 [graph A-L-FI-FO 243501] hybrid
</select> number of nodes (max. </span2><span2 id="maxnodenumber">256</span2><span2>): </span2> <span2 id="nodenumber"></span2>
</span2>
</div>
<div class="flex">
<div class="box70"> <span id="svgdiv"> </span> <br>
<div style="padding: 8px 26px;"><span2>CODE: </span2><span id="molyoulookat"></span>
</div>
<div style="padding: 8px 26px;">
<span2> You play by generating a random graph (out of 9 billion possibilities). Any such random graph is obtained from the original 10_nodes quine, by random permutations of sources and targets of the directed edges of that graph.</span2> <span>Use mouse to zoom/drag or hover over nodes to trigger transforms, or just hit "start" and "stop" buttons.</span>
</div>
<div style="padding: 8px 26px;"> <span2>Is it a quine?</span2> <span>A chemlambda quine is a graph which has periodic evolution under the greedy algorithm of chemlambda rewrites. See also the page
</span> <a href="http://imar.ro/~mbuliga/more-quines.html" target="_blank">chemlambda quines and random eggs</a> <span> for more quines and for a similar but smaller experiment concerning quines generated by one of the 720 graphs with 4 nodes A-L-FI-FO.
</div>
<div style="padding: 8px 26px;">
<span2> Think about the graph as if it is alive.</span2> <span> Is it? If it does nothing, then is dead. If it grows fast and builds a repeated pattern, then is not interesting. If it grows a little, then it keeps more or less the same, or it has some parts which grow and some parts which shrink, so there seems to be a balance between growing and shrinking, then you hit the jackpot.</span>
</div>
<div style="padding: 8px 26px;">
<span2>It is OK if the creature lives a while and then it dies.</span2> <span> After all, the 10_quine is mortal. 15 new quines were found up to now and a new fact was discovered about the 10_nodes quine: <a href="https://chorasimilarity.wordpress.com/2019/08/03/10-node-quine-can-duplicate/" target="_blank">it can reproduce</a>. In order to check they are truly alive, use "reload" and "start" and "stop" several times, to see if they live long enough. However we just found also an immortal quine, which also comes from one of the 720 possible eggs.</span>
</div>
<div style="padding: 8px 26px;">
<span2>Attention!</span2> <span> When you hit "load" a "new ... random graph", each time you get a new one. If you want to reload the same random graph again, then use the "reload" button.</span>
</div>
<div style="padding: 8px 26px;">
<span2> If you find something</span2> <span> that you think is alive, then copy-paste the "<a href="http://imar.ro/~mbuliga/chemlambda-and-hapax.html" target="_blank">code</a>" of the creature and send a mail to <a href="http://imar.ro/~mbuliga/index.html" target="_blank">Marius.Buliga@imar.ro</a>. You see the code when you load.</span>
</div>
<div style="padding: 14px 26px;">
<a href="http://imar.ro/~mbuliga/pages.html" target="_blank"> play with other pages </a></div>
<div style="padding: 8px 26px;">
<span2> credits:</span2> <span> based on this <a href="https://github.com/ishanpm/chemlambda-editor" target="_blank">js version</a> of the <a href="https://github.com/chorasimilarity/chemlambda-gui/blob/gh-pages/dynamic/README.md" target="_blank">chemlambda v2</a>.</span>
</div>
</div>
<div class="box10"><button class="image" onclick="molSelect()"><span3>load</span3></button><br><br>
<button class="image" onclick="reloadCode()"><span3>reload</span3></button><br><br>
<button class="image" onclick="setSpeed(1)"><span3>start</span3></button> <br><br>
<button class="image" onclick="setSpeed(0)"><span3>stop</span3></button></div>
<div class="box20"><span>MOL NOW: </span> <br> <br> <span id="molexport"></span></div>
</div>
<br> <br>
<script src="molLib.js"></script>
<script src="find-the-quine.js"></script>
</body>
</html>