From Chessprogramming wiki
Jump to: navigation, search

Home * Engines * NSS Chess Program

Johnniac [1]

NSS Chess Program, (Newell, Shaw, and Simon, also mentioned as Newell CP [2])
an early chess program developed in the the late 1950s by Carnegie Mellon University researchers Allen Newell and Herbert Simon, and Cliff Shaw at RAND Corporation. NSS ran on the JOHNNIAC (short for John v. Neumann Numerical Integrator and Automatic Computer), and was written in a high-level language developed by Shaw, known as Information Processing Language (IPL). It already used branch-and-bounds as an approximation to the alpha-beta algorithm.



In the late 1950s, Carnegie Mellon University researchers Allen Newell (r) and Herbert Simon (l),
together with Cliff Shaw (not shown) at the RAND Corporation, were early pioneers in the field of
artificial intelligence and chess software. The NSS program ran on the Johnniac computer ... [3]


given by Paul Rushton and Tony Marsland in 1973 [4] :

A goal directed approach to the game was adopted by Newell, Shaw, and Simon. Features of the game were associated with goals, each of which required a move generator, a static evaluator, and an analysis procedure. For ease of modification, each goal consisted of a separate procedure. In order to select which goals were relevant to a position, a preliminary analysis routine was invoked and the corresponding goals chosen were ordered by their suspected importance. This static set of goals controls the move generation process, including selection of variations, evaluation, and final choice.
Move generators for goals were responsible for proposing moves relevant to a particular goal and finding positive reasons for making these. The generators did not suggest continuations. A proposed move had then to be valued by an analysis procedure which was concerned with acceptability of that move. Before a position can be assigned a value it must be dead with respect to all goals. If a position is not dead for a particular goal, moves are suggested by the corresponding move generator and the resultant positions are checked to see if they are quiescent for all goals. If not, the above procedure is repeated, constituting an analysis of variations, until a position is reached which can be evaluated. The final choice depends on an acceptance value and if a move receives a value greater than this threshold it is played, otherwise the best move found by the alpha-beta backing up procedure will be made. This program did not realize the state of development and use that the more recent programs have; however, hand simulation gave an indication, in the openings at least, that the program would make moves for reasons similar to those of chess players. 


Bill Wall [5]

In 1958, a chess program (NSS) beat a human player for the first time. The human player was a secretary who was taught how to play chess one hour before her game with the computer. The computer program was played on an IBM 704. The computer displayed a level of chess-playing expertise greater than an adult human could gain from one hour of chess instruction. 

See also


External Links


  1. Johnniac computer, The Computer History Museum, California, by Andrew Lih, JOHNNIAC from Wikipedia
  2. Classic Computer Chess - ... The programs of yesteryear by Carey, hosted by the Internet Archive
  3. Aritificial Intelligence pioneers Allen Newell (right) and Herbert Simon 1958 Courtesy of Carnegie Mellon University, The Computer History Museum
  4. Paul Rushton, Tony Marsland (1973). Current Chess Programs: A Summary of their Potential and Limitations. INFOR Journal of the Canadian Information Processing Society Vol. 11, No. 1, pdf
  5. Computer Chess History by Bill Wall
  6. General Problem Solver from Wikipedia
  7. Re: Old programs CHAOS and USC by Dann Corbit, CCC, July 11, 2015

Up one Level