{"id":703,"date":"2017-11-02T02:10:39","date_gmt":"2017-11-01T23:10:39","guid":{"rendered":"http:\/\/enisnecipoglu.com\/?p=703"},"modified":"2017-11-02T02:20:05","modified_gmt":"2017-11-01T23:20:05","slug":"random-random-degildir","status":"publish","type":"post","link":"https:\/\/enisnecipoglu.com\/en\/random-random-degildir\/","title":{"rendered":"Random, Random de\u011fildir!"},"content":{"rendered":"<h1>Rastgele asl\u0131nda rastgele de\u011fildir.<\/h1>\n<p>Bu kadar iddial\u0131 bir ba\u015fl\u0131\u011f\u0131n alt\u0131n\u0131 sa\u011flam bir i\u00e7erik ile doldurmak gerekli tabii ki de. Umar\u0131m bu yaz\u0131n\u0131n sonunda ger\u00e7ekten ba\u011fl\u0131\u011f\u0131n vaad etti\u011fi i\u00e7eri\u011fi size sunabilirim. Hemen ba\u011flayal\u0131m o zaman ama nereden ba\u015flayal\u0131m? \u00d6nce rastgele nedir&#8217;den ba\u015flayabiliriz.<\/p>\n<p><img loading=\"lazy\" class=\"aligncenter size-full wp-image-707\" src=\"http:\/\/enisnecipoglu.com\/wp-content\/uploads\/2017\/11\/randomControl-3.png\" alt=\"enis-necipoglu-dotnet-random-random.next-randomControl\" width=\"1024\" height=\"1024\" srcset=\"https:\/\/enisnecipoglu.com\/wp-content\/uploads\/2017\/11\/randomControl-3.png 1024w, https:\/\/enisnecipoglu.com\/wp-content\/uploads\/2017\/11\/randomControl-3-150x150.png 150w, https:\/\/enisnecipoglu.com\/wp-content\/uploads\/2017\/11\/randomControl-3-300x300.png 300w, https:\/\/enisnecipoglu.com\/wp-content\/uploads\/2017\/11\/randomControl-3-768x768.png 768w, https:\/\/enisnecipoglu.com\/wp-content\/uploads\/2017\/11\/randomControl-3-600x600.png 600w, https:\/\/enisnecipoglu.com\/wp-content\/uploads\/2017\/11\/randomControl-3-350x350.png 350w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/p>\n<h2>Rastgele Nedir ?<\/h2>\n<p>Rastgele TDK&#8217;nin <a href=\"http:\/\/tdk.gov.tr\/index.php?option=com_gts&amp;kelime=RASTGELE\">bu sayfas\u0131nda<\/a> \u015f\u00f6yle tan\u0131mlanm\u0131\u015f:<\/p>\n<p>&#8220;<i>s\u0131fat<\/i>\u00a0Geli\u015fig\u00fczel&#8221;<\/p>\n<p>&#8220;<i>zarf<\/i>\u00a0(ra&#8217;stgele) Se\u00e7meden, iyisini k\u00f6t\u00fcs\u00fcn\u00fc ay\u0131rmadan, geli\u015fig\u00fczel, lalettayin&#8221;<\/p>\n<p>Ya da\u00a0<strong>Rastgelelik\u00a0<\/strong>hakk\u0131nda Wikipedia&#8217;deki \u015fu <a href=\"https:\/\/tr.wikipedia.org\/wiki\/Rastgelelik\">paragraf\u0131<\/a>\u00a0 okuyabilir &#8211; pardon okuyamazs\u0131n\u0131z &#8211; Burada ise :<\/p>\n<blockquote><p>Rastgelelik,\u00a0olaylarda belirli bir\u00a0paternin\u00a0veya \u00f6ng\u00f6r\u00fclebilirli\u011fin olmama halidir.<sup id=\"cite_ref-1\" class=\"reference\">[1]<\/sup>\u00a0Rastgele olaylardan, sembollerden ya da ad\u0131mlardan olu\u015fan bir dizi, herhangi bir mant\u0131ksal kombinasyona ya da paterne uyumluluk g\u00f6stermez. Tekil rastgele olaylar tan\u0131mlar\u0131 gere\u011fi \u00f6ng\u00f6r\u00fclemezlerdir. Ancak \u00e7o\u011fu durumda, farkl\u0131 sonu\u00e7lar\u0131n olu\u015fum s\u0131kl\u0131\u011f\u0131n\u0131n \u00e7ok say\u0131daki olaylar k\u00fcmesine da\u011f\u0131l\u0131m\u0131 tahmin edilebilir. \u00d6rne\u011fin, iki zar at\u0131ld\u0131\u011f\u0131nda, tekil bir at\u0131\u015f\u0131n sonucu tahmin edilemezken; toplamda 7 gelmesi, 4 gelmesinden iki kat daha s\u0131k olacakt\u0131r. Bu a\u00e7\u0131dan bak\u0131ld\u0131\u011f\u0131nda rastgelelik, tesad\u00fcften ziyade bir sonucun belirsizli\u011finin \u00f6l\u00e7\u00fcm\u00fcd\u00fcr ve de\u00a0olas\u0131l\u0131k,\u00a0bilgi entropisi\u00a0ve \u015fans kavramlar\u0131nda uygulan\u0131r.<\/p><\/blockquote>\n<p>&nbsp;<\/p>\n<p>Bu a\u00e7\u0131klamalar bize d\u00fczensiz, <span style=\"text-decoration: underline;\">\u00f6nceden kestirilemeyen<\/span> <em>(bu konuya yaz\u0131n\u0131n devam\u0131nda de\u011finece\u011fim)\u00a0<\/em>ve tamamen \u015fansa ba\u011fl\u0131 olarak g\u00f6r\u00fcnmekte. Peki ger\u00e7ekten b\u00f6yle mi? En az\u0131ndan g\u00fcnl\u00fck hayatta kulland\u0131\u011f\u0131m\u0131z rastgelelikler&#8230;<\/p>\n<h2>Yaz\u0131l\u0131mda Rastgelelik<\/h2>\n<p>Hemen hemen her g\u00fcn, yaz\u0131l\u0131msal olarak olu\u015fturulan en az 1 rastgelelik ile kar\u015f\u0131la\u015f\u0131yoruz. Bu bir rastgele say\u0131 olabilir, rastgele se\u00e7ilmi\u015f bir \u00f6genin bize g\u00f6sterilmesi olabilir veya \u015fans olarak yorumlad\u0131\u011f\u0131m\u0131z\u00a0 herhangi bir \u015fey olabilir. Ama ger\u00e7ekte rastgele var m\u0131d\u0131r? Evrende bile hi\u00e7bir \u015fey rastgele de\u011filken, insano\u011flunun icat etmi\u015f oldu\u011fu 2&#8217;lik say\u0131 sistemiyle \u00e7al\u0131\u015fan bir makinede nas\u0131l rastgelelik olabilir ki? Yaz\u0131l\u0131mla biraz u\u011fra\u015fan arkada\u015flar bilecektir ki 2 farkl\u0131 random instance&#8217;\u0131ndan \u00fcretilen rastgele say\u0131lar\u0131n birbiri ile ayn\u0131d\u0131r. \u015e\u00f6yle \u00f6rnek verelim:<\/p>\n<div class=\"codecolorer-container csharp default\" style=\"overflow:auto;white-space:nowrap;width:100%;\"><div class=\"csharp codecolorer\">Random random1 <span class=\"sy0\">=<\/span> <span class=\"kw3\">new<\/span> Random<span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\nRandom random2 <span class=\"sy0\">=<\/span> <span class=\"kw3\">new<\/span> Random<span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n<span class=\"kw1\">private<\/span> <span class=\"kw4\">void<\/span> GenerageRandom<span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><br \/>\n<span class=\"br0\">&#123;<\/span><br \/>\nConsole<span class=\"sy0\">.<\/span><span class=\"me1\">WriteLine<\/span><span class=\"br0\">&#40;<\/span>random1<span class=\"sy0\">.<\/span><span class=\"me1\">Next<\/span><span class=\"br0\">&#40;<\/span><span class=\"kw4\">int<\/span><span class=\"sy0\">.<\/span><span class=\"me1\">MinValue<\/span>,<span class=\"kw4\">int<\/span><span class=\"sy0\">.<\/span><span class=\"me1\">MaxValue<\/span><span class=\"br0\">&#41;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n<span class=\"br0\">&#125;<\/span><\/div><\/div>\n<p>Bu \u015fekilde 2 farkl\u0131 random&#8217;dan \u00fcretti\u011fimiz say\u0131lar ayn\u0131 \u00e7\u0131kacakt\u0131r. Evet bu \u00e7ok da tatmin edici gelmedi. Bunu \u015f\u00f6yle de\u011fi\u015ftirerek inceleyelim.<\/p>\n<div class=\"codecolorer-container csharp default\" style=\"overflow:auto;white-space:nowrap;width:100%;\"><div class=\"csharp codecolorer\">Console<span class=\"sy0\">.<\/span><span class=\"me1\">WriteLine<\/span><span class=\"br0\">&#40;<\/span>random1<span class=\"sy0\">.<\/span><span class=\"me1\">Next<\/span><span class=\"br0\">&#40;<\/span><span class=\"nu0\">0<\/span>,<span class=\"nu0\">100<\/span><span class=\"br0\">&#41;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\nConsole<span class=\"sy0\">.<\/span><span class=\"me1\">WriteLine<\/span><span class=\"br0\">&#40;<\/span>random2<span class=\"sy0\">.<\/span><span class=\"me1\">Next<\/span><span class=\"br0\">&#40;<\/span><span class=\"nu0\">0<\/span>,<span class=\"nu0\">10000<\/span><span class=\"br0\">&#41;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><\/div><\/div>\n<p>Burada da \u015funa benzer bir sonu\u00e7 elde etmi\u015f olaca\u011f\u0131z:<\/p>\n<p>1.Denemede;<\/p>\n<p>random1 = 16\u00a0 |\u00a0 random2 = 1637<\/p>\n<p>2.Denemede ise<\/p>\n<p>random1 = 55 | random2 =5573<\/p>\n<p>gibi birbiri ile alakas\u0131n\u0131 g\u00f6rebilece\u011fimiz sonu\u00e7lar elde etmi\u015f oluyoruz. Veya \u015fu \u015fekilde deneyerek de alm\u0131\u015f oldu\u011fumuz say\u0131lar\u0131n verdi\u011fimiz \u00fcst limete g\u00f6re oran\u0131n\u0131 da g\u00f6rebiliriz:<\/p>\n<div class=\"codecolorer-container csharp default\" style=\"overflow:auto;white-space:nowrap;width:100%;\"><div class=\"csharp codecolorer\">Console<span class=\"sy0\">.<\/span><span class=\"me1\">WriteLine<\/span><span class=\"br0\">&#40;<\/span>random1<span class=\"sy0\">.<\/span><span class=\"me1\">Next<\/span><span class=\"br0\">&#40;<\/span><span class=\"nu0\">0<\/span>,<span class=\"nu0\">100<\/span><span class=\"br0\">&#41;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\nConsole<span class=\"sy0\">.<\/span><span class=\"me1\">WriteLine<\/span><span class=\"br0\">&#40;<\/span>random2<span class=\"sy0\">.<\/span><span class=\"me1\">Next<\/span><span class=\"br0\">&#40;<\/span><span class=\"nu0\">0<\/span>,<span class=\"nu0\">200<\/span><span class=\"br0\">&#41;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><\/div><\/div>\n<p>Bir ka\u00e7 denemede\u00a0<strong>10\u00a0<\/strong>ve\u00a0<strong>20\u00a0<\/strong>sonu\u00e7lar\u0131n\u0131 elde ettim. 10 say\u0131s\u0131 vermi\u015f oldu\u011fum \u00fcst limitin<em>(100)\u00a0<\/em>onda biri yani y\u00fczde 10&#8217;una takab\u00fcl etmekte. 20 say\u0131s\u0131 ise vermi\u015f oldu\u011fum \u00fcst limitin<em>(200)<\/em> onda birine yani birinci gibi %10&#8217;una denk geliyor. Yava\u015f yava\u015f i\u015flerin <strong>ger\u00e7ek bir rastgele<\/strong>den ibaret olmad\u0131\u011f\u0131n\u0131 g\u00f6stermeye ba\u015fl\u0131yor.<\/p>\n<p>Bu i\u015fi biraz daha gariple\u015ftirerek bir Form uygulamas\u0131nda \u015funu yapabiliriz.<\/p>\n<p><img loading=\"lazy\" class=\"aligncenter size-full wp-image-704\" src=\"http:\/\/enisnecipoglu.com\/wp-content\/uploads\/2017\/11\/randomControl.png\" alt=\"enis-necipoglu-dotnet-random-random.next-randomControl\" width=\"1309\" height=\"592\" srcset=\"https:\/\/enisnecipoglu.com\/wp-content\/uploads\/2017\/11\/randomControl.png 1309w, https:\/\/enisnecipoglu.com\/wp-content\/uploads\/2017\/11\/randomControl-300x136.png 300w, https:\/\/enisnecipoglu.com\/wp-content\/uploads\/2017\/11\/randomControl-768x347.png 768w, https:\/\/enisnecipoglu.com\/wp-content\/uploads\/2017\/11\/randomControl-1024x463.png 1024w, https:\/\/enisnecipoglu.com\/wp-content\/uploads\/2017\/11\/randomControl-600x271.png 600w\" sizes=\"(max-width: 1309px) 100vw, 1309px\" \/><\/p>\n<p>Butona her bas\u0131\u011f\u0131m\u0131zda rastgele bir say\u0131 olu\u015fturmas\u0131 i\u00e7in buttonun alt\u0131nda\u00a0<em><strong>MessageBox.Show(random2.Next(0, 100).ToString());\u00a0<\/strong><\/em>kodunu yazd\u0131k. Daha sonra da runtime&#8217;da olu\u015facak olan ilk 100 say\u0131y\u0131 da \u00f6nceden g\u00f6rebilmemiz i\u00e7in listbox&#8217;a s\u0131rayla hepsini ekledik.<\/p>\n<p>Art\u0131k listbox&#8217;da yazan say\u0131lar, butona her bast\u0131\u011f\u0131mda s\u0131rayla gelecek.<img loading=\"lazy\" class=\"aligncenter size-full wp-image-705\" src=\"http:\/\/enisnecipoglu.com\/wp-content\/uploads\/2017\/11\/randomControl-1.png\" alt=\"enis-necipoglu-dotnet-random-random.next-randomControl\" width=\"505\" height=\"476\" srcset=\"https:\/\/enisnecipoglu.com\/wp-content\/uploads\/2017\/11\/randomControl-1.png 505w, https:\/\/enisnecipoglu.com\/wp-content\/uploads\/2017\/11\/randomControl-1-300x283.png 300w\" sizes=\"(max-width: 505px) 100vw, 505px\" \/><\/p>\n<p>Bu da bize Random&#8217;un bir algoritma ile olu\u015fturuldu\u011funu g\u00f6sterir. Zaten yaz\u0131n\u0131n en ba\u015f\u0131nda da rastgeleli\u011fin \u015fanstan veya tesad\u00fcften olu\u015fmad\u0131\u011f\u0131na ithafen bir g\u00f6ndermede bulunmu\u015ftum.<\/p>\n<p>Peki bu sonu\u00e7 ak\u0131llarda bir soru i\u015fareti olu\u015fturmuyor mu? Herhangi bir yerde ve zamanda olu\u015fturulan rastgele say\u0131 \u00f6nceden tahmin edilebilir mi? Bu soruyu yan\u0131tlamak i\u00e7in biraz \u00f6nce yapt\u0131\u011f\u0131m\u0131z uygulamay\u0131 durdurup yeniden \u00e7al\u0131\u015ft\u0131rabiliriz. Tamam\u0131yla farkl\u0131 say\u0131lar kar\u015f\u0131m\u0131za gelecektir. Yani asl\u0131nda bir uygulaman\u0131n ya\u015fam d\u00f6ng\u00fcs\u00fc i\u00e7erisinde gelebilecek t\u00fcm rastgele say\u0131lar uygulama ilk \u00e7al\u0131\u015ft\u0131r\u0131ld\u0131\u011f\u0131nda belirlenmi\u015f gibi g\u00f6z\u00fck\u00fcyor. Evet asl\u0131nda buna benzer bir \u015fekilde ger\u00e7ekle\u015fiyor olaylar. Kula\u011fa olduk\u00e7a korkun\u00e7 gelmeye ba\u015flamadan \u00f6nce as\u0131l soruyu soral\u0131m? Peki ya \u015fans oyunlar\u0131? veya baz\u0131 oyunlarda var olan \u015fans fakt\u00f6rleri?\u00a0 Belirli bir y\u00fczde ile kazanma \u015fans\u0131 gibi pek \u00e7ok ihtimaller dijital ortamda olu\u015fturuluyor. Peki ya bu say\u0131lar \u00f6nceden kestirilebilir mi? Bu say\u0131lar\u0131 \u00f6nceden kestirmek tabii ki m\u00fcmk\u00fcnd\u00fcr. Fakat bunun i\u00e7in ger\u00e7ekten \u00e7ok \u015fansl\u0131 olmal\u0131s\u0131n\u0131z. \u00c7\u00fcnk\u00fc ger\u00e7ek anlamda bu say\u0131lar\u0131 \u00f6nceden bilmek imkans\u0131z gibi g\u00f6r\u00fcn\u00fcyor.\u00a0<strong><em>(M\u00fcmk\u00fcn ama biz ona yine de bu \u015fartlar alt\u0131nda imkans\u0131z diyelim)\u00a0<\/em><\/strong>\u00c7\u00fcnk\u00fc rastgele olu\u015fturmak i\u00e7in bir algoritma kullanmaktay\u0131z. Tahmin etmeye \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131z rastgelelik nas\u0131l bir algoritma ile \u00fcretiliyor ve \u00fcretildikten sonra ne baz al\u0131narak y\u00fczdelik hesaplan\u0131yor. \u00d6rnek vermek gerekirse Y\u00fczde 20&#8217;lik bir ihtimali hesaplamak i\u00e7in\u00a0<strong>1\u00a0<\/strong>ile\u00a0<strong>5\u00a0<\/strong>aras\u0131nda bir say\u0131 \u00fcretip bu say\u0131n\u0131n 1 gelme olas\u0131l\u0131\u011f\u0131 veya 2 gelme olas\u0131l\u0131\u011f\u0131 3,4, veya 5 gelme olas\u0131l\u0131\u011f\u0131 kontrol edilebilir. Sadece bu \u00f6rnekte bile ihtimal 5 farkl\u0131 ihtimali daha do\u011furdu. Y\u00fczde 20&#8217;lik bir ihtimali hesaplaman\u0131n\u00a0<strong>1 &#8211;\u00a0<\/strong><strong>100\u00a0<\/strong>aras\u0131nda bir say\u0131 \u00fcretilip bu say\u0131n\u0131n\u00a0<strong>20&#8217;den k\u00fc\u00e7\u00fck<\/strong> olmas\u0131 veya\u00a0<strong>80&#8217;den<\/strong><strong> b\u00fcy\u00fck\u00a0<\/strong>olmas\u0131 gibi veya\u00a0<strong>20 &#8211; 40\u00a0<\/strong>aras\u0131nda olmas\u0131na bak\u0131lmas\u0131 gibi pek \u00e7ok ihtimale bak\u0131l\u0131yor olabilir.<\/p>\n<p>Bunu bile kestirmesi imkans\u0131z g\u00f6z\u00fck\u00fcyorken rastgele say\u0131 olu\u015fturmak i\u00e7in aktif olarak kullan\u0131lan\u00a0<strong>Subtractive\u00a0<\/strong>algoritmes\u0131n\u0131 e\u011fer\u00a0<strong>custom seed<\/strong> kullan\u0131lm\u0131yor ise tahmin etmesi ger\u00e7ekten imkans\u0131z g\u00f6z\u00fck\u00fcyor.<\/p>\n<p>Algoritma ise\u00a0<strong>bilimsel<\/strong> olarak<\/p>\n<p><img loading=\"lazy\" class=\"size-full wp-image-706 alignnone\" src=\"http:\/\/enisnecipoglu.com\/wp-content\/uploads\/2017\/11\/randomControl-2.png\" alt=\"enis-necipoglu-dotnet-random-random.next-randomControl\" width=\"315\" height=\"41\" srcset=\"https:\/\/enisnecipoglu.com\/wp-content\/uploads\/2017\/11\/randomControl-2.png 315w, https:\/\/enisnecipoglu.com\/wp-content\/uploads\/2017\/11\/randomControl-2-300x39.png 300w\" sizes=\"(max-width: 315px) 100vw, 315px\" \/><\/p>\n<p>\u015feklinde olu\u015fturuluyor. Bu formul\u00fc baz al\u0131narak bir \u00e7ok dile uyarlanan\u00a0<strong>random\u00a0<\/strong>algoritmas\u0131 beni as\u0131l ilgilendiren \u015fekilde yani\u00a0<strong>C#<\/strong>dilinde \u015fu \u015fekilde yaz\u0131l\u0131yor:<\/p>\n<p><img loading=\"lazy\" class=\"aligncenter size-full wp-image-714\" src=\"http:\/\/enisnecipoglu.com\/wp-content\/uploads\/2017\/11\/randomControl-4.png\" alt=\"enis-necipoglu-dotnet-random-random.next-randomControl\" width=\"702\" height=\"921\" srcset=\"https:\/\/enisnecipoglu.com\/wp-content\/uploads\/2017\/11\/randomControl-4.png 702w, https:\/\/enisnecipoglu.com\/wp-content\/uploads\/2017\/11\/randomControl-4-229x300.png 229w, https:\/\/enisnecipoglu.com\/wp-content\/uploads\/2017\/11\/randomControl-4-600x787.png 600w\" sizes=\"(max-width: 702px) 100vw, 702px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>Tabi random&#8217;un\u00a0<strong>bilimsel\u00a0<\/strong>olarak olu\u015fturulmas\u0131 ile ilgili daha fazla detay \u00f6\u011frenmek istiyorsan\u0131z <a href=\"http:\/\/rosettacode.org\/wiki\/Subtractive_generator\">buraya<\/a> g\u00f6z atabilirsiniz.<\/p>\n","protected":false},"excerpt":{"rendered":"Rastgele asl\u0131nda rastgele de\u011fildir. Bu kadar iddial\u0131 bir ba\u015fl\u0131\u011f\u0131n alt\u0131n\u0131 sa\u011flam bir i\u00e7erik ile doldurmak gerekli tabii ki de. Umar\u0131m bu yaz\u0131n\u0131n sonunda ger\u00e7ekten ba\u011fl\u0131\u011f\u0131n vaad etti\u011fi i\u00e7eri\u011fi size sunabilirim. Hemen ba\u011flayal\u0131m o zaman ama nereden ba\u015flayal\u0131m? \u00d6nce rastgele nedir&#8217;den ba\u015flayabiliriz. Rastgele Nedir ? Rastgele TDK&#8217;nin bu sayfas\u0131nda \u015f\u00f6yle tan\u0131mlanm\u0131\u015f: &#8220;s\u0131fat\u00a0Geli\u015fig\u00fczel&#8221; &#8220;zarf\u00a0(ra&#8217;stgele) Se\u00e7meden, iyisini k\u00f6t\u00fcs\u00fcn\u00fc ay\u0131rmadan, geli\u015fig\u00fczel, lalettayin&#8221; Ya da\u00a0Rastgelelik\u00a0hakk\u0131nda Wikipedia&#8217;deki \u015fu paragraf\u0131\u00a0 okuyabilir &#8211; pardon okuyamazs\u0131n\u0131z &#8211; Burada ise : Rastgelelik,\u00a0olaylarda belirli bir\u00a0paternin\u00a0veya \u00f6ng\u00f6r\u00fclebilirli\u011fin olmama halidir.\u00a0Rastgele olaylardan, sembollerden ya da ad\u0131mlardan olu\u015fan bir dizi, herhangi bir mant\u0131ksal kombinasyona ya da paterne uyumluluk g\u00f6stermez. Tekil rastgele olaylar tan\u0131mlar\u0131 gere\u011fi \u00f6ng\u00f6r\u00fclemezlerdir. Ancak \u00e7o\u011fu durumda, farkl\u0131 sonu\u00e7lar\u0131n olu\u015fum s\u0131kl\u0131\u011f\u0131n\u0131n \u00e7ok say\u0131daki olaylar k\u00fcmesine da\u011f\u0131l\u0131m\u0131 tahmin edilebilir. \u00d6rne\u011fin, iki zar at\u0131ld\u0131\u011f\u0131nda, tekil bir at\u0131\u015f\u0131n sonucu tahmin edilemezken; toplamda 7 gelmesi, 4 gelmesinden iki kat daha s\u0131k olacakt\u0131r. Bu a\u00e7\u0131dan bak\u0131ld\u0131\u011f\u0131nda rastgelelik, tesad\u00fcften ziyade bir sonucun belirsizli\u011finin \u00f6l\u00e7\u00fcm\u00fcd\u00fcr ve de\u00a0olas\u0131l\u0131k,\u00a0bilgi entropisi\u00a0ve \u015fans kavramlar\u0131nda uygulan\u0131r. &nbsp; Bu a\u00e7\u0131klamalar bize d\u00fczensiz, \u00f6nceden kestirilemeyen (bu konuya yaz\u0131n\u0131n devam\u0131nda de\u011finece\u011fim)\u00a0ve tamamen \u015fansa ba\u011fl\u0131 olarak g\u00f6r\u00fcnmekte. Peki ger\u00e7ekten b\u00f6yle mi? En az\u0131ndan g\u00fcnl\u00fck hayatta kulland\u0131\u011f\u0131m\u0131z rastgelelikler&#8230; Yaz\u0131l\u0131mda Rastgelelik Hemen hemen her g\u00fcn, yaz\u0131l\u0131msal olarak olu\u015fturulan en az 1 rastgelelik ile kar\u015f\u0131la\u015f\u0131yoruz. Bu bir rastgele say\u0131 olabilir, rastgele se\u00e7ilmi\u015f bir \u00f6genin bize g\u00f6sterilmesi olabilir veya \u015fans olarak yorumlad\u0131\u011f\u0131m\u0131z\u00a0 herhangi bir \u015fey olabilir. Ama ger\u00e7ekte rastgele var m\u0131d\u0131r? Evrende bile hi\u00e7bir \u015fey rastgele de\u011filken, insano\u011flunun icat etmi\u015f oldu\u011fu 2&#8217;lik say\u0131 sistemiyle \u00e7al\u0131\u015fan bir makinede nas\u0131l rastgelelik olabilir ki? Yaz\u0131l\u0131mla biraz u\u011fra\u015fan arkada\u015flar bilecektir ki 2 farkl\u0131 random instance&#8217;\u0131ndan \u00fcretilen rastgele say\u0131lar\u0131n birbiri ile ayn\u0131d\u0131r. \u015e\u00f6yle \u00f6rnek verelim: Random random1 = new Random&#40;&#41;; Random random2 = new Random&#40;&#41;; private void GenerageRandom&#40;&#41; &#123; Console.WriteLine&#40;random1.Next&#40;int.MinValue,int.MaxValue&#41;&#41;; &#125; Bu \u015fekilde 2 farkl\u0131 random&#8217;dan \u00fcretti\u011fimiz say\u0131lar ayn\u0131 \u00e7\u0131kacakt\u0131r. Evet bu \u00e7ok da tatmin edici gelmedi. Bunu \u015f\u00f6yle de\u011fi\u015ftirerek inceleyelim. Console.WriteLine&#40;random1.Next&#40;0,100&#41;&#41;; Console.WriteLine&#40;random2.Next&#40;0,10000&#41;&#41;; Burada da \u015funa benzer bir sonu\u00e7 elde etmi\u015f olaca\u011f\u0131z: 1.Denemede; random1 = 16\u00a0 |\u00a0 random2 = 1637 2.Denemede ise random1 = 55 | random2 =5573 gibi birbiri ile alakas\u0131n\u0131 g\u00f6rebilece\u011fimiz sonu\u00e7lar elde etmi\u015f oluyoruz. Veya \u015fu \u015fekilde deneyerek de alm\u0131\u015f oldu\u011fumuz say\u0131lar\u0131n verdi\u011fimiz \u00fcst limete g\u00f6re oran\u0131n\u0131 da g\u00f6rebiliriz: Console.WriteLine&#40;random1.Next&#40;0,100&#41;&#41;; Console.WriteLine&#40;random2.Next&#40;0,200&#41;&#41;; Bir ka\u00e7 denemede\u00a010\u00a0ve\u00a020\u00a0sonu\u00e7lar\u0131n\u0131 elde ettim. 10 say\u0131s\u0131 vermi\u015f oldu\u011fum \u00fcst limitin(100)\u00a0onda biri yani y\u00fczde 10&#8217;una takab\u00fcl etmekte. 20 say\u0131s\u0131 ise vermi\u015f oldu\u011fum \u00fcst limitin(200) onda birine yani birinci gibi %10&#8217;una denk geliyor. Yava\u015f yava\u015f i\u015flerin ger\u00e7ek bir rastgeleden ibaret olmad\u0131\u011f\u0131n\u0131 g\u00f6stermeye ba\u015fl\u0131yor. Bu i\u015fi biraz daha gariple\u015ftirerek bir Form uygulamas\u0131nda \u015funu yapabiliriz. Butona her bas\u0131\u011f\u0131m\u0131zda ","protected":false},"author":1,"featured_media":707,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[20,6],"tags":[23,22,21,24],"_links":{"self":[{"href":"https:\/\/enisnecipoglu.com\/en\/wp-json\/wp\/v2\/posts\/703"}],"collection":[{"href":"https:\/\/enisnecipoglu.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/enisnecipoglu.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/enisnecipoglu.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/enisnecipoglu.com\/en\/wp-json\/wp\/v2\/comments?post=703"}],"version-history":[{"count":7,"href":"https:\/\/enisnecipoglu.com\/en\/wp-json\/wp\/v2\/posts\/703\/revisions"}],"predecessor-version":[{"id":715,"href":"https:\/\/enisnecipoglu.com\/en\/wp-json\/wp\/v2\/posts\/703\/revisions\/715"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/enisnecipoglu.com\/en\/wp-json\/wp\/v2\/media\/707"}],"wp:attachment":[{"href":"https:\/\/enisnecipoglu.com\/en\/wp-json\/wp\/v2\/media?parent=703"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/enisnecipoglu.com\/en\/wp-json\/wp\/v2\/categories?post=703"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/enisnecipoglu.com\/en\/wp-json\/wp\/v2\/tags?post=703"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}