A puzzle
I have invented it, long ago. It's a test how clever a class or a community is.
Say, you have all white chess pieces on a chessboard. How many connections can they have at the most. A connection is when a piece is "attacking" or "covering" another piece. If this piece is "shooting" back, it's already two connections there between the two.
In the initial position there are 20 connections. 4 by the rooks, 4 by the bishops, 2 by the knights, 5 by the queen, 5 by the king.
Just give me the maximal number.
Rationality Quotes March 2012
Here's the new thread for posting quotes, with the usual rules:
- Please post all quotes separately, so that they can be voted up/down separately. (If they are strongly related, reply to your own comments. If strongly ordered, then go ahead and post them together.)
- Do not quote yourself
- Do not quote comments/posts on LW/OB
- No more than 5 quotes per person per monthly thread, please.
Packing savant program
As I've already mentioned here before, our small goal is to built a program which only purpose is to search and submit new, previously unknown dense packing achievements to the Internet without any human intervention except to start it and to provide the hardware, power, internet connection and such. Every solution is the program's creation and innovation.
It has been done. A small program is "scavenging" over the www.packomania.com and reading the best packing solutions there. It tries to find a better one. If it succeeds in 8192 seconds, then the program publishes the result on the http://www.algit.eu/htmlji/Packntile/Packing_Contest_01052010.html and sends it to Eckard Specht http://hydra.nat.uni-magdeburg.de/ by an email.
(Well this emailing has been cut out already as unnecessary. Packomaia is updated from our site, directly, by mister Specht.)
If there is no new better solution in those 8192 seconds, a new random problem is selected and pursued by the program. The program (formerly known as Pack'n'tile) also doesn't care if the current target solution is its own or of a human. Neither if its previous effort on that particular problem was not successful. Or if it was. He doesn't remember it, anyway.
For now, there will be only one instance of the program somewhere near us. It is fast and powerful enough to run on a modest PC computer for a solution per day. It would took decades to populate this large searching space of various dimensions, shapes and numbers predominantly by its solutions, but the impact is already visible. Of course, more and faster CPUs will be provided for the job, eventually.
We don't want to take the fun out of the game. On the contrary, the solutions are the most important and we are providing them.
Automatic programming, an example
Say, that we have the following observational data:
| Planet | Aphelion 000 km |
Perihelion 000 km |
Orbit time days |
| Mercury | 69,816 | 46,001 | 88 |
| Venus | 108,942 | 107,476 | 225 |
| Earth | 152,098 | 147,098 | 365 |
| Mars | 249,209 | 206,669 | 687 |
| Jupiter | 816,520 | 740,573 | 4,332 |
| Saturn | 1,513,325 | 1,353,572 | 10,760 |
| Uranus | 3,004,419 | 2,748,938 | 30,799 |
| Neptune | 4,553,946 | 4,452,940 | 60,190 |
| Pluto | 7,311,000 | 4,437,000 | 90,613 |
The minimal, the maximal distance between a planet and the Sun (both in thousands of kilometres) and the number of (Earth) days for one revolution around the Sun. Above is only the empirical data and no binding algorithm among the three quantities. The celestial mechanics rules which go by the name of the Kepler's laws. Can those rules be (re)invented by a computer program and how?
The following program code will be put into a simulator:
//declarations of the integer type variables
$DECLAREINT bad perihelion aphelion orbit guess dif temp zero temp1
//table with the known data in a simulator friendly format
$INVAR perihelion(46001) aphelion(69816) orbit(88)
$INVAR perihelion(107476) aphelion(108942) orbit(225)
$INVAR perihelion(147098) aphelion(152098) orbit(365)
$INVAR perihelion(206669) aphelion(249209) orbit(687)
$INVAR perihelion(740573) aphelion(816520) orbit(4332)
$INVAR perihelion(1353572) aphelion(1513325) orbit(10760)
$INVAR perihelion(2748938) aphelion(3004419) orbit(30799)
$INVAR perihelion(4452940) aphelion(4553946) orbit(60190)
$INVAR perihelion(4437000) aphelion(7311000) orbit(90613)
// variables orbit and bad can't be touched by the simulator
//to avoid a degeneration to a triviality
$RESVAR orbit bad
//do NOT use if clause, while clause do not set direct numbers ...
$RESCOM if while val_operation inc_dec
//bad is the variable, by which the whole program will be judged
//a big value of bad is bad. By this criteria programs will be wiped out
//from their virtual existence. A kind of anti-fitness
$PENVAL bad
//do show the following variables when simulating
$SHOWVAR bad,orbit,guess,dif
//penalize any command with 0 (nothing) and every line by 1 point
$WEIGHTS commands=0 lines=1
//minimize the whole program to 20 lines or less
$MINIMIZE lines 20
$BES
//the arena, where algorithms will be
//created and the fittest only will survive
$EES
//testing area where the simulator has no write access to
//here the bad (the penalized variable) is calculated
//bigger the difference between the known orbit and the variable guess
//worse is the evolved algorithm
dif=orbit-guess;
dif=abs(dif);
bad=dif;
temp=dif;
temp*=10000;
temp1=temp/orbit;
temp=temp1*temp1;
bad=bad+temp;
//end of the testing area
After several hours the following C code has been evolved inside of the $BES - $EES segment.
aphelion=perihelion+aphelion;
aphelion=aphelion+aphelion;
aphelion=aphelion+aphelion;
guess=12;
aphelion=aphelion>>guess;
temp=aphelion/guess;
aphelion=aphelion-temp;
dif=sqrt(aphelion);
aphelion=guess|aphelion;
aphelion=aphelion*dif;
aphelion=guess^aphelion;
guess=aphelion/guess;
What the simulator does? It bombards the arena segment with a random C commands. Usually it then just notices a syntax error and repairs everything to the last working version. If everything is syntactically good, the simulator interprets the program and checks if the mutated version causes any run-time error like division by zero, a memory leak and so on. In the case of such an error it returns to the last good version. Otherwise it checks the variable called "bad", if it is at least as small as it was ever before. In the case it is, a new version has just been created and it is stored.
The evolutionary pressure is working toward ever better code, which increasingly well guesses the orbit time of nine planets. In this case the "orbit" variable has been under the $RESVAR clause and then the "gues" variable has been tested against the "orbit" variable. Had been no "$RESVAR orbit" statement, a simple "guess=orbit;" would evolve quickly. Had been no "$RESVAR bad" statement a simple "bad=-1000000;" could derail the process.
Many thousands of algorithms are born and die every second on a standard Windows PC inside this simulator. Million or billion generations later, the digital evolution is still running, even if an excellent solution has been already found.
And how good approximation for the Kepler (Newton) celestial mechanics of the Solar system we have here?
This good for the nine planets where the code evolved:
| Planet | Error % |
| Mercury | 0.00 |
| Venus | 0.44 |
| Earth | 0.27 |
| Mars | 0.29 |
| Jupiter | 0.16 |
| Saturn | 0.65 |
| Uranus | 0.10 |
| Neptune | 0.79 |
| Pluto | 1.08 |
And this good for the control group of a comet and six asteroids:
| Asteroid/Comet | Error % |
| Halley | 1.05 |
| Hebe | 1.37 |
| Astraea | 1.99 |
| Juno | 3.19 |
| Pallas | 1.66 |
| Vesta | 2.49 |
| Ceres | 2.02 |
Could be even much better after another billion generations and maybe with even more $INVAR examples. Generally, you can pick any three columns from any integer type table you want. And see this way, how they are related algorithmically. Can be more than three columns also.
The name of the simulator (evoluator) is Critticall and it is available at http://www.critticall.com
[META] Karma, its positive and negative component
I'd like to see, beside the cumulative karma as it is now, also its analytic. Does my 0 points somewhere means no upvotes and no downvotes or +7 and -7, for example?
A timeline graph would also be appreciated.
[LINK]The Edge's yearly question
What is your favorite explanation?
http://www.edge.org/responses/what-is-your-favorite-deep-elegant-or-beautiful-explanation
And what's yours?
EDIT: I mean yours of those at edge.org - and/or yours which you will explain here.
Who's in the AI business?
Is any member of this community able and willing to tell the whole world, what AI related work he is doing?
A concrete examples, like "I am with the Google translator team" or "I, alone, have done this and this" - are very welcome.
NonGoogleables
Recently in another topic I mentioned the "two bishops against two knights" chess endgame problem. I claimed it was investigated over two decades ago by a computer program and established that it is a win situation for the two bishops' side. Then I was unable to Google a solid reference for my claim.
I also remember a "Hermes Set Theory". It was something like ZFC, regarded as a valid Set Theory axiom system for 40 years, until a paradox was found inside. Now, I can't Google it out.
And then it was the so called "Baryon number conservation law", which was postulated for a short while in physics. Until it was found that a subatomic decay may in fact in/decrease the number of baryons in the process. I can't Google that one either.
Is that just me, or what?
[Link] There is nothing like "intelligence", only an evolution is going on
http://edge.org/conversation/infinite-stupidity-edge-conversation-with-mark-pagel
Random change, then a selection, says Mark Pagel. As I agree, here's the link.
Rationality quotes January 2012
Here's the new thread for posting quotes, with the usual rules:
- Please post all quotes separately, so that they can be voted up/down separately. (If they are strongly related, reply to your own comments. If strongly ordered, then go ahead and post them together.)
- Do not quote yourself.
- Do not quote comments/posts on LW/OB.
- No more than 5 quotes per person per monthly thread, please.
Subscribe to RSS Feed
= f037147d6e6c911a85753b9abdedda8d)