#फैट टिट्ज़ यह एक मुफ़्त यूसीआई-संगत शतरंज इंजन है। यह cfish का एक कांटा है।
स्टॉकफिश का अपना कांटा बनाने की प्रेरणा के लिए नॉर्मन शिड्ट और अल्बर्ट स्लिवर को धन्यवाद। महान अनुकूलन विचारों के लिए रॉबर्ट हौडार्ट को भी बड़ा धन्यवाद, कुल मिलाकर इंजन को लगभग 20% तेज बनाना!
यह इंजन हाफकेएवी2-2048x2-64-64-1 मूल्यांकन नेटवर्क का उपयोग करता है, जिसमें स्टॉकफिश 14 का 4 गुना ज्ञान होता है। इसे एलसी0 डेटा पर आंशिक रूप से प्रशिक्षित किया गया था, जो इसे एक अद्वितीय स्थितिगत शैली देता है, जबकि अभी भी संरक्षित करता है स्टॉकफिश की सामरिक तीक्ष्णता। सार्वजनिक रूप से उपलब्ध डेटासेट 1, 2, 3
बड़े आकार के कारण रिलीज़ केवल Google ड्राइव यहां पर उपलब्ध है। इसमें नेटवर्क के साथ सभी समर्थित आर्किटेक्चर के लिए विंडोज और लिनक्स बायनेरिज़ शामिल हैं। यह एकमात्र स्थान है जहां नेटवर्क पाया जा सकता है।
- बहुभाषाविद समर्थन
- अराजकता मोड
setoption name Anarchy value true
- एन-पासेंट को मजबूर करता है
- 64-बिट हैश कुंजी
- हैश टकराव की मात्रा को कम करता है और अधिक मजबूत लंबे विश्लेषण की अनुमति देता है
- ट्रांसपोज़िशन टेबल का आकार बदलना जितना संभव हो सके सामग्री को सुरक्षित रखता है
- लगातार स्थानांतरण तालिका
सेटोप्शन नाम PersistentTTMinDepth value 4
(न्यूनतम 0, अधिकतम 255)। स्टोर/लोड करने के लिए न्यूनतम प्रवेश गहराई।सेटोप्शन नाम PersistentTTFileName मान filename.ptt
। वह फ़ाइल जिसमें स्थायी TT. अपने आप कुछ नहीं करता।सेटोप्शन नाम PersistentTTSerialize
। उपरोक्त विकल्पों के अनुसार वर्तमान स्थानान्तरण तालिका को क्रमानुसार करता है। फ़ाइल अधिलेखित है।सेटोप्शन नाम PersistentTTDeserialize
। उपरोक्त विकल्पों के अनुसार वर्तमान स्थानान्तरण तालिका को अक्रमांकन करता है। केवल बदतर प्रविष्टियों को प्रतिस्थापित किया जाता है।
Fat Titz को संकलित करने के लिए एक कार्यशील gcc या क्लैंग वातावरण की आवश्यकता होती है। विंडोज़ पर Fat Titz को संकलित करने के लिए MSYS2 परिवेश की अनुशंसा की जाती है (नीचे MSYS2 कैसे सेट करें देखें)।
संकलित करने के लिए, टाइप करें:
make बनाएं [ARCH=arch] [COMP=compiler] [COMPCC=gcc-4.8] [आगे के विकल्प]
src
निर्देशिका से। समर्थित लक्ष्य, आर्क और कंपाइलर की सूची मेक
या मेक हेल्प
टाइप करके देखी जा सकती है।
यदि ARCH
चर सेट नहीं है या ऑटो
पर सेट है, तो Makefile आपके सिस्टम के लिए इष्टतम सेटिंग्स को निर्धारित करने और उनका उपयोग करने का प्रयास करेगा। यदि यह किसी त्रुटि के साथ विफल हो जाता है या असंतोषजनक परिणाम देता है, तो आपको वांछित आर्किटेक्चर को मैन्युअल रूप से सेट करना चाहिए। निम्नलिखित ARCH
मान समर्थित हैं: x86-86-आधुनिक
, x86-64-avx2
, x86-64-bmi2
, x86-64-avx512
, x86-64-avx2-vnni
, x86-64-bmi2-vnni
, x86-64-avx512-vnni
। SSSE3 समर्थन की आवश्यकता है, यदि आपका CPU SSSE3 का समर्थन नहीं करता है तो यहाँ देखें।
ध्यान रखें कि विशेष रूप से आपकी मशीन के लिए संकलित फैट टिट्ज़ बाइनरी अन्य (पुरानी) मशीनों पर काम नहीं कर सकती है। यदि बाइनरी को कई मशीनों पर काम करना है, तो ARCH
को उस आर्किटेक्चर पर सेट करें जो सबसे पुरानी/कम से कम सक्षम मशीन से मेल खाता हो।
आगे के विकल्प:
pure=yes | केवल NNUE शुद्ध (कोई संकर या शास्त्रीय मोड नहीं) |
numa=no | NUMA समर्थन अक्षम करें |
lto=yes | लिंक-टाइम ऑप्टिमाइज़ेशन के साथ संकलित करें |
extra=yes | अतिरिक्त अनुकूलन विकल्पों के साथ संकलन करें (gcc-7.x और उच्चतर) |
numa=no
जोड़ें यदि संकलन numa.h के साथ विफल हो जाता है: ऐसी कोई फ़ाइल या निर्देशिका
या नहीं ढूंढ सकता -lnuma
।
वर्तमान में अतिरिक्त = हाँ
के साथ सक्षम अनुकूलन विकल्प अब कम प्रभावी प्रतीत होते हैं क्योंकि एनएनयूई कोड जोड़ा गया है।
अराजकता मोड सक्षम/अक्षम करें। अराजकता मोड में एन-पासेंट को मजबूर किया जाता है। डिफ़ॉल्ट रूप से अक्षम
क्रमबद्ध टीटी प्रविष्टियों की न्यूनतम गहराई को नियंत्रित करता है
लगातार टीटी संचालन के लिए पथ।
TT को क्रमानुसार करता है, अधिक के लिए "अतिरिक्त सुविधाएँ" देखें।
TT को डिसेरिएलाइज़ करता है, अधिक के लिए "अतिरिक्त सुविधाएँ" देखें।
डिफ़ॉल्ट रूप से, निष्पक्ष विश्लेषण सुनिश्चित करने के लिए विश्लेषण के दौरान अवमानना शून्य पर सेट है। उस पक्ष के लिए अवमानना के साथ विश्लेषण करने के लिए इस विकल्प को सफेद या काले पर सेट करें।
किसी स्थिति को खोजने के लिए उपयोग किए जाने वाले CPU थ्रेड्स की संख्या।
MB में हैश तालिका का आकार।
हैश तालिका साफ़ करें।
जब विरोधी सोच रहा हो तो फैट टिट्ज़ को अपनी अगली चाल पर विचार करने दें।
खोज करते समय एन सर्वोत्तम लाइनों को आउटपुट करें। सर्वश्रेष्ठ प्रदर्शन के लिए 1 पर छोड़ दें।
नेटवर्क और जीयूआई देरी के लिए मुआवजा (एमएस में)।
फैट टिट्ज़ को अधिक समय का उपयोग करने के लिए बढ़ाएँ, फैट टिट्ज़ को कम समय का उपयोग करने के लिए घटाएँ।
Syzygy टेबलबेस फ़ाइलों को संग्रहीत करने वाले फ़ोल्डरों/निर्देशिकाओं का पथ। एकाधिक निर्देशिकाओं को ";" द्वारा अलग किया जाना है विंडोज़ पर और यूनिक्स-आधारित ऑपरेटिंग सिस्टम पर ":" द्वारा। ";" के आसपास रिक्त स्थान का उपयोग न करें या ":"।
उदाहरण: C:\tablebases\wdl345;C:\tablebases\wdl6;D:\tablebases\dtz345;D:\tablebases\dtz6
न्यूनतम शेष खोज गहराई जिसके लिए किसी स्थिति की जांच की जाती है। कम आक्रामक तरीके से जांच करने के लिए इस मान को बढ़ाएँ।
Syzygy टेबलबेस जांच द्वारा पता लगाए गए पचास-चाल नियम ड्रॉ को जीत या हार के रूप में गिना जाने देने में अक्षम है। यह ICCF पत्राचार खेलों के लिए उपयोगी है।
Syzygy टेबलबेस को उन पदों तक सीमित करें जहां अधिक से अधिक टुकड़े बचे हैं (राजाओं और प्यादों सहित)।
Syzygy DTM टेबलबेस का उपयोग करें (अभी तक जारी नहीं किया गया)।
पॉलीग्लॉट पुस्तक के उपयोग को नियंत्रित करें।
NNUE नेटवर्क फ़ाइल का नाम।
डिफ़ॉल्ट रूप से, Fat Titz स्टॉकफिश के हाइब्रिड मोड में NNUE का उपयोग करता है, जहां कुछ पदों का मूल्यांकन पुराने दस्तकारी मूल्यांकन के साथ किया जाता है। अन्य मोड शुद्ध (केवल NNUE) और शास्त्रीय (केवल दस्तकारी मूल्यांकन) हैं।
हैश तालिका के आवंटन को बड़े पृष्ठ (एलपी) के रूप में नियंत्रित करें। विंडोज़ पर यह विकल्प प्रकट नहीं होता है यदि ऑपरेटिंग सिस्टम में एलपी समर्थन की कमी है या यदि एलपी ठीक से सेट नहीं किया गया है।
यह विकल्प केवल NUMA मशीनों, यानी दो या अधिक CPU वाली मशीनों पर दिखाई देता है। यदि यह विकल्प "चालू" या "सभी" पर सेट है, तो Fat Titz अपने खोज थ्रेड्स को सभी नोड्स पर फैला देगा। यदि विकल्प "बंद" पर सेट है, तो Fat Titz मशीन के NUMA आर्किटेक्चर को अनदेखा कर देगा। लिनक्स पर, नोड्स का एक सबसेट निर्दिष्ट किया जा सकता है जिस पर सर्च थ्रेड्स चलाना है (जैसे "0-1" या "0,1" ताकि सर्च थ्रेड्स को नोड्स 0-3 में से 0 और 1 तक सीमित किया जा सके)।
- MSYS2 को MSYS2 वेबसाइट से डाउनलोड और इंस्टॉल करें।
- एक MSYS2 MinGW 64-बिट टर्मिनल खोलें (उदाहरण के लिए विंडोज स्टार्ट मेनू के माध्यम से)।
pacman -S mingw-w64-x86_64-toolchain
दर्ज करके MinGW 64-बिट टूलचेन स्थापित करें।- MSYS2 MinGW 64-बिट टर्मिनल बंद करें और दूसरा खोलें।