WO2007142861A2 - Method and apparatus for chess instruction - Google Patents

Method and apparatus for chess instruction Download PDF

Info

Publication number
WO2007142861A2
WO2007142861A2 PCT/US2007/012408 US2007012408W WO2007142861A2 WO 2007142861 A2 WO2007142861 A2 WO 2007142861A2 US 2007012408 W US2007012408 W US 2007012408W WO 2007142861 A2 WO2007142861 A2 WO 2007142861A2
Authority
WO
WIPO (PCT)
Prior art keywords
moves
game
move
chess
database
Prior art date
Application number
PCT/US2007/012408
Other languages
French (fr)
Other versions
WO2007142861A3 (en
Inventor
Ralph Nagel
Joseph Nagel
Original Assignee
Ralph Nagel
Joseph Nagel
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ralph Nagel, Joseph Nagel filed Critical Ralph Nagel
Publication of WO2007142861A2 publication Critical patent/WO2007142861A2/en
Publication of WO2007142861A3 publication Critical patent/WO2007142861A3/en

Links

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F3/00Board games; Raffle games
    • A63F3/02Chess; Similar board games
    • A63F3/022Recording or reproducing chess games
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F3/00Board games; Raffle games
    • A63F3/02Chess; Similar board games
    • A63F3/022Recording or reproducing chess games
    • A63F2003/025Recording or reproducing chess games for teaching chess
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F9/00Games not otherwise provided for
    • A63F9/24Electric games; Games using electronic circuits not otherwise provided for
    • A63F2009/2483Other characteristics
    • A63F2009/2488Remotely playable

Definitions

  • the present invention relates to the game of chess and, more particularly, to a chess instructional system in which instructional chess puzzles are computer-generated.
  • Chess Mentor ® presents various chess puzzles (problems) to be solved by moving virtual chess pieces on a board on a computer screen.
  • Chess Mentor ® provides with each puzzle Hints that help solve the puzzle, Instructions regarding the nature of the puzzle and Commentary on the player's efforts in solving the puzzle.
  • the puzzles, including their Information, Hints, and Commentary are authored by a person, typically a chess expert, and frequently concentrate on particular aspects of the game.
  • Chess Mentor ® has enjoyed well deserved success, it does not approach the level of a live chess coach who can recognize a player's particular strengths and weaknesses and focus attention on those areas where improvement is most needed and often overlooked.
  • the system of the present invention makes a novel use of known chess engine software to create instructional puzzles (including Information, Hints and Commentary) that are computer-generated and tailored to the play of a particular (user) player.
  • chess engines computer software programs that play chess (referred to herein as "chess engines") are regularly able to dominate human players.
  • chess engines There are numerous chess engines that are available to players (some for a fee and some free) such as the popular free chess engine software known by the acronym "CRAFTY”.
  • the chess engine searches the possible moves available and determines the next move that will have the most favorable result (this move is often referred to as the "top ranked" move and will be so referred to herein) assuming that the opponent counters with top ranked moves.
  • the number of forward moves considered by the engine in arriving at the top ranked move is a function of the search time allotted to the engine. Every legal move considered by the chess engine is given a numerical score reflecting the results of making that move and following that move with the moves that the engine would make from that point forward.
  • chess engines have also been used to provide an analysis of a game score (the game notation that records the game moves and allows the game to be replayed exactly) of an actual played game.
  • the game score can be entered into the chess engine using standard chess notation and the engine will create a database that provides a numerical score for each game move and identifies the corresponding top ranked move that the computer would have made from that position and the numerical score for that top ranked move.
  • the numerical score of a move is reflective of the result of making that move followed by the moves (top ranked) that the chess engine would make from that point forward.
  • the engine provides the PV for the top ranked move, as well as the game move.
  • Chess engine software used to analyze a game is referred to herein as a "chess engine analyzer” (program).
  • the database created by a chess engine analyzer as presently known in the art is referred to herein as a "standard comparative game analysis” database (“SCGA database”).
  • database refers to a collection of Nagel0701 3
  • table refers to a particular collection of data in a database and when a database is said to contain a plurality of such tables, it is to be understood that such tables may or may not exist simultaneously at any given point in time.
  • Such web sites typically include the service of maintaining a file of the games scores of all games played by a member player. It is not unusual for an active player to accumulate hundreds of games in the course of a year or so. Accordingly, vast files of game scores accumulate at such web sites and typically are rarely used by anyone, including the players.
  • the present invention advances the art of computer-aided chess instructional programs by tapping the power of chess engines to create a searchable database from game scores of past played games and create instructional puzzles therefrom as valuable and effective teaching tools that, for the first time, approach the level of sophistication of a live coach.
  • the present invention comprises a database of information created by a chess engine analyzer from records (scores) of past played chess games and a puzzle generator (program) that creates instructional puzzles from the information in the database.
  • a chess analyzer When a chess analyzer is fed the score (record) of one or more chess matches (games), it produces an output that typically includes, in addition to the game scores themselves (which include the individual game moves for both black and white), the numerical ranked score for each game move, the top ranked move for each game move (the move that the computer would have made in the same circumstance), the numerical ranked score of each such top ranked move, and the principal variation ("PV") for the game move (the top ranked move and all subsequent top ranked moves that the chess engine would have made in place of the game move).
  • the game scores themselves which include the individual game moves for both black and white
  • the numerical ranked score for each game move the top ranked move for each game move (the move that the computer would have made in the same circumstance)
  • the numerical ranked score of each such top ranked move the principal variation
  • PV principal variation
  • a database constructed as described above can, upon proper inquiry, identify a plurality of played moves that all relate to a particular area of Nagel0701 4
  • the database could be asked to identify all moves from the various game scores that could have produced a mate within a given number of moves or less and failed to do so, or that failed to block mate by an opponent that could have, or were more than two points lower in score than the corresponding top ranked move.
  • the possible inquiries to the database to collect sets of game moves that reveal certain playing characteristics or shortcomings of a player that, if eliminated, would improve the player's level of play is limited only by the imagination of the programmer.
  • the files of played game scores stored for players at playing web sites can be turned into valuable tools for gaining a keen insight to a player's abilities and the specific areas where improvements can be made.
  • a database so constructed can supply sufficient information from which, to create instructive puzzles by the puzzle generator of the invention to address those areas of exposed "weakness where improvement is needed and possible.
  • the database supplied by the chess engine analyzer is expanded to include data in addition to that typically provided by a prior art analyzer in order to produce more sophisticated puzzles.
  • a chess engine that normally provides a standard chess game analysis (SCGA) database as described above is programmed to provide additional information and thereby produce an extended comparative game analysis database ("ECGA database").
  • the ECGA database is produced by programming a chess engine to provide such additional information as the identity of not only the top ranked move for every game move in a game score, but also a series of alternate, but lesser, ranked moves for each such game move, which moves are referred to herein as "alternative ranked moves".
  • One way to identify alternative ranked moves is by instructing the chess engine analyzer to repeatedly apply the standard analysis to each game move with the instruction to the chess engine analyzer to successively eliminate from the possible results all top ranked moves previously identified by the engine for that game move.
  • the engine analyzer is also programmed to provide the ranked score for each such alternative ranked move so identified.
  • chess engine analyzer is programmed to provide the alternative ranked moves for each top ranked move of a principal variation (PV) along with their ranked scores.
  • PV principal variation
  • a chess engine analyzer could be programmed to provide yet additional data, as will be apparent to those skilled in the art, without departing from the scope of the invention.
  • a novel computer program (“Puzzle Generator”) generates chess puzzles from the information in either a SCGA database or the ECGA database. Using the information available in either database, the Puzzle Generator creates instructional chess puzzles that form the basis of a highly sophisticated instruction program suitable for all players from beginners to masters. These instructional puzzles can then be presented to a player for solution and instruction.
  • the puzzles created by the Puzzle Generator can provide instruction in those specific areas of the game where the database reveals that the user is in most need of improvement.
  • the present invention is able to create and present to a user instructional chess puzzles that are specifically tailored to the particular needs of that user, regardless of the user's level of sophistication.
  • the Puzzle Generator can be programmed in other ways to create and select puzzles that provide specific instruction based on a variety of criteria. In that regard, the puzzle-creating process is preceded by inquiries to the database to identify those game moves that have certain computer-identifiable characteristics such as those described above. Once these game moves are so identified, they can be used by the Puzzle Generator to create instructional puzzles.
  • the methods and apparatus of the present invention provide chess instructional material that is sophisticated, relevant to all levels of player ability and capable of creating and presenting instructional puzzles that are designed to address the specific playing characteristics of an individual user.
  • Another object of the invention is to provide a database of information from a chess engine analyzer which has been fed the game scores of a plurality of played chess games, including the moves made by both players of the games, which database can be queried to identify those moves that represent a particular characteristic of play (weakness or strength).
  • Another object of the present invention is to provide a database of information and a puzzle generator that constructs instructional puzzles from the database information.
  • ECGA extended chess game analyzer
  • Another object of the present invention is to provide an ECGA database that is created from a game record (or a portion or a plurality of game records) by a single player and create instructional puzzles from that database.
  • a further object of the present invention is to provide a web-based, non-downloadable program by which chess players can submit played games over the Internet and receive a series of instructional puzzles to be solved based on the players' own playing characteristics as demonstrated in the submitted games.
  • Fig. 1 is a flow diagram showing the system of the invention
  • Fig. 2 is a flow diagram of the system of the invention similar to Fig. 1 having a prior art SCGA database;
  • Fig. 3 is a flow diagram of the system of the invention similar to Fig. 1 having a novel ECGA database;
  • Fig. 4 is a sample PGN Game Record using standard chess notation
  • Fig. 5 is an example of a printout of a portion of a PGN Game Record Nagel0701 7
  • Fig. 6 is an example of a portion of a printout of a PGN Game Record analyzed by a CRAFTY chess engine analyzer instructed to provide an extended chess game analysis (SCGA);
  • SCGA extended chess game analysis
  • Fig. 7 is another example of a portion of a printout of a PGN Game Record analyzed by a CRAFTY chess engine analyzer instructed to provide an extended chess game analysis (SCGA);
  • SCGA extended chess game analysis
  • Fig. 8 is a representation of the screen of an interactive display device displaying the various elements of an instructional game puzzle of the present invention.
  • Fig. 9 is a flow diagram of an alternative embodiment of the invention in which access to the system is via the Internet.
  • a system 11 of the present invention comprises a chess engine analyzer 12, such as CRAFTY, that can receive chess notation data 13 (game score or record) that comprise a record of chess moves 14 of a recorded chess game.
  • chess engine analyzer 12 such as CRAFTY
  • the chess notation data 13 will include not only the recorded moves 14 made by the players during the game ("played moves” or “recorded moves"), but also identifying information 13a, such as the identities of the players, which pieces (black or white) they played, the date and location of the match, whether one side or the other has castled, etc.
  • the sample PGN (Portable Game Notation) Game Record of Fig. 4 uses a universally recognized notation system that is understood by those familiar with the art of chess and therefore need not be further explained herein.
  • the data from analyzer 12 is recorded in various tables in database 20, as more fully described below.
  • the database 20 supplies information to a puzzle generator 30 that creates instructional puzzles 41 having puzzle moves 42 that are recorded in a puzzle database 40 from which they can be displayed on an interactive display device 50 for solution by a player 60.
  • a chess game analyzer 12 such as CRAFTY, performs a standard comparative game analysis (SCGA) on the data 13 which produces four tables of data in addition to a game score table 15 that Nagel0701 8
  • the four additional tables include: (1) a game move score table 15a that records the ranked scores 14s for each recorded move 14; (2) a top ranked move table 15b that records the identifies of the top ranked move 16 that the chess engine analyzer 12 would have made from the same starting position as move 14; (3) a top ranked moves score table 15c that records the scores 16s for moves 16 as determined by the engine analyzer 12; and (4) the subsequent ranked moves table 15d which records the PV moves 17 that follow the top ranked move 16 which together constitute the PV for move 14.
  • the information in SCGA database 7 provides the following information for each move 14 of a played game 13: (a) the move 16 that the chess engine analyzer 12 would have made place of the move 14; (b) the subsequent ranked moves (PV moves) 17 that the chess engine analyzer 12 would have played after move 16; (c) the score 16s of the top ranked move 16; and (d) the ranked score 14s of game moves 14.
  • This information is typically presented to a player in a printout (either in hard copy or digitally on a screen) having the format as illustrated in Fig. 5. Prior to the present invention, the only use made of this information was to present it to the player in the form of Fig. 5. For the first time, the present invention takes the information in a database, subjects it to further analysis (screening) and creates instructional puzzles 41 that can be tailored to a particular player to assist that player in improving his/her skill level.
  • the analysis performed by the chess engine analyzer 12 is expanded to create an extended chess game analysis (ECGA) in order for the system 11 to be able to create a more extensive database and therefrom more sophisticated puzzles 41.
  • ECGA extended chess game analysis
  • the ECGA database creates additional data tables from which a player 60 and the puzzle generator 30 can be more fully informed and from which sophisticated instructional puzzles 41 can be computer-generated.
  • the chess engine analyzer 12 is programmed to receive a chess game record 13 (which may be a part of a game, an entire game and/or a Nagel0701 9
  • an extended analysis is provided by chess engine analyzer 12 by being instructed to provide the following additional data in the following additional tables: (5) a subsequent ranked moves scores table I5e that records the scores 17s of the subsequent ranked moves 17; (6) an alternative ranked game moves table 15f that records alternative (lesser) ranked moves 18 for a game move 14 that lie below (scorewise) top ranked move 16; (7) an alternative ranked moves scores table 15g that records the ranked scores 18s for the alternative ranked moves 18; (8) a PV alternative ranked moves table 15h that records N number of alternative (lesser) ranked moves 19 for each PV move 17; and (9) a PV alternative ranked moves scores table I5i that records the scores
  • Alternative ranked moves such as 18 can be identified by re-running the analysis for a recorded move 14 with the instruction to the analyzer 12 that each time cycled, the results not include any previously identified top ranked moves 16. Each time the analysis is performed, the alternative ranked move with the next highest score will be identified. In this way, the chess engine analyzer 12 provides for each recorded move 14 the top ranked move 16 and a series of alternative lesser ranked moves 18 having descending score values.
  • the alternative ranked moves for PV moves 16 and 17 can be determined in the same way. Other ways may exist for determining alternative ranked moves which would be within the scope of the invention which is not dependant on how the alternative ranked moves are determined.
  • a further extension of information that is advantageously made available at ECGA database 20 is an accounting for all of the pieces on the board when a move 14 was made. This is referred to herein as a "count of material on the board" 26 and is recorded in a count of material on the Nagel0701 10
  • a related datum is the relative strength of each side at the time a move 14 is made which is referred to herein as "count of the material balance white versus black" 27, which is recorded in count of the material balance white versus black table 151.
  • the database 20 can also include tables of any other useful information on each position at the time a game move 14 is made and the game as a whole.
  • Fig. 6 is a printout of a portion of database 20 wherein the engine was instructed to output N ranked moves for each game move 14.
  • the played move is noted along with its score.
  • the played move was g6 with a score of -7.96, while the top ranked move is Rd8+ with a score of +0.01.
  • the second alternative ranked move (18) is ReI with a score (18s) of -4.62.
  • White scores are based on a positive scale while Black scores are based on a negative scale.
  • Fig. 7 is a printout of a portion of database 20 containing the information in PV alternative ranked moves (19) table 15h and PV alternative ranked moves (19) scores (19s) table 15i which correspond to the information in Fig. 6.
  • An instructional puzzle 41 that was presented to a user 60 for solution can be identified as a "solved puzzle” 21 and recorded in a solved puzzles data table 15j in database 20 along with the move 14 on which the puzzle 41 was based and the steps taken by the user 60 using the interactive display device 50 to solve or attempt to solve the puzzle 41.
  • the data in tables 15a- 151 inform the ECGA database 20 with data from which puzzle candidate moves 32 can be selected from the table 15 (of recorded game moves 14) to form the basis of an instructional puzzle 41.
  • the tables 15a, 15c and 15e of scores 14s, 16s, and 18s, respectively provide an objective scale 24 (not shown) against which the quality of the played move 14 can be compared.
  • the score 14s of the recorded move 14 might show, when compared to the scores 18s of the alternative (lesser) ranked moves, to be high on the list of ranked moves and thus a good (even if not the best) move, or it could show that the move 14 was low on the list and thus a poor move.
  • scale 24 can be used Nagel0701 H
  • ECGA analyzer 12 The extended analyses performed by ECGA analyzer 12 described above are not meant to be exhaustive, as it will occur to those skilled in the art that the chess engine analyzers 12 can be programmed to create different tables of data in addition to those described above and further inform ECGA database 20.
  • the ECGA database 20 provides a rich source of data that can be mined by puzzle generator program 30 to create a puzzle database 40 of instructional puzzles 41.
  • puzzle generator 30 creates a sub-set table 31 containing candidate moves 32 that are a sub-set of game moves 14 selected or qualified according to a set of criterion that can be set by a player 60 and/or programmed into the puzzle generator 30 as a default.
  • the candidate moves 32 are those moves determined by the puzzle generator 30 (according to a set of criterion) to contain an instructional opportunity for the player 60.
  • the puzzle generator 30 determines if it is suitable as the basis of an instructive puzzle and, if so, creates one or more instructional puzzles 41 based on that candidate move 32.
  • the instructional puzzles 41 are contained in a puzzle database 40 from which they can be presented for solution to a player 60 by way of an interactive display device 50, such as a computer, cell phone, handheld device, etc.
  • the first step in creating a puzzle is to set the criteria for selecting the recorded moves 14 of the played game or games that are candidates to be the basis of one or more instructional puzzles 41. It will occur to those skilled in the art that the criteria can be varied, depending on what the player 60 wants from the system 11. For example, either the SCGA database 7 or the ECGA database 20 can be queried for those game moves 14 that have a score 14s that is less than the score 16s of the corresponding top ranked move 16 by a set amount. Similarly, the database 20 can be queried to select those moves 14 for which there are a set number (2 or 3 for example) of better moves that could have been played based on the alternative lesser ranked moves tables 15f and 15g. As additional examples, database 20 can Nagel0701 12
  • a game move 14 for which there was a substantially better move become candidates for creating a puzzle 41.
  • One of the outstanding features of the present invention is the ability of the system to sift through the data in the tables of database 20 and collect a set of moves that all pertain to a common theme or weakness or strength or the like and thereby inform a player about his/her game in a way not previously possible. To take advantage of this insightful information, the player can have instructional puzzles 41 tailor-made to the specific subject matter and presented for solution as a powerful learning experience.
  • One feature of a candidate move 32 that makes it suitable as an instructional puzzle 41 is that the PV for the candidate move 32 leads to a computer-discernable "event" within a reasonable number of moves.
  • the puzzle generator program 30 can be instructed to recognize that as an "event”.
  • One way that puzzle generator 30 can recognize an event that is not so clear-cut as a mate is to recognize when the scores 17s of the subsequent PV moves 17 become relatively constant after several changes, thereby indicating that an event has taken place.
  • the criteria for qualifying recorded moves 14 can be by ⁇ way of built-in defaults or can be selected by the player 60 from a list of criteria offered to the player 60 in one of many ways known in the art such as by drop-down menus or the like.
  • the PV moves 16 and 17 of the selected move 32 are used to create computer-generated puzzles 41 that allow the player to replay a situation faced in an actual played game and learn how to make higher quality moves in that situation.
  • the instructive puzzles 41 can range from one-move solutions to solutions requiring several moves.
  • a preferred method of the present invention comprises the steps of providing a database of information based on one or more chess scores and computer-generating instructional puzzles from the information available in the database.
  • the method is particularly powerful as an instructional tool when the information in the database is based on a plurality (the more, the better) of game scores of one player.
  • the database comprises the standard output of a chess engine analyzer (SCGA) from one or more game scores of the player.
  • SCGA chess engine analyzer
  • the output of the chess engine analyzer is extended (ECGA) beyond that presently offered by known chess engine analyzers.
  • the method of one preferred embodiment of the present invention for creating computer-generated chess puzzles 41 where the record 13 of one or more chess games (including the game moves 14) are recorded in a database 20 comprises:
  • the method comprises:
  • Step (g) of creating a sub-set 32 of moves 14 can be based on a number of different criterion.
  • a number of different criterion For example, from the tables of ranked scores (14s and 16s), qualify as candidate moves 32 any game move (14) having a ranked score (14s) that is less than the score (16s) of the top ranked move (16) by a margin X.
  • ranked moves 18 select those game moves 14 that are X number of moves removed from the corresponding top ranked move 16.
  • select those game moves 14 which could have prevented mate, but failed to do so.
  • Other and more sophisticated criteria can be employed as will be recognized by those skilled in the art.
  • the instructional puzzles 41 are then presented to the player 60 on a display device 50 in much the same way as the authored puzzles are presented in the system described in U.S. Patent No. 5,678,001.
  • the primary difference is that in the prior art patented system, all of the puzzles and Information, Hints and Commentary are authored by one or more individuals independent of the playing level and style of the player using the system.
  • the puzzles 41 are computer- generated from game scores 13 of actual played games that in the preferred Nagel0701 Ig
  • a chess board representation 51 on a screen (GUI) 52 of the interactive display device 50 has representations of chess pieces 53 in the positions they occupied immediately prior to the candidate move 32 being made (the candidate move being the qualified move 14 on which the puzzle is based).
  • the chess pieces 53 can be dragged and dropped onto other squares of board 51 according to the rules of chess in attempting a solution.
  • the acceptable moves leading to the solution are the PV moves 16 and 17 that lead to the event that marks the solution to the puzzle 41.
  • prompts labeled "Information” 54, "Hints" 56 and “Commentary” 57 which are made available to a user in screen fields 54a, 56a, and 57a, respectively.
  • each Information message 54 is pre-programmed and stored in an Information table 15m; the actual language of each Hint 56 is pre-programmed and stored in a Hint table 15n; and the actual language of each Commentary 57 is preprogrammed and stored in a Commentary table 15o.
  • the prompt Information 54 will be revealed in field 54a without having to be selected and will typically provide basic information necessary to get started, but not directly relevant to the solution of the puzzle, such as, the player, whether it is Black or White, to move, and identifying the game from which the puzzle was created, etc.
  • the Hint fields 56a can be "closed” (blank) and only reveal their contents (Hint 56) when selected (requested). There can be several Hints 56 and corresponding fields 56a allowing multiple Hints 56 to be on the screen simultaneously or there can be one field 56a -which, each time selected, provides progressively more revealing Hints 56. Or the Hints can be selected from a list of offerings such as the examples below.
  • Hints 56 are provided by information available from the tables 15-151 of ECGA database 20 and determined based on the position of the pieces on the board at the time the Hint 56 is requested. Or a Hint 56 may be of the pre-programmed variety from Hint table 15n based on the position of the pieces on the board relative to the solution moves. In either case, Hints 56 are computer-generated by the Nagel0701 17
  • system 11 may include, by way of example, answers to the following questions:
  • Hints 56 Pre-programmed Hints 56 can be offered without a question, as a response to a non-specified request for help in solving the puzzle.
  • the Commentary field 57a will typically be blank and reveal information in response to a move or when the final solution is reached.
  • solution moves 42 that include not just PV moves 16 and 17, but also relatively high scoring alternative moves 18 or 19, so long as the branching that necessarily occurs is provided for in the data tables of database 20.
  • the messages contained in the Information 54, Hints 56 and Commentary 57 are all automatically generated from the database 20 and require no manual input or installation once the database 20 is programmed and instructed.
  • the positions of chess pieces 53 on the puzzle chess board 51 at any given time are known by the system and either constitute a starting position (the position immediately prior to making the move 14 on which the puzzle is based), a position after a correct move in solving the puzzle (a PV position or other acceptable position), or a position after an incorrect move.
  • the appropriate choice of Information 54, Hints 56 and Commentary 57 to be displayed in their corresponding fields 54a, 56a and 57a can be determined automatically by the system.
  • the computer screen also presents a "tool bar” 58 comprised of a plurality of "tools” 59, each represented by a graphic or text icon.
  • the tool bar 58 and its tools 59 provide a convenient way to prompt the interactive display device 50 to initiate subroutines that bring up Hints 56, as well as other information made self-evident by the labels of the tools 59.
  • Another feature of the invention is the ability of the player 60 to select instructions to be given to the database 20 for creating and presenting puzzles 41 whereby the player 60 can be in charge of what is presented as Information, what is only selectively revealed as a Hint and what information is given as Commentary. So, in essence, the player, by his/her Nagel0701 19
  • the outstanding feature of the present invention is that because it is so intimately tailored to the player, it is fun to use and effective in improving the player's play.
  • the steps taken by a user 60 in solving or attempting to solve a puzzle 41 can be recorded, stored in database 20 as table 15j (see Fig. 3) and used in the process of selecting played moves 14 from which to construct puzzles.
  • table 15j see Fig. 3
  • one of the criterion for selecting a move 14 to be a candidate move 32 could be that a puzzle 41 based on the same move 14 was not previously presented and successfully solved or was previously presented and not successfully solved, etc.
  • the system 11 of the present invention is accessed via the Internet 66.
  • a user 60 using a computer 50 (which includes just about any interactive device having a screen that can access the Internet) having a connection to the Internet 66, uploads chess scores 13 of played games to the engine analyzer 12 hosted on a remote server (not shown).
  • the instructional puzzles 41 generated by puzzle generator 30 (including Information 54, Hints 56 and Commentary 57) and stored in database 40 are presented to the player 60 on the computer 50 via the Internet 66. It will be obvious to those skilled in the art that the invention operates the same from the point of view of the player 60 whether the software program that runs the system 11 of the invention is resident on the user's computer 50 or on a remote server accessed via the Internet 66.
  • filters 67 and 68 Shown diagrammatically in Fig. 9 are filters 67 and 68. These filters which are controlled by the user 60 via computer 50 and the Internet 66 are, in essence, instructions to the database 20 for selecting game moves 14 as candidate moves 32 and candidate moves 32 as puzzles 41. As mentioned above, those two steps can be combined into one.
  • the player 60 is presented with a menu of choices at computer 50 from which to select to set the criteria which constitute the filters 67 and 68.
  • This feature of the invention is applicable to the embodiment where the invention previously described where the software is resident on the computer 50. Nagel0701 20

Abstract

Methods and apparatus, including software, for creating a database of information based on one or more chess game scores, preferably by a chess engine analyzer, from which database instructive puzzles can be constructed for presentation and solution by a player.

Description

Method and Apparatus for Chess Instruction Field of Invention
The present invention relates to the game of chess and, more particularly, to a chess instructional system in which instructional chess puzzles are computer-generated. Background
One of the most successful and popular computer-driven chess teaching programs is the one described in U.S. Patent No. 5,678,001, which has been successfully marketed for more than a decade under the brand name Chess Mentor®. Chess Mentor® presents various chess puzzles (problems) to be solved by moving virtual chess pieces on a board on a computer screen. To assist the player and provide a deeper level of instruction, Chess Mentor® provides with each puzzle Hints that help solve the puzzle, Instructions regarding the nature of the puzzle and Commentary on the player's efforts in solving the puzzle. The puzzles, including their Information, Hints, and Commentary, are authored by a person, typically a chess expert, and frequently concentrate on particular aspects of the game. The particular strengths and weaknesses of a particular player are not and cannot be accounted for in the puzzles offered by Chess Mentor®. Thus, while Chess Mentor® has enjoyed well deserved success, it does not approach the level of a live chess coach who can recognize a player's particular strengths and weaknesses and focus attention on those areas where improvement is most needed and often overlooked.
The system of the present invention makes a novel use of known chess engine software to create instructional puzzles (including Information, Hints and Commentary) that are computer-generated and tailored to the play of a particular (user) player.
Since the early days of computers, the ability to play chess has been one of the most popular demonstrations of computing power. As computers have become more powerful and more sophisticated, their ability to play chess at a high level has increased to the point where computer software programs that play chess (referred to herein as "chess engines") are regularly able to dominate human players. There are numerous chess engines that are available to players (some for a fee and some free) such as the popular free chess engine software known by the acronym "CRAFTY".
The fundamental paradigm by which such chess engines operate, Nagel0701 2
however, is the same and has not changed. For every arrangement of chess pieces on a board (the search starting position) , the chess engine searches the possible moves available and determines the next move that will have the most favorable result (this move is often referred to as the "top ranked" move and will be so referred to herein) assuming that the opponent counters with top ranked moves. The number of forward moves considered by the engine in arriving at the top ranked move is a function of the search time allotted to the engine. Every legal move considered by the chess engine is given a numerical score reflecting the results of making that move and following that move with the moves that the engine would make from that point forward. The top ranked move and the following chess engine moves are referred to as the "principal variation" or simply "PV". The standardized scoring system recognized throughout the chess world enables different moves from the same starting position to be objectively compared. In recent years, chess engines have also been used to provide an analysis of a game score (the game notation that records the game moves and allows the game to be replayed exactly) of an actual played game. If a player wants to know how the moves made in a recorded game (either his/hers or someone else's) compare with the moves a computer engine would have made, the game score can be entered into the chess engine using standard chess notation and the engine will create a database that provides a numerical score for each game move and identifies the corresponding top ranked move that the computer would have made from that position and the numerical score for that top ranked move. The numerical score of a move is reflective of the result of making that move followed by the moves (top ranked) that the chess engine would make from that point forward. The engine provides the PV for the top ranked move, as well as the game move. In this way, a player can compare his/her game play (or that of someone else) to that of the chess engine. Chess engine software used to analyze a game, as opposed to only play a game, is referred to herein as a "chess engine analyzer" (program). The database created by a chess engine analyzer as presently known in the art is referred to herein as a "standard comparative game analysis" database ("SCGA database").
The term "database" as used herein refers to a collection of Nagel0701 3
information (data) that exists in digital form for any period of time. The term "table" as used herein refers to a particular collection of data in a database and when a database is said to contain a plurality of such tables, it is to be understood that such tables may or may not exist simultaneously at any given point in time.
With the advent of the Internet, it has become increasingly popular for chess players to meet and play chess matches in cyberspace at various Internet-accessible web sites providing such services. Such web sites typically include the service of maintaining a file of the games scores of all games played by a member player. It is not unusual for an active player to accumulate hundreds of games in the course of a year or so. Accordingly, vast files of game scores accumulate at such web sites and typically are rarely used by anyone, including the players.
The present invention advances the art of computer-aided chess instructional programs by tapping the power of chess engines to create a searchable database from game scores of past played games and create instructional puzzles therefrom as valuable and effective teaching tools that, for the first time, approach the level of sophistication of a live coach. Brief Description of the Present Invention The present invention comprises a database of information created by a chess engine analyzer from records (scores) of past played chess games and a puzzle generator (program) that creates instructional puzzles from the information in the database. When a chess analyzer is fed the score (record) of one or more chess matches (games), it produces an output that typically includes, in addition to the game scores themselves (which include the individual game moves for both black and white), the numerical ranked score for each game move, the top ranked move for each game move (the move that the computer would have made in the same circumstance), the numerical ranked score of each such top ranked move, and the principal variation ("PV") for the game move (the top ranked move and all subsequent top ranked moves that the chess engine would have made in place of the game move).
A database constructed as described above can, upon proper inquiry, identify a plurality of played moves that all relate to a particular area of Nagel0701 4
play. For example, the database could be asked to identify all moves from the various game scores that could have produced a mate within a given number of moves or less and failed to do so, or that failed to block mate by an opponent that could have, or were more than two points lower in score than the corresponding top ranked move. It will occur to those skilled in the art that the possible inquiries to the database to collect sets of game moves that reveal certain playing characteristics or shortcomings of a player that, if eliminated, would improve the player's level of play is limited only by the imagination of the programmer. By virtue of the present invention, the files of played game scores stored for players at playing web sites can be turned into valuable tools for gaining a keen insight to a player's abilities and the specific areas where improvements can be made. In addition, a database so constructed can supply sufficient information from which, to create instructive puzzles by the puzzle generator of the invention to address those areas of exposed "weakness where improvement is needed and possible.
In the preferred embodiment of the invention, the database supplied by the chess engine analyzer is expanded to include data in addition to that typically provided by a prior art analyzer in order to produce more sophisticated puzzles. Thus, in the preferred embodiment of the present invention, a chess engine that normally provides a standard chess game analysis (SCGA) database as described above is programmed to provide additional information and thereby produce an extended comparative game analysis database ("ECGA database"). The ECGA database is produced by programming a chess engine to provide such additional information as the identity of not only the top ranked move for every game move in a game score, but also a series of alternate, but lesser, ranked moves for each such game move, which moves are referred to herein as "alternative ranked moves". One way to identify alternative ranked moves is by instructing the chess engine analyzer to repeatedly apply the standard analysis to each game move with the instruction to the chess engine analyzer to successively eliminate from the possible results all top ranked moves previously identified by the engine for that game move. The engine analyzer is also programmed to provide the ranked score for each such alternative ranked move so identified. In another preferred embodiment of the invention, the Nagel0701 5
chess engine analyzer is programmed to provide the alternative ranked moves for each top ranked move of a principal variation (PV) along with their ranked scores. A chess engine analyzer could be programmed to provide yet additional data, as will be apparent to those skilled in the art, without departing from the scope of the invention.
In one embodiment of the invention, a novel computer program ("Puzzle Generator") generates chess puzzles from the information in either a SCGA database or the ECGA database. Using the information available in either database, the Puzzle Generator creates instructional chess puzzles that form the basis of a highly sophisticated instruction program suitable for all players from beginners to masters. These instructional puzzles can then be presented to a player for solution and instruction. When the database is created from one or more game scores of the user, the puzzles created by the Puzzle Generator can provide instruction in those specific areas of the game where the database reveals that the user is in most need of improvement. In this way, the present invention is able to create and present to a user instructional chess puzzles that are specifically tailored to the particular needs of that user, regardless of the user's level of sophistication. The Puzzle Generator can be programmed in other ways to create and select puzzles that provide specific instruction based on a variety of criteria. In that regard, the puzzle-creating process is preceded by inquiries to the database to identify those game moves that have certain computer-identifiable characteristics such as those described above. Once these game moves are so identified, they can be used by the Puzzle Generator to create instructional puzzles.
Thus, the methods and apparatus of the present invention provide chess instructional material that is sophisticated, relevant to all levels of player ability and capable of creating and presenting instructional puzzles that are designed to address the specific playing characteristics of an individual user.
Accordingly, it is an object of the present invention to provide computer-generated instruction materials that are sophisticated, relevant to all levels of player ability and capable of creating and presenting instructional puzzles that are designed to address the specific playing Nagel0701 6
characteristics of an individual user.
Another object of the invention is to provide a database of information from a chess engine analyzer which has been fed the game scores of a plurality of played chess games, including the moves made by both players of the games, which database can be queried to identify those moves that represent a particular characteristic of play (weakness or strength).
Another object of the present invention is to provide a database of information and a puzzle generator that constructs instructional puzzles from the database information.
It is another object of the present invention to provide an extended chess game analyzer (ECGA) database from which to create instructional puzzles.
Another object of the present invention is to provide an ECGA database that is created from a game record (or a portion or a plurality of game records) by a single player and create instructional puzzles from that database.
A further object of the present invention is to provide a web-based, non-downloadable program by which chess players can submit played games over the Internet and receive a series of instructional puzzles to be solved based on the players' own playing characteristics as demonstrated in the submitted games.
The invention possesses other objects and advantages, especially as concerns particular characteristics and features thereof which will be better understood from the following detailed description of the preferred embodiments when read in conjunction with the appended drawing figures. Brief Description of the Drawings
Fig. 1 is a flow diagram showing the system of the invention;
Fig. 2 is a flow diagram of the system of the invention similar to Fig. 1 having a prior art SCGA database;
Fig. 3 is a flow diagram of the system of the invention similar to Fig. 1 having a novel ECGA database;
Fig. 4 is a sample PGN Game Record using standard chess notation;
Fig. 5 is an example of a printout of a portion of a PGN Game Record Nagel0701 7
analyzed by a CRAFTY chess engine analyzer Instructed to provide a standard chess game analysis (SCGA);
Fig. 6 is an example of a portion of a printout of a PGN Game Record analyzed by a CRAFTY chess engine analyzer instructed to provide an extended chess game analysis (SCGA);
Fig. 7 is another example of a portion of a printout of a PGN Game Record analyzed by a CRAFTY chess engine analyzer instructed to provide an extended chess game analysis (SCGA);
Fig. 8 is a representation of the screen of an interactive display device displaying the various elements of an instructional game puzzle of the present invention; and
Fig. 9 is a flow diagram of an alternative embodiment of the invention in which access to the system is via the Internet. Detailed Description of the Invention Referring to Figs. 1-4, a system 11 of the present invention comprises a chess engine analyzer 12, such as CRAFTY, that can receive chess notation data 13 (game score or record) that comprise a record of chess moves 14 of a recorded chess game. As is customary in the art, the chess notation data 13 will include not only the recorded moves 14 made by the players during the game ("played moves" or "recorded moves"), but also identifying information 13a, such as the identities of the players, which pieces (black or white) they played, the date and location of the match, whether one side or the other has castled, etc. The sample PGN (Portable Game Notation) Game Record of Fig. 4 uses a universally recognized notation system that is understood by those familiar with the art of chess and therefore need not be further explained herein.
The data from analyzer 12 is recorded in various tables in database 20, as more fully described below. The database 20 supplies information to a puzzle generator 30 that creates instructional puzzles 41 having puzzle moves 42 that are recorded in a puzzle database 40 from which they can be displayed on an interactive display device 50 for solution by a player 60.
Referring to Fig. 2, a chess game analyzer 12, such as CRAFTY, performs a standard comparative game analysis (SCGA) on the data 13 which produces four tables of data in addition to a game score table 15 that Nagel0701 8
records game moves 14 and identifying information 13a. The four additional tables include: (1) a game move score table 15a that records the ranked scores 14s for each recorded move 14; (2) a top ranked move table 15b that records the identifies of the top ranked move 16 that the chess engine analyzer 12 would have made from the same starting position as move 14; (3) a top ranked moves score table 15c that records the scores 16s for moves 16 as determined by the engine analyzer 12; and (4) the subsequent ranked moves table 15d which records the PV moves 17 that follow the top ranked move 16 which together constitute the PV for move 14. The information in SCGA database 7 provides the following information for each move 14 of a played game 13: (a) the move 16 that the chess engine analyzer 12 would have made place of the move 14; (b) the subsequent ranked moves (PV moves) 17 that the chess engine analyzer 12 would have played after move 16; (c) the score 16s of the top ranked move 16; and (d) the ranked score 14s of game moves 14. This information is typically presented to a player in a printout (either in hard copy or digitally on a screen) having the format as illustrated in Fig. 5. Prior to the present invention, the only use made of this information was to present it to the player in the form of Fig. 5. For the first time, the present invention takes the information in a database, subjects it to further analysis (screening) and creates instructional puzzles 41 that can be tailored to a particular player to assist that player in improving his/her skill level.
While the data in the SCGA database 7 is sufficient for the puzzle generator 30 to create instructional puzzles, as described above, in a preferred embodiment of the invention, the analysis performed by the chess engine analyzer 12 is expanded to create an extended chess game analysis (ECGA) in order for the system 11 to be able to create a more extensive database and therefrom more sophisticated puzzles 41. The ECGA database creates additional data tables from which a player 60 and the puzzle generator 30 can be more fully informed and from which sophisticated instructional puzzles 41 can be computer-generated.
Referring to Fig. 3, in a preferred embodiment of the present invention, the chess engine analyzer 12 is programmed to receive a chess game record 13 (which may be a part of a game, an entire game and/or a Nagel0701 9
plurality of games) and, from it, create an ECGA database 20 which, as described above, provides the data from which the puzzle generator 30 produces a database 40 of instructional puzzles 41 that are presented on an interactive display device 50 for solution by a player (user) 60. In addition to the data tables 15-15d generated by the standard analysis of analyzer 12, an extended analysis is provided by chess engine analyzer 12 by being instructed to provide the following additional data in the following additional tables: (5) a subsequent ranked moves scores table I5e that records the scores 17s of the subsequent ranked moves 17; (6) an alternative ranked game moves table 15f that records alternative (lesser) ranked moves 18 for a game move 14 that lie below (scorewise) top ranked move 16; (7) an alternative ranked moves scores table 15g that records the ranked scores 18s for the alternative ranked moves 18; (8) a PV alternative ranked moves table 15h that records N number of alternative (lesser) ranked moves 19 for each PV move 17; and (9) a PV alternative ranked moves scores table I5i that records the scores 19s of the alternative ranked PV moves 19.
The extended data tables described above add power to the system either all together or in various combinations.
Alternative ranked moves such as 18 can be identified by re-running the analysis for a recorded move 14 with the instruction to the analyzer 12 that each time cycled, the results not include any previously identified top ranked moves 16. Each time the analysis is performed, the alternative ranked move with the next highest score will be identified. In this way, the chess engine analyzer 12 provides for each recorded move 14 the top ranked move 16 and a series of alternative lesser ranked moves 18 having descending score values. The alternative ranked moves for PV moves 16 and 17 can be determined in the same way. Other ways may exist for determining alternative ranked moves which would be within the scope of the invention which is not dependant on how the alternative ranked moves are determined.
A further extension of information that is advantageously made available at ECGA database 20 is an accounting for all of the pieces on the board when a move 14 was made. This is referred to herein as a "count of material on the board" 26 and is recorded in a count of material on the Nagel0701 10
board table 15k in database 20. A related datum is the relative strength of each side at the time a move 14 is made which is referred to herein as "count of the material balance white versus black" 27, which is recorded in count of the material balance white versus black table 151. The database 20 can also include tables of any other useful information on each position at the time a game move 14 is made and the game as a whole.
Fig. 6 is a printout of a portion of database 20 wherein the engine was instructed to output N ranked moves for each game move 14. Thus, for each move 14 of white and each move 14 of black, the played move is noted along with its score. For move 50 for white, for example, the played move was g6 with a score of -7.96, while the top ranked move is Rd8+ with a score of +0.01. The second alternative ranked move (18) is ReI with a score (18s) of -4.62. According to PGN notation, White scores are based on a positive scale while Black scores are based on a negative scale. Fig. 7 is a printout of a portion of database 20 containing the information in PV alternative ranked moves (19) table 15h and PV alternative ranked moves (19) scores (19s) table 15i which correspond to the information in Fig. 6.
An instructional puzzle 41 that was presented to a user 60 for solution can be identified as a "solved puzzle" 21 and recorded in a solved puzzles data table 15j in database 20 along with the move 14 on which the puzzle 41 was based and the steps taken by the user 60 using the interactive display device 50 to solve or attempt to solve the puzzle 41.
The data in tables 15a- 151, together or in various combinations, inform the ECGA database 20 with data from which puzzle candidate moves 32 can be selected from the table 15 (of recorded game moves 14) to form the basis of an instructional puzzle 41. For example, the tables 15a, 15c and 15e of scores 14s, 16s, and 18s, respectively, provide an objective scale 24 (not shown) against which the quality of the played move 14 can be compared. By way of illustration, the score 14s of the recorded move 14 might show, when compared to the scores 18s of the alternative (lesser) ranked moves, to be high on the list of ranked moves and thus a good (even if not the best) move, or it could show that the move 14 was low on the list and thus a poor move. As more fully explained below, scale 24 can be used Nagel0701 H
(sometimes alone and sometimes along with other criteria) by the puzzle generator 30 to qualify moves 14 as sources of instructional puzzles 41. The extended analyses performed by ECGA analyzer 12 described above are not meant to be exhaustive, as it will occur to those skilled in the art that the chess engine analyzers 12 can be programmed to create different tables of data in addition to those described above and further inform ECGA database 20.
The ECGA database 20 provides a rich source of data that can be mined by puzzle generator program 30 to create a puzzle database 40 of instructional puzzles 41. As more fully described below, in one embodiment of the invention, puzzle generator 30 creates a sub-set table 31 containing candidate moves 32 that are a sub-set of game moves 14 selected or qualified according to a set of criterion that can be set by a player 60 and/or programmed into the puzzle generator 30 as a default. The candidate moves 32 are those moves determined by the puzzle generator 30 (according to a set of criterion) to contain an instructional opportunity for the player 60.
Once a game move 14 is determined to be a candidate move 32 (moved into in sub-set table 31), the puzzle generator 30 determines if it is suitable as the basis of an instructive puzzle and, if so, creates one or more instructional puzzles 41 based on that candidate move 32. The instructional puzzles 41 are contained in a puzzle database 40 from which they can be presented for solution to a player 60 by way of an interactive display device 50, such as a computer, cell phone, handheld device, etc.
The first step in creating a puzzle is to set the criteria for selecting the recorded moves 14 of the played game or games that are candidates to be the basis of one or more instructional puzzles 41. It will occur to those skilled in the art that the criteria can be varied, depending on what the player 60 wants from the system 11. For example, either the SCGA database 7 or the ECGA database 20 can be queried for those game moves 14 that have a score 14s that is less than the score 16s of the corresponding top ranked move 16 by a set amount. Similarly, the database 20 can be queried to select those moves 14 for which there are a set number (2 or 3 for example) of better moves that could have been played based on the alternative lesser ranked moves tables 15f and 15g. As additional examples, database 20 can Nagel0701 12
be queried to select those moves 14 that within a set number of moves could have prevented mate, or could have captured a queen, or could have obtained mate, or could have captured a major piece, or could have more effectively used a particular piece or any combination thereof, etc. By these or other criteria, a game move 14 for which there was a substantially better move become candidates for creating a puzzle 41. One of the outstanding features of the present invention is the ability of the system to sift through the data in the tables of database 20 and collect a set of moves that all pertain to a common theme or weakness or strength or the like and thereby inform a player about his/her game in a way not previously possible. To take advantage of this insightful information, the player can have instructional puzzles 41 tailor-made to the specific subject matter and presented for solution as a powerful learning experience.
One feature of a candidate move 32 that makes it suitable as an instructional puzzle 41 is that the PV for the candidate move 32 leads to a computer-discernable "event" within a reasonable number of moves. For example, where the game record 13 contains a move 14 that failed to recognize that the PV moves 16 and 17 under the same conditions would have resulted in mate in a small number of moves, the puzzle generator program 30 can be instructed to recognize that as an "event". One way that puzzle generator 30 can recognize an event that is not so clear-cut as a mate is to recognize when the scores 17s of the subsequent PV moves 17 become relatively constant after several changes, thereby indicating that an event has taken place. The several PV moves 17, along with the corresponding top ranked move 16 leading to the event, become the moves 42 of puzzle 41 that constitute the solution to the puzzle. Another event- indicating criterion can be gleaned from the information in tables 15k and 151 based on the count of material on the board and the material balance. When the count of material balance stops changing, that, too, signifies that an event has occurred. Because the criteria for qualifying game moves 14 as candidate moves 32 and for selecting candidate moves 32 as the basis for a puzzle 41 can vary greatly, the invention is not limited by any particular criterion and the criteria used herein to illustrate the invention are but examples and not a limitation of the invention. The invention of system 11 Nagel0701 13
contemplates that the criteria for qualifying recorded moves 14 can be by¬ way of built-in defaults or can be selected by the player 60 from a list of criteria offered to the player 60 in one of many ways known in the art such as by drop-down menus or the like. Once one or more moves 14 are qualified as candidate moves 32 and moves 32 are selected as puzzles 41, the PV moves 16 and 17 of the selected move 32 are used to create computer-generated puzzles 41 that allow the player to replay a situation faced in an actual played game and learn how to make higher quality moves in that situation. The instructive puzzles 41 can range from one-move solutions to solutions requiring several moves.
A preferred method of the present invention comprises the steps of providing a database of information based on one or more chess scores and computer-generating instructional puzzles from the information available in the database. The method is particularly powerful as an instructional tool when the information in the database is based on a plurality (the more, the better) of game scores of one player.
In the method of one preferred embodiment of the invention, the database comprises the standard output of a chess engine analyzer (SCGA) from one or more game scores of the player. In another preferred embodiment, the output of the chess engine analyzer is extended (ECGA) beyond that presently offered by known chess engine analyzers.
The method of one preferred embodiment of the present invention for creating computer-generated chess puzzles 41 where the record 13 of one or more chess games (including the game moves 14) are recorded in a database 20 comprises:
(a) instructing a chess engine analyzer to give a ranked score (14s) for every legal move (14) for every position in a game record (score) (13) for Black and/or White;
(b) maintaining a table (15a) of these ranked scores (14s), along with a table (13a) of the position (piece locations, who is on move, is castling still legal, count of material on the board, count of the material balance white versus black, and any other useful information on each position, and the game as a whole);
(c) instructing the chess engine to obtain the top ranked move (16) Nagel0701 14
for every legal move (14) for every position in a game record (score) (13) for Black and/or White;
(d) maintaining a table (15b) of the top ranked moves (16);
(e) instructing the chess engine to obtain the score (16s) for the top ranked move (16) for each game move (14);
(f) maintaining a table (15c) of the scores (16s) for the top ranked moves (16);
(g) instructing the chess engine to obtain the other principal variation (PV) moves (17) for the top ranked move (16) for each game move (14);
(h) maintaining a table (15d) of PV moves (17); (i) creating a new game score by replacing each game move (14) with its PV moves (16 and 17);
(j) selecting for puzzles those game moves (14) that have PV moves (16 and 17) that lead to an event within Y" moves;
(k) creating instructional puzzles (41) from the selected game moves (14).
In another embodiment, the method comprises:
(a) instructing a chess engine analyzer to give a ranked score (14s) for every legal move (14) for every position in a game record (score) (13) for
Black and/or White;
(b) maintaining a table (15a) of these ranked scores (14s), along with a table (13a) of the position itself (piece locations, who is on move, is castling still legal) (c) maintaining a table (15k), of the count of material on the board;
(d) maintaining a table (151) of the count of the material balance white versus black, and any other useful information on each position, and the game as a whole); (e) instructing the chess engine to obtain the top ranked move (16) for every legal move (14) for every position in a game record (score) (13) for
Black and/or White;
(f) maintaining a table (15b) of the top ranked moves (16);
(g) instructing the chess engine to obtain the score (16s) for the top Nagel0701 15
ranked move (16) for each game move (14);
(h) maintaining a table (15c) of the scores (16s) for the top ranked moves (16);
(i) selecting a sub-set of game moves (14) as puzzle candidate moves (32);
(j) maintaining a table (31) of puzzle candidate moves (32);
(k) instructing the chess engine to obtain the PV moves (17) following the top ranked move (16) for each puzzle candidate move (32);
(1) maintaining a table (15d) of PV moves (17); (m) creating a new game score by replacing the game moves (14) for each candidate move (32) with its PV moves (16 and 17);
(n) selecting for instructional puzzles (41) those puzzle candidate moves (32) that have PV moves (16 and 17) that lead to an event within Y moves; (o) creating an instructional puzzle (41) from the PV moves (16 and
17) of puzzle candidate moves selected in (n) above.
Step (g) of creating a sub-set 32 of moves 14 can be based on a number of different criterion. By way of example, from the tables of ranked scores (14s and 16s), qualify as candidate moves 32 any game move (14) having a ranked score (14s) that is less than the score (16s) of the top ranked move (16) by a margin X. Or from the table 15f of alternative game, ranked moves 18 select those game moves 14 that are X number of moves removed from the corresponding top ranked move 16. As another example, select those game moves 14 which could have prevented mate, but failed to do so. Other and more sophisticated criteria can be employed as will be recognized by those skilled in the art.
Once created, the instructional puzzles 41 are then presented to the player 60 on a display device 50 in much the same way as the authored puzzles are presented in the system described in U.S. Patent No. 5,678,001. The primary difference is that in the prior art patented system, all of the puzzles and Information, Hints and Commentary are authored by one or more individuals independent of the playing level and style of the player using the system. In the present invention, the puzzles 41 are computer- generated from game scores 13 of actual played games that in the preferred Nagel0701 Ig
case, will be a significant number of games played by the user (player) 60 of the system 11.
Referring to Fig. 8, a chess board representation 51 on a screen (GUI) 52 of the interactive display device 50 has representations of chess pieces 53 in the positions they occupied immediately prior to the candidate move 32 being made (the candidate move being the qualified move 14 on which the puzzle is based). The chess pieces 53 can be dragged and dropped onto other squares of board 51 according to the rules of chess in attempting a solution. The acceptable moves leading to the solution are the PV moves 16 and 17 that lead to the event that marks the solution to the puzzle 41. For each computer-generated puzzle 41, there are associated prompts labeled "Information" 54, "Hints" 56 and "Commentary" 57 which are made available to a user in screen fields 54a, 56a, and 57a, respectively.
Referring also to Fig. 3, the actual language of each Information message 54 is pre-programmed and stored in an Information table 15m; the actual language of each Hint 56 is pre-programmed and stored in a Hint table 15n; and the actual language of each Commentary 57 is preprogrammed and stored in a Commentary table 15o.
Typically, the prompt Information 54 will be revealed in field 54a without having to be selected and will typically provide basic information necessary to get started, but not directly relevant to the solution of the puzzle, such as, the player, whether it is Black or White, to move, and identifying the game from which the puzzle was created, etc. The Hint fields 56a can be "closed" (blank) and only reveal their contents (Hint 56) when selected (requested). There can be several Hints 56 and corresponding fields 56a allowing multiple Hints 56 to be on the screen simultaneously or there can be one field 56a -which, each time selected, provides progressively more revealing Hints 56. Or the Hints can be selected from a list of offerings such as the examples below. Some Hints 56 are provided by information available from the tables 15-151 of ECGA database 20 and determined based on the position of the pieces on the board at the time the Hint 56 is requested. Or a Hint 56 may be of the pre-programmed variety from Hint table 15n based on the position of the pieces on the board relative to the solution moves. In either case, Hints 56 are computer-generated by the Nagel0701 17
system 11 and may include, by way of example, answers to the following questions:
How many (more) moves to solution?
How much (more) material to be gained/ saved by the best move? What was the move made in the game?
How does the move I just tried rank in the order of ranked moves?
How did the prior move made by the opposition rank in the ranking of moves?
What piece type makes the next move of the solution? It "will occur to those skilled in the art that many more questions, the answers to which give information for solving a puzzle 41, could also be gleaned from the information available in database 20 for use as Hints 56. Pre-programmed Hints 56 can be offered without a question, as a response to a non-specified request for help in solving the puzzle. The Commentary field 57a will typically be blank and reveal information in response to a move or when the final solution is reached.
The Commentary field could include such pre-programmed messages as:
"That was a very poor move, stay focused." "You may want to get help from a Hint."
"Good job, you've solved the puzzle."
A particularly important Commentary 57 is:
'That was a good move, but not the best, try again." This last commentary is particularly important to prevent giving misinformation to a player. For example, when, in the solution of a puzzle 41, the player 60 makes a move that is not a PV move 16 or 17 (and thus not a solution move), but from the alternative moves score table 15c or 15i, it is determined that the move made is nearly as good, the player 60 is alerted to this fact by this Commentary 57 in Commentary field 57a. Without the extended analysis that produces the data in table 15i, this
Commentary would not be possible and a player would have no way of being informed that a rejected move was a good move even though not the move required to solve the puzzle 41.
It is within the scope of the invention to construct puzzles 41 having Nagel0701 18
solution moves 42 that include not just PV moves 16 and 17, but also relatively high scoring alternative moves 18 or 19, so long as the branching that necessarily occurs is provided for in the data tables of database 20.
How, when, what and in what manner the Information 54, Hints 56, and Commentary 57 (and any other information otherwise classified or labeled) are used in connection with the solution of a puzzle 41 is a matter of choice and limited only by the creativity of the programmer and the data available in database 20.
One of the outstanding features of the present invention is that the messages contained in the Information 54, Hints 56 and Commentary 57 are all automatically generated from the database 20 and require no manual input or installation once the database 20 is programmed and instructed. The positions of chess pieces 53 on the puzzle chess board 51 at any given time are known by the system and either constitute a starting position (the position immediately prior to making the move 14 on which the puzzle is based), a position after a correct move in solving the puzzle (a PV position or other acceptable position), or a position after an incorrect move. Based on those possibilities and the data in tables 15-I5o, the appropriate choice of Information 54, Hints 56 and Commentary 57 to be displayed in their corresponding fields 54a, 56a and 57a can be determined automatically by the system.
In addition to the representation of a chess board 51, chess pieces 53 and the Information field 54a, Hint fields 56a and Commentary field 57a, in the preferred embodiment, the computer screen (GUI) also presents a "tool bar" 58 comprised of a plurality of "tools" 59, each represented by a graphic or text icon. The tool bar 58 and its tools 59 provide a convenient way to prompt the interactive display device 50 to initiate subroutines that bring up Hints 56, as well as other information made self-evident by the labels of the tools 59. Another feature of the invention is the ability of the player 60 to select instructions to be given to the database 20 for creating and presenting puzzles 41 whereby the player 60 can be in charge of what is presented as Information, what is only selectively revealed as a Hint and what information is given as Commentary. So, in essence, the player, by his/her Nagel0701 19
past games 13 and input to the move selection process to identify the game moves 14 from which puzzles 41 will be constructed, and the instructions for making puzzles from the selected moves, creates his/her own lessons for becoming a better chess player. The outstanding feature of the present invention is that because it is so intimately tailored to the player, it is fun to use and effective in improving the player's play.
The steps taken by a user 60 in solving or attempting to solve a puzzle 41 can be recorded, stored in database 20 as table 15j (see Fig. 3) and used in the process of selecting played moves 14 from which to construct puzzles. For example, one of the criterion for selecting a move 14 to be a candidate move 32 could be that a puzzle 41 based on the same move 14 was not previously presented and successfully solved or was previously presented and not successfully solved, etc.
Referring to Fig. 9, the system 11 of the present invention is accessed via the Internet 66. A user 60, using a computer 50 (which includes just about any interactive device having a screen that can access the Internet) having a connection to the Internet 66, uploads chess scores 13 of played games to the engine analyzer 12 hosted on a remote server (not shown). The instructional puzzles 41 generated by puzzle generator 30 (including Information 54, Hints 56 and Commentary 57) and stored in database 40 are presented to the player 60 on the computer 50 via the Internet 66. It will be obvious to those skilled in the art that the invention operates the same from the point of view of the player 60 whether the software program that runs the system 11 of the invention is resident on the user's computer 50 or on a remote server accessed via the Internet 66.
Shown diagrammatically in Fig. 9 are filters 67 and 68. These filters which are controlled by the user 60 via computer 50 and the Internet 66 are, in essence, instructions to the database 20 for selecting game moves 14 as candidate moves 32 and candidate moves 32 as puzzles 41. As mentioned above, those two steps can be combined into one. The player 60 is presented with a menu of choices at computer 50 from which to select to set the criteria which constitute the filters 67 and 68. This feature of the invention is applicable to the embodiment where the invention previously described where the software is resident on the computer 50. Nagel0701 20
While the invention has been described using a chess engine as the source of the database from which puzzles are constructed, it will be obvious to those skilled in the art that a database otherwise constructed could also supply the needed information to serve the purposes of the invention.
It will also be apparent to those skilled in the art that the principles of the invention illustrated with reference to the game of chess are equally applicable to other games of skill including such games as Go- Backgammon, Poker, and the like. Of course, various changes, modifications and alterations in the teachings of the present invention may be contemplated by those skilled in the art without departing from the intended spirit and scope thereof. As such, it is intended that the present invention only be limited by the terms of the appended claims.

Claims

Nagel0701 21
What is claimed is:
1. A computer-executed method of creating instructional chess puzzles from one or more chess game records, comprising: creating a database of information from the chess game records of one or more played chess games; and generating instructional chess puzzles from the information in said database.
2. The method of claim 1 wherein said database of information is created by a chess engine analyzer program. 3. The method of claim 2 wherein said chess game records include game moves and said database of information includes game records, a ranked score for each game move, the top ranked move for each game move, a ranked score for each top ranked move and the PV moves for each game move. 4. The method of claim 3 wherein the information in said database further includes: alternative ranked moves for each game move, a ranked score for each alternative ranked move, a ranked score for each PV move, alternative ranked moves for each principal variation move, and a ranked score for each alternative ranked move for each PV move. 5. The method of claim 3 further comprising: qualifying certain of said game moves as puzzle moves. 6. The method of claim 4 further comprising: qualifying certain of said game moves as puzzle moves based on criteria ascertainable from information in said database. 7. The method of claim 6 wherein said step of qualifying game moves as puzzle moves utilizes as criteria ranked score information in said database.
8. The method of claim 6 wherein said step of qualifying game moves as puzzle moves utilizes as criteria PV moves in said database.
9. The method of claim 7 wherein said step of qualifying game moves as puzzle moves utilizes as criteria PV moves in said database.
10. The method of claim 6 wherein criteria used to qualify game moves as puzzle moves are manually selectable.
11. The method of claim 8 wherein a criterion is that said PV moves lead to an event within a set number of moves. Nagel0701 22
12. The method of claim 11 wherein said event is mate.
13. The method of claim 11 wherein said database further includes for each PV move a count of material on the board and the count of the material balance white versus black and wherein said event is determined based on said count of material on the board and the count of the material balance white versus black.
14. The method of claim 13 wherein said event is the move after which the material balance white verses black remains relatively constant.
15. In a chess instructional system, the combination comprising: a chess engine analyzer program that operates with a computer to create a searchable database of information from one or more chess game scores; a puzzle generator program that causes a computer to create instructional chess puzzles from said database information. 16. The system of claim 15 further comprising: an interactive display device at which said instructional puzzles are presented for solution.
17. The system of claim 16 wherein said chess engine analyzer program and said puzzle generator program are accessible to said interactive display device via the Internet.
18. The system of claim 15 wherein said game scores include game moves and said puzzle generator creates instructional puzzles based on selected game moves.
19. The system of claim 18 further comprising a filter that determines the selected game moves.
21. A computer-readable memory operable with a computer having a display screen to cause the computer to function as follows: create a database of information from the chess game records of one or more played chess games wherein said database includes tables of information; and generate instructional chess puzzles from the information in said database for presentation on said display screen.
22. The memory of claim 21 wherein said computer is caused to function as a chess engine analyzer. Nagel0701 23
23. The memory of claim 22 wherein said chess game records include the game moves and said database of information includes the game records, a table of ranked score for each game move, a table of the top ranked move for each game move, a table of the scores for each top ranked move and a table of the PV moves for each game move.
24. The memory of claim 23 wherein the information in said database further includes: a table of alternative ranked moves for each game move, a table of ranked scores for each alternative ranked move, a table of ranked scores for each PV move, a table of alternative ranked moves for each PV move, and a table of ranked scores for each alternative ranked move for each PV move.
25. The memory of claim 23 wherein said computer is caused to further function as follows: qualify certain of said game moves as puzzle moves. 26. The memory of claim 24 wherein said memory is further caused to function as follows: qualify certain of said game moves as puzzle moves based on criteria ascertainable from the information in the tables in said database.
27. The memory of claim 26 wherein qualifying game moves as puzzle moves said computer uses as criteria information in tables containing ranked scores.
28. The method of claim 26 wherein qualifying game moves as puzzle moves said computer utilizes as criteria information in the table of PV moves. 29. The memory of claim 27 wherein qualifying game moves as puzzle moves said computer utilizes as criteria information in the table of PV moves.
30. The memory of claim 26 wherein criteria used by said computer to qualify game moves as puzzle moves is manually selectable. 31. The memory of claim 26 where in qualifying game moves as puzzle moves said computer utilizes as criteria PV moves from said table of PV moves which lead to an event within a set number of moves.
32. The memory of claim 31 wherein said event is checkmate.
33. The memory of claim 31 wherein said database further includes for Nagel0701 . 24
each PV move a table of the count of material on the board and a table of the count of the material balance white versus black and wherein said event is determined by said computer using information in the table of count of material on the board and/or the table of the count of the material balance white versus black.
34. The memory of claim 33 wherein said event is the PV move after which the material balance remains relatively constant.
35. A method of computer-generating instructional chess puzzles from the record of moves of one or more chess games recorded in a database comprising:
(a) instructing a chess engine analyzer to give a ranked score for each game move in each game record and maintain said ranked scores in a table in the database;
(b) instructing a chess engine analyzer to obtain the top ranked move for each move in the game record and said top ranked moves in a table in the database;
(c) instructing the chess engine analyzer to obtain the score for the top ranked move for each game move and maintain said scores in a table in the database; (d) instructing the chess engine to obtain the subsequent PV moves for the top ranked move for each game move and maintain a table of such subsequent PV moves in a table in the database;
(e) creating a new game score for each game move by replacing each game move with its PV moves; (f) selecting game moves based on the new game score for instructional puzzles;
(g) computer-generating instructional puzzles from game moves selected in (f) above.
36. The method of claim 35 wherein said step of selecting game moves for puzzles comprises: selecting those game moves that have PV moves that lead to an event within Amoves.
37. The method of claim 35 wherein said step of selecting game moves for puzzles comprises: Nagel0701 25 selecting a sub-set of game moves as candidate puzzle moves; and selecting from the sub-set of game moves those moves that have PVs that leads to an event within a set number of moves.
PCT/US2007/012408 2006-05-26 2007-05-24 Method and apparatus for chess instruction WO2007142861A2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US80867506P 2006-05-26 2006-05-26
US60/808,675 2006-05-26

Publications (2)

Publication Number Publication Date
WO2007142861A2 true WO2007142861A2 (en) 2007-12-13
WO2007142861A3 WO2007142861A3 (en) 2008-11-20

Family

ID=38801980

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2007/012408 WO2007142861A2 (en) 2006-05-26 2007-05-24 Method and apparatus for chess instruction

Country Status (1)

Country Link
WO (1) WO2007142861A2 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5678001A (en) * 1993-08-04 1997-10-14 Nagel; Ralph Computerized game teaching method
US6213873B1 (en) * 1997-05-09 2001-04-10 Sierra-On-Line, Inc. User-adaptable computer chess system
US20030109310A1 (en) * 2001-12-12 2003-06-12 Heaton Timothy H. Systems and methods for assisting in game play and wagering

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5678001A (en) * 1993-08-04 1997-10-14 Nagel; Ralph Computerized game teaching method
US6213873B1 (en) * 1997-05-09 2001-04-10 Sierra-On-Line, Inc. User-adaptable computer chess system
US20030109310A1 (en) * 2001-12-12 2003-06-12 Heaton Timothy H. Systems and methods for assisting in game play and wagering

Also Published As

Publication number Publication date
WO2007142861A3 (en) 2008-11-20

Similar Documents

Publication Publication Date Title
US8109820B2 (en) Methods and apparatus for chess instruction
US6039575A (en) Interactive learning system with pretest
Ibanez et al. Gamification for engaging computer science students in learning activities: A case study
Schempp et al. The development of expert coaching
US20050069849A1 (en) Computer-based method of improving reading comprehension
US20110318723A1 (en) Studying system and method with virtual cards
Souza et al. Games for learning: bridging game-related education methods to software engineering knowledge areas
Hirumi et al. Applying pedagogy during game development to enhance game-based learning
US20060247808A1 (en) Computer-implemented method, tool, and program product for training and evaluating football players
EP2146333A1 (en) Card type learning tool, learning device, program for the learning device, and storage medium containing the program
Kapfer Behavioral objectives in curriculum development: selected readings and bibliography
Battistella et al. Design and large-scale evaluation of educational games for teaching sorting algorithms
WO2002023508A1 (en) Intelligent courseware development and delivery
CN1717677A (en) Computer-aided education systems and methods
Rodrigue et al. Reflective practice: A case study of a university football coach using reflective cards
Spieler et al. Evaluation of game templates to support programming activities in schools
Gruending et al. Fun and games in nursing staff development
US20100304348A1 (en) Educational and training tool using matching techniques and method of developing and utilizing the same
EP1503359A1 (en) Evaluation system, method and program for evaluating ability
Alcantara et al. A gamification to support teaching-learning of knowledge management in information technology: a plan based on features of pedagogical approaches
Ericsson Superior decision making as an integral quality of expert performance: Insights into the mediating mechanisms and their acquisition through deliberate practice
WO2007142861A2 (en) Method and apparatus for chess instruction
Bellettini et al. How Pupils Solve Online Problems: An Analytical View.
CN113409627A (en) Chess teaching system
CN112634691A (en) Power transformation operation and inspection simulation training device

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 07809178

Country of ref document: EP

Kind code of ref document: A2

NENP Non-entry into the national phase in:

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 07809178

Country of ref document: EP

Kind code of ref document: A2