Արդար զառեր, արդար խաղ
Ամեն նարդի խաղացող, ով պարտվել է վերջին նետման կրկնակի զառից, մտածել է. արդյո՞ք այս զառերն արդար են։ Սա ճիշտ հարցն է, որ պետք է տալ ցանկացած նարդու հավելվածին։ Ահա ճիշտ թե ինչպես են գեներացվում մեր զառերը, ինչու ոչ ոք, ներառյալ մենք, չի կարող դրանք թեքել, և ինչպես է խաղի մնացած մասը նույնպես ազնիվ պահվում։
Ինքներդ ստուգեք ցանկացած ավարտված խաղ
Խոսքերը էժան են, ուստի ահա այն մասը, որը կարող եք ինքներդ գործարկել։ Երբ խաղն ավարտվում է, մենք բացահայտում ենք դրա սերվերի սերմը, այն հանձնառությունը, որը հրապարակել ենք առաջին նետումից առաջ, և ամեն օղակ, որ երկու կողմերն էլ հրապարակել են խաղի ընթացքում։ Ներքևում փակցրեք բացահայտման փաթեթը կամ խաղը գտեք իր նույնացուցիչով. այս էջը վերարտադրում է ամեն զառ հենց այդ գրառումից՝ ճիշտ նույն հաշվարկով, որ կատարել են մեր սերվերները, և նետում առ նետում ցույց է տալիս՝ արդյոք պահված արժեքները համընկնում են։ Դրանցից ոչ մեկը ձեզնից չի պահանջում մեզ խոսքով հավատալ. հաշվարկը բաց է, և ցանկացած մեկը կարող է այն կրկնել։ Միակ բանը, որ այս էջը միտումնավոր չի անում, կանաչ «ապացուցելիորեն արդար» նշան շնորհելն է, քանի որ ազնվորեն չէր կարող այն վաստակել։ Այն երբեք չի տեսնում այն արժեքները, որ ձեր սեփական սարքը գրանցել և կողպել է առաջին նետումից առաջ, իսկ այն գրառումը, որի շղթան ամբողջովին փոխարինվել է խնամքով պատրաստված կեղծիքով, այստեղ նույնքան անթերի է վերարտադրվում։ Դա բացառում է միայն ձեր սարքի կողպած արժեքների հետ բայթ առ բայթ համեմատությունը, իսկ այդ արժեքները պահում է միայն ձեր հավելվածը։ Ուստի այս էջի ազնիվ առաստաղը «համապատասխանն» է, իսկ ամենաուժեղ վճիռը կարող է տալ հավելվածի «Ստուգել» էկրանը։
Զառերը. Ապացուցելիորեն արդար, նետվում են սերվերի վրա
Ավարտված առցանց խաղի ամեն նետում ստեղծվում է մեր խաղային սերվերներում և ապացուցելիորեն արդար է՝ առանց որ դուք մեզ խոսքով հավատաք։ Առաջին նետումից առաջ մենք հրապարակում ենք հանձնառություն այն գաղտնի սերմի նկատմամբ, որից զառերը դուրս կգան, իսկ երկու խաղացողների հավելվածներն էլ պարտավորվում են յուրաքանչյուրն իր սեփական շղթայի վրա. այս ամենը սառեցվում է մեկ գրառման մեջ, դեռ նախքան որևէ մեկը նետի։ Այնուհետև ամեն նետում ծախսում է երկու կողմերի շղթայից մեկական թարմ օղակ. հերթի տեր խաղացողն իրենը հրապարակում է քայլի սկզբում, մրցակիցն իրենը բաց է թողնում միայն այն կողպվելուց հետո, իսկ զառը վերջում է արտածվում։ Այսպիսով ցանկացած զառի վերջին անհայտ մուտքը միշտ գտնվում է տախտակի հակառակ կողմում։ Բացման զառերը բացառություն չեն. դրանցից ոչ մեկը գոյություն չունի, քանի դեռ երկու կողմերն էլ չեն ներդրել իրենցը։ Ուստի ամեն զառ նախապես պարտավորված արժեքների դետերմինիստական արդյունքն է. ոչ ոք, ներառյալ մենք, չի կարող զառ ընտրել, այն փոխարինել ուրիշով կամ լուռ նորից նետել։ Սա պնդում է կայացած նետման արժեքի մասին և այնտեղ էլ ավարտվում է. խաղի չեղարկումը, հաղորդագրության հասնելը կամ չհասնելը և այն, թե ում ժամանակն սպառվեց, դրանից դուրս են։ Վերևի գործիքը վերարտադրում է ավարտված խաղի ամեն զառը հրապարակված գրառումից. սա հաշվարկ է, որը կարող է կրկնել ցանկացած մեկը։ Այն, ինչ գործիքը չի կարող, դա հաստատելն է, որ այդ գրառումը ձեր խաղն է. դրա համար պետք են այն արժեքները, որ ձեր սարքը կողպել է խաղից առաջ, և դրանք պահում է միայն ձեր հավելվածը, ուստի այդ վերջին քայլը կատարվում է հավելվածի «Ստուգել» էկրանում։
Նույնքան կարևոր է, թե որտեղ է կատարվում նետումը։ Զառերը երբեք չեն գեներացվում ձեր սարքի վրա, ձեր հեռախոսը միայն ցուցադրում է նետումը, որ սերվերն արդեն կատարել է։ Այս մեկ դիզայներական որոշումը վերացնում է զառերի խարդախությունների ամբողջ ընտանիքը. փոփոխված հավելվածը չի կարող վերանետել, ուշացման ալիքը չի կարող կրկնապատկել նետումը, և ոչ մի հաճախորդի կողմի հնարք չի կարող գաղտագողի նայել հաջորդ թվին. քանի որ հաջորդ թիվը ձեր հեռախոսում չէ, որ կարդացվի. այն արտածվում է սերվերում և միայն այն բանից հետո, երբ երկու կողմերն էլ բաց են թողել իրենց օղակն այդ քայլի համար։
Եվ նետումները երբեք չեն կարգավորվում։ Չկա «ներգրավման կոր», չկան վերադարձի մեխանիզմներ, չկա խթան պարտությունների շարանում գտնվող խաղացողների համար։ Գեներատորը ոչ գիտի, ոչ էլ հետաքրքրվում է, թե ով է հաղթում։
Տախտակը. Ստուգված ամեն մի քայլի ժամանակ
Արդար զառերը քիչ բան կնշանակեին, եթե տախտակն ինքը կարողանար շեղվել կամ կեղծվել, ուստի խաղը աշխատում է խիստ սերվեր-հեղինակավոր մոդելով։ Ձեր սարքը երբեք չի ասում սերվերին, թե ինչ տեսք ունի տախտակը, այն միայն ուղարկում է ձեր մտադրությունը («տեղափոխի՛ր այս խաղաքարը 13-րդ կետից 8-րդ կետ»)։ Սերվերը ստուգում է այդ քայլը պաշտոնական կանոնների և պաշտոնական տախտակի դեմ. անօրինական քայլերը պարզապես մերժվում են, ինչ էլ որ պնդի փոփոխված հաճախորդը։
Ապա գալիս է կրկնակի ստուգումը. ամեն վիճակի թարմացման հետ սերվերը հեռարձակում է իրական տախտակի դիրքի կոմպակտ մատնահետք (հեշ)։ Ձեր սարքը հաշվում է նույն մատնահետքն իր տեղական տախտակից և համեմատում։ Եթե թեկուզ մեկ խաղաքար տարբերվում է, հաճախորդը դեն է նետում իր պատճենը և վերասինքրոնացվում սերվերից։ Այսպիսով ապացուցվում է, որ երկու խաղացողներն էլ ամեն պահ նայում են նույն խաղին, ապասինքրոնացումներն ինքնաբուժվում են մեկ գնա-արի ընթացքում, և չկա որևէ պատուհան, որում հնարավոր լինի խաղալ հնացած կամ կեղծված տախտակի վրա։
Հակառակորդները. Glicko-2 զուգընտրություն
Արդարությունը կապված է նաև նրա հետ, թե ում դեմ եք խաղում։ Այստեղ վարկանիշներն օգտագործում են Glicko-2, Elo-ի ժամանակակից ժառանգորդը, որը հետևում է թե՛ ձեր խաղային ուժին, թե՛ համակարգի վստահությանն այդ գնահատականի նկատմամբ, որպեսզի նոր խաղացողներն արագ մոտենան իրենց իրական մակարդակին, փոխանակ հիսուն խաղ ուրիշների համար աստիճան դառնալու։ Զուգընտրությունը ձեզ զույգում է համանման վարկանիշ ունեցող հակառակորդների հետ, և վարկանիշային արդյունքները վերադառնում են համակարգ ամեն խաղից հետո։
Արդյունքը. երբ հաղթում եք, դուք գերազանցել եք հավասարին։ Երբ պարտվում եք, կա իրական բան սովորելու, սովորաբար ռազմավարության ուղեցույցներում։
Ինչպիսին է իրականում զգացվում արդար զառը
Ահա անհարմար ճշմարտությունը. իսկապես պատահական զառերն ավելի ալիքավոր են զգացվում, քան մարդկանց մեծ մասն է սպասում։ Իրական պատահականությունն արտադրում է չորս կրկնակի անընդմեջ, մուտքի պարեր մեկ կետանոց տախտակի դեմ, և վերջին նետման հրաշքներ, ճիշտ այն հաճախականություններով, որ կանխատեսում է հավանականությունը։ 17/36 հարվածը երկու անգամ անընդմեջ վրիպում է քառորդից ավելի հաճախ։ Հիշողությունը պահում է սկանդալները և դեն նետում սովորականը, ահա թե ինչու ամեն փորձառու առցանց խաղացող ունի «կեղծ զառերի» պատմություն, և ոչ մի վիճակագրական ստուգում այստեղ երբևէ չի հաստատել դրանցից ոչ մեկը։
Եթե ուզում եք ճշգրտել ձեր բնազդը, հավանականության հիմունքների ուղեցույցը շարադրում է իրական թվերը՝ 36 համակցություն, հարվածի հավանականությունն ամեն հեռավորության վրա, մուտքի հնարավորությունները ձողից։ Իմանալը, որ որևէ կոնկրետ թիվ հայտնվում է 36-ից 11 անգամ, «անհնարին անհաջողությունը» վերածում է «սովորական երեքշաբթիի»։
Ուզո՞ւմ եք ավելի խորը տեխնիկական տարբերակը՝ գեներատորների դասերը, թե ինչպես է աշխատում commit-reveal ապացույցը, և «կեղծ» շարանների հոգեբանությունը։ Բլոգն ունի այն. ինչպես է իրականում աշխատում սերվերի կողմի RNG-ն։
Մեր հանձնառությունը
- Սերվերում ստեղծվող, ապացուցելիորեն արդար զառեր. երբեք չեն նետվում սարքի վրա, երբեք չեն ճշգրտվում որևէ խաղացողի կամ իրավիճակի համար և արտածվում են այն մուտքերից, որոնց երկու կողմերն էլ պարտավորվում են առաջին նետումից առաջ. խաղն ավարտվելիս ամեն զառ վերարտադրվում է հրապարակված գրառումից, իսկ որ խաղը ձերն էր, հաստատում է հավելվածը։
- Կանոնների պահպանում աղբյուրում. ամեն քայլ ստուգվում է սերվերի կողմից. փոփոխված հաճախորդները ոչինչ չեն շահում։
- Տախտակի շարունակական ստուգում. հեշ-ստուգում ամեն թարմացման ժամանակ, ինքնաբուժում ամեն անհամապատասխանության դեպքում։
- Հմտության վրա հիմնված զուգընտրություն. Glicko-2 վարկանիշներ և վարկանիշի վրա հիմնված զուգընտրություն։
Արդար զառերը նշանակում են, որ սեղանին մնացած միակ առավելությունը հմտությունն է, և հմտությունը սովորելի է։ Սկսեք կանոններից, սրեք այն ռազմավարությամբ, և փորձարկեք կենդանի. ներքևի սեղանն անվճար է, ձեր դիտարկիչում, առանց տեղադրման։