How To Predict Random Numbers Generated By A Computer

Поділитися
Вставка
  • Опубліковано 27 вер 2024
  • In this episode we'll break the Math.random method in JavaScript with z3.
    🐶 Snyk is free forever. Sign up with my link snyk.co/pwnfun...
    ⭐ Randomness Predictor: github.com/Pwn...
    ⭐ Z3 Challenges: github.com/Pwn...
    ✨ Info
    ➜ Tools used are: tools.pwnfunct...
    ➜ Video Production time(Research to Output): 100-ish hours.
    ➜ About 2L of Almond milk & 3.5L of Gatorade were consumed during the video creation.
    💬 Discord: / discord
    🐤 Twitter: / pwnfunction
    🎵 Track: Lost Sky - Dreams
    NCS link: • Lost Sky - Dreams | Tr...

КОМЕНТАРІ • 799

  • @PwnFunction
    @PwnFunction  2 роки тому +1751

    Should I do a tutorial on time travelling? It’s ez bruh, 88 mph.

    • @callumery119
      @callumery119 2 роки тому +48

      I JUST FINISHED THE EXERCISE!!!! NO WAY

    • @shotgunflamez5608
      @shotgunflamez5608 2 роки тому +6

      yes

    • @wakematta
      @wakematta 2 роки тому +13

      42

    • @AntiAtheismIsUnstoppable
      @AntiAtheismIsUnstoppable 2 роки тому +5

      So, what you could is, is built it into the computer itself just using analog instead. It is not precise until it is converted to digital, but the idea here is, it will always vary. Take for example, the battery status. It is never ever the same in analog. So, add that signal to other signals in analog and you have something that will always vary slightly when converted to digital.
      I wonder how you can make perfectly safe random number generators in digital, since everything in software has been filtered to make it digital?
      Can you get to the analog signal of the battery in software?

    • @zyansheep
      @zyansheep 2 роки тому +2

      yeah its easy I do it all the time, some people can even do it faster than others. never heard of any kind of time travel that could predict the future tho.

  • @bertansadiki6794
    @bertansadiki6794 2 роки тому +658

    never thought id have to make trust issues with random number generators

    • @piolix0004
      @piolix0004 2 роки тому +37

      Well they're not random which is the reason why you shouldn't trust them

    • @bertansadiki6794
      @bertansadiki6794 2 роки тому +14

      @@piolix0004 my whole life was a lie smh

    • @N____er
      @N____er 2 роки тому +1

      @@bertansadiki6794 You couldn't tell wouldn't be random??

    • @bertansadiki6794
      @bertansadiki6794 2 роки тому +2

      @@N____er jk bro i kinda knew its impossible for a computer to generate a truly random number

    • @boem231
      @boem231 2 роки тому +1

      If you want to use crypto where the number has to be not known by someone else you could use the crypto api

  • @thejuanpa88
    @thejuanpa88 2 роки тому +297

    Just a small semantic correction: It is incorrect to say that cryptography doesn't use pseudorandom generators, it absolutely does. No computable generator can be, by definition, absolutely random. They can be, however, observably random. That does not mean that the generator is not pseudorandom, it means that there is no known function that can discriminate that generator from a truly random one (always speaking in terms of polynomial time) . If this were not the case, symmetric key generation would be either an uncomputable problem, or and insecurely solvable one.

    • @somdudewillson
      @somdudewillson 2 роки тому +32

      Hardware random number generators are a thing, and not uncommonly used in cryptography. Incomputable generators of random noise are fairly easy to make/use - just observe them.

    • @ultimatedude5686
      @ultimatedude5686 2 роки тому +1

      It seems like quantum computing could change that.

    • @thomasi.4981
      @thomasi.4981 2 роки тому +4

      He does conclude by saying "but you can use *cryptographically secure pseudo-random number generators*" at the end... Right after the bit where he said what you take issue with. Immediately after. So he's aware that they can be and do get used.

    • @chovnyk_pluve
      @chovnyk_pluve 2 роки тому

      As author mentioned, nothing can be technically random :)

    • @Lucky10279
      @Lucky10279 2 роки тому +12

      @@ultimatedude5686 That depends on whether quantum mechanics is fundamentally random or not, which is an open question.

  • @SisirKumarPathy
    @SisirKumarPathy 2 роки тому +25

    I had known about this that "It is impossible to create pure random numbers in computer science" but seeing it in practice as really cool. Your explanations are awesome. Keep it up.

    • @davidjohnston4240
      @davidjohnston4240 2 роки тому +7

      But it's an incorrect statement.

    • @user-dh8oi2mk4f
      @user-dh8oi2mk4f 2 роки тому

      @@davidjohnston4240 how?

    • @davidjohnston4240
      @davidjohnston4240 2 роки тому +2

      Computers are made of electronics. All electronics have electrical noise which derives from quantum physics. That noise can be used to make nondeterministic random numbers. The entropy extraction algorithms can squish those random numbers into higher quality random numbers that are arbitrarily close to full uniform.

    • @JarppaGuru
      @JarppaGuru 6 місяців тому

      value1 = random.randrange(1,100000)
      d = random.randrange(0,6)
      value2 = random.randrange(1,100000)
      if d == 0:
      random = value1 + value2
      if d == 1:
      random = value1 - value2
      if d == 2:
      random = value2 - value1
      if d == 3:
      random = value1 * value2
      if d == 4:
      random = value1 / value2
      if d == 5:
      random = value2 / value1
      print(random) #now its ramdomish than just 1 random LOL

  • @UltimatePerfection
    @UltimatePerfection 2 роки тому +13

    That's why we need a pseudorandom library that uses a variety of sources for seeding, other than the system clock. Stuff like current temperatures, microphone input (which is especially random in case of the cheap mics many people have that provide a lot of noise), mouse position at the time of setting up the seed, and any other sources of randomness you can think of. Also reseeding the generator every hour or so.

    • @legendgames128
      @legendgames128 2 роки тому

      Perhaps in the case of a game, player input, enemy velocity, collectibles, etc.

    • @UltimatePerfection
      @UltimatePerfection 2 роки тому +1

      @@legendgames128 No, it's too easy to manipulate, just look at RNG manipulation in classic NES and GB titles (which didn't have a clock, unless one was provided on the cart and had to do seeding in the way you describe).
      Things like noises on the microphone or component temperatures are much harder to control. Basically, any analog input source is a good source of randomness.

    • @legendgames128
      @legendgames128 2 роки тому

      @@UltimatePerfection I was suggesting additional things as well as what you provided, but yes, the manipulation that could come of player input is very much not random. I guess if the player has any say in the RNG, then the RNG could be manipulated to do whatever the player desires (so long as the RNG directly affects it) so scratch that idea.

    • @zvxcvxcz
      @zvxcvxcz 2 роки тому +1

      You can use hardware seeds, if you're looking for a good RNG library you should check our PCG32. The author has a great talk explaining why it better than other approaches as well.

  • @0xbro
    @0xbro 2 роки тому +40

    I tried the "Time Travel" option running multiple sleep(-10) but it didn't work. Do someone manage to make it working?

    • @Zaary
      @Zaary 2 роки тому +19

      python actually blocks negative values for time to make impossible for newbies to time-travel

    • @leogama3422
      @leogama3422 2 роки тому +7

      You just need to do:
      *from **___future___** import random_int*

  • @twtrentrt
    @twtrentrt 2 роки тому +22

    This goes along nice with Liveoverflow's latest video. Good job!

  • @gregheth
    @gregheth 2 роки тому +58

    it designed that way so programmers can rerun test cases. Use a value Seed on every call to get random

    • @w花b
      @w花b 2 роки тому +14

      And in the Python documentation it's explicitly said that the random function isn't for security purposes

    • @zvxcvxcz
      @zvxcvxcz 2 роки тому

      Sure, but since the next number is easy to predict from the current number, leaking some of the numbers even after use can let an attacker get ahead by knowing the upcoming numbers. The problem isn't just that it is deterministic, but that the determinism is easily figured out.

  • @sdjhgfkshfswdfhskljh3360
    @sdjhgfkshfswdfhskljh3360 2 роки тому +11

    Electronics always produce noise. In most cases this effect is undesirable and computers are designed to reduce its impact on their operation. But it is possible to go other way and amplify the noise to make true random generator inside computer. And this is exactly what is done in latest CPUs.

    • @zvxcvxcz
      @zvxcvxcz 2 роки тому

      Yup, but it is too slow when you need a lot of random numbers, so you seed with that and then depend of a good algorithm for the rest. Mersenne Twister should really be the bare minimum RNG algorithm but apparently things like this have been kept around for legacy code reasons (in the case of C++, I don't follow what goes on with Python). PCG32 is a good RNG library.

  • @ChrisContin
    @ChrisContin 2 роки тому +2

    Great animation! Very entertaining to watch. Randomness is real, not artificial, and is the combination of two or more similar values into a confined space. “A and B are equal in size, but are forced equally to fit spot C, which is only big enough for one of them.” The value C at the conclusion is random, and not dependent on systemic error.
    An example is to count down to zero, but twice. The exact moment is indeterminate, because time keeps going, and no parts were favored. To compare why this is random, place two objects in-line on a track, and see who will come out ahead after many laps. The result is not inline, because each part is trying to win! The return of a function from time-dependency is called “seizing”, and can be implemented as an “LC-circuit”, or inductor-capacitor reforming array. Push energy into a capacitor, and see it try to escape at the earliest exact moment. When both arrays operate at the same time they’ll literally force on time to “let them pass”. The exact winner is therefore indeterminate, and this circuit produces a single bit of truly random information. Twenty bits will obliterate any form of computation developed by a mortal- you can crash the entire suite of any portal software: Windows, MacOS, Linus, Unix, etc. just by arranging those twenty bits somewhere on board. The operating system will find that electricity is too interested in a computation unrelated to the cpu-instructions and “hang”, or freeze, without any computation until a memory refresh takes place!
    See “particle assembly, physics” for more information about random numbers and why flow of information yields the need for a “break” every now and then! Long post, hope you enjoyed it!
    See Me for that information. I’ll find a way to help. Take care!

  • @le9038
    @le9038 2 роки тому +3

    you can now predict random numbers? time to go to the casino!

  • @Krzychu-bh4rl
    @Krzychu-bh4rl 2 роки тому +2

    I have simple idea from analog synthesizer. Build analog noise generator, add ADC, and when application needs random value you simple have to sample momentarily voltage at the output of noise generator

  • @PlayerPaul
    @PlayerPaul 2 роки тому +2

    We've been told that computer generated random numbers are not actually random, back in 2nd or 3d grade in computer class. That is a really cool knowledge to have. And actually mega OP compared to all the other computer class knowledge we got, especially that early. Always wanted to find out actually how this algorithm works. Quite cool. Good vid actually.

    • @PlayerPaul
      @PlayerPaul 2 роки тому

      @@maqp1492 yeah, I've read it from other comments already.

  • @IceQub3
    @IceQub3 2 роки тому +18

    You can try build a "true" random number genrator using a giger counter and somthing radioactive like a banana.
    Also some TMP has quantum random number generator built in

    • @davidjohnston4240
      @davidjohnston4240 2 роки тому +5

      No need for radioactive sources. Just use electrical noise. It's a lot more abundant in electronics and comes with quantifiable entropy. That's how we do it in computers.

    • @loganiushere
      @loganiushere 2 роки тому

      @@davidjohnston4240 yea but if you know exactly how every source of electrical noise works you could predict the output.
      But, radioactivity is truly random. We currently know of no way to predict when a radioactive element will decay.
      But, there’s no need to use a banana, you can just use yourself! You’re (slightly) radioactive!

    • @IceQub3
      @IceQub3 2 роки тому

      @@loganiushere the generator in many modern TPM is electrical, and is considered quantum random. If you use a too small transistor electrons will randomly tunnel between on the gate, you can mesure its and use it as a true enteopy source, the biggest problem with electrical sources is tempeture dependunce, unlike radioactive isotops, the tempeture will affect the distribution of electron creating a bias and in result decreasing entropy.

    • @DavidJohnston_deadhat
      @DavidJohnston_deadhat 2 роки тому +1

      @@loganiushere Electrical noise arises from quantum interactions. The underlying nondeterminism of everything arises from quantum interactions.

    • @loganiushere
      @loganiushere 2 роки тому

      @@IceQub3 huh, well that is not what I thought of when I heard “electrical noise,” but I guess that would be truly random!

  • @koda_pop
    @koda_pop 2 роки тому +2

    thats why you seed it, but theres a good reason why sequences are the same and it's for debugging or testing purposes.

  • @steviousmusic
    @steviousmusic 2 роки тому +3

    2:30 Laplace's demon talks about this topic, and it turns out that it is mathematically impossible to predict the outcome, no matter how much reference data you have. Pretty interesting.

  • @captainunknown2839
    @captainunknown2839 2 роки тому +4

    Exercise was so much fun & easy!

  • @IAmMakingMusicOverHere
    @IAmMakingMusicOverHere 2 роки тому

    If this was just a giant ad for snyk, it worked. Was totally sold on using it to detect insecure psuedorandomness by the end!

  • @kasparroosalu
    @kasparroosalu 2 роки тому +2

    You can have true randomness that is not based on our ignorance of starting conditions. Use quantum processes like radioactive decay or tunneling in your RNG.

    • @AnEnderNon
      @AnEnderNon 2 роки тому

      most chips have inbuilt true random number generator

  • @DeanGadberryYT
    @DeanGadberryYT 2 роки тому +5

    "Randomness is, basically, our ignorance to the initial conditions of a chaotic system." 2:40

    • @Wylie288
      @Wylie288 2 роки тому +2

      This.
      The idea of "real" random doesn't exist. Even at the quantum level like people think. That idea just comes from a misunderstanding when you convert quantum mechanics into laymans terms.

  • @wlockuz4467
    @wlockuz4467 2 роки тому +1

    Nature when looking at computers: Look at what they need to mimic a fraction of our power.

  • @jemrules835
    @jemrules835 2 роки тому +1

    Earth computer has a couple videos on him cracking random numbers in minecraft.

  • @kaksisve4012
    @kaksisve4012 2 роки тому

    PwnFunction: Let's run the script.
    UA-cam: * starts an ad *

  • @somerandomdude4588
    @somerandomdude4588 2 роки тому

    If I remember correctly, it’s basically, the number isn’t random, it’s generated by like time, mouse position etc. (Not specifically those things, they’re just examples)

  • @codecaine
    @codecaine Рік тому

    Your channel is full of excellent content. Keep up the excellent work!

  • @oglothenerd
    @oglothenerd 2 роки тому +3

    Dude! I was interested in this vid, mainly because I notices that generating events due to math like making a random number 0 - 100 and an event is (if > 50)... gave me one a lot then the other a lot! Great vid!

    • @Oneiroclast
      @Oneiroclast 2 роки тому +1

      That has nothing to do with pseudorandomness. Actual random numbers have more streaks than people intuitively think as well.

    • @oglothenerd
      @oglothenerd 2 роки тому +1

      @@Oneiroclast I used the Python Random module.

    • @RadiusNightly
      @RadiusNightly Рік тому +1

      You can make your own PRNG, something simple, that peoples may not break so easy as classic random module that everyone knows. But it all depends for what purpose you need random number. For example, PRNG in games will be different from gamble machines, or in security application.
      There are lots of problems creating PRNG. Do you need efficient or performance PRNG, do you need FPU or not, what if there is no FPU on some PC, or what if you wanna avoid division because its not efficient, what ranges of numbers do you need, do you need negative numbers, for how long you need it to generate without going into shift or repeat, do you need all generated numbers to pop up equally distributed, eg. you are generating number between 0 and 1, 1m times, in the end do you need 500k 0 and 500k 1 numbers happening equally across all generated numbers or you are fine with 80% happened to be 1 and 20% of numbers generated are 0, or you need 50%:50%, with numbers 1, 2, 3 and 4, maybe you need 25%:25%:25%:25% equally, or 60%:4%:25%:11%: equally across all generated numbers.
      For example in game, 20% critical chance sounds fine, by math it may happen every 20th hit, because of math, and math does not give or think, but humans will see 20% as 1 guarantee in 5 tries, right(?), same with dice rolls, 6 sides, 1:6 chance that you will get what you need, and yet after 20th retry you cannot get number 6, because dice doesnt give a thing about previous results, and to people it looks like black magic, or something shady, not fair, and such, thats why Blizzard implemented in Warcraft 3 back in 2000 PRG Distribution, and its still used today in games like DotA2 and LoL, so 20% 1st try, if fail, then it starts adding up, 2nd try 20%, if fail, 3rd try 40%, if fail, 4th try 60%, if fail, 5th try 80%, if fail, 6th try, 100% guarantee, each time when critical happened, distribution are restarted. But such logic does not provide money for the casino owner, so it all depends what you really need.
      True random can be generated with PC taking current heat of components, or speed up and shifting HDD and combining them to get greater possibilities, even its limited and narrow, its hard to predict because its changing all the time, and again its not suitable for 20% in a game, because it does not go by the human logic, and we hate it, but its fine for other things.
      As i understand you, with 100% with even >50% event you are most likely need something like PRNG with Distribution.
      Easy way to get equal 50%:50% results (as you are looking for) or 50% chance are with 0 and 1, equally distributed, using modulus, even or odd number, even goes one way (eg. giving high chance to become odd), odd number goes another way (eg. giving high chance to become even), you can avoid decimal calculations if you want, its one line of branchless code, once you get equal result, you can go for 0-100 range, because theres 50 odd and 50 even numbers, if >50 will be equally hit as

    • @oglothenerd
      @oglothenerd Рік тому +1

      @@RadiusNightly Okay, thank you!

    • @mustafaamin561
      @mustafaamin561 Рік тому

      please can you share source code for maken predictable random number between 0 - 100 ?

  • @-_-__.
    @-_-__. 2 роки тому +1

    I don't know much about programming but I have an idea to generate Random number by Using Current time: Hours, minutes and seconds along with date.Use different Arithmetic operations on Factors(second, minute,etc) for different cases of time so that neither me nor anyone can guess the solution

    • @Pr0bablyN0tMe
      @Pr0bablyN0tMe 2 роки тому

      that is more or less how the srand function is c++ works when using time(NULL) as a seed

    • @T0ly113
      @T0ly113 2 роки тому +2

      That's not random though. Still fully deterministic.

  • @vaisakhkm783
    @vaisakhkm783 2 роки тому +1

    You convinced me to signup for snyk
    😂 well done...

  • @romanext921
    @romanext921 2 роки тому

    This is an amazing video. Very interesting info and perfect delivery. Thanks!

  • @kitcat2408
    @kitcat2408 2 роки тому

    import random
    def two_layer_random(start, end):
    random_list = []
    for x in range(abs(start - end)):
    random_list.append(random.randint(start, end))
    return random_list[random.randint(start, end)]
    print(two_layer_random(0, 100))

  • @howl2339
    @howl2339 2 роки тому

    WOW, this is the first time i look at one of your videos. YOU ARE AWESOME

  • @misikaro
    @misikaro 2 роки тому

    That time traveling exercise was a tough one but eventually I managed it

  • @slayeryt637
    @slayeryt637 2 роки тому +1

    So what I learned from this video is that z3 can do my math homework.

  • @aryn_rjpt
    @aryn_rjpt 5 місяців тому

    Hoyy youtube.. show me more of such videos, I am in love with it rn (tho i didn't understand it completely)

  • @TheDiamondMc88
    @TheDiamondMc88 3 місяці тому

    Very useful video, thanks!

  • @hansformer9556
    @hansformer9556 2 роки тому +1

    One thing, there is something I‘d call true random in our physical world.
    And that are quantum effects.
    If you are able to measure exactly when an atom is decaying and watch exactly one atom, you cannot predict exactly when it is decaying, only calculate when it’s probably already decayed.

    • @thisismyalias
      @thisismyalias 2 роки тому

      Cannot predict YET*. Even if hidden local variables are somewhat debunked in our current models, global hidden variables might still be possible especially considering that reductionism seems to have reached a limit/failed in describing objective reality.
      Also, I just don’t believe in true randomness :p

    • @Wylie288
      @Wylie288 2 роки тому

      Thats just human ignorance. Thats not "true random" Thats literally computer RNG to your average person, except on a global scale.

    • @hansformer9556
      @hansformer9556 2 роки тому

      @@Wylie288 With our current knowledge the most likely situation for quantum processes is that they are random.
      It doesn’t make sense to fight about it if we don’t have clues that these processes are determined by hidden variables.

  • @BenRogersWPG
    @BenRogersWPG 2 роки тому

    2:10 on first listen I thought you said here that the coin flip depends on "divorce" 😅
    Great video! Really good lesson!

  • @PcimOlki
    @PcimOlki 2 роки тому

    Just record noise from mic input audio card. If you set all levels to max you'll be able to record noise from semiconductor used in first stage of amplification.

  • @myrz3126
    @myrz3126 2 роки тому

    Minecraft seeds ain't ready for this

  • @shishirjha
    @shishirjha Рік тому

    Hi i really like your video style. Can you create one video on how you create videos? What is your production process overall? I think lots of people would be interested in that.

  • @dimaswiki6550
    @dimaswiki6550 2 роки тому

    thx for the exercise, i learn a lot about z3 today!

  • @alice20001
    @alice20001 Рік тому

    Instructions unclear, went back in time, became my own grandfather, forgot to do the thing with the numbers.

  • @piecaruso97
    @piecaruso97 2 роки тому

    I was just looking for the right occasion to use my brand new tardis, thank you.

  • @f.fmaster200
    @f.fmaster200 2 роки тому

    Fantastic tutorial, keep up the great videos!

  • @yeez_pao
    @yeez_pao 2 роки тому

    Woot! Thank goodness, I needed this back on my

  • @DXSTXNCE
    @DXSTXNCE 2 роки тому +1

    was the "random fact" at the end really that random??

  • @itachahades1593
    @itachahades1593 Рік тому

    Bro just me here trying to predict an outcome in an arcade game. Never thought that would bring me here

  • @badrelmazaz
    @badrelmazaz 2 роки тому +1

    Very interesting thanks a lots, you showed me some new rabbit holes. (I clicked on your link, I am from Monster team for drinks btw)

  • @maph420
    @maph420 Рік тому +4

    is dude alive?:(

    • @PwnFunction
      @PwnFunction  Рік тому +8

      Maybe

    • @maph420
      @maph420 Рік тому +3

      @@PwnFunction come backk bro, we miss ur content

    • @mariolol8333
      @mariolol8333 Рік тому +1

      @@PwnFunction i love your video's don't stop );

  • @Veptis
    @Veptis Рік тому

    Remember that people managed to exploit this in Minecraft, making any mob spawn they want, like every tick.
    And how to exploit it to win giveaways?

  • @thecodingpress5970
    @thecodingpress5970 2 роки тому

    Yes! Another legendary video from a legendary legend!

  • @gokdenizvarol9892
    @gokdenizvarol9892 2 роки тому

    Thanks man!! You've earned my respect

  • @marciello1366
    @marciello1366 2 роки тому

    Woah, great video mate!

  • @clair8385
    @clair8385 2 роки тому

    At startup, it gave an error. I updated the firewood and it helped me)

  • @piotrprochwicz7172
    @piotrprochwicz7172 2 роки тому +2

    lotto owners hate him.

  • @alexlefevre3555
    @alexlefevre3555 2 роки тому +1

    I've spent more time getting as much entropy in the RNG portion of my muon controlled number generator than all else combined including soldering up 6x 20 segment VFDs... Nice video my guy!

  • @stalkerfromvoronezh4493
    @stalkerfromvoronezh4493 2 роки тому +2

    The real random is using a microcontroller with very noisy transistor.

  • @Crayfry
    @Crayfry 2 роки тому

    Awesome video, really laid back, really likey

  • @ryek_br1709
    @ryek_br1709 2 роки тому

    Instructions unclear,Somehow there is a evil spirit stopping time for me now.

  • @kyputer
    @kyputer Рік тому

    Love your videos. Keep it up!

  • @NetworkEscape
    @NetworkEscape 2 роки тому

    Next video idea: How to predict lottery numbers. Thanks.

  • @angelicagracemisa9886
    @angelicagracemisa9886 Рік тому

    This is the best free software Ive seen. Respect.

  • @التدريسالالكتروني

    please a video about making a server for testing websites for example recive logs of sending a payload

  • @holy2001
    @holy2001 2 роки тому +1

    Wait, Your penguin character looks like Pengsoo XD

  • @unfa00
    @unfa00 2 роки тому

    Why so many projects name themselves with a random letter and a random digit?

  • @vincenttjia
    @vincenttjia 2 роки тому +1

    Interesting fact: Cloudflare uses lava lamps to generate random numbers

  • @rslipflop
    @rslipflop Рік тому

    bruv it's time for another video!

  • @bartosak
    @bartosak 2 роки тому

    Rust bandit camp roulette I am coming for you :D - I think they are using Mersene Twister algo

  • @sleeper5905
    @sleeper5905 2 роки тому

    Now I can predict rng in games with random spray to get the best shots

  • @12XFactor
    @12XFactor 2 роки тому

    Big Bang Theory taught me, that truly random numbers are still an unresolved mathematical problem.

  • @Horaceingrammusic
    @Horaceingrammusic 10 місяців тому

    I need this so I can just put my random numbers in

  • @חגישרון
    @חגישרון 2 роки тому

    TNice tutorials tutorial is so good, tysm

  • @ARIELGOETA
    @ARIELGOETA 2 роки тому

    Thank You For The Mind-Blowing!!!!!

  • @AuxenceF
    @AuxenceF 2 роки тому

    If method 1 doesn't work check your speed! It has to be exact, mine was 88.0000000004 mph

  • @nonatowebby4166
    @nonatowebby4166 2 роки тому

    pretty nice video, thanks for that. And pretty nice theme. I would appreciate if share the them you used for this video in your VSCODE.

    • @fresonn
      @fresonn 2 роки тому

      + What is VS Code theme?

  • @subhankargogoi1260
    @subhankargogoi1260 2 роки тому

    works, chock-full thanks!

  • @nomadshiba
    @nomadshiba 2 роки тому

    can you also make a videos on possible vulnerabilities to be aware of while writing solidity smart contracts

  • @sathvikreddy5799
    @sathvikreddy5799 2 роки тому +2

    Cloud flare uses lava lamps to generate random numbers. Tom Scott did a video on it if I remember.

  • @nini6039
    @nini6039 2 роки тому

    Everything works, I highly recommend it

  • @smithbakare5437
    @smithbakare5437 2 роки тому

    thank you man,it worked!

  • @DavidBoura
    @DavidBoura 2 роки тому

    "i truly think randomness doesn't exist at all", a random guy.

  • @darkfire2703
    @darkfire2703 2 роки тому +3

    Interesting to see that V8 is using XorShift128 for the Math.random implementation. XorShift is actually a pretty good algorithm, even tho I'm not sure why they use the XorShift128 variant. A while back I implemented the xoshiro256** variant in C++ because the PRNG algorithms provided by the stdlib were either too slow, or too bad. The C stdlib random implementation is especially bad since it is not only slow, but also has bad randomness. xoshiro256** on the other hand was extremely fast while also providing very good randomness

    • @user-sl6gn1ss8p
      @user-sl6gn1ss8p 2 роки тому +1

      Yeah, I once implemented them using SIMD/AVX and whatnot, for the creation of large batches of values, and it was pretty nice. I really like the XorShift/xoshiro family, they're simple, fast, have options to cover different use cases AND work well : )

    • @levsonc
      @levsonc 2 роки тому +1

      They used MWC1616, but changed to xorshift128+ in Dec 2015. There were nice articles about random number distribution at time.

    • @darkfire2703
      @darkfire2703 2 роки тому

      @@levsonc Interesting, thanks for the info. I found a few very interesting articles

  • @sloan00
    @sloan00 2 роки тому

    Your penguin character is so cute

  • @quihaola4210
    @quihaola4210 Рік тому

    I did it, thank you very much to the author

  • @BritishBeachcomber
    @BritishBeachcomber 2 роки тому

    The are ways to generate non-pseudo random numbers, without repeating a sequence. For example an white noise generator and analogue to digital converter to generate new seeds, or sampling the microsecond clock. Or use CPU temperature.

    • @comatose3788
      @comatose3788 2 роки тому

      They have been trying for years to create true random .. It's can't be done. I didn't say random .. I said true random.

    • @BritishBeachcomber
      @BritishBeachcomber 2 роки тому

      @@comatose3788 A sequence is either random or not. "True Random" is not a thing

    • @comatose3788
      @comatose3788 2 роки тому

      @@BritishBeachcomber That was my point ..

    • @comatose3788
      @comatose3788 2 роки тому

      @@BritishBeachcomber I've been programming for over 45 years with a Masters Degree in computer science. Even your non-pseudo random numbers will repeated at some point .. Granted the entire logarithm may be absolutely huge it still will at some point start to repeat it's random pool. Try to stay on subject here kid and stop splitting hairs as you're reaching to prove something .. it's funny!

    • @T0ly113
      @T0ly113 2 роки тому +1

      @@comatose3788 what are you talking about lmao. Radioactive decay is absolutely random.

  • @UKvideos2009
    @UKvideos2009 2 роки тому

    Right, I am going to predict the £191m Euro Millions.

  • @georgecop9538
    @georgecop9538 2 роки тому

    So, I made a pseudo-random generator. It uses a number like 153482, xor-ing and adding to another arbitrary number

  • @agarplaysgameryt1665
    @agarplaysgameryt1665 2 роки тому

    I made a python password generator and it uses a math formula called collatz conjecture or the 3x +1 problem

    • @agarplaysgameryt1665
      @agarplaysgameryt1665 2 роки тому

      That is code for password generator you can copy it if you want

  • @reprdev
    @reprdev 2 роки тому

    It's funny that even the geekiest of computer geeks usually refer to PRNGs as RNG.

  • @fieryr
    @fieryr 2 роки тому

    Think I found a way to time travel.
    Legit just go close enough to a black to not get sucked in but slow down time and go back to earth
    Side effects: You'll have travelled a 1000 years into the future

  • @someman7
    @someman7 Рік тому

    How does the flat 2D character look slumped over at 11:20? Must be the previous animation...

  • @mattluisanimaxion3232
    @mattluisanimaxion3232 2 дні тому

    How do I use this to win casino crash games

  • @cheetahcoffin
    @cheetahcoffin 2 роки тому

    i am having an existential crisis

  • @og5462
    @og5462 2 роки тому +1

    I had that at c# to

  • @MakerVerse
    @MakerVerse 2 роки тому

    Now I'm more interested in know how you did learn all this, where? From who? Were they green like in the movies?

  • @SintayehuMelese-i7p
    @SintayehuMelese-i7p 4 місяці тому

    How we predicte aviator next round using this method?

  • @demonindenim
    @demonindenim 2 роки тому

    7:34 there are multiple solutions, such as x=2 and y=5, x=3.5 and y=4, x=6 and y=7/3, etc. How is Z3 "solving" this?

  • @Fine_Mouche
    @Fine_Mouche Рік тому

    redit : an example of why i should wait before comminting / asking ... you delt [] for the data in [][::-1] ><
    edit : with mt new understanding, 'sequence' is lenght 0 ... so the 'for' should not work.
    why only s0 and s3 work ? There is an apparent incoherence in the formatting why s0 = [] works but not s2 = [][], and why s1 = [::-1] doesn't work but s3 = [][::-1] does ?
    s0 = []
    print(s0)
    # s1 = [::-1]
    # print(s1)
    # 2 = [][]
    # print(s2)
    s3 = [][::-1]
    print(s3)

    • @Fine_Mouche
      @Fine_Mouche Рік тому

      chatGPT 3.5 : In Python, an empty list can be created using empty square brackets []. The statement s0 = [] creates an empty list and assigns it to the variable s0.
      However, the statement s2 = [][], creates an empty list and then tries to access an element of it with another set of empty brackets, which results in a syntax error.
      Similarly, the statement s1 = [::-1] tries to create a slice of an empty list, which results in an empty slice. Since there are no elements to slice, the resulting list will also be empty. However, this syntax is not allowed in Python, and it results in a syntax error.
      On the other hand, the statement s3 = [][::-1] creates an empty list and then reverses it using the slice notation [::-1]. The slice notation is allowed in Python, even if the list is empty, so this statement results in an empty list being assigned to the variable s3.
      So, only s0 and s3 work because they are valid statements in Python. s0 creates an empty list, and s3 creates an empty list that is then reversed using slice notation. s1 and s2, on the other hand, result in syntax errors because they are not valid Python statements.

  • @evenprime1658
    @evenprime1658 2 роки тому

    i thought it was common knowledge that its really PRNG not actually RNG

  • @etheosultimate
    @etheosultimate 2 роки тому

    Everybody gangsta till 17 people guess the lottery