Skip to content

Latest commit

 

History

History
128 lines (87 loc) · 15.6 KB

रीडमी.md

File metadata and controls

128 lines (87 loc) · 15.6 KB

#फैट टिट्ज़ यह एक मुफ़्त यूसीआई-संगत शतरंज इंजन है। यह 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=noNUMA समर्थन अक्षम करें
lto=yesलिंक-टाइम ऑप्टिमाइज़ेशन के साथ संकलित करें
extra=yesअतिरिक्त अनुकूलन विकल्पों के साथ संकलन करें (gcc-7.x और उच्चतर)

numa=no जोड़ें यदि संकलन numa.h के साथ विफल हो जाता है: ऐसी कोई फ़ाइल या निर्देशिका या नहीं ढूंढ सकता -lnuma

वर्तमान में अतिरिक्त = हाँ के साथ सक्षम अनुकूलन विकल्प अब कम प्रभावी प्रतीत होते हैं क्योंकि एनएनयूई कोड जोड़ा गया है।

यूसीआई सेटिंग्स

Anarchy

अराजकता मोड सक्षम/अक्षम करें। अराजकता मोड में एन-पासेंट को मजबूर किया जाता है। डिफ़ॉल्ट रूप से अक्षम

PersistentTTMinDepth

क्रमबद्ध टीटी प्रविष्टियों की न्यूनतम गहराई को नियंत्रित करता है

PersistentTTFileName

लगातार टीटी संचालन के लिए पथ।

PersistentTTSerialize

TT को क्रमानुसार करता है, अधिक के लिए "अतिरिक्त सुविधाएँ" देखें।

PersistentTTDeserialize

TT को डिसेरिएलाइज़ करता है, अधिक के लिए "अतिरिक्त सुविधाएँ" देखें।

Analysis Contempt

डिफ़ॉल्ट रूप से, निष्पक्ष विश्लेषण सुनिश्चित करने के लिए विश्लेषण के दौरान अवमानना ​​शून्य पर सेट है। उस पक्ष के लिए अवमानना ​​के साथ विश्लेषण करने के लिए इस विकल्प को सफेद या काले पर सेट करें।

Threads

किसी स्थिति को खोजने के लिए उपयोग किए जाने वाले CPU थ्रेड्स की संख्या।

Hash

MB में हैश तालिका का आकार।

Clear Hash

हैश तालिका साफ़ करें।

Ponder

जब विरोधी सोच रहा हो तो फैट टिट्ज़ को अपनी अगली चाल पर विचार करने दें।

MultiPV

खोज करते समय एन सर्वोत्तम लाइनों को आउटपुट करें। सर्वश्रेष्ठ प्रदर्शन के लिए 1 पर छोड़ दें।

Move Overhead

नेटवर्क और जीयूआई देरी के लिए मुआवजा (एमएस में)।

Slow Mover

फैट टिट्ज़ को अधिक समय का उपयोग करने के लिए बढ़ाएँ, फैट टिट्ज़ को कम समय का उपयोग करने के लिए घटाएँ।

SyzygyPath

Syzygy टेबलबेस फ़ाइलों को संग्रहीत करने वाले फ़ोल्डरों/निर्देशिकाओं का पथ। एकाधिक निर्देशिकाओं को ";" द्वारा अलग किया जाना है विंडोज़ पर और यूनिक्स-आधारित ऑपरेटिंग सिस्टम पर ":" द्वारा। ";" के आसपास रिक्त स्थान का उपयोग न करें या ":"।

उदाहरण: C:\tablebases\wdl345;C:\tablebases\wdl6;D:\tablebases\dtz345;D:\tablebases\dtz6

SyzygyProbeDepth

न्यूनतम शेष खोज गहराई जिसके लिए किसी स्थिति की जांच की जाती है। कम आक्रामक तरीके से जांच करने के लिए इस मान को बढ़ाएँ।

Syzygy50MoveRule

Syzygy टेबलबेस जांच द्वारा पता लगाए गए पचास-चाल नियम ड्रॉ को जीत या हार के रूप में गिना जाने देने में अक्षम है। यह ICCF पत्राचार खेलों के लिए उपयोगी है।

SyzygyProbeLimit

Syzygy टेबलबेस को उन पदों तक सीमित करें जहां अधिक से अधिक टुकड़े बचे हैं (राजाओं और प्यादों सहित)।

SyzygyUseDTM

Syzygy DTM टेबलबेस का उपयोग करें (अभी तक जारी नहीं किया गया)।

BookFile/BestBookMove/BookDepth

पॉलीग्लॉट पुस्तक के उपयोग को नियंत्रित करें।

EvalFile

NNUE नेटवर्क फ़ाइल का नाम।

Use NNUE

डिफ़ॉल्ट रूप से, Fat Titz स्टॉकफिश के हाइब्रिड मोड में NNUE का उपयोग करता है, जहां कुछ पदों का मूल्यांकन पुराने दस्तकारी मूल्यांकन के साथ किया जाता है। अन्य मोड शुद्ध (केवल NNUE) और शास्त्रीय (केवल दस्तकारी मूल्यांकन) हैं।

LargePages

हैश तालिका के आवंटन को बड़े पृष्ठ (एलपी) के रूप में नियंत्रित करें। विंडोज़ पर यह विकल्प प्रकट नहीं होता है यदि ऑपरेटिंग सिस्टम में एलपी समर्थन की कमी है या यदि एलपी ठीक से सेट नहीं किया गया है।

NUMA

यह विकल्प केवल NUMA मशीनों, यानी दो या अधिक CPU वाली मशीनों पर दिखाई देता है। यदि यह विकल्प "चालू" या "सभी" पर सेट है, तो Fat Titz अपने खोज थ्रेड्स को सभी नोड्स पर फैला देगा। यदि विकल्प "बंद" पर सेट है, तो Fat Titz मशीन के NUMA आर्किटेक्चर को अनदेखा कर देगा। लिनक्स पर, नोड्स का एक सबसेट निर्दिष्ट किया जा सकता है जिस पर सर्च थ्रेड्स चलाना है (जैसे "0-1" या "0,1" ताकि सर्च थ्रेड्स को नोड्स 0-3 में से 0 और 1 तक सीमित किया जा सके)।

MSYS2 कैसे सेट करें

  1. MSYS2 को MSYS2 वेबसाइट से डाउनलोड और इंस्टॉल करें।
  2. एक MSYS2 MinGW 64-बिट टर्मिनल खोलें (उदाहरण के लिए विंडोज स्टार्ट मेनू के माध्यम से)।
  3. pacman -S mingw-w64-x86_64-toolchain दर्ज करके MinGW 64-बिट टूलचेन स्थापित करें।
  4. MSYS2 MinGW 64-बिट टर्मिनल बंद करें और दूसरा खोलें।