Help!

PC-Problemen?
De vrijwilligers van Oplossing.be zoeken gratis met u mee!

Hulp bij posten

Recente topics

Auteur Topic: Lotto trekking , is random ècht random ?  (gelezen 3745 keer)

0 leden en 1 gast bekijken dit topic.

Offline cow18

  • Excel-Expert
  • Volledig lid
  • *****
  • Berichten: 212
  • Geslacht: Man
  • Oplossing.be
Re: Lotto trekking , is random ècht random ?
« Reactie #30 Gepost op: 13 juli 2020, 10:13:23 »
even snel wat data (630)van random.org genomen en vergeleken met jouw cijfers
dan proberen 1 en ander te duiden

* daarvan is er geen ènkele rij waarbij het hoogste cijfer onder de 20 is..... --> jij 0/126 ik 3/630
kansberekening = combinaties(19;6)/combinaties(45;6) = 27.132/8.145.060 = 0.3%
check je 126 * 0.3% = 0.4 en mijn 630*0.3% = 2.10

* daarvan zijn er maar 12 rijen waarbij het hoogste cijfer onder de 30 is.... --> jij  12/126 ik 35 op 630
kansberekening = combinaties(29;6) / combinaties(45;6) = 475.020 / 8.145.060 = 5.8%
check je 126 * 5.8% = 7.3 en mijn 630 * 5.8% = 36.7

* daarvan is er geen ènkele rij die begint met een cijfer hoger dan 15.... --> jij 0/126 ik 47/630
kansberekening = combinaties(30;6) / combinaties(45;6) = 593.775 / 8.145.060 = 7,3%
check je 126 * 7.3% = 9.2 (oei serieus fout in vergelijking met je 0 !!!) en mijn 630*7.3% = 45,9

zo zou ik iedere bewering van jou kunnen checken.
Weet daarbij dat alles kansberekening is, dus telt de wet der grote getallen, hoe vaker je iets doet, hoe dichter het bij het berekende percentage zal liggen. Jij had 126 trekkingen en ik had er 630, dus normaliter moet ik iets dichter in de buurt zitten van het berekende percentage.
Enkel jouw 3e stelling, die ging serieus de mist in. Probeer die nog een aantal keer te herhalen en kijk waar je nu op uit komt ! Op 126 trekkingen moet je in de buurt van de 9 komen.








« Laatst bewerkt op: 13 juli 2020, 10:33:40 door cow18 »

Offline Montagnard

  • Oplosser
  • ****
  • Berichten: 521
  • Geslacht: Man
  • To Windows or not to Windows , that's the question
Re: Lotto trekking , is random ècht random ?
« Reactie #31 Gepost op: 13 juli 2020, 11:44:48 »
na alles hier te hebben gevolgd (geprobeerd te volgen) èèn vraag :
moet ik iets aan mijn Quick Pick code veranderen ?

anderzijds denk ik dat mijn "probleem" komt omdat ik telkens "slechts" 14 rijen laat trekken en de kans op die "speciale" rijen dan zèèr klein is.

hierbij IEDEREEN bedankt die hier aan meegeholpen en gedacht heeft !
Mvg,
Arnold.
« Laatst bewerkt op: 13 juli 2020, 12:10:28 door Montagnard »

Offline RedHead

  • Excel-Expert
  • Ambassadeur
  • *****
  • Berichten: 1.977
  • Geslacht: Man
  • Met Excel lukt 't wel.... (toch???)
Re: Lotto trekking , is random ècht random ?
« Reactie #32 Gepost op: 13 juli 2020, 12:12:58 »
Ook in enkele andere macro wordt aselect tussen 1 en 45 gekozen ipv volledig aselect met 15 cijfers achter de komma.

Met dat idee zat ik dus ook nav jouw opmerking op mijn procedure in dat andere draadje. Want wát wordt de uitslag als je aan een array van 1 t/m 46 een random waarde plakt met een precisie van 15 cijfers en daar de top 6 uit sorteert?
______________________________

Groet, Leo

Offline pitufo

  • Excel-Expert
  • Ambassadeur
  • *****
  • Berichten: 1.143
  • Geslacht: Man
Re: Lotto trekking , is random ècht random ?
« Reactie #33 Gepost op: 13 juli 2020, 12:15:20 »
Ik zou er niets aan veranderen, Arnold.
Het enige wat je zou kunnen doen om dat eindbeeld minder 'vreemd' te maken is die laatste sortering eruit laten. Ik heb daar nooit de meerwaarde van gezien.
In de gauwte heb ik (met jouw code) nog eens 10000 trekkingen laten doen en er wat veelzeggende berekeningen naast gezet. Daaruit mag volgens mij gerust worden afgeleid dat zeker met een beperkt aantal trekkingen (wat dit nog steeds is gezien de meer dan 8 miljoen mogelijkheden) je met of zonder randomize op ongeveer hetzelfde resultaat zal komen.
In kolom J vind je nog de door Excel getelde totalen (kolom I was de eerste fase).
Vergelijk dan eens kolommen I en J met kolom O, ik vind dat een mooi resultaat  8)
Dat komt overigens bijzonder goed overeen met de resultaten van cow18 met 630 trekkingen!

Groeten,
pitufo
"De computer doet wel degelijk wat je hem vraagt,
 maar NIET wat je DENKT dat je hem vraagt"

Offline Montagnard

  • Oplosser
  • ****
  • Berichten: 521
  • Geslacht: Man
  • To Windows or not to Windows , that's the question
Re: Lotto trekking , is random ècht random ?
« Reactie #34 Gepost op: 13 juli 2020, 12:31:19 »
@Pitufo : je laatst bijgesloten bestand maakt idd heel veel duidelijk , was ook al zo met de cijfers van Cow18 op die 630 trekkingen.
thanks voor alles en nog een fijne dag.
Mvg,
Arnold.


Offline cow18

  • Excel-Expert
  • Volledig lid
  • *****
  • Berichten: 212
  • Geslacht: Man
  • Oplossing.be
Re: Lotto trekking , is random ècht random ?
« Reactie #35 Gepost op: 13 juli 2020, 12:42:11 »
@pitofu,
welke macro heb je precies gebruikt voor met en zonder randomize ?
Het lijkt te suggereren dat de randomize er niet toe doet, zoals ik aangaf.
De bijlage was een xlsx.

Offline pitufo

  • Excel-Expert
  • Ambassadeur
  • *****
  • Berichten: 1.143
  • Geslacht: Man
Re: Lotto trekking , is random ècht random ?
« Reactie #36 Gepost op: 13 juli 2020, 14:44:05 »
Hallo cow18,

Dat was (quasi letterlijk) de macro zoals TS die in zijn openingspost had meegestuurd, enkel klein beetje opgeschoond. Vervolgens één maal zo uitgevoerd, en een tweede maal met 'randomize' verwijderd.
't Was ondertussen wel een bestand geworden met allerlei andere tests en macro's, goed om in verloren te lopen, en ik had dus enkel mijn resultaat in een nieuw werkboek geplakt.
Ik heb het nu vlug even uitgekleed voor jou, en ook al enkele malen laten lopen.
En ik meen te mogen concluderen dat met of zonder randomize geen noemenswaardige verschillen oplevert voor de criteria van TS.

MAAR: het aantal gelijke resultaten is mét randomize opmerkelijk hoog waardoor we terug bij één van je eerste vaststellingen zijn terechtgekomen.
Grrr  >:( :'(
"De computer doet wel degelijk wat je hem vraagt,
 maar NIET wat je DENKT dat je hem vraagt"

Offline pitufo

  • Excel-Expert
  • Ambassadeur
  • *****
  • Berichten: 1.143
  • Geslacht: Man
Re: Lotto trekking , is random ècht random ?
« Reactie #37 Gepost op: 13 juli 2020, 15:41:22 »
En we vervolgen: "randomize" stond in alles wat ik zag voorbijkomen binnen de loop.
Ik herinner mij uit de periode toen Windows nog moest uitgevonden dat ik die vóór de loop zette (ja ja: Basic), maar had dit hier nog niet geprobeerd omdat we (misschien met zijn allen) verwachten dat het erbinnen nóg beter zou gaan.

Dus toch maar eens erbuiten gezet, en dat is veel beter. Blijft nog de vraag: hebben we 'randomize' dan wel nodig? Maar dat horen we nu eenmaal overal en altijd...

En wat levert Google vervolgens op (tip: met Engelstalige zoektermen kom je dikwijls verder):
https://www.mrexcel.com/board/threads/rnd-not-truly-random.747715/

In #4 staat daar een interessante passage:
Static AlreadyRandomized As Boolean
If Not AlreadyRandomized Then
  AlreadyRandomized = True
  Randomize
End If
met als uitleg:
"The reason for the above suggestion is that the Randomize statement should only be run once per session... to do otherwise actually limits the number of random values the Rnd function can return."

Waar die wijsheid vandaan komt hoeven we misschien zelfs niet te weten. Gewoon proberen zeker?
"De computer doet wel degelijk wat je hem vraagt,
 maar NIET wat je DENKT dat je hem vraagt"

Offline RedHead

  • Excel-Expert
  • Ambassadeur
  • *****
  • Berichten: 1.977
  • Geslacht: Man
  • Met Excel lukt 't wel.... (toch???)
Re: Lotto trekking , is random ècht random ?
« Reactie #38 Gepost op: 13 juli 2020, 16:18:53 »
...dat ik die vóór de loop zette...

Ik heb de voorbeelden in de snelheid niet bekeken, maar dát is óók wat ik ooit heb geleerd. Het "randomize" plaats je helemaal bovenaan je procedure bij de DIM statements. Daarmee run je 'm dus inderdaad 1x per aangeroepen procedure.
Het wordt nu bijna wel erg interessant om te weten wat er dan allemaal wordt "gestuurd" binnen de randomize opdracht. ;)
______________________________

Groet, Leo

Offline cow18

  • Excel-Expert
  • Volledig lid
  • *****
  • Berichten: 212
  • Geslacht: Man
  • Oplossing.be
Re: Lotto trekking , is random ècht random ?
« Reactie #39 Gepost op: 13 juli 2020, 17:35:43 »
zie https://docs.microsoft.com/en-us/office/vba/language/reference/user-interface-help/randomize-statement

nu wordt die randomize in het geval hoeveelheid=100.000, 100.000 keer aangeroepen binnen de 23 sec.
Vul je geen getal in na de randomize, dan gebruikt hij de timer-functie en dat is met 2 cijfers na de komma in seconde, dus honderdsten van seconde.
100.000/23/100 = binnen dezelfde timerwaarde wordt die randomize 43 keer getriggerd, van het goeie te veel.
Kijk je nu naar de resultaten, de gevonden combinaties, dan vind je daar meer dan de helft dubbels, drievouden, ... terug, hij herhaalt zich tot in den treure.

Doe nu een keer een aanpassing aan die randomize
- ofwel gooi je er hem helemaal uit
- ofwel maak je er "randomize trekking" van. In dat laatste geval wordt de randomize iedere trekking van een nieuwe "seed" voorzien.
- ofwel om iedere 10de van een sec te triggeren  Tijd = Int(Timer * 10): If Tijd <> tVorig Then Randomize: tVorig = Tijd
   
Gevolg : het aantal dubbels op 100.000 records zakt van de helft naar de logische 614/100.000

Een voorkeur, ik zou de 1e of 2e optie nemen.

« Laatst bewerkt op: 13 juli 2020, 17:40:45 door cow18 »

Offline Montagnard

  • Oplosser
  • ****
  • Berichten: 521
  • Geslacht: Man
  • To Windows or not to Windows , that's the question
Re: Lotto trekking , is random ècht random ?
« Reactie #40 Gepost op: 13 juli 2020, 18:55:23 »
Kijk je nu naar de resultaten, de gevonden combinaties, dan vind je daar meer dan de helft dubbels, drievouden, ... terug, hij herhaalt zich tot in den treure.

awel , toen ik de 1ste keer een test deed naar 650 trekkingen had ik dit gedaan in mijn Excel bestand dat ik in het begin heb meegestuurd ( de layout trok op niks maar het werkte wel) en jawel , ook ik kreeg enorm veel dubbele trekkingen , durf zeggen mèèr dan 75% !

toen heb ik mijn code voor een Quick Pick in een NIEUW Excel blad laten draaien , zonder franjes , opmaak of ander code , ènkel de module voor een Quick Pick en dan had ik het fenomeen NIET ?

en verder blijf ik hier alles volgen , wordt interessanter en interessanter....misschien heb ik toch wel een heel klein beetje gelijk ?  ;D

Mvg,
Arnold.

Offline pitufo

  • Excel-Expert
  • Ambassadeur
  • *****
  • Berichten: 1.143
  • Geslacht: Man
Re: Lotto trekking , is random ècht random ?
« Reactie #41 Gepost op: 15 juli 2020, 09:58:24 »
Hallo Arnold,

Na mijn vorige post ben ik dringend opgeroepen voor een 'vba-interventie' waar zo'n anderhalve dag werk in is gekropen.
Maar hier ben ik dus weer, en ik heb er geen enkele moeite mee om toe te geven dat je inderdaad een beetje gelijk had.
Met als enige bedenking erbij: voordien had ik al ettelijke tests gedaan met je eerste bijlage en daar nochtans nooit een speciaal patroon in gevonden, maar bij merkelijk meer trekkingen is dat er duidelijk wel, namelijk veel te veel dubbels.
En zoals eerder vastgesteld ligt dat inderdaad aan 'randomize' die binnen de loop staat.

Ook @ cow18:
je 3 opties eens bekeken, en wat ik mij afvraag is: zou je met wat we ondertussen weten optie 4 niet overwegen?
We dienen 'randomize' te lezen als een initialisatie voor 'rnd', dus waarom dat meermaals doen?
In optie 2 en 3 omzeil je het feit dat die geregeld op hetzelfde startpunt komt, maar dan blijf je Excel zonder reden aan het werk zetten (zal uiteraard niet opvallen om 14 x 6 getallen te kiezen).
Optie 1 lijkt dan (herinner je de 1 miljoen trekkingen uit je vorige studies) beter, maar dan moet je volgend testje eens doen.

In bijgevoegd bestandje staan 2 héél korte macro's.
De test gaat als volgt:
1. Voer de bovenste macro uit.
2. Sla het bestand op, sluit het en open het terug.
3. Voer opnieuw de bovenste macro uit.
4. Herhaal punten 1 tot 3 met de onderste macro.

Voor mezelf is het een uitgemaakte zaak: 'randomize' gaat weg uit de loop maar moet wel in de procedure staan, en zonder meer vooraan.

Arnold,
In jouw CommandButton3_Click zou de meest logische plaats dan zijn onmiddellijk onder "If response = vbYes Then".
Nog veel lotto-plezier!

Groeten,
pitufo
"De computer doet wel degelijk wat je hem vraagt,
 maar NIET wat je DENKT dat je hem vraagt"

Offline Montagnard

  • Oplosser
  • ****
  • Berichten: 521
  • Geslacht: Man
  • To Windows or not to Windows , that's the question
Re: Lotto trekking , is random ècht random ?
« Reactie #42 Gepost op: 15 juli 2020, 10:49:49 »
euh....ik weet niet of ik misschien iets fout doe maar de resultaten blijven gelijk.
wat ik wel heb opgemerkt is dat blijkbaar de 2 macro's identiek zijn ?

Mvg,
Arnold.

ondertussen ben ikzelf al aardig aan de slag gegaan met een andere benadering , maar ben er nog aan bezig , heb een hardnekkig probleem dat ik nu eesn graag zelf zou oplossen...

Offline cow18

  • Excel-Expert
  • Volledig lid
  • *****
  • Berichten: 212
  • Geslacht: Man
  • Oplossing.be
Re: Lotto trekking , is random ècht random ?
« Reactie #43 Gepost op: 15 juli 2020, 12:26:53 »
Mijn broek zakte zonet af, weer een illusie armer en een ontgoocheling rijker.

Als ik het goed begrijp is het net alsof excel ergens een vaste lijst (hoe diep ?) van willekeurige cijfers staan heeft.
Die wordt dan vermoedelijk, in geval je geen randomize gebruikt, vanaf het openen van de file netjes van boven naar onder afgewerkt, vandaar dus diezelfde cijfers.

Je moet dus steeds die randomize 1 maal (en misschien maar 1 maal) per macro gebruiken om een willekeurig startpunt in die willekeurige maar vaste lijst te krijgen. Dus je "uitgemaakte zaak", zonder verdere uitleg van MO, is inderdaad uitgemaakt.

Toch wel een te gek concept !!!  :default_thumpdown:

Offline Montagnard

  • Oplosser
  • ****
  • Berichten: 521
  • Geslacht: Man
  • To Windows or not to Windows , that's the question
Re: Lotto trekking , is random ècht random ?
« Reactie #44 Gepost op: 15 juli 2020, 12:40:02 »
bon,
ondertussen al enkele uurtjes mee bezig geweest en een nieuwe "benadering" gedaan :

ik laat eerst 1000 rijen generen op blad "Lotto Random" , waarbij per 100 rijen een specifieke reeks nummers wordt aangeduid binnen de range 1 - 45 , zie telkens bij de code een "rem" met welke reeks.
ik laat dan deze 1000 rijen sorteren per rij van links naar rechts , ik leg subiet uit waarom.

ik laat dan zoals in mijn 1ste code random een aantal rijen trekken ( Hoeveel ) uit deze 1000 rijen .
deze rijen worden dan oplopend op kolom A gesorteerd , in kolom G kan ik (voorlopig) volgen welke rijen uit de 1000  rijen zijn random getrokken.

de reden van het sorteren : is veel makkelijker om een formulier in te vullen met kruisjes als je dit oplopend per vakje kan doen .

graag eens jullie mening over deze nieuwe "benadering" waarbij ik nu meer van die "abnormale" trekkingen kan generen....

Mvg,
Arnold.

 


www.combell.com