03-24-2016, 09:10 AM
This thread is the tangent of the discussion of the rdwrites intro thread.
Rather than digress and lose searchability, I'll announce a future competition in its own thread.
...
I found the section of the book that was talking about the best conditional strategy competition...
In The Selfish Gene, Chapter 12 is called "Nice guys finish first".
Dawkins returns to John Maynard Smith's concept of Evolutionarily Stable Strategies (ESS).
see: https://en.wikipedia.org/wiki/Evolution_...y_of_Games
This time there is reference to the Prisoner's Dilemma.
https://en.wikipedia.org/wiki/Prisoner%27s_dilemma
Robert Axelrod was fascinated by the Prisoner's Dilemma, and he set out to find the ESS for the shockingly simple game...
I'll stop citing Dawkin's book now, but it goes on to announce the winning strategy and its author and explains why it outperformed the others in the long term.
This is exactly what I want to do with Pinochle bots!!!
I will need to be the host, neutral party, and confidant. (in case authors want to keep their intellectual property a secret)
I'll need to figure out how I will set it up and what programming language I will use to run the simulator.
I am most confident writing in php and javascript/jquery, but in truth, any language that employs function calls would do.
The bot strategy submissions should be packaged as a single function for repeated calling.
The function would need to receive PN and deliver a valid action (a valid bid, trump suit, or thrown card)
The value provided by my simulator -- the parameter -- would be all of the hand data sets for the current hand up to that point.
Example#1 rdwrite's bot's first function call for the Auction phase (as Seat4) would be:
The function would be expected to output a string -- a valid bid like Pass, 50, or other.
Example#2 Marya's bot's first function call for the Play phase (as Seat4) would be:
The function would be expected to output a string -- a valid 2-character card to throw.
To enable all bot developers to design their own Bidding System, competitions will be formed by seating two identical bot copies on one team versus two identical bot copies on the other.
What an exciting notion!
Rather than digress and lose searchability, I'll announce a future competition in its own thread.
...
I found the section of the book that was talking about the best conditional strategy competition...
In The Selfish Gene, Chapter 12 is called "Nice guys finish first".
Dawkins returns to John Maynard Smith's concept of Evolutionarily Stable Strategies (ESS).
see: https://en.wikipedia.org/wiki/Evolution_...y_of_Games
This time there is reference to the Prisoner's Dilemma.
https://en.wikipedia.org/wiki/Prisoner%27s_dilemma
Robert Axelrod was fascinated by the Prisoner's Dilemma, and he set out to find the ESS for the shockingly simple game...
Quote:He had the entertaining idea of running a competition, and he advertised for experts in games theory to submit strategies. Strategies, in this sense, are preprogrammed rules for action, so it was appropriate for contestants to send in their entries in computer language. Fourteen strategies were submitted. For good measure Axelrod added a fifteenth, called Random, which simply played COOPERATE AND DEFECT randomly, and served as a kind of baseline 'non-strategy': if a strategy can't do better than Random, it must be pretty bad.
Axelrod translated all 15 strategies into one common programming language, and set them against one another in one big computer. Each strategy was paired off in turn with every other one (including a copy of itself) to play Iterated Prisoner's Dilemma. Since there were 15 strategies, there were 15 x 15, or 225 separate games going on in the computer. When each pairing had gone through 200 moves of the game, the winnings were totalled up and the winner declared.
I'll stop citing Dawkin's book now, but it goes on to announce the winning strategy and its author and explains why it outperformed the others in the long term.
This is exactly what I want to do with Pinochle bots!!!
I will need to be the host, neutral party, and confidant. (in case authors want to keep their intellectual property a secret)
I'll need to figure out how I will set it up and what programming language I will use to run the simulator.
I am most confident writing in php and javascript/jquery, but in truth, any language that employs function calls would do.
The bot strategy submissions should be packaged as a single function for repeated calling.
The function would need to receive PN and deliver a valid action (a valid bid, trump suit, or thrown card)
The value provided by my simulator -- the parameter -- would be all of the hand data sets for the current hand up to that point.
Example#1 rdwrite's bot's first function call for the Auction phase (as Seat4) would be:
Code:
GameScores 302 280
Dealer Seat1
Deal1 CTTQJJ DKJJ SAKJJ HAAATKJJJ
Deal2 CAAAKQQ DTTKQQ STQQJ HATKQJ
Deal3 CTKJJ DAATQJ SATTTKKJ HTTQQ
Deal4 CATKKQ DAATKKQJ SAAKQQ HKKQ
Bids1 Pass Pass
Example#2 Marya's bot's first function call for the Play phase (as Seat4) would be:
Code:
GameScores 0 0
Dealer Seat3
Deal1 CATTKJJ DTQJ SATTKQJ HATTKJ
Deal2 CAAKKQ DAAAKQ STTKQJ HAAQQJ
Deal3 CQQ DATKQJJ SKKJJ HATTKKQQJ
Deal4 CATTKQJJ DTTKKQJ SAAAQQ HKJ
Bids1 50 Pass Pass 51
Bids2 52 - - 60
Bids3 65 - - Pass
Contract Seat4 65 Clubs
Meld1 CJ DJ SKQJ HJ 10
Meld2 CKQ DKQ SKQ HQ 14
Meld3 C DKQ S HKKQQ 6
Meld4 CATKQJ DKQJ SQ H 21
To enable all bot developers to design their own Bidding System, competitions will be formed by seating two identical bot copies on one team versus two identical bot copies on the other.
What an exciting notion!