Changes

Jump to: navigation, search

Thor's Hammer

9,070 bytes added, 23:48, 12 November 2018
Created page with "'''Home * Engines * Thor's Hammer''' FILE:The third gift — an enormous hammer by Elmer Boyd Smith.jpg|border|right|thumb|220px| Thor's Hammer <ref>''Th..."
'''[[Main Page|Home]] * [[Engines]] * Thor's Hammer'''

[[FILE:The third gift — an enormous hammer by Elmer Boyd Smith.jpg|border|right|thumb|220px| Thor's Hammer <ref>''The third gift — an enormous hammer'' by [https://en.wikipedia.org/wiki/Elmer_Boyd_Smith Elmer Boyd Smith]. The [https://en.wikipedia.org/wiki/Dwarf_%28Germanic_mythology%29 dwarven] [https://en.wikipedia.org/wiki/Sons_of_Ivaldi Sons of Ivaldi] forge the [https://en.wikipedia.org/wiki/Mj%C3%B6lnir hammer Mjolnir] for the god [https://en.wikipedia.org/wiki/Thor Thor] while [https://en.wikipedia.org/wiki/Loki Loki] watches on. On the table before them sits their other creations: the multiplying ring [https://en.wikipedia.org/wiki/Draupnir Draupnir], the [https://en.wikipedia.org/wiki/Wild_boar boar] [https://en.wikipedia.org/wiki/Gullinbursti Gullinbursti], the ship [https://en.wikipedia.org/wiki/Sk%C3%AD%C3%B0bla%C3%B0nir Skíðblaðnir], the spear [https://en.wikipedia.org/wiki/Gungnir Gungnir], and [https://en.wikipedia.org/wiki/Golden_Hair golden hair] for the goddess [https://en.wikipedia.org/wiki/Sif Sif], Page 88 of [https://en.wikipedia.org/wiki/Abbie_Farwell_Brown Abbie Farwell Brown] ('''1902'''). ''[http://www.germanicmythology.com/works/EBOYDSMITHART.html In the Days of Giants: A Book of Norse Tales]''. Illustrations by Elmer Boyd Smith. [https://en.wikipedia.org/wiki/Houghton_Mifflin_Harcourt Houghton, Mifflin & Co.], [https://en.wikipedia.org/wiki/Mj%C3%B6lnir Mjölnir from Wikipedia]</ref>. ]]

'''Thor's Hammer''', (Mjoelner)<br/>
a [[WinBoard]] compatible [[:Category:Open Source|open source chess engine]] by [[Toma Roncevic]] written in [[Cpp|C++]], first released in December 2002. Mjoelner participated at the ''2nd Italian Engine Contest'' played on-line in 2001/2002 <ref>[http://www.open-aurec.com/wbforum/viewtopic.php?f=18&t=35745 2nd "Italian Chess Engine Contest", (last round results)] by [[Gianluigi Masciulli|gianluigi]], [[Computer Chess Forums|Winboard Forum]], January 14, 2002</ref>, and Thor's Hammer played the [[CIPS 2003]] with 3½/7. Thor's Hammer is available from [[Jim Ablett|Jim Ablett's]] Winboard Chess Projects site, who also reported a huge speed gain of the 64-bit over the 32-bit build <ref>[http://www.open-aurec.com/wbforum/viewtopic.php?f=2&t=50055&start=20#p190004 Re: Jim, do you remember?] by [[Jim Ablett]], [[Computer Chess Forums|Winboard Forum]], May 24, 2009</ref>, which is quite typical for [[Bitboards|bitboard]] engines.

=Description=
==Move Generation==
<span id="MoveGeneration"></span>Thor's Hammer is a [[Bitboards|bitboard]] engine without explicitly [[BitScan|scanning bits]] of set-wise [[Attacks|attack]] [[General Setwise Operations#Intersection|intersections]], in particular [[Sliding Piece Attacks|sliding piece attacks]]. It applies a [[Move Generation#Staged|staged move generation]] with [[Square Attacked By#LegalityTest|testing legality]] of [[Hash Move|hash-]] and [[Killer Move|killer moves]]. Otherwise, it generates [[Quiet Moves|quiet moves]] of [[Sliding Pieces|sliding pieces]] loop-wise for each [[Direction#RayDirections|ray-direction]]. Even sliding [[Captures|captures]] are generated quite similar to the [[Vector Attacks#NewArchitecture|blocker loop]] of a [[Vector Attacks|vector attack]] [[Board Representation#SquareCentric|array representation]], but with the important difference that testing the capture condition is done before entering the loop rather than after loop execution. If the intersection of the [[On an empty Board#NegativeRays|negative rays]] [[Origin Square|from a square]] with the opponent pieces as capture target is greater than the intersection with own pieces, a capture is possible on that ray.
<pre>
south east (f6) & opponent pieces & own pieces
. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
. . . . 1 . . . . . . . . . . . . . . . . . . .
. . . 1 . . . . . . . 1 . . . . > . . . . . . . .
. . 1 . . . . . . . . . . . . . . . . . . . . .
. 1 . . . . . . . . . . . . . . . 1 . . . . . .
1 . . . . . . . . . . . . . . . 1 . . . . . . .
</pre>
To apply the same trick for the [[On an empty Board#PositiveRays|positive rays]], [[Incremental Updates|incremental updated]] [[Reverse Bitboards|reverse bitboards]] are used <ref>thorshammer-229-ja.zip, Position.cpp, line 1329, slightly edited</ref>:
<pre>
if(ptype[color][i]==BISHOP || ptype[color][i]==QUEEN) {
fmask=~omask;
if((seFrom[xp]&omask) > (seFrom[xp]&nmask)) {
c=xp-7;
while((setBit(c) & (fmask))) c-=7;
*moves++ = setMove(i,c);
}
if((seFrom[63-xp]&orotmask) > (seFrom[63-xp]&nrotmask)) {
c=xp+7;
while((setBit(c) & (fmask))) c+=7;
*moves++ = setMove(i,c);
}
if( ...
}
...
</pre>
On processors with slow bitscan, i.e. [[Intel|Intel's]] [[x86]] [https://en.wikipedia.org/wiki/NetBurst_%28microarchitecture%29 NetBurst microarchitecture], the compact scan loops to skip empty squares inside the [https://en.wikipedia.org/wiki/Pipeline_%28computing%29 instruction pipeline] should not that much slower on average.

==Search==
The [[Search|search]] relies on [[Iterative Deepening|iterative deepening]] with [[Aspiration Windows|aspiration windows]] and [[Principal Variation Search|PVS]], [[Transposition Table|transpostion table]], [[Null Move Pruning#AdaptiveNullMovePruning|adaptive null move pruning]], [[Internal Iterative Deepening|internal iterative deepening]], [[Check Extensions|check-]], [[Passed Pawn Extensions|passed pawn-]] and [[Recapture Extensions|recapture extensions]].

==Evaluation==
[[Evaluation]] counts [[Material|material]] and positionally considers [[Pawn Structure|pawn structure]] utilizing a [[Pawn Hash Table|pawn hash table]], [[Passed Pawn|passed pawns]] including [[Rule of the Square|rule of the square]] in the [[Pawn Endgame|pawn endings]], [[King Safety|king safety]] in the [[Middlegame|middlegame]] and [[King Centralization|centralization]] in the [[Endgame|endgame]], [[Mobility|mobility]] and multiple other features.

=See also=
* [[Freyr]]

=Forum Posts=
* [http://www.open-aurec.com/wbforum/viewtopic.php?t=601 Thor's Hammer new version] by [[Toma Roncevic|toma]], [[Computer Chess Forums|Winboard Forum]], November 15, 2004
* [http://www.open-aurec.com/wbforum/viewtopic.php?f=2&t=1644&p=7640 Thor's Hammer 2.25] by [[Toma Roncevic|toma]], [[Computer Chess Forums|Winboard Forum]], February 14, 2005
* [https://www.stmintz.com/ccc/index.php?id=418983 Gauntlet Thor's Hammer v2.25 and GES v1.36 - games] by [[Karl-Heinz Söntges]], [[CCC]], March 30, 2005
* [https://www.stmintz.com/ccc/index.php?id=439476 Gauntlets Liste B 5' + 5" Thor's Hammer v2.28 - games] by [[Karl-Heinz Söntges]], [[CCC]], August 01, 2005
* [http://www.open-aurec.com/wbforum/viewtopic.php?f=2&t=50055 Jim, do you remember?] by [[Gabor Szots|Gábor Szots]], [[Computer Chess Forums|Winboard Forum]], March 26, 2009
* [http://www.open-aurec.com/wbforum/viewtopic.php?f=2&t=50055&start=20#p190004 Re: Jim, do you remember?] by [[Jim Ablett]], [[Computer Chess Forums|Winboard Forum]], May 24, 2009

=External Links=
==Chess Engine==
* [http://web.archive.org/web/20060614102734/http://www.geocities.com/toma_st/thorshammer.html Thor's Hammer Home Page] archived by the [https://en.wikipedia.org/wiki/Wayback_Machine Wayback Machine] (June 2006)
* [http://kirr.homeunix.org/chess/engines/Jim%20Ablett/THORS%20HAMMER/ Index of /chess/engines/Jim Ablett/THORS HAMMER] by [[Jim Ablett]], hosted by [[Kirill Kryukov]]
* [http://kirill-kryukov.com/chess/kcec/cgi/engine_details.cgi?print=Details&eng=Thor%27s%20Hammer%202.28%2032-bit#Thor_s_Hammer_2_28_32-bit Thor's Hammer 2.28 32-bit] in [[KCEC]]
* [http://www.computerchess.org.uk/ccrl/404/cgi/compare_engines.cgi?family=Thor%27s%20Hammer&print=Rating+list&print=Results+table&print=LOS+table&print=Ponder+hit+table&print=Eval+difference+table&print=Comopp+gamenum+table&print=Overlap+table&print=Score+with+common+opponents Thor's Hammer] in [[CCRL|CCRL 40/4]]
==Misc==
* [https://en.wikipedia.org/wiki/Thor%27s_Hammer_%28disambiguation%29 Thor's Hammer (disambiguation) from Wikipedia]
* [https://en.wikipedia.org/wiki/Mj%C3%B6lnir Mjölnir from Wikipedia]
* [https://en.wikipedia.org/wiki/Mjolnir_%28comics%29 Mjolnir (comics) from Wikipedia]
* [https://en.wikipedia.org/wiki/Thor Thor from Wikipedia]
* [https://en.wikipedia.org/wiki/Hammer Hammer from Wikipedia]
* [https://en.wikipedia.org/wiki/Hammer_of_Thor_%28monument%29 Hammer of Thor (monument) from Wikipedia]
* [http://www.alexgitlin.com/npp/thors.htm Thors Hammer] - Evasive Dreams Beyond, 1971, [https://en.wikipedia.org/wiki/YouTube YouTube] Video
: {{#evu:https://www.youtube.com/watch?v=TiNWCeuWT2c|alignment=left|valignment=top}}

=References=
<references />
'''[[Engines|Up one level]]'''
[[Category:Open Source]]
[[Category:WinBoard]]
[[Category:Comics]]
[[Category:Mythology]]
[[Category:Music]]

Navigation menu