Author Topic: Othello with Artificial Intelligence  (Read 3734 times)

0 Members and 1 Guest are viewing this topic.

Offline nitacku

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 300
  • Rating: +30/-1
  • ni-ta-ku ^_^
    • View Profile
Othello with Artificial Intelligence
« on: November 07, 2008, 10:52:39 pm »
Othello with Artificial Intelligence (as seen on uti)

I have been wanting to create an AI for Othello for a very long time, so I am finally deciding to pursue this idea. AI is something that has always fascinated me. Out of all the topics in mathematics and computer science, I find that there are 3 topics that interest me most:

Chaos Theory
Artificial Intelligence
Cellular Automaton

Getting back on topic, I will be posting to this thread as I develop the AI. So far I have already completed the engine, so all that is left is the AI. Since creating an AI is rather difficult, at least in my opinion, I have organized a tentative schedule which I believe will allow the AI to be constructed most easily.

Rules constraining the AI's movement will be developed in the following order:

1] random location
2] location yielding maximum points
3] static location offense (corners and edges)
4] static location defense
5] increase AI mobility
6] decrease opponent mobility

After all of these have been implemented, the AI will no longer be basing moves on trivial information such as maximum points, but rather it will be forcing moves onto its opponent. The first 2 stages are for development purposes only, and only exist to help lay the foundation for the real AI.

Alright, so that is the current plan. Just thought I would let everyone know, since I will be requiring quite a few testers to verse the AI for me in addition to my own limited playing ability. My final thoughts as I wrap this post up are concerning depth search and self learning. It would be sort of an ultimate goal to include self learning into the AI, but seeing as this will be programmed in basic, the limitations will probably make this impossible to implement. As with the depth of search, I will probably be limited to 2 ply, since anything greater would make the AI latency unbearable.

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Othello with Artificial Intelligence
« Reply #1 on: November 07, 2008, 11:26:06 pm »
Interesting. I need to get familiarized with Othello. I am curious how far a BASIC AI can be pushed

Offline nitacku

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 300
  • Rating: +30/-1
  • ni-ta-ku ^_^
    • View Profile
Re: Othello with Artificial Intelligence
« Reply #2 on: November 07, 2008, 11:32:56 pm »
yes, basic is not as basic as basic seems :P

I've already created a basic AI (as seen on uti). It has the capability to move based on most points. It runs rather slow, which concerns me, since there's a ton more stuff to add. If anyone would like to help optimize or even come up with a faster solution, I will definitely use it in the AI.

I've attached what I have so far:

Reversi.8xp
This is the main program/engine. There is no code pertaining to the AI or point calculation.

Scan.8xp
This program requires the coordinates of a tile (store X coordinate to A variable, store Y coordinate to B variable) and checks to see if any points are available. If points are available, it will flip the discs and update the score.

AI.8xp
This program will calculate the optimal solution to the current board and output the solution coordinates in A & B to use with Scan.8xp

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Othello with Artificial Intelligence
« Reply #3 on: November 08, 2008, 12:22:02 am »
cool I will check out whenever I get some time

Offline bfr

  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 819
  • Rating: +4/-0
    • View Profile
    • bfr's website
Re: Othello with Artificial Intelligence
« Reply #4 on: November 09, 2008, 11:09:40 pm »
Quote from: nitacku
It would be sort of an ultimate goal to include self learning into the AI

Yeah, that'd be awesome 8)

This seems like a pretty interesting project.  I'll check out the demos you have so far

metagross111

  • Guest
Re: Othello with Artificial Intelligence
« Reply #5 on: November 15, 2008, 10:03:31 pm »
AI has always fascinated me. I wonder how hard it would be to program a Pokemon AI?

Offline simplethinker

  • LV7 Elite (Next: 700)
  • *******
  • Posts: 695
  • Rating: +16/-5
  • snjwffl
    • View Profile
Re: Othello with Artificial Intelligence
« Reply #6 on: November 15, 2008, 10:09:02 pm »
What intelligence is there?  The strategies of trainers in every version I've played seem to just be picking random attacks and the pokemon brought out are just whichever has the type advantage.
"We've all heard that a million monkeys banging on a million typewriters will eventually reproduce the entire works of Shakespeare. Now, thanks to the Internet, we know this is not true." -- Professor Robert Silensky



Chip's Challenge: ħ%

metagross111

  • Guest
Re: Othello with Artificial Intelligence
« Reply #7 on: November 15, 2008, 10:15:17 pm »
actually, in R/B/Y, its totally random. but some of the advance games have an AI that isnt totally bogus. they are smart enough in the Gamecube games to use double battle strategies. although not so much in the gba games, in which plusle and minun both use helping hand >_<