http://www.perlmonks.org?node_id=393007


in reply to Finding Patterns

This could become a very interesting thread, especially to me since I just finished reading a long AI discussion here on the site.

However, could you be more detailed? IMHO, your question seems very broad in scope and could use some focusing.

Here are some questions that came to mind: You mention parsing chess games. In what format is the data that you would like to parse? Are you considering writing a program that learns how to play chess?

Tii

Replies are listed 'Best First'.
Re^2: Finding Patterns
by artist (Parson) on Sep 22, 2004 at 18:36 UTC
    We always learn something from our environment and find patterns. If given numbers '2 3 5 7 11 13 17 19 23..' we immidiately recognize them as 'prime numbers'. It is easy for computer to recognize patterns from numbers. People usually make decision based observed patterns. Some creative people go on to create new patterns in life... etc.

    Chess is game where we can deduce number of patterns. We may not know sometime, what pattern we are looking for. Ex. (1). We may find out from analyzing the game that player 'A' always castle as early as possible in the game. Player 'B' wait till he realizes that his king is in danger. (2) We can find typical 'forks' that a chess player is using.

    These can reveal the "chess player's chess-nature" player in descriptive terms. Just like DNA can reveal blue print of our life. I may be able to do chess parsing from number of different format. Ex. PGN which can use Chess::Pgn. Ultimately, I like to write a good chess engine.

      One of the problems of looking for patterns is matching known categories to the input. In your example, if prime numbers were not understood by the searcher, the pattern might be filed as "unknown".

      On the other hand, if the searcher had a broad set of analysis tools [or access to Sloane's database], it might be able to build the category of prime numbers based on the given input (no divisors between 1 and N).

      But the searcher must be careful to employ some simplification schemes (perhaps an Occam's Razor module?), because there are numerous formulas that will have those numbers on the curve, or as axis crossing points, etc.

      I suspect that a good searcher will have to have or evolve infrastructure for category description and matching, as well as an engine for developing new categories and testing hypotheses.

      Finally, I wasn't clear whether you meant "find the pattern in..." (such as the primes example), or "generalizations in time and/or space" (which is nearer the chess analogy). One involves induction, the other deduction [if I've got my head on straight today].

      -QM
      --
      Quantum Mechanics: The dreams stuff is made of

      The issue is when you talk chess you talk _very_ large data-sets. You can keep track of games (both table state and players move) and build out your statistical pool every game that is played. Given a very large number of games with that player you may pick up statistical anomalies vs a large set of other players games. There are so many combinations of moves and board states that you wold be hard pressed to find a large enough population of data on one player to build a "ok" data-set against. And even then it is really only useful if you have that same volume from a ton of different people.

      To bring this back to your example, where we may near instantly recognize the small set of primes that you listed above, can that really be said of 6 random board states from historical Karpov games? Yes, your mind is trained to grasp patterns such as the one above. Yes, your computer can run tests on the numbers above and come back and tell you that they are prime -- but only if tests are written to do so. The problem with attaching those principals directly with chess are great. Chess is more complex. Chess is played by humans (the first time I play you is not the same as the second time. I learn, think and evolve) which makes the data-sets less than static. At most you would be able to derive Fingerprints for players with large enough statistical anomalies -- but then again if they continue to play the same way their opponents will eventually learn and overtake.


      -Waswas