• Discussion about chess v. A&A AI has already been discussed at length, elsewhere.  Like you, I thought A&A AI would be easier, but after reading all the arguments, I changed my mind.  For starters, there are waaaay more immediate possibilities in A&A than in chess.  Never mind the whole looking ahead 3 moves part….

    Anyway, there’s a reason A&A AI sucks, and it’s not just because fewer programming man-hours have been put into it.

    I stand by my chess and A&A comparison.  I have played thousands of games of chess in the past few years, and I’ve played about 200 A&A games.  There are a lot of similarities, and many of the analogies are relevant and worth discussing.


  • Ok, it was an 8.5 hour game but I’m ready to give you guys the synopsis.

    It was me vs. two of my friends and they decided to take axis, which is what I wanted.  I started off with russia as I usually do, take west russia with 9 inf 2 tank.(after posting this and re-reading that sentence, I wanted to clarify that I started with same moves I usually use for russia, rather than implying that I sometimes start with a faction other than russia)  Then I take the rest of my available attacking units and attack ukraine with the intent of doing one round of dmg and retreating.  Unfortunately the first round of battle I missed everything and got hit twice on defense, so I just straight up retreated,

    Even though I’ve only had about 2 weeks of playing tripleA for experience, my friends had a bit less than that so they did make a number of blunders that I cant’ really say “look how good I am”  Germany only attacked my destroyer in the Mediterranean and didn’t touch the cruiser and they pushed back in russia.  They didn’t attack egypt.

    for my american and UK turns in the game I decided I was gonna go KGR.  I"ve never really played a KGR strategy against humans so I was sure how hard I was supposed to commit to that, but since I needed to make a decision I decided 100% should about do it.  I bought transports and ground units and got ready to invade.

    Japan made a lot of blunders, he followed my UK fleet to the Mediterranean cause he didn’t know he couldn’t pass through it.  He took out pearl harbor and built more fleet, so I just retreated through the panama canal.   Germany kept trying to push back russia but with terrible success.  After a LOOOOOOOOOOOOOONG debate about whether or not I could place navy units in SZ3 (he didn’t want to take my word for it, and then he didn’t want to take the larry harris FAQ’s word for it)  I brought all my american troops and UK troops to norway and landed all my planes there.  When he took the bait and defended karellia, I said something to the effect of “REMEMBER THE ALAMO YOU NAZI BASTARDS” and then I rained hellfire down upon western europe.  Japan spent an obscene amount of effort trying to control the canal for the mediterranian [and succeeded on round 4 (germany died shortly before hand also on round 4)]  After taking Germany’s 40 IPC I had 90 to spend the next round and bought 90/6 submarines and japan surrendered.

    so pretty much a shot for shot remake of WWII

    thanks for the help guys, I look forward to playing a skilled player soon

    edit: poor grammar

  • '12

    I’d love to read the chess Vs A&A AI threads.  I am rather intrigued about this, so much that I have already mentioned this to my machine learning professor.  But it is not a trivial matter.  More possibilities is actually not a problem at all, it’s just a matter of zeros.    If real AI was just a matter of zeros, we would have sentient computers, they would just think slowly.  In fact, there is no difference in computer power between the first programmable computer at Bletchley Park in 1944 and the fastest supercomputer now, well, the ONLY difference is in the number of zeros after any measure of performance.

    Bunnies……When you talk about opening moves, you are ‘hand coding’ specific solutions for specific problems.  There is no generalization which is the holy grail.   Once you can provide for a general solution ie some ‘metric’ for a given ‘game state’ then and only then do you enhance this with specific opening move sequences.

    The AI thread with Veqryn
    http://www.axisandallies.org/forums/index.php?topic=26221.15


  • Discussion about chess v. A&A AI has already been discussed at length, elsewhere.

    Let every eye negotiate for itself
    And trust no agent; for beauty is a witch
    Against whose charms faith melteth in blood.

    Much Ado About Nothing (II, i, 178-180)

    Like you, I thought A&A AI would be easier, but after reading all the arguments, I changed my mind.

    You weak minded fool!  He’s using an old Jedi mind trick! - Jabba the Hutt, “The Empire Strikes Back”

    I have played thousands of games of chess in the past few years, and I’ve played about 200 A&A games.

    If eating M&Ms made me an expert on making them, I would be the mother of all M&Ms.  Or the father, as it were.

    There are a lot of similarities, and many of the analogies are relevant and worth discussing.

    (Bunnies adjusts soapbox stands on it, and opens a notebook titled “Lecture on Programming”)

    Let us suppose you are in a room with a tile floor.  Any given tile may or may not be trapped to fire a steel dart at anything that touches it.  Let us now also suppose that you have a cute furry hamster and a small supply of hallucinogenic drugs.

    Now, there are different approaches to programming.

    Most people would say “The h*** with this”, leave the room, and go off somewhere nice to use up the supply of hallucinogenic drugs.  This explains the great surge in economics majors in recent years.

    Of those that remain -

    Those that understand how funding committees work know that it isn’t necessarily actual progress that funds research.  What is required is the perception that work is being done.  So clever budding programmers pump the hamster they have with drugs, and let it loose on the floor.  If the hamster is shot, success!  A trap has been detected!  If the hamster lives, success!  A safe square has been detected!  Of course, with the hamster staggering around, in time, the hamster will almost certainly be shot, but it is a staggering success all the same!  With success comes approval for further funding, which leads to further hamsters and hallucinogens, which feed more test results, which feed more funding, etc. etc.  Then comes the inevitable funneling of hamsters and hallucinogens into black market pet stores and pharmaceutical companies, the reaping of profits, the bribes, the intern set up to take the fall, the convenient accident the intern has before being able to testify in court, the trophy wife, the hot intern with whom an affair is messily covered up, and finally retirement from a happy life of programming, pet stores, and pharmaceuticals, into a respectable life of academia and executive board membership in which no one questions or blinks an eye at twenty thousand dollar “consultation fees”.

    Which explains rather a lot about how programming is funded.  But how does programming work in theory?  How do you make it all sound so very impressive to the bright eyed hard bodied young girl or guy who tells you “programming is soooo interesting, why don’t you tell me more about it?”  (For such students, I recommend the Barry White “Can’t Get Enough Of Your Programming Baby” album.  Worked for me seventeen times, until the headboard on my bed broke off and hit the record player.)

    Programming, chess programming.  Throw a million hallucinogenic hamsters on a trapped floor, and see which ones survive.  The survivors are picked up and thrown into another trapped room, then another, then another.  Finally, only a couple of dazed and terrified hamsters are left, which we call “Viable Options”.  What is the programming part?  Making sure there is one hallucinating hamster for each tile in each room.  Tracking each hamster.  The ability to tell which hamsters are dead, which are alive, and which are merely passed out / faking dead / apathetic.

    There are other methods to programming.

    Some programmers attempt to engineer the hallucinogens so they no longer induce random behavior in the hamster.  Instead, exposure to the hallucinogen causes a hamster to act predictably - say after a hamster lands, it always walks straight due north.  Since the point the hamster is dropped is known, and since its path is known, any tile between the tile the hamster was dropped on and that the hamster ended up on (or met its end on) is safe.  With such hallucinogens, there no longer need be a hamster for each tile, so fewer hamsters are needed overall.  Thanks to advances in virtual hamster cloning technology, though, it has been pointed out that developing advanced hallucinogens is far more expensive and time consuming than merely whipping up a batch of a couple billion hamsters.

    Some programmers attempt to engineer hamsters.  Daring hamsters with fedoras and whips that can detect traps safely. Such programmers are almost inevitably sneered at by funding committees that demand to know when the hamster is going to get up off its a** and make them a sandwich.  Frustrated programmers that fail to obtain funding often go on to have successful careers writing scripts for movies such as “Indiana Jones and the Temple of Doom”, “Terminator”, and “Planet of the Apes”.

    As far as comparing and contrasting chess AI and Axis and Allies AI -

    There are SOME similarities.  But NOT so much so that you could easily apply one to the other.

    First, I would say - is Axis and Allies different from chess?  I think so.  Demonstrably very much so.  No “light tweak” would allow Fritz or Chessmaster to play Axis and Allies with any degree of real “skill”.  Nor would a heavy tweak do.  In fact, I am very much persuaded that nothing short of two cases of Jack Daniels would do the trick.

    Second, consider funding.  Funding is proportional to perceived marketability.  Chess is much, much more marketable than Axis and Allies.  Chess is the bucket of funding, Axis and Allies the drop of water.

    True, programming techniques applicable to Axis and Allies and not to chess could be developed and sold were Axis and Allies AI to be developed.  But specific programming techniques could just as easily be developed for other projects entirely - other higher-profitability projects, that is.

    So what we have so far is - Axis and Allies AI will require significant unique development, and that funding and resources for such development will be very limited.

    That means A&A AI must deliberately be developed to be simple.  More complex than is currently available in TripleA, but still very simple.  A programming environment will not be created for the purpose of Axis and Allies programming.  With calculation abilities limited to piggybacking on existing program shells, the program will not have the resources, and therefore should not be written, to encompass all possibilities from each point, because calculation times will be too long.

    So the best direction for Axis and Allies AI, considering the real-world resource limitation, is the writing of a framework through which the AI can efficiently execute several different predefined strategy scripts.  With a limited (although still quite wide) number of variables to check, the program can evaluate conditions and select an appropriate stage of an appropriate strategy, and execute a move in a reasonable amount of time.  This should give the Axis and Allies AI reasonable efficiency, but should not be anywhere near as difficult as scratch-building an effective chess AI.

    To put it in hallucinogenic hamster terms - instead of throwing mass hamsters (calculation power), re-engineering hallucinogens (complex AI scripts), or re-engineering hamsters (giving an AI the ability to understand the concepts behind the game and the ability to derive principles therefrom), we are instead throwing down a lot of sets of unconnected colored tubes (setting predefined strategy sets that transpose into one another).  All hamsters start in a tube (the opening position for each power can be predicted, although there are many possibilities so many tubes are needed.  From that opening position, the game can be steered along certain “safe” paths).  A certain minimal amount of hamster and hallucinogen engineering is needed to get the hamsters to jump from one tube to another (although much less than if there were no tubes).  There is always a danger that a hamster may wander out of a tube where it will quickly die, but given our limit on hamsters and limited engineering capability, that can’t be helped.

    As far as Axis and Allies inherently being harder to program than chess -

    Even in the 1950s there existed a literature of tens of thousands of good, solid books on chess.  Programmers did not have to figure out how to use rook and king to checkmate a king.  It was in the literature.  They did not have to figure out how to use bishop and knight and king to checkmate a king.  It was in the literature.  They did not have to figure out the deviations fourteen steps deep into a Sicilian Dragon, and how to exploit significant deviations from the line.  It was in the literature.

    To my knowledge, Axis and Allies has nothing like that.  Oh, there’s a bit here and a bit there, but it’s mostly fundamentals conceptually equivalent to knowledge of pinning, or the first three moves of the Spanish/Ruy Lopez.  There is nothing THERE.

    So in practical terms there is groundwork to be laid, and I think (among other factors) that is one of the major contributing factors to why the competitiveness of Axis and Allies AI does not compare to the competitiveness of chess AI.

    But is Axis and Allies inherently harder to program?

    First, check conditions (ABCDEFGHIJKLMNOP).  Second, set strategy (X) based on checked conditions.  Use tactical database to evaluate best use of available resources.  Execute.

    That’s all there is.

    I’ve heard people say that
    Too much of anything is not good for you, baby
    Oh no
    But I don’t know about that
    There’s many times that we’ve programmed
    We’ve shared programs and made programs
    It doesn’t seem to me like it’s enough
    There’s just not enough of it
    There’s just not enough
    Oh oh, babe

  • '12

    There are lots of existing metrics for chess board states.  It’s actually not hard to write a chess playing program, it was a class assignment for a 3rd year course in AI which was a prerequisite for the course I am taking.  Of course I took that course 15 years ago, no chess assignment in that class.  Decision trees were used.

    What intrigues me is not hand coding a strategy that is moderately effective but always makes the same ‘mistakes’.  I am intrigued with an actual machine learning system whereby it ‘learns’ how to play and perhaps uncovers hidden strategies.  Such a system would be a benefit to play testing new games and changes to existing games.

    TripleA already has a way to dump game histories to an output.  It would be cool if a system could parse this file to see games played and ‘learn’ from them.  A combination of data mining and playing millions of games against itself could provide for an effective AI opponent.

    It’s such a nebulous problem it would be hard to determine how much effort would be required.  Easy <problem<infinity.<br>Computational complexity can be addressed with distributed computing.  More users using it should mean a better AI, something like a SETI@home system would be da bomb!</problem<infinity.<br>

  • Liaison TripleA '11 '10

    Say you’re on a diet.  So you take five regular boxes of donuts, remove the donuts, then you put the donuts into two large boxes.  So far, you’re great.  Because all the donuts are still in boxes, see?

    But if you do end up eating all the donuts, it won’t matter if they started out in five boxes or two boxes.

    Two boxes are easier to carry, than five.


  • @MrMalachiCrunch:

    Bunnies……There is no . . . holy grail.

    http://www.youtube.com/watch?v=XcxKIJTb3Hg

    Once you can provide for a general solution ie some ‘metric’ for a given ‘game state’ then and only then do you enhance this with specific opening move sequences.

    That is, if I understand you correctly, you are saying the program should be able to look at a board and figure out what to do in a general sense.  Only after the program has this general sense can it be effectively refined to carry out specific strategies.

    What I am saying, though, is that the program does NOT require the ability to look at a board and figure out what to do in a general sense.  I am not thinking about actual intelligence, only a reasonable facsimile.  That is, functionally Weizenbaum’s ELIZA approach.  Instead of programming a computer that first understands how to speak, then training it to speak as a Rogerian psychotherapist, simply program the computer to speak similarly to a Rogerian psychotherapist in the first place.

    So before I posted the above, I found two new replies had been posted.

    What intrigues me is not hand coding a strategy that is moderately effective but always makes the same ‘mistakes’.  I am intrigued with an actual machine learning system whereby it ‘learns’ how to play and perhaps uncovers hidden strategies.  Such a system would be a benefit to play testing new games and changes to existing games.

    I say whether it intrigues you or not is not the question.  The question is what is the best use of available resources?  If I am correct that resources are extremely limited, then programming will have to be done in the limited fashion that I describe, precluding a general revolution in the state of AI development.

    @Gargantua:

    Two boxes are easier to carry, than five.

    Yes, but would you rather have five boxes of donuts or two boxes of donuts?

  • '12

    It’s just a harmless little bunny….

    Whether it intrigues me or not certainly is the question from my perspective if I am to do the project.  Machine learning is my interest, a non-learning game playing algorithm is what is required most likely.

    ‘General Solutions’ to specific problems should always be the primary objective so your solution can be  re-used in other applications.  It’s not always feasible of course.  Then ‘domain specific’ information can then be added to enhance choices made.  It’s machine learning 101.  You are absolutely correct in that a simpler solution might just work fine.  A game playing algorithm can be simple and effective without ever being able to learn, that is what currently exists.  Before I shoot my mouth off too much, I would need to invest time to see how the existing wheel works before I think too deeply about re-inventing it, assuming I am even capable and able to spend the effort both of which are questionable.

  • '10

    @Bunnies, maybe the programmer is a pervert and if you give him some hallucinogens and a hamster… there’s only one place he’s gonna put him, and it ain’t on any tile.

    And I’d rather have a box of donut holes. They’ll be lighter.


  • sooooo…. I’m not upset that the thread has gone tangential (that’s not a passive aggressive way of saying I am upset)  but you guys could at least give me a pat on the back for winning my first human game :(

    @bunnies  If you ever in your LIFE request funding for AI programming I’m calling ASPCA on you


  • @Guppers:

    sooooo…. I’m not upset that the thread has gone tangential (that’s not a passive aggressive way of saying I am upset)  but you guys could at least give me a pat on the back for winning my first human game :(

    Here’s a pat on the back and a box of donut holes.

    Actual donuts are reserved for players that can inflict permanent psychological scarring at forty paces.


  • gets up and looks around

    “Nope, looks like the thread is still completely hijacked”

    lays down again on the net and takes a nap

    ……zzzzzzzzzzzzz


  • @Bunnies:

    Actual donuts are reserved for players that can inflict permanent psychological scarring at forty paces.

    If I kept screaming racial slurs at them when it wasn’t my turn, is that in the ballpark?


  • Seriously Guppers - “play for the money” was good advice.

    If you have a few weeks of play against an AI you would probably know the power of a superior stack and the advantage of either taking and holding territories, or trading them cost effectively.
    Understanding this simple balance in the game will win against many novice human opponents.

    I have played several multiplayer games with allies who where missing basic understanding of the game. In those cases, games where easily lost if UK or US lost an atlantic fleet.

    So two pieces of advice:
    1. play cost effectively (buy plenty of infantry)
    2. Do not lose the fleet

    If you want to keep an IPC advantage over an axis opponent, Africa may be important in a long term game.
    Targeting western europe from the beginning of a game is not a good strategy IMO. Get a shuck going landing in either Africa or Norway/Karelia/Archangel to support USSR. If (when) Germany exposes a weak territory (Western, Southern Europe or maybe Germany itself) then do the shift.


  • Axis and Allies is not chess.  But there are some concepts that are common to the two, like material versus position.  Some games are material and involve a lot of infantry and slow pushes.  Some games are positional and involve a lot of tanks or fighters or bombers and industrial complexes going all over the place and killing stuff very quickly.

    Targeting West Europe is great for the Allies at the beginning if it can be done conveniently, because it fuels UK’s fleet defense and prevents G2 fighters on Western Europe, which sets the tone for Axis control of Africa.

    Major shifts to Western and/or Southern Europe are not what I prefer to do as Allies against a decent Axis player.  It’s a material versus position question.

Suggested Topics

  • 11
  • 5
  • 5
  • 2
  • 4
  • 7
  • 15
  • 3
Axis & Allies Boardgaming Custom Painted Miniatures

35

Online

17.0k

Users

39.3k

Topics

1.7m

Posts