Санамсаргүй сэргээгч. Функц ба өгөгдлийн шинжилгээнд Excel-ийн санамсаргүй тоо үүсгэгч

Онлайн дугаар үүсгэгч нь танд авах боломжийг олгодог тохиромжтой хэрэгсэл юм шаардлагатай хэмжээөгөгдсөн битийн гүн ба хамгийн өргөн хүрээний тоонууд. Манай санамсаргүй тоо үүсгэгч олон төрлийн хэрэглээтэй! Жишээлбэл, та ВКонтакте дээр тэмцээн зохион байгуулж, дугуйчдын бүлэгт бамбарууштай тоглож болно :)) Хэрэв та үүний тусламжтайгаар ялагчийн тоог тодорхойлохоор шийдсэн бол бид маш их баярлах болно. ямар ч сугалаа эсвэл казинод ямар дугаар дээр бооцоо тавихаа шийдээрэй. Хэн нэгэн тэднийхийг олно гэж бид үнэхээр найдаж байна азын тообидэнтэй онлайнаар!

Санамсаргүй тооны муж:

Тоо хэмжээ:

Давталтыг арилгах уу?

Тоо үүсгэх

Биднийг хөгжүүлэхэд тусална уу:Найзууддаа генераторын талаар хэлээрэй!

Санамсаргүй | 1 товшилтоор онлайн санамсаргүй тоо

Тоонууд биднийг төрсөн цагаасаа эхлэн хүрээлж, амьдралд чухал үүрэг гүйцэтгэдэг. Олон хүмүүсийн хувьд ажил нь тоонуудтай холбоотой байдаг сугалааны тасалбар, мөн хэн нэгэн тэдэнд бүрэн ид шидийн утгыг өгдөг. Зарим тохиолдолд бид ийм програмыг ашиглахгүйгээр хийж чадахгүй санамсаргүй тоо үүсгэгч.

Жишээлбэл, та бүлгийнхээ захиалагчдын дунд шагналын сугалаа зохион байгуулах хэрэгтэй. Манай онлайн санамсаргүй тоо үүсгэгч нь ялагчийг хурдан бөгөөд шударгаар сонгоход тусална. Жишээлбэл, танд шаардлагатай тооны санамсаргүй тоо (ялагчдын тоонд үндэслэн) болон хамгийн дээд хязгаарыг (хэрэв тэдэнд дугаар өгсөн бол оролцогчдын тооноос хамаарч) тохируулах хэрэгтэй. Энэ тохиолдолд залилан мэхлэхийг бүрэн хассан болно.

Энэ програм нь сугалааны санамсаргүй тоо үүсгэгч болж чадна. Жишээлбэл, та тасалбар худалдаж авсан бөгөөд тоо сонгохдоо боломж, азанд бүрэн найдахыг хүсч байна. Тэгвэл манай дугаарын санамсаргүй тохируулагч танд сугалааны тасалбараа бөглөхөд тань туслах болно.

Санамсаргүй тоог хэрхэн үүсгэх вэ: заавар

Санамсаргүй тооны програмЭнэ нь маш энгийнээр ажилладаг. Та үүнийг компьютер дээрээ татаж авах шаардлагагүй - энэ хуудас нээгдсэн хөтөчийн цонхонд бүх зүйл хийгддэг. Санамсаргүй тоонууд нь заасан тооны тоо ба тэдгээрийн хүрээний дагуу үүсгэгддэг - 0-ээс 999999999. Онлайнаар дугаар үүсгэхийн тулд та дараахь зүйлийг хийх ёстой.

  1. Үр дүнг авахыг хүсч буй мужаа сонгоно уу. Магадгүй та 10 эсвэл 10,000 хүртэлх тоог хасахыг хүсч магадгүй юм;
  2. Давталтыг арилгах - энэ зүйлийг сонгосноор та хүчлэх болно тоо санамсаргүй тохируулагчтодорхой хүрээнд зөвхөн өвөрмөц хослолуудыг санал болгох;
  3. 1-ээс 99999 хүртэлх тооны тоог сонгоно уу;
  4. "Тоо үүсгэх" товчийг дарна уу.

Үр дүнд нь хичнээн тооны тоо авахыг хүсч байгаагаас үл хамааран генератор анхны тоонуудүр дүнг бүхэлд нь нэг дор харуулах бөгөөд та хулгана эсвэл мэдрэгчтэй самбарыг ашиглан тоонуудын талбарыг гүйлгэн гүйлгэж энэ хуудаснаас харах боломжтой.

Одоо та бэлэн тоонуудыг өөрт хэрэгтэй байдлаар ашиглаж болно. Та дугаарын талбараас үр дүнг хуулж бүлэгт нийтлэх эсвэл шуудангаар илгээх боломжтой. Үр дүн нь эргэлзээ төрүүлэхгүйн тулд энэ хуудасны дэлгэцийн агшинг авч, тоон санамсаргүй тохируулагчийн параметрүүд болон хөтөлбөрийн үр дүн тодорхой харагдах болно. Талбай дээрх тоог өөрчлөх боломжгүй тул залилан хийх боломжийг үгүйсгэдэг. Манай вэбсайт болон санамсаргүй тоо үүсгэгч танд тусалсан гэж найдаж байна.

гэх мэт бөгөөд данс эзэмшигчид олон нийтэд шинэ үзэгчдийг татах зорилгоор ашигладаг.

Шагналын эзэн санамсаргүй байдлаар тодорхойлогддог тул ийм зургийн үр дүн нь ихэвчлэн хэрэглэгчийн азаас хамаардаг.

Ийм шийдвэр гаргахын тулд сугалаа зохион байгуулагчид бараг үргэлж онлайнаар эсвэл урьдчилан суулгасан санамсаргүй тоо үүсгэгчийг үнэгүй тараадаг.

Сонголт

Ихэнхдээ ийм генераторыг сонгох нь хэцүү байдаг, учир нь тэдгээрийн ажиллагаа нь огт өөр байдаг - зарим хүмүүсийн хувьд энэ нь мэдэгдэхүйц хязгаарлагдмал, бусад хүмүүсийн хувьд нэлээд өргөн байдаг.

Нэлээд олон тооны ийм үйлчилгээ хэрэгжиж байгаа боловч хүндрэл нь хамрах хүрээний хувьд ялгаатай байдаг.

Жишээлбэл, олонх нь үйл ажиллагааныхаа онцлог шинж чанартай холбоотой байдаг олон нийтийн сүлжээ(жишээлбэл, олон генераторын програмууд зөвхөн энэ холбоосоор ажилладаг).

Хамгийн энгийн генераторууд нь өгөгдсөн муж дахь тоог санамсаргүй байдлаар тодорхойлдог.

Энэ нь үр дүнг тодорхой нийтлэлтэй холбодоггүй тул энэ нь тохиромжтой бөгөөд энэ нь нийгмийн сүлжээнээс гадуур болон бусад янз бүрийн нөхцөлд сугалаанд ашиглаж болно гэсэн үг юм.

Тэд үндсэндээ өөр хэрэглээгүй.

Зөвлөгөө!Хамгийн ихийг сонгохдоо тохиромжтой генераторямар зорилгоор ашиглах вэ гэдэг нь чухал.

Үзүүлэлтүүд

Санамсаргүй тоо үүсгэх оновчтой онлайн үйлчилгээг сонгох хамгийн хурдан үйл явцын хувьд доорх хүснэгтэд ийм програмуудын үндсэн техникийн шинж чанар, функцийг харуулав.

Хүснэгт 1. Санамсаргүй тоо үүсгэх онлайн програмуудын үйл ажиллагааны онцлог
Нэр Олон нийтийн сүлжээ Олон үр дүн Тоонуудын жагсаалтаас сонгоно уу Сайтын онлайн виджет Мужаас сонгоно уу Давталтыг идэвхгүй болгож байна
RandStuff Тиймээ Тиймээ Үгүй Тиймээ Үгүй
Цутгасан олон Албан ёсны вэбсайт эсвэл ВКонтакте Үгүй Үгүй Тиймээ Тиймээ Тиймээ
Санамсаргүй тоо Албан ёсны сайт Үгүй Үгүй Үгүй Тиймээ Тиймээ
Санамсаргүй Албан ёсны сайт Тиймээ Үгүй Үгүй Тиймээ Үгүй
Санамсаргүй тоо Албан ёсны сайт Тиймээ Үгүй Үгүй Үгүй Үгүй

Хүснэгтэнд дурдсан бүх програмуудыг доор дэлгэрэнгүй тайлбарласан болно.

RandStuff

Та энэ програмыг албан ёсны вэбсайтын http://randstuff.ru/number/ холбоосоор онлайнаар ашиглах боломжтой.

Энэ бол энгийн санамсаргүй тоо үүсгэгч, хурдан бөгөөд тогтвортой үйл ажиллагаагаараа онцлог.

Энэ нь албан ёсны вэбсайт дээрх тусдаа бие даасан програмын формат болон .

Энэ үйлчилгээний онцлог нь тухайн сайт дээр зааж өгөх боломжтой тоонуудын тодорхой жагсаалтаас аль алинд нь санамсаргүй тоог сонгох боломжтой юм.

  • Тогтвортой, хурдан ажиллах;
  • Нийгмийн сүлжээнд шууд холболт байхгүй;
  • Та нэг буюу хэд хэдэн тоог сонгож болно;
  • Та зөвхөн заасан тоонуудаас сонгох боломжтой.

Энэхүү програмын талаархи хэрэглэгчдийн тойм дараах байдалтай байна: "Бид энэ үйлчилгээгээр дамжуулан ВКонтакте группын ялагчдыг тодорхойлдог. Баярлалаа, "Та бол хамгийн шилдэг нь", "Би зөвхөн энэ үйлчилгээг ашигладаг."

Цутгасан олон

Энэхүү програм нь албан ёсны вэбсайт дээр VKontakte програм хэлбэрээр хэрэгжсэн энгийн функц үүсгэгч юм.

Мөн таны вэбсайтад оруулах генераторын виджет байдаг.

Өмнөх тайлбарласан програмаас гол ялгаа нь үр дүнгийн давталтыг идэвхгүй болгох боломжийг олгодог.


Санамсаргүй тооны тархалтын нягтын муруй нь зурагт үзүүлсэн шиг харагдах болно гэдгийг анхаарна уу. 22.3. Өөрөөр хэлбэл интервал бүр ижил тооны цэгүүдийг агуулна. Н би = Н/к , Хаана Н — нийт тоооноо, кинтервалын тоо, би= 1, , к .

Цагаан будаа. 22.3. Санамсаргүй тоонуудын давтамжийн диаграм,
онолын хувьд хамгийн тохиромжтой генератороор үүсгэгдсэн

Дурын санамсаргүй тоо үүсгэх нь хоёр үе шатаас бүрдэнэ гэдгийг санах нь зүйтэй.

  • хэвийн санамсаргүй тоо үүсгэх (өөрөөр хэлбэл 0-ээс 1 хүртэл жигд тархсан);
  • нормчлогдсон санамсаргүй тооны хувиргалт r бисанамсаргүй тоонууд руу x биХэрэглэгчийн шаардсан (дурын) хуваарилалтын хуулийн дагуу эсвэл шаардлагатай интервалд хуваарилагддаг.

Тоо олж авах аргын дагуу санамсаргүй тоо үүсгэгчийг дараахь байдлаар хуваана.

  • бие махбодийн;
  • хүснэгт;
  • алгоритмын.

Физик RNG

Физик RNG-ийн жишээ нь: зоос ("толгой" 1, "сүүл" 0); шоо; тоо бүхий салбаруудад хуваагдсан сумтай бөмбөр; дуу чимээтэй дулааны төхөөрөмж, жишээлбэл, транзистор (Зураг 22.422.5) ашигладаг тоног төхөөрөмжийн дуу чимээ үүсгэгч (HS).

Цагаан будаа. 22.4. Санамсаргүй тоо үүсгэх техник хангамжийн аргын схем
Цагаан будаа. 22.5. Техник хангамжийн аргыг ашиглан санамсаргүй тоог олж авах схем
"Зоос ашиглан санамсаргүй тоо үүсгэх" даалгавар

Зоос ашиглан 0-ээс 1 хүртэлх хооронд жигд тархсан санамсаргүй гурван оронтой тоог үүсгэ. Гурван аравтын оронтой нарийвчлал.

Асуудлыг шийдэх эхний арга
Зоосыг 9 удаа шидэж, хэрэв зоос толгой дээр буувал "0" гэж бичвэл "1" гэж бичнэ үү. Туршилтын үр дүнд бид 100110100 санамсаргүй дарааллыг хүлээн авлаа гэж бодъё.

0-ээс 1 хүртэлх интервал зурна. Тоонуудыг зүүнээс баруун тийш дараалан уншиж, интервалыг хагас болгон хувааж, дараагийн интервалын аль нэг хэсгийг сонгоно уу (хэрэв 0 өнхрөх бол зүүн талыг, хэрэв a 1-г эргэлдэж, дараа нь баруун талд). Ингэснээр та интервалын аль ч цэгт хүссэнээрээ үнэн зөв хүрч чадна.

Тэгэхээр, 1 : интервалыг хагасаар хувааж , баруун талыг сонгосон, интервалыг нарийсгасан: . Дараагийн дугаар 0 : интервалыг хагасаар хувааж, зүүн талыг сонгосон, интервалыг нарийсгасан: . Дараагийн дугаар 0 : интервалыг хагасаар хувааж, зүүн талыг сонгосон, интервалыг нарийсгасан: . Дараагийн дугаар 1 : интервалыг хагасаар хувааж , баруун талыг сонгосон, интервалыг нарийсгасан: .

Асуудлын нарийвчлалын нөхцлийн дагуу шийдэл олдсон: энэ нь интервалаас ямар ч тоо, жишээлбэл, 0.625.

Зарчмын хувьд, хэрэв бид хатуу хандвал интервалыг хуваах нь олсон интервалын зүүн ба баруун хил хүртэл гурав дахь аравтын бутархайн нарийвчлалтайгаар ДААХАН байх ёстой. Өөрөөр хэлбэл, нарийвчлалын үүднээс авч үзвэл үүсгэсэн тоо нь түүний байрлах интервалаас ямар ч тооноос ялгагдах боломжгүй болно.

Асуудлыг шийдэх хоёр дахь арга
Үүссэн хоёртын 100110100 дарааллыг гурвал болгон хуваая: 100, 110, 100. Эдгээр хоёртын тоог аравтын бутархай болгон хувиргасны дараа бид: 4, 6, 4. Урд талд нь "0."-ийг орлуулбал: 0.464 болно. Энэ арга нь зөвхөн 0.000-аас 0.777 хүртэлх тоог гаргаж чадна (гурван хоёртын оронтой тооноос "шахаж" болох дээд хэмжээ нь 111 2 = 7 8 байдаг тул) үнэн хэрэгтээ эдгээр тоонуудыг наймтын тооллын системд төлөөлдөг. Орчуулахын тулд наймтдоторх тоонууд аравтындүрслэлийг хийцгээе:
0.464 8 = 4 8 1 + 6 8 2 + 4 8 3 = 0.6015625 10 = 0.602 10.
Тиймээс шаардлагатай тоо: 0.602.

Хүснэгтийн RNG

Хүснэгтийн RNG нь санамсаргүй тоонуудын эх үүсвэр болгон баталгаажуулсан хамааралгүй, өөрөөр хэлбэл бие биенээсээ хамааралгүй тоог агуулсан тусгайлан эмхэтгэсэн хүснэгтүүдийг ашигладаг. Хүснэгтэнд Зураг 22.1-д ийм хүснэгтийн жижиг хэсгийг үзүүлэв. Хүснэгтийг зүүнээс баруун тийш дээрээс доош чиглүүлснээр шаардлагатай тооны аравтын бутархайн тоогоор 0-ээс 1 хүртэл жигд тархсан санамсаргүй тоонуудыг авч болно (бидний жишээнд бид тоо бүрт гурван аравтын орон ашигладаг). Хүснэгтэнд байгаа тоонууд бие биенээсээ хамааралгүй тул хүснэгтийг давж болно янз бүрийн арга замууджишээлбэл, дээрээс доош, баруунаас зүүн тийш, эсвэл та тэгш байрлалтай тоонуудыг сонгож болно.

Хүснэгт 22.1.
Санамсаргүй тоо. Жигд
0-ээс 1 хүртэл тархсан санамсаргүй тоо
Санамсаргүй тоо Нэг жигд тархсан
0-ээс 1 санамсаргүй тоо
9 2 9 2 0 4 2 6 0.929
9 5 7 3 4 9 0 3 0.204
5 9 1 6 6 5 7 6 0.269
… …

Энэ аргын давуу тал нь хүснэгтэд баталгаажсан хамааралгүй тоонууд байгаа тул үнэхээр санамсаргүй тоо гаргадаг явдал юм. Аргын сул тал: хадгалах зориулалттай их хэмжээнийтоо нь маш их санах ой шаарддаг; Хүснэгтийг ашиглахдаа ийм төрлийн хүснэгтүүдийг үүсгэх, шалгахад маш их бэрхшээл тулгардаг; тооны дараалал, улмаар үр дүнгийн найдвартай байдал.

Санамсаргүй байдлаар баталгаажуулсан 500 тоог агуулсан хүснэгт байдаг (И. Г. Венецкий, В. И. Венецкая нарын “Эдийн засгийн шинжилгээн дэх математик, статистикийн үндсэн ойлголт, томъёолол” номноос авсан).

Алгоритмийн RNG

Эдгээр RNG-ийн үүсгэсэн тоонууд нь үргэлж псевдо-санамсаргүй (эсвэл бараг санамсаргүй) байдаг, өөрөөр хэлбэл дараагийн үүсгэсэн тоо бүр өмнөхөөсөө хамаарна:

r би + 1 = е(r би) .

Ийм тоонуудаас бүрдсэн дараалал нь гогцоо үүсгэдэг, өөрөөр хэлбэл хязгааргүй олон удаа давтагдах мөчлөг заавал байх ёстой. Давтагдах мөчлөгийг үе гэж нэрлэдэг.

Эдгээр RNG-ийн давуу тал нь тэдний хурд юм; генераторууд нь санах ойн нөөц бараг шаарддаггүй бөгөөд авсаархан байдаг. Сул талууд: тоонуудыг бүрэн санамсаргүй гэж нэрлэх боломжгүй, учир нь тэдгээрийн хооронд хамаарал, мөн бараг санамсаргүй тоонуудын дараалалд цэгүүд байдаг.

RNG олж авах хэд хэдэн алгоритмын аргыг авч үзье.

  • медиан квадратын арга;
  • дунд зэргийн бүтээгдэхүүний арга;
  • хутгах арга;
  • шугаман конгруент арга.

Дунд дөрвөлжин арга

Дөрвөн оронтой тоо байна Р 0 . Энэ тоог квадрат болгож, оруулна Р 1 . Дараахаас Р 1 дунд (дунд дөрвөн оронтой) шинэ санамсаргүй тоог авч, түүнийг бичнэ Р 0 . Дараа нь процедурыг давтан хийнэ (22.6-р зургийг үз). Үнэн хэрэгтээ та санамсаргүй тоогоор авах ёсгүй гэдгийг анхаарна уу гиж, А 0.ghijтэг болон аравтын бутархайг зүүн талд нэмнэ. Энэ баримтыг Зураг дээр үзүүлсэн шиг тусгасан болно. 22.6, дараагийн ижил төстэй тоон үзүүлэлтүүдэд.

Цагаан будаа. 22.6. Дундаж квадратын аргын схем

Аргын сул тал: 1) хэрэв зарим давталтын үед тоо Р 0 нь тэгтэй тэнцүү болж, дараа нь генератор доройтдог тул анхны утгыг зөв сонгох нь чухал юм Р 0 ; 2) генератор дамжуулан дарааллыг давтах болно М nалхам (д хамгийн сайн тохиолдол), Хаана nтооны цифр Р 0 , Мтооллын системийн үндэс.

Жишээлбэл, Зураг дээр. 22.6: хэрэв тоо Р 0 нь хоёртын тооллын системд дүрслэгдэх бөгөөд дараа нь псевдо санамсаргүй тоонуудын дараалал 2 4 = 16 алхамаар давтагдана. Хэрэв эхлэлийн дугаарыг буруу сонгосон бол дарааллыг давтах нь эрт тохиолдож болохыг анхаарна уу.

Дээр дурдсан аргыг Жон фон Нейман санал болгосон бөгөөд 1946 оноос эхтэй. Энэ арга нь найдваргүй болсон тул үүнийг хурдан орхисон.

Дунд бүтээгдэхүүний арга

Тоо Р 0-ээр үржүүлнэ Р 1, олж авсан үр дүнгээс Р 2 дунд хэсгийг нь гаргаж авдаг Р 2 * (энэ нь өөр санамсаргүй тоо) ба үржүүлсэн Р 1 . Дараагийн бүх санамсаргүй тоог энэ схемийг ашиглан тооцоолно (22.7-р зургийг үз).

Цагаан будаа. 22.7. Медиан бүтээгдэхүүний аргын схем

Хутгах арга

Холих арга нь нүдний агуулгыг зүүн, баруун тийш эргүүлэх үйлдлүүдийг ашигладаг. Аргын санаа нь дараах байдалтай байна. Нүдэнд анхны дугаарыг хадгалахыг зөвшөөрнө үү Р 0 . Нүдний агуулгыг нүдний уртын 1/4-ээр зүүн тийш эргүүлснээр бид шинэ дугаар авах болно. Р 0 * . Үүнтэй адилаар эсийн агуулгыг дугуйлах Р 0 баруун тийш нүдний уртын 1/4-ээр бид хоёр дахь тоог авна Р 0**. Тоонуудын нийлбэр Р 0* ба Р 0** шинэ санамсаргүй тоог өгнө Р 1 . Цаашид Р 1 орсон байна Р 0, үйлдлүүдийн бүх дараалал давтагдана (22.8-р зургийг үз).


Цагаан будаа. 22.8. Холих аргын диаграм

Дүгнэлтээс гарсан тоо гэдгийг анхаарна уу Р 0* ба Р 0 ** , нүдэнд бүрэн багтахгүй байж болно Р 1 . Энэ тохиолдолд гарсан тооноос нэмэлт цифрүүдийг хаях ёстой. Үүнийг Зураг дээр тайлбарлая. 22.8, энд бүх нүдийг найман хоёртын цифрээр илэрхийлнэ. Болъё Р 0 * = 10010001 2 = 145 10 , Р 0 ** = 10100001 2 = 161 10 , Дараа нь Р 0 * + Р 0 ** = 100110010 2 = 306 10 . Таны харж байгаагаар 306 тоо нь 9 оронтой (хоёртын тооллын системд), нүд нь Р 1 (ижилхэн Р 0) дээд тал нь 8 бит агуулж болно. Тиймээс утгыг оруулахын өмнө Р 1, 306 дугаараас нэг "нэмэлт", зүүн талын битийг хасах шаардлагатай. Р 1 нь 306 руу явахаа больж, 00110010 2 = 50 10 руу очих болно. Паскаль зэрэг хэл дээр нүд халих үед нэмэлт битүүдийг "тайрах" нь хувьсагчийн заасан төрлийн дагуу автоматаар хийгддэг гэдгийг анхаарна уу.

Шугаман конгруент арга

Шугаман конгруент арга нь санамсаргүй тоог дуурайдаг хамгийн энгийн бөгөөд түгээмэл хэрэглэгддэг процедуруудын нэг юм. Энэ арга нь mod( x, y) , энэ нь эхний аргументыг хоёр дахь хэсэгт хуваахад үлдэгдлийг буцаана. Дараагийн санамсаргүй тоо бүрийг өмнөх санамсаргүй тоон дээр үндэслэн дараах томъёогоор тооцоолно.

r би+ 1 = горим( к · r би + б, М) .

Энэ томьёог ашиглан олж авсан санамсаргүй тоонуудын дарааллыг нэрлэдэг шугаман конгруент дараалал. Олон зохиогчид шугаман конгруент дарааллыг хэзээ гэж нэрлэдэг б = 0 үржүүлэх конгруент арга, Тэгээд хэзээ б ≠ 0 — холимог конгруент арга.

Өндөр чанартай генераторын хувьд тохирох коэффициентийг сонгох шаардлагатай. Энэ нь тоо байх шаардлагатай Мхугацаа илүү байж болохгүй тул нэлээд том байсан Мэлементүүд. Нөгөө талаас, энэ аргад ашигласан хуваагдал нь нэлээд удаан ажиллагаатай тул хоёртын компьютерийн хувьд логик сонголт нь дараах байдалтай байна. М = 2 Н, учир нь энэ тохиолдолд хуваалтын үлдэгдлийг олох нь компьютер дотор хоёртын логик үйлдэл болох "AND" болж буурдаг. Хамгийн том анхны тоог сонгох нь бас түгээмэл байдаг М, 2-оос бага Н: тусгай ном зохиолд энэ тохиолдолд үүссэн санамсаргүй тооны доод эрэмбийн цифрүүд нотлогдсон байдаг. r би+ 1 нь хуучин тоонуудын адил санамсаргүй байдлаар ажилладаг бөгөөд энэ нь санамсаргүй тоонуудын бүх дараалалд эерэг нөлөө үзүүлдэг. Үүний нэг жишээ болгон Мерсений тоо, 2 31 1-тэй тэнцүү бөгөөд ингэснээр, М= 2 31 1 .

Шугаман конгруент дараалалд тавигдах шаардлагуудын нэг бол хугацааны урт нь аль болох урт байх явдал юм. Хугацааны урт нь утгуудаас хамаарна М , кТэгээд б. Бидний доор танилцуулж буй теорем нь тодорхой утгуудын хувьд хамгийн их урттай хугацааг олж авах боломжтой эсэхийг тодорхойлох боломжийг олгодог М , кТэгээд б .

Теорем. Тоогоор тодорхойлогдсон шугаман конгруент дараалал М , к , бТэгээд r 0 нь урт хугацааны хугацаатай Мхэрэв зөвхөн дараах тохиолдолд:

  • тоо бТэгээд Мхарьцангуй энгийн;
  • к 1 удаа хЕрөнхий сайд бүрийн хувьд х, энэ нь хуваагч юм М ;
  • к 1 нь 4-ийн үржвэр, хэрэв М 4-ийн олон.

Эцэст нь санамсаргүй тоо үүсгэх шугаман конгруент аргыг ашиглах хэд хэдэн жишээгээр дуусгая.

1-р жишээн дэх өгөгдөл дээр үндэслэн үүсгэсэн псевдо санамсаргүй тоонуудын цуваа өдөр бүр давтагдах болно гэдгийг тогтоосон. М/4 тоо. Тоо qТооцоолол эхлэхээс өмнө дур зоргоороо тохируулагддаг боловч цуврал нь санамсаргүй мэт сэтгэгдэл төрүүлдэг гэдгийг анхаарах хэрэгтэй. к(Тиймээс q). Үр дүн нь бага зэрэг сайжирч болно бхачин ба к= 1 + 4 · q энэ тохиолдолд мөр бүр давтагдана Мтоо. Удаан хайсны эцэст кСудлаачид 69069 ба 71365 гэсэн утгууд дээр тогтжээ.

Жишээ 2-ын өгөгдлийг ашиглан санамсаргүй тоо үүсгэгч нь 7 сая үетэй санамсаргүй, давтагдахгүй тоог гаргана.

Хуурамч санамсаргүй тоо үүсгэх үржүүлэх аргыг 1949 онд Д.Х.Леммер санал болгосон.

Генераторын чанарыг шалгаж байна

Бүхэл системийн чанар, үр дүнгийн нарийвчлал нь RNG-ийн чанараас хамаарна. Тиймээс RNG-ийн үүсгэсэн санамсаргүй дараалал нь хэд хэдэн шалгуурыг хангасан байх ёстой.

Шалгалт нь хоёр төрөлтэй:

  • хуваарилалтын жигд байдлыг шалгах;
  • статистикийн бие даасан байдлын тест.

Түгээлтийн жигд байдлыг шалгана

1) RNG нь ойролцоо үйлдвэрлэх ёстой дараах утгуудНэг төрлийн санамсаргүй хуулийн статистик үзүүлэлтүүд:

2) Давтамжийн туршилт

Давтамжийн тест нь интервал дотор хэдэн тоо байгааг олж мэдэх боломжийг олгодог (м r – σ r ; м r + σ r) , өөрөөр хэлбэл (0.5 0.2887; 0.5 + 0.2887) эсвэл эцэст нь (0.2113; 0.7887). 0.7887 0.2113 = 0.5774 тул сайн RNG-д зурсан бүх санамсаргүй тоонуудын 57.7 орчим хувь нь энэ интервалд орох ёстой гэж бид дүгнэж байна (Зураг 22.9-ийг үз).

Цагаан будаа. 22.9. Хамгийн тохиромжтой RNG-ийн давтамжийн диаграм
давтамжийн туршилтаар шалгах тохиолдолд

Мөн интервалд (0; 0.5) орох тооны тоо нь интервалд (0.5; 1) орох тооны тоотой ойролцоогоор тэнцүү байх ёстой гэдгийг анхаарч үзэх хэрэгтэй.

3) Хи-квадрат тест

Хи-квадрат тест (χ 2 тест) нь хамгийн алдартай статистик тестүүдийн нэг юм; бусад шалгууртай хослуулан хэрэглэдэг гол арга юм. Хи-квадрат тестийг 1900 онд Карл Пирсон санал болгосон. Түүний гайхалтай бүтээлийг орчин үеийн математикийн статистикийн үндэс суурь гэж үздэг.

Бидний хувьд хи-квадрат шалгуурыг ашиглан шалгах нь хэр их байгааг олж мэдэх боломжийг олгоно жинхэнэ RNG нь RNG жишиг үзүүлэлттэй ойролцоо байна, өөрөөр хэлбэл энэ нь жигд хуваарилалтын шаардлагыг хангаж байна уу, үгүй ​​юу.

Давтамжийн диаграм лавлагаа RNG-ийг Зураг дээр үзүүлэв. 22.10. Лавлагаа RNG-ийн тархалтын хууль жигд байгаа тул (онолын) магадлал х битоо оруулах би th интервал (эдгээр бүх интервалууд к) тэнцүү байна х би = 1/к . Ингээд тус бүрд кинтервалууд цохих болно гөлгөр By х би · Н тоо ( Нүүсгэсэн тооны нийт тоо).

Цагаан будаа. 22.10. Лавлагаа RNG-ийн давтамжийн диаграм

Жинхэнэ RNG нь тоонуудыг бүхэлд нь тараасан (мөн заавал жигд биш!) үүсгэдэг кинтервалууд ба интервал бүрийг агуулна n битоо (нийт n 1 + n 2 + + n к = Н ). Туршиж буй RNG нь хэр сайн, лавлагаатай хэр ойрхон байгааг бид хэрхэн тодорхойлох вэ? Үр дүнгийн тоонуудын хоорондох квадрат ялгааг авч үзэх нь логик юм n биболон "лавлагаа" х би · Н . Тэдгээрийг нэмээд үр дүн нь:

χ 2 exp. = ( n 1 х 1 · Н) 2 + (n 2 х 2 · Н) 2 + + ( n к – х к · Н) 2 .

Энэ томъёоноос харахад нэр томъёо тус бүрийн ялгаа бага байх тусам (тиймээс бага үнэ цэнэχ 2 exp. ), бодит RNG-ээр үүсгэгдсэн санамсаргүй тоонуудын тархалтын хууль илүү хүчтэй байх тусам жигд байх хандлагатай байдаг.

Өмнөх илэрхийлэлд нэр томьёо тус бүрд ижил жинтэй (1-тэй тэнцүү) оноогдсон бөгөөд энэ нь үнэн хэрэгтээ үнэн биш байж магадгүй юм; Тиймээс хи-квадрат статистикийн хувьд тус бүрийг хэвийн болгох шаардлагатай би-р үе, хуваах х би · Н :

Эцэст нь, үүссэн илэрхийлэлийг илүү нягт нямбай бичиж, хялбаршуулъя:

Бид хи-квадрат тестийн утгыг авсан туршилтынөгөгдөл.

Хүснэгтэнд 22.2 өгөгдсөн онолынхи-квадрат утгууд (χ 2 онолын хувьд), хаана ν = Н 1 нь эрх чөлөөний зэрэглэлийн тоо, хЭнэ нь хэрэглэгчийн тодорхойлсон итгэлийн түвшин бөгөөд RNG нь жигд хуваарилалтын шаардлагыг хэр хангах ёстойг илэрхийлдэг. х — магадлал нь туршилтын утга нь χ 2 exp. хүснэгтийн (онолын) χ 2 онолоос бага байх болно. эсвэл түүнтэй тэнцүү.

Хүснэгт 22.2.
χ 2 тархалтын зарим хувь
p = 1% p = 5% p = 25% p = 50% p = 75% p = 95% p = 99%
ν = 1 0.00016 0.00393 0.1015 0.4549 1.323 3.841 6.635
ν = 2 0.02010 0.1026 0.5754 1.386 2.773 5.991 9.210
ν = 3 0.1148 0.3518 1.213 2.366 4.108 7.815 11.34
ν = 4 0.2971 0.7107 1.923 3.357 5.385 9.488 13.28
ν = 5 0.5543 1.1455 2.675 4.351 6.626 11.07 15.09
ν = 6 0.8721 1.635 3.455 5.348 7.841 12.59 16.81
ν = 7 1.239 2.167 4.255 6.346 9.037 14.07 18.48
ν = 8 1.646 2.733 5.071 7.344 10.22 15.51 20.09
ν = 9 2.088 3.325 5.899 8.343 11.39 16.92 21.67
ν = 10 2.558 3.940 6.737 9.342 12.55 18.31 23.21
ν = 11 3.053 4.575 7.584 10.34 13.70 19.68 24.72
ν = 12 3.571 5.226 8.438 11.34 14.85 21.03 26.22
ν = 15 5.229 7.261 11.04 14.34 18.25 25.00 30.58
ν = 20 8.260 10.85 15.45 19.34 23.83 31.41 37.57
ν = 30 14.95 18.49 24.48 29.34 34.80 43.77 50.89
ν = 50 29.71 34.76 42.94 49.33 56.33 67.50 76.15
ν > 30 ν + sqrt(2 ν ) · x х+ 2/3 · x 2 х 2/3 + О(1/sqrt( ν ))
x х = 2.33 1.64 0.674 0.00 0.674 1.64 2.33

Зөвшөөрөгдөх боломжтой гэж үзсэн х 10% -аас 90% хүртэл.

Хэрэв χ 2 exp. χ 2 онолоос хамаагүй илүү. (тэр бол хтом), дараа нь генератор хангадаггүйажиглагдсан утгуудаас хойш жигд тархалтын шаардлага n бионолоос хэт хол явах х би · Н мөн санамсаргүй гэж үзэж болохгүй. Өөрөөр хэлбэл, тоон дээрх хязгаарлалт маш сул болж, тоонд тавигдах шаардлага сул болж, ийм том итгэлийн интервал бий болсон. Энэ тохиолдолд маш том үнэмлэхүй алдаа ажиглагдах болно.

Д.Кнут хүртэл “Програмчлалын урлаг” номондоо χ 2 exp-тэй болохыг тэмдэглэжээ. жижиг хүмүүсийн хувьд энэ нь ерөнхийдөө тийм ч сайн биш боловч энэ нь анх харахад жигд байдлын үүднээс гайхалтай юм шиг санагддаг. Үнэн хэрэгтээ 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6 гэсэн хэд хэдэн тоонуудыг ав, тэдгээр нь нэгдмэл байдлын үүднээс идеал юм. 2 экс. нь бараг тэг байх болно, гэхдээ та тэдгээрийг санамсаргүй гэж хүлээн зөвшөөрөх магадлал багатай.

Хэрэв χ 2 exp. χ 2 онолоос хамаагүй бага. (тэр бол хжижиг), дараа нь генератор хангадаггүйажиглагдсан утгуудаас хойш санамсаргүй жигд тархалтын шаардлага n бионолын хувьд дэндүү ойрхон байна х би · Н мөн санамсаргүй гэж үзэж болохгүй.

Харин χ 2 exp бол. χ 2 онолын хоёр утгын хооронд тодорхой мужид оршдог. , харгалзах, жишээ нь, х= 25% ба х= 50%, тэгвэл мэдрэгчийн үүсгэсэн санамсаргүй тооны утгууд нь бүрэн санамсаргүй байна гэж бид үзэж болно.

Үүнээс гадна, бүх үнэ цэнийг санаж байх хэрэгтэй х би · Н хангалттай том байх ёстой, жишээлбэл 5-аас дээш (эмпирик байдлаар олж мэдсэн). Зөвхөн дараа нь (хангалттай том статистикийн түүвэртэй) туршилтын нөхцөлийг хангалттай гэж үзэж болно.

Тиймээс баталгаажуулах журам дараах байдалтай байна.

Статистикийн бие даасан байдлын тест

1) Дараалсан тоонуудын давтамжийг шалгах

Нэг жишээ авч үзье. Санамсаргүй тоо 0.2463389991 нь 2463389991 цифрүүдээс, 0.5467766618 тоо нь 5467766618 цифрүүдээс бүрдэнэ. Цифрүүдийн дарааллыг холбовол бид: 2463389996161.

Онолын магадлал гэдэг нь ойлгомжтой х биалдагдал би 0-ээс 9 хүртэлх цифр нь 0.1-тэй тэнцүү байна.

2) Ижил тооны цувралын харагдах байдлыг шалгах

-ээр тэмдэглэе n Луртын эгнээ дэх ижил цифрүүдийн цувралын тоо Л. Бүх зүйлийг шалгах хэрэгтэй Л 1-ээс м, Хаана мЭнэ нь хэрэглэгчийн тодорхойлсон тоо: цуврал дахь ижил цифрүүдийн хамгийн их тоо.

“24633899915467766618” жишээнд 2 (33 ба 77) урттай 2 цуврал олдсон. n 2 = 2 ба 2 цуврал 3 (999 ба 666) урттай, өөрөөр хэлбэл n 3 = 2 .

Цуврал урттай тохиолдох магадлал Лтэнцүү байна: х Л= 9 10 Л (онолын). Өөрөөр хэлбэл, нэг тэмдэгтийн урттай цуврал гарах магадлал нь дараахтай тэнцүү байна. х 1 = 0.9 (онолын). Хоёр тэмдэгтийн цуврал гарч ирэх магадлал нь: х 2 = 0.09 (онолын). Гурван тэмдэгтийн цуврал гарч ирэх магадлал нь: х 3 = 0.009 (онолын).

Жишээлбэл, нэг тэмдэгтийн урттай цуврал гарах магадлал х Л= 0.9, учир нь 10-аас зөвхөн нэг тэмдэг байж болох бөгөөд нийт 9 тэмдэгт байдаг (тэгийг тооцохгүй). "XX" гэсэн хоёр ижил тэмдэг дараалан гарч ирэх магадлал 0.1 · 0.1 · 9, өөрөөр хэлбэл "X" тэмдэг эхний байрлалд гарч ирэх 0.1 магадлалыг 0.1 магадлалаар үржүүлнэ. "X" гэсэн хоёр дахь байрлалд ижил тэмдэг гарч ирэх ба ийм хослолын тоогоор 9 үржүүлнэ.

Цуврал үүсэх давтамжийг утгуудыг ашиглан бид өмнө нь авч үзсэн хи-квадрат томъёог ашиглан тооцоолно х Л .

Тайлбар: Генераторыг олон удаа турших боломжтой боловч туршилтууд нь бүрэн гүйцэд биш бөгөөд генератор санамсаргүй тоо гаргадаг гэсэн баталгаа болохгүй. Жишээлбэл, 12345678912345 дарааллыг үүсгэдэг генераторыг туршилтын явцад хамгийн тохиромжтой гэж үзэх бөгөөд энэ нь бүрэн үнэн биш юм.

Эцэст нь хэлэхэд, Доналд Э.Кнутын "Програмчлалын урлаг" (2-р боть) номын 3-р бүлэг бүхэлдээ санамсаргүй тооны судалгаанд зориулагдсан болохыг бид тэмдэглэж байна. Энэ нь санамсаргүй тоо үүсгэх төрөл бүрийн аргууд, санамсаргүй байдлын статистик тест, жигд тархсан санамсаргүй тоонуудыг бусад төрлийн санамсаргүй хэмжигдэхүүн болгон хувиргах аргуудыг судалдаг. Энэ материалын танилцуулгад хоёр зуу гаруй хуудас зориулагдсан болно.

Бидэнд өгөгдсөн хуваарилалтад захирагдах практик бие даасан элементүүдээс бүрдэх тоонуудын дараалал бий. Дүрмээр бол жигд хуваарилалт.

Та Excel дээр санамсаргүй тоонуудыг янз бүрийн арга, аргаар үүсгэж болно. Тэдгээрийн зөвхөн хамгийн сайныг нь авч үзье.

Excel дэх санамсаргүй тооны функц

  1. RAND функц нь санамсаргүй, жигд тархсан бодит тоог буцаана. Энэ нь 1-ээс бага, 0-ээс их эсвэл тэнцүү байх болно.
  2. RANDBETWEEN функц нь санамсаргүй бүхэл тоог буцаана.

Тэдгээрийн хэрэглээг жишээн дээр авч үзье.

RAND ашиглан санамсаргүй тоонуудыг түүвэрлэх

Энэ функц нь аргумент шаарддаггүй (RAND()).

Жишээлбэл, 1-ээс 5 хүртэлх зайд санамсаргүй бодит тоо үүсгэхийн тулд дараах томъёог ашиглана уу: =RAND()*(5-1)+1.

Буцаагдсан санамсаргүй тоо нь интервалд жигд тархсан байна.

Ажлын хуудсыг тооцоолох эсвэл ажлын хуудасны аль нэг нүдэн дэх утга өөрчлөгдөх бүрт шинэ санамсаргүй тоо гарч ирдэг. Хэрэв та үүсгэсэн популяцийг хадгалахыг хүсвэл томъёог утгаар нь сольж болно.

  1. Санамсаргүй тоо бүхий нүдэн дээр дарна уу.
  2. Томъёоны мөрөнд томъёог сонгоно уу.
  3. F9 товчийг дарна уу. БА ОРУУЛАХ.

Тархалтын гистограмм ашиглан эхний түүврээс санамсаргүй тоонуудын тархалтын жигд байдлыг шалгая.


Босоо утгын хүрээ нь давтамж юм. Хэвтээ - "халааснууд".



RANDBETWEEN функц

RANDBETWEEN функцийн синтакс нь (доод хязгаар; дээд хязгаар) юм. Эхний аргумент нь хоёр дахь аргументаас бага байх ёстой. Үгүй бол функц алдаа гаргах болно. Хил хязгаарыг бүхэл тоо гэж үзнэ. Томъёо нь бутархай хэсгийг хасдаг.

Функцийг ашиглах жишээ:

0.1 ба 0.01 нарийвчлалтай санамсаргүй тоо:

Excel дээр санамсаргүй тоо үүсгэгчийг хэрхэн хийх вэ

Тодорхой мужаас утгыг үүсгэдэг санамсаргүй тоо үүсгэгч хийцгээе. Бид дараах томьёог ашигладаг: =INDEX(A1:A10,INTEGER(RAND()*10)+1).

0-ээс 100 хүртэлх зайд санамсаргүй тоо үүсгэгчийг 10 алхамаар хийцгээе.

Та текстийн утгуудын жагсаалтаас 2 санамсаргүй байдлаар сонгох хэрэгтэй. RAND функцийг ашиглан бид A1: A7 муж дахь текстийн утгыг санамсаргүй тоонуудтай харьцуулна.

Анхны жагсаалтаас санамсаргүй хоёр текстийн утгыг сонгохын тулд INDEX функцийг ашиглацгаая.

Жагсаалтаас нэг санамсаргүй утгыг сонгохын тулд дараах томъёог ашиглана: =INDEX(A1:A7,RANDBETWEEN(1,COUNT(A1:A7))).

Хэвийн тархалтын санамсаргүй тооны генератор

RAND болон RANDBETWEEN функцууд нь жигд тархалттай санамсаргүй тоог гаргадаг. Ижил магадлал бүхий ямар ч утга нь хүссэн хүрээний доод хязгаар, дээд хязгаарт орж болно. Энэ нь зорилтот утгаас асар их тархалтад хүргэдэг.

Хэвийн тархалт нь үүсгэсэн тоонуудын ихэнх нь зорилтот тоотой ойролцоо байна гэсэн үг юм. RANDBETWEEN томьёог тохируулж, хэвийн тархалттай өгөгдлийн массив үүсгэцгээе.

Бүтээгдэхүүний X өртөг нь 100 рубль юм. Үйлдвэрлэсэн багц бүхэлдээ хэвийн хуваарилалтын дагуу явагдана. Санамсаргүй хэмжигдэхүүн нь магадлалын хэвийн тархалтыг дагаж мөрддөг.

Ийм нөхцөлд хүрээний дундаж үнэ 100 рубль байна. Массив үүсгэж, 1.5 рублийн стандарт хазайлттай хэвийн тархалттай график байгуулъя.

Бид функцийг ашигладаг: =NORMINV(RAND();100;1.5).

Excel нь аль утгууд нь магадлалын хүрээнд байгааг тооцоолсон. 100 рублийн өртөгтэй бүтээгдэхүүн үйлдвэрлэх магадлал хамгийн их байдаг тул томъёо нь бусадтай харьцуулахад 100-д ​​ойрхон утгыг харуулж байна.

График зурах ажил руугаа явцгаая. Эхлээд та категори бүхий хүснэгт үүсгэх хэрэгтэй. Үүнийг хийхийн тулд бид массивыг цэгүүдэд хуваана:

Хүлээн авсан өгөгдөл дээр үндэслэн бид ердийн тархалттай диаграммыг үүсгэж болно. Утгын тэнхлэг нь интервал дахь хувьсагчдын тоо, категорийн тэнхлэг нь үе юм.

Тоонууд биднийг хаа сайгүй дагалддаг - байшин, орон сууцны дугаар, утасны дугаар, машины дугаар, паспортын дугаар, хуванцар карт, огноо, имэйлийн нууц үг. Бид хэд хэдэн тооны хослолыг өөрсдөө сонгодог боловч ихэнх нь санамсаргүй байдлаар авдаг. Бид өөрсдөө ч мэдэлгүй өдөр бүр санамсаргүй байдлаар үүсгэсэн тоог ашигладаг. Хэрэв бид PIN кодыг гаргаж ирвэл өвөрмөц кредит эсвэл цалингийн картнууц үгэнд нэвтрэхийг хориглодог найдвартай системээр үүсгэгддэг. Санамсаргүй тоо үүсгэгч нь боловсруулалтын хурд, аюулгүй байдал, өгөгдлийн бие даасан байдлыг шаарддаг газруудад аюулгүй байдлыг хангадаг.

Хуурамч санамсаргүй тоо үүсгэх үйл явц нь тодорхой хууль тогтоомжид захирагддаг бөгөөд удаан хугацааны туршид, жишээлбэл, сугалаанд ашиглагдаж ирсэн. Сүүлийн үед сугалааны машин эсвэл сугалаа ашиглан зураг зурдаг байсан. Одоо олон оронд ялалтын тоо гарч байна улсын сугалааүүсгэсэн санамсаргүй тоонуудын багцаар нарийн тодорхойлогддог.

Аргын давуу тал

Тиймээс санамсаргүй тооны генератор нь тоонуудын хослолыг санамсаргүй байдлаар тодорхойлох орчин үеийн бие даасан механизм юм. Энэ аргын өвөрмөц байдал, төгс төгөлдөр байдал нь үйл явцад гадны хөндлөнгийн оролцоо боломжгүй юм. Генератор нь жишээлбэл, дуу чимээний диод дээр бүтээгдсэн програмуудын багц юм. Төхөөрөмж нь санамсаргүй дуу чимээний урсгалыг үүсгэдэг бөгөөд одоогийн утгууд нь тоо, хэлбэрийн хослол болгон хувиргадаг.

Тоо үүсгэх нь шууд үр дүнг өгдөг - хослол үүсгэхэд хэдхэн секунд шаардлагатай. Хэрэв бид сугалааны тухай ярих юм бол оролцогчид тасалбарын дугаар нь хожсонтой таарч байгаа эсэхийг шууд олж мэдэх боломжтой. Энэ нь оролцогчдын хүссэнээр зураг зурах боломжийг олгодог. Гэхдээ аргын гол давуу тал нь урьдчилан таамаглах боломжгүй, тоо сонгох алгоритмыг тооцоолох боломжгүй юм.

Хуурамч санамсаргүй тоо хэрхэн үүсдэг

Үнэн хэрэгтээ санамсаргүй тоо нь санамсаргүй биш юм - цуврал нь өгөгдсөн тооноос эхэлж, алгоритмаар үүсгэгддэг. Псевдор санамсаргүй тоо үүсгэгч (PRNG эсвэл PRNG - псевдор санамсаргүй тоо үүсгэгч) нь ихэвчлэн жигд тархалтад хамаарах хамааралгүй мэт санагдах тоонуудын дарааллыг үүсгэдэг алгоритм юм. Компьютерийн шинжлэх ухаанд псевдор санамсаргүй тоог олон төрлийн хэрэглээнд ашигладаг: криптограф, симуляцийн загварчлал, Монте Карло арга гэх мэт. Үр дүнгийн чанар нь PRNG-ийн шинж чанараас хамаарна.

Үүсгэх эх үүсвэр нь сансрын цацрагаас резистор дахь дуу чимээ хүртэлх физик дуу чимээ байж болох ч ийм төхөөрөмжийг сүлжээний аюулгүй байдлын програмуудад бараг ашигладаггүй. Криптографийн програмууд нь статистикийн хувьд санамсаргүй байж болохгүй дарааллыг үүсгэдэг тусгай алгоритмуудыг ашигладаг. Гэсэн хэдий ч зөв сонгогдсон алгоритм нь санамсаргүй байдлын ихэнх тестийг давсан цуврал тоонуудыг гаргаж чадна. Ийм дарааллаар давтагдах хугацаа нь тоонуудыг авсан ажлын интервалаас их байна.

Орчин үеийн олон процессорууд нь RdRand гэх мэт PRNG-г агуулдаг. Өөр нэг хувилбар болгон санамсаргүй тоонуудын багцыг үүсгэж, нэг удаагийн дэвтэрт (толь бичиг) нийтэлдэг. Энэ тохиолдолд дугаарын эх сурвалж хязгаарлагдмал бөгөөд сүлжээний бүрэн аюулгүй байдлыг хангадаггүй.

PRNG-ийн түүх

Санамсаргүй тоо үүсгэгчийн прототипийг авч үзэж болно ширээний тоглоомСенет, нийтлэг Эртний ЕгипетМЭӨ 3500 онд. Нөхцөлийн дагуу хоёр тоглогч оролцож, нүүдэл нь дөрвөн хавтгай хар, цагаан саваа шидэх замаар тодорхойлогддог байсан - тэдгээр нь тухайн үеийн PRNG байсан. Саваа нэгэн зэрэг шидэж, оноог тоолсон: хэрэв нэг нь цагаан талдаа унасан бол 1 оноо ба нэмэлт нүүдэл, хоёр цагаан - хоёр оноо гэх мэт. Хамгийн их үр дүнХар талтай дөрвөн саваа шидсэн тоглогч таван оноо авсан.

Өнөө үед ERNIE генераторыг Их Британид олон жилийн турш сугалааны тохиролд ашиглаж байна. Үеийн хоёр үндсэн арга байдаг ялалтын тоо: шугаман конгруент ба нэмэлт конгруент. Эдгээр болон бусад аргууд нь санамсаргүй сонголтын зарчим дээр суурилдаг бөгөөд дарааллыг нь таах боломжгүй тоонуудыг эцэс төгсгөлгүй гаргадаг програм хангамжаар хангадаг.

PRNG нь тасралтгүй ажилладаг, жишээ нь слот машинууд. АНУ-ын хуулийн дагуу энэ шаардлагатай нөхцөл, бүх програм хангамж нийлүүлэгчид дагаж мөрдөх ёстой.