Nopat GeoGebralla – yksi noppa

Tässä ja muutamassa tulevassa tarinassa kerron, miten GeoGebralla voi simuloida nopanheittoa. Tutkitaan ensin yhden nopan heittoa, tulevissa artikkeleissa tutkitaan kahden ja useamman nopan heiton summan todennäköisyysjakaumaa simuloimalla ja laskemalla.

Heitetään yhtä noppaa n kertaa. Tuotetaan frekvenssijakauma. Kirjoita kaikki komennot Syöttökenttään, näin saat vikkelämmän sovelluksen kuin CASia käytettäessä.

Luo muuttuja n ja tee siitä liuku

n = 100

Arvo nopat

nopat = Jono(Satunnaisluku(1, 6), nn, 1, n)

Tuota jakauman reunat

reunat = Jono(0.5, 6.5, 1)

Laske jakauma. Frekvenssikomento laskee nopan arvojen lukumäärän ja tuottaa listan, jossa ensimmäisenä on ykkösten lukumäärä, sitten kakkosten jne. Kun listan jakaa n:llä, niin saadaan suoraan lista, jossa on arvojen suhteelliset osuudet.

arvot = Frekvenssi(nopat) / n

Tee histogrammi

histo = Histogrammi(reunat, arvot)

Piirrä teoreettinen arvo eli ⅙.

y = 1/6

Säädä piirtoalue nätiksi.

Toinen tapa tuottaa kuvaaja koordinaatistoon olisi ollut käyttää Pylväskaavio( Raakadatalista, Palkin leveys, Pystysuora skaalaustekijä (valinnainen)) – komentoa suoraan tuohon nopat dataan.

pylväs = Pylväskaavio(nopat, 1, 1 / n)

Esimerkkitiedosto GeoGebra-materiaaleissa: https://www.geogebra.org/m/e76b2rbr

Viiden nopan summajakauma GeoGebralla

Tässä video miten tuon voi tuottaa GeoGebralla. Lähipäivinä kirjoitan tästä artikkelin tänne blogiini. Tämä on minusta aika ihmeellinen asia. Tosin kertovathan binomikertoimet kombinaatioiden lukumäärän.

Kolme noppaa ja Zip-komento

Millä todennäköisyydellä kolmea noppaa heitettäessä saadaan summaksi 10? Havainnollistetaan tilannetta kolmiulotteisesti käyttämällä GeoGebran listoihin liittyviä komentoja. Teen sovellukseni GeoGebra 5:llä ja komennot kirjoitan Syöttökenttään.

Luodaan ensin kaikki tulosvaihtoehdot pisteiksi kolmiulotteiseen koordinaatistoon käyttämällä kolmea sisäkkäistä Jono-komentoa. Jos tämän kirjoittaa käsin, niin kannattaa ensin kirjoittaa

Jono( <Lauseke>, <Muuttuja>, <Alkuarvo>, <Loppuarvo> )

ja sen jälkeen <Lauseke> korvata uudella Jono-komennolla tyyliin

Jono( Jono( <Lauseke>, <Muuttuja>, <Alkuarvo>, <Loppuarvo> ),<Muuttuja>, <Alkuarvo>, <Loppuarvo> )

ja sen jälkeen vielä kerran samalla tavalla

Jono( Jono( Jono( <Lauseke>, <Muuttuja>, <Alkuarvo>, <Loppuarvo> ), <Muuttuja>, <Alkuarvo>, <Loppuarvo> ), <Muuttuja>, <Alkuarvo>, <Loppuarvo> )

Lopuksi täytetään muut muuttujien kohdat ja annetaan lista nimeksi pisteet. Lopullinen komento on

pisteet = Jono(Jono(Jono((aa, bb, cc), aa, 1, 6), bb, 1, 6), cc, 1, 6)

Komento tuottaa kuusi listaa, jossa on kaikki 6·6·6 = 216 pistettä.

pisteet = {{{(1, 1, 1), (2, 1, 1), (3, 1, 1), (4, 1, 1), (5, 1, 1), (6, 1, 1)}, {(1, 2, 1), (2, 2, 1), (3, 2, 1), (4, 2, 1), (5, 2, 1), (6, 2, 1)}, {(1, 3, 1), (2, 3, 1), (3, 3, 1), (4, 3, 1), (5, 3, 1), (6, 3, 1)}, {(1, 4, 1), (2, 4, 1), (3, 4, 1), (4, 4, 1), (5, 4, 1), (6, 4, 1)}, {(1, 5, 1), (2, 5, 1), (3, 5, 1), (4, 5, 1), (5, 5, 1), (6, 5, 1)}, {(1, 6, 1), (2, 6, 1), (3, 6, 1), (4, 6, 1), (5, 6, 1), (6, 6, 1)}}, {{(1, 1, 2), (2, 1, 2), (3, 1, 2), (4, 1, 2), (5, 1, 2), (6, 1, 2)}, {(1, 2, 2), (2, 2, 2), (3, 2, 2), (4, 2, 2), (5, 2, 2), (6, 2, 2)}, {(1, 3, 2), (2, 3, 2), (3, 3, 2), (4, 3, 2), (5, 3, 2), (6, 3, 2)}, {(1, 4, 2), (2, 4, 2), (3, 4, 2), (4, 4, 2), (5, 4, 2), (6, 4, 2)}, {(1, 5, 2), (2, 5, 2), (3, 5, 2), (4, 5, 2), (5, 5, 2), (6, 5, 2)}, {(1, 6, 2), (2, 6, 2), (3, 6, 2), (4, 6, 2), (5, 6, 2), (6, 6, 2)}}, {{(1, 1, 3), (2, 1, 3), (3, 1, 3), (4, 1, 3), (5, 1, 3), (6, 1, 3)}, {(1, 2, 3), (2, 2, 3), (3, 2, 3), (4, 2, 3), (5, 2, 3), (6, 2, 3)}, {(1, 3, 3), (2, 3, 3), (3, 3, 3), (4, 3, 3), (5, 3, 3), (6, 3, 3)}, {(1, 4, 3), (2, 4, 3), (3, 4, 3), (4, 4, 3), (5, 4, 3), (6, 4, 3)}, {(1, 5, 3), (2, 5, 3), (3, 5, 3), (4, 5, 3), (5, 5, 3), (6, 5, 3)}, {(1, 6, 3), (2, 6, 3), (3, 6, 3), (4, 6, 3), (5, 6, 3), (6, 6, 3)}}, {{(1, 1, 4), (2, 1, 4), (3, 1, 4), (4, 1, 4), (5, 1, 4), (6, 1, 4)}, {(1, 2, 4), (2, 2, 4), (3, 2, 4), (4, 2, 4), (5, 2, 4), (6, 2, 4)}, {(1, 3, 4), (2, 3, 4), (3, 3, 4), (4, 3, 4), (5, 3, 4), (6, 3, 4)}, {(1, 4, 4), (2, 4, 4), (3, 4, 4), (4, 4, 4), (5, 4, 4), (6, 4, 4)}, {(1, 5, 4), (2, 5, 4), (3, 5, 4), (4, 5, 4), (5, 5, 4), (6, 5, 4)}, {(1, 6, 4), (2, 6, 4), (3, 6, 4), (4, 6, 4), (5, 6, 4), (6, 6, 4)}}, {{(1, 1, 5), (2, 1, 5), (3, 1, 5), (4, 1, 5), (5, 1, 5), (6, 1, 5)}, {(1, 2, 5), (2, 2, 5), (3, 2, 5), (4, 2, 5), (5, 2, 5), (6, 2, 5)}, {(1, 3, 5), (2, 3, 5), (3, 3, 5), (4, 3, 5), (5, 3, 5), (6, 3, 5)}, {(1, 4, 5), (2, 4, 5), (3, 4, 5), (4, 4, 5), (5, 4, 5), (6, 4, 5)}, {(1, 5, 5), (2, 5, 5), (3, 5, 5), (4, 5, 5), (5, 5, 5), (6, 5, 5)}, {(1, 6, 5), (2, 6, 5), (3, 6, 5), (4, 6, 5), (5, 6, 5), (6, 6, 5)}}, {{(1, 1, 6), (2, 1, 6), (3, 1, 6), (4, 1, 6), (5, 1, 6), (6, 1, 6)}, {(1, 2, 6), (2, 2, 6), (3, 2, 6), (4, 2, 6), (5, 2, 6), (6, 2, 6)}, {(1, 3, 6), (2, 3, 6), (3, 3, 6), (4, 3, 6), (5, 3, 6), (6, 3, 6)}, {(1, 4, 6), (2, 4, 6), (3, 4, 6), (4, 4, 6), (5, 4, 6), (6, 4, 6)}, {(1, 5, 6), (2, 5, 6), (3, 5, 6), (4, 5, 6), (5, 5, 6), (6, 5, 6)}, {(1, 6, 6), (2, 6, 6), (3, 6, 6), (4, 6, 6), (5, 6, 6), (6, 6, 6)}}} 

Paremman havainnollistuksen saa, kun katsoo listaa CAS-ikkunassa.

3D-piirtoalueella lista pisteet näyttää tältä.

Listan pisteet pituus on kuusi. Luodaan yksi lista, jossa pisteet ovat peräkkäin listana käyttämällä Tiivistä-komentoa. Se ikään kuin poistaa ylimääräiset sulkeet eli tässä tapauksessa turhat listat.

kaikki = Tiivistä(pisteet)
kaikki = {(1, 1, 1), (2, 1, 1), (3, 1, 1), (4, 1, 1), (5, 1, 1), (6, 1, 1), (1, 2, 1), (2, 2, 1), (3, 2, 1), (4, 2, 1), (5, 2, 1), (6, 2, 1), (1, 3, 1), (2, 3, 1), (3, 3, 1), (4, 3, 1), (5, 3, 1), (6, 3, 1), (1, 4, 1), (2, 4, 1), (3, 4, 1), (4, 4, 1), (5, 4, 1), (6, 4, 1), (1, 5, 1), (2, 5, 1), (3, 5, 1), (4, 5, 1), (5, 5, 1), (6, 5, 1), (1, 6, 1), (2, 6, 1), (3, 6, 1), (4, 6, 1), (5, 6, 1), (6, 6, 1), (1, 1, 2), (2, 1, 2), (3, 1, 2), (4, 1, 2), (5, 1, 2), (6, 1, 2), (1, 2, 2), (2, 2, 2), (3, 2, 2), (4, 2, 2), (5, 2, 2), (6, 2, 2), (1, 3, 2), (2, 3, 2), (3, 3, 2), (4, 3, 2), (5, 3, 2), (6, 3, 2), (1, 4, 2), (2, 4, 2), (3, 4, 2), (4, 4, 2), (5, 4, 2), (6, 4, 2), (1, 5, 2), (2, 5, 2), (3, 5, 2), (4, 5, 2), (5, 5, 2), (6, 5, 2), (1, 6, 2), (2, 6, 2), (3, 6, 2), (4, 6, 2), (5, 6, 2), (6, 6, 2), (1, 1, 3), (2, 1, 3), (3, 1, 3), (4, 1, 3), (5, 1, 3), (6, 1, 3), (1, 2, 3), (2, 2, 3), (3, 2, 3), (4, 2, 3), (5, 2, 3), (6, 2, 3), (1, 3, 3), (2, 3, 3), (3, 3, 3), (4, 3, 3), (5, 3, 3), (6, 3, 3), (1, 4, 3), (2, 4, 3), (3, 4, 3), (4, 4, 3), (5, 4, 3), (6, 4, 3), (1, 5, 3), (2, 5, 3), (3, 5, 3), (4, 5, 3), (5, 5, 3), (6, 5, 3), (1, 6, 3), (2, 6, 3), (3, 6, 3), (4, 6, 3), (5, 6, 3), (6, 6, 3), (1, 1, 4), (2, 1, 4), (3, 1, 4), (4, 1, 4), (5, 1, 4), (6, 1, 4), (1, 2, 4), (2, 2, 4), (3, 2, 4), (4, 2, 4), (5, 2, 4), (6, 2, 4), (1, 3, 4), (2, 3, 4), (3, 3, 4), (4, 3, 4), (5, 3, 4), (6, 3, 4), (1, 4, 4), (2, 4, 4), (3, 4, 4), (4, 4, 4), (5, 4, 4), (6, 4, 4), (1, 5, 4), (2, 5, 4), (3, 5, 4), (4, 5, 4), (5, 5, 4), (6, 5, 4), (1, 6, 4), (2, 6, 4), (3, 6, 4), (4, 6, 4), (5, 6, 4), (6, 6, 4), (1, 1, 5), (2, 1, 5), (3, 1, 5), (4, 1, 5), (5, 1, 5), (6, 1, 5), (1, 2, 5), (2, 2, 5), (3, 2, 5), (4, 2, 5), (5, 2, 5), (6, 2, 5), (1, 3, 5), (2, 3, 5), (3, 3, 5), (4, 3, 5), (5, 3, 5), (6, 3, 5), (1, 4, 5), (2, 4, 5), (3, 4, 5), (4, 4, 5), (5, 4, 5), (6, 4, 5), (1, 5, 5), (2, 5, 5), (3, 5, 5), (4, 5, 5), (5, 5, 5), (6, 5, 5), (1, 6, 5), (2, 6, 5), (3, 6, 5), (4, 6, 5), (5, 6, 5), (6, 6, 5), (1, 1, 6), (2, 1, 6), (3, 1, 6), (4, 1, 6), (5, 1, 6), (6, 1, 6), (1, 2, 6), (2, 2, 6), (3, 2, 6), (4, 2, 6), (5, 2, 6), (6, 2, 6), (1, 3, 6), (2, 3, 6), (3, 3, 6), (4, 3, 6), (5, 3, 6), (6, 3, 6), (1, 4, 6), (2, 4, 6), (3, 4, 6), (4, 4, 6), (5, 4, 6), (6, 4, 6), (1, 5, 6), (2, 5, 6), (3, 5, 6), (4, 5, 6), (5, 5, 6), (6, 5, 6), (1, 6, 6), (2, 6, 6), (3, 6, 6), (4, 6, 6), (5, 6, 6), (6, 6, 6)}

Listan kaikki pituus on 216.

Jotta saamme ongelmastamme hieman yleisemmän, luodaan liuku n. siten, että se saa kokonaislukuarvoja välillä [1, …, 20]. Tuossa on pari ylimääräistä lukua, mutta ne toiminevat tarkastuksena, että menetemä on oikea. Kirjoitetaan syöttökenttään

n = 10

ja klikataan Algebra-ikkunassa sen vasemmalla puolella olevaan pallukkaan. Klikkaamalla liukua hiiren oikealla painikkeella saadaan ominaisuudet ja Liukusäädin ikkunassa:

Seuraavaksi selvitetään, millä kaikki-listan pistellä summa on yhtä suuri kuin n.

Tässäkin voisi käyttää sisäkkäisiä jono-komentoja, mutta ehkä tyylikkäämpää on käyttää Zip-komentoa. Komennon yleinen syntaksi on seuraava

Zip( <Lauseke>, <Muuttuja1>, <Lista1>, <Muuttuja2>, <Lista2>, ... )

Selvennetään Zip-komentoa esimerkillä. Jos lista A = {1, 2, 3} ja B = {4, 5, 6, 7}, niin komento

testi = Zip((a, b), a, A, b, B)

tuottaa listan 

testi = {(1, 4), (2, 5), (3, 6)} 

Komennossa a on listan A alkioihin liittyvä sisäinen muuttuja ja b liittyy B:n alkioihin. Tässä tapauksessa (a, b) tuottaa pisteitä siten, että ensin otetaan ensimmäinen alkio A:sta ja ensimmäinen B:stä eli (1, 4), sitten toiset alkiot eli (2, 5) ja sitten kolmannet (3, 6). Nyt kaikki A:n alkiot on käyty läpi ja ei tuoteta lisää pisteitä. Yleisesti tällä komennolla voidaan suorittaa komentoja useille listoille. Syntyvän listan pituuden määrittää lyhin lista. Itse käytän Zipiä useimmiten, kun haluan käydä yhden listan kaikki alkiot kerralla. 

Luodaan lista suotuisille tapauksille. Sisäinen muuttuja a käy läpi kaikki-listan alkiot. Jos-ehdon sisällä x(a) + y(a) + z(a) laskee a-pisteen koordinaattien summan.

suo = Zip(Jos(x(a) + y(a) + z(a) == n, a), a, kaikki)

tuottaa listan

suo = {(?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (6, 3, 1), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (5, 4, 1), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (4, 5, 1), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (3, 6, 1), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (6, 2, 2), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (5, 3, 2), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (4, 4, 2), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (3, 5, 2), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (2, 6, 2), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (6, 1, 3), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (5, 2, 3), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (4, 3, 3), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (3, 4, 3), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (2, 5, 3), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (1, 6, 3), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (5, 1, 4), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (4, 2, 4), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (3, 3, 4), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (2, 4, 4), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (1, 5, 4), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (4, 1, 5), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (3, 2, 5), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (2, 3, 5), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (1, 4, 5), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (3, 1, 6), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (2, 2, 6), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (1, 3, 6), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?)} 

Noista määrittelemättömistä pisteistä (?, ?, ?) pääsee eroon komenolla

suotuisat = PoistaMäärittelemätön(suo)
suotuisat = {(6, 3, 1), (5, 4, 1), (4, 5, 1), (3, 6, 1), (6, 2, 2), (5, 3, 2), (4, 4, 2), (3, 5, 2), (2, 6, 2), (6, 1, 3), (5, 2, 3), (4, 3, 3), (3, 4, 3), (2, 5, 3), (1, 6, 3), (5, 1, 4), (4, 2, 4), (3, 3, 4), (2, 4, 4), (1, 5, 4), (4, 1, 5), (3, 2, 5), (2, 3, 5), (1, 4, 5), (3, 1, 6), (2, 2, 6), (1, 3, 6)} 

Listan suotuisat pituus on 27, niinpä summan 10 todennäköisyys on 27/216 = 1/8.

Valmis appletti löytyy sivulta https://www.geogebra.org/m/rdhryznv