Download Chinook Checkers Program

0 views
Skip to first unread message

Faustine Tanker

unread,
Jul 22, 2024, 8:19:26 AM7/22/24
to molilesu

After 18-and-a-half years and sifting through 500 billion billion (a five followed by 20 zeroes) checkers positions, Dr. Jonathan Schaeffer and colleagues have built a checkers-playing computer program that cannot be beaten. Completed in late April this year, the program, Chinook, may be played to a draw but will never be defeated. Theresults of this research were published recently in the journal Science.

download chinook checkers program


Download Chinook Checkers Program 🗸🗸🗸 https://urloso.com/2zDdZt



A self-described "awful" checkers player, Schaeffer created Chinook to exploit the superior processing and memory capabilities of computers and determine the best way to incorporate artificial intelligence principals in order to play checkers.

Chinook remained undefeated until the program was retired in 1997. With his sights set on developing Chinook into the perfect checkers program, Schaeffer restarted the project in 2001. "I'm thrilled with this achievement," he said. "Solving checkers has been something of an obsession of mine for nearly two decades, and it's really satisfying to see it through to itsconclusion."

Long-time world checkers champion Marion Tinsley consistently bested all comers, losing only nine games in the 40 years following his 1954 crowning. He lost his world championship title to a computer program in 1994 and now that same program has become unbeatable; its creators have proved that even a perfectly played game against it will end in a draw.

Jonathan Schaeffer and his team at the University of Alberta, Canada, have been working on their program, called Chinook, since 1989, running calculations on as many as 200 computers simultaneously. Schaeffer has now announced that they have solved the game of American checkers, which is played on an 8 by 8 board and is also known as English draughts.

As Chinook has worked out all relevant lines of play, it needs virtually no time to 'think' to work out each perfect move in a game. The results were announced today in the journal Science1. The paper and supporting materials, including the ability to play Chinook, are available on the web at chinook/.

Schaeffer notes that his research has implications beyond the checkers board. The same algorithms his team writes to solve games could be helpful in searching other databases, such as vast lists of biological information because, as he says, "At the core, they both reduce to the same fundamental problem: large, compressed data sets that have to be accessed quickly."

Competitive checkers players seem appreciative of Schaeffer's work, rather than being depressed by the news. "People will keep right on playing checkers," says Bob Newell, editor of the world's most-read checker publication The Checker Maven. Ed Trice, designer of a chess variant named Gothic Chess and checkers expert (having won against some world champions), says that tournament players are likely to feel "literally no negative impact to the announcement". After all, as he notes, "people continued to run for sport after the invention of the automobile".

I finally finished the grueling task of creating a user interface to checkers, which was both mind-numbingly boring and thoroughly challenging. I am continuously reminded that any visual output in Java is a big hack, as Greg would say, but at least restricting myself to the Java libraries does allow me to experiment with how such things work.

This improved my checkers AI, but there is still a lot of improvement to be had. For some reason, once the AI gets a king it likes to jump it back and forth infinitely, getting nothing done when it could be advancing another piece. I have no idea why it does this, and am trying to figure it out. If anyone has any observations, feel free to post them.

However, my next undertaking will not be to follow the shoes of Chinook, with its human-crafted board evaluation function. Instead I will take the path of Anaconda, the program described in Computational Intelligence in Games, which uses a genetic algorithm and neural nets to evolve an expert level checkers ai out of essentially nothing.

Genetic programming requires a set of primitive ingredients to get started.The first two preparatory steps specify the primitive ingredients that are tobe used to create the to-be-evolved programs. The universe of allowablecompositions of these ingredients defines the search space for a run of geneticprogramming.

Similarly, if genetic programming is to automatically synthesize an analogelectrical circuit, the human user must supply basic information about theingredients that are appropriate for solving a problem in the domain of analogcircuit synthesis. In particular, the human user must inform geneticprogramming that the components of the to-be-created circuit may includetransistors, capacitors, and resistors (as opposed to, say, neon bulbs, relays,and doorbells). Although this information may be second nature to anyoneworking with electrical circuits, genetic programming does not have anybuilt-in knowledge concerning the fact that transistors, capacitors, andresistors are the workhorse components for nearly all present-day electricalcircuits. Once the human user has identified the primitive ingredients, thesame function set can be used to automatically synthesize amplifiers,computational circuits, active filters, voltage reference circuits, and anyother circuit composed of these basic ingredients.

Likewise, genetic programming does not know that the inputs to a controllerinclude the reference signal and plant output and that controllers are composedof integrators, differentiators, leads, lags, gains, adders, subtractors, andthe like. Thus, if genetic programming is to automatically synthesize acontroller, the human user must give genetic programming this basic informationabout the field of control.

The fitness measure is the means of ascertaining that one candidateindividual is better than another. That is, the fitness measure is used toestablish a partial order among candidate individuals. The partial order isused during the executional steps of genetic programming to select individualsto participate in the various genetic operations (i.e., crossover,reproduction, mutation, and the architecture-altering operations).

The fourth preparatory step entails specifying the control parameters for therun. The major control parameters are the population size and the number ofgenerations to be run. Some analytic methods are available for suggestingoptimal population sizes for runs of the genetic algorithm on particularproblems. However, the practical reality is that we generally do not use anysuch analytic method to choose the population size. Instead, we determine thepopulation size such that genetic programming can execute a reasonably largenumber of generations within the amount of computer time we are willing todevote to the problem. As for other control parameters, we have, broadlyspeaking, used the same (undoubtedly non-optimal) set of minor controlparameters from problem to problem over a period of years. Although the resultsfound in our various published books and papers could undoubtedly have beenobtained more efficiently by means of a different choice of control parameters,we believe that our policy of substantial consistency in the choice of controlparameters helps the reader eliminate superficial concerns that thedemonstrated success of genetic programming depends on shrewd or fortuitouschoices of the control parameters. We frequently make only one run (or, atmost, only a few runs) of each major new problem.

This page is many, many years out of date. To make a long story short, in 2022 you shouldn't consider anything other than KingsRow or Cake, running under the CheckerBoard interface (links are below within the text). These run on Windows and run perfectly on Linux using Wine. I don't have up-to-dat recommendations for Mac or iPhone. On Android, Aart Bik's "Checkers" is currently the best choice. *** Original article follows *** Please note that all programs reviewed are tested on the Windows XP operating system unless explicitly stated otherwise (there are a couple of old MS-DOS programs and a couple of Linux programs). I do not have a Mac and so I cannot test Mac programs; independent guest reviews are welcomed.

Quick advice on using the ratings: if you want the best, go with a Class A program. You might go to Class B to select entries smaller in size or with special visual appeal. You might consider Class C for certain needs, such as Linux programs. Avoid Classes D and F unless you're looking for a children's program or have a specific reason, and even then, be very selective.

There are many, many checker programs out there; every time I search the net I find new ones or ones not previously discovered. While a few are really worthy, most of them are pure junk. I review as many as I can, but I can't possibly buy and review them all, and in recent months (fall 2005 onward) I've not been trying to keep up with the all-too-numerous new releases of unworthy dreck.

And anyways, who am I, a poor player on a good day, to be reviewing checker programs? Well, I've worked with software for decades, played board games even longer, and I have ideas which I am not reluctant to express. You are completely at liberty to ignore my opinions! However, if you feel an injustice has been done, please contact me. Those who have done so have found me to be very willing, and in fact anxious, to correct errors.

2. Rating Parameters. I rate programs according to several criteria. Again, I use the American school grading system, where A is the best grade and F is the worst (failing, in fact). The criteria are these:

I do include screen shots for nearly all programs for which the review is complete. These screen shots are on separate pages so that this page won't have an enormously long loading time. I did prefer larger graphics to preserve detail and give a more accurate impression of the game's apprearance.

CheckerBoard is an interface, not a complete game-playing program. With it you use any of several engines. Cake Manchester, a world class competitor, comes with CheckerBoard; but you can also use KingsRow, another world class engine, or any of several others of lesser strength. I have just upgraded to version 1.611 and CheckerBoard's feature set continues to grow (and there is an even more recent release just out that improves the database search capabilities).

760c119bf3
Reply all
Reply to author
Forward
0 new messages