Limitless-Lottery

command module
v0.0.0-...-062e030 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 25, 2020 License: MIT Imports: 2 Imported by: 0

README

Limitless Lottery

A simulation game where you are allowed to spend an infinite amount of money on different kinds of lottery tickets. Will you make more than you spend?

Running

Running in development

This will only launch the local database. You can now run the app in your IDE and it will connect to the database.

docker-compose -f docker-compose.db.yaml up

Running in production

This will build the app and UI to a small Alpine Docker image, and bring up a MongoDB database which communicates with the app.

docker-compose -f docker-compose.db.yaml -f docker-compose.yaml up

Probability calculations

Buying x amount of tickets

The calculations that determine how many lottery tickets won out of a certain amount, are calculated using the binomial distribution. This is a way of checking the number of successes in a sequence of n independent experiments. more information about binomial distribution

Using this technique I improved the performance of the ticket checking calculations to O(1).

I used the library gonum’s distuv.Binomial struct, that allowed me to pass in an amount and a probability, and receive a random amount of successes generated using binomial distribution.

Buying until success (win)

Here I took the formula for at least one success, and modified it so that the input variable is P(at least one) (a number from 0 to 1), and the output variable is an amount of successes.

The reason why I needed to do this was that I needed a way to introduce randomness into the equation. Now I can insert a random number from 0 to 1 in P(at least one)’s place, and get an amount of wins, that reflects an accurate representation of the probability.

License

This project is licensed under the MIT License - see the LICENSE file for details

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
api

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL