Chess2u
Would you like to react to this message? Create an account in a few clicks or log in to continue.

Chess2uLog in

descriptionSurprise... (Houdini is based on Fruit) EmptySurprise... (Houdini is based on Fruit)

more_horiz
Alexander Schmidt wrote:
Houdini is based on Fruit.

I know, some of you don't like my kind of analysis. But after Rybka turned out to be a Fruit clone my hit rate is still 100%.

For the new readers: Based on the UCI output it is possible to compare UCI engines. The UCI output is not restricted how it sends it info strings, so the placement of the strings is completely different in nearly every UCI engine. Here I wrote some more about it: http://talkchess.com/forum/viewtopic.php?t=23029

Now to Houdini. I took a quick look on it when it appeared. I wrote here that it is a clone. Noone was really interested and I didn't care much. Now Mr. Houdart wants to earn some money with it and I publish my analysis.

For me it is clear that Houdini is based on Fruit. Just like Rybka. I will not discuss again if this is a 100% evidence. For me it is. Maybe others want to look also at it and will find more. I guess it has also parts of the ippo family included. There is no other explenation for appearing with such a strength out of nowhere. But the basis was Fruit.

Now to the comparism of the info strings. The order of the info strings is identical. Houdini sends additional nps (nodes per seconds) infos which is not really hard to implement. Some complete lines are disabled or sent at another place:

Fruit 2.1:

info depth 11
info depth 11 seldepth 24 score cp 23 time 842 nodes 861114 pv g1f3 b8c6 b1c3 g8f6 e2e3 d7d5 f1b5 c8g4 h2h3 g4f5 e1g1
info currmove c2c4 currmovenumber 15
info currmove f2f4 currmovenumber 16
info time 1014 nodes 1030000 nps 1015779 cpuload 1000

Houdini 1.0:

info depth 16
info time 4024 nodes 3314057 nps 823000 cpuload 467
info depth 16 seldepth 39 score cp 5 time 4493 nodes 3721786 nps 828000 pv e2e4 e7e5 g1f3 g8f6 b1c3 b8c6 f1c4 f8c5 e1g1 e8g8 d2d3 d7d6 c3a4 c5d4 c2c3 b7b5 c4b5
info currmove g1f3 currmovenumber 2
info currmove b1c3 currmovenumber 3
info time 5035 nodes 4172388 nps 828000 cpuload 486

(Although the depth is different, I compare only the output that appears at a special place, when the engine starts to send the currmove info)

The same without values:

Fruit 2.1:

depth
depth seldepth score cp time nodes pv
currmove currmovenumber
currmove currmovenumber
time nodes nps cpuload

Houdini 1.0:

depth
time nodes nps cpuload
depth seldepth score time nodes nps pv
currmove currmovenumber
currmove currmovenumber
time nodes nps cpuload

You can see that one line is doubled in houdini, the rest is nearly identical.

Realize that all this strings can appear at every place in the UCI output. There are no restrictions. How likely is this to happened perchance?

Also realize that this output looks different at different positions. In another position it looks like this:


Fruit 2.1:

2011-09-06 21:56:57,318<--1:info depth 34
2011-09-06 21:56:57,333<--1:info time 1014 nodes 3280000 nps 3234714 cpuload 1000
2011-09-06 21:56:57,349<--1:info depth 34 seldepth 33 score mate 10 time 1029 nodes 3342737 pv b7b6 h7g7 b6c6 g7f7 b5b6 f7e7 b6b7 e7f7 b7b8q f7g7 c6c5 g7f7 c5d6 f7g7 d6e6 g7h7 e6f6 h7h6 b8h8
2011-09-06 21:56:57,365<--1:info currmove b7c6 currmovenumber 2
2011-09-06 21:56:57,365<--1:info currmove b7c7 currmovenumber 3
2011-09-06 21:56:57,380<--1:info currmove b7a6 currmovenumber 4
2011-09-06 21:56:57,380<--1:info currmove b7c8 currmovenumber 5
2011-09-06 21:56:57,380<--1:info currmove b7a7 currmovenumber 6
2011-09-06 21:56:57,396<--1:info currmove b7b8 currmovenumber 7
2011-09-06 21:56:57,396<--1:info currmove b7a8 currmovenumber 8
2011-09-06 21:56:57,396<--1:info depth 34 seldepth 33 time 1029 nodes 3343751 nps 3249515
2011-09-06 21:56:57,411<--1:info depth 35
2011-09-06 21:56:57,411<--1:info currmove b7b6 currmovenumber 1
2011-09-06 21:56:57,411<--1:info depth 35 seldepth 33 score mate 10 time 1076 nodes 3520447 pv b7b6 h7g7 b6c6 g7f7 b5b6 f7e7 b6b7 e7f7 b7b8q f7g7 c6c5 g7f7 c5d6 f7g7 d6e6 g7h7 e6f6 h7h6 b8h8
2011-09-06 21:56:57,427<--1:info currmove b7c6 currmovenumber 2
2011-09-06 21:56:57,443<--1:info currmove b7c7 currmovenumber 3
2011-09-06 21:56:57,443<--1:info currmove b7a6 currmovenumber 4
2011-09-06 21:56:57,443<--1:info currmove b7c8 currmovenumber 5
2011-09-06 21:56:57,443<--1:info currmove b7a7 currmovenumber 6
2011-09-06 21:56:57,458<--1:info currmove b7b8 currmovenumber 7
2011-09-06 21:56:57,458<--1:info currmove b7a8 currmovenumber 8
2011-09-06 21:56:57,458<--1:info depth 35 seldepth 33 time 1076 nodes 3521461 nps 3272733
2011-09-06 21:56:57,474<--1:info depth 36

Houdini 1.0:

2011-09-06 21:57:21,681<--1:info depth 61
2011-09-06 21:57:21,747<--1:info time 4007 nodes 10707165 nps 2672000 cpuload 482
2011-09-06 21:57:21,779<--1:info depth 61 seldepth 45 score mate 10 time 4040 nodes 10798666 nps 2672000 pv b7b6 h7g7 b6c5 g7f7 c5d6 f7g7 d6e7 g7h7 b5b6 h7h6 e7f6 h6h7 b6b7 h7h6 b7b8q h6h7 b8a7 h7h6 a7g7
2011-09-06 21:57:21,794<--1:info currmove b7c6 currmovenumber 2
2011-09-06 21:57:21,799<--1:info currmove b7c7 currmovenumber 3
2011-09-06 21:57:21,804<--1:info currmove b7c8 currmovenumber 4
2011-09-06 21:57:21,809<--1:info currmove b7a6 currmovenumber 5
2011-09-06 21:57:21,814<--1:info currmove b7b8 currmovenumber 6
2011-09-06 21:57:21,819<--1:info currmove b7a7 currmovenumber 7
2011-09-06 21:57:21,824<--1:info currmove b7a8 currmovenumber 8
2011-09-06 21:57:21,829<--1:info depth 62
2011-09-06 21:57:21,834<--1:info currmove b7b6 currmovenumber 1
2011-09-06 21:57:21,898<--1:info depth 62 seldepth 45 score mate 10 time 4158 nodes 11088289 nps 2666000 pv b7b6 h7g7 b6c5 g7f7 c5d6 f7g7 d6e7 g7h7 b5b6 h7h6 e7f6 h6h7 b6b7 h7h6 b7b8q h6h7 b8a7 h7h6 a7g7
2011-09-06 21:57:21,913<--1:info currmove b7c6 currmovenumber 2
2011-09-06 21:57:21,918<--1:info currmove b7c7 currmovenumber 3
2011-09-06 21:57:21,923<--1:info currmove b7c8 currmovenumber 4
2011-09-06 21:57:21,928<--1:info currmove b7a6 currmovenumber 5
2011-09-06 21:57:21,933<--1:info currmove b7b8 currmovenumber 6
2011-09-06 21:57:21,938<--1:info currmove b7a7 currmovenumber 7
2011-09-06 21:57:21,943<--1:info currmove b7a8 currmovenumber 8
2011-09-06 21:57:21,948<--1:info depth 63

(Although the depth is different, I compare only the output that appears at a special place, when the engine starts to send the currmove info)


And again without the values:


Fruit 2.1:

depth
time nodes nps cpuload
depth seldepth score time nodes pv
currmove currmovenumber 2
currmove currmovenumber 3
currmove currmovenumber 4
currmove currmovenumber 5
currmove currmovenumber 6
currmove currmovenumber 7
currmove currmovenumber 8
depth seldepth time nodes nps
depth
currmove currmovenumber 1
depth seldepth score time nodes pv
currmove currmovenumber 2
currmove currmovenumber 3
currmove currmovenumber 4
currmove currmovenumber 5
currmove currmovenumber 6
currmove currmovenumber 7
currmove currmovenumber 8
depth seldepth time nodes nps
depth


Houdini 1.0:

depth
time nodes nps cpuload
depth seldepth score time nodes nps pv
currmove currmovenumber 2
currmove currmovenumber 3
currmove currmovenumber 4
currmove currmovenumber 5
currmove currmovenumber 6
currmove currmovenumber 7
currmove currmovenumber 8
depth
currmove currmovenumber 1
depth seldepth score time nodes nps pv
currmove currmovenumber 2
currmove currmovenumber 3
currmove currmovenumber 4
currmove currmovenumber 5
currmove currmovenumber 6
currmove currmovenumber 7
currmove currmovenumber 8
depth

Realize that the info strings in Fruit come in a different order in and after a different ammount of currmove infos in different position. In Houdini they still come in the same order as in Fruit.
_________________
International Human Rights Law, Article 11:

"Everyone charged with a penal offence has the right to be presumed innocent until proved guilty according to law in a public trial at which he has had all the guarantees necessary for his defence."

http://talkchess.com/forum/viewtopic.php?topic_view=threads&p=422606&t=40294
lol

descriptionSurprise... (Houdini is based on Fruit) EmptyRe: Surprise... (Houdini is based on Fruit)

more_horiz
well nothing new over there, the latest good engines are based on previous engines
:sm017:

descriptionSurprise... (Houdini is based on Fruit) EmptyRe: Surprise... (Houdini is based on Fruit)

more_horiz
O, come on, I m sick of this... clone... not clone... who cares?!

descriptionSurprise... (Houdini is based on Fruit) EmptyRe: Surprise... (Houdini is based on Fruit)

more_horiz
Without many ideas and techniques from the open source chess engines Ippolit and Stockfish, Houdini would not nearly be as strong as it is now.

Source: http://www.cruxis.com/chess/houdini.htm

descriptionSurprise... (Houdini is based on Fruit) EmptyRe: Surprise... (Houdini is based on Fruit)

more_horiz
The only thing that concerns me right now is what to do with the 10+ ippolit-based engines for Season 2 :)

descriptionSurprise... (Houdini is based on Fruit) EmptyRe: Surprise... (Houdini is based on Fruit)

more_horiz
Fruit again ???? eek

descriptionSurprise... (Houdini is based on Fruit) EmptyRe: Surprise... (Houdini is based on Fruit)

more_horiz
good ideas never die...
lol

descriptionSurprise... (Houdini is based on Fruit) EmptyRe: Surprise... (Houdini is based on Fruit)

more_horiz
Permissions in this forum:
You cannot reply to topics in this forum