Register   Login Hledat:    OK  
 
MenuLeft.jpg
MenuRight.jpg
 
  Article Details
Programování jako nástroj porozumění matematice

Díl 3: Náhoda – Hod dvěma kostkami
Při hodu jednou kostkou je pravděpodobnost padnutí jakéhokoli čísla celkem zřejmá hodnota 1/6. Složitější případ nastává, pokud se zajímáme o stanovení pravděpodobnosti jednotlivých hodnot součtu čísel hozených současně dvěma kostkami.
Autor příspěvku: Mgr. Radek Vystavěl, Ph.D

 

Doplňkem článku jsou příklady, které naleznete Ke stažení

MATEMATIKA


Při hodu jednou kostkou je pravděpodobnost padnutí jakéhokoli čísla celkem zřejmá hodnota 1/6. Složitější případ nastává, pokud se zajímáme o stanovení pravděpodobnosti jednotlivých hodnot součtu čísel hozených současně dvěma kostkami.

Obvyklé řešení této úlohy vychází z počítání, kolika možnostmi lze realizovat příslušný součet (viz tabulka), a vede na známé trojúhelníkové rozdělení pravděpodobnosti.

Co když ale o tomto řešení bude nějaký student pochybovat? Co když si řekne, že třeba pro součet 4 se mají hody 13 a 31 počítat jako jedna možnost, ne jako dvě? Stanovme odpověď experimentem! Hodíme 36000× dvěma kostkami a uvidíme, jestli součet 2 padl přibližně 1000×, součet 3 přibližně 2000× atd. Pokud ano, naše řešení je zřejmě správné, pokud ne, budeme jej muset přehodnotit. Experiment poskytne pádný argument pro to, kde leží pravda.
Koncepční otázky programu
Náš program bude jednoduchým rozšířením programu z předchozího dílu seriálu. Namísto jednoho náhodného čísla vygenerujeme dvě, sečteme je a teprve součet bude sloužit jako index do pole počitadel.
Technické otázky na platformě .NET/C#
Po technické stránce musíme dát pozor na jedinou věc, a to, abychom čísla obou kostek vygenerovali z téže instance generátoru. Dvakrát tedy zavoláme náhoda.Next:

Při vytvoření dvou instancí prakticky v tomtéž časovém okamžiku by oba generátory využily totéž výchozí náhodné číslo a celou dobu by pracovaly synchronně – na obou kostkách by padala stejná čísla!
Pokud byste z motivačních důvodů přeci jen dva generátory vyžadovali, bylo by nutno alespoň jeden z nich inicializovat ručně pomocí jednoparametrického konstruktoru:

 

V odkazu najdete také kompletní projekt pro Visual C#. Spustitelný .EXE soubor z podsložky bin/debug využijete i v případě, že toto vývojové prostředí na svém počítači nemáte. K běhu zmíněného .EXE souboru je na cílovém počítači zapotřebí přítomnost .NET Framework 3.5 (pokud není u vás nainstalován, stáhněte si jej zdarma ze stránek společnosti Microsoft).
Kam dál v .NET/C#
Můžete si vyzkoušet, že dvě instance třídy Random automaticky inicializované prakticky v tomtéž časovém okamžiku pracují synchronně a pro úlohu z tohoto dílu seriálu jsou tudíž nepoužitelné. Jaká by v takovém případě byla tabulka pravděpodobností?
Důsledky mimo matematiku
Součet čísel hozených na dvou kostkách se mj. využívá ve hře Osadníci z Katanu. V této hře je v zásadě nejvýhodnější budovat vesnice a města v okolí těch dílů krajiny, které přinášejí výnosy, padne-li součet 6 nebo 8 (součet 7 je vyhrazen pro zloděje), jelikož tyto součty jsou nejpravděpodobnější.


Written By: Chytil
Date Posted: 4/19/2009
Number of Views: 1481

Return
 
  
 
FooterLeft.jpg
FooterLogoMS.jpg © 2011 Microsoft Corporation. All rights reserved. This site is hosted for Microsoft by Emwac.   
Terms Of Use   Privacy Statement
 
FooterRight.jpg