www.wikidata.uk-ua.nina.az
Linijnij kongruentnij metod odin iz metodiv generaciyi psevdovipadkovih chisel Zastosovuyetsya v prostih vipadkah i ne volodiye kriptografichnoyu stijkistyu Vhodit v standartni biblioteki riznih kompilyatoriv Zmist 1 Opis 2 Vlastivosti 3 Parametri sho chasto vikoristovuyutsya 4 Mozhlivist vikoristannya v kriptografiyi 5 Div takozh 6 Dzherela 7 PosilannyaOpis red Linijnij kongruentnij metod buv zaproponovanij D G Lemerom v 1949 roci 1 Sut metodu polyagaye v obchislenni poslidovnosti vipadkovih chisel X n displaystyle X n nbsp vvazhayuchi X n 1 a X n c mod m displaystyle X n 1 aX n c bmod m nbsp de m displaystyle m nbsp modul naturalne chislo vidnosno yakogo obchislyuyut ostachu vid dilennya m 2 displaystyle m geqslant 2 nbsp a displaystyle a nbsp mnozhnik 0 a lt m displaystyle 0 leqslant a lt m nbsp c displaystyle c nbsp pririst 0 c lt m displaystyle 0 leqslant c lt m nbsp X 0 displaystyle X 0 nbsp pochatkove znachennya 0 X 0 lt m displaystyle 0 leqslant X 0 lt m nbsp Cya poslidovnist nazivayetsya linijnoyu kongruentnoyu poslidovnistyu Napriklad dlya m 10 X 0 a c 7 displaystyle m 10 X 0 a c 7 nbsp otrimayemo poslidovnist 7 6 9 0 7 6 9 0 displaystyle 7 6 9 0 7 6 9 0 dots nbsp 2 21 37 lt ref gt Vlastivosti red Linijna kongruentna poslidovnist viznachena chislami m displaystyle m nbsp a displaystyle a nbsp c displaystyle c nbsp i X 0 displaystyle X 0 nbsp periodichna z periodom ne bilshim za m displaystyle m nbsp Pri comu dovzhina periodu rivna m displaystyle m nbsp todi i tilki todi koli 2 21 37 Chisla c displaystyle c nbsp i m displaystyle m nbsp vzayemno prosti b a 1 displaystyle b a 1 nbsp kratno p displaystyle p nbsp dlya kozhnogo prostogo p displaystyle p nbsp sho ye dilnikom m displaystyle m nbsp b displaystyle b nbsp kratno 4 displaystyle 4 nbsp yaksho m displaystyle m nbsp kratno 4 displaystyle 4 nbsp Nayavnist ciyeyi vlastivosti dlya vipadku m 2 e displaystyle m 2 e nbsp de e displaystyle e nbsp chislo bitiv v mashinnomu slovi bulo dovedeno M Grinbergom angl M Greenberg 3 Nayavnist ciyeyi vlastivosti dlya zagalnogo vipadku i dostatnist umov buli dovedeni T E Hallom angl T E Hull i A R Dobellom angl A R Dobell 4 Metod generaciyi linijnoyi kongruentnoyi poslidovnosti pri c 0 displaystyle c 0 nbsp nazivayut multiplikativnim kongruentnim metodom a pri c 0 displaystyle c neq 0 nbsp zmishanim kongruentnim metodom Pri c 0 displaystyle c 0 nbsp zgenerovani chisla budut mati menshij period nizh pri c 0 displaystyle c neq 0 nbsp ale pri pevnih umovah mozhna otrimati period dovzhinoyu m 1 displaystyle m 1 nbsp yaksho m displaystyle m nbsp proste chislo Toj fakt sho umova c 0 displaystyle c neq 0 nbsp mozhe prizvoditi do poyavi bilsh dovgih periodiv buv vstanovlenij V E Tomsonom angl W T Thomson i nezalezhno vid nogo A Rotenbergom angl A Rotenberg 2 Shob garantuvati maksimalnist ciklu povtorennya poslidovnosti pri c 0 displaystyle c 0 nbsp neobhidno v yakosti znachennya parametra m displaystyle m nbsp obirati proste chislo Najvidomishim generatorom podibnogo tipu ye tak zvanij minimalnij standartnij generator vipadkovih chisel zaproponovanij Stivenom Parkom angl Stephen Park i Kejtom Millerom angl Keith Miller v 1988 roci Dlya nogo a 16807 displaystyle a 16807 nbsp a m 2147483647 displaystyle m 2147483647 nbsp 5 6 Metodom generaciyi poslidovnostej psevdovipadkovih chisel sho najchastishe vikoristovuyut ye zmishanij kongruentnij metod dzherelo ne vkazane 2293 dni Parametri sho chasto vikoristovuyutsya red Pri vibori chisla m displaystyle m nbsp neobhidno vrahovuvati nastupni umovi chislo m displaystyle m nbsp povinno buti dostatno velikim tak yak period ne mozhe mati bilshe nizh m displaystyle m nbsp elementiv znachennya chisla m displaystyle m nbsp povinno buti takim shob a X n c mod m displaystyle aX n c mod m nbsp obchislyuvalos shvidko Na praktici pri realizaciyi metodu vihodyachi z vkazanih umov chastishe vsogo obirayut m 2 e displaystyle m 2 e nbsp de e displaystyle e nbsp chislo bitiv v mashinnomu slovi Pri comu varto vrahovuvati sho molodshi dvijkovi rozryadi zgenerovanih takim chinom vipadkovih chisel demonstruyut povedinku daleku vid vipadkovoyi tomu rekomenduyetsya vikoristovuvati lishe starshi rozryadi Podibna situaciya ne vinikaye koli m w 1 displaystyle m w pm 1 nbsp de w displaystyle w nbsp dovzhina mashinnogo slova V takomu vipadku molodshi rozryadi X n displaystyle X n nbsp povodyat sebe tak zhe vipadkovo yak i starshi 2 Vibir mnozhnika a displaystyle a nbsp i prirostu c displaystyle c nbsp zazvichaj obumovlenij neobhidnistyu vikonannya umovi dosyagnennya periodu maksimalnoyi dovzhini Tablicya horoshih konstant dlya linijnih kongruentnih generatorivVsi navedeni konstanti zabezpechuyut robotu generatora z maksimalnim periodom Tablicya uporyadkovana po maksimalnomu dobutku yake ne viklikaye perepovnennya v slovi zadanoyi dovzhini 7 Perepovnyuyetsya pri a c m220 106 1283 6075221 211 1663 7875222 421 1663 7875223 430 2531 11979223 936 1399 6655223 1366 1283 6075224 171 11213 53125224 859 2531 11979224 419 6173 29282224 967 3041 14406225 141 28411 134456225 625 6571 31104225 1541 2957 14000225 1741 2731 12960225 1291 4621 21870225 205 29573 139968226 421 17117 81000226 1255 6173 29282226 281 28411 134456227 1093 18257 86436227 421 54773 259200227 1021 24631 116640228 1277 24749 117128228 2041 25673 121500229 2311 25367 120050229 1597 51749 244944229 2661 36979 175000229 4081 25673 121500229 3661 30809 145800230 3877 29573 139968230 3613 45289 214326230 1366 150889 714025231 8121 28411 134456231 4561 51349 243000231 7141 54773 259200232 9301 49297 233280232 4096 150889 714025233 2416 374441 1771875234 17221 107839 510300234 36261 66037 312500235 84589 45989 217728 Vidomij nevdalij s tochki zoru yakosti vihidnoyi poslidovnosti algoritm RANDU sho protyagom bagatoh desyatilit vikoristovuvali v riznih kompilyatorah Dlya pokrashennya statistichnih vlastivostej chislovoyi poslidovnosti v bagatoh generatorah psevdovipadkovih chisel vikoristovuyetsya lishe chastina bitiv rezultatu Napriklad v standarti ISO IEC 9899 na movi Si privedenij ale ne vkazanij v yakosti obov yazkovogo priklad funkciyi rand sho primusovo vidkidaye molodshi 16 i odin starshij rozryad define RAND MAX 32767 static unsigned long int next 1 int rand void next next 1103515245 12345 return unsigned int next 65536 RAND MAX 1 void srand unsigned int seed next seed Same v takomu viglyadi funkciya rand vikoristovuyetsya v kompilyatorah Watcom C C Vidomi chislovi parametri inshih algoritmiv sho zastosovuyutsya v riznih kompilyatorah i bibliotekah Source m mnozhnik a dodanok c vikoristani bitiNumerical Recipes 8 232 1664525 1013904223Borland C C 232 22695477 1 bits 30 16 in rand 30 0 in lrand glibc used by GCC 9 231 1103515245 12345 bits 30 0ANSI C Watcom Digital Mars CodeWarrior IBM VisualAge C C 10 231 1103515245 12345 bits 30 16C99 C11 Suggestion in the ISO IEC 9899 11 232 1103515245 12345 bits 30 16Borland Delphi Virtual Pascal 232 134775813 1 bits 63 32 of seed L Microsoft Visual Quick C C 232 214013 343FD16 2531011 269EC316 bits 30 16Microsoft Visual Basic 6 and earlier 12 224 1140671485 43FD43FD16 12820163 C39EC316 RtlUniform from Native API 13 231 1 2147483629 7FFFFFED16 2147483587 7FFFFFC316 Apple CarbonLib C 11 s minstd rand0 14 231 1 16807 0 see MINSTDC 11 s minstd rand 14 231 1 48271 0 see MINSTDMMIX by Donald Knuth 264 6364136223846793005 1442695040888963407Newlib 264 6364136223846793005 1 bits 63 32VAX s MTH RANDOM 15 old versions of glibc 232 69069 1Java 248 25214903917 11 bits 47 16Ranishe v bagatoh kompilyatorah RANDU 231 65539 0Mozhlivist vikoristannya v kriptografiyi red Hocha linijnij kongruentnij metod porodzhuye statistichno horoshu psevdovipadkovu poslidovnist chisel vin ne ye kriptografichno stijkim Generatori na osnovi linijnogo kongruentnogo metodu peredbachuvani tomu yih ne mozhna vikoristovuvati v kriptografiyi Vpershe generatori na osnovi linijnogo kongruentnogo metodu buli zlamani Dzhimom Ridsom Jim Reeds a potim Dzhoan Boyar Joan Boyar Yij vdalosya takozh viyaviti nedoliki kvadratichnih i kubichnih generatoriv Inshi doslidniki rozshirili ideyi Boyar rozrobivshi sposobi viyavlennya nedolikiv bud yakogo polinomialnogo generatora Takim chinom bulo dovedeno sho generatori na osnovi kongruentnih metodiv ne pidhodyat dlya vikoristannya v kriptografiyi Odnak generatori na osnovi linijnogo kongruentnogo metodu zberigayut svoyu korisnist dlya nekriptografichnih dodatkiv napriklad dlya modelyuvannya Voni efektivni i v najbilsh vikoristovuvanih empirichnih testah demonstruyut horoshi statistichni harakteristiki 7 Div takozh red Generator psevdovipadkovih chisel Inversnij kongruentnij metodDzherela red D H Lehmer Mathematical methods in large scale computing units Proceedings of a Second Symposium on Large Scale Digital Calculating Machinery 1949 Harvard University Press Cambridge Mass 1951 pp 141 146 MR 0044899 13 495f 1 Arhivovano 24 grudnya 2013 u Wayback Machine a b v g Donald Knut Iskusstvo programmirovaniya The Art of Computer Programming 3 e izd Moskva Vilyams 2000 T 2 Poluchislennye algoritmy 832 s 7000 prim ISBN 5 8459 0081 6 rus ISBN 0 201 89684 2 angl M Greenberger Method in randomness Comm ACM 8 1965 177 179 2 Arhivovano 24 grudnya 2013 u Wayback Machine T E Hull and A R Dobell Random Number Generators SIAM Review 4 3 1962 230 254 3 Arhivovano 24 grudnya 2013 u Wayback Machine Baknell D M Fundamentalnye algoritmy i struktury dannyh v Delphi Biblioteka programmista Delphi Informant Magazine 2002 Stephen K Park Keith W Miller 1988 Random Number Generators Good Ones Are Hard To Find Communications of the ACM angl 31 10 1192 1201 Arhiv originalu za 20 bereznya 2018 Procitovano 26 grudnya 2017 a b Bryus Shnajyer Prikladnaya kriptografiya Triumf 2002 S 275 Arhivovano z dzherela 28 lyutogo 2014 Numerical recipies in C The art of scientific computing vid 2 nd edition Cambridge University Press 1992 The GNU C library s rand in stdlib h uses a simple single state linear congruential generator only in case that the state is declared as 8 bytes If the state is larger an array the generator becomes an additive feedback generator and the period increases See the simplified code Arhivovano 2 lyutogo 2015 u Wayback Machine that reproduces the random sequence from this library A collection of selected pseudorandom number generators with linear structures K Entacher 1997 Arhiv originalu za 5 chervnya 2013 Procitovano 16 chervnya 2012 Last public Committee Draft from April 12 2011 page 346f Arhiv originalu za 29 bereznya 2018 Procitovano 21 grudnya 2014 How Visual Basic Generates Pseudo Random Numbers for the RND Function Microsoft Support Microsoft Arhiv originalu za 17 kvitnya 2011 Procitovano 17 chervnya 2011 In spite of documentation on MSDN Arhivovano 8 bereznya 2016 u Wayback Machine RtlUniform uses LCG and not Lehmer s algorithm implementations before Windows Vista are flawed because the result of multiplication is cut to 32 bits before modulo is applied a b ISO IEC 14882 2011 ISO 2 September 2011 Arhiv originalu za 29 sichnya 2013 Procitovano 3 September 2011 GNU Scientific Library Other random number generators Arhiv originalu za 11 grudnya 2014 Procitovano 26 grudnya 2017 Posilannya red L Barash Algoritm AKS proverki chisel na prostotu i poisk konstant generatorov psevdosluchajnyh chisel Bezopasnost informacionnyh tehnologij 2005 2 S 27 38 Otrimano z https uk wikipedia org w index php title Linijnij kongruentnij metod amp oldid 37712623