Changes

Jump to: navigation, search

Mater

16,669 bytes added, 18:01, 12 May 2018
Created page with "'''Home * Engines * Mater''' [[FILE:Yale's Hartmann astrolabe.jpg|border|right|thumb|[https://en.wikipedia.org/wiki/Astrolabe Astrolabe], [https://en.wikipe..."
'''[[Main Page|Home]] * [[Engines]] * Mater'''

[[FILE:Yale's Hartmann astrolabe.jpg|border|right|thumb|[https://en.wikipedia.org/wiki/Astrolabe Astrolabe], [https://en.wikipedia.org/wiki/Astrolabe#Construction Mater] and [https://en.wikipedia.org/wiki/Tympan Tympan] <ref>One of four extant brass [https://en.wikipedia.org/wiki/Astrolabe astrolabes] manufactured by the workshop of [https://en.wikipedia.org/wiki/Georg_Hartmann Georg Hartmann] in [https://en.wikipedia.org/wiki/Nuremberg Nuremberg] in 1537. This one part of the Scientific Instruments Collection of [https://en.wikipedia.org/wiki/Yale_University Yale University's] [https://en.wikipedia.org/wiki/Peabody_Museum_of_Natural_History Peabody Museum of Natural History], [http://commons.wikimedia.org/wiki/File:Yale%27s_Hartmann_astrolabe.jpg Yale's Hartmann astrolabe.jpg - Wikimedia Commons]</ref>]]

'''Mater''',<br/>
a chess [[Checkmate|mating]] [[Combination|combinations]] program, developed in the mid 60s by [[George Baylor]] and [[Herbert Simon]], which was subject of Baylor's Masters thesis at [[Carnegie Mellon University]] <ref>[[George Baylor]] in [http://www.cs.cmu.edu/simon/all.html All Remembrance of Herbert A. Simon]</ref>. It was an early pioneering attempt in finding forced checkmates, employing "[[Artificial Intelligence]]" rather than "[[Brute-Force]]" <ref>[[Max Bramer]] ('''1982'''). ''Finding Checkmates''. [https://en.wikipedia.org/wiki/Computer_and_Video_Games Computer & Video Games], [http://www.chesscomputeruk.com/html/publication_archive_1982.html Spring 1982], [http://www.chesscomputeruk.com/Computer___Video_Games_Spring_1982.pdf pdf] hosted by [[Mike Watters]]</ref>. Only [[Moves|moves]] which either put the enemy king in [[Check|check]] ('''Mater I'''), or [[Threat Move|threaten]] [[Mate at a Glance|mate in one]] ('''Mater II''') were [[Move Generation|generated]] for the attacking side, [[Mate Search|searching]] those moves first which leave the minimum number of defensive replies, to eventually reduce the defender's [[Mobility|mobility]] to zero.


=Abstract=
This page is based on the description of Mater by [[George Baylor]] and [[Herbert Simon]], 1966, ''A chess mating combinations program'' <ref>[[George Baylor|George W. Baylor]], [[Herbert Simon|Herbert A. Simon]] ('''1966'''). ''[http://dl.acm.org/citation.cfm?id=1464182.1464233&coll=GUIDE&dl=GUIDE A chess mating combinations program]''. [https://en.wikipedia.org/wiki/American_Federation_of_Information_Processing_Societies AFIPS] [https://en.wikipedia.org/wiki/Joint_Computer_Conference Joint Computer Conferences]</ref>:
The program reported here is not a complete chess player; it does not play games. Rather, it is a chess analyst limited to [[Search|searching]] for [[Checkmate|checkmating]] [[Combination|combinations]] in [[Chess Position|positions]] containing [[Tactics|tactical]] possibilities. A combination in chess is a series of forcing moves with [[Sacrifice|sacrifice]] that ends with an objective advantage for the active side. A checkmating combination, then, is a combination in which that objective advantage is checkmate. Thus the program described here - dubbed MATER - given a position, proceeds by [[Move Generation|generating]] that class of forcing moves that put the enemy King in [[Check|check]] or threaten mate in one move, and then by analyzing first those moves that appear most promising.

=History=
The original mating combination program, as conceived by Herbert Simon and his son Peter Simon in 1962 <ref>[[Herbert Simon|Herbert A. Simon]], [http://www.cs.cmu.edu/simon/kfrank.html Peter A. Simon] ('''1962'''). ''[http://psycnet.apa.org/index.cfm?fa=search.displayRecord&UID=1963-06169-001 Trial and Error Search in Solving Difficult Problems: Evidence from the Game of Chess]''. Behavioral Science, Vol. 7, No. 4, pp. 425-429</ref>, was a hand simulation setting forth a strategy of search. It discovered mating combinations in 52 of the 129 positions collected in [https://en.wikipedia.org/wiki/Reuben_Fine Fine's] chapter of the mating attack from ''The Middlegame in Chess''. [[Allen Newell|Newell's]] and Prasad's [https://en.wikipedia.org/wiki/Information_Processing_Language IPL] program <ref>[[Allen Newell]], N. S. Prasad ('''1963'''). ''IPL-V Chess Position Program''. Internal Memo No. 63, [[Carnegie Mellon University]]</ref>, which could set up a [[Board Representation|chessboard]], recorded positions, generated and [[Make Move|made moves]] and testing their [[Legal Mov|legality]], was base of '''Mater I''' and in 1964 the revised '''Mater II''' programs. According to [[Monroe Newborn]], Mater was ported to [[Fortran]] and incorporated into [[Coko|Cooper-Kozdrowicki]] program by [[Dennis Cooper]] and [[Ed Kozdrowicki]] <ref>[[Monroe Newborn]] ('''1975'''). ''Computer Chess''. Academic Press, New York, N.Y. p. 26</ref>:
MATER is written by George Baylor and Simon in FORTRAN. It is able to search to great depths for checkmates. MATER is presently part of the Cooper-Kozdrowicki program. While MATER is an interesting program in its own right, the opportunity to checkmate one's opponent plays a relatively small computational part of the game of chess, and its inclusion in the Cooper-Kozdrowicki program does not seem to add measurably to the program's strength.

=Mater I=
{|
|- style="vertical-align:top;"
| <fentt border="double" style="font-size:24pt">r1bk2nr/p2p1pNp/n2B4/1p1NP2P/6P1/3P1Q2/P1P1K3/q5b1</fentt>
!
| Only check giving moves were generated in '''Mater I''' for the attacking side and check evasions for the defending side, for each [[Ply|ply]] level put into a [[Move List|try-list]]. For the attacker, the list is ordered by the fewest-reply heuristic, highest priority goes to moves with the fewest number of legal replies, while checking moves with more than '''four''' legal replies are pruned entirely. Ties are broken by giving priority to [[Double Check|double checks]] and then to checks with no [[Captures|capturing]] replies. Search only continues down a particular path so long as the opponent's mobility is on the decline, which implies a maximum [[Depth|search depth]] of 9 [[Ply|plies]]. The defender's side considers captures in [[MVV-LVA|MVV/LVA]] order first, followed by king moves and interpositions. In ''A chess mating combinations program'', the [[Beta-Cutoff|beta-cutoff]] was mentioned as "killing reply" <ref>"this ([[Move Ordering|Move ordering]]) is an attempt to clip unnecessary proliferations in the move tree: if there is a "killing" reply to a checking move, further analysis of that checking move would seem futile" from '''4.''' ''The Executive and Heuristics of Search'' in [[George Baylor|George W. Baylor]], [[Herbert Simon|Herbert A. Simon]] ('''1966'''). ''[http://dl.acm.org/citation.cfm?id=1464182.1464233&coll=GUIDE&dl=GUIDE A chess mating combinations program]''. [https://en.wikipedia.org/wiki/American_Federation_of_Information_Processing_Societies AFIPS] [https://en.wikipedia.org/wiki/Joint_Computer_Conference Joint Computer Conferences]</ref>, also with a footnote <ref>"This is the [[Minimax|minimax]] assumption: namely that the opponent will make his strongest reply at every opportunity. [[John McCarthy|McCarthy.'s]] ''[[Killer Heuristic|killer heuristic]]'' (see [[Alan Kotok|Kotok]], [[Alan Kotok#1962|1962]]) assumes that a killing reply to one checking move may be a killing reply to other checking moves and thus should be looked at first" from '''4.''' ''The Executive and Heuristics of Search'' in [[George Baylor|George W. Baylor]], [[Herbert Simon|Herbert A. Simon]] ('''1966'''). ''[http://dl.acm.org/citation.cfm?id=1464182.1464233&coll=GUIDE&dl=GUIDE A chess mating combinations program]''. [https://en.wikipedia.org/wiki/American_Federation_of_Information_Processing_Societies AFIPS] [https://en.wikipedia.org/wiki/Joint_Computer_Conference Joint Computer Conferences]</ref> on [[John McCarthy|McCarthy.'s]] [[Killer Heuristic|killer heuristic]] referring [[Alan Kotok|Alan Kotok's]] 1962 paper <ref>[[Alan Kotok]] ('''1962'''). ''[http://www.kotok.org/AI_Memo_41.html Artificial Intelligence Project - MIT Computation Center: Memo 41 - A Chess Playing Program]''. [ftp://publications.ai.mit.edu/ai-publications/pdf/AIM-041.pdf pdf]</ref>, covering [[Alpha-Beta|alpha-beta]]. [https://en.wikipedia.org/wiki/Reuben_Fine Reuben Fine's] position from ''The Middlegame in Chess'' served as one example of Mater's ability <ref>[https://en.wikipedia.org/wiki/Reuben_Fine Reuben Fine] ('''1952'''). ''The Middlegame in Chess''. McKay</ref> <ref>r1bk2nr/p2p1pNp/n2B4/1p1NP2P/6P1/3P1Q2/P1P1K3/q5b1 w - - 0 1 ; Fine 1952, [https://github.com/wspeirs/chess/blob/master/src/test/resources/mate/BWTC.PGN chess/BWTC.PGN at master · wspeirs/chess · GitHub]</ref>.
|}
<span id="MaterII"></span>
=Mater II=
{|
|- style="vertical-align:top;"
| <fentt border="double" style="font-size:24pt">r1b2qrk/pp3p1p/4pPpQ/8/8/5N2/P4PPP/3R2KR</fentt>
!
| At its first level of search, '''Mater II''' also generates moves threatening mate in one. After generation and trying checking moves without success, but triggered after collecting useful informations of "nearly" mate with only one legal reply, Mater II considers none checking moves which put additional pressure to the enemy king's sector, that is moves which directly or indirectly ([[X-ray|x-ray]]) attack squares around the king. In this respect it resembles what [[Adriaan de Groot]] has called a "sample variation" <ref> [[Adriaan de Groot]] ('''1946'''). ''Het denken van den Schaker, een experimenteel-psychologische studie.'' Ph.D. thesis, [https://en.wikipedia.org/wiki/University_of_Amsterdam University of Amsterdam], advisor [[Mathematician#Revesz|Géza Révész]]; N.V. Noord-Hollandse Uitgevers Maatschappij, [https://en.wikipedia.org/wiki/Amsterdam Amsterdam]. Translated with the help of [[George Baylor]], with additions, (in '''1965''') as ''Thought and Choice in Chess''. Mouton Publishers, The Hague. ISBN 90-279-7914-6.</ref>, a kind of trial balloon sent up for the express purpose of gathering information to direct subsequent investigations. A further condition to finally add the move into the try-list is that after the move is internally made followed by a defender's [[Null Move|null move]], the resulting position is mate in one. Now, the defender's [[Move Ordering|move ordering]] heuristic needs to prefer moves that defend the mating square. Fine's diagram 97 <ref>r1b2qrk/pp3p1p/4pPpQ/8/8/5N2/P4PPP/3R2KR w - - 0 1 ; Fine 1952, [https://github.com/wspeirs/chess/blob/master/src/test/resources/mate/BWTC.PGN chess/BWTC.PGN at master · wspeirs/chess · GitHub]</ref> was given as example of the abilities of Mater II.
|}

=Board Representation=
Mater was written in [https://en.wikipedia.org/wiki/Information_Processing_Language IPL V] with its primary data structure of a [[Linked List|list]], and kept lists with a header (name) and [https://en.wikipedia.org/wiki/Attribute%E2%80%93value_pair attribute-value pairs] for each [[Squares|square]] and [[Pieces|piece]] to [[Board Representation|represent the board]], where values for piece and square attributes are addresses (cells) of lists again, yielding in an extensive network of relations among squares and pieces:

{| class="wikitable"
|-
! Name
! Attribut
! Value
|-
| rowspan="6" | H1
| Man on square
| M8
|-
| North
| H2
|-
| West
| G1
|-
| WNW
| F2
|-
| NW
| G2
|-
| NNW
| G3
|-
| ...
| ...
| ...
|-
| rowspan="5" | M8
| Man on what square
| H1
|-
| Type of man
| Rook
|-
| Color of man
| White
|-
| Move directions
| list of directions
|-
| Capture directions
| list of directions
|-
| ...
| ...
| ...
|}

=Move Generation=
In ''A chess mating combinations program'', Baylor and Simon further elaborate on [[Move Generation|move generation]], with two tacks, corresponding to a '''one-many''' or '''many-one''' approach. In trying to find all checking moves, one could either radiate out from the enemy king, and for each [[Squares|square]], search for a [[Pieces|piece]] that can get there and [[Check|check]] (one-many), or converge from the squares along the [[Direction#MoveDirections|move directions]] of each attacking piece onto the enemy king's square (many-one). If there are many pieces on the board, the former tends to be more effective, if few, the latter.

=Processing Speed=
Mater was written in an [https://en.wikipedia.org/wiki/Interpreted_language interpretive language] IPL, without any attempts to provide a special [https://en.wikipedia.org/wiki/Machine_code machine-language] representation for primitive board manipulation. The most difficult mates, requiring the examination of about 100 positions, were achieved in about 3 minutes on an [[IBM 7090]] <ref>[[George Baylor|George W. Baylor]], [[Herbert Simon|Herbert A. Simon]] ('''1966'''). ''[http://dl.acm.org/citation.cfm?id=1464182.1464233&coll=GUIDE&dl=GUIDE A chess mating combinations program]''. [https://en.wikipedia.org/wiki/American_Federation_of_Information_Processing_Societies AFIPS] [https://en.wikipedia.org/wiki/Joint_Computer_Conference Joint Computer Conferences] - Processing Speed</ref>.

=Namesake=
* [[Mater (Albillo)|Mater]] by [[Valentin Albillo]] <ref>[https://www.stmintz.com/ccc/index.php?id=151785 MATER === A simple Mate Searching Program] by [[José Antônio Fabiano Mendes]], [[CCC]], January 24, 2001</ref>

=See also=
* [[Various Classifications#Astronomy|Astronomy]]
* [[Chest]]
* [[MAPP]]
* [[Mate at a Glance]]
* [[Mate-in-two]]
* [[Mate Search]]
* [[NSS]]
* [[Perceiver]]

=Publications=
* [[Herbert Simon|Herbert A. Simon]], [http://www.cs.cmu.edu/simon/kfrank.html Peter A. Simon] ('''1962'''). ''[http://psycnet.apa.org/index.cfm?fa=search.displayRecord&UID=1963-06169-001 Trial and Error Search in Solving Difficult Problems: Evidence from the Game of Chess]''. Behavioral Science, Vol. 7, No. 4, pp. 425-429
* [[George Baylor|George W. Baylor]] ('''1965'''). ''[http://www.dtic.mil/docs/citations/AD0619018 Report on a Mating Combinations Program]''. SDC Paper, No. SP-2150, System Development Corporation, Santa Monica, Calif.
* [[George Baylor|George W. Baylor]], [[Herbert Simon|Herbert A. Simon]] ('''1966'''). ''[http://dl.acm.org/citation.cfm?id=1464182.1464233&coll=GUIDE&dl=GUIDE A chess mating combinations program]''. [https://en.wikipedia.org/wiki/American_Federation_of_Information_Processing_Societies AFIPS] [https://en.wikipedia.org/wiki/Joint_Computer_Conference Joint Computer Conferences], reprinted in [[Herbert Simon|Herbert A. Simon]] ('''1979'''). ''[http://yalepress.yale.edu/yupbooks/book.asp?isbn=9780300024326 Models of Thought]''. [https://en.wikipedia.org/wiki/Yale_University_Press Yale University Press], pp. 181-200, in [[David Levy]] (ed.) ('''1988'''). ''[[Computer Chess Compendium]]''.
* [[George Baylor|George W. Baylor]] ('''1966'''). ''A Computer Model of Checkmating Behaviour in Chess''. in [[Adriaan de Groot]], [[Walter R. Reitman]] (eds.) ('''1966'''). ''Heuristic Processes in Thinking''. International Congress of Psychology, [https://en.wikipedia.org/wiki/Nauka_%28publisher%29 Nauka], [https://en.wikipedia.org/wiki/Moscow Moscow]
* [[Herbert Simon]] ('''1973'''). ''Lessons from Perception for Chess-Playing Programs (and Vice Versa)''. Computer Science Research Review 1972-73, [http://digitalcollections.library.cmu.edu/awweb/awarchive?type=file&item=33779 pdf]
* [[Herbert Simon]], [[William Chase]] ('''1973'''). ''Skill in Chess''. [https://en.wikipedia.org/wiki/American_Scientist American Scientist], Vol. 61, No. 4, reprinted in [[David Levy]] (ed.) ('''1988''') ''[[Computer Chess Compendium]]'', [http://digitalcollections.library.cmu.edu/awweb/awarchive?type=file&item=44582 pdf]
* [[Max Bramer]] ('''1982'''). ''Finding Checkmates''. [https://en.wikipedia.org/wiki/Computer_and_Video_Games Computer & Video Games], [http://www.chesscomputeruk.com/html/publication_archive_1982.html Spring 1982], [http://www.chesscomputeruk.com/Computer___Video_Games_Spring_1982.pdf pdf] hosted by [[Mike Watters]]

=External Links=
* [https://en.wiktionary.org/wiki/mater mater - Wiktionary]
* [https://en.wikipedia.org/wiki/Mater Mater (disambiguation) from Wikipedia]
* [https://en.wikipedia.org/wiki/Alma_mater Alma mater from Wikipedia]
* [https://en.wikipedia.org/wiki/Alma_mater_%28disambiguation%29 Alma mater (disambiguation) from Wikipedia]
* [https://en.wikipedia.org/wiki/Stabat_Mater Stabat Mater from Wikipedia]
* [https://en.wikipedia.org/wiki/Stata_Mater Stata Mater from Wikipedia]

=References=
<references />

'''[[Engines|Up one Level]]'''

Navigation menu