Home * Engines * 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.
Structure of a typical neuron [1]


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 [2] :
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:


(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.

Swap-off Value

(iii) The expected gain or loss if pieces en prise are captured. SOMA first calculates the "swap-off value" S for each piece, Black or White, which is en prise. S is a simple function of the value of the piece itself and of those which attack or defend it; it represents what the owner of the piece would lose if both players behaved efficiently. Thus a White Knight defended by a Pawn and attacked by a Knight and a Bishop has S=30-30+10=10 (White loses a Knight and Pawn for a Knight), whereas a White Pawn defended by a Pawn and attacked by a Knight has S=0, because Black would not make the capture. S is necessarily zero or positive.

If only one Black piece en prise has a positive value S, White adds 5 to the value of his position. For suppose a Black Queen is attacked by a Pawn, it would be wrong to credit White with the full 90 points, since Black will almost certainly move his Queen, but White does score 5 for having the "initiative". If two or more Black pieces are en prise with positive value of S, White adds the second highest value of S, plus 5 for every other positive value; this supposes that Black will move the piece with the highest S.

For the White pieces en prise, SOMA subtracts from the value of his position the highest value of S, plus 5 for every other White piece with a positive value of S.

These rules concerning pieces en prise sound more complicated than they are. They ensure that SOMA will move or defend any White piece which Black can capture with advantage, that he will harry his opponent's pieces (+5 for initiative), and that he will fork his opponent of the opportunity arises, but they do not enable him to foresee a fork by his opponent. The effect of these rules in a more complex position is explained in the note to move 23 below.


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 b - - 0 23
    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 [3]. 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 [4] and Rebel versions [5], and notably programs by Richard Lang [6] and Jeff Rollason. Dan and Kathe Spracklen [7] credit Donald Michie and his 1974 book On Machine Intelligence [8] 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 [9], 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 [10], an enhanced SOMA algorithm with Shogi-specific features [11].

See also


Forum Posts

External Links


  1. ^ Perikaryon from Wikipedia
  2. ^ John Maynard Smith, Donald Michie (1961). Machines that play games. New Scientist, 12, 367-9. google books
  3. ^ Hiroyuki Iida, Makoto Sakuta, Jeff Rollason (2002). Computer Shogi. Artificial Intelligence, Vol. 134, Elsevier, CiteSeerX
  4. ^ Dan Spracklen, Kathe Spracklen (1978). An Exchange Evaluator for Computer Chess. BYTE, Vol. 3, No. 11
  5. ^ Re: SOMA by Ed Schröder, CCC, August 12, 2009
  6. ^ Richard Lang - Question & Answer Interview given to a German magazine in 2003, pdf hosted by Mike Watters, Chess Computer UK
  7. ^ Dan Spracklen, Kathe Spracklen (1978). First Steps in Computer Chess Programming. BYTE, Vol. 3, No. 10, pdf from The Computer History Museum
  8. ^ Donald Michie (1974). On Machine Intelligence. Edinburgh: University Press, ISBN 10: 085224262X, ISBN 13: 9780852242629, abebooks.com, alibris.com, biblio.com
  9. ^ Sargon Z80 assembly listing by Dan and Kathe Spracklen, hosted by Andre Adrian, see XCHNG
  10. ^ Jeff Rollason (2000). SUPER-SOMA - Solving Tactical Exchanges in Shogi without Tree Searching. CG 2000, Word preprint
  11. ^ Jeff Rollason (2006). Looking for Alternatives to Quiescence Search. AI Factory, Autumn 2006
  12. ^ see Swap-off by Helmut Richter

What links here?

Up one Level