forum

o!m NmbrCrunch:#of possibilities of note,chord,and patterns

posted
Total Posts
10
Topic Starter
[TIM]
NOTE: TL; DR at bottom of post if you are too lazy, and all these calculations are for 7k mode

Today, I was sitting in my college probability/statistics class, and we learned about binomial coefficients and the binomial theorem. This is also known as “n choose k” when arranging binomial coefficients into rows for values of n, and where k ranges from 0 to n. I will not go into the details of how this topic applies to probability, but I did run some calculations to compute some interesting numbers.
Below, I computed the possibilities of the following: 1-7 note chord possibilities, and the amount of possible patterns that can be formed with this calculated 7k chord repository.

One-note chord possibilities = (7 choose 1) = 7! / (1! * 6!) = 7 Possibilities

Two-note Chord possibilities = (7 choose 2) = 7! / (2! * 5!) = 21 Possibilities

Three-note Chord Possibilities = (7 choose 3) = 7! / (3! * 4!) = 35 Possibilities

Four-note Chord Possibilities = (7 choose 4) = 7! / (4! * 3!) = 35 Possibilities

Five-note Chord Possibilities = (7 choose 5) = 7! / (5! * 2!) = 21 Possibilities

Six-note Chord Possibilities = (7 Choose 6) = 7! / (6! * 1!) = 7 Possibilities

Seven-note Chord Possibilities (7 Choose 7) 7! / (7! * 0!) = 1 Possibility (duh!)

TOTAL CHORD/NOTE POSSIBLITIES = (7 + 21 + 35 +35 + 21 + 7 + 1) = 127 Possibilities

So that means when you see the notes falling down, there are 127 possible combinations of notes that could be falling down towards you... (I found this pretty interesting).

This also led me to think... How many basic patterns could be formed with this possibility?
Assuming that basic patterns for each mode = (Number of Keys in Mode * 2) and there are 7 keys in 7k mode. So basic patterns are up to or around 14 keys. (By my standard)

Since Basic Pattern Number (7k) = (7 * 2) = 14 and 127 Possibilities of Chords are possible and we are accounting for repeating chords/notes we have

(127^14) = 2.84*10^29 ~ 284 Octillion Pattern Possibilities

Credit: Secrets of Sorrow for remembering to Permute

The numbers for patterns is pretty amazing, but it is important to keep in mind that many of the common basic patterns are most likely easily recognized to the seasoned player. And that while there are many combinations, the common patterns can be recognized fairly quickly (ex: Streams, Stairs, Jacks, Polyrhythms, etc.).

TL; DR

Calculated in 7k mode there are…

127 Total Chord/Note Possibilities
~ 284 Octillion Pattern Possibilities
XgenSlayer
Hmm, very intriguing, and very clever work. Well done! :D
SecretsofSorrow
Interesting calculations, but I have a couple of problems with the pattern calculations.

First, when you say ‘Basic Pattern Notes’, do you mean chords or keys? By my understanding, 1 note = 1 key. For example, 7 two-note chords = 14 keys = 1 basic pattern. So (127 C 14) would be wrong as you’re choosing 14 chords, not 14 keys. It would be pretty tedious to calculate for 14 keys though, so I’ll stick with a 14 chord definition for a basic pattern.

I think that you should be permuting instead of choosing because the same 14 chords in a different order would be considered a different pattern. You also didn’t account for repeated chords. By choosing 14 (different) chords out of the 127 possibilities, many patterns such as

or would be unaccounted for.

(credits go to Drace for the images) (I don’t know how to make them, sorry ><)

It would be clearer if you thought about it this way:
1st chord: 127 possibilities
2nd chord: 127 possibilities
... and so on. We end up with 127^14 = 2.84*10^29 (3 s.f.) = 284 octillion possible basic patterns.

(Also I think it was just a careless mistake but 1.5*10^18 is 1.5 quintillion, not 1.5 trillion.)
Topic Starter
[TIM]

SecretsofSorrow wrote:

Interesting calculations, but I have a couple of problems with the pattern calculations.

First, when you say ‘Basic Pattern Notes’, do you mean chords or keys? By my understanding, 1 note = 1 key. For example, 7 two-note chords = 14 keys = 1 basic pattern. So (127 C 14) would be wrong as you’re choosing 14 chords, not 14 keys. It would be pretty tedious to calculate for 14 keys though, so I’ll stick with a 14 chord definition for a basic pattern.

I think that you should be permuting instead of choosing because the same 14 chords in a different order would be considered a different pattern. You also didn’t account for repeated chords. By choosing 14 (different) chords out of the 127 possibilities, many patterns such as

or would be unaccounted for.

(credits go to Drace for the images) (I don’t know how to make them, sorry ><)

It would be clearer if you thought about it this way:
1st chord: 127 possibilities
2nd chord: 127 possibilities
... and so on. We end up with 127^14 = 2.84*10^29 (3 s.f.) = 284 octillion possible basic patterns.

(Also I think it was just a careless mistake but 1.5*10^18 is 1.5 quintillion, not 1.5 trillion.)

You're definitely right when you say I should be permuting.. I did not account for repeating chords/notes at all. (Thank you for that), and as for my final number, I was writing my answer in long scale terms. (so 1.5 trillion in long-scale would mean 1.5 million billions, but I suppose short-scale is more widely used)
Bobbias
These numbers are relatively useless in determining the actual number of useful patterns, since they end up describing a large number of patterns that are extremely unlikely.

For fun though, think about how many actual possible unique charts could be created for a 2 minute song at 120bpm using 1/2 snap. that's 120*2*2 = 480 distinct positions with 128 (don't forget we could decide to have patterns involving empty timing positions) possibilities each. 128^480 = 2.889*10^1011 lol.

And then think about how at ANY possible millisecond during that song bpm changes could be placed multiplying the possible permutations by a nearly infinite number (not sure how many possible numbers between 0 and 60000 exist in floating point numbers, but osu stores it's bpm as the length in ms of a single beat, with 60000 being the limit of 1bpm). In order to calculate this you'd have to calculate the number of possible bpm change permutations and multiply each of those by the possible note permutations based on the length and bpm/snap of each timing section used.

Things very quickly get to a point where you might as well just call it infinite.
Topic Starter
[TIM]

Bobbias wrote:

These numbers are relatively useless in determining the actual number of useful patterns, since they end up describing a large number of patterns that are extremely unlikely.
I never actually considered any of these calculations "useful". I just figured it would be interesting to see what kind of possibilities the game has to offer with what we are given. And I was hoping you would too :?

Bobbias wrote:

For fun though, think about how many actual possible unique charts could be created for a 2 minute song at 120bpm using 1/2 snap. that's 120*2*2 = 480 distinct positions with 128 (don't forget we could decide to have patterns involving empty timing positions) possibilities each. 128^480 = 2.889*10^1011 lol.

And then think about how at ANY possible millisecond during that song bpm changes could be placed multiplying the possible permutations by a nearly infinite number (not sure how many possible numbers between 0 and 60000 exist in floating point numbers, but osu stores it's bpm as the length in ms of a single beat, with 60000 being the limit of 1bpm). In order to calculate this you'd have to calculate the number of possible bpm change permutations and multiply each of those by the possible note permutations based on the length and bpm/snap of each timing section used.

Things very quickly get to a point where you might as well just call it infinite.
Haha
SecretsofSorrow
@[TIM]
Right, I don’t encounter long-scale often (if at all) so I just assumed. Sorry about that ><

@Bobbias
Of course it’s impossible to consider most factors. If I just take into account that each note placed in a basic pattern can be on the on beat, or 1/2 or any of the 1/4 or 1/16 or 1/32 or 1/64 beats and anything in between, that 284 octillion will definitely become infinity. And that’s just a short pattern, not even a full song which has even more factors to consider, some of which you mentioned. But by deciding that we’re just going to look into this small part of a map and still finding so many possibilities, I think it gives us a better idea of how complicated mania can be, instead of just saying that everything is ‘infinite’.

Just as a matter of interest, what would you consider ‘useful patterns’?

I’m also not convinced that empty timing positions should be considered in calculations. A few scattered ones would be fine, but if the whole map is empty timing positions, that’s not a map at all. How do you determine what is and isn’t?

--- Useless math ahead! ---

Since all the calculations so far have been solely about single-tap notes, I decided to calculate the total number of chord/note possibilities, differentiating between long notes and single-tap notes. This builds on [TIM]’s earlier calculations of (single-tap) chord/note possibilities.

One-note chords: 7(1C0) + 7(1C1) = 14

Two-note chords: 21(2C0) + 21(2C1) + 21(2C2) = 84

Three-note chords: 35(3C0) + 35(3C1) + 35(3C2) + 35(3C3) = 280

Four-note chords: 35(4C0) + 35(4C1) + 35(4C2) + 35(4C3) + 35(4C4) = 560

... and so on. Then total chord/note possibilities = 14+84+280+560+672+448+128 = 2186.

TL;DR
If you currently have an empty playing field, there are 2186 chord/note possibilities that you could be pressing next.

Unfortunately this is useless for calculating patterns because
1. If you're currently holding some long notes, chords involving those keys are not possible to hit.
2. It's kinda impossible (or at least really really really hard) to take into account the release of long notes in patterns.
Bobbias
Well consider that there are likely very few songs where you could legitimately spam a whole series of 6 note chords for the length of the song, and you kinda get what I mean about 'useful patterns'. There are a large number of patterns that are very unlikely to ever really work well with most music.


In terms of LNs, you could count them as new note types, using 3 different types: LN start, LN hold, or LN release. The math would still end up being way too unwieldy to be worth calculating though.
OsuMe65
Screw your maths, this is just a game.
Drace
Many consider math to be a game too~~
Please sign in to reply.

New reply