informatyka w edukacji 2006 - philip/warsztaty2006/prezentacja.pdf · abstrakcyjne jak...

35
17122613552896246791317318909737747471304203086233448251901291785130621506997732479 61674430966083852937637131169152029741765720773459017608625277151698810797581177860 28171186683068174149522997804113908486675713231912072134405020330133262731886644038 10770688406834747923885762153878399865321845025422377646677862012632887431978106073 14928861267981976236431231244526319946863785835089218992653185607239386285887523205 99048728819186033060124075848435181145956064421301982728553442381683442387184282092 94177529625255200619612085052612640651006575895905168526911360357614160391849418216 31905988335803716090159387088647023131571841460034707803427168376402974919082067581 65614271417603422673702195848518135023140011554511902516152642985743350770815433351 46111385349047676637828877385720518595817741948520413833382274250356876029932782243 19054633537256887908422022722198314691420331956364814347627818085459037629571521323 37249091759334226669312876628753630528342317085122324971173935055437834129344688367 93176114062366930249244993940351668213113432512281318515512972644501218227788386375 82683216467881238928114095992503351276624525204726672029809246245724056433875439634 04107248232002580072810648799146471307733843877733528408752498898081564223697216521 16036750062353659235651110285128211944551351020079718111117632893802129059038983338 51835008144242750045517828312327140227809273652480146543049647983112926817433199914 22189631756130735007402591062571211406143298852512113121121604782815194188830730706 33733960361664256541713130814430632790702097140098356738385737032084228085732275698 45369832381344043648118110115927855140513586653969631780305065232410963896452668920 36021787802301553834922275612625338119524338231718281412189001139806673934895135631 18659673721128427301981723862194368037732146371664264226021244066235139703140959972 65446414485267021236196154005690336184942736726055677977524302816903036232027788170 13035138952494490228268842036839775327444181946585391984194356384169727496020848530 40327297526597641300244001729924003130301123922161100733073331134375507336536315467 94312560196437612428039264010812255535356736719030297940319619103612135655822829204 Liczby losowe w informatyce 1 2006 Filip Piękniewski Informatyka w edukacji 2006 Generowanie (pseudo) losowych ciągów liczb w teorii i praktyce. 84093450142545622932952550 62333649063322374221339383200520 13051542540106038262040964141444280609841341 688043663115781403736587971012513061739642941351025559816 28846242438015966483468470239132977461620682984081511205830166649912320440502 6434500161961626150157400649360832116672253770297615641723681902262501140369990943 3876257285351857114482185146700101412664995098196625537978457311708168955289967766836073 03123871358907426264037526740359423471326872823112296799722240208724872082461355344583813830541 929251035384050319427202250457784323437028963874134857267222492716656623301694705291398171556842336848829 616112704262796650140127218725780829663059997714321977596621816867211736335136285599238638993931744306815 7040604052603885774744979748213302935111234449541412476659818432000553224969534119093177232613332022740219922139519 3061458722481175814141536532842834077604551174506215949108631610455435844015724361123399219337738969562566241627417527823319674 0888274625390811203919801210954095274862577511737279653151095506683232507330093613936722856594493228924426130763552457198624473821212898700218 9053565222238699642035349743191557397194694244036170184243067745842675081366342910157631484369132859228508103043177819827137841216301318209269103456985442345451311

Upload: ngodat

Post on 01-Mar-2019

213 views

Category:

Documents


0 download

TRANSCRIPT

1712261355289624679131731890973774747130420308623344825190129178513062150699773247961674430966083852937637131169152029741765720773459017608625277151698810797581177860281711866830681741495229978041139084866757132319120721344050203301332627318866440381077068840683474792388576215387839986532184502542237764667786201263288743197810607314928861267981976236431231244526319946863785835089218992653185607239386285887523205990487288191860330601240758484351811459560644213019827285534423816834423871842820929417752962525520061961208505261264065100657589590516852691136035761416039184941821631905988335803716090159387088647023131571841460034707803427168376402974919082067581656142714176034226737021958485181350231400115545119025161526429857433507708154333514611138534904767663782887738572051859581774194852041383338227425035687602993278224319054633537256887908422022722198314691420331956364814347627818085459037629571521323372490917593342266693128766287536305283423170851223249711739350554378341293446883679317611406236693024924499394035166821311343251228131851551297264450121822778838637582683216467881238928114095992503351276624525204726672029809246245724056433875439634041072482320025800728106487991464713077338438777335284087524988980815642236972165211603675006235365923565111028512821194455135102007971811111763289380212905903898333851835008144242750045517828312327140227809273652480146543049647983112926817433199914221896317561307350074025910625712114061432988525121131211216047828151941888307307063373396036166425654171313081443063279070209714009835673838573703208422808573227569845369832381344043648118110115927855140513586653969631780305065232410963896452668920360217878023015538349222756126253381195243382317182814121890011398066739348951356311865967372112842730198172386219436803773214637166426422602124406623513970314095997265446414485267021236196154005690336184942736726055677977524302816903036232027788170130351389524944902282688420368397753274441819465853919841943563841697274960208485304032729752659764130024400172992400313030112392216110073307333113437550733653631546794312560196437612428039264010812255535356736719030297940319619103612135655822829204Liczby losowe w informatyce 1 2006 Filip Piękniewski

Informatyka w edukacji 2006

Generowanie (pseudo) losowychciągów liczb w teorii i praktyce.

8409345014254562293295255062333649063322374221339383200520130515425401060382620409641414442806098413416880436631157814037365879710125130617396429413510255598162884624243801596648346847023913297746162068298408151120583016664991232044050264345001619616261501574006493608321166722537702976156417236819022625011403699909433876257285351857114482185146700101412664995098196625537978457311708168955289967766836073031238713589074262640375267403594234713268728231122967997222402087248720824613553445838138305419292510353840503194272022504577843234370289638741348572672224927166566233016947052913981715568423368488296161127042627966501401272187257808296630599977143219775966218168672117363351362855992386389939317443068157040604052603885774744979748213302935111234449541412476659818432000553224969534119093177232613332022740219922139519306145872248117581414153653284283407760455117450621594910863161045543584401572436112339921933773896956256624162741752782331967408882746253908112039198012109540952748625775117372796531510955066832325073300936139367228565944932289244261307635524571986244738212128987002189053565222238699642035349743191557397194694244036170184243067745842675081366342910157631484369132859228508103043177819827137841216301318209269103456985442345451311

1712261355289624679131731890973774747130420308623344825190129178513062150699773247961674430966083852937637131169152029741765720773459017608625277151698810797581177860281711866830681741495229978041139084866757132319120721344050203301332627318866440381077068840683474792388576215387839986532184502542237764667786201263288743197810607314928861267981976236431231244526319946863785835089218992653185607239386285887523205990487288191860330601240758484351811459560644213019827285534423816834423871842820929417752962525520061961208505261264065100657589590516852691136035761416039184941821631905988335803716090159387088647023131571841460034707803427168376402974919082067581656142714176034226737021958485181350231400115545119025161526429857433507708154333514611138534904767663782887738572051859581774194852041383338227425035687602993278224319054633537256887908422022722198314691420331956364814347627818085459037629571521323372490917593342266693128766287536305283423170851223249711739350554378341293446883679317611406236693024924499394035166821311343251228131851551297264450121822778838637582683216467881238928114095992503351276624525204726672029809246245724056433875439634041072482320025800728106487991464713077338438777335284087524988980815642236972165211603675006235365923565111028512821194455135102007971811111763289380212905903898333851835008144242750045517828312327140227809273652480146543049647983112926817433199914221896317561307350074025910625712114061432988525121131211216047828151941888307307063373396036166425654171313081443063279070209714009835673838573703208422808573227569845369832381344043648118110115927855140513586653969631780305065232410963896452668920360217878023015538349222756126253381195243382317182814121890011398066739348951356311865967372112842730198172386219436803773214637166426422602124406623513970314095997265446414485267021236196154005690336184942736726055677977524302816903036232027788170130351389524944902282688420368397753274441819465853919841943563841697274960208485304032729752659764130024400172992400313030112392216110073307333113437550733653631546794312560196437612428039264010812255535356736719030297940319619103612135655822829204Liczby losowe w informatyce 2 2006 Filip Piękniewski

Co to właściwie znaczy losowy?

● Intuicyjne rozumienie losowości nie jest precyzyjne

● Jako “losowy” często rozumiemy efekt który jest“nieprzewidywalny”, jednak chaos deterministycznyjest “nieprzewidywalny” a jednak jest“deterministyczny”

● “Losowość” to w rzeczywistości pojęcie równieabstrakcyjne jak sigma-algebra czy topologia, nie dasię go rozważać bez teorii miary

● Z abstrakcyjnego pojęcia losowości (równomiernejmiary probabilistycznej na pewnym zbiorze)wnioskujemy własności jakie losowy obiekt powinienspełniać

1712261355289624679131731890973774747130420308623344825190129178513062150699773247961674430966083852937637131169152029741765720773459017608625277151698810797581177860281711866830681741495229978041139084866757132319120721344050203301332627318866440381077068840683474792388576215387839986532184502542237764667786201263288743197810607314928861267981976236431231244526319946863785835089218992653185607239386285887523205990487288191860330601240758484351811459560644213019827285534423816834423871842820929417752962525520061961208505261264065100657589590516852691136035761416039184941821631905988335803716090159387088647023131571841460034707803427168376402974919082067581656142714176034226737021958485181350231400115545119025161526429857433507708154333514611138534904767663782887738572051859581774194852041383338227425035687602993278224319054633537256887908422022722198314691420331956364814347627818085459037629571521323372490917593342266693128766287536305283423170851223249711739350554378341293446883679317611406236693024924499394035166821311343251228131851551297264450121822778838637582683216467881238928114095992503351276624525204726672029809246245724056433875439634041072482320025800728106487991464713077338438777335284087524988980815642236972165211603675006235365923565111028512821194455135102007971811111763289380212905903898333851835008144242750045517828312327140227809273652480146543049647983112926817433199914221896317561307350074025910625712114061432988525121131211216047828151941888307307063373396036166425654171313081443063279070209714009835673838573703208422808573227569845369832381344043648118110115927855140513586653969631780305065232410963896452668920360217878023015538349222756126253381195243382317182814121890011398066739348951356311865967372112842730198172386219436803773214637166426422602124406623513970314095997265446414485267021236196154005690336184942736726055677977524302816903036232027788170130351389524944902282688420368397753274441819465853919841943563841697274960208485304032729752659764130024400172992400313030112392216110073307333113437550733653631546794312560196437612428039264010812255535356736719030297940319619103612135655822829204Liczby losowe w informatyce 3 2006 Filip Piękniewski

Co to właściwie znaczy losowy?

● Gdy każemy człowiekowi wypisać cyfry “losowo” topowstały ciąg prawie na pewno nie przejdzieżadnego testu losowości!

● Ludzie na siłę unikają “lokalnych regularności”które w ciągach losowych występują:

6385651282723921872648950972363483292

8827088400658672528283336042726044164

Który z ciągów wygląda bardziej losowo?

1712261355289624679131731890973774747130420308623344825190129178513062150699773247961674430966083852937637131169152029741765720773459017608625277151698810797581177860281711866830681741495229978041139084866757132319120721344050203301332627318866440381077068840683474792388576215387839986532184502542237764667786201263288743197810607314928861267981976236431231244526319946863785835089218992653185607239386285887523205990487288191860330601240758484351811459560644213019827285534423816834423871842820929417752962525520061961208505261264065100657589590516852691136035761416039184941821631905988335803716090159387088647023131571841460034707803427168376402974919082067581656142714176034226737021958485181350231400115545119025161526429857433507708154333514611138534904767663782887738572051859581774194852041383338227425035687602993278224319054633537256887908422022722198314691420331956364814347627818085459037629571521323372490917593342266693128766287536305283423170851223249711739350554378341293446883679317611406236693024924499394035166821311343251228131851551297264450121822778838637582683216467881238928114095992503351276624525204726672029809246245724056433875439634041072482320025800728106487991464713077338438777335284087524988980815642236972165211603675006235365923565111028512821194455135102007971811111763289380212905903898333851835008144242750045517828312327140227809273652480146543049647983112926817433199914221896317561307350074025910625712114061432988525121131211216047828151941888307307063373396036166425654171313081443063279070209714009835673838573703208422808573227569845369832381344043648118110115927855140513586653969631780305065232410963896452668920360217878023015538349222756126253381195243382317182814121890011398066739348951356311865967372112842730198172386219436803773214637166426422602124406623513970314095997265446414485267021236196154005690336184942736726055677977524302816903036232027788170130351389524944902282688420368397753274441819465853919841943563841697274960208485304032729752659764130024400172992400313030112392216110073307333113437550733653631546794312560196437612428039264010812255535356736719030297940319619103612135655822829204Liczby losowe w informatyce 4 2006 Filip Piękniewski

Co to właściwie znaczy losowy?

● Ciąg elementów nazywamy 1-równomierny gdyśrednio każdy element występuje równie często.

● Ciąg elementów nazywamy k-równomierny gdyśrednio każdy podciąg długości k tego ciąguwystępuje równie często.

● Ciąg nazywamy ∞ -równomiernym gdy jestk-równomierny dla każdego k naturalnego.

● Czy ciąg losowy to to samo co ciąg ∞-równomierny?

1712261355289624679131731890973774747130420308623344825190129178513062150699773247961674430966083852937637131169152029741765720773459017608625277151698810797581177860281711866830681741495229978041139084866757132319120721344050203301332627318866440381077068840683474792388576215387839986532184502542237764667786201263288743197810607314928861267981976236431231244526319946863785835089218992653185607239386285887523205990487288191860330601240758484351811459560644213019827285534423816834423871842820929417752962525520061961208505261264065100657589590516852691136035761416039184941821631905988335803716090159387088647023131571841460034707803427168376402974919082067581656142714176034226737021958485181350231400115545119025161526429857433507708154333514611138534904767663782887738572051859581774194852041383338227425035687602993278224319054633537256887908422022722198314691420331956364814347627818085459037629571521323372490917593342266693128766287536305283423170851223249711739350554378341293446883679317611406236693024924499394035166821311343251228131851551297264450121822778838637582683216467881238928114095992503351276624525204726672029809246245724056433875439634041072482320025800728106487991464713077338438777335284087524988980815642236972165211603675006235365923565111028512821194455135102007971811111763289380212905903898333851835008144242750045517828312327140227809273652480146543049647983112926817433199914221896317561307350074025910625712114061432988525121131211216047828151941888307307063373396036166425654171313081443063279070209714009835673838573703208422808573227569845369832381344043648118110115927855140513586653969631780305065232410963896452668920360217878023015538349222756126253381195243382317182814121890011398066739348951356311865967372112842730198172386219436803773214637166426422602124406623513970314095997265446414485267021236196154005690336184942736726055677977524302816903036232027788170130351389524944902282688420368397753274441819465853919841943563841697274960208485304032729752659764130024400172992400313030112392216110073307333113437550733653631546794312560196437612428039264010812255535356736719030297940319619103612135655822829204Liczby losowe w informatyce 5 2006 Filip Piękniewski

Co to właściwie znaczy losowy?

● Intuicyjnie ciąg losowy musi być ∞- równomiernyale...

● W każdym ciągu ∞ - równomiernym występujefragment dowolnej długości powtarzający tę samąwartość.

● W ciągu 1000000-równomiernym występuje napewno fragment długości 1000000 samych zer!

● Taki ciąg “losowy” nie nadawałby się do większościzastosowań!

1712261355289624679131731890973774747130420308623344825190129178513062150699773247961674430966083852937637131169152029741765720773459017608625277151698810797581177860281711866830681741495229978041139084866757132319120721344050203301332627318866440381077068840683474792388576215387839986532184502542237764667786201263288743197810607314928861267981976236431231244526319946863785835089218992653185607239386285887523205990487288191860330601240758484351811459560644213019827285534423816834423871842820929417752962525520061961208505261264065100657589590516852691136035761416039184941821631905988335803716090159387088647023131571841460034707803427168376402974919082067581656142714176034226737021958485181350231400115545119025161526429857433507708154333514611138534904767663782887738572051859581774194852041383338227425035687602993278224319054633537256887908422022722198314691420331956364814347627818085459037629571521323372490917593342266693128766287536305283423170851223249711739350554378341293446883679317611406236693024924499394035166821311343251228131851551297264450121822778838637582683216467881238928114095992503351276624525204726672029809246245724056433875439634041072482320025800728106487991464713077338438777335284087524988980815642236972165211603675006235365923565111028512821194455135102007971811111763289380212905903898333851835008144242750045517828312327140227809273652480146543049647983112926817433199914221896317561307350074025910625712114061432988525121131211216047828151941888307307063373396036166425654171313081443063279070209714009835673838573703208422808573227569845369832381344043648118110115927855140513586653969631780305065232410963896452668920360217878023015538349222756126253381195243382317182814121890011398066739348951356311865967372112842730198172386219436803773214637166426422602124406623513970314095997265446414485267021236196154005690336184942736726055677977524302816903036232027788170130351389524944902282688420368397753274441819465853919841943563841697274960208485304032729752659764130024400172992400313030112392216110073307333113437550733653631546794312560196437612428039264010812255535356736719030297940319619103612135655822829204Liczby losowe w informatyce 6 2006 Filip Piękniewski

Co to właściwie znaczy losowy?

● Może zatem zaproponować taką definicjęlosowości:

Definicja 1 Mówimy, że ciąg Un jest losowy gdy dladowolnej własności W, takiej że W(Vn) zachodzi zprawdopodobieństwem 1 dla ciągu Vn wartościniezależnych zmiennych losowych o rozkładziejednostajnym, W(Un) zachodzi.

1712261355289624679131731890973774747130420308623344825190129178513062150699773247961674430966083852937637131169152029741765720773459017608625277151698810797581177860281711866830681741495229978041139084866757132319120721344050203301332627318866440381077068840683474792388576215387839986532184502542237764667786201263288743197810607314928861267981976236431231244526319946863785835089218992653185607239386285887523205990487288191860330601240758484351811459560644213019827285534423816834423871842820929417752962525520061961208505261264065100657589590516852691136035761416039184941821631905988335803716090159387088647023131571841460034707803427168376402974919082067581656142714176034226737021958485181350231400115545119025161526429857433507708154333514611138534904767663782887738572051859581774194852041383338227425035687602993278224319054633537256887908422022722198314691420331956364814347627818085459037629571521323372490917593342266693128766287536305283423170851223249711739350554378341293446883679317611406236693024924499394035166821311343251228131851551297264450121822778838637582683216467881238928114095992503351276624525204726672029809246245724056433875439634041072482320025800728106487991464713077338438777335284087524988980815642236972165211603675006235365923565111028512821194455135102007971811111763289380212905903898333851835008144242750045517828312327140227809273652480146543049647983112926817433199914221896317561307350074025910625712114061432988525121131211216047828151941888307307063373396036166425654171313081443063279070209714009835673838573703208422808573227569845369832381344043648118110115927855140513586653969631780305065232410963896452668920360217878023015538349222756126253381195243382317182814121890011398066739348951356311865967372112842730198172386219436803773214637166426422602124406623513970314095997265446414485267021236196154005690336184942736726055677977524302816903036232027788170130351389524944902282688420368397753274441819465853919841943563841697274960208485304032729752659764130024400172992400313030112392216110073307333113437550733653631546794312560196437612428039264010812255535356736719030297940319619103612135655822829204Liczby losowe w informatyce 7 2006 Filip Piękniewski

Co to właściwie znaczy losowy?

● Niech własność W oznacza, że żaden element ciągunie jest równy x dla pewnej liczby rzeczywistej x.

● Własność ta jest spełniona z prawdopodobieństwemjeden.

● Niech Unbędzie pewnym ciągiem liczb. Weźmyx=U0 wtedy ciąg ten nie spełnia definicji 1. Cowięcej żaden ciąg nie spełnia tej definicji!

● Potrzebna jest definicja słabsza...

1712261355289624679131731890973774747130420308623344825190129178513062150699773247961674430966083852937637131169152029741765720773459017608625277151698810797581177860281711866830681741495229978041139084866757132319120721344050203301332627318866440381077068840683474792388576215387839986532184502542237764667786201263288743197810607314928861267981976236431231244526319946863785835089218992653185607239386285887523205990487288191860330601240758484351811459560644213019827285534423816834423871842820929417752962525520061961208505261264065100657589590516852691136035761416039184941821631905988335803716090159387088647023131571841460034707803427168376402974919082067581656142714176034226737021958485181350231400115545119025161526429857433507708154333514611138534904767663782887738572051859581774194852041383338227425035687602993278224319054633537256887908422022722198314691420331956364814347627818085459037629571521323372490917593342266693128766287536305283423170851223249711739350554378341293446883679317611406236693024924499394035166821311343251228131851551297264450121822778838637582683216467881238928114095992503351276624525204726672029809246245724056433875439634041072482320025800728106487991464713077338438777335284087524988980815642236972165211603675006235365923565111028512821194455135102007971811111763289380212905903898333851835008144242750045517828312327140227809273652480146543049647983112926817433199914221896317561307350074025910625712114061432988525121131211216047828151941888307307063373396036166425654171313081443063279070209714009835673838573703208422808573227569845369832381344043648118110115927855140513586653969631780305065232410963896452668920360217878023015538349222756126253381195243382317182814121890011398066739348951356311865967372112842730198172386219436803773214637166426422602124406623513970314095997265446414485267021236196154005690336184942736726055677977524302816903036232027788170130351389524944902282688420368397753274441819465853919841943563841697274960208485304032729752659764130024400172992400313030112392216110073307333113437550733653631546794312560196437612428039264010812255535356736719030297940319619103612135655822829204Liczby losowe w informatyce 8 2006 Filip Piękniewski

Co to właściwie znaczy losowy?

● Spróbujmy słabszą definicję:

Definicja 2 Ciąg Unjest losowy jeśli każdy jego

nieskończony podciąg jest ∞ - równomierny.

Ta definicja jest znowu za mocna, każdy ciąg∞ - równomierny ma podciąg monotoniczny...

1712261355289624679131731890973774747130420308623344825190129178513062150699773247961674430966083852937637131169152029741765720773459017608625277151698810797581177860281711866830681741495229978041139084866757132319120721344050203301332627318866440381077068840683474792388576215387839986532184502542237764667786201263288743197810607314928861267981976236431231244526319946863785835089218992653185607239386285887523205990487288191860330601240758484351811459560644213019827285534423816834423871842820929417752962525520061961208505261264065100657589590516852691136035761416039184941821631905988335803716090159387088647023131571841460034707803427168376402974919082067581656142714176034226737021958485181350231400115545119025161526429857433507708154333514611138534904767663782887738572051859581774194852041383338227425035687602993278224319054633537256887908422022722198314691420331956364814347627818085459037629571521323372490917593342266693128766287536305283423170851223249711739350554378341293446883679317611406236693024924499394035166821311343251228131851551297264450121822778838637582683216467881238928114095992503351276624525204726672029809246245724056433875439634041072482320025800728106487991464713077338438777335284087524988980815642236972165211603675006235365923565111028512821194455135102007971811111763289380212905903898333851835008144242750045517828312327140227809273652480146543049647983112926817433199914221896317561307350074025910625712114061432988525121131211216047828151941888307307063373396036166425654171313081443063279070209714009835673838573703208422808573227569845369832381344043648118110115927855140513586653969631780305065232410963896452668920360217878023015538349222756126253381195243382317182814121890011398066739348951356311865967372112842730198172386219436803773214637166426422602124406623513970314095997265446414485267021236196154005690336184942736726055677977524302816903036232027788170130351389524944902282688420368397753274441819465853919841943563841697274960208485304032729752659764130024400172992400313030112392216110073307333113437550733653631546794312560196437612428039264010812255535356736719030297940319619103612135655822829204Liczby losowe w informatyce 9 2006 Filip Piękniewski

Co to właściwie znaczy losowy?

Definicja 3 Ciąg Un jest losowy jeśli dla każdegoefektywnego algorytmu określającegonieskończony ciąg różnych nieujemnych liczbcałkowitych s

ndla n>0 podciąg U

s0, U

s1, U

s2, ...

odpowiadający temu algorytmowi jest ∞ -równomierny.

Ta definicja jest spełniona dla prawie wszystkichliczb rzeczywistych, jednak żaden jawnieokreślony ciąg nie może jej spełniać, bo powstałypodciąg albo nie będzie równomierny, albo istniejeefektywny algorytm wyznaczający s

n, taki że

Us0<U

s1< U

s2<...

1712261355289624679131731890973774747130420308623344825190129178513062150699773247961674430966083852937637131169152029741765720773459017608625277151698810797581177860281711866830681741495229978041139084866757132319120721344050203301332627318866440381077068840683474792388576215387839986532184502542237764667786201263288743197810607314928861267981976236431231244526319946863785835089218992653185607239386285887523205990487288191860330601240758484351811459560644213019827285534423816834423871842820929417752962525520061961208505261264065100657589590516852691136035761416039184941821631905988335803716090159387088647023131571841460034707803427168376402974919082067581656142714176034226737021958485181350231400115545119025161526429857433507708154333514611138534904767663782887738572051859581774194852041383338227425035687602993278224319054633537256887908422022722198314691420331956364814347627818085459037629571521323372490917593342266693128766287536305283423170851223249711739350554378341293446883679317611406236693024924499394035166821311343251228131851551297264450121822778838637582683216467881238928114095992503351276624525204726672029809246245724056433875439634041072482320025800728106487991464713077338438777335284087524988980815642236972165211603675006235365923565111028512821194455135102007971811111763289380212905903898333851835008144242750045517828312327140227809273652480146543049647983112926817433199914221896317561307350074025910625712114061432988525121131211216047828151941888307307063373396036166425654171313081443063279070209714009835673838573703208422808573227569845369832381344043648118110115927855140513586653969631780305065232410963896452668920360217878023015538349222756126253381195243382317182814121890011398066739348951356311865967372112842730198172386219436803773214637166426422602124406623513970314095997265446414485267021236196154005690336184942736726055677977524302816903036232027788170130351389524944902282688420368397753274441819465853919841943563841697274960208485304032729752659764130024400172992400313030112392216110073307333113437550733653631546794312560196437612428039264010812255535356736719030297940319619103612135655822829204Liczby losowe w informatyce 10 2006 Filip Piękniewski

Co to właściwie znaczy losowy?

● Regułą tworzenia podciągu R nazwiemynieskończony ciąg funkcji fn (n-zmiennych)przyjmującą wartości w zbiorze {0,1}. N-tyelement ciągu wchodzi w skład podciągudefiniowanego przez regułę R jeślifn(X0, X1, ... Xn-1)=1.

● Regułę tworzenia podciągu R nazywamy obliczalnąjeśli istnieje efektywny algorytm wyznaczaniawartości fn(x1, x2, ... xn) dla danych na wejściu noraz wartości x1, x2, ... xn o dowolnej skończonejreprezentacji binarnej.

1712261355289624679131731890973774747130420308623344825190129178513062150699773247961674430966083852937637131169152029741765720773459017608625277151698810797581177860281711866830681741495229978041139084866757132319120721344050203301332627318866440381077068840683474792388576215387839986532184502542237764667786201263288743197810607314928861267981976236431231244526319946863785835089218992653185607239386285887523205990487288191860330601240758484351811459560644213019827285534423816834423871842820929417752962525520061961208505261264065100657589590516852691136035761416039184941821631905988335803716090159387088647023131571841460034707803427168376402974919082067581656142714176034226737021958485181350231400115545119025161526429857433507708154333514611138534904767663782887738572051859581774194852041383338227425035687602993278224319054633537256887908422022722198314691420331956364814347627818085459037629571521323372490917593342266693128766287536305283423170851223249711739350554378341293446883679317611406236693024924499394035166821311343251228131851551297264450121822778838637582683216467881238928114095992503351276624525204726672029809246245724056433875439634041072482320025800728106487991464713077338438777335284087524988980815642236972165211603675006235365923565111028512821194455135102007971811111763289380212905903898333851835008144242750045517828312327140227809273652480146543049647983112926817433199914221896317561307350074025910625712114061432988525121131211216047828151941888307307063373396036166425654171313081443063279070209714009835673838573703208422808573227569845369832381344043648118110115927855140513586653969631780305065232410963896452668920360217878023015538349222756126253381195243382317182814121890011398066739348951356311865967372112842730198172386219436803773214637166426422602124406623513970314095997265446414485267021236196154005690336184942736726055677977524302816903036232027788170130351389524944902282688420368397753274441819465853919841943563841697274960208485304032729752659764130024400172992400313030112392216110073307333113437550733653631546794312560196437612428039264010812255535356736719030297940319619103612135655822829204Liczby losowe w informatyce 11 2006 Filip Piękniewski

Co to właściwie znaczy losowy?

Definicja 4 Ciąg Un nazywamy losowym jeśli każdyjego nieskończony podciąg określony przezobliczalną regułę tworzenia podciągu (przydowolnej skończonej reprezentacji) jest 1-równomierny.

Definicja ta jest prawie dobra, jednak obliczalnereguły tworzenia podciągu zawsze określająrosnące ciągi indeksów, definicja 3 natomiastdopuszcza dowolne (nie powtarzające się) ciągiindeksów.

1712261355289624679131731890973774747130420308623344825190129178513062150699773247961674430966083852937637131169152029741765720773459017608625277151698810797581177860281711866830681741495229978041139084866757132319120721344050203301332627318866440381077068840683474792388576215387839986532184502542237764667786201263288743197810607314928861267981976236431231244526319946863785835089218992653185607239386285887523205990487288191860330601240758484351811459560644213019827285534423816834423871842820929417752962525520061961208505261264065100657589590516852691136035761416039184941821631905988335803716090159387088647023131571841460034707803427168376402974919082067581656142714176034226737021958485181350231400115545119025161526429857433507708154333514611138534904767663782887738572051859581774194852041383338227425035687602993278224319054633537256887908422022722198314691420331956364814347627818085459037629571521323372490917593342266693128766287536305283423170851223249711739350554378341293446883679317611406236693024924499394035166821311343251228131851551297264450121822778838637582683216467881238928114095992503351276624525204726672029809246245724056433875439634041072482320025800728106487991464713077338438777335284087524988980815642236972165211603675006235365923565111028512821194455135102007971811111763289380212905903898333851835008144242750045517828312327140227809273652480146543049647983112926817433199914221896317561307350074025910625712114061432988525121131211216047828151941888307307063373396036166425654171313081443063279070209714009835673838573703208422808573227569845369832381344043648118110115927855140513586653969631780305065232410963896452668920360217878023015538349222756126253381195243382317182814121890011398066739348951356311865967372112842730198172386219436803773214637166426422602124406623513970314095997265446414485267021236196154005690336184942736726055677977524302816903036232027788170130351389524944902282688420368397753274441819465853919841943563841697274960208485304032729752659764130024400172992400313030112392216110073307333113437550733653631546794312560196437612428039264010812255535356736719030297940319619103612135655822829204Liczby losowe w informatyce 12 2006 Filip Piękniewski

Co to właściwie znaczy losowy?

Definicja 5 Mówimy, że ciąg Un jest losowy gdy dlakażdego efektywnego algorytmu, określającegonieskończony ciąg różnych nieujemnych liczbcałkowitych sn jako funkcję wartości n oraz wartościUs0, Us2, ... , Usn-1 podciąg Usn odpowiadający temualgorytmowi jest losowy w sensie definicji 4.

Istnieją ciągi spełniające definicję 5 [A. Wald],jednocześnie z definicji ciąg taki przechodziwszystkie popularne testy statystyczne losowości...

1712261355289624679131731890973774747130420308623344825190129178513062150699773247961674430966083852937637131169152029741765720773459017608625277151698810797581177860281711866830681741495229978041139084866757132319120721344050203301332627318866440381077068840683474792388576215387839986532184502542237764667786201263288743197810607314928861267981976236431231244526319946863785835089218992653185607239386285887523205990487288191860330601240758484351811459560644213019827285534423816834423871842820929417752962525520061961208505261264065100657589590516852691136035761416039184941821631905988335803716090159387088647023131571841460034707803427168376402974919082067581656142714176034226737021958485181350231400115545119025161526429857433507708154333514611138534904767663782887738572051859581774194852041383338227425035687602993278224319054633537256887908422022722198314691420331956364814347627818085459037629571521323372490917593342266693128766287536305283423170851223249711739350554378341293446883679317611406236693024924499394035166821311343251228131851551297264450121822778838637582683216467881238928114095992503351276624525204726672029809246245724056433875439634041072482320025800728106487991464713077338438777335284087524988980815642236972165211603675006235365923565111028512821194455135102007971811111763289380212905903898333851835008144242750045517828312327140227809273652480146543049647983112926817433199914221896317561307350074025910625712114061432988525121131211216047828151941888307307063373396036166425654171313081443063279070209714009835673838573703208422808573227569845369832381344043648118110115927855140513586653969631780305065232410963896452668920360217878023015538349222756126253381195243382317182814121890011398066739348951356311865967372112842730198172386219436803773214637166426422602124406623513970314095997265446414485267021236196154005690336184942736726055677977524302816903036232027788170130351389524944902282688420368397753274441819465853919841943563841697274960208485304032729752659764130024400172992400313030112392216110073307333113437550733653631546794312560196437612428039264010812255535356736719030297940319619103612135655822829204Liczby losowe w informatyce 13 2006 Filip Piękniewski

Czy komputer wygeneruje coś losowego?

● Komputer jest automatem skończonym, ilość jegostanów odpowiada ilości możliwych konfiguracjipamięci oraz rejestrów procesora (jest zatemolbrzymia)...

● Każdy algorytm jest funkcją przekształcającąbieżący stan komputera w następny. Jest to zatemfunkcja która przekształca zbiór skończony wsiebie.

● Każda funkcja przekształcająca zbiór skończony wsiebie po pewnej liczbie iteracji wpadnie w cykl.

● Komputer nie może wygenerować ciągu losowego!

1712261355289624679131731890973774747130420308623344825190129178513062150699773247961674430966083852937637131169152029741765720773459017608625277151698810797581177860281711866830681741495229978041139084866757132319120721344050203301332627318866440381077068840683474792388576215387839986532184502542237764667786201263288743197810607314928861267981976236431231244526319946863785835089218992653185607239386285887523205990487288191860330601240758484351811459560644213019827285534423816834423871842820929417752962525520061961208505261264065100657589590516852691136035761416039184941821631905988335803716090159387088647023131571841460034707803427168376402974919082067581656142714176034226737021958485181350231400115545119025161526429857433507708154333514611138534904767663782887738572051859581774194852041383338227425035687602993278224319054633537256887908422022722198314691420331956364814347627818085459037629571521323372490917593342266693128766287536305283423170851223249711739350554378341293446883679317611406236693024924499394035166821311343251228131851551297264450121822778838637582683216467881238928114095992503351276624525204726672029809246245724056433875439634041072482320025800728106487991464713077338438777335284087524988980815642236972165211603675006235365923565111028512821194455135102007971811111763289380212905903898333851835008144242750045517828312327140227809273652480146543049647983112926817433199914221896317561307350074025910625712114061432988525121131211216047828151941888307307063373396036166425654171313081443063279070209714009835673838573703208422808573227569845369832381344043648118110115927855140513586653969631780305065232410963896452668920360217878023015538349222756126253381195243382317182814121890011398066739348951356311865967372112842730198172386219436803773214637166426422602124406623513970314095997265446414485267021236196154005690336184942736726055677977524302816903036232027788170130351389524944902282688420368397753274441819465853919841943563841697274960208485304032729752659764130024400172992400313030112392216110073307333113437550733653631546794312560196437612428039264010812255535356736719030297940319619103612135655822829204Liczby losowe w informatyce 14 2006 Filip Piękniewski

Liczby pseudolosowe

● “Każdy kto rozważa arytmetyczne metodywytwarzania cyfr losowych jest oczywiście w staniegrzechu” - John von Neumann (1951)

● Komputer nie może wytworzyć liczb losowych, alemoże wytworzyć liczby które będą “wyglądać” jaklosowe. Takie liczby nazywamy pseudolosowymi.

● Chcemy by takie liczby przechodziły gładko jaknajwięcej testów statystycznych, a jednocześniechcemy móc je generować szybko.

1712261355289624679131731890973774747130420308623344825190129178513062150699773247961674430966083852937637131169152029741765720773459017608625277151698810797581177860281711866830681741495229978041139084866757132319120721344050203301332627318866440381077068840683474792388576215387839986532184502542237764667786201263288743197810607314928861267981976236431231244526319946863785835089218992653185607239386285887523205990487288191860330601240758484351811459560644213019827285534423816834423871842820929417752962525520061961208505261264065100657589590516852691136035761416039184941821631905988335803716090159387088647023131571841460034707803427168376402974919082067581656142714176034226737021958485181350231400115545119025161526429857433507708154333514611138534904767663782887738572051859581774194852041383338227425035687602993278224319054633537256887908422022722198314691420331956364814347627818085459037629571521323372490917593342266693128766287536305283423170851223249711739350554378341293446883679317611406236693024924499394035166821311343251228131851551297264450121822778838637582683216467881238928114095992503351276624525204726672029809246245724056433875439634041072482320025800728106487991464713077338438777335284087524988980815642236972165211603675006235365923565111028512821194455135102007971811111763289380212905903898333851835008144242750045517828312327140227809273652480146543049647983112926817433199914221896317561307350074025910625712114061432988525121131211216047828151941888307307063373396036166425654171313081443063279070209714009835673838573703208422808573227569845369832381344043648118110115927855140513586653969631780305065232410963896452668920360217878023015538349222756126253381195243382317182814121890011398066739348951356311865967372112842730198172386219436803773214637166426422602124406623513970314095997265446414485267021236196154005690336184942736726055677977524302816903036232027788170130351389524944902282688420368397753274441819465853919841943563841697274960208485304032729752659764130024400172992400313030112392216110073307333113437550733653631546794312560196437612428039264010812255535356736719030297940319619103612135655822829204Liczby losowe w informatyce 15 2006 Filip Piękniewski

Metoda kongruencji liniowej

● Ustalamy czwórkę magicznych liczb:

m – moduł (0 < m)a – mnożnik (0 ≤ a < m)c – krok (0 ≤ c < m)X0 – wartość początkowa (0 ≤ X0 < m)

● Ciąg wartości pseudolosowych uzyskujemyprzyjmując:

Xn+1=(aXn + c) mod m

1712261355289624679131731890973774747130420308623344825190129178513062150699773247961674430966083852937637131169152029741765720773459017608625277151698810797581177860281711866830681741495229978041139084866757132319120721344050203301332627318866440381077068840683474792388576215387839986532184502542237764667786201263288743197810607314928861267981976236431231244526319946863785835089218992653185607239386285887523205990487288191860330601240758484351811459560644213019827285534423816834423871842820929417752962525520061961208505261264065100657589590516852691136035761416039184941821631905988335803716090159387088647023131571841460034707803427168376402974919082067581656142714176034226737021958485181350231400115545119025161526429857433507708154333514611138534904767663782887738572051859581774194852041383338227425035687602993278224319054633537256887908422022722198314691420331956364814347627818085459037629571521323372490917593342266693128766287536305283423170851223249711739350554378341293446883679317611406236693024924499394035166821311343251228131851551297264450121822778838637582683216467881238928114095992503351276624525204726672029809246245724056433875439634041072482320025800728106487991464713077338438777335284087524988980815642236972165211603675006235365923565111028512821194455135102007971811111763289380212905903898333851835008144242750045517828312327140227809273652480146543049647983112926817433199914221896317561307350074025910625712114061432988525121131211216047828151941888307307063373396036166425654171313081443063279070209714009835673838573703208422808573227569845369832381344043648118110115927855140513586653969631780305065232410963896452668920360217878023015538349222756126253381195243382317182814121890011398066739348951356311865967372112842730198172386219436803773214637166426422602124406623513970314095997265446414485267021236196154005690336184942736726055677977524302816903036232027788170130351389524944902282688420368397753274441819465853919841943563841697274960208485304032729752659764130024400172992400313030112392216110073307333113437550733653631546794312560196437612428039264010812255535356736719030297940319619103612135655822829204Liczby losowe w informatyce 16 2006 Filip Piękniewski

Jak dobrać liczby?

● Moduł powinien być możliwie duży żeby zapewnićdługi okres a jednocześnie pozwolić na szybkieobliczenia. Często wybiera się długość słowamaszyny (ewentualnie +/- 1);

● c powinno być względnie pierwsze z m;

● a-1 powinno być wielokrotnością każdej liczbypierwszej dzielącej m;

● a-1 powinno być wielokrotnością 4 jeśli m jestwielokrotnością 4.

1712261355289624679131731890973774747130420308623344825190129178513062150699773247961674430966083852937637131169152029741765720773459017608625277151698810797581177860281711866830681741495229978041139084866757132319120721344050203301332627318866440381077068840683474792388576215387839986532184502542237764667786201263288743197810607314928861267981976236431231244526319946863785835089218992653185607239386285887523205990487288191860330601240758484351811459560644213019827285534423816834423871842820929417752962525520061961208505261264065100657589590516852691136035761416039184941821631905988335803716090159387088647023131571841460034707803427168376402974919082067581656142714176034226737021958485181350231400115545119025161526429857433507708154333514611138534904767663782887738572051859581774194852041383338227425035687602993278224319054633537256887908422022722198314691420331956364814347627818085459037629571521323372490917593342266693128766287536305283423170851223249711739350554378341293446883679317611406236693024924499394035166821311343251228131851551297264450121822778838637582683216467881238928114095992503351276624525204726672029809246245724056433875439634041072482320025800728106487991464713077338438777335284087524988980815642236972165211603675006235365923565111028512821194455135102007971811111763289380212905903898333851835008144242750045517828312327140227809273652480146543049647983112926817433199914221896317561307350074025910625712114061432988525121131211216047828151941888307307063373396036166425654171313081443063279070209714009835673838573703208422808573227569845369832381344043648118110115927855140513586653969631780305065232410963896452668920360217878023015538349222756126253381195243382317182814121890011398066739348951356311865967372112842730198172386219436803773214637166426422602124406623513970314095997265446414485267021236196154005690336184942736726055677977524302816903036232027788170130351389524944902282688420368397753274441819465853919841943563841697274960208485304032729752659764130024400172992400313030112392216110073307333113437550733653631546794312560196437612428039264010812255535356736719030297940319619103612135655822829204Liczby losowe w informatyce 17 2006 Filip Piękniewski

Generator multiplikatywny

● Gdy przyjmiemy c=0 proces generowania liczblosowych może być nieco szybszy. Ale czy nie psujeto możliwości generatora?

● Można udowodnić, że gdy c=0 można uzyskaćprzyzwoicie długi okres generatora, trzeba jednaknieco staranniej dobrać a oraz X0

1712261355289624679131731890973774747130420308623344825190129178513062150699773247961674430966083852937637131169152029741765720773459017608625277151698810797581177860281711866830681741495229978041139084866757132319120721344050203301332627318866440381077068840683474792388576215387839986532184502542237764667786201263288743197810607314928861267981976236431231244526319946863785835089218992653185607239386285887523205990487288191860330601240758484351811459560644213019827285534423816834423871842820929417752962525520061961208505261264065100657589590516852691136035761416039184941821631905988335803716090159387088647023131571841460034707803427168376402974919082067581656142714176034226737021958485181350231400115545119025161526429857433507708154333514611138534904767663782887738572051859581774194852041383338227425035687602993278224319054633537256887908422022722198314691420331956364814347627818085459037629571521323372490917593342266693128766287536305283423170851223249711739350554378341293446883679317611406236693024924499394035166821311343251228131851551297264450121822778838637582683216467881238928114095992503351276624525204726672029809246245724056433875439634041072482320025800728106487991464713077338438777335284087524988980815642236972165211603675006235365923565111028512821194455135102007971811111763289380212905903898333851835008144242750045517828312327140227809273652480146543049647983112926817433199914221896317561307350074025910625712114061432988525121131211216047828151941888307307063373396036166425654171313081443063279070209714009835673838573703208422808573227569845369832381344043648118110115927855140513586653969631780305065232410963896452668920360217878023015538349222756126253381195243382317182814121890011398066739348951356311865967372112842730198172386219436803773214637166426422602124406623513970314095997265446414485267021236196154005690336184942736726055677977524302816903036232027788170130351389524944902282688420368397753274441819465853919841943563841697274960208485304032729752659764130024400172992400313030112392216110073307333113437550733653631546794312560196437612428039264010812255535356736719030297940319619103612135655822829204Liczby losowe w informatyce 18 2006 Filip Piękniewski

Generator multiplikatywny

● Najdłuższy możliwy okres generatora w przypadkuc=0 osiągniemy gdy:

- m jest potęgą liczby pierwszej p;

- X0 będzie względnie pierwsze z m;

- a jest elementem pierwotnym modulo m, toznaczy jest to wartość o największym możliwymrzędzie modulo m, gdzie rzędem nazywamynajmniejszą liczbę λ taką, że:

a≡1 modm

1712261355289624679131731890973774747130420308623344825190129178513062150699773247961674430966083852937637131169152029741765720773459017608625277151698810797581177860281711866830681741495229978041139084866757132319120721344050203301332627318866440381077068840683474792388576215387839986532184502542237764667786201263288743197810607314928861267981976236431231244526319946863785835089218992653185607239386285887523205990487288191860330601240758484351811459560644213019827285534423816834423871842820929417752962525520061961208505261264065100657589590516852691136035761416039184941821631905988335803716090159387088647023131571841460034707803427168376402974919082067581656142714176034226737021958485181350231400115545119025161526429857433507708154333514611138534904767663782887738572051859581774194852041383338227425035687602993278224319054633537256887908422022722198314691420331956364814347627818085459037629571521323372490917593342266693128766287536305283423170851223249711739350554378341293446883679317611406236693024924499394035166821311343251228131851551297264450121822778838637582683216467881238928114095992503351276624525204726672029809246245724056433875439634041072482320025800728106487991464713077338438777335284087524988980815642236972165211603675006235365923565111028512821194455135102007971811111763289380212905903898333851835008144242750045517828312327140227809273652480146543049647983112926817433199914221896317561307350074025910625712114061432988525121131211216047828151941888307307063373396036166425654171313081443063279070209714009835673838573703208422808573227569845369832381344043648118110115927855140513586653969631780305065232410963896452668920360217878023015538349222756126253381195243382317182814121890011398066739348951356311865967372112842730198172386219436803773214637166426422602124406623513970314095997265446414485267021236196154005690336184942736726055677977524302816903036232027788170130351389524944902282688420368397753274441819465853919841943563841697274960208485304032729752659764130024400172992400313030112392216110073307333113437550733653631546794312560196437612428039264010812255535356736719030297940319619103612135655822829204Liczby losowe w informatyce 19 2006 Filip Piękniewski

Generator Fibonacciego

● Generator Fibonacciego jest elegancki i dajezazwyczaj okresy dłuższe niż m

● Niestety wygenerowane z niego liczby sązdecydowanie zbyt mało losowe

● Jest to zaskakująco dobry “zły przykład” generatoralosowego

Xn1=XnXn−1modm

1712261355289624679131731890973774747130420308623344825190129178513062150699773247961674430966083852937637131169152029741765720773459017608625277151698810797581177860281711866830681741495229978041139084866757132319120721344050203301332627318866440381077068840683474792388576215387839986532184502542237764667786201263288743197810607314928861267981976236431231244526319946863785835089218992653185607239386285887523205990487288191860330601240758484351811459560644213019827285534423816834423871842820929417752962525520061961208505261264065100657589590516852691136035761416039184941821631905988335803716090159387088647023131571841460034707803427168376402974919082067581656142714176034226737021958485181350231400115545119025161526429857433507708154333514611138534904767663782887738572051859581774194852041383338227425035687602993278224319054633537256887908422022722198314691420331956364814347627818085459037629571521323372490917593342266693128766287536305283423170851223249711739350554378341293446883679317611406236693024924499394035166821311343251228131851551297264450121822778838637582683216467881238928114095992503351276624525204726672029809246245724056433875439634041072482320025800728106487991464713077338438777335284087524988980815642236972165211603675006235365923565111028512821194455135102007971811111763289380212905903898333851835008144242750045517828312327140227809273652480146543049647983112926817433199914221896317561307350074025910625712114061432988525121131211216047828151941888307307063373396036166425654171313081443063279070209714009835673838573703208422808573227569845369832381344043648118110115927855140513586653969631780305065232410963896452668920360217878023015538349222756126253381195243382317182814121890011398066739348951356311865967372112842730198172386219436803773214637166426422602124406623513970314095997265446414485267021236196154005690336184942736726055677977524302816903036232027788170130351389524944902282688420368397753274441819465853919841943563841697274960208485304032729752659764130024400172992400313030112392216110073307333113437550733653631546794312560196437612428039264010812255535356736719030297940319619103612135655822829204Liczby losowe w informatyce 20 2006 Filip Piękniewski

Opóźnione generatory Fibonacciego

● Dla odpowiednio dobranej pary (l,k) przy założeniuże generator ten ma okresy

● Nie ma dość informacji teoretycznychpotwierdzających losowość liczb generowanychprzez takie generatory, wydają się jednakużyteczne

● Wiele zależy od wyboru dobrych par opóźniaczy

Xn1= Xn−lXn−k modm

2e−12k−1

m=2e

X0 , ... ,Xk−1- Dowolnie dobrane liczby całkowite nie wszystkie parzyste

1712261355289624679131731890973774747130420308623344825190129178513062150699773247961674430966083852937637131169152029741765720773459017608625277151698810797581177860281711866830681741495229978041139084866757132319120721344050203301332627318866440381077068840683474792388576215387839986532184502542237764667786201263288743197810607314928861267981976236431231244526319946863785835089218992653185607239386285887523205990487288191860330601240758484351811459560644213019827285534423816834423871842820929417752962525520061961208505261264065100657589590516852691136035761416039184941821631905988335803716090159387088647023131571841460034707803427168376402974919082067581656142714176034226737021958485181350231400115545119025161526429857433507708154333514611138534904767663782887738572051859581774194852041383338227425035687602993278224319054633537256887908422022722198314691420331956364814347627818085459037629571521323372490917593342266693128766287536305283423170851223249711739350554378341293446883679317611406236693024924499394035166821311343251228131851551297264450121822778838637582683216467881238928114095992503351276624525204726672029809246245724056433875439634041072482320025800728106487991464713077338438777335284087524988980815642236972165211603675006235365923565111028512821194455135102007971811111763289380212905903898333851835008144242750045517828312327140227809273652480146543049647983112926817433199914221896317561307350074025910625712114061432988525121131211216047828151941888307307063373396036166425654171313081443063279070209714009835673838573703208422808573227569845369832381344043648118110115927855140513586653969631780305065232410963896452668920360217878023015538349222756126253381195243382317182814121890011398066739348951356311865967372112842730198172386219436803773214637166426422602124406623513970314095997265446414485267021236196154005690336184942736726055677977524302816903036232027788170130351389524944902282688420368397753274441819465853919841943563841697274960208485304032729752659764130024400172992400313030112392216110073307333113437550733653631546794312560196437612428039264010812255535356736719030297940319619103612135655822829204Liczby losowe w informatyce 21 2006 Filip Piękniewski

Dobre opóźniacze

(24,55) (38,89)

(37,100) (30,127)

(83,258) (107,378)

(273,607) (1029,2281)

(576,3217) (4187,9689)

(7083,19937) (9739,23209)

1712261355289624679131731890973774747130420308623344825190129178513062150699773247961674430966083852937637131169152029741765720773459017608625277151698810797581177860281711866830681741495229978041139084866757132319120721344050203301332627318866440381077068840683474792388576215387839986532184502542237764667786201263288743197810607314928861267981976236431231244526319946863785835089218992653185607239386285887523205990487288191860330601240758484351811459560644213019827285534423816834423871842820929417752962525520061961208505261264065100657589590516852691136035761416039184941821631905988335803716090159387088647023131571841460034707803427168376402974919082067581656142714176034226737021958485181350231400115545119025161526429857433507708154333514611138534904767663782887738572051859581774194852041383338227425035687602993278224319054633537256887908422022722198314691420331956364814347627818085459037629571521323372490917593342266693128766287536305283423170851223249711739350554378341293446883679317611406236693024924499394035166821311343251228131851551297264450121822778838637582683216467881238928114095992503351276624525204726672029809246245724056433875439634041072482320025800728106487991464713077338438777335284087524988980815642236972165211603675006235365923565111028512821194455135102007971811111763289380212905903898333851835008144242750045517828312327140227809273652480146543049647983112926817433199914221896317561307350074025910625712114061432988525121131211216047828151941888307307063373396036166425654171313081443063279070209714009835673838573703208422808573227569845369832381344043648118110115927855140513586653969631780305065232410963896452668920360217878023015538349222756126253381195243382317182814121890011398066739348951356311865967372112842730198172386219436803773214637166426422602124406623513970314095997265446414485267021236196154005690336184942736726055677977524302816903036232027788170130351389524944902282688420368397753274441819465853919841943563841697274960208485304032729752659764130024400172992400313030112392216110073307333113437550733653631546794312560196437612428039264010812255535356736719030297940319619103612135655822829204Liczby losowe w informatyce 22 2006 Filip Piękniewski

Czy chaos może być źródłem losowości?

● Chaos deterministyczny powstaje przy iteracjirównań nieliniowych dla pewnych parametrów

● Jednym z najprostszych przykład równaniagenerującego zachowanie chaotyczne jest równaniekwadratowe

● Układy chaotyczne o niskowymiarowychatraktorach polegają z kretesem na teściespektralnym... można praktycznie zrekonstruowaćcały atraktor na podstawie szeregu czasowego...

f x=4x 1−x

1712261355289624679131731890973774747130420308623344825190129178513062150699773247961674430966083852937637131169152029741765720773459017608625277151698810797581177860281711866830681741495229978041139084866757132319120721344050203301332627318866440381077068840683474792388576215387839986532184502542237764667786201263288743197810607314928861267981976236431231244526319946863785835089218992653185607239386285887523205990487288191860330601240758484351811459560644213019827285534423816834423871842820929417752962525520061961208505261264065100657589590516852691136035761416039184941821631905988335803716090159387088647023131571841460034707803427168376402974919082067581656142714176034226737021958485181350231400115545119025161526429857433507708154333514611138534904767663782887738572051859581774194852041383338227425035687602993278224319054633537256887908422022722198314691420331956364814347627818085459037629571521323372490917593342266693128766287536305283423170851223249711739350554378341293446883679317611406236693024924499394035166821311343251228131851551297264450121822778838637582683216467881238928114095992503351276624525204726672029809246245724056433875439634041072482320025800728106487991464713077338438777335284087524988980815642236972165211603675006235365923565111028512821194455135102007971811111763289380212905903898333851835008144242750045517828312327140227809273652480146543049647983112926817433199914221896317561307350074025910625712114061432988525121131211216047828151941888307307063373396036166425654171313081443063279070209714009835673838573703208422808573227569845369832381344043648118110115927855140513586653969631780305065232410963896452668920360217878023015538349222756126253381195243382317182814121890011398066739348951356311865967372112842730198172386219436803773214637166426422602124406623513970314095997265446414485267021236196154005690336184942736726055677977524302816903036232027788170130351389524944902282688420368397753274441819465853919841943563841697274960208485304032729752659764130024400172992400313030112392216110073307333113437550733653631546794312560196437612428039264010812255535356736719030297940319619103612135655822829204Liczby losowe w informatyce 23 2006 Filip Piękniewski

Metody badania losowości

● Test chi-kwadrat

● Test Kołmogorowa-Smirnowa

● Test równomierności

● Test odstępów

● Test pokerowy (test podziałów)

● Test kolekcjonera

● Test największy-z-t

● Test kolizji

● Test autokorelacji

● Test odstępów dni urodzin

● Test spektralny

● ... wiele innych

1712261355289624679131731890973774747130420308623344825190129178513062150699773247961674430966083852937637131169152029741765720773459017608625277151698810797581177860281711866830681741495229978041139084866757132319120721344050203301332627318866440381077068840683474792388576215387839986532184502542237764667786201263288743197810607314928861267981976236431231244526319946863785835089218992653185607239386285887523205990487288191860330601240758484351811459560644213019827285534423816834423871842820929417752962525520061961208505261264065100657589590516852691136035761416039184941821631905988335803716090159387088647023131571841460034707803427168376402974919082067581656142714176034226737021958485181350231400115545119025161526429857433507708154333514611138534904767663782887738572051859581774194852041383338227425035687602993278224319054633537256887908422022722198314691420331956364814347627818085459037629571521323372490917593342266693128766287536305283423170851223249711739350554378341293446883679317611406236693024924499394035166821311343251228131851551297264450121822778838637582683216467881238928114095992503351276624525204726672029809246245724056433875439634041072482320025800728106487991464713077338438777335284087524988980815642236972165211603675006235365923565111028512821194455135102007971811111763289380212905903898333851835008144242750045517828312327140227809273652480146543049647983112926817433199914221896317561307350074025910625712114061432988525121131211216047828151941888307307063373396036166425654171313081443063279070209714009835673838573703208422808573227569845369832381344043648118110115927855140513586653969631780305065232410963896452668920360217878023015538349222756126253381195243382317182814121890011398066739348951356311865967372112842730198172386219436803773214637166426422602124406623513970314095997265446414485267021236196154005690336184942736726055677977524302816903036232027788170130351389524944902282688420368397753274441819465853919841943563841697274960208485304032729752659764130024400172992400313030112392216110073307333113437550733653631546794312560196437612428039264010812255535356736719030297940319619103612135655822829204Liczby losowe w informatyce 24 2006 Filip Piękniewski

Test spektralny

● Test spektralny to test geometryczny

● Wykreślamy na płaszczyźnie zależność liczby wsekwencji od jej poprzednika, jeśli dane są wprzybliżeniu losowe to wyznaczane punkty ułożą sięw równomierną kratę

● Obliczamy największą odległość między prostymirównoległymi ze wszystkich rodzin prostychrównoległych nakrywających elementy powstałejkraty. Jest to precyzje dwuwymiarowa testu.

● Czynność powtarzamy analogicznie dla wyższychwymiarów (zależności trójek, czwórek itd.)

1712261355289624679131731890973774747130420308623344825190129178513062150699773247961674430966083852937637131169152029741765720773459017608625277151698810797581177860281711866830681741495229978041139084866757132319120721344050203301332627318866440381077068840683474792388576215387839986532184502542237764667786201263288743197810607314928861267981976236431231244526319946863785835089218992653185607239386285887523205990487288191860330601240758484351811459560644213019827285534423816834423871842820929417752962525520061961208505261264065100657589590516852691136035761416039184941821631905988335803716090159387088647023131571841460034707803427168376402974919082067581656142714176034226737021958485181350231400115545119025161526429857433507708154333514611138534904767663782887738572051859581774194852041383338227425035687602993278224319054633537256887908422022722198314691420331956364814347627818085459037629571521323372490917593342266693128766287536305283423170851223249711739350554378341293446883679317611406236693024924499394035166821311343251228131851551297264450121822778838637582683216467881238928114095992503351276624525204726672029809246245724056433875439634041072482320025800728106487991464713077338438777335284087524988980815642236972165211603675006235365923565111028512821194455135102007971811111763289380212905903898333851835008144242750045517828312327140227809273652480146543049647983112926817433199914221896317561307350074025910625712114061432988525121131211216047828151941888307307063373396036166425654171313081443063279070209714009835673838573703208422808573227569845369832381344043648118110115927855140513586653969631780305065232410963896452668920360217878023015538349222756126253381195243382317182814121890011398066739348951356311865967372112842730198172386219436803773214637166426422602124406623513970314095997265446414485267021236196154005690336184942736726055677977524302816903036232027788170130351389524944902282688420368397753274441819465853919841943563841697274960208485304032729752659764130024400172992400313030112392216110073307333113437550733653631546794312560196437612428039264010812255535356736719030297940319619103612135655822829204Liczby losowe w informatyce 25 2006 Filip Piękniewski

Test spektralny

● Cechą prawdziwie losowych liczb w teściespektralnym jest to, że układają się w regularnekraty (często dostrzeżenie tej struktury wymaganiemałego powiększenia gdy liczby sązmiennoprzecinkowe obcięte do pewnej precyzji)

● Jeśli dane są nielosowe, precyzja testu będziemaleć wraz z wymiarem. Jeśli dane są losowe,parametr precyzji będzie niezależny od wymiaru

● Test ten jest zaskakująco silny, jeśli generator goprzechodzi to prawie na pewno przejdzie dowolnyinny test

1712261355289624679131731890973774747130420308623344825190129178513062150699773247961674430966083852937637131169152029741765720773459017608625277151698810797581177860281711866830681741495229978041139084866757132319120721344050203301332627318866440381077068840683474792388576215387839986532184502542237764667786201263288743197810607314928861267981976236431231244526319946863785835089218992653185607239386285887523205990487288191860330601240758484351811459560644213019827285534423816834423871842820929417752962525520061961208505261264065100657589590516852691136035761416039184941821631905988335803716090159387088647023131571841460034707803427168376402974919082067581656142714176034226737021958485181350231400115545119025161526429857433507708154333514611138534904767663782887738572051859581774194852041383338227425035687602993278224319054633537256887908422022722198314691420331956364814347627818085459037629571521323372490917593342266693128766287536305283423170851223249711739350554378341293446883679317611406236693024924499394035166821311343251228131851551297264450121822778838637582683216467881238928114095992503351276624525204726672029809246245724056433875439634041072482320025800728106487991464713077338438777335284087524988980815642236972165211603675006235365923565111028512821194455135102007971811111763289380212905903898333851835008144242750045517828312327140227809273652480146543049647983112926817433199914221896317561307350074025910625712114061432988525121131211216047828151941888307307063373396036166425654171313081443063279070209714009835673838573703208422808573227569845369832381344043648118110115927855140513586653969631780305065232410963896452668920360217878023015538349222756126253381195243382317182814121890011398066739348951356311865967372112842730198172386219436803773214637166426422602124406623513970314095997265446414485267021236196154005690336184942736726055677977524302816903036232027788170130351389524944902282688420368397753274441819465853919841943563841697274960208485304032729752659764130024400172992400313030112392216110073307333113437550733653631546794312560196437612428039264010812255535356736719030297940319619103612135655822829204Liczby losowe w informatyce 26 2006 Filip Piękniewski

Gra w chaos

● Rysujemy trzy ponumerowane punkty, oraz czwartyjako punkt bazowy.

● Losujemy liczbę ze zbioru {1,2,3}.

● Wyznaczamy punkt będący w połowie odcinkamiędzy wylosowanym rogiem trójkąta a obecnympunktem bazowym. Wybieramy go na nowy punktbazowy.

● Wracamy do losowania.

1712261355289624679131731890973774747130420308623344825190129178513062150699773247961674430966083852937637131169152029741765720773459017608625277151698810797581177860281711866830681741495229978041139084866757132319120721344050203301332627318866440381077068840683474792388576215387839986532184502542237764667786201263288743197810607314928861267981976236431231244526319946863785835089218992653185607239386285887523205990487288191860330601240758484351811459560644213019827285534423816834423871842820929417752962525520061961208505261264065100657589590516852691136035761416039184941821631905988335803716090159387088647023131571841460034707803427168376402974919082067581656142714176034226737021958485181350231400115545119025161526429857433507708154333514611138534904767663782887738572051859581774194852041383338227425035687602993278224319054633537256887908422022722198314691420331956364814347627818085459037629571521323372490917593342266693128766287536305283423170851223249711739350554378341293446883679317611406236693024924499394035166821311343251228131851551297264450121822778838637582683216467881238928114095992503351276624525204726672029809246245724056433875439634041072482320025800728106487991464713077338438777335284087524988980815642236972165211603675006235365923565111028512821194455135102007971811111763289380212905903898333851835008144242750045517828312327140227809273652480146543049647983112926817433199914221896317561307350074025910625712114061432988525121131211216047828151941888307307063373396036166425654171313081443063279070209714009835673838573703208422808573227569845369832381344043648118110115927855140513586653969631780305065232410963896452668920360217878023015538349222756126253381195243382317182814121890011398066739348951356311865967372112842730198172386219436803773214637166426422602124406623513970314095997265446414485267021236196154005690336184942736726055677977524302816903036232027788170130351389524944902282688420368397753274441819465853919841943563841697274960208485304032729752659764130024400172992400313030112392216110073307333113437550733653631546794312560196437612428039264010812255535356736719030297940319619103612135655822829204Liczby losowe w informatyce 27 2006 Filip Piękniewski

Gra w chaos

1712261355289624679131731890973774747130420308623344825190129178513062150699773247961674430966083852937637131169152029741765720773459017608625277151698810797581177860281711866830681741495229978041139084866757132319120721344050203301332627318866440381077068840683474792388576215387839986532184502542237764667786201263288743197810607314928861267981976236431231244526319946863785835089218992653185607239386285887523205990487288191860330601240758484351811459560644213019827285534423816834423871842820929417752962525520061961208505261264065100657589590516852691136035761416039184941821631905988335803716090159387088647023131571841460034707803427168376402974919082067581656142714176034226737021958485181350231400115545119025161526429857433507708154333514611138534904767663782887738572051859581774194852041383338227425035687602993278224319054633537256887908422022722198314691420331956364814347627818085459037629571521323372490917593342266693128766287536305283423170851223249711739350554378341293446883679317611406236693024924499394035166821311343251228131851551297264450121822778838637582683216467881238928114095992503351276624525204726672029809246245724056433875439634041072482320025800728106487991464713077338438777335284087524988980815642236972165211603675006235365923565111028512821194455135102007971811111763289380212905903898333851835008144242750045517828312327140227809273652480146543049647983112926817433199914221896317561307350074025910625712114061432988525121131211216047828151941888307307063373396036166425654171313081443063279070209714009835673838573703208422808573227569845369832381344043648118110115927855140513586653969631780305065232410963896452668920360217878023015538349222756126253381195243382317182814121890011398066739348951356311865967372112842730198172386219436803773214637166426422602124406623513970314095997265446414485267021236196154005690336184942736726055677977524302816903036232027788170130351389524944902282688420368397753274441819465853919841943563841697274960208485304032729752659764130024400172992400313030112392216110073307333113437550733653631546794312560196437612428039264010812255535356736719030297940319619103612135655822829204Liczby losowe w informatyce 28 2006 Filip Piękniewski

Losowa gra, trójkąt Sierpińskiego

● Gra w Chaos jest dość prosta do implementacji dla zdolnegoucznia liceum, intuicyjnie nie jest ciekawa, wydaje się że wyniktej gry będzie po prostu zbiorem losowych punktów wtrójkącie.

● Wynik jest jednak zaskakujący, kieruje od razu uwagę natrójkąt Sierpińskiego. Z zupełnie losowej gry powstajecałkowicie deterministyczny kształt!

● http://www.stilldreamer.com/mathematics/chaos_game/

● http://www.shodor.org/master/fractal/software/Sierpinski.html

1712261355289624679131731890973774747130420308623344825190129178513062150699773247961674430966083852937637131169152029741765720773459017608625277151698810797581177860281711866830681741495229978041139084866757132319120721344050203301332627318866440381077068840683474792388576215387839986532184502542237764667786201263288743197810607314928861267981976236431231244526319946863785835089218992653185607239386285887523205990487288191860330601240758484351811459560644213019827285534423816834423871842820929417752962525520061961208505261264065100657589590516852691136035761416039184941821631905988335803716090159387088647023131571841460034707803427168376402974919082067581656142714176034226737021958485181350231400115545119025161526429857433507708154333514611138534904767663782887738572051859581774194852041383338227425035687602993278224319054633537256887908422022722198314691420331956364814347627818085459037629571521323372490917593342266693128766287536305283423170851223249711739350554378341293446883679317611406236693024924499394035166821311343251228131851551297264450121822778838637582683216467881238928114095992503351276624525204726672029809246245724056433875439634041072482320025800728106487991464713077338438777335284087524988980815642236972165211603675006235365923565111028512821194455135102007971811111763289380212905903898333851835008144242750045517828312327140227809273652480146543049647983112926817433199914221896317561307350074025910625712114061432988525121131211216047828151941888307307063373396036166425654171313081443063279070209714009835673838573703208422808573227569845369832381344043648118110115927855140513586653969631780305065232410963896452668920360217878023015538349222756126253381195243382317182814121890011398066739348951356311865967372112842730198172386219436803773214637166426422602124406623513970314095997265446414485267021236196154005690336184942736726055677977524302816903036232027788170130351389524944902282688420368397753274441819465853919841943563841697274960208485304032729752659764130024400172992400313030112392216110073307333113437550733653631546794312560196437612428039264010812255535356736719030297940319619103612135655822829204Liczby losowe w informatyce 29 2006 Filip Piękniewski

Losowa gra, trójkąt Sierpińskiego

● Ciekawym faktem jest, że grę w chaos możnastosować jako test losowości liczb

● Jeśli zamiast liczb losowych w grę wstawimy jakiśdeterministyczny ciąg (np. po kolei będziemywybierać rogi trójkąta), magiczny kształt trójkątaSierpińskiego nie powstanie!

1712261355289624679131731890973774747130420308623344825190129178513062150699773247961674430966083852937637131169152029741765720773459017608625277151698810797581177860281711866830681741495229978041139084866757132319120721344050203301332627318866440381077068840683474792388576215387839986532184502542237764667786201263288743197810607314928861267981976236431231244526319946863785835089218992653185607239386285887523205990487288191860330601240758484351811459560644213019827285534423816834423871842820929417752962525520061961208505261264065100657589590516852691136035761416039184941821631905988335803716090159387088647023131571841460034707803427168376402974919082067581656142714176034226737021958485181350231400115545119025161526429857433507708154333514611138534904767663782887738572051859581774194852041383338227425035687602993278224319054633537256887908422022722198314691420331956364814347627818085459037629571521323372490917593342266693128766287536305283423170851223249711739350554378341293446883679317611406236693024924499394035166821311343251228131851551297264450121822778838637582683216467881238928114095992503351276624525204726672029809246245724056433875439634041072482320025800728106487991464713077338438777335284087524988980815642236972165211603675006235365923565111028512821194455135102007971811111763289380212905903898333851835008144242750045517828312327140227809273652480146543049647983112926817433199914221896317561307350074025910625712114061432988525121131211216047828151941888307307063373396036166425654171313081443063279070209714009835673838573703208422808573227569845369832381344043648118110115927855140513586653969631780305065232410963896452668920360217878023015538349222756126253381195243382317182814121890011398066739348951356311865967372112842730198172386219436803773214637166426422602124406623513970314095997265446414485267021236196154005690336184942736726055677977524302816903036232027788170130351389524944902282688420368397753274441819465853919841943563841697274960208485304032729752659764130024400172992400313030112392216110073307333113437550733653631546794312560196437612428039264010812255535356736719030297940319619103612135655822829204Liczby losowe w informatyce 30 2006 Filip Piękniewski

Prawdziwe liczby losowe?

● Komputer to dusza – automat skończony który zpewnością nie wygeneruje nigdy nic losowego

● Komputer to też ciało – dyski, urządzeniawejścia/wyjścia, szumy i zakłócenia, czasy reakcji,kalibrowania głowic, data i czas ...

● Można użyć szumów do wygenerowania sekwencjiliczb “losowych”, nieprzewidywalnych...

1712261355289624679131731890973774747130420308623344825190129178513062150699773247961674430966083852937637131169152029741765720773459017608625277151698810797581177860281711866830681741495229978041139084866757132319120721344050203301332627318866440381077068840683474792388576215387839986532184502542237764667786201263288743197810607314928861267981976236431231244526319946863785835089218992653185607239386285887523205990487288191860330601240758484351811459560644213019827285534423816834423871842820929417752962525520061961208505261264065100657589590516852691136035761416039184941821631905988335803716090159387088647023131571841460034707803427168376402974919082067581656142714176034226737021958485181350231400115545119025161526429857433507708154333514611138534904767663782887738572051859581774194852041383338227425035687602993278224319054633537256887908422022722198314691420331956364814347627818085459037629571521323372490917593342266693128766287536305283423170851223249711739350554378341293446883679317611406236693024924499394035166821311343251228131851551297264450121822778838637582683216467881238928114095992503351276624525204726672029809246245724056433875439634041072482320025800728106487991464713077338438777335284087524988980815642236972165211603675006235365923565111028512821194455135102007971811111763289380212905903898333851835008144242750045517828312327140227809273652480146543049647983112926817433199914221896317561307350074025910625712114061432988525121131211216047828151941888307307063373396036166425654171313081443063279070209714009835673838573703208422808573227569845369832381344043648118110115927855140513586653969631780305065232410963896452668920360217878023015538349222756126253381195243382317182814121890011398066739348951356311865967372112842730198172386219436803773214637166426422602124406623513970314095997265446414485267021236196154005690336184942736726055677977524302816903036232027788170130351389524944902282688420368397753274441819465853919841943563841697274960208485304032729752659764130024400172992400313030112392216110073307333113437550733653631546794312560196437612428039264010812255535356736719030297940319619103612135655822829204Liczby losowe w informatyce 31 2006 Filip Piękniewski

Prawdziwe liczby losowe?

● W systemach unixowych jądro zbiera informacje owszelkich szumach i czasach reakcji sprzętu.Zebrane dane trzyma w obszarze pamięci zwanejpulą entropii.

● Na żądanie użytkownika zwracana jest funkcjaskrótu (np. MD5) z zawartości puli. Chodzi o toaby żaden użytkownik nie mógł poznać zawartościpuli. Szacunkowa entropia (nieporządek) puli jestzmniejszany przy każdym odczycie, zwiększany gdynapłyną nowe dane o szumach.

1712261355289624679131731890973774747130420308623344825190129178513062150699773247961674430966083852937637131169152029741765720773459017608625277151698810797581177860281711866830681741495229978041139084866757132319120721344050203301332627318866440381077068840683474792388576215387839986532184502542237764667786201263288743197810607314928861267981976236431231244526319946863785835089218992653185607239386285887523205990487288191860330601240758484351811459560644213019827285534423816834423871842820929417752962525520061961208505261264065100657589590516852691136035761416039184941821631905988335803716090159387088647023131571841460034707803427168376402974919082067581656142714176034226737021958485181350231400115545119025161526429857433507708154333514611138534904767663782887738572051859581774194852041383338227425035687602993278224319054633537256887908422022722198314691420331956364814347627818085459037629571521323372490917593342266693128766287536305283423170851223249711739350554378341293446883679317611406236693024924499394035166821311343251228131851551297264450121822778838637582683216467881238928114095992503351276624525204726672029809246245724056433875439634041072482320025800728106487991464713077338438777335284087524988980815642236972165211603675006235365923565111028512821194455135102007971811111763289380212905903898333851835008144242750045517828312327140227809273652480146543049647983112926817433199914221896317561307350074025910625712114061432988525121131211216047828151941888307307063373396036166425654171313081443063279070209714009835673838573703208422808573227569845369832381344043648118110115927855140513586653969631780305065232410963896452668920360217878023015538349222756126253381195243382317182814121890011398066739348951356311865967372112842730198172386219436803773214637166426422602124406623513970314095997265446414485267021236196154005690336184942736726055677977524302816903036232027788170130351389524944902282688420368397753274441819465853919841943563841697274960208485304032729752659764130024400172992400313030112392216110073307333113437550733653631546794312560196437612428039264010812255535356736719030297940319619103612135655822829204Liczby losowe w informatyce 32 2006 Filip Piękniewski

Prawdziwe liczby losowe?

● Gdy szacunkowa entropia puli będzie zbyt niskasystem może zablokować odczyt do czasu gdypoziom “losowości” puli zostanie odzyskany.

● W Linuxie do odczytu losowych danych służą plikispecjalne:

/dev/random (blokuje odczyt)

/dev/urandom (nie blokuje nigdy odczytu)

1712261355289624679131731890973774747130420308623344825190129178513062150699773247961674430966083852937637131169152029741765720773459017608625277151698810797581177860281711866830681741495229978041139084866757132319120721344050203301332627318866440381077068840683474792388576215387839986532184502542237764667786201263288743197810607314928861267981976236431231244526319946863785835089218992653185607239386285887523205990487288191860330601240758484351811459560644213019827285534423816834423871842820929417752962525520061961208505261264065100657589590516852691136035761416039184941821631905988335803716090159387088647023131571841460034707803427168376402974919082067581656142714176034226737021958485181350231400115545119025161526429857433507708154333514611138534904767663782887738572051859581774194852041383338227425035687602993278224319054633537256887908422022722198314691420331956364814347627818085459037629571521323372490917593342266693128766287536305283423170851223249711739350554378341293446883679317611406236693024924499394035166821311343251228131851551297264450121822778838637582683216467881238928114095992503351276624525204726672029809246245724056433875439634041072482320025800728106487991464713077338438777335284087524988980815642236972165211603675006235365923565111028512821194455135102007971811111763289380212905903898333851835008144242750045517828312327140227809273652480146543049647983112926817433199914221896317561307350074025910625712114061432988525121131211216047828151941888307307063373396036166425654171313081443063279070209714009835673838573703208422808573227569845369832381344043648118110115927855140513586653969631780305065232410963896452668920360217878023015538349222756126253381195243382317182814121890011398066739348951356311865967372112842730198172386219436803773214637166426422602124406623513970314095997265446414485267021236196154005690336184942736726055677977524302816903036232027788170130351389524944902282688420368397753274441819465853919841943563841697274960208485304032729752659764130024400172992400313030112392216110073307333113437550733653631546794312560196437612428039264010812255535356736719030297940319619103612135655822829204Liczby losowe w informatyce 33 2006 Filip Piękniewski

Prawdziwe liczby losowe?

● Liczby pochodzące z /dev/random nie są zpewnością przewidywalne, jednak nikt nigdy niezagwarantuje, że mają rozkład jednostajny.

● Proces obliczania funkcji skrótu wymaga sporoobliczeń, pobranie dużej ilości losowych danych wten sposób jest nieefektywne.

● Można jednak wykorzystywać takie liczby doinicjowania arytmetycznych generatorów.

1712261355289624679131731890973774747130420308623344825190129178513062150699773247961674430966083852937637131169152029741765720773459017608625277151698810797581177860281711866830681741495229978041139084866757132319120721344050203301332627318866440381077068840683474792388576215387839986532184502542237764667786201263288743197810607314928861267981976236431231244526319946863785835089218992653185607239386285887523205990487288191860330601240758484351811459560644213019827285534423816834423871842820929417752962525520061961208505261264065100657589590516852691136035761416039184941821631905988335803716090159387088647023131571841460034707803427168376402974919082067581656142714176034226737021958485181350231400115545119025161526429857433507708154333514611138534904767663782887738572051859581774194852041383338227425035687602993278224319054633537256887908422022722198314691420331956364814347627818085459037629571521323372490917593342266693128766287536305283423170851223249711739350554378341293446883679317611406236693024924499394035166821311343251228131851551297264450121822778838637582683216467881238928114095992503351276624525204726672029809246245724056433875439634041072482320025800728106487991464713077338438777335284087524988980815642236972165211603675006235365923565111028512821194455135102007971811111763289380212905903898333851835008144242750045517828312327140227809273652480146543049647983112926817433199914221896317561307350074025910625712114061432988525121131211216047828151941888307307063373396036166425654171313081443063279070209714009835673838573703208422808573227569845369832381344043648118110115927855140513586653969631780305065232410963896452668920360217878023015538349222756126253381195243382317182814121890011398066739348951356311865967372112842730198172386219436803773214637166426422602124406623513970314095997265446414485267021236196154005690336184942736726055677977524302816903036232027788170130351389524944902282688420368397753274441819465853919841943563841697274960208485304032729752659764130024400172992400313030112392216110073307333113437550733653631546794312560196437612428039264010812255535356736719030297940319619103612135655822829204Liczby losowe w informatyce 34 2006 Filip Piękniewski

Do czego potrzebne są liczby losowe?

● Inicjowanie kluczy kryptograficznych, tworzeniesekwencji kluczy symetrycznych

● Generowanie numerów sekwencyjnych pakietów IP

● Symulacje Monte-Carlo, próbkowanie całek nawielowymiarowych przestrzeniach

● Grafika komputerowa, dithering i inne...

1712261355289624679131731890973774747130420308623344825190129178513062150699773247961674430966083852937637131169152029741765720773459017608625277151698810797581177860281711866830681741495229978041139084866757132319120721344050203301332627318866440381077068840683474792388576215387839986532184502542237764667786201263288743197810607314928861267981976236431231244526319946863785835089218992653185607239386285887523205990487288191860330601240758484351811459560644213019827285534423816834423871842820929417752962525520061961208505261264065100657589590516852691136035761416039184941821631905988335803716090159387088647023131571841460034707803427168376402974919082067581656142714176034226737021958485181350231400115545119025161526429857433507708154333514611138534904767663782887738572051859581774194852041383338227425035687602993278224319054633537256887908422022722198314691420331956364814347627818085459037629571521323372490917593342266693128766287536305283423170851223249711739350554378341293446883679317611406236693024924499394035166821311343251228131851551297264450121822778838637582683216467881238928114095992503351276624525204726672029809246245724056433875439634041072482320025800728106487991464713077338438777335284087524988980815642236972165211603675006235365923565111028512821194455135102007971811111763289380212905903898333851835008144242750045517828312327140227809273652480146543049647983112926817433199914221896317561307350074025910625712114061432988525121131211216047828151941888307307063373396036166425654171313081443063279070209714009835673838573703208422808573227569845369832381344043648118110115927855140513586653969631780305065232410963896452668920360217878023015538349222756126253381195243382317182814121890011398066739348951356311865967372112842730198172386219436803773214637166426422602124406623513970314095997265446414485267021236196154005690336184942736726055677977524302816903036232027788170130351389524944902282688420368397753274441819465853919841943563841697274960208485304032729752659764130024400172992400313030112392216110073307333113437550733653631546794312560196437612428039264010812255535356736719030297940319619103612135655822829204Liczby losowe w informatyce 35 2006 Filip Piękniewski

Liczby losowe w informatyce

Pytania ?