<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://www.simulace.info/index.php?action=history&amp;feed=atom&amp;title=Pseudorandom_number_generators%2Fcs</id>
	<title>Pseudorandom number generators/cs - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://www.simulace.info/index.php?action=history&amp;feed=atom&amp;title=Pseudorandom_number_generators%2Fcs"/>
	<link rel="alternate" type="text/html" href="http://www.simulace.info/index.php?title=Pseudorandom_number_generators/cs&amp;action=history"/>
	<updated>2026-07-28T04:04:50Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.31.1</generator>
	<entry>
		<id>http://www.simulace.info/index.php?title=Pseudorandom_number_generators/cs&amp;diff=18037&amp;oldid=prev</id>
		<title>Xkocj44 at 06:42, 30 May 2019</title>
		<link rel="alternate" type="text/html" href="http://www.simulace.info/index.php?title=Pseudorandom_number_generators/cs&amp;diff=18037&amp;oldid=prev"/>
		<updated>2019-05-30T06:42:53Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 06:42, 30 May 2019&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l51&quot; &gt;Line 51:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 51:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==MS Excel generátor pseudonáhodných čísel==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==MS Excel generátor pseudonáhodných čísel==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:Excel generator.PNG|thumb|left|Náhled možností generátoru v MS Excel]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:Excel generator.PNG|thumb|left|Náhled možností generátoru v MS Excel]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;RovnomerneRozdeleni&lt;/del&gt;.PNG|thumb|right|První graf rovnoměrného rozdělení hodnot od 1 do 100]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;RovnomerneRozdeleni1&lt;/ins&gt;.PNG|thumb|right|První graf rovnoměrného rozdělení hodnot od 1 do 100]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;RovnomerneRozdeleni&lt;/del&gt;.PNG|thumb|right|Druhý graf rovnoměrného rozdělení hodnot od 1 do 100]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;RovnomerneRozdeleni2&lt;/ins&gt;.PNG|thumb|right|Druhý graf rovnoměrného rozdělení hodnot od 1 do 100]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;RovnomerneRozdeleni&lt;/del&gt;.PNG|thumb|right|Třetí graf rovnoměrného rozdělení hodnot od 1 do 100]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;RovnomerneRozdeleni3&lt;/ins&gt;.PNG|thumb|right|Třetí graf rovnoměrného rozdělení hodnot od 1 do 100]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;MS Excel obsahuje v sobě zabudovaný též generátor pseudonáhodných čísel. Jak bylo zmíněno výše (viz [[Pseudorandom_number_generators/cs#Mersenne_Twister|Mersenne Twister]]), pracuje na principu MT19937, což znamená, že jeho periodicita je po &amp;lt;math&amp;gt;2^{19937}-1&amp;lt;/math&amp;gt; prvcích. Najdeme jej pod kartou ''Data'' a následně ''Analýza dat''. Jedná se o doplněk, který musí být dodatečně dodán. Po kliknutí vybereme ''Generátor pseudonáhodných čísel''. Následné okno je přizpůsobeno podle volby Typu rozložení. Co je ale společné, je počet proměnných (udává počet generovaných sloupců) a počet náhodných čísel (počet generovaných řádků). Pokud se pokusíme o rovnoměrné rozdělení, můžeme se podívat, jak tyto generátory fungují. Pro názornost byly vybrány 3 sloupce po 1000 čísel od 1 do 1000. Obrázky na pravé straně zachycují histogram z určitých intervalů. Můžeme vidět, že se algoritmus opravdu snaží o rovnoměrné rozmístění náhodných čísel. Jen tak pro zajímavost, směrodatné odchylky jsou pro první graf 28.72, pro druhý 28.08 a pro třetí 28.94. Vidíme tedy že [https://cs.wikipedia.org/wiki/Algoritmus algoritmus] se opravdu držel nízké odchylky, přičemž ve druhé posloupnosti se mu to dařilo nejlépe a v poslední nejhůře. U třetího totiž upřednostňoval více čísla z inervalu 1-11.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;MS Excel obsahuje v sobě zabudovaný též generátor pseudonáhodných čísel. Jak bylo zmíněno výše (viz [[Pseudorandom_number_generators/cs#Mersenne_Twister|Mersenne Twister]]), pracuje na principu MT19937, což znamená, že jeho periodicita je po &amp;lt;math&amp;gt;2^{19937}-1&amp;lt;/math&amp;gt; prvcích. Najdeme jej pod kartou ''Data'' a následně ''Analýza dat''. Jedná se o doplněk, který musí být dodatečně dodán. Po kliknutí vybereme ''Generátor pseudonáhodných čísel''. Následné okno je přizpůsobeno podle volby Typu rozložení. Co je ale společné, je počet proměnných (udává počet generovaných sloupců) a počet náhodných čísel (počet generovaných řádků). Pokud se pokusíme o rovnoměrné rozdělení, můžeme se podívat, jak tyto generátory fungují. Pro názornost byly vybrány 3 sloupce po 1000 čísel od 1 do 1000. Obrázky na pravé straně zachycují histogram z určitých intervalů. Můžeme vidět, že se algoritmus opravdu snaží o rovnoměrné rozmístění náhodných čísel. Jen tak pro zajímavost, směrodatné odchylky jsou pro první graf 28.72, pro druhý 28.08 a pro třetí 28.94. Vidíme tedy že [https://cs.wikipedia.org/wiki/Algoritmus algoritmus] se opravdu držel nízké odchylky, přičemž ve druhé posloupnosti se mu to dařilo nejlépe a v poslední nejhůře. U třetího totiž upřednostňoval více čísla z inervalu 1-11.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Pokud vyzkoušíme generátor například [https://cs.wikipedia.org/wiki/Normální_rozdělení Normálního rozdělení], algoritmus opět hlídá rovnoměrnost dle nastavených parametrů. Opět ale každá řada vychází jinak.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Pokud vyzkoušíme generátor například [https://cs.wikipedia.org/wiki/Normální_rozdělení Normálního rozdělení], algoritmus opět hlídá rovnoměrnost dle nastavených parametrů. Opět ale každá řada vychází jinak.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key simulaceinfo_www:diff::1.12:old-18036:rev-18037 --&gt;
&lt;/table&gt;</summary>
		<author><name>Xkocj44</name></author>
		
	</entry>
	<entry>
		<id>http://www.simulace.info/index.php?title=Pseudorandom_number_generators/cs&amp;diff=18036&amp;oldid=prev</id>
		<title>Xkocj44 at 06:41, 30 May 2019</title>
		<link rel="alternate" type="text/html" href="http://www.simulace.info/index.php?title=Pseudorandom_number_generators/cs&amp;diff=18036&amp;oldid=prev"/>
		<updated>2019-05-30T06:41:32Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 06:41, 30 May 2019&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l51&quot; &gt;Line 51:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 51:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==MS Excel generátor pseudonáhodných čísel==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==MS Excel generátor pseudonáhodných čísel==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:Excel generator.PNG|thumb|left|Náhled možností generátoru v MS Excel]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:Excel generator.PNG|thumb|left|Náhled možností generátoru v MS Excel]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;RovnomerneRozdeleni1&lt;/del&gt;.PNG|thumb|right|První graf rovnoměrného rozdělení hodnot od 1 do 100]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;RovnomerneRozdeleni&lt;/ins&gt;.PNG|thumb|right|První graf rovnoměrného rozdělení hodnot od 1 do 100]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;RovnomerneRozdeleni2&lt;/del&gt;.PNG|thumb|right|Druhý graf rovnoměrného rozdělení hodnot od 1 do 100]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;RovnomerneRozdeleni&lt;/ins&gt;.PNG|thumb|right|Druhý graf rovnoměrného rozdělení hodnot od 1 do 100]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;RovnomerneRozdeleni3&lt;/del&gt;.PNG|thumb|right|Třetí graf rovnoměrného rozdělení hodnot od 1 do 100]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;RovnomerneRozdeleni&lt;/ins&gt;.PNG|thumb|right|Třetí graf rovnoměrného rozdělení hodnot od 1 do 100]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;MS Excel obsahuje v sobě zabudovaný též generátor pseudonáhodných čísel. Jak bylo zmíněno výše (viz [[Pseudorandom_number_generators/cs#Mersenne_Twister|Mersenne Twister]]), pracuje na principu MT19937, což znamená, že jeho periodicita je po &amp;lt;math&amp;gt;2^{19937}-1&amp;lt;/math&amp;gt; prvcích. Najdeme jej pod kartou ''Data'' a následně ''Analýza dat''. Jedná se o doplněk, který musí být dodatečně dodán. Po kliknutí vybereme ''Generátor pseudonáhodných čísel''. Následné okno je přizpůsobeno podle volby Typu rozložení. Co je ale společné, je počet proměnných (udává počet generovaných sloupců) a počet náhodných čísel (počet generovaných řádků). Pokud se pokusíme o rovnoměrné rozdělení, můžeme se podívat, jak tyto generátory fungují. Pro názornost byly vybrány 3 sloupce po 1000 čísel od 1 do 1000. Obrázky na pravé straně zachycují histogram z určitých intervalů. Můžeme vidět, že se algoritmus opravdu snaží o rovnoměrné rozmístění náhodných čísel. Jen tak pro zajímavost, směrodatné odchylky jsou pro první graf 28.72, pro druhý 28.08 a pro třetí 28.94. Vidíme tedy že [https://cs.wikipedia.org/wiki/Algoritmus algoritmus] se opravdu držel nízké odchylky, přičemž ve druhé posloupnosti se mu to dařilo nejlépe a v poslední nejhůře. U třetího totiž upřednostňoval více čísla z inervalu 1-11.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;MS Excel obsahuje v sobě zabudovaný též generátor pseudonáhodných čísel. Jak bylo zmíněno výše (viz [[Pseudorandom_number_generators/cs#Mersenne_Twister|Mersenne Twister]]), pracuje na principu MT19937, což znamená, že jeho periodicita je po &amp;lt;math&amp;gt;2^{19937}-1&amp;lt;/math&amp;gt; prvcích. Najdeme jej pod kartou ''Data'' a následně ''Analýza dat''. Jedná se o doplněk, který musí být dodatečně dodán. Po kliknutí vybereme ''Generátor pseudonáhodných čísel''. Následné okno je přizpůsobeno podle volby Typu rozložení. Co je ale společné, je počet proměnných (udává počet generovaných sloupců) a počet náhodných čísel (počet generovaných řádků). Pokud se pokusíme o rovnoměrné rozdělení, můžeme se podívat, jak tyto generátory fungují. Pro názornost byly vybrány 3 sloupce po 1000 čísel od 1 do 1000. Obrázky na pravé straně zachycují histogram z určitých intervalů. Můžeme vidět, že se algoritmus opravdu snaží o rovnoměrné rozmístění náhodných čísel. Jen tak pro zajímavost, směrodatné odchylky jsou pro první graf 28.72, pro druhý 28.08 a pro třetí 28.94. Vidíme tedy že [https://cs.wikipedia.org/wiki/Algoritmus algoritmus] se opravdu držel nízké odchylky, přičemž ve druhé posloupnosti se mu to dařilo nejlépe a v poslední nejhůře. U třetího totiž upřednostňoval více čísla z inervalu 1-11.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Pokud vyzkoušíme generátor například [https://cs.wikipedia.org/wiki/Normální_rozdělení Normálního rozdělení], algoritmus opět hlídá rovnoměrnost dle nastavených parametrů. Opět ale každá řada vychází jinak.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Pokud vyzkoušíme generátor například [https://cs.wikipedia.org/wiki/Normální_rozdělení Normálního rozdělení], algoritmus opět hlídá rovnoměrnost dle nastavených parametrů. Opět ale každá řada vychází jinak.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key simulaceinfo_www:diff::1.12:old-18031:rev-18036 --&gt;
&lt;/table&gt;</summary>
		<author><name>Xkocj44</name></author>
		
	</entry>
	<entry>
		<id>http://www.simulace.info/index.php?title=Pseudorandom_number_generators/cs&amp;diff=18031&amp;oldid=prev</id>
		<title>Xkocj44: Dodání reference k C#</title>
		<link rel="alternate" type="text/html" href="http://www.simulace.info/index.php?title=Pseudorandom_number_generators/cs&amp;diff=18031&amp;oldid=prev"/>
		<updated>2019-05-29T21:07:29Z</updated>

		<summary type="html">&lt;p&gt;Dodání reference k C#&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 21:07, 29 May 2019&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l70&quot; &gt;Line 70:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 70:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===C#===&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===C#===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Ve světě [https://cs.wikipedia.org/wiki/C_Sharp C#] existuje třída pro práci s pseudonáhodnými čísly &amp;lt;code&amp;gt;System.Random&amp;lt;/code&amp;gt;. Tato třída se inicializuje formou semínka seed (pokud není zadáno, použije se aktuální datum a čas). Dále pak obsahuje funkce &amp;lt;code&amp;gt;Next()&amp;lt;/code&amp;gt;, která vrátí další pseudonáhodné číslo, &amp;lt;code&amp;gt;Next(Int32)&amp;lt;/code&amp;gt;, vracející pseudonáhodná čísla menší než zadaný parametr a nakonec &amp;lt;code&amp;gt;Next(Int32,Int32)&amp;lt;/code&amp;gt; vracející čísla větší než první argument a menší než druhý argument. Generátor v jazyce C# se zdá být mnohem lepší než pro [https://cs.wikipedia.org/wiki/C_(programovací_jazyk) jazyk C], &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;ovšem problém &lt;/del&gt;nastává ve chvíli, kdy ve stejném cyklu pokaždé inicializujeme &amp;lt;code&amp;gt;Random&amp;lt;/code&amp;gt; a následně vygenerujeme další číslo. Protože cykly probíhají standardně velmi rychle, je semínko většinu cyklů stejné, a tak se může stát, že dostaneme více stejných čísel. Tomu se pochopitelně můžeme vyhnout tím, že &amp;lt;code&amp;gt;Random&amp;lt;/code&amp;gt; inicializujeme pouze jednou. Další problém nastává, pokud používáme více vláken &amp;lt;code&amp;gt;Thread&amp;lt;/code&amp;gt;. Zde se doporučuje, aby si každé vlákno inicializovalo svou instanci &amp;lt;code&amp;gt;Random&amp;lt;/code&amp;gt;. &amp;lt;ref name=&amp;quot;skeet&amp;quot;&amp;gt;SKEET, Jon. &amp;lt;i&amp;gt;Random numbers&amp;lt;/i&amp;gt; [online]. nedatováno [cit. 2019-05-29] Dostupné z: https://csharpindepth.com/articles/Random&amp;lt;/ref&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Ve světě [https://cs.wikipedia.org/wiki/C_Sharp C#] existuje třída pro práci s pseudonáhodnými čísly &amp;lt;code&amp;gt;System.Random&amp;lt;/code&amp;gt;. Tato třída se inicializuje formou semínka seed (pokud není zadáno, použije se aktuální datum a čas). Dále pak obsahuje funkce &amp;lt;code&amp;gt;Next()&amp;lt;/code&amp;gt;, která vrátí další pseudonáhodné číslo, &amp;lt;code&amp;gt;Next(Int32)&amp;lt;/code&amp;gt;, vracející pseudonáhodná čísla menší než zadaný parametr a nakonec &amp;lt;code&amp;gt;Next(Int32,Int32)&amp;lt;/code&amp;gt; vracející čísla větší než první argument a menší než druhý argument. Generátor v jazyce C# se zdá být mnohem lepší než pro [https://cs.wikipedia.org/wiki/C_(programovací_jazyk) jazyk C]&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;. Pracuje pomocí algoritmu&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;který založil [https://cs.wikipedia.org/wiki/Donald_Ervin_Knuth Donald E. Knuth]&amp;lt;ref name=&amp;quot;knuth&amp;quot;&amp;gt;Microsoft.com &amp;lt;i&amp;gt;Random Class (System) | Microsoft Docs&amp;lt;/i&amp;gt; [online]. ©2019 [cit. 2019-05-29] Dostupné z: https://docs.microsoft.com/cs-cz/dotnet/api/system.random?view=netframework-4.8&amp;lt;/ref&amp;gt;. Problém &lt;/ins&gt;nastává ve chvíli, kdy ve stejném cyklu pokaždé inicializujeme &amp;lt;code&amp;gt;Random&amp;lt;/code&amp;gt; a následně vygenerujeme další číslo. Protože cykly probíhají standardně velmi rychle, je semínko většinu cyklů stejné, a tak se může stát, že dostaneme více stejných čísel. Tomu se pochopitelně můžeme vyhnout tím, že &amp;lt;code&amp;gt;Random&amp;lt;/code&amp;gt; inicializujeme pouze jednou. Další problém nastává, pokud používáme více vláken &amp;lt;code&amp;gt;Thread&amp;lt;/code&amp;gt;. Zde se doporučuje, aby si každé vlákno inicializovalo svou instanci &amp;lt;code&amp;gt;Random&amp;lt;/code&amp;gt;. &amp;lt;ref name=&amp;quot;skeet&amp;quot;&amp;gt;SKEET, Jon. &amp;lt;i&amp;gt;Random numbers&amp;lt;/i&amp;gt; [online]. nedatováno [cit. 2019-05-29] Dostupné z: https://csharpindepth.com/articles/Random&amp;lt;/ref&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===Java===&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===Java===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key simulaceinfo_www:diff::1.12:old-18030:rev-18031 --&gt;
&lt;/table&gt;</summary>
		<author><name>Xkocj44</name></author>
		
	</entry>
	<entry>
		<id>http://www.simulace.info/index.php?title=Pseudorandom_number_generators/cs&amp;diff=18030&amp;oldid=prev</id>
		<title>Xkocj44: Doplnění externích odkazů</title>
		<link rel="alternate" type="text/html" href="http://www.simulace.info/index.php?title=Pseudorandom_number_generators/cs&amp;diff=18030&amp;oldid=prev"/>
		<updated>2019-05-29T20:05:18Z</updated>

		<summary type="html">&lt;p&gt;Doplnění externích odkazů&lt;/p&gt;
&lt;a href=&quot;http://www.simulace.info/index.php?title=Pseudorandom_number_generators/cs&amp;amp;diff=18030&amp;amp;oldid=18029&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>Xkocj44</name></author>
		
	</entry>
	<entry>
		<id>http://www.simulace.info/index.php?title=Pseudorandom_number_generators/cs&amp;diff=18029&amp;oldid=prev</id>
		<title>Xkocj44 at 18:38, 29 May 2019</title>
		<link rel="alternate" type="text/html" href="http://www.simulace.info/index.php?title=Pseudorandom_number_generators/cs&amp;diff=18029&amp;oldid=prev"/>
		<updated>2019-05-29T18:38:59Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 18:38, 29 May 2019&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l33&quot; &gt;Line 33:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 33:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Tyto generátory nachází své uplatnění v místech, kde jistá pravidelnost není na obtíž nebo kde je potřeba se k vygenerované sekvenci dostat vícekrát. Své uplatnění najdou například v přehrávačích hudby, kde je zapnuta funkce náhodného výběru další skladby. Dále pak také v simulacích či modelování.&amp;lt;ref name=&amp;quot;bashar&amp;quot;&amp;gt;BASHAR. &amp;lt;i&amp;gt;Náhodné jevy&amp;lt;/i&amp;gt; [online]. 2001 [cit. 2019-05-29] Dostupné z: http://www.karlin.mff.cuni.cz/~holub/soubory/qc/node26.html&amp;lt;/ref&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Tyto generátory nachází své uplatnění v místech, kde jistá pravidelnost není na obtíž nebo kde je potřeba se k vygenerované sekvenci dostat vícekrát. Své uplatnění najdou například v přehrávačích hudby, kde je zapnuta funkce náhodného výběru další skladby. Dále pak také v simulacích či modelování.&amp;lt;ref name=&amp;quot;bashar&amp;quot;&amp;gt;BASHAR. &amp;lt;i&amp;gt;Náhodné jevy&amp;lt;/i&amp;gt; [online]. 2001 [cit. 2019-05-29] Dostupné z: http://www.karlin.mff.cuni.cz/~holub/soubory/qc/node26.html&amp;lt;/ref&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=Lineární kongruentní generátor=&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;=&lt;/ins&gt;=Lineární kongruentní generátor&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;=&lt;/ins&gt;=&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Lineární kongruentní generátor je jedním z nejstarších a dle (Dorda, nedatováno) také nejrozšířenější z generátorů pseudonáhodných čísel. Každý další prvek je spočítán pomocí funkce &amp;lt;math&amp;gt;x_{n+1}=(l\times x_n+m)\bmod{M}&amp;lt;/math&amp;gt;, přičemž &amp;lt;math&amp;gt;M&amp;lt;/math&amp;gt; je horní mez velikosti prvků, která má funkci modulo neboli zbytek po dělení číslem &amp;lt;math&amp;gt;M&amp;lt;/math&amp;gt;. Pokud je například &amp;lt;math&amp;gt;M=10&amp;lt;/math&amp;gt;, pak nejvyšší náhodné číslo bude 9.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Lineární kongruentní generátor je jedním z nejstarších a dle (Dorda, nedatováno) také nejrozšířenější z generátorů pseudonáhodných čísel. Každý další prvek je spočítán pomocí funkce &amp;lt;math&amp;gt;x_{n+1}=(l\times x_n+m)\bmod{M}&amp;lt;/math&amp;gt;, přičemž &amp;lt;math&amp;gt;M&amp;lt;/math&amp;gt; je horní mez velikosti prvků, která má funkci modulo neboli zbytek po dělení číslem &amp;lt;math&amp;gt;M&amp;lt;/math&amp;gt;. Pokud je například &amp;lt;math&amp;gt;M=10&amp;lt;/math&amp;gt;, pak nejvyšší náhodné číslo bude 9.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Pokud kupříkladu zvolíme &amp;lt;math&amp;gt;M&amp;lt;/math&amp;gt; rovno 27, &amp;lt;math&amp;gt;l&amp;lt;/math&amp;gt; rovno 5, &amp;lt;math&amp;gt;m&amp;lt;/math&amp;gt; rovno 9 a první prvek (seed) zvolíme 8, pak další čísla dle výše uvedeného vztahu budou 22, 11, 10, 5, 7, 17 atd. U 19. prvku ovšem dostáváme opět 8, 22, 11 a řada se celá opakuje. Nevhodnou volbou parametrů se může stát, že bude opakování častější.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Pokud kupříkladu zvolíme &amp;lt;math&amp;gt;M&amp;lt;/math&amp;gt; rovno 27, &amp;lt;math&amp;gt;l&amp;lt;/math&amp;gt; rovno 5, &amp;lt;math&amp;gt;m&amp;lt;/math&amp;gt; rovno 9 a první prvek (seed) zvolíme 8, pak další čísla dle výše uvedeného vztahu budou 22, 11, 10, 5, 7, 17 atd. U 19. prvku ovšem dostáváme opět 8, 22, 11 a řada se celá opakuje. Nevhodnou volbou parametrů se může stát, že bude opakování častější.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l54&quot; &gt;Line 54:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 54:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:RovnomerneRozdeleni2.PNG|thumb|right|Druhý graf rovnoměrného rozdělení hodnot od 1 do 100]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:RovnomerneRozdeleni2.PNG|thumb|right|Druhý graf rovnoměrného rozdělení hodnot od 1 do 100]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:RovnomerneRozdeleni3.PNG|thumb|right|Třetí graf rovnoměrného rozdělení hodnot od 1 do 100]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:RovnomerneRozdeleni3.PNG|thumb|right|Třetí graf rovnoměrného rozdělení hodnot od 1 do 100]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;MS Excel obsahuje v sobě zabudovaný též generátor pseudonáhodných čísel. Jak bylo zmíněno výše (viz &lt;del class=&quot;diffchange diffchange-inline&quot;&gt; Mersenne Twister&lt;/del&gt;), pracuje na principu MT19937, což znamená, že jeho periodicita je po 2^19937-1 prvcích. Najdeme jej pod kartou Data a následně Analýza dat. Jedná se o doplněk, který musí být dodatečně dodán. Po kliknutí vybereme Generátor pseudonáhodných čísel. Následné okno je přizpůsobeno podle volby Typu rozložení. Co je ale společné, je počet proměnných (udává počet generovaných sloupců) a počet náhodných čísel (počet generovaných řádků). Pokud se pokusíme o rovnoměrné rozdělení, můžeme se podívat, jak tyto generátory fungují. Pro názornost byly vybrány 3 sloupce po 1000 čísel od 1 do 1000. Obrázky na pravé straně zachycují histogram z určitých intervalů. Můžeme vidět, že se algoritmus opravdu snaží o rovnoměrné rozmístění náhodných čísel. Jen tak pro zajímavost, směrodatné odchylky jsou pro první graf 28.72, pro druhý 28.08 a pro třetí 28.94. Vidíme tedy že algoritmus se opravdu držel nízké odchylky, přičemž ve druhé posloupnosti se mu to dařilo nejlépe a v poslední nejhůře. U třetího totiž upřednostňoval více čísla z inervalu 1-11.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;MS Excel obsahuje v sobě zabudovaný též generátor pseudonáhodných čísel. Jak bylo zmíněno výše (viz &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;[http://www.simulace.info/index.php/Pseudorandom_number_generators/cs#Mersenne_Twister Mersenne_Twister]&lt;/ins&gt;), pracuje na principu MT19937, což znamená, že jeho periodicita je po 2^19937-1 prvcích. Najdeme jej pod kartou Data a následně Analýza dat. Jedná se o doplněk, který musí být dodatečně dodán. Po kliknutí vybereme Generátor pseudonáhodných čísel. Následné okno je přizpůsobeno podle volby Typu rozložení. Co je ale společné, je počet proměnných (udává počet generovaných sloupců) a počet náhodných čísel (počet generovaných řádků). Pokud se pokusíme o rovnoměrné rozdělení, můžeme se podívat, jak tyto generátory fungují. Pro názornost byly vybrány 3 sloupce po 1000 čísel od 1 do 1000. Obrázky na pravé straně zachycují histogram z určitých intervalů. Můžeme vidět, že se algoritmus opravdu snaží o rovnoměrné rozmístění náhodných čísel. Jen tak pro zajímavost, směrodatné odchylky jsou pro první graf 28.72, pro druhý 28.08 a pro třetí 28.94. Vidíme tedy že algoritmus se opravdu držel nízké odchylky, přičemž ve druhé posloupnosti se mu to dařilo nejlépe a v poslední nejhůře. U třetího totiž upřednostňoval více čísla z inervalu 1-11.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Pokud vyzkoušíme generátor například Normálního rozdělení, algoritmus opět hlídá rovnoměrnost dle nastavených parametrů. Opět ale každá řada vychází jinak.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Pokud vyzkoušíme generátor například Normálního rozdělení, algoritmus opět hlídá rovnoměrnost dle nastavených parametrů. Opět ale každá řada vychází jinak.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Narážíme zde na zmíněnou výhodu a nevýhodu zároveň, a sice opakovatelnost pseudonáhodných posloupností. Ať se mohou vygenerovaná čísla jevit jakkoliv náhodná, byla vypočítána algoritmem. Klíčové políčko je v nastavení generátoru Základ generátoru (neboli seed). Pokud vygenerujeme posloupnost např. 1000 čísel od 1 do 100 a zadáme základ například 3, při každém dalším pokusu se stejnými parametry a hlavně základem dostáváme opět tutéž samou posloupnost čísel. To je v různých oborech žádoucí a v jiných nikoliv.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Narážíme zde na zmíněnou výhodu a nevýhodu zároveň, a sice opakovatelnost pseudonáhodných posloupností. Ať se mohou vygenerovaná čísla jevit jakkoliv náhodná, byla vypočítána algoritmem. Klíčové políčko je v nastavení generátoru Základ generátoru (neboli seed). Pokud vygenerujeme posloupnost např. 1000 čísel od 1 do 100 a zadáme základ například 3, při každém dalším pokusu se stejnými parametry a hlavně základem dostáváme opět tutéž samou posloupnost čísel. To je v různých oborech žádoucí a v jiných nikoliv.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key simulaceinfo_www:diff::1.12:old-18028:rev-18029 --&gt;
&lt;/table&gt;</summary>
		<author><name>Xkocj44</name></author>
		
	</entry>
	<entry>
		<id>http://www.simulace.info/index.php?title=Pseudorandom_number_generators/cs&amp;diff=18028&amp;oldid=prev</id>
		<title>Xkocj44: Formátování textu</title>
		<link rel="alternate" type="text/html" href="http://www.simulace.info/index.php?title=Pseudorandom_number_generators/cs&amp;diff=18028&amp;oldid=prev"/>
		<updated>2019-05-29T18:02:49Z</updated>

		<summary type="html">&lt;p&gt;Formátování textu&lt;/p&gt;
&lt;a href=&quot;http://www.simulace.info/index.php?title=Pseudorandom_number_generators/cs&amp;amp;diff=18028&amp;amp;oldid=18023&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>Xkocj44</name></author>
		
	</entry>
	<entry>
		<id>http://www.simulace.info/index.php?title=Pseudorandom_number_generators/cs&amp;diff=18023&amp;oldid=prev</id>
		<title>Xkocj44: Doplnění citací</title>
		<link rel="alternate" type="text/html" href="http://www.simulace.info/index.php?title=Pseudorandom_number_generators/cs&amp;diff=18023&amp;oldid=prev"/>
		<updated>2019-05-29T16:57:25Z</updated>

		<summary type="html">&lt;p&gt;Doplnění citací&lt;/p&gt;
&lt;a href=&quot;http://www.simulace.info/index.php?title=Pseudorandom_number_generators/cs&amp;amp;diff=18023&amp;amp;oldid=18022&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>Xkocj44</name></author>
		
	</entry>
	<entry>
		<id>http://www.simulace.info/index.php?title=Pseudorandom_number_generators/cs&amp;diff=18022&amp;oldid=prev</id>
		<title>Xkocj44: Created page with &quot;=Úvod= Programátoři i lidé, využívající v počítačových technologiích náhodná čísla, se často domnívají, že jsou náhodná generovaná čísla opravdu zcel...&quot;</title>
		<link rel="alternate" type="text/html" href="http://www.simulace.info/index.php?title=Pseudorandom_number_generators/cs&amp;diff=18022&amp;oldid=prev"/>
		<updated>2019-05-29T15:46:47Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;=Úvod= Programátoři i lidé, využívající v počítačových technologiích náhodná čísla, se často domnívají, že jsou náhodná generovaná čísla opravdu zcel...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;=Úvod=&lt;br /&gt;
Programátoři i lidé, využívající v počítačových technologiích náhodná čísla, se často domnívají, že jsou náhodná generovaná čísla opravdu zcela náhodná, anebo nad tím ani příliš nepřemýšlí a prostě se na náhodnost spoléhají. Nicméně v IT světě není nic zcela náhodného. Ať už jsou vstupy do systému jistým způsobem předpověditelné dle statistických údajů (například díky dlouhodobému měření), i u náhodnosti postupuje počítač dle nějakého algoritmu. Dokonce i člověk, pokud má dát nějaké zcela náhodné číslo, lze jeho číslo pomocí tzv. Benfordova zákona očekávat v určitém formátu. Bavíme se tedy ještě o světě náhodnosti nebo o propracovaných algoritmech, které se tak pouze tváří a které si v běžném životě ani neuvědomujeme?&lt;br /&gt;
&lt;br /&gt;
==Pseudonáhodná čísla==&lt;br /&gt;
Vzhledem k tomu, že generovaná čísla skutečně nejsou naprosto náhodná, označují se tato čísla jako pseudonáhodná. Pokud bychom se chtěli opravdu více přiblížit náhodě, můžeme sáhnout po přírodních zákonech a nechat si pomoci. Své o tom ví i HotBits (viz Fyzikální generátory náhodných čísel).&lt;br /&gt;
&lt;br /&gt;
==Pseudonáhodná nebo náhodná čísla?==&lt;br /&gt;
Může vyvstat otázka, zda je lepší sada čistě náhodných čísel nebo pseudonáhodných čísel. Náhodná čísla například generovaná člověkem nebo přírodou mohou být nevhodná vzhledem k tomu, že některá čísla se opakují vícekrát a jiné méněkrát. Náhodnost může být ovlivněna tím, že člověk X ve výčtu od 1 do 100 preferuje častěji spíše čísla pod 50 a čísla nad 50 se vyskytují méně. Je zde ovšem porušena 100% náhodnost neboť každé číslo z výběru nemá naprosto stejnou pravděpodobnost výběru jako ostatní čísla. Taktéž výběr nevhodného přírodního jevu může způsobit, že některá čísla se vyskytují méně. V potaz můžeme vzít například šum pozadí. Jenže i šum existuje v různých barvách a tudíž se opět dostávají ke slovu některé hodnoty více než jiné.&lt;br /&gt;
V pseudonáhodných posloupnostech je hlídáno, aby bylo rozdělení náhodné veličiny opravdu pseudonáhodné s výskytem rovnoměrným dle vybrané pravděpodobnostní funkce. Generování poté už není zcela náhodné, ale rozdělení hodnot se tak tváří. Vybráním vhodné pravděpodobnostní funkce můžeme pravděpodobnost čísel ovlivnit, avšak o zbytek se stará už generátor.&lt;br /&gt;
U skutečně náhodných čísel může být také problém v jejich pomalejším získávání, zatímco generátor pseudonáhodných čísel plní pouze funkce algoritmů a může tak dodat kvanta náhodných hodnot během malé chvíle. Tam, kde tedy nezáleží příliš na náhodnosti, kde je potřeba spousta náhodných čísel během chvilky a kde je potřeba občas danou posloupnost hodnot zopakovat, se může více hodit posloupnost pseudonáhodných čísel. V oblastech hazardu či kryptografie, kde je naopak nežádoucí opakování posloupností, je naopak spíše žádán generátor skutečně náhodných čísel generovaných různými fyzikálními jevy.&lt;br /&gt;
Ku příkladu je jasné, že by lidé sázející ve sportce neměli důvěru v losovaná čísla, pokud by byla vylosována algoritmem. A problém by nevyvstal pouze v nedůvěře. Chytří lidé by si čísla zapisovali tak dlouho, dokud by nenašli řád mezi losovanými čísly a tím by mohli odhalit algoritmus, což si nepřeje ani sázková kancelář. Točení míčků je tedy sice také dáno algoritmem fyzikálním (tření, gravitace, spin, akce a reakce a další), ovšem počáteční seed je vždy náhodný, moment vytažení také, a tak je výsledek pokaždé jiný.&lt;br /&gt;
&lt;br /&gt;
=Fyzikální generátory náhodných čísel=&lt;br /&gt;
Fyzikální generátory jsou založeny na fyzikálních jevech, produkující nějaký šum. Ať už se jedná o atmosférický šum či využití fotoelektrického jevu. V následujících podkapitolách si ukážeme praktické příklady generátorů náhodných čísel TRNG (True Random Number Generator – Pravý generátor náhodných čísel).&lt;br /&gt;
&lt;br /&gt;
==HotBits==&lt;br /&gt;
Jednou z firem, získávající data tímto způsobem je švýcarská HotBits jenž generuje posloupnost pseudonáhodných bajtů na základě generátoru, který se řídí radioaktivním rozpadem částic, detekovaných v Geiger-Müllerové trubici propojené s počítačem. V tomto případě byl tedy generátor pseudonáhodných čísel nahrazen přírodním algoritmem. (Walker, 1996)&lt;br /&gt;
&lt;br /&gt;
==RADOM.ORG==&lt;br /&gt;
Další online službou je RANDOM.ORG, která získává náhodná čísla díky atmosférickému šumu. Je ale zapotřebí si hlídat nežádoucí šum, jako například ventilátor z počítače, který šum může ovlivnit a zanášet do něj svůj šum. Problém je pochopitelně v tom, že ventilátor produkuje pravidelný šum, který může náhodnost šumu snížit. RANDOM.ORG samozřejmě využívá faktu, že nikdo nezná rozpoložení a pohyb všech molekul vzduchu na planetě, proto se ani generovaná čísla nedají odhadnout. Místy navíc může zuřit nevyzpytatelná bouřka, což může šum také ovlivnit.&lt;br /&gt;
&lt;br /&gt;
==Silicon Graphics==&lt;br /&gt;
Jedná se o amerického výrobce počítačového hardwaru, který přišel s tzv. lavarand generátorem. Jeho principem je snímkování lávové lampy, v níž se volně a náhodně pohybuje materiál. Ten je snímkován jako vzor a z těchto snímků pak generátor vytváří posloupnosti náhodných dat. Protože pohyb materiálu je náhodný, jsou pak i čísla zcela náhodná. (Haahr, ©1998-2019)&lt;br /&gt;
Generátor na základě lidského vstupu&lt;br /&gt;
Existují také generátory, které generují náhodná čísla z pohybu PC myši či z intervalů mezi jednotlivými stisky kláves na klávesnici. Zde ovšem vyvstává problém v tom, že operační systém načítá rychlé stisky kláves do bufferu a odesílá po více znacích najednou. To samozřejmě ovlivňuje náhodnost dat. (Haahr, ©1998-2019)&lt;br /&gt;
&lt;br /&gt;
==Generování čísel míčky==&lt;br /&gt;
Tento generátor se využívá konkrétně v Sazce. Protože se zde hraje o vysoké peněžní částky, je pochopitelné, že čísla nejsou generována generátorem pseudonáhodných čísel. Přestože můžeme říci, že jsou do procesu výběru zapojeny fyzikální algoritmy (přitažlivá síla na základě hmotnosti míčků, třecí síla, zákon akce a reakce při odrazech a další), je výsledek těchto algoritmů tak složitý, jako louskání některých klíčů či komunikace v oboru kryptografie.&lt;br /&gt;
Generování probíhá tak, že je notářem vybrána jedena z osmi sad míčků. Míčky jsou následně zkontrolovány, zda není některý z nich poškozený, zda jsou všechny čisté a zda nejsou poškozeny štítky s čísly, které musí být 100% čitelné. Dále je provedena kontrola losování, aby bylo jisté, že vše funguje bezchybně a nenastane během losování žádná chyba. Teprve pak je spuštěno losování neboli generování náhodných čísel (u Sazky v rozmezí 1-80 včetně). Je zřejmé že v Sazce generátor určí, komu připadne obrovská suma peněz, proto je celý proces generování možná jedním z nejostřeji nejsledovanějších, ať už notáři, techniky, ale i veřejností. (Krejčí, 2016)&lt;br /&gt;
&lt;br /&gt;
=Generátory pseudonáhodných čísel v praxi=&lt;br /&gt;
Tyto generátory nachází své uplatnění v místech, kde jistá pravidelnost není na obtíž nebo kde je potřeba se k vygenerované sekvenci dostat vícekrát. Své uplatnění najdou například v přehrávačích hudby, kde je zapnuta funkce náhodného výběru další skladby. Dále pak také v simulacích či modelování. (Bashar, 2001)&lt;br /&gt;
&lt;br /&gt;
=Lineární kongruentní generátor=&lt;br /&gt;
Lineární kongruentní generátor je jedním z nejstarších a dle (Dorda, nedatováno) také nejrozšířenější z generátorů pseudonáhodných čísel. Každý další prvek je spočítán pomocí funkce x_(n+1)=(l∙x_n+m)  mod M, přičemž M je horní mez velikosti prvků, která má funkci modulo neboli zbytek po dělení číslem M. Pokud je například M=10, pak nejvyšší náhodné číslo bude 9.&lt;br /&gt;
Pokud kupříkladu zvolíme M rovno 27, l rovno 5, m rovno 9 a první prvek (seed) zvolíme 8, pak další čísla dle výše uvedeného vztahu budou 22, 11, 10, 5, 7, 17 atd. U 19. prvku ovšem dostáváme opět 8, 22, 11 a řada se celá opakuje. Nevhodnou volbou parametrů se může stát, že bude opakování častější.&lt;br /&gt;
UNIXová funkce rand() (viz Generátory programovacích jazyků) používá tento generátor také a to s parametry l=1103515245, m=12345 a M=2^32. (Bashar, 2001)&lt;br /&gt;
Pro počítače IBM byl zase generátor x_(n+1)=65539∙x_n (mod 2^31 ). (Dorda, nedatováno)&lt;br /&gt;
&lt;br /&gt;
==Fibonacciho generátor==&lt;br /&gt;
Fibonacciho generátor se odvíjí od Fibonacciho posloupnosti, kde každý další prvek je součtem předchozích dvou. Posloupnost začíná při počátku v 1 jako 1, 2, 3, 5, 8, 13, 21 atd. Pokud přidáme jako u předchozího generátoru opět mod M, omezíme získaná čísla zase na celočíselné zbytky po dělení M a tím stanovíme horní mez pro získané hodnoty. Podobně založen byl Millerův a Prenticův generátor, který byl definován vzorcem x_(n+1)=x_(n-2)+x_(n-3) (mod 3137), jenž má periodu po 9 843 907 prvcích.  (Dorda, nedatováno)&lt;br /&gt;
&lt;br /&gt;
==Mersenne Twister==&lt;br /&gt;
Algoritmus Mersenne Twister (také jako MT19937) je nejen velmi rychlý, ale má i velkou periodu (počet čísel, po které se začne řada opakovat) 2^19937-1. Je dokonce rychlejší než lineárně kongruentní generátor, ovšem je mnohem náročnější na paměť. Díky své rychlosti a velké periodicitě se výborně hodí pro různé simulace. (ifanda.cz, 2011)&lt;br /&gt;
Stojí za zmínku, že tento algoritmus je mimo jiné také využit ke generování náhodných čísel pro funkci RAND (česky NÁHČÍSLO), a t konkrétně v Officech 2010 (Microsoft.com, ©2019), a pak je také tento generátor využit v Simulačním softwaru NetLogo, kde je také použit ke generování ve funkci random (Wilensky, 2004). MT19937 je využit v mnohých softwarech od MS Office až po různé simulační programy a v neposlední řadě také v mnoha programovacích jazycích.&lt;br /&gt;
&lt;br /&gt;
==Complimentary-multiply-with-carry==&lt;br /&gt;
Jedná se o alternativu k algoritmu Mersenne Twister, který má ještě větší periodu 2^131086 a je ještě rychlejší, ale opět paměťově ještě náročnější. (ifanda.cz, 2011)&lt;br /&gt;
&lt;br /&gt;
==MS Excel generátor pseudonáhodných čísel==&lt;br /&gt;
MS Excel obsahuje v sobě zabudovaný též generátor pseudonáhodných čísel. Jak bylo zmíněno výše (viz  Mersenne Twister), pracuje na principu MT19937, což znamená, že jeho periodicita je po 2^19937-1 prvcích. Najdeme jej pod kartou Data a následně Analýza dat. Jedná se o doplněk, který musí být dodatečně dodán. Po kliknutí vybereme Generátor pseudonáhodných čísel. Následné okno je přizpůsobeno podle volby Typu rozložení. Co je ale společné, je počet proměnných (udává počet generovaných sloupců) a počet náhodných čísel (počet generovaných řádků). Pokud se pokusíme o rovnoměrné rozdělení, můžeme se podívat, jak tyto generátory fungují. Pro názornost byly vybrány 3 sloupce po 1000 čísel od 1 do 1000. Obrázky č. 2, 3 a 4 zachycují histogram z určitých intervalů. Můžeme vidět, že se algoritmus opravdu snaží o rovnoměrné rozmístění náhodných čísel. Jen tak pro zajímavost, směrodatné odchylky jsou pro první graf 28.72, pro druhý 28.08 a pro třetí 28.94. Vidíme tedy že algoritmus se opravdu držel nízké odchylky, přičemž ve druhé posloupnosti se mu to dařilo nejlépe a v poslední nejhůře. U třetího totiž upřednostňoval více čísla z inervalu 1-11.&lt;br /&gt;
Pokud vyzkoušíme generátor například Normálního rozdělení, algoritmus opět hlídá rovnoměrnost dle nastavených parametrů. Opět ale každá řada vychází jinak.&lt;br /&gt;
Narážíme zde na zmíněnou výhodu a nevýhodu zároveň, a sice opakovatelnost pseudonáhodných posloupností. Ať se mohou vygenerovaná čísla jevit jakkoliv náhodná, byla vypočítána algoritmem. Klíčové políčko je v nastavení generátoru Základ generátoru (neboli seed). Pokud vygenerujeme posloupnost např. 1000 čísel od 1 do 100 a zadáme základ například 3, při každém dalším pokusu se stejnými parametry a hlavně základem dostáváme opět tutéž samou posloupnost čísel. To je v různých oborech žádoucí a v jiných nikoliv.&lt;br /&gt;
&lt;br /&gt;
==Kryptografie==&lt;br /&gt;
Náhodná čísla se uplatňují také v oboru kryptografie, ať už se jedná o elektronické podpisy nebo šifrování dat. Ku příkladu můžeme uvést RSA generátor, který je používán pro generování bezpečné RSA šifry. Pro RSA šifru je potřeba vygenerovat dle předepsaného algoritmu klíč veřejný a privátní. Zjištění privátního klíče není nemožné, ovšem zabere tolik času, že jsou data již neaktuální. (Šefr, 2006)&lt;br /&gt;
Posuneme-li se dále, bude nás zajímat, co vše musí generátor pseudonáhodných čísel v kryptografii splňovat. Je zřejmé, že kryptografie je citlivý obor, kde budou kladeny vyšší nároky na generátor pseudonáhodných čísel.&lt;br /&gt;
	Čísla musí být pseudonáhodná, což znamená, že nelze v relativně blízké době s pravděpodobností větší než 50 % zjistit další číslo.&lt;br /&gt;
	I za předpokladu, že uniknou data o stavu generátoru nesmí být snadné opět zjistit již vygenerovanou sekvenci. Této podmínce říkáme dopředná bezpečnost.&lt;br /&gt;
	Pokud se útočník dostane k datům generátoru a zná tak jeho současný stav, i přesto by neměl být schopen generovat stejná čísla jako generátor. Této podmínce se říká zpětná bezpečnost a můžeme jí docílit například pravidelným přidáváním entropie do současného stavu.&lt;br /&gt;
&lt;br /&gt;
==Generátory programovacích jazyků==&lt;br /&gt;
===C===&lt;br /&gt;
Pro linuxový jazyk C je pro práci s pseudonáhodnými čísly použita funkce rand() a srand() ze standardní funkce &amp;lt;stdlib.h&amp;gt;. Funkce rand() vrací náhodné číslo od 0 do RAND_MAX, funkce srand čísla nevrací, ale poskytuje možnost zadání seed neboli počátku (pro případ, že budeme chtít posloupnost zopakovat) pro funkci rand(). Bohužel se tyto funkce ukázaly jako špatná volba pro dostatečnou náhodnost generovaných čísel. Proto nejsou vhodné k použití, kde je potřeba dobrá náhoda čísel, jako například v kryptografii. (linux.die.net, nedatováno)&lt;br /&gt;
&lt;br /&gt;
===C#===&lt;br /&gt;
Ve světě C# existuje třída pro práci s pseudonáhodnými čísly System.Random. Tato třída se inicializuje formou semínka seed (pokud není zadáno, použije se aktuální datum a čas). Dále pak obsahuje funkce Next(), která vrátí další pseudonáhodné číslo, Next(Int32), vracející pseudonáhodná čísla menší než zadaný parametr a nakonec Next(Int32,Int32) vracející čísla větší než první argument a menší než druhý argument. Generátor v jazyce C# se zdá být mnohem lepší než pro jazyk C, ovšem problém nastává ve chvíli, kdy ve stejném cyklu pokaždé inicializujeme Random a následně vygenerujeme další číslo. Protože cykly probíhají standardně velmi rychle, je semínko většinu cyklů stejné, a tak se může stát, že dostaneme více stejných čísel. Tomu se pochopitelně můžeme vyhnout tím, že Random inicializujeme pouze jednou. Další problém nastává, pokud používáme více vláken Thread. Zde se doporučuje, aby si každé vlákno inicializovalo svou instanci Random. (Skeet, nedatováno)&lt;br /&gt;
&lt;br /&gt;
===Java===&lt;br /&gt;
Pro jazyk Java lze využít hned dvě různé funkce Random(), každá z jiné knihovny. První je z knihovny java.lang.Math a druhá z java.util.Random.&lt;br /&gt;
Při použití Math.random() dostáváme hodnoty v rozsahu 0 až 1. Můžeme tedy dostat číslo například 0.42589632565639872. Pochopitelně zapojením této funkce s dalším upravujícím kódem lze funkci přizpůsobit, aby vracela čísla v jiném rozsahu.&lt;br /&gt;
Třída Random jakožto druhá varianta pak umí vracet více typů jako float, double, long či boolean. Tato třída generuje náhodná čísla pomocí lineárního kongruentního generátoru (viz kapitola Lineární kongruentní generátor). Generování je tedy velmi rychlé, ale nelze využít na jiné bezpečnostní či identifikační účely. (Thompson, 2017)&lt;br /&gt;
&lt;br /&gt;
=Závěr=&lt;br /&gt;
Generátory pseudonáhodných čísel jsou nepostradatelnou součástí programovacích jazyků, simulačních prostředí a dalších softwarů. Oproti generátorům skutečně náhodných čísel mají své výhody jako rychlost a opakovatelnost v místech, kde si to přejeme, ale na druhou stranu trpí nedostatkem náhodnosti, protože posloupnost získávaných čísel se může v jistém bodě znovu opakovat. Proto se nehodí pro bezpečnost či hazard. Vždy bychom si proto měli být vědomi, který typ generátoru používáme, jak rychle potřebujeme čísla dostávat a jak moc nám záleží na nevyzpytatelnosti generovaných čísel.&lt;/div&gt;</summary>
		<author><name>Xkocj44</name></author>
		
	</entry>
</feed>