As was foretold, we've added advertisements to the forums! If you have questions, or if you encounter any bugs, please visit this thread: https://forums.penny-arcade.com/discussion/240191/forum-advertisement-faq-and-reports-thread/
Options

A.I. Advancement

124

Posts

  • Options
    LewiePLewieP Registered User regular
    edited January 2008
    I agree.

    LewieP on
  • Options
    Deviant HandsDeviant Hands __BANNED USERS regular
    edited January 2008
    thetruthje4.png


    Infeasible != Unsolvable

    Infinite Possibilities == Unsolvable

    Deviant Hands on
  • Options
    seabassseabass Doctor MassachusettsRegistered User regular
    edited January 2008
    Smasher wrote: »
    No.

    Comprehend this from a computer's point of view. How are you supposed to tell the difference between an infinite loop, and a loop that is going to turn into another branch of possibilities? You can't just "discard" a possibility that leads to an infinite loop if you are aiming for 100% victory all the time, because then you are effectively eliminating a bunch of possibilities. An entire TREE of possibilities.

    If you don't care about winning 100% of the time then you can make some rules where the computer will discard a possibility if it finds it has traced it an X number of times or the path is not promising or whatever, but then you are not winning 100% of the time and you are not playing a perfect game, you are leaving room for doubt.

    Thus, not even the most PERFECT machines who could compute entire universes in a fraction of second would be able to ever play a 100% victory assured game of chess, and that's the bottom line. Nothing to do with hardware. You guys are all stuck on hardware. Ignore hardware.
    *MANY INSIGHTFUL THINGS ABOUT CHESS*
    .

    Thats pretty much the approach taken for the checkers solution. Build an enormous end game database and keep going. Turns out that checkers is a draw. \/O_o\/
    I can't see the approach failing for chess, or even go for that matter, if we're ignoring the limitations of time and space. The problem is that typically these limitations do exist, and so we apply some sort of heuristic search to the problem, and then deep blue loses.

    Anyway, games aren't my bag. My two bits is that computers are bitching good at solving problems, but I don't think that being able to solve the traveling salesman or do multiple sequence alignment is going to qualify the things as sapient anytime soon.

    Now, thats not saying we can't build things that handle situations rationally. Hell, theres a paper in JAIR about an algorithm which plays Ms. Pac-man and Baldur's Gate, but these things aren't (and may never) doing it for fun, they're just maximizing a utility function.

    seabass on
    Run you pigeons, it's Robert Frost!
  • Options
    LewiePLewieP Registered User regular
    edited January 2008
    snip


    Infeasible != Unsolvable

    Infinite Possibilities == Unsolvable

    Surely eventually all of these paths lead to repetition (since there are a finite number of pieces and positions) and as Smasher said, previous moves are irrelevant with a few (easy to account for) exceptions.

    Edit: and if repetition does occur, that is essentially the end of a path, because the correct action to take would be the same, so it could move up to where the layout was the same.

    So all paths either end in check mate or repetition, and therefore there are a (very large) but finite number of possibilities.

    LewieP on
  • Options
    lowlylowlycooklowlylowlycook Registered User regular
    edited January 2008
    thetruthje4.png


    Infeasible != Unsolvable

    Infinite Possibilities == Unsolvable

    Is this your own insight into A.I. research or are you getting this from somewhere? I suggest reading Smashers post again and try to keep your mind open to the possiblity you are just wrong.

    Maybe to put it a bit more simply: say your AI is going through a set of possible moves and comes back to the original setup. What happens? It doesn't go haywire and start saying "Does not Compute. Does not Compute." Nor does it just keep on searching and finding itself in the same setup again and again. Instead it says, "Well that was fucking pointless. I'll just ignore that option."

    lowlylowlycook on
    steam_sig.png
    (Please do not gift. My game bank is already full.)
  • Options
    Deviant HandsDeviant Hands __BANNED USERS regular
    edited January 2008
    If an AI is at State 1, to completely be ready for all states, it must look into the future to see all the States connected to state 1, such as State 1, State 2, State 3, State B, whatever, and then explore all the States connected to each of THOSE States recursively, until it reaches the last last children who have no children, and then the AI has now looked at all the possible States ever possible in the history of the possibilities. The AI now knows a definite path to any State anywhere at anytime.


    But suppose one were able to Go from State 3, back to State 1. What happens? Now it has to look at all the children of State 1 and all of the descendants of those lines of children. It HAS to. Because even though you are back at State 1, you can still have multiple parallel versions of State 1.

    What if you want to do something like

    State 0 > State 1 > State 3 > State 1 > State 3 > State 1 > State 2 > State ... .

    or

    State 0 > State 1 > State 3 > State 1 > State 3 > State 1 > State 1> State 3 > State 1 > State 3 > State 4 > State 5 > State....


    or even


    State 0 > State 1 > State 3 > State 1 > State 3 > State 1 > State 3 > State 1 > State 3 > State 4 > State 100 > State 1 > State 2 > State 9 > State 10 > State 3 > State 1 > ..... .


    This

    State 1 > State 3 > State 1 > State 3 > State 4

    is a different possibility from this

    State 1 > State 3 > State 4



    You start to end up with MULTIPLE paths to reach the SAME solutions.

    It does not take much imagination to see how these simple examples could be further complicated in a game of chess.

    Being in the same setup again and again does not mean you are in an infinite loop, it just means you are choosing to be in an infinite loop until some possible case.

    Deviant Hands on
  • Options
    lowlylowlycooklowlylowlycook Registered User regular
    edited January 2008


    But suppose one were able to Go from State 3, back to State 1. What happens? Now it has to look at all the children of State 1 and all of the descendants of those lines of children. It HAS to. Because even though you are back at State 1, you can still have multiple parallel versions of State 1.

    This right here is where you are going wrong. There are no parallel versions of State 1. Simple as that.

    State 1 > State 3 > State 1 > State 3 > State 4

    is a different possibility from this

    State 1 > State 3 > State 4

    How is it state 4 from the first chain different from state 4 in the second? How would you play them differently? Unless you are playing or avoiding a draw, it simply doesn't matter how you got there.

    Ok, how about we agree on this:

    It is impossible to make a list of all possible chains of states, but having a list of all possible chains of states isn't necessary to writing a Chess AI even one that plays a perfect game.

    lowlylowlycook on
    steam_sig.png
    (Please do not gift. My game bank is already full.)
  • Options
    Deviant HandsDeviant Hands __BANNED USERS regular
    edited January 2008
    Are you daft? The states are the same

    The paths taken throughout the different states are NOT the same, and are parallel possibilities, all equally possible.


    It seems you are finally accepting the fact that there are infact an infinite possible sequence of plays for a game of chess.

    Now what you need to realize is that if you want to write an AI who can play a game of chess and win with 100% certainty every time, not 99.999999%, you would require an infinite computation of all the infinite possibilities.


    You do not need all the possibilities to write a good Chess AI. A computer only looks a certain amount of moves into the future and takes action based on the possibilities it has looked at. The harder AIs look very far into the future. The stupidest AIs would only look 1 move into the future (or none, only moving randomly). The perfect AI would look toward the end of eternity, and find a solution amongst God.

    Deviant Hands on
  • Options
    TechBoyTechBoy Registered User regular
    edited January 2008
    Assuming each state corresponds to a unique configuration of pieces on the board, it wouldn't make a single difference if you played a million moves to get to that state or just one. The best state to proceed to next would still be the best state.

    BFS, DFS, they already have measures to avoid repeating loops/states. The issue is the massive memory it would take to do a BFS/DFS on all possible chess states.

    Also, an aside: The world Artificial means MAN-MADE. It does not imply A.I. would be inferior to human intelligence in any way or form. I don't know if "true" A.I. will ever be achieved, but I don't think any contenders for "true" A.I. will be accepted until we understand how our own intelligence works. There will always be people who say A.I. is just a program and assert our own human superiority simply because we can't yet quantify what makes us tick.

    TechBoy on
    tf2_sig.png
  • Options
    Marty81Marty81 Registered User regular
    edited January 2008
    It seems you are finally accepting the fact that there are infact an infinite possible sequence of plays for a game of chess.

    Yes, but...
    Now what you need to realize is that if you want to write an AI who can play a game of chess and win with 100% certainty every time, not 99.999999%, you would require an infinite computation of all the infinite possibilities.

    does not follow. For instance, see checkers.

    http://en.wikipedia.org/wiki/Solved_board_games

    Marty81 on
  • Options
    Deviant HandsDeviant Hands __BANNED USERS regular
    edited January 2008
    Marty81 wrote: »
    It seems you are finally accepting the fact that there are infact an infinite possible sequence of plays for a game of chess.

    Yes, but...
    Now what you need to realize is that if you want to write an AI who can play a game of chess and win with 100% certainty every time, not 99.999999%, you would require an infinite computation of all the infinite possibilities.

    does not follow. For instance, see checkers.

    http://en.wikipedia.org/wiki/Solved_board_games

    We are talking about chess.

    Deviant Hands on
  • Options
    lowlylowlycooklowlylowlycook Registered User regular
    edited January 2008
    Are you daft?

    You are asking the wrong question. Correct question: Am I even human?

    lowlylowlycook on
    steam_sig.png
    (Please do not gift. My game bank is already full.)
  • Options
    LewiePLewieP Registered User regular
    edited January 2008
    1/0

    LewieP on
  • Options
    apotheosapotheos Registered User, ClubPA regular
    edited January 2008
    Well, allow me to be a total cock.

    But, if memory serves (and a quick google validates that it does) the infinite loop "problem" is a complete crock of horse shit. The ability to return to a state does not affect the solveability of a game in the slightest. The simple fact is that the number of different states in a game of chess makes it totally unpractical to A) store a complete series of all possible game state and B) search such a series of all possible game state to find the correct next step leading towards victory in a reasonable period of time.

    The cock move here is that I'm not going to write up a lecture to defend this, especially as we have a very devoted advocate to a very incorrect premise. However, reading any text book on A.I. will readily explain how right I am and how wrong he is. But, in short,...

    Imagine a chart that maps out the entire game. The problem, as I pointed out, is that this chart is REALLY FUCKING BIG and the length from any node to the end of the game is REALLY FUCKING LONG. However, the ability to revist a node doesn't increase this complexity sufficiently to be noteworthy as you're not in the slightest concerned with how you got to this state, you're only concerned with how you can move forward.

    apotheos on


    猿も木から落ちる
  • Options
    Marty81Marty81 Registered User regular
    edited January 2008
    Marty81 wrote: »
    It seems you are finally accepting the fact that there are infact an infinite possible sequence of plays for a game of chess.

    Yes, but...
    Now what you need to realize is that if you want to write an AI who can play a game of chess and win with 100% certainty every time, not 99.999999%, you would require an infinite computation of all the infinite possibilities.

    does not follow. For instance, see checkers.

    http://en.wikipedia.org/wiki/Solved_board_games

    We are talking about chess.

    I know. I'm just pointing out why your argument (infinite possible sequences of play requires infinite computational power for a computer to play perfectly) doesn't work.

    Marty81 on
  • Options
    apotheosapotheos Registered User, ClubPA regular
    edited January 2008
    Also, since if a game returns to a certain state a certain number of times it is declared a draw, there is no possibility here for true "infinity".

    apotheos on


    猿も木から落ちる
  • Options
    lowlylowlycooklowlylowlycook Registered User regular
    edited January 2008
    Marty81 wrote: »
    It seems you are finally accepting the fact that there are infact an infinite possible sequence of plays for a game of chess.

    Yes, but...
    Now what you need to realize is that if you want to write an AI who can play a game of chess and win with 100% certainty every time, not 99.999999%, you would require an infinite computation of all the infinite possibilities.

    does not follow. For instance, see checkers.

    http://en.wikipedia.org/wiki/Solved_board_games

    We are talking about chess.

    Maybe the meatbag will reason correctly if I pull some ASCII data from that link.
    Wikipedia wrote:
    Given the rules of any two-person game with a finite number of positions, one can always trivially construct a minimax algorithm that would exhaustively traverse the game tree. However, since for many non-trivial games such an algorithm would require an infeasible amount of time to generate a move in a given position, a game is not considered to be solved weakly or strongly unless the algorithm can be run by existing hardware in a reasonable time. Many algorithms rely on a huge pre-generated database, and are effectively nothing more than that.

    lowlylowlycook on
    steam_sig.png
    (Please do not gift. My game bank is already full.)
  • Options
    apotheosapotheos Registered User, ClubPA regular
    edited January 2008
    Maybe the meatbag will reason correctly if I pull some ASCII data from that link.
    Wikipedia wrote:
    Given the rules of any two-person game with a finite number of positions, one can always trivially construct a minimax algorithm that would exhaustively traverse the game tree. However, since for many non-trivial games such an algorithm would require an infeasible amount of time to generate a move in a given position, a game is not considered to be solved weakly or strongly unless the algorithm can be run by existing hardware in a reasonable time. Many algorithms rely on a huge pre-generated database, and are effectively nothing more than that.

    Exactly.

    apotheos on


    猿も木から落ちる
  • Options
    Deviant HandsDeviant Hands __BANNED USERS regular
    edited January 2008
    Jesus christ. You people are absurd.


    Chess has an infinite number of ways to possibly win. Ways like you wouldn't believe.

    You will never compute them all. Period. I'm done with this thread.

    Deviant Hands on
  • Options
    LewiePLewieP Registered User regular
    edited January 2008
    So if there was no time limit, it would be possible to have a computer that never lost at chess? (even if the game would take years)

    LewieP on
  • Options
    TechBoyTechBoy Registered User regular
    edited January 2008
    Jesus christ. You people are absurd.


    Chess has an infinite number of ways to possibly win. Ways like you wouldn't believe.

    You will never compute them all. Period. I'm done with this thread.

    I'm pretty sure all ways involve TRAPPING THE KING IN CHECKMATE.

    Christ, you yourself first used the word state. Do you even understand what state means?

    TechBoy on
    tf2_sig.png
  • Options
    Marty81Marty81 Registered User regular
    edited January 2008
    LewieP wrote: »
    So if there was no time limit, it would be possible to have a computer that never lost at chess? (even if the game would take years)

    Nobody knows for sure, actually.

    To go back to an easier example, checkers was only fully analyzed a few months ago. It's possible to have a computer that never loses at checkers, but it's impossible to have a computer that always wins at checkers, because the human player can force a draw no matter what the computer does. It might be the same with chess, or there might be a winning strategy for one player (a strategy that guarantees a win regardless of what the opponent does), or something else. Nobody knows yet.

    Marty81 on
  • Options
    ZombiemamboZombiemambo Registered User regular
    edited January 2008
    LewieP wrote: »
    So if there was no time limit, it would be possible to have a computer that never lost at chess? (even if the game would take years)

    I don't think you can something that 'always' does something or 'never' does something. Eventually, through skill or dumb luck, a player would somehow beat it.

    Zombiemambo on
    JKKaAGp.png
  • Options
    Marty81Marty81 Registered User regular
    edited January 2008
    LewieP wrote: »
    So if there was no time limit, it would be possible to have a computer that never lost at chess? (even if the game would take years)

    I don't think you can something that 'always' does something or 'never' does something. Eventually, through skill or dumb luck, a player would somehow beat it.

    If I go first, I can beat you at 3-d tic tac toe no matter what you do. Always.

    Marty81 on
  • Options
    apotheosapotheos Registered User, ClubPA regular
    edited January 2008
    Jesus christ. You people are absurd.

    You sir, are being a fucking idiot. You can Google a proof of it in about 10 seconds.

    Edit: A proof that chess is a solvable game. Not a proof that you are a fucking idiot.

    apotheos on


    猿も木から落ちる
  • Options
    apotheosapotheos Registered User, ClubPA regular
    edited January 2008
    LewieP wrote: »
    So if there was no time limit, it would be possible to have a computer that never lost at chess? (even if the game would take years)

    I believe if I'm reading this proof right and you count draws as not losing yes, yes this is true.

    apotheos on


    猿も木から落ちる
  • Options
    ZombiemamboZombiemambo Registered User regular
    edited January 2008
    Again, I could be totally wrong, but with infinite options (at least I think we established that), at some point or another even the best course of action for the computer to take would not be enough.

    Zombiemambo on
    JKKaAGp.png
  • Options
    SmasherSmasher Starting to get dizzy Registered User regular
    edited January 2008
    Between finding a "solution amongst God" and his complete refusal to properly consider our arguments, I find his accusing me of "magical thinking" highly ironic.

    Smasher on
  • Options
    Xenogears of BoreXenogears of Bore Registered User regular
    edited January 2008
    I was looking at this thread growing on the first page and wondered to myself if it had got off topic on an absurd debate about the limits of AI. Lo and behold!

    Anyways, back to the original jist of the thread, the first Perfect Dark game has some really damn fine AI, especially in the single player. They will go for cover, try to pick up dropped weapons, try to stun you with fists if that isn't possible. It's pretty frightening coming back to that game and realizing how few modern FPS even reach that level or surpass it. Halo and FEAR do a good job at it.

    The higher level bots do cheat in multiplayer, but the game pretty much spells that out. It's not cheating like the tourney UT bots either, running the perfect routes. Oh no, they spawn with shields (if availible) the best weapons on the board, and they no exactly where and when you spawned. They can outrun you, and always aim for the head which they will hit unless you are in motion or stop them some other way. Beating the cheating bastards leaves you win a good sense of accomplishment.

    Xenogears of Bore on
    3DS CODE: 3093-7068-3576
  • Options
    SmasherSmasher Starting to get dizzy Registered User regular
    edited January 2008
    Again, I could be totally wrong, but with infinite options (at least I think we established that), at some point or another even the best course of action for the computer to take would not be enough.

    No, there aren't infinite options. For any two-player game with perfect information (ie there aren't any hidden factors like cards or anything) and no elements of chance, it is possible for at least one player to play in such a way that they are guaranteed, no matter how the other player acts, to either win or tie (depending on the game). That's what perfect play is.

    If it's not possible for one player to guarantee a win, then it is possible for both of them to guarantee a tie.

    Smasher on
  • Options
    durandal4532durandal4532 Registered User regular
    edited January 2008
    Wait, why did we go and decide Chess has infinite possible states?

    It has a finite number of positions for the pieces, and a finite number of ways to get them there.

    Although I suppose since it must be played in our universe, there are an infinite number of ways to win. For instance, if every atom in your opponent's body spontaneously quantum tunnels into the heart of the sun you've won. I don't know if we really need to consider that though.

    Edit: Right! I forgot this was the G+T AI thread.

    It has always annoyed me that really, AI is being put on the back burner. We've seen such giant leaps in a lot of areas of play, but AI is still best when it's scripted, which sucks. Though there are standouts, like Galactic Civilizations. I was actually reasonably pleased with the AI in Mass Effect, it managed to realize "Hey, I'm a Krogan, I can probably beat this jackass into the ground" when I was all ready for a firefight. The dialog was nice as well, what with the Council being pissy about me cutting them off once, and mentioning it the next time we spoke. But still, it was just a decision tree. I'd love a game with reasonable dynamic dialog.

    durandal4532 on
    Take a moment to donate what you can to Critical Resistance and Black Lives Matter.
  • Options
    ZombiemamboZombiemambo Registered User regular
    edited January 2008
    I'll hold out for reasonable dynamic dialogue when an enemy can take cover without a script telling it to.

    Zombiemambo on
    JKKaAGp.png
  • Options
    GarthorGarthor Registered User regular
    edited January 2008
    I'll hold out for reasonable dynamic dialogue when an enemy can take cover without a script telling it to.

    That... that already happens.

    Garthor on
  • Options
    ZombiemamboZombiemambo Registered User regular
    edited January 2008
    Garthor wrote: »
    I'll hold out for reasonable dynamic dialogue when an enemy can take cover without a script telling it to.

    That... that already happens.

    Alright, that was a terrible example. What I mean is, before the AI can communicate with us without using a script, it should be able to use tactical maneuvers without a script. Taking cover based on player position and how good the cover is, flanking a player who is well defended etc.

    Zombiemambo on
    JKKaAGp.png
  • Options
    shrykeshryke Member of the Beast Registered User regular
    edited January 2008
    Marty81 wrote: »
    LewieP wrote: »
    So if there was no time limit, it would be possible to have a computer that never lost at chess? (even if the game would take years)

    Nobody knows for sure, actually.

    To go back to an easier example, checkers was only fully analyzed a few months ago. It's possible to have a computer that never loses at checkers, but it's impossible to have a computer that always wins at checkers, because the human player can force a draw no matter what the computer does. It might be the same with chess, or there might be a winning strategy for one player (a strategy that guarantees a win regardless of what the opponent does), or something else. Nobody knows yet.

    Just as a quick aside, it's the same thing with Connect 4. And Tic-Tac-Toe obviously. All are "solved" games.

    shryke on
  • Options
    Recoil42Recoil42 Registered User regular
    edited January 2008
    Garthor wrote: »
    I'll hold out for reasonable dynamic dialogue when an enemy can take cover without a script telling it to.

    That... that already happens.

    Alright, that was a terrible example. What I mean is, before the AI can communicate with us without using a script, it should be able to use tactical maneuvers without a script. Taking cover based on player position and how good the cover is, flanking a player who is well defended etc.

    That... that already happens.

    Recoil42 on
  • Options
    zerg rushzerg rush Registered User regular
    edited January 2008
    Someone mentioned this earlier, but it bears repeating. I think the biggest gains we're going to see in the realm of AI development are when a company develops and distributes useful AI APIs. As it exists right now, every time any game is made, the developers are having to reinvent the wheel just to get the game in a playable state. Freeing up basic AI development is going to be the only way we'll see convincingly intelligent AI become commonplace.

    I mean, imagine if nobody had developed DirectX and OpenGL. Graphics as we know it simply wouldn't exist in the way they do now. Every developer would get stuck trying to make things just draw, and we wouldn't have groundbreaking technology going on in anti-aliasing or real time raytracing like we do now. Once AI gets some useful APIs, we'll probably start to see a revolution in game AI shortly thereafter.

    zerg rush on
  • Options
    electricitylikesmeelectricitylikesme Registered User regular
    edited January 2008
    I'm not really sure how you could have a game AI API. Such a thing would have to be a very generalized AI model, which could then be given the various parameters it's supposed to game against.

    electricitylikesme on
  • Options
    Captain VashCaptain Vash Registered User regular
    edited January 2008
    I'm not really sure how you could have a game AI API. Such a thing would have to be a very generalized AI model, which could then be given the various parameters it's supposed to game against.
    Umm.
    Precisely?

    You have an AI base model for all the complex computations and then the programmer for the individual games just adds in what variables equate to what reactions in a batch process, obviously in a more complex coding sort of way, but that would be the gist of it.
    This would free up developers to include more and more code that specializes the A.I.

    I can see it now.

    CPU
    GPU
    PPU
    and...
    APU (A.I. processing unit)

    the computer of the future just keeps gaining pieces.

    Captain Vash on
    twitterforweb.Stuckens.1,1,500,f4f4f4,0,c4c4c4,000000.png
  • Options
    Recoil42Recoil42 Registered User regular
    edited January 2008
    zerg rush wrote: »
    Someone mentioned this earlier, but it bears repeating. I think the biggest gains we're going to see in the realm of AI development are when a company develops and distributes useful AI APIs. As it exists right now, every time any game is made, the developers are having to reinvent the wheel just to get the game in a playable state. Freeing up basic AI development is going to be the only way we'll see convincingly intelligent AI become commonplace.
    I'm not really sure how you could have a game AI API. Such a thing would have to be a very generalized AI model, which could then be given the various parameters it's supposed to game against.



    psst...

    http://www.kynogon.com/
    http://www.kynogon.com/products/demos/index.html


    It's what they used in Crackdown, Medal of Honor: Airborne, and will be using in Fable 2. It's no Havok/Euphoria/UE3 level stuff... But it IS a step towards the creation of an AI middleware market.

    Recoil42 on
Sign In or Register to comment.