|
Diğer diller / ülke
türkçe site
![]() | ||
| ||
Tavlada Uzmanlaşmak (7)2007-03-14
Bill Robertie
7. Robotunuzun Hile Yapmadığını İspatlamak.
Son defasında robotların hile yapmadığını ileri sürmüştüm. Ancak, bunun için bana inanmanız konusunda ısrarcı olmayacağım. En çok satan iki ticari tavla robotu, Jellyfish ve Snowie'nin ikisinin de (eğer şüpheleniyorsanız ) kendinize hile yapmadıklarını ispatlamanız için araçları vardır. Bu makalede bunu tam olarak nasıl yapacağınızı göstereceğim. (Jellyfish en çok satan program olduğu için, örneklerimde Jellyfish'i kullanacağım. Ancak, genel prosedür Snowie'de de aynıdır.) Sahte-Rasgele Sayılar İlk olarak, bir anahtar nokta. Bir bilgisayar programı tarafından üretilen rasgele sayılar gerçek rasgele sayılar değillerdir. Onun yerine, sahte-rasgele sayılar denilen sayılardır. İkisi arasında küçük ama önemli bir fark vardır. Bir hakiki rasgele sayı dizisi genellikle radyoaktif bozunma gibi bir fiziksel işlem ile üretilir. Bir gerçek rasgele sayı dizisi belli kurallara uyar.
Sahte rasgele sayılar ilk iki koşula uyar ama üçüncüye uymaz, çekirdek denilen tek bir sayı seçerek başlar. (Bu genellikle sistem saatinin basamakları üzerinde bir aritmetik işlem ile bulunur.) Çekirdek tipik olarak sıfır ile 65535 arasında bir sayıdır. Bir kere çekirdek seçildikten sonra herhangi bir uzunlukta rasgele bir sayı dizisi üretilebilir. Herhangi bir çekirdek için, bu dizi eşsizdir. Diğer bir deyişle, eğer aynı çekirdek ile başlarsanız daima aynı rasgele sayı dizisini elde edersiniz. Bu bir başarısızlık gibi görünür ve çok teorik bir açıdan öyledir. Ancak, pratikte, sahte rasgele sayılar gerçek rasgele sayılar kadar her tür amaç için kullanışlıdırlar ve bir programın hile yapıp yapmadığını belirlemek için kullanabileceğiniz avantajına sahiptir. Bunun Jellyfish ile nasıl işe yarayacağını gösterelim. (Aynı yöntem Snowie ile de işe yarayacaktır). Programı çalıştırarak işe başlayalım. Kullanıcıya görünmeyecek şekilde Jellyfish şimdi sistem saatine başvurarak bir çekirdek sayı seçer ve o çekirdeği kullanarak bir dizi rasgele sayı üretir. Çekirdeği görmek için, "View(Görünüş)"e sonra "Seed(Çekirdek)"e basın. Çekirdek ve sayaç (çekirdek tarafından üretilen sayı dizisinin neresinde olduğunuzu gösteren bir sayı) şimdi pencerenin sağ alt köşesinde gösterilir. Benim durumumda çekirdek 27370 ve sayaç sıfır idi. Eğer Jellyfish'i kapatıp yeniden başlatırsam, tabii ki yeni bir çekirdek alırım ama sayaç o durumda da sıfır olacaktır. Şimdi bir oyun oynamaya başlayacağım. Ne olduğunu görelim. Jellyfish açılış atışını bir 4-3 ile kazanır ve 13/9 24/21 oynar. Standart oyun. Şimdi ben 6-5 atıyorum ve 24/13 oynuyorum. Jellyfish hoş bir atış yapıyor, 4-4 ve 24/10 13/5 9/5 oynuyor. Ben şimdi 6-6 atıyorum ve 13 noktasından benim 7 noktama dört adam oynuyorum. Jellyfish 6-3 atıyor ve 20/11 hareketini yapıyor. Eğer takip ediyorsanız, ben siyah pulları, Jellyfish de Beyazları oynayacak şekilde tahtanız şöyle görünmelidir:
Şema 1. Jellyfish (Beyaz) yeni 20/11 oynadı. Şimdi 5-2 atıyorum ve 6/1 24/22 oynuyorum. Jellyfish 5-2 atıyor ve vuruyor, 8/3* ve 13/11. Ben 4-1 atıyorum, Bar/21 ve 7/6 oynuyorum. Jellyfish 4-3 atıyor, vuruyor ve 8/4* 6/3 ile kapatıyor. Ben şimdi 6-3 atıp pas geçiyorum. Pozisyon şimdi şöyle görünüyor:
Şema 2. Bir 6-3 ile yeni pas geçtim. Bu noktada Jellyfish katladı ve ben pas geçtim. Sayaç şu anda 10'u gösteriyor çünkü oyunda on zar atıldı. Yani şimdi çekirdek 27370'ten ve sayaç sıfırdan başlarsa ilk on rasgele zar atışının ne olduğunu biliyoruz. Şimdi Jellyfish'i o değerlere sıfırlayalım ve başka bir oyun deneyelim. Sıfırlamak için, "View", sonra "Settings(Ayarlar)", sonra "Dice(Zar)" sekmesine tıklayın. Çekirdek doğrudur (eğer hala 27370 ise), ama sayacı sıfıra geri getirin. Şimdi yeni bir oyun başlatmak için küçük sarı zar düğmesine basın. Bir kere daha Jellyfish 4-3 atar ve 24/21 13/9 oynar. Bir kere daha 6-5 atarız ama bu sefer değişik oynayacağız. Jellyfish'in sonraki atışının 4-4 olacağına inandığımız için ve bizim bir sonraki atışımız 6-6 olduğundan bu bilgiden 24/18 6/1* oynayarak faydalanabiliriz! Şimdi Jellyfish'in 4-4'ü tamamen ıskalayacak ve bizim 6-6 bir trafo olacak. (Tabii ki eğer Jellyfish "hile yaparsa" kendisine saçma oyunumuzda avantajı almak için 4-4'ten başka bir sayı verecektir.) Bu yüzden saçma görünen 24/18 6/1*'i oynarız. İşte pozisyon.
Şema 3. Siyah 6-5'i 24/18 6/1* şeklinde oynadı. Kesinlikle Jellyfish yine 4-4 atar ve Bar/21 13/5 9/5 oynar. Jellyfish ileriyi görebilir ve benim sonraki hareketimin 6-6 olacağını görebilir, bu bilgiyi bu turda 1 noktasını vurarak kullanabilir. Ama yapmıyor. Şimdi beklendiği gibi 6-6 atıyorum ve 24/18 13/7 (3) oynuyorum. Jellyfish 6-3 atıyor ve 13/4 oynuyor. İşte pozisyon:
Şema 4. Beyaz (Jellyfish) az önce 13/4 oynadı. Şimdi ilk oyundaki gibi 5-2 atıyorum. Normal olarak burada 18 noktasındaki kapımı tutar ve 13/8 13/11 gibi bir şey oynarım. Ama ilk oyunda Jellyfish'in sonraki atışı başka bir 5-2 idi. Eğer Jellyfish 5-2 atarsa kapımı bozup vurulma endişesi duymadan yarışma avantajımı paraya dönüştürebilirim. Bu yüzden 18/13 18/16 oynuyorum! Mükemmel, Jellyfish "hile" yapıp atışını değiştirmeye kalkmadığı sürece. Ama yapmıyor. Jellyfish itaatkar bir şekilde yine 5-2 atıyor ve 8/3 6/4 oynuyor. Sonraki birkaç hareket rutin. 4-1 atıyorum ve 16/11 oynuyorum. Jellyfish 4-3 atıyor ve 6/3 6/2 oynuyor. Ben 6-3 atıyorum ve 11/5 8/5 oynuyorum. Bu son pozisyona bir bakalım:
Şema 5. Siyah yeni 11/5 8/5 oynadı. Sayaç şu anda ilk oyundaki gibi 10'u gösteriyor. Tüm zar atışlarının önceki ile tamamen aynı olduğuna dikkat edin. Aslında, başka türlü saçma sayılabilecek oyunlar oynamak için Jellyfish'in sonraki zarının ne olacağını bildiğimiz gerçeğini kullandık. Jellyfish'e "hile yapması" için pek çok fırsat verdik ama yapmadı. Sadece mekanik olarak çekirdek belirlendiğinde önceden belirlenmiş olan zar atışlarını üretti. Bu testi istediğiniz kadar sık, değişik çekirdeklerden kaynaklanan zar dizileri ile tekrarlayabilirsiniz. Verilen bir çekirdek için atışları bir kenara yazdıktan sonra, tabii ki isterseniz Jellyfish'te bu oyunda yaptığımız gibi gelecek zarları kullanarak her oyunu kazanabilirsiniz. (İlk başta eğlencelidir ama bir süre sonra oldukça sıkıcıdır). Sonuç : Programlarınız son derece iyi oynamaktadır ama hile yapmazlar. Onları oyununuzu geliştirmek için kullanın ama paranoyak fantezilerin sizi ele geçirmesine izin vermeyin. Bir dahaki sefere: Güçlü bir kapıya karşı eve gelmek. Çevrimiçi TavlaAşağıdaki poker odalarını inceleyin ve sizin için en uygun olanı görün.
Özel Promosyon
En İyi Bonus
| ||