Skip to content
JD edited this page Oct 20, 2018 · 2 revisions

#Saltbot Frequently asked questions

Reset the pool? Update chromosomes? What is that?

Scientist mode in Saltbot works using a genetic algorithm.

The solution we want to reach is: Based on hundreds or thousands of recorded matches, find the factors that tell you if a character is going to win.

What is currently recorded is the number of wins and losses in specific tiers, the time needed until the match was won/lost, the odds, who was favored by all users and illuminati users, ...

Based on that data, candidate solutions can be built. A candidate solution in Saltbot's case is a set of weights. When Saltbot registers a fight, it will assign both fighting characters a score of 0. If one character is better in one aspect than the other, the better character gets the weight value added to their score.

Example: The red character has higher odds on overage than blue, so the weight value for odds will be added to the red character's score. Each win in the past also adds weight values to the scores, while losses reduce the score. There's a win and loss weight for each tier.

The character with the higher score gets bet on and the difference between the score influences the confidence of the Saltbot.

So now for the genetic algorithm itself:

When you click on "Reset pool", Saltbot will reset the weight values to default values, which aren't good at all. That is why you need to find better weights using "Update chromosomes". Update chromosome executes multiple steps:

  1. Did "Update chromosomes" ever run? If not, it will initialize multiple candidate solutions - in Saltbot called chromosomes - with random weights. The collection of chromosomes is called pool.
  2. For each chromosome bet on all matches according to the weight and return how much money was made.
  3. Throw away the worst chromosomes.
  4. Mate the best chromosomes in pairs, where weights are taken from the parents with a 50/50 chance. The weight from the parent gets changed a little bit during this step, which is formally called mutation.
  5. Randomly generate chromosomes to fill the rest of the pool. The pool is now filled with the best chromosomes, their children, and completely randomly generated chromosomes.
  6. Go to step 2

This will continue until you close the popup window or close the tab.

How long should I let the bot update chromsomes for the first time?

About 50 to 100 generations is recommended to find good chromosomes.

Why should I reset the pool?

Algorithms searching for best solutions always have to deal with local minima. There may be an unknown weight combination that is way better than your current best chromosome, but Saltbot will not reliably find it. That is because good chromosomes tend to stay in the pool for a long time because the children and randomly generated chromosomes were just generated. Randomly generating good chromosomes is difficult.

Resetting the pool helps Saltbot in letting it find another approach for betting. If your previous best chromosome made Saltbot bet on who has the most wins, then "Update chromosomes" will probably make Saltbot stay with that approach. If you reset the pool and make Saltbot forget all previous chromosomes, it has to find a new betting approach. It may randomly turn the Saltbot into an upset bettor because that may win more money.

How often should I update chromosomes?

After you've initially let the bot run for 50 to 100 generations as recommended, the chromosome should be updated when you've collected 100s or 1000s of matches. This makes Saltbot reevaluate the current best chromosome on the new data and may lead to new insights.

Can I add match records from a file to my existing ones?

No, the existing match data is deleted every time you import from a file. Instead, export your existing data and combine the 2 files with a text editor.

Why is a Twitch chat tab opened every time?

The Twitch chat tab is opened on purpose so the info about the fight can be read. In all modern browsers you can't access stuff that is embedded from another website. In saltybet's case, the saltybet page embeds the twitch chat. Only if the URL has twitch.tv in it, the chat messages can be read.