Season Recap Steem Monsters Bot

in #steemmonsters5 years ago (edited)


Season 20 is finally over as well. My Steem Monsters Bot reached Champion II again

Progressing the Bot

As I've discussed last time I implemented a Machine Learning Model which tries to predict whether a Monster is a good choice for the current ruleset, mana cap etc combination. I've extracted in total 400k entries to train my model. The main issue started there. Initially, my plan was to use TensorFlow to train a neural network. The training part worked. But for some reason CUDA refuses to work on my system. Therefor it's way to slow at classification. 0.02 seconds per classification. Tried the same with a Random Forest model, 0.002 seconds. A bit faster, but still too slow to use for the whole search tree where I need to classify a couple hundred thousand monsters each match. I settled for computing the first two team positions and pruned the dragon summoners with the model. It didn't lead to an improvement in ELO rank, but at least the teams were a lot more consistent and solid.

Overall the random forest reached an F1 score of 0.7 and the neural network of 0.6. It needs a lot of improvement if I want to use it in production. Other classifiers performed either on par with random forest or were lower. But none was faster. Sadly.

For those who are curious: my horrible chart of how F1 score improved.

Overfitting on the training set, stagnating on the evaluation set. And neither did it improve on the test set.

Some progress charts

The lower chart shows the rating progression of AICU. Because I was debugging a lot with it, the chart shows a lot more ups and downs than the upper chart. The upper chart shows a mid-level account. I was curious how my bot would fare in lower-level leagues. Previously the account reached Gold I. But it wasn't played for a long time so I had to start from novice league. To my surprise, it reached Diamond II for a short while, finishing in diamond III league.

For now, I can say, that the bot has no problem advancing to champions league. With further improvements, I'm certain that it can reach Champion I and even the top 10 ranks. I just need to give it a little edge in team selection. The machine learning model might actually work. I just need to speed it up. Either by precomputing a lookup table for each monster/ruleset/mana cap/inactive splinter combination. Or by setting up CUDA on my computer. Which would allow my GPU to be used for training and classification of the neural network in Tensorflow.

Anyway, for now, let's finish with a smaller giveaway this time.

Random Distribution

The rules for entering are the same as last time. Comment below and include your Steem Monsters username in the comment. After the payout date, the cards will be distributed.

Gold Rusty AndroidDaria DragonscaleManticoreBrowniePrismatic Energy
Sort:  

Considering the new rule sets the bot has been doing quite well. I still haven't updated mine to work with them :/ Lots of combinations..

@kiokizz

Posted using Partiko Android

Which approach are you using for your bot? Statistical, as in crawling lots of teams and pick the most frequent winners? With my bot I just had to change the datatype of ruleset to list and switch out equality/inequality checks with set operators.

Are you running your bot on your main account?

A statistical approach. I have been playing my main account myself mainly the last season. @sm-lvl1 is running it at the moment - state out of the Gold League sure to card level.

Really, I only need to adjust the team selection from my data, which I've still been collecting. But I've been wanting to optimize the bot toward quests, and haven't had the time to spend on it. Hence nothing has happened :)

Alright, giveaway window is closed.

Posted using Partiko Android

The cards are distributed as follows:

@handtalk5 gold android
@okean123 prismatic energy
@thomaseamoran Brownie
@rymlen Daria Dragonscale, manticore

Posted using Partiko Android

Awesome! Thank you so much!

Posted using Partiko Android

You are welcome :) I hope you can put the Gold Rusty Android to some use :)

Posted using Partiko Android

Thank you so much, those were exactly the cards I was hoping for. Together with the other Daria I am now at 4/6 towards level 4 :D. Thanks a bunch. Manticore 4/12 to level 5. Good luck with the bot and maybe I will encounter it in battle sometime haha

Hi there @ Bauloewe,

I just found your account by chance while reading up on the bot progress you made. And just when I renewed you just happened to have made a new posting. Such coincidence. Anyway, I would love to enroll in the card giveaway with my account: Rymlen.

Anyway, good luck with the progress on your bot and with the game of Steemmonsters!

Thank you :) I'll try my best. But since I started working on the Steem Monsters bot other projects have fallen behind. I think I'm going to put some time into them, sooner rather than later. Especially with my curation bot aicu. It needs to discover even better high-quality content than it already does now :)

Try running the bot with a starter pack and see how it fares!

I created it now. Check out @aicu-chan on steem monsters. A fresh account with just a starter deck. I won't put any money into this account and upgrade it only with it's own rewards.

That's actually a cool idea :D let it play itself up by collecting reward cards and buying new ones with Dec^^

what is the bot account name?

Posted using Partiko Android

Hi there, Interesting process. Is your bot up on github?

@thomaseamoran for Steem Monsters too.

Thanks, for now it isn't, I just pushed the steem monsters battle simulator to github :)

Posted using Partiko Android

What a great use case for machine learning. I used to be annoyed by bots, but now I'm impressed!
Following you now.

As for the giveaway: username is handtalk5.

Posted using Partiko Android

Your bot seems to be doing well. Really cool!

Thanks for the giveaway btw, my SM name is @okean123