Not logged inCSS-Forum
Forum CSS-Online Help Search Login
CSS-Shop Impressum Datenschutz
Up Topic Hauptforen / CSS-Forum / Houdini 3 Settings per HEX-Editor eingeben/erstellen
- - By Stefan Pohl Date 2012-10-15 12:32
Hallo zusammen,

ich habe mir Houdini 3 mal mit dem HEX-Editor angesehen und festgestellt, daß die Passage, in der die Figurenwerte und die pawnstorm-Werte etc. verändert werden können, im neuen Houdini 3 absolut identisch zu Houdini 2.0c ist (auch die Werte an sich sind gleich). Allerdings akzeptiert das HoudiConfig-Tool natürlich die neue Houdini 3 .exe-Datei (noch) nicht. Aber mit einem HEX-Editor kann man dennoch Settings eingeben. Ich poste hier deshalb noch mal meine Anleitung, die ich seinerzeit hier für Houdini 2 geschrieben hatte im Anschluß. Wer ein schon bekanntes Setting einfach nur in Houdini 3 einpflanzen möchte, kann das sehr einfach mit einem HEX-Editor tun (Houdini 3 exe-Datei vorher duplizieren, falls was schiefgeht!!!)
Man sucht nun einfach nur die TEXT/ASCII-Sequenz (nicht die HEX-Sequenz!!!): 5D717974702A2020202020202020202020202020202020202020202020201E2328161C1E20 und ersetzt diese mit einem Setting (Text-Stelle suchen und ersetzen bieten die meisten Hex-Editoren als ein Kommando an).
Ein paar bekannte Settings hier:
Houdini 2.0Baracuda => 5F758274733021212220222020201E1E1E1E20202020202222202222221E1E2328161C1E20  
Houdini 2.0T3 => 5D717974702A2020202020202020202020202020202020202020202020201E23281628323C
Houdini 2.0Z => 5A7179746E2A2020202020202020202020202020202020202020202020201E22281628323C
Houdini 2.0S => 5A71797469372020202020202020202020202020202020202020202020201E23281628323C
Houdini 2.0g => 5F717974702A202020202020202020202020202020202020202020202020202428161E2024
Houdini 2.0c Kayra2 => 5F7C8689982C2020202020202020202020202020202020202020202020201E242A182A333A

Hier nun im folgenden noch mal meine ausführliche Anleitung, um eigene Settings zu erstellen:

Wie einige evt. schon mitbekommen haben, ist es möglich in Houdini 1.5a per HEX-Editor einige Parameter zu verändern. Dies funktioniert auch mit Houdini 2.0b (Pro oder nicht Pro-Version ist egal) und Houdini 3 wie ich festgestellt habe. Denn glücklicherweise hat sich an der inneren Struktur von Houdini in dem für uns hier relevanten Teil nichts geändert. Lediglich die Werte einiger Parameter wurden in der neuen Version von R.Houdart verändert.

Die im Netz kursierende Anleitung für Houdini 1.5a ist m.E. recht irreführend bzw. verwirrend, ich werde daher kurz eine eigene Anleitung verfassen, die sich jedoch auch der 1.5a-Anleitung bedient.

Zunächst muß man natürlich Houdini 3 Besitzer sein und auf seinem Rechner die Installation durchführen. Hat man das getan, so kann man glücklicherweise beliebig viele Kopien von Houdini 3 erstellen und auf diesem Rechner parallel laufen lassen. Deshalb kann man nun eine Kopie des .exe-Files erstellen und irgendwie anders nennen (z.B: Houdini 3 x64 xp.exe). In dieser können wir nun guten Gewissens rumpfuschen, da das Original nicht verändert wird. Dazu benötigen wir nun einen HEX-Editor, von denen es diverse als Freeware im Netz gibt.
In diesen laden wir nun das .exe-File ein und suchen nach dem Text-String (nicht HEX-String!!!):
5D717974702A2020202020202020202020202020202020202020202020201E2328161C1E20

Dieser Textstring enthält nun merkwürdigerweiser Hexadezimalwerte als ASCII-Codes, will sagen das erste Paar "5D" bedeutet wirklich 5D in Hexadezimalzahlen, also 5*16+13 (D ist die Zahl 13 (A=10, B=11, C=12, D=13, E=14, F=15)), und nicht die Hexadezimalwerte, die der Hex-Editor anzeigt. Im Folgenden manipulieren wir daher mit dem Hex-Editor immer den ASCII-Bereich und geben dort die Hexadezimalzahlen als Text ein. Das macht man sonst natürlich nicht so, aber in Houdini ist das seltsamerweise so gemacht worden. Wer verstanden hat, was an dieser Zahlenrepräsentation so ungewöhnlich ist, sieht auch ein, was mir dabei klar wurde: Im Prinzip braucht man gar keinen Hex-Editor, sondern der Windows-Text-Editor geht auch (!), allerdings ist die Darstellung dort sehr viel unübersichtlicher, sodaß ich zum Hex-Editor dringend raten würde...
Das genannte Beispiel 5D ist übrigens der Figurenwert für den Bauern, also ist dieser im Original-Houdini = 93. Möchte man nun den Figurenwert des Bauern auf 100 setzen, also den klassischen Wert, muß man das Zahlenpaar 5D auf 64 ändern (6*16+4). Eigentlich einfach, oder?
Leider wird das für die anderen Figurenwerte komplizierter, weil Houdini hier einen Offset verwendet, den man im Geist immer dazu addieren muß.

Hier nun zunächst mal die Parameterbeschreibung aus der originalen Houdini 1.5a-Anleitung, angepasst an die Werte, die Houdini 3 verwendet:

Die ersten 6 Zahlenpaare sind in Centipawns, die anderen in 1/32-Einheiten, letzteres erkläre ich später...

Meaning of the entries:

entry #    default value    description

                            Material values:

   01      0x5D            pawn value
   02      0x71             knight value plus 200
   03      0x79             bishop value plus 200
   04      0x74             rook_value plus 375
   05      0x70             queen_value plus 850
   06      0x2A             bishop pair value

                            Eval weights (in steps of 1/32):

   07      0x20             static weight pawn
   08      0x20             static weight knight
   09      0x20             static weight bishop
   10      0x20             static weight rook
   11      0x20             static weight queen
   12      0x20             static weight king
   13      0x20             pawn island
   14      0x20             pawn hole
   15      0x20             pawn doubled on closed file
   16      0x20             pawn doubled on semiopen file
   17      0x20             pawn doubled & isolated on closed file
   18      0x20             pawn doubled & isolated on semiopen file
   19      0x20             pawn isolated on closed file
   20      0x20             pawn isolated on semiopen file
   21      0x20             pawn backward on closed file
   22      0x20             pawn backward on semiopen file
   23      0x20             candidate passed pawn
   24      0x20             passed pawn base value
   25      0x20             passed pawn protected
   26      0x20             passed pawn outside
   27      0x20             passed pawn connected
   28      0x20             pawn: king distance
   29      0x20             passed pawn: friendly king distance
   30      0x20             passed pawn: opposing king distance
   31      0x1E             pawn shield outer file
   32      0x23             pawn shield inner file
   33      0x28             pawn shield middle file
   34      0x16             pawn shield diagonal 
   35      0x1C             pawn storm outer file
   36      0x1E             pawn storm inner file
   37      0x20             pawn storm middle file

Am Beispiel des Springer-Figurenwertes erläutere ich nun die Vorgehensweise bei den anderen Figurenwerten (wegen des Offset-Wertes.): Der Springer hat einen Offsetwert von 200 (s.Aufstellung oben). Der Hex-Wert ist im Default-Houdini=71, also 7*16+1=113. Dazu addiert man nun im Geiste die 200 und erhält 313 als realen Figurenwert für den Springer. Will man einen anderen Wert eingeben, zieht man den Offset einfach ab und erstellt dann den Hex-Wert. Beispielsweise möchte man den Springerwert auf 300 setzen. Ergo zieht man 200 ab. Bleiben 100. Das in Hex-Zahlen umgerechnet ist 64 (6*16+4). Also müßte man in diesem Fall das ASCII-Zeichenpaar für den Springer von 71 auf 64 ändern... Analog geht man für die anderen Figurenwerte vor. Der Wert für das Läuferpaar hat keinen Offset und steht im Original auf 2A, also 2*16+10=42 centipawns. Möchte man diesen Wert auf 45 anheben (der klassische Wert aus der IvanHoe-Engine, aus der Houdini ja hervorging), so müßte man den Wert von 2A auf 2D ändern...

Soviel zu den Figurenwerten, nun noch zu den anderen Parametern:
Diese sind - wie oben schon in der tabellarischen Auflistung angegeben - in 1/32 Einheiten skaliert. Das bedeutet ein dezimaler Wert von 32 wäre genau 1 bzw. 100% wenn man so will. Daher auch die vielen 20er Werte in der Auflistung (Hexadezimal 20 = 2*16=32). Möchte man nun einen Wert auf 120% erhöhen, also 1.2 statt 1, so geht das leider nicht, weil man in 1/32 Schritten dort nicht genau hinkommt. Man muß sich also dem gewünschten Wert einfach maximal annähern. Eine 20% Erhöhung würde also eine Erhöhung von 32 auf 38.4 bedeuten, was nicht möglich ist. Hier würde man nun je nach Geschmack auf- bzw. abrunden. Wir runden hier nun ab auf 38. Diesen Wert muß man nun nur noch in Hex-Zahlen umrechnen, was 26 ergibt. Das trägt man statt des alten Wertes einfach ein - fertig.
Nun muß man sein fertiges Werk nur noch speichern, dorthin kopieren, wo die GUI der Wahl die Engine-exe-Files zu abzulegen pflegt und in der GUI die Engine erstellen/anmelden.
Fertig ist der Houdini mit selbstdefinierter Personality. Nur Mut, es ist einfacher, als man denkt, wenn man es erst mal verstanden hat.

Grüße an alle - Stefan
Parent - - By Wolfgang Menzel Date 2012-12-29 00:31
Hallo Stefan Pohl,

ich habe Houdini 3 korrekt erworben (EUR 79,90), installiert, die Exe gefunden und kopiert.
Nun wollte ich ein wenig experimentieren, Ihre Anleitung nutzend. Aber leider gelang mir nichts.

"Eine Kopie des .exe-Files erstellen und irgendwie anders nennen (z.B: Houdini 3 x64 xp.exe)" funktioniert nicht. Sowohl Fritz 13 als auch Arena 3.0 merken die Manipulation und verweigern die
Installation der neuen Exe. Andererseits funktioniert unter Fritz 13 eine Engine namens Ivan Hoe T.07 x64 MODE_GAME. Das ist doch sicher auch nicht die ursprüngliche Bezeichnung.

Behalte ich den Namen bei (Houdini_3_x64.exe) und ändere mittels Hex-Editors den Textstring, z.B. in 636D827D6D3B2121212121212122202121212121202021212221222122221D2226191B268, erfolgt wiederum Verweigerung. Aber selbst, wenn die Engine mit dem veränderten String liefe, brauchte sie einen neuen Namen, damit sie in einem Match gegen das Original antreten kann.

Woran könnte es liegen? Ich arbeite mit Win 7 (64 Bit).

Grüße und beste Wünsche für 2013 von
Wolfgang M.
Parent - - By Matthias Gemuh Date 2012-12-29 19:26
Houdini 3 ignoriert absichtlich alle Config-Strings. Gib dir keine weitere Mühe.

.
Parent - - By Wolfgang Menzel Date 2012-12-29 21:50
Hallo Matthias Gemuh,

vielen Dank für die prompte und konkrete Reaktion. Aber dann ist doch die ausführliche Anleitung von Stefan Pohl für die Katz'. Er beschreibt alles so, als habe er die Arbeitsschritte persönlich erfolgreich vollzogen. Das lässt mich ein wenig ratlos und enttäuscht zurück.

Es grüßt W.M.

PS: Ich bin noch unsicher hier. "Vorschau" ist klar. Ist mit "Schreiben" Absenden gemeint?
Parent - - By Stefan Pohl Date 2012-12-30 12:25
[quote="Wolfgang Menzel"]
Hallo Matthias Gemuh,

vielen Dank für die prompte und konkrete Reaktion. Aber dann ist doch die ausführliche Anleitung von Stefan Pohl für die Katz'. Er beschreibt alles so, als habe er die Arbeitsschritte persönlich erfolgreich vollzogen. Das lässt mich ein wenig ratlos und enttäuscht zurück.
[/quote]

Das ist verständlich und tut mir auch leid. Ich hatte das Posting seinerzeit für Houdini 1.5a und 2.0 geschrieben (wo das Ganze auch funktionierte). Als nun Houdini 3 erschien, habe ich mir die Datei mit dem HEX-Editor angesehen und die identische Passage, die es eben in Houdini 1.5a und auch in 2.0 gibt, wieder entdeckt. Ergo ging ich natürlich davon aus, daß das Ganze dann auch in Version 3.0 funktionieren würde und habe daher mein altes Posting zu diesem Thema noch mal rausgesucht und erneut gepostet. Ausprobiert habe ich es mit Version 3.0 nicht, da ich diese Version zunächst default für meine LS-Rangliste schnellstmöglich testen wollte, weil natürlich ein sehr großes Interesse in der Community an Houdini 3 bestand und meine Hardware damit beschäftigt war. Bevor dieser Testlauf bei mir durch war, hatte sich rausgestellt, daß das Ganze in Version 3 nicht mehr funktioniert. Sorry nochmals.

Gruß - Stefan
Parent - - By Horst Sikorsky Date 2012-12-31 12:38
Mitte Oktober habe ich Houdi3config ( Houdi3config 1.7) heruntergeladen. Weiß aber nicht mehr wo.
Damit lässt sich die 1.Version von Robert Houdart verstellen. Die Chessbaseversion aber nicht! nun habe ich mal einen Test gemacht.
12 verschiedene Eröffnungen (24 Partien 2min+1s) Das dies Überhaupt gar keine Aussagekraft hat ist Klar!!
1   Houdini 3 Pro x64 Chessba.  010½½01½01½½011101110101  13.5/24
2   Houdini 3 Pro x64 Verstellt.  101½½10½10½½100010001010   10.5/24
Achtung! verstellen von Houdini 3Pro kann zu Systemabsturz führen.
Außerdem lohnt es sich nicht!
Guten Rutsch Horst
Parent - - By Matthias Gemuh Date 2012-12-31 17:04
Auch für deinen Test gilt:

"Houdini 3 ignoriert absichtlich alle Config-Strings. Gib dir keine weitere Mühe."

Übrigens: HoudiConfig 1.7 ist fehlerhaft bzgl. Wiederherstellen von Default-Werten. HoudiConfig 1.8 gab's kurz nach 1.7 als Bugfix !

Bei Gelegenheit, werde ich  HoudiConfig 1.8 oder 1.6 wieder uploaden.

Matthias.
Parent - - By Ernest Bonnem Date 2013-01-01 18:19
[quote="Matthias Gemuh"]HoudiConfig 1.7 ist fehlerhaft bzgl. Wiederherstellen von Default-Werten. HoudiConfig 1.8 gab's kurz nach 1.7 als Bugfix !
Bei Gelegenheit, werde ich  HoudiConfig 1.8 oder 1.6 wieder uploaden.[/quote]
Hallo Matthias,

Das wußte ich nicht!
Als ich HoudiConfig 1.7 benützte hatte ich nichts falsches bemerkt. Was war denn fehlerhaft?

Kannst Du HoudiConfig 1.8 wieder uploaden ?
Parent - - By Matthias Gemuh Date 2013-01-01 19:00
[quote="Ernest Bonnem"]

Hallo Matthias,

Das wußte ich nicht!
Als ich HoudiConfig 1.7 benützte hatte ich nichts falsches bemerkt. Was war denn fehlerhaft?

Kannst Du HoudiConfig 1.8 wieder uploaden ?
[/quote]

Hallo Ernest,

http://biglion.bplaced.net/chess/HoudiConfig.zip

Wiederherstellen von Default-Werten klappt nicht immer mit HoudiConfig 1.7 !
Parent - By Ernest Bonnem Date 2013-01-01 20:11
Danke, Matthias!  
Parent - - By Christian Schmidt Date 2012-12-31 17:35
Nur mal ein paar Anmerkungen:

1. Hättest du den Test nach 13 Partien beendet, hätte der modifizierte Houdini mit 2 Punkten Differenz gewonnen. Du schreibst richtigerweise, dass der Test keine Aussagekraft hat. Allerdings ziehst du dann die Schlussfolgerung, dass sich das verstellen nicht lohnt. Das ist inkonsistent.

2. Houdini 3 hat eine Vielzahl von Parametern, die man verändern kann. Wie wahrscheinlich ist es da, dass Robert Houdart bei jeden einzelnen Parameter exakt den optimalen Wert getroffen hat?
Parent - By Horst Sikorsky Date 2012-12-31 19:45
Nach 13 Runden beenden wäre wegen der Doppelrunden Ungerecht.
Bei den Vielen Parametern sind keine dabei wie Früher bei HIARCS 5
Den konnte man noch um 500 ELO verbessern    
Parent - - By Robert Houdart Date 2012-12-31 17:54
As said above: Houdini 3 ignoriert absichtlich alle Config-Strings.
Basically you've played a match between 2 identical engines.
Parent - - By Horst Sikorsky Date 2012-12-31 19:20
[quote="Robert Houdart"]
As said above: Houdini 3 ignoriert absichtlich alle Config-Strings.
Basically you've played a match between 2 identical engines.
[/quote]
Aber wenn ich Houdini wieder auf "Normal" Einstelle spielt er, gleich wieder besser!!
Bei Beiden Duellen wurde mit Buch bis zum 5. Zug gespielt.
1   Houdini 3 Pro x64 Normal;Ein  1½½½1½½½½00½0½1½101½1½½0  12.5/24
2   Houdini 3 Pro x64 Chessbase  0½½½0½½½½11½1½0½010½0½½1   11.5/24

PROST NEUJAHR!!

Horst
Parent - - By Robert Houdart Date 2013-01-01 13:06
[quote="Horst Sikorsky"]Aber wenn ich Houdini wieder auf "Normal" Einstelle spielt er, gleich wieder besser!!
Bei Beiden Duellen wurde mit Buch bis zum 5. Zug gespielt.
1   Houdini 3 Pro x64 Normal;Ein  1½½½1½½½½00½0½1½101½1½½0  12.5/24
2   Houdini 3 Pro x64 Chessbase  0½½½0½½½½11½1½0½010½0½½1   11.5/24

PROST NEUJAHR!!

Horst[/quote]
Happy New Year!
Your results show the random variability of engine match results, "luck" or "fortune" have an important impact on the end result.
A 24-game match between equal engines can easily produce a 15-9 result, which means that not a lot of conclusions can be attached to 13.5-10.5 or 12.5-11.5 results.
Parent - - By Ingo Bauer Date 2013-01-01 14:11
[quote="Robert Houdart"]
... not a lot of conclusions can be attached to 13.5-10.5 or 12.5-11.5 results.
[/quote]

Not a lot, but an important one.

1. If you want a nice game play one or two LOOOOONG games and look at them.
2. If you want some statistics play hundreds or thousands of games even if the time control is very short
3. A medium number of low time control games is meaningless in both terms - it is just a waste of electrical energy (or it heats up in winter time ... )

Conclusion: Never play 24 game matches!

Bye
Ingo
Parent - - By Horst Sikorsky Date 2013-01-01 14:46
Es geht mir nicht um 24 oder 10000 Partien!!
Es ist mir ein Rätsel, Alle sagen Houdini 3 kann man nicht verstellen.
Aber wenn ich Houdini 3 verstelle, hat er einen völlig anderen Spielstiel (auch bei Stellungstest). Ich kann Ihn ja auch wieder auf Normal stellen.
Oder ist das Alles eine Fata Morgana. Mir ist es eigentlich nicht Wichtig Houdini zu verstellen.
Beste Grüße Horst
I am not by 24 or 10000 games!
It is beyond me, all say Houdini 3 can not adjust it.
But if I Houdini 3 dissemble, he has a completely different game handle (even with test position). I can even run him back to Normal.
Or all of this is a mirage. To me it's not really important to adjust Houdini. Google Translate
Best regards Horst
Parent - By Horst Sikorsky Date 2013-01-02 05:21
Hallo Matthias, Das wußte ich nicht!
Als ich HoudiConfig 1.7 benützte hatte ich nichts falsches bemerkt. Was war denn fehlerhaft?
Kannst Du HoudiConfig 1.8 wieder uploaden ?
Hallo Ernest,
http://biglion.bplaced.net/chess/HoudiConfig.zip
Wiederherstellen von Default-Werten klappt nicht immer mit HoudiConfig 1.7 ! 
Von Ernest Bonnem (profil) Datum 2013-01-01 21:11 Danke, Matthias!

Das Sagt wohl einiges oder sogar Alles.
Horst 
Parent - By Wolfgang Menzel Date 2013-01-02 21:46
Hallo Stefan Pohl,

das ist alles nicht so schlimm. Man muss ja nicht immer gleich experimentieren wollen.

Ungeachtet des Machtworts des Meisters ("Houdini 3 ignoriert absichtlich alle Config-Strings.") gibt es Angebote im Netz, z.B. bei http://www.chess2u.com/t6426p45-houdini-3-tuning#38419.
Dort heißt es locker: "Houdini_3_Equilibrium [houdini 3 pro (modified)]: is raised above [Houdini 3 Pro] more than 50+ Elo." Es folgen Match-Ergebnisse, die das belegen sollen.
Aber wer weiß - vielleicht ist Houdini 3 pro eben doch tunebar.

Ein angenehmes Jahr 2013 wünscht Wolfgang M.
Up Topic Hauptforen / CSS-Forum / Houdini 3 Settings per HEX-Editor eingeben/erstellen

Powered by mwForum 2.29.3 © 1999-2014 Markus Wichitill