Adam Pearce

First Post

I've found that writing todo lists enormously increases my productivity while programming. Programming is all about breaking larger problems into smaller problems over and over until the problems are small enough to solve easily. Lists provide a map of the problems that need solving and make it possible to work on a smaller subset of them without having to simultaneously worry about the global structure of the program.

I'd like to learn more about creating computer programs able to play board games; to that end, over the next day or two I'm going to be working on an AI for 8×8 Connect 4 and try to accomplish the following:

  1. Implement a Minimax algorithm using javascript since game logic and GUI are already written. The heuristic evaluation function will probably count the number of winning moves available to both players.
  2. Add alpha-beta punning to the Minimax algorithm.
  3. Create a Monte-Carlo Tree Search algorithm for Connect 4. I'm not currently very familiar with this technique, but based on what I've read so far, it looks like it is state of the art.
  4. Have the programs play each other (with similar run times) and post the results.

Other assorted ideas I'm thinking of trying (updated occasionally):

State population flow Pupyrev et al. parallel flow diagrams look very promising.

Project Gutenberg

Whale words and other text visualizations, both work specific and aggregate

Dragon curve

Unfold with mouseover

Submarine cables

Animate history of them being laid

Style like an old map

Use canvas or webGL to show flow of information

Fibonacci numbers

Show computation with recursion, memorization and newtons method

Twitter -> RSS

Turn twitter follow list into a rss feed, export OXML

Make front end to browse

graph-scroll lib

Analysing data with d3

Oscars, temp over time

Click and drag exploration of svg paths

Software usage

pip, ruby?

github - commits v downloads

###The actual hardest shot in bowling Maybe, the reason for the low success rate on the 4-6-7-9-10 split is because the really good pros rarely end up with it.

Are strikes streaky?

Do some players player better when ahead or behind?

Most lead changes?

The 'best' bowler

Degrees of Duncan

Every player that's played with another player

Convex box score points - every player that's played 20 min+ and scored less than 10

Space debis

python v r data analysis

clojurescript/om demo

Server side code


song lyrics

catrography w/ nba or game positions

Stretching and shrinking time

Making tools for d3

Difference between playoff and regular season win rates

Remake trib baseball chart

Ship logs

Number of seconds with a lead v chance of winning

Small multiples point differential for each minute over the course of a game

Hilbert Scope