4 ms·
2002: Devised without a book what I later discovered was the MinMax algorithm (my father was quite unhappy when he discovered tic-tac-toe game trees penciled on
by pattrn 9y ago
2002: Devised without a book what I later discovered was the MinMax algorithm (my father was quite unhappy when he discovered tic-tac-toe game trees penciled on the side of the staircase) and wrote a really terrible chess engine with it. That sparked a lifelong interest in programming. A couple years later, I had a blast implementing AlphaBeta (w/pruning), NegaScout, MTDf. Eventually got into NNs, which I used for leaf-node scoring, and made a bot that played on ICC (Internet Chess Club) that became a recurring opponent for an IM at the time. The IM would chat with the bot, since he was convinced by its play-style that it was human. In college, turned the leaf-node NN into an FPGA to speed up the calculations by parallelizing them.
Then I got a 9-5 job and my dreams of working in AI faded into the ether. Life comes at you fast.
- exikyut 9y agoDo you still have any of this stuff sitting around? Particularly the FPGA part. If you do, I would love to see videos of this in action (not code). Would be absolutely awesome. Seriously! I don't care that it's from 2002, that's what makes me more interested if anything. Also... people are Very Interested™ in neural networking now. I am 100.0% sure that if you threw this info at a few companies they wouldn't mind waiting a little while for you to shift gears (switch jobs) and catch up to the way things are done now (train, at expense, for a few months). You'd likely take a bit less time than the next person, in any case. Yes, this would certainly be a major undertaking and not something to be rushed, but I don't think your interviewers would be disinterestedly waiting for whoever they're seeing next, to put it one way... One thing. I'd recommend a position where you step back and look at the bigger picture rather than drown in implementational/technical details all day - you're clearly already figuring things out for yourself, so bogging yourself down with the ways others are doing everything would be noise you could do without.
- pattrn 9y agoThe only thing I can find is one of the original versions of the chess engine. It's still running on a free web-host: http://blitzter.atspace.com/ http://blitzter.atspace.com/. Pardon the writing style of 16-year old me. Unfortunately, I can't find any of the newer versions of the engine or the FPGA code. I wrote most of the newer versions in college, eight to ten years ago; the hard-drive for my desktop may be around my house somewhere, but it will take some time to find, setup, and search. You've piqued nostalgic interest, so I may just do that... I'm currently running a small software agency in the Boston area that employs a couple developers. One of our larger clients integrates their AI-based product with larger customers' platforms, and my company does quite a few of the implementations. That has given me enough of a taste for now; hopefully we can pivot completely into that space one day. For now, I'm enjoying working at an arm's reach.
- exikyut 9y agoWow, I think I was in the middle of finding PHP really hard when I was 16... :) I'm falling over a bit at how the high-bit-finding system actually works (in http://blitzter.atspace.com/documents/game/index.html http://blitzter.atspace.com/documents/game/index.html), along with the rest of the page to be honest. I'd say this is 90% my brain not being great at this sort of thing, and 10% me not knowing chess (shh). I'm very impressed though. It's great that you're able to keep AI on the radar in a reasonable capacity, even if it's not front and center at the moment. Hopefully the pivot you mention does happen one day, and works out really well. :)
- pattrn 9y agoI won't lie: all of this was incredibly difficult and time consuming to learn. Homeschooling was a double edged sword. On one hand, I had five to six extra hours per day for activities like this; on the other hand, I had no teacher, so I relied on Barnes and Noble and rare internet access. It took many years to reach even a basic level of competence. Sixteen year old me also found most things quite difficult :). That said, the page definitely lacks the rigor necessary to communicate the concepts used in the chess engine -- another downside of my education. My parents emphasized engineering related subjects over everything else, which held back the development of my writing while accelerating subjects like math. You can see that pretty clearly in the descriptions on the site. Regardless, the terminology is correct, so it's easy to find a more clear explanation by searching for it elsewhere. Perhaps it's better to think of the descriptions as a poorly written glossary. Talking about this brings me back to a time where I wrote software because it satisfied a burning passion, and not because it paid the bills. I still enjoy it, but with less intensity. Maybe that will return if I can get into AI again. Thank you for the kind words! I've thoroughly enjoyed this conversation.