Here is a sort of description to my yet-unimplemented AI agent to play tic-tac-toe.
It doesn't have to win, it just has to work, and my description of it has to be good.
Tell me what you think:
/* "RATION_AL" The goal of my agent is to implement an agent function that doesn't require omniscience and instead will rely entirely upon rational decisions based upon the formal definition of a rational agent, primarily utilizing the percept sequence, and some minor built-in knowledge, it will alter it's behavior from experience gained by the percept sequence, but will also remain largely reflex-oriented. With Tic-Tac-Toe against another agent, omniscience in the simple sense, isn't possible due to the variety of techniques available, including knowledge-based and entirely random move placement. Success (for my agent) at each stage of the percept-sequence, should likely be gauged by the state of the task environment in which the "agent" resides--after the opponent's move. Due to the finite nature of a 3x3 matrix, a knowledge-based approach encompassing every possible action that can be performed could be employed perhaps successfully, and one might argue that knowledge of every possible outcome could be considered omniscience (as far as the agent is concerned), but I'm sure that's debatable and I don't have a definite answer. With further review of the material, this type of table-driven or knowledge-based approach may be unfeasible with an astronomical number of possibilities. Let's get it on! The task environment is a fully observable, strategic, sequential, static, discrete, and competitive multiagent 3x3 matrix. The task environment is a finite 3x3 matrix that can be completely, or partially filled with 'X' characters and 'O' characters, it can also be empty. This is a strategic task environment because it is entirely deterministic except for the actions of other agents, and it is fully observable at each percept stage. My agent's performance measure consist of minimizing occupied spaces, obtaining 3 adjacent appropriate characters, obtaining 2 agent-occupied spaces separated by a blank space, obtaining 2 adjacent agent-occupied spaces with a blank space available to either end, and acting to prevent the opponent agent from achieving these criterion when necessary using one or more condition-action rules (reflex-agent-style). */