Hoe bepaalt een rekenmachine welk cijfer er verschijnt als je de Random toets indrukt?

Als je op een rekenmachine de Random toets gebruikt, dan komt er een willekeurig cijfer tussen de 0 en de 1. Maar waarom staat er cijfer er wat er staat? Hoe is die willekeur ingericht?

Weet jij het antwoord?

/2500

Het beste antwoord

Een computer (of rekenmachine) werkt op een logische manier. Je hebt een invoer, daar voer je logische bewerkingen op uit, daarop volgt een uitvoer. Op deze manier kun je geen willekeurige getallen genereren. Een computer kan zonder invloeden van buitenaf geen nummers genereren die echt willekeurig zijn. In computers is doorgaans dus ook hardware aanwezig die kijkt naar invloeden van buitenaf. Vaak zijn dat tijdsintervallen tussen input-devices (denk aan de tijd tussen netwerkpakketjes of toetsaanslagen). Eenvoudiger is het genereren van pseudo-willekeurige getallen. Waarschijnlijk doet jouw rekenmachine dat ook. Hiervoor zijn tabellen en algoritmes. Vaak wordt een pseudo-willekeurige getalgenerator gevoed met een bepaald getal (bijvoorbeeld de huidige tijd) zodat niet steeds het eerste getal wat je neemt hetzelfde is. Een van de meest gebruikte algoritmen voor het genereren van pseudo-willekeurige getallen is de linear congruential generator, uitgevonden door ene meneer Lehmer. Als je daar echt de details van wilt weten kun je onderstaande bron eens bekijken.

Bronnen:
http://en.wikipedia.org/wiki/Linear_congru...

Ik weet het niet zeker maar volgens mij gebeurt dit door een algoritme. Ik zal het eens opzoeken. Weet wel dat computers NOOIT iets willekeurig kunnen kiezen er is altijd een formule die er op toe wordt gepast.

Klopt wat de vorige spreker zei... Het is altijd een formule, maar je kunt het zaad van die formule wel aanpassen soms... Je kunt ergens opzoeken waarop de formule gebaseerd is en je kunt in een geheugencel een waarde opslaan waar vanuit de formule loopt... Dit is soms nodig om zogenaamde reproduceerbare willekeurige reeksen te maken... Een calculator rekent altijd, dus ook random is een formule...

Vroeger had ik een elektronische en programmeerbare rekenmachine (één van de eerste die een basic-achtige programmeertaal kende). Die had een random-functie. Ik kwam er toevallig achter hoe die werkte: Dat ding was, als hij niets anders aan het doen was, continu aan het rekenen. Intern hield hij een randomgetal bij. Hij berekende continu het volgende randomgetal via de formule rand = frac(717,013 * rand) In woorden: neem het huidige randomgetal, vermenigvuldig dat met 717,013 , en neem het gedeelte achter de komma. Dat is je nieuwe randomgetal. Deed de rekenmachine niets anders, dan werd continu deze formule uitgevoerd. Was hij bezig met het uitvoeren van een programma, dan werd de formule alleen uitgevoerd als je een randomgetal opvroeg. Dan was dus het volgende getal te voorspellen als je het vorige getal wist.

Als je binnen 1 seconde 2 keer een random getal vraagt is die dus gelijk als je de tijd als 'seed' gebruikt. Bij het bepalen van een random getal worden vooral priemgetallen gebruikt.

Stel zelf een vraag

Ben je op zoek naar het antwoord die ene vraag die je misschien al tijden achtervolgt?

/100