SOMA

Home * Engines * SOMA



SOMA, the Smith One-Move Analyzer, a chess program designed as one-ply analyzing "paper machine" by evolutionary biologist John Maynard Smith in the early 60s as a challenger to Machiavelli, of whose method of working he was in ignorance. Similar to their predecessors from the late 40s, Turochamp by Alan Turing and David Champernowne, and Machiavelli by Donald Michie and Shaun Wylie, SOMA looks one ply ahead, to do a static evaluation of all leaf-positions to choose the move which maximizes the evaluation score, considering material, center- and neighboring king square control. Since there was no quiescence search, swap-off values were used to determine own and opponent pieces en prise, and to modify the evaluation score accordantly.

=Features= John Maynard Smith's and Donald Michie's description of SOMA's evaluation features and weights from their 1961 paper Machines that play games, excerpt : We will suppose that SOMA is playing the white pieces. All White's legal moves are considered in turn, and the value of White's position after each is calculated; the move played is that which maximizes this value. In calculating the value of a position, the following factors are taken into account:

Material
(i) The value of White's pieces minus the value of Black's pieces, where P=10, Kt=B=30, R=50, Q=90, K=1,000.

Square Control
(ii) The value of the squares "attacked" by White's pieces. A typical square scores 1, one of the four central squares 2, and a square adjacent to the Black King 3. Each White piece is considered in turn, and the value of the squares to which that piece might legally move (whether or not that square is occupied by a piece) added up. Thus an opening move of e4 increases the value by 8 (4 new squares attacked by the Bishop, 3 by the Queen, plus 1 because the Pawn now attacks a central square). Three other opening moves, e3, Nf3, Nc3, also score plus 8, and no more scores more. In such cases SOMA decides by tossing a coin.

Misc
In addition to these three main items, the value of the pieces, the squares attacked and the expected gains and losses from swapping off, SOMA has rules which encourage castling, which discourage him from leaving pieces where they can be threatened by an opponent's pawn advance, and which enable him to allow for the fact that one of his pieces is pinned.

Except for the occasional need to toss a coin, SOMA's next move is determined by the results of a rigidly defined calculation, which could in principle performed by a computer. A single move takes a human about five minutes to calculate. Machiavelli works along similar lines, but has more instructions concerning the strategical value of his position, and rather less tactical insight.

=SOMA - Machiavelli= Following game between SOMA and Machiavelli was played, with the conclusion that it seems unlikely that a one-ply analyzer would beat any but the most inexperienced human player. [Event "?"] [Site "?"] [Date "1961.??.??"] [Round "?"] [White "SOMA"] [Black "Machiavelli"] [Result "1/2-1/2"]

1.e3 e5 2.d4 Nc6 3.Nc3 d5 4.Nf3 e4 5.Ne5 Bb4 6.Nxc6 bxc6 7.Bd2 Nf6 8.a3 Bd6 9.h4 Bg4 10.Be2 Qd7 11.O-O O-O-O 12.f3 Bf5 13.fxe4 Bxe4 14.Ba6+ Kb8 15.Nxe4 Nxe4 16.Qe2 Qe6 17.Ba5 Ng3 18.Qf3 Nxf1 19.Rxf1 f6 20.Rd1 Qe4 21.Qxe4 dxe4 22.d5 cxd5 23.Rxd5 {diagram} Be5 24.Rb5+ Ka8 25.Bb7+ Kb8 26.Bxe4+ Kc8 27.Bf5+ Rd7 28.Bxd7+ Kxd7 1/2-1/2 {agreed}
 * 1k1r3r/p1p3pp/B2b1p2/B2R4/4p2P/P3P3/1PP3P1/6K1

1k1r3r/p1p3pp/B2b1p2/B2R4/4p2P/P3P3/1PP3P1/6K1 b - - 0 23 Machiavelli misses 23... Bh2+ 24. Kxh2 Rxe5, SOMA would have played this move. After Bh2+ there would be two white pieces en prise, the King and Rook, with S=1,000 and S=50, for which SOMA playing Black, would score +55; there would be one Black piece, the Bishop en prise, with S=30, for which SOMA would score -30. So, apart from the value of squares attacked, the move would score 25, which is more than any other. =SOMA Algorithm= Based on the program's name with its swap-off feature, SOMA has become an acronym for Swapping Off Material Analyzer, as a statical analysis of all possible capture-move sequences. Some early chess programs had no quiescence search but performed a SOMA like exchange evaluation, for instance Schach, Coko, Schach MV 5,6, early Sargon and Rebel versions, and notably programs by Richard Lang and Jeff Rollason. Dan and Kathe Spracklen credit Donald Michie and his 1974 book On Machine Intelligence as a reference: Michie's book provides an excellent treatment of exchange evaluation. He uses the concept of a exchange polynomial for accurately determining the outcome of battles engaged on the board. The basic approach we used in XCHNG, the Sargon exchange evaluator, turned out to be surprisingly similar. Sargon's approach, however, is far less computationally complex. We highly recommend this reference to anyone plannig to write a chess program without look-ahead.

In the domain of Computer Shogi, Jeff Rollason proposed an algorithm called SUPER-SOMA, an enhanced SOMA algorithm with Shogi-specific features.

=See also=
 * Acronym
 * Ed's Lookup from Attack and Defend Maps
 * Machiavelli
 * MVV-LVA
 * SEE - The Swap Algorithm
 * Static Exchange Evaluation
 * Swap-off by Helmut Richter
 * Turochamp

=Publications=
 * John Maynard Smith, Donald Michie (1961). Machines that play games. New Scientist, 12, 367-9. google books
 * Donald Michie (1966). Game Playing and Game Learning Automata. Advances in Programming and Non-Numerical Computation, Leslie Fox (ed.), pp. 183-200. Oxford, Pergamon. Includes Appendix: Rules of SOMAC by John Maynard Smith
 * Donald Michie (1974). On Machine Intelligence. Edinburgh: University Press, ISBN 10: 085224262X, ISBN 13: 9780852242629, abebooks.com, alibris.com, biblio.com
 * Dan Spracklen, Kathe Spracklen (1978). An Exchange Evaluator for Computer Chess. BYTE, Vol. 3, No. 11
 * Jeff Rollason (2000). SUPER-SOMA - Solving Tactical Exchanges in Shogi without Tree Searching. CG 2000, Word preprint
 * Hiroyuki Iida, Makoto Sakuta, Jeff Rollason (2002). Computer Shogi. Artificial Intelligence, Vol. 134, Elsevier, CiteSeerX
 * Jeff Rollason (2006). Looking for Alternatives to Quiescence Search. AI Factory, Autumn 2006

=Forum Posts=
 * Computer Chess: swap down evaluators vs capture search by Jon Dart, rgc, October 24, 1994 » Quiescence Search
 * Re: Computer Chess: swap down evaluators vs capture search by Deniz Yuret, rgc, October 26, 1994


 * Re: Movei added to Crafty vs Rybka comaprison data by Edsel Apostol, CCC, June 06, 2007
 * SOMA by Gerd Isenberg, CCC, July 04, 2009

=External Links=
 * Soma (disambiguation) from Wikipedia
 * Soma from Wikipedia
 * Perikaryon from Wikipedia
 * Soma cube from Wikipedia
 * The Smashing Pumpkins - Soma, Terminal 5, October 18, 2011, YouTube Video

=References=

Up one Level