Comments (11)
Assuming you wrote it without external libraries, you would just include the model and weights in the code.
from prisonersdilemmatournament.
Just put all of the data needed to reconstruct an exact copy of the model inside "memory", and load it up when the strategy function starts.
from prisonersdilemmatournament.
I hadn't realized people would use ML, because my initial goal was to have people write strategies they could reasonably explain with their own human logic, so each script would mostly be a series of if-then statements. I suppose you could just save the weights in the code itself, like a giant array initialized at the beginning! If it's fewer than 10,000 weights, it should be manageable... I hope!
from prisonersdilemmatournament.
I made a simple Deep Q learning strategy, but it wasn't very good. So I'm now using a neural network to try and predict the opponent's next turn.
from prisonersdilemmatournament.
I hadn't realized people would use ML, because my initial goal was to have people write strategies they could reasonably explain with their own human logic, so each script would mostly be a series of if-then statements. I suppose you could just save the weights in the code itself, like a giant array initialized at the beginning! If it's fewer than 10,000 weights, it should be manageable... I hope!
Due to the content of your channel, I couldn't resist.
from prisonersdilemmatournament.
I think this will ruin all the fun, it shouldn't be allowed
from prisonersdilemmatournament.
I think this will ruin all the fun, it shouldn't be allowed
I agree that ML is against the spirit of the competition. But I think it will be cool to see what people come up with regardless. Training an effective ML strategy still requires accurate prediction of the population. I look forward to reading the top strategy designed by a human.
from prisonersdilemmatournament.
you can't predict this anyway because there is no function that describes all algorithms at once.
if it gives good results than it's most probably an overfitting problem and won't generalize to other strategies in my humble opinion
from prisonersdilemmatournament.
ML is, at its most basic level, a function approximation algorithm. It is a function that has a lot of variables(In neural networks, these are the "weights" and "biases".) that can be changed to alter the function's behavior. Since you can't save values between games without cheating, unless your algorithm is unnecessarily complex, the model will have to train on the fly. This is what I did(which I didn't submit, by the way) and it would only do a bit better than a detective. But later, ML could become the meta, and at that point, victory would indeed be given to whoever trained it for longer initially so that it will be able to react faster and more efficiently against strategies. Personally I don't see that coming for a while. I believe that if a ML strat that was any good was found any time soon, it would use it to assist a deterministic, main algorithm, rather than using it against strategies directly.
from prisonersdilemmatournament.
I don't think ML is going to cut it because strategy performance fully depends on the whole enviroment, and you should strategize upon enviroment, which is unknown.
Not only this, but also your strategy doesn't have memory over previous opponents, so you can't adapt your strat to figure out the enviroment, which makes ML pretty much useless IMO.
I suppose you can train it against a variety of different strats, your idea might be "Okay I'll train it against random then I'll train it against tft then ..." and then basically train it against all kind of strats, but then there always will be non 0 chance of your strat to try to exploit something since some strats are exploitable. In this case ML strat will probably fail in enviroment with only TFT strats involved.
from prisonersdilemmatournament.
That's why I said ML isn't viable at the moment. But if someone actually trains a good and complex-enough ML algorithm(Maybe some form of Reinforcement Learning algorithm? Not sure) for a very long time with a myriad of strategies, just like you said, it has some chance of reining supreme. But for now, the best it can do is adapting to an opposing strategy quickly, and finding a defense, and even that won't be particularly good. Like I have said above, ML's only real use case right now is to maybe classify different strategies to decrease false positives or false negatives in a detective strategy. We'll just have to see. We never know what will happen in the future. Maybe ML would become an unbeatable meta, or maybe it will fade into obscurity, even more than it is now.
from prisonersdilemmatournament.
Related Issues (20)
- Analysis and performance
- Submission without a Google account? HOT 1
- After the deadline in a few hours, please feel free to USE THIS THREAD TO SHARE YOUR STRATEGIES, since the fear of them being stolen will be gone HOT 42
- I left a print() HOT 5
- Name associated with Google account being appended to filename when uploading to the google form HOT 2
- I made a POV version of the game HOT 1
- Has anyone successfully done a resubmission? HOT 20
- Will ALL duplicates be removed, including random? HOT 17
- Submission period is over for everyone now! HOT 2
- The "research", as seen from evidence left in the submission form and web page HOT 3
- Potential Exploit I haven't seen discussed yet.
- For everyone who's not subscribed to carykh on YouTube HOT 14
- Predictions :D HOT 10
- Update from Cary! (I implemented subprocesses) HOT 7
- I got stupid... HOT 4
- Update from Cary (2021-06-15) (Long and not urgent, so you don't have to read it) HOT 21
- A cheater got to first place (and got caught). HOT 11
- Detecting Kingmaker and Minion strats HOT 5
- Releasing results.txt in order to simulate different metas HOT 4
- Update from Cary on 2021-06-29 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from prisonersdilemmatournament.