The Ai Contest #1 - Non-programmers welcome

2년 전

Every brain welcome

You want to enter the contest and you're not a programmer? No big deal. You can be smarter than programmers. Send your solution, we'll write the software for you (see below).

At the time of writing, there is about 9 SBD and growing in the prize pool, 90% shared between winners

Wait.. what game?

(see the full, detailed, and awesome original post)

There is a contest running for an artificial intelligence. Players write bots that can play the Common Goods game.

But this is not a coding contest. This is an smartass contest. Ideas compete, not code style.That's where you, steemians and not-steemians, can board in. Should board in. Read on.


Read on!!!

The Game

The ambiant is a common good. Anybody can pollute, anybody can clean a beach. Whatever everyone does, everybody benefits from a good ambiant and suffers from a bad one. It's best if someone makes an effort, even better if it's somebody else. The question is: should You participate in the global effort?


The air is a common good

This is a trending problem, also coined the Tragedy of the Commons: when it comes only of the ambient lots of problems will arise in the years to come, and many real life problems are applications of the common goods dilemma. The fish remaining in the see. Who should wash the dishes. Soil overexploitation. State welfare.

Will you help the community or shamelessly profit from it?

The Rules

Here comes the game. A very simple version where you bet virtual money

You describe an artificial intelligence. Not coding, just describing. There will be 15 players following each intelligence, plus a few stupid bots to fill the gaps.

All those players and bots will be split into tables of 10, and play 15 rounds. After 15 rounds, players will be shuffled again into tables 20 times. Shortly put, each player will play 300 rounds in total. All automated, of course.

Each round, players will have to give either ten tokens from their initial 100, if they want to contribute to common good, or nothing if they are selfish, or even all they have, for the greater good. Then, the bank doubles the total amount (to simulate that it's nicer to enjoy a nice beach than it is hard to clean it), and distribute the total to everybody, those who pollute and those who clean. Like in real life.

The whole game is about understanding people when they are dealing with this type of problems. What is the winning strategy. Mathematics can't find it, only humans can. We have to think by ourselves.

Tell us how you would play this game, coders will implement it (it's fast and easy for them) and the competition will be held in 4 days.

All technical details will be found on the original contest post

How to submit your solution

Just post a comment. As easy as that. Make it clear of course. Then programmers around will translate it and I will run the contest. A few examples?

My ShamelessCopier will systematically look for the richest 
other player on the table and copy its previous move. For the first 
move, it will bet ten as a token of good will to the others

Or another, contributed by @scorpil

scorpil's  OffendablePlayer will count each round how many players 
bet TEN or ALLIN, and how many bet NOTHING. If number of givers 
is more or equal to 3 times the number of takers, play TEN. Else play NOTHING
First turn, play ten.

Upvote for the prize pool

Do vote! every upvote to this post, related posts, and their comments and adds its share to the prize pool

I can't vote!

Well. You need to have an account
on the STEEM network to vote. That's how it works. I won't explain to you what STEEM and steemit.com are. I won't advocate why you should get onboard.
Others have already done it, and very well here, or on Wikipedia. I'll just state the obvious: it's free, quick, and you have nothing to lose. Register

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
STEEMKR.COM IS SPONSORED BY
ADVERTISEMENT
Sort Order:  trending

Risky tries to make all in when he is not alone or when he is poor. The rest of the time he plays zero when 4 or more others played zero

ShortSighted Bets ten unless there are 20% zeros

One more from me:

from Game.Player import Player
from Game.Context import Context
from Game.Bet import Bet

class GrimTriggerPlayer(Player):
    def __init__(self, name):
        Player.__init__(self, name)
        self.prev_wealth = None
        self.bet = True

    def getSteemUser(self):
        return "@scorpil"

    def think(self, context):
        if self.prev_wealth == None:
            return self.send(Bet.TEN)

        if self.bet and self.prev_wealth <= self.wealth - 10:
            return self.send(Bet.TEN)

        self.bet = False
        return self.send(Bet.NOTHING)

    def send(self, bet):
        self.prev_wealth = self.wealth
        return bet

Bets ten until it's profitable. Once it is not - bets nothing until the end of the round. This strategy is well known in game theory, here's wiki page.

from Game.Player import Player
from Game.Context import Context
from Game.Bet import Bet


class T4TPlayer(Player):
    def __init__(self, name):
        super(T4TPlayer, self).__init__(name)
        self.wealth_before = None

    def getSteemUser(self):
        return "@laxam"

    def think(self, context):
        cooperative = self.wealth_before and self.wealth_before <= self.wealth - 10
        bet = Bet.TEN if cooperative else Bet.NOTHING
        self.wealth_before = self.wealth
        return bet

Tit-for-tat. Gives if previous round was profitable, takes otherwise.

·
  ·  2년 전

Nice and efficient. Time will tell if this is efficient :)

Great post friend ,, I you a lot like @gbd ,, I follow are and your posts in upvote are ,, you explored in non-me follow the and my post dissolve on upvote the ,, thanks in advance