Knowledge, in terms of the information used to play a game, can be divided into two categories: public and private. Public knowledge is knowledge that is accessable by all players in a game. This often includes the order of turns, points scored (and perhaps how they were scored, in games such as Rummy and Go Fish), or positions on a gameboard. In other games, all knowledge is public. For example, Tic Tac Toe has no unknown game variables. The complete game state is visible to all participants. Private knowledge is what an individual player knows (generally about itself) and which no one else does. This would include cards in hand, or perhaps a plan for the next move. Again using Rummy and Go Fish as examples, the cards in a player's hand would constitute private knowledge. Of course, as a Go Fish player requests cards, some of the private knowledge actually becomes public! This information is represented below:

This image shows how an array (using the term loosely, not in a data structure context, although one could implement it that way!) of knowledge is gained from oneself and others during gameplay. Note how the areas of shared knowledge overlap. This type of gaming knowledge aquisition raises a few questions. The first involves a sub-category of public knowledge which can be referred to as "quasi-public" knowledge. This is knowledge that is public (every player has access to it) but that is often forgotten by players with imperfect memories. These players are generally humans (In Go Fish - "Did Bill request 3's once or twice? Did he do it before or after Mary took my 6?") A player with a perfect memory, such as a well programmed computer, can retain all quasi-public knowledge and use it to an advantage. In fact, the percent of a game's public knowledge that can be quantified as "quasi-public" can greatly affect how effective of a player a computer can be. If a large part of a given set of public game knowledge is actually quasi-public, then a computer player has some leverage in gameplay, before processing power and algorithm design even factor in!

This second image reflects one view of the question of how artificial intelligence can be acomplished. If the grayed in area represents the goal of truly intelligent behavior, the interesting question is: "How big of an overlap should there be?" Or, think of it this way: Humans are very good at recognizing patterns, i.e. drawing on stored knowledge (experience). Computers are programmed based on mathematical encodings (logic). How do we make the two work together? One solution is to program AI programs to use a self-updating knowledge base, as demonstrated by the Go Fish implementation found elsewhere on this site. For a note on how experience can carry over from related games, check here .



Random notes from the seminar


Notes 1 Notes 2 Notes 3