Jump to content

Design a game where human has advantage over computer


RainDreamer

Recommended Posts

Inspired by a recent SMBC comic, I want to ask:

Is there a game you can think of where human will always have advantage over a computer, no matter how advanced the programming of the AI can be?

Edited by RainDreamer
removed comic with inappropriate language
Link to comment
Share on other sites

The best route would be to design a game around the natural advantages of our brains, which basically boils down to how we recall information. Our knowledge is stored as patterns of connected neurons in the brain. These grouped patterns will respond to a similar input, with the level of similarity determining the strength of the response. The key advantages to this process is first, that it requires a very small sample of the stored information to actually work. The second is that it doesn't require a precise match, which allows us to deal with novel information.

So I could show a picture that is a partial silhouette of something like a dog or a mouse, and as long as it includes some defining characteristics, it shouldn't be hard for most people to guess at what the outline is. That's minimal information. You could also show someone a picture of a dog that is a breed they have never seen before, and that person will be able to tell you that it is indeed a picture of a dog. They don't need to have seen that breed or that specific dog before, because their brain has built up a definition of what a dog looks like, and can match that to new information.

 

The caveat to this approach is that even though computers are bad at this particular kind of information processing, they can still do it through brute force and clever programming, ultimately culminating in the simulation of the same neural networks our brains use. Yes, a conventional computer simulating a neural network has to put considerably more 'effort' into the same process vs a human, but it ultimately grants the computer all our abilities once the hardware is powerful enough. Ultimately, with enough advances in computer hardware, we should be able to create computers that can marry all the advantages of conventional computing to the advantages of neural networks that rival or exceed our own in capability and speed. We just haven't figured out how to do it yet.

 

As for right now, I think that games like Charades probably give us the biggest advantage over computers.

Link to comment
Share on other sites

8 hours ago, RainDreamer said:

Is there a game you can think of where human will always have advantage over a computer, no matter how advance the programming of the AI can be?

Poker, because you have an advantage when you can read people, how they act, small details etc.

When you play poker by maths alone, you are guaranteed to increase your bankroll over time, statistically speaking. But in poker you can do all the right decisions and still lose sometimes, or call a bluff that from a purely mathematical point of view would have been a fold, etc

Link to comment
Share on other sites

All humans, or experienced, expert humans? There are games that require a high level of awareness, abstract reasoning, and complex real-time decision-making. Computers do well when they can simulate long branches of future choices from both sides and evaluate static board positions for advantage (as in checkers, chess, and go). That's harder to do when the observations and choices are nearly infinitely variable, ambiguous, and changing in a constant dynamic stream.

I bet you couldn't write an AI that could beat highly ranked humans at DOTA 2, but it would probably be easy to write one that could beat me (if I can ever get the thing running). Seeing someone's avatar flash an ability and typing "gank incoming" requires the rapid integration of knowledge about the game in general, the history of this particular session, the current state of the board, what you've seen this team of enemies do, etc. That's generally not the kind of thing we see in game AIs, at least not in real time; see this video for an example of the simplifications that are made to avoid slowing games down to a crawl.

 

Link to comment
Share on other sites

1 hour ago, HebaruSan said:

All humans, or experienced, expert humans? 

The question here simply ask for a game that is always rigged to give human players advantage over AI, and experienced, expert human counts too. The focus here is more on the game design though, especially how you give more advantage to human players from pure mechanics, rather than relying on outside factors such as the player or the AI level if possible.

Link to comment
Share on other sites

1 minute ago, RainDreamer said:

The question here simply ask for a game that is always rigged to give human players advantage over AI, and experienced, expert human counts too. The focus here is more on the game design though, especially how you give more advantage to human players from pure mechanics, rather than relying on outside factors such as the player or the AI level if possible.

OK, in that case, my answer is quick contextual abstract relational reasoning. "We're ahead, we have resource X, and they're playing according to strategy Y, so we need to guard location Z." Which experienced human teammates can explain to one another in two or three short words. You could custom-write an algorithm in terms of those things, but then you would have to repeat that work for every other piece of knowledge that the human players have, and update it any time the game is changed.

Link to comment
Share on other sites

16 hours ago, HebaruSan said:

That's harder to do when the observations and choices are nearly infinitely variable, ambiguous, and changing in a constant dynamic stream.

This basically. However, i guess in principle people could just throw more compute and more machine learning with neural nets and deep learning, and so on, at games like Star Craft to create capable AIs.

Most game's AIs just cheat by knowing the locations of your assets. Or they are given other advantages like better economy. They can also "click" faster than a human player. When their quirks are known they can be defeated by good players.

Link to comment
Share on other sites

17 hours ago, Dafni said:

Poker, because you have an advantage when you can read people, how they act, small details etc.

When you play poker by maths alone, you are guaranteed to increase your bankroll over time, statistically speaking. But in poker you can do all the right decisions and still lose sometimes, or call a bluff that from a purely mathematical point of view would have been a fold, etc

That reminds me of the same thing about stock trading. Analytical AI can ensure you always get a profit, but since it never risk anything, the profit is only a steady stream of small income instead of big hits. It will take a few cent here, a few cent there, over thousands and thousands of transactions, and eventually that adds up, but it never do big moves with a lot of risks.

Link to comment
Share on other sites

45 minutes ago, Shpaget said:

No.

"Always" is such a long time, and  "no matter how advanced the AI" is by definition advanced enough to beat a human in any field.

Hmm, so there is no way we can force the AI in a disadvantageous position without specifying it in the rule (like lower your processing speed) huh?

Link to comment
Share on other sites

Why not go half a step further and unplug it?

The thing is that a sufficiently advanced AI (which is the assumption in OP), would be good enough to beat the human at any arbitrarily lowered CPU power.

It would even be powerful enough to predict the possibility of unpluging and take precautions against that.

You can't go against the logic of "beating an AI that is as powerful as it needs to be to be unbeatable".

Link to comment
Share on other sites

game_ais.png

 

But seriously, I've got nothing.

Games based on logic and turn-based strategy are or will be easy for computers.

Micromanagey RTSes will give the computer the edge of action speed, so once the tactical and strategic planning is caught up with they'll beat humans. Even in less microey games, the computer will still be better able to give rapid inputs and keep track of multiple situations.

Poker cuts both ways. Sure, the computer might have trouble "reading" the human, but the human sure as hell isn't reading the computer! It'll come down to probability and betting patterns, and I think computers have the edge there.

General knowledge games are honestly a big advantage to the computer, and advances in natural language processing and so on will grant them the win.

Physical sports look bad now, but with advances in robotics the machines will come to utterly stomp human sportspeople.

Really, unless the game is pure luck - like Snakes and Ladders - I think the machines will eventually win.

Link to comment
Share on other sites

Given that the output of a computer is directly decided by the inputs of a human programmer, I see the question as kinda moot.

Any game a human can play well, a human can program a computer to play well. But only as well as the programmer can play it, so another programmer with a better grasp of the game and/or of programming can build a computer that can beat THAT computer.

In other words, who is better at chess? Kasparov? Or the guy who wrote the program that beat Kasparov?

There are complications of course, where games can be mathematically "solved" so that a computer can be programmed to have the theoretical maximum performance at the game, but then that program is still written by a human...

 

For what its worth, I suppose then, that my answer to the question would be programming, a human can always beat a computer at programming a computer.

Or, The OP's question, humans may be better at answering it than computers. Can a computer give original thought to something that it can't do? Can you program a computer to execute a function that has not been programmed? Ummm...ok I think I just reached critical BS mass.

Link to comment
Share on other sites

14 minutes ago, p1t1o said:

Given that the output of a computer is directly decided by the inputs of a human programmer, I see the question as kinda moot.

Any game a human can play well, a human can program a computer to play well. But only as well as the programmer can play it, so another programmer with a better grasp of the game and/or of programming can build a computer that can beat THAT computer.

That is entirely wrong.

I assure you I am not a programmer of any sort, but I am 100% sure I can make a program that can count much much faster and more accurately than I can, and I am quite good at counting. I've been doing it since I was a kid.

In a game of counting, I stand no chance against a program written by a layman.

Link to comment
Share on other sites

25 minutes ago, p1t1o said:

Any game a human can play well, a human can program a computer to play well. But only as well as the programmer can play it, so another programmer with a better grasp of the game and/or of programming can build a computer that can beat THAT computer.

That (unfortunately for Star Trek's "Court Martial") is not true at all.  You might want to check out things like "heuristic algorithms" (which are ways computers can learn and change their instruction sets accordingly) or "genetic algorithms" (which let computers try things nearly at random and "keep what works" until some kind of local efficiency maximum is found).  It's not as simple as the computer getting strategies that only its programmer can grok; it's sometimes a matter of the programmer handing it ways to determine "success" and "failure", then letting the program find strategies to get to "success" on its own.  In fact, in some flavors of strategy game, such algorithms can be useful for "balancing" a game's elements.

Especially if "success" and "failure" can be arbitrarily defined (e.g., "four tokens in a row") independent of strategy, in other words, the computer can easily come up with strategies the programmer doesn't know and never foresaw.

32 minutes ago, p1t1o said:

For what its worth, I suppose then, that my answer to the question would be programming, a human can always beat a computer at programming a computer.

That's not true, either; see "genetic algorithms" above.  You might also want to look into compiler design, whereby a computer is better at translating high-level language instructions into computer operations than any human could ever possibly be.

34 minutes ago, p1t1o said:

Can you program a computer to execute a function that has not been programmed?

Yes, and you can do so reliably and efficiently -- as long as you let it know how to tell when success has been reached.

Link to comment
Share on other sites

11 minutes ago, Shpaget said:

That is entirely wrong.

I assure you I am not a programmer of any sort, but I am 100% sure I can make a program that can count much much faster and more accurately than I can, and I am quite good at counting. I've been doing it since I was a kid.

In a game of counting, I stand no chance against a program written by a layman.

Totally open to the idea that I'm wrong about something, but i don't understand which part of what you wrote contradicts what I wrote?

You just gave an example where a person wrote a program that can beat you at a game (although "counting" is such a simple "game" that it might be an outlier case).

 

1 minute ago, Nikolai said:

...the computer can easily come up with strategies the programmer doesn't know and never foresaw.

I dunno, I still have trouble seperating the computer from the programmer. The programmer didn't accidentally give the computer the ability to see strategies that he could not, he programmed that ability in himself. Heuristics didn't arise out of a vacuum, they are programs just like any other.

 

Oooh this is a noodle-baker, well out of my comfort zone.

Link to comment
Share on other sites

1 minute ago, p1t1o said:

The programmer didn't accidentally give the computer the ability to see strategies that he could not, he programmed that ability in himself. Heuristics didn't arise out of a vacuum, they are programs just like any other.

Nobody said "accidentally", and no one denies that heuristics are programmed in.  However, the simple fact of the matter is that problem-solving strategies can arise out of good heuristics that are better than any human's.  It's not a matter of programs only being as skilled at solving problems as the programmers who made them, which is the assertion I meant to address.  If you look at compiler design, for example, you can mathematically show that the optimizer is better at optimizing programs than any human can be (given our lifetimes).  In a similar vein, the programmer can and does give the computer the ability to find strategies she never could (on purpose).

Link to comment
Share on other sites

15 minutes ago, Nikolai said:

Nobody said "accidentally", and no one denies that heuristics are programmed in.  However, the simple fact of the matter is that problem-solving strategies can arise out of good heuristics that are better than any human's.  It's not a matter of programs only being as skilled at solving problems as the programmers who made them, which is the assertion I meant to address.  If you look at compiler design, for example, you can mathematically show that the optimizer is better at optimizing programs than any human can be (given our lifetimes).  In a similar vein, the programmer can and does give the computer the ability to find strategies she never could (on purpose).

But did the optimising program do it better, or did the programmer who wrote it complete the optimising task better by first writing a program?

The answer may be obvious to you, or it may be a case of semantics. 

I feel like it is similar to: who is better at tightening bolts? Humans? Or spanners?

Computers are tools, just like spanners - can a spanner really beat a human? The question doesn't make sense (to me).

 

Edited by p1t1o
Link to comment
Share on other sites

1 hour ago, p1t1o said:

I feel like it is similar to: who is better at tightening bolts? Humans? Or spanners?

Spanners, no question.  You ever compare a spanner-tightened bolt to one tightened by hand?

Yes, spanners are ultimately useless unless implemented by humans, but I'd argue that that's implicit in the original question.  It makes no sense to talk about the ability of spanners completely outside of their being used by humans to accomplish a certain task; it also makes no sense to talk about the ability of the spanner being entirely dependent on only the skill of the human using it.  In mathematical terms, when we're talking about the ability of spanners to fasten bolts, the human is a "necessary, but not sufficient" component.  When we talk about driving in the bolt, the presence or absence of the spanner has more relevance than the skill of the human.  The spanner "beats" the human in terms of its power, reliability, and efficacy, even if it's not completely independent of humans for its operation.

In much the same way, the programmer is a necessary, but not sufficient, component of the optimizing/heuristic/genetic algorithm.  The algorithm could not exist entirely apart from humans, but the skill of the programmer is less relevant to the efficiency of the algorithm than the presence of the tool itself.  In terms of computing power required (time, space, number of operations, etc.), the computer "beats" the human; and even if it's not entirely independent of humans to work in the first place, that fact is relevant to the topic under discussion -- i.e., whether or not the "grasp" a programmer has of a game is important to her ability to write a program that will beat other programs written by programmers with more or less of a grasp.  A programmer can write a program that will "beat" all future comers(*) even if she herself has no grasp of the game at all, and only understands what the victory conditions need to be.

To be honest, changing the question from "Can a programmer write a program more skilled than herself?" to "Can a program exist without human intervention of any kind?" is rather significantly changing the subject.

---

(*) Yes, all.  It is possible for me to write a program that will beat everyone at "Connect Four", for example, for all time, even though I personally cannot conceive of every possible game and strategy.  Game programmers generally refer to this sort of thing as "solving the game", and it is simply a matter of having the computer play every possibility, find which contingencies lead to victory, and only allowing play that will follow those contingencies.  Whether or not someone comes along later who understands "Connect Four" better than I do is irrelevant.

This is a simple way in which a computer program can "outperform" the programmer.  There are others that would require more time and space than I have here.

Link to comment
Share on other sites

 

3 minutes ago, Nikolai said:

Spanners, no question.  <snippity-snip>

I mean, I understand what computers can do, and (mostly) what programmers can do with them - its just that to me, it seems more of a question of semantics or philosophy rather than science. I can't disagree with anything you said, but I still can't quite shake the feeling that the question (however you word it) is a little...I dunno, a little "something".

Link to comment
Share on other sites

1 hour ago, p1t1o said:

Totally open to the idea that I'm wrong about something, but i don't understand which part of what you wrote contradicts what I wrote?

You just gave an example where a person wrote a program that can beat you at a game (although "counting" is such a simple "game" that it might be an outlier case).

Chess would be a good example Since the mid 1970s (and perhaps earlier) chess programs have been written by programmers who know (compared to grandmasters) very little about chess. The hard part about a chess playing computer is (a) evaluating a position, (b) managing branches of possible moves and (c) doing this within set time limits.

Point (c) clearly was the biggest bottleneck in making human-beating chess programs. Deep Blue beat Kasparov because it was running on supreme hardware. Not because IBM hired a bunch of programmers who turned out to be crackerjack chess aces. Modern chess software plays chess quite smartly, but again that's due to a lot of algorithms that have less to do with chess and more to do with searching, pattern recognition and hash table management.

Link to comment
Share on other sites

11 minutes ago, Kerbart said:

Point (c) clearly was the biggest bottleneck in making human-beating chess programs. Deep Blue beat Kasparov because it was running on supreme hardware. Not because IBM hired a bunch of programmers who turned out to be crackerjack chess aces. Modern chess software plays chess quite smartly, but again that's due to a lot of algorithms that have less to do with chess and more to do with searching, pattern recognition and hash table management.

I think this clarifies things the most so far, though I still cant get past the idea of computers-as-tools, the idea that spanners can "beat" humans at screwing bolts doesn't sit quite right.

I think I'll bow out of the debate at this point :lol:

Link to comment
Share on other sites

Well, 20 questions has it beat. So does GO now. Hmmm... for the time being, humans will be better than machines at "I spy". A bit longer at Pictionary - computers should be better at being the active role, where they display images based on a word, rather than the passive where they are the ones trying to figure out the humans' deranged scribbling.

In theory, conversational games are not safe. Alan Turing figured that one out.

So what is a computer, then? A series of simple switches, actually. A small number of them can add binary digits. Add a bunch together, with the right software and it  becomes more than the sum of its parts, able to run KSP or anything really. Our brains are just neurons - simple electrochemical switches. A few put together lets a worm know if it's light outside.  A bunch added together with the right software becomes intelligent.

So I suppose the real question isn't "can a game be designed that a human will always have an advantage over a computer", but rather "at what point does a computer cease to be a computer and become a true intelligence?"

Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...