In Jeff Rollason's SUPER-SOMA paper, he mentions the well known SOMA-Algorithm (without further reference), which seems a static exchange evaluator for single squares. In Bartel, Kraas, Schrüfer 1985 Das grosse Computer Schach Buch, they mention a chess program from 1961 by M. Smith called SOMA, which searches one ply without quiescence search. Additionally there was the chess program Schach by Rolf C. Smith and Franklin D. Ceruti, which played the early ACM events, and also utilized square controls for static exchange evaluation.
I can't find any information in the Web on Smith's SOMA program. Does anybody have further information on Smith's program and the origin of the name SOMA?
Thanks,
Gerd
SOMA
Moderators: hgm, Rebel, chrisw
-
- Posts: 2250
- Joined: Wed Mar 08, 2006 8:47 pm
- Location: Hattingen, Germany
-
- Posts: 20943
- Joined: Mon Feb 27, 2006 7:30 pm
- Location: Birmingham, AL
Re: SOMA
No details there. But the first SEE I saw (pun intended) was in Coko in 1970, by Dennis Cooper and Ed Kozdrowicki.Gerd Isenberg wrote:In Jeff Rollason's SUPER-SOMA paper, he mentions the well known SOMA-Algorithm (without further reference), which seems a static exchange evaluator for single squares. In Bartel, Kraas, Schrüfer 1985 Das grosse Computer Schach Buch, they mention a chess program from 1961 by M. Smith called SOMA, which searches one ply without quiescence search. Additionally there was the chess program Schach by Rolf C. Smith and Franklin D. Ceruti, which played the early ACM events, and also utilized square controls for static exchange evaluation.
I can't find any information in the Web on Smith's SOMA program. Does anybody have further information on Smith's program and the origin of the name SOMA?
Thanks,
Gerd
-
- Posts: 737
- Joined: Wed Mar 08, 2006 8:08 pm
- Location: Orange County California
- Full name: Stuart Cracraft
Re: SOMA
The first time I heard the name "SOMA"
was in a puzzle I had as a kid:
http://en.wikipedia.org/wiki/Soma_cube
Apparently it was invented on the fly. Not
a very hard puzzle. Harder than Instant
Insanity but easier than Rubik's Cube.
Later, I heard the name "SOMA" in a Huxley
novel I read (Brave New World) where it refers
to a drug the totalitarian state uses to control
its populace (or at least to quell disobedience.)
Apparently the name goes back a lot further than
recent science fiction:
http://en.wikipedia.org/wiki/Soma
I would be very surprised if the chess SOMA
is not somehow associated with one of
the two above or the generic beginnings
of SOMA outlined in the second Wiki above
but one can never tell what an inventor was
thinking at the time of a naming of something
during its creation/description... even he
might not know!
--Stuart
was in a puzzle I had as a kid:
http://en.wikipedia.org/wiki/Soma_cube
Apparently it was invented on the fly. Not
a very hard puzzle. Harder than Instant
Insanity but easier than Rubik's Cube.
Later, I heard the name "SOMA" in a Huxley
novel I read (Brave New World) where it refers
to a drug the totalitarian state uses to control
its populace (or at least to quell disobedience.)
Apparently the name goes back a lot further than
recent science fiction:
http://en.wikipedia.org/wiki/Soma
I would be very surprised if the chess SOMA
is not somehow associated with one of
the two above or the generic beginnings
of SOMA outlined in the second Wiki above
but one can never tell what an inventor was
thinking at the time of a naming of something
during its creation/description... even he
might not know!
--Stuart
-
- Posts: 24
- Joined: Fri Mar 10, 2006 3:29 pm
- Location: Zurich, Switzerland
Re: SOMA
Have you read this description? http://www.aifactory.co.uk/newsletter/2 ... e_alts.htm
It describes SOMA's SEE: "This text assumes that the reader is familiar with the idea of simple swap-off algorithms for determining the values of captures on single squares. This mechanism first appeared in the chess program SOMA, and is used in many Chess programs. It determines the point at which an exchange stops on a square, perhaps with no exchange occurring. It initially assumes that a complete exchange will occur and then iteratively each side can choose to stop the exchange earlier by not making an exchange, until neither side can improve the result."
It describes SOMA's SEE: "This text assumes that the reader is familiar with the idea of simple swap-off algorithms for determining the values of captures on single squares. This mechanism first appeared in the chess program SOMA, and is used in many Chess programs. It determines the point at which an exchange stops on a square, perhaps with no exchange occurring. It initially assumes that a complete exchange will occur and then iteratively each side can choose to stop the exchange earlier by not making an exchange, until neither side can improve the result."
-
- Posts: 2250
- Joined: Wed Mar 08, 2006 8:47 pm
- Location: Hattingen, Germany
Re: SOMA
No, I was not aware of that description - only Jeff's paper:Alessandro Damiani wrote:Have you read this description? http://www.aifactory.co.uk/newsletter/2 ... e_alts.htm
It describes SOMA's SEE: "This text assumes that the reader is familiar with the idea of simple swap-off algorithms for determining the values of captures on single squares. This mechanism first appeared in the chess program SOMA, and is used in many Chess programs. It determines the point at which an exchange stops on a square, perhaps with no exchange occurring. It initially assumes that a complete exchange will occur and then iteratively each side can choose to stop the exchange earlier by not making an exchange, until neither side can improve the result."
Jeff Rollason (2000). SUPER-SOMA - Solving Tactical Exchanges in Shogi without Tree Searching, which is available as word doc. After searching that paper again I found:
Ok, SOMA algorithm by Donald Michie 1966!?The core of the proposed work is to attempt to predict exchanges across the whole board. There is already an algorithm called SOMA that does this (Michie, D - 1966), but only considers each square in isolation. This does not allow whole board situations to be assessed. SUPER-SOMA needs to find a mechanism to cross-reference these potential exchanges in such a way that sequences of moves from different parts of the board can be predicted.
In Kraas and Schrüfer (1985) they mention the chess program SOMA by M. Smith from 1961, and now we'll find on the AI-Factory site:
Ok, Chess programming history "research" is really interestingThis mechanism first appeared in the chess program SOMA, and is used in many Chess programs.
Cheers,
Gerd
Re: SOMA
Hi Gerd,
The first 2-3 years of Rebel were without QS. Reason: never heard of it. In those days there were hardly any papers available. So I had invented a static evaluator for hanging pieces, even a static evaluator for mate. Heck, I even had not alpha/beta, I had my own
In the last version there are still traces of the first Rebel regarding detecting hanging pieces it is described at my pages, see:
http://www.top-5000.nl/authors/rebel/chess840.htm#HW
The idea was: if you have the 2 major "hanging pieces" together with the squares that attack them and you have the 2 major opponent pieces under attack (winning pieces) together with the squares that attack them you can do a reasonable reliable static guess which piece will be lost (or won) and adapt the score, even when pins were involved. When I tried QS it was superior and I was happy to throw out all the complicated code.
Ed
The first 2-3 years of Rebel were without QS. Reason: never heard of it. In those days there were hardly any papers available. So I had invented a static evaluator for hanging pieces, even a static evaluator for mate. Heck, I even had not alpha/beta, I had my own
In the last version there are still traces of the first Rebel regarding detecting hanging pieces it is described at my pages, see:
http://www.top-5000.nl/authors/rebel/chess840.htm#HW
The idea was: if you have the 2 major "hanging pieces" together with the squares that attack them and you have the 2 major opponent pieces under attack (winning pieces) together with the squares that attack them you can do a reasonable reliable static guess which piece will be lost (or won) and adapt the score, even when pins were involved. When I tried QS it was superior and I was happy to throw out all the complicated code.
Ed
Gerd Isenberg wrote:In Jeff Rollason's SUPER-SOMA paper, he mentions the well known SOMA-Algorithm (without further reference), which seems a static exchange evaluator for single squares. In Bartel, Kraas, Schrüfer 1985 Das grosse Computer Schach Buch, they mention a chess program from 1961 by M. Smith called SOMA, which searches one ply without quiescence search. Additionally there was the chess program Schach by Rolf C. Smith and Franklin D. Ceruti, which played the early ACM events, and also utilized square controls for static exchange evaluation.
I can't find any information in the Web on Smith's SOMA program. Does anybody have further information on Smith's program and the origin of the name SOMA?
Thanks,
Gerd
-
- Posts: 2250
- Joined: Wed Mar 08, 2006 8:47 pm
- Location: Hattingen, Germany
Re: SOMA
Hi Ed,rebel777 wrote:Hi Gerd,
The first 2-3 years of Rebel were without QS. Reason: never heard of it. In those days there were hardly any papers available. So I had invented a static evaluator for hanging pieces, even a static evaluator for mate. Heck, I even had not alpha/beta, I had my own
In the last version there are still traces of the first Rebel regarding detecting hanging pieces it is described at my pages, see:
http://www.top-5000.nl/authors/rebel/chess840.htm#HW
The idea was: if you have the 2 major "hanging pieces" together with the squares that attack them and you have the 2 major opponent pieces under attack (winning pieces) together with the squares that attack them you can do a reasonable reliable static guess which piece will be lost (or won) and adapt the score, even when pins were involved. When I tried QS it was superior and I was happy to throw out all the complicated code.
Ed
thanks, interesting and really incredible that you started without qsearch and your own alpha-beta in 1980. You used Z80 assembly (TRS-80) in those days? I think a good source was Chess Skill in Man and Machine by Peter W. Frey in that time, and probably the first ICCA-Newsletters.
I am aware of your hanging piece code as refered in Attack and Defend Maps from chess progamming wiki. In the meantime, do you know something about a chess program SOMA by some M. Smith from 1961, one ply without qsearch? Or the SOMA algorithm by Donald Michie from 1966?
Cheers,
Gerd