मुख्य कंटेंट तक स्किप करें

कस्टम नियम और वेरिएंट

यह लेख KataGo द्वारा समर्थित विभिन्न गो नियमों, बोर्ड आकार वेरिएंट और नियम सेटिंग को कस्टमाइज़ करने का परिचय देता है।


नियम सेट अवलोकन

मुख्य नियम तुलना

नियम सेटस्कोरिंग विधिकोमीआत्मघाती चालको वापसी
Chineseएरिया स्कोरिंग7.5निषिद्धनिषिद्ध
Japaneseटेरिटरी स्कोरिंग6.5निषिद्धनिषिद्ध
Koreanटेरिटरी स्कोरिंग6.5निषिद्धनिषिद्ध
AGAमिश्रित7.5निषिद्धनिषिद्ध
New Zealandएरिया स्कोरिंग7अनुमतनिषिद्ध
Tromp-Taylorएरिया स्कोरिंग7.5अनुमतनिषिद्ध

KataGo सेटिंग

# config.cfg
rules = chinese # नियम सेट
komi = 7.5 # कोमी
boardXSize = 19 # बोर्ड चौड़ाई
boardYSize = 19 # बोर्ड ऊंचाई

चीनी नियम (Chinese)

विशेषताएं

स्कोरिंग विधि: एरिया स्कोरिंग (पत्थर और क्षेत्र दोनों)
कोमी: 7.5 अंक
आत्मघाती चाल: निषिद्ध
को वापसी: निषिद्ध (सरलीकृत नियम)

एरिया स्कोरिंग विवरण

अंतिम स्कोर = अपने पत्थरों की संख्या + अपने खाली बिंदुओं की संख्या

उदाहरण:
काले पत्थर 120 + काला क्षेत्र 65 = 185 अंक
सफेद पत्थर 100 + सफेद क्षेत्र 75 + कोमी 7.5 = 182.5 अंक
काला 2.5 अंक से जीता

KataGo सेटिंग

rules = chinese
komi = 7.5

जापानी नियम (Japanese)

विशेषताएं

स्कोरिंग विधि: टेरिटरी स्कोरिंग (केवल खाली बिंदु गिनें)
कोमी: 6.5 अंक
आत्मघाती चाल: निषिद्ध
को वापसी: निषिद्ध
मृत पत्थर चिह्नित करने की आवश्यकता

टेरिटरी स्कोरिंग विवरण

अंतिम स्कोर = अपने खाली बिंदु + कैप्चर किए गए प्रतिद्वंद्वी के पत्थर

उदाहरण:
काला क्षेत्र 65 + कैप्चर 10 = 75 अंक
सफेद क्षेत्र 75 + कैप्चर 5 + कोमी 6.5 = 86.5 अंक
सफेद 11.5 अंक से जीता

मृत पत्थर निर्धारण

जापानी नियमों में दोनों पक्षों को सहमत होना होगा कि कौन से पत्थर मृत हैं:

def is_dead_by_japanese_rules(group, game_state):
"""जापानी नियमों के तहत मृत पत्थर निर्धारण"""
# यह साबित करना होगा कि पत्थर समूह दो आंखें नहीं बना सकता
# यह जापानी नियमों की जटिलता है
pass

KataGo सेटिंग

rules = japanese
komi = 6.5

AGA नियम

विशेषताएं

अमेरिकन गो एसोसिएशन (AGA) नियम चीनी और जापानी नियमों के फायदे जोड़ते हैं:

स्कोरिंग विधि: मिश्रित (एरिया या टेरिटरी दोनों, समान परिणाम)
कोमी: 7.5 अंक
आत्मघाती चाल: निषिद्ध
सफेद को पास के लिए एक पत्थर भरना होगा

पास नियम

काला पास: पत्थर भरने की जरूरत नहीं
सफेद पास: काले को एक पत्थर देना होगा

यह एरिया और टेरिटरी स्कोरिंग को समान बनाता है

KataGo सेटिंग

rules = aga
komi = 7.5

Tromp-Taylor नियम

विशेषताएं

सबसे सरल गो नियम, प्रोग्राम कार्यान्वयन के लिए उपयुक्त:

स्कोरिंग विधि: एरिया स्कोरिंग
कोमी: 7.5 अंक
आत्मघाती चाल: अनुमत
को वापसी: Super Ko (किसी भी दोहराई स्थिति निषिद्ध)
मृत पत्थर निर्धारण की आवश्यकता नहीं

Super Ko

def is_superko_violation(new_state, history):
"""Super Ko उल्लंघन जांचें"""
for past_state in history:
if new_state == past_state:
return True
return False

समाप्ति निर्धारण

दोनों पक्षों की मृत पत्थर सहमति आवश्यक नहीं
गेम जारी रहता है जब तक:
1. दोनों पक्ष लगातार पास
2. फिर सर्च या वास्तविक खेल से क्षेत्र निर्धारित

KataGo सेटिंग

rules = tromp-taylor
komi = 7.5

बोर्ड आकार वेरिएंट

समर्थित आकार

KataGo कई बोर्ड आकारों का समर्थन करता है:

आकारविशेषताएंसुझाया उपयोग
9×9~81 बिंदुशुरुआती, त्वरित गेम
13×13~169 बिंदुउन्नत सीखना
19×19361 बिंदुमानक प्रतियोगिता
कस्टमकोई भीअनुसंधान, परीक्षण

सेटिंग विधि

# 9×9 बोर्ड
boardXSize = 9
boardYSize = 9
komi = 5.5

# 13×13 बोर्ड
boardXSize = 13
boardYSize = 13
komi = 6.5

# गैर-वर्गाकार बोर्ड
boardXSize = 19
boardYSize = 9

कोमी सुझाव

आकारचीनी नियमजापानी नियम
9×95.55.5
13×136.56.5
19×197.56.5

हैंडीकैप सेटिंग

हैंडीकैप गेम

हैंडीकैप खेल शक्ति अंतर समायोजित करने का तरीका है:

# 2 पत्थर हैंडीकैप
handicap = 2

# 9 पत्थर हैंडीकैप
handicap = 9

हैंडीकैप स्थिति

HANDICAP_POSITIONS = {
2: [(3, 15), (15, 3)],
3: [(3, 15), (15, 3), (15, 15)],
4: [(3, 15), (15, 3), (3, 3), (15, 15)],
# 5-9 पत्थर स्टार पॉइंट + तेनगेन उपयोग करते हैं
}

हैंडीकैप के साथ कोमी

# पारंपरिक: हैंडीकैप में कोमी नहीं या आधा अंक
komi = 0.5

# आधुनिक: हैंडीकैप संख्या के अनुसार समायोजित
# प्रत्येक पत्थर ~10-15 अंक का मूल्य

Analysis मोड नियम सेटिंग

GTP कमांड

# नियम सेट करें
kata-set-rules chinese

# कोमी सेट करें
komi 7.5

# बोर्ड आकार सेट करें
boardsize 19

Analysis API

{
"id": "query1",
"moves": [["B", "Q4"], ["W", "D4"]],
"rules": "chinese",
"komi": 7.5,
"boardXSize": 19,
"boardYSize": 19,
"overrideSettings": {
"maxVisits": 1000
}
}

उन्नत नियम विकल्प

आत्मघाती चाल सेटिंग

# आत्मघाती चाल निषिद्ध (डिफॉल्ट)
allowSuicide = false

# आत्मघाती चाल अनुमत (Tromp-Taylor शैली)
allowSuicide = true

Ko नियम

# Simple Ko (केवल तत्काल वापसी निषिद्ध)
koRule = SIMPLE

# Positional Super Ko (कोई भी स्थिति दोहराना निषिद्ध, किसी की भी बारी हो)
koRule = POSITIONAL

# Situational Super Ko (समान पक्ष की स्थिति दोहराना निषिद्ध)
koRule = SITUATIONAL

स्कोरिंग नियम

# एरिया स्कोरिंग (चीनी, AGA)
scoringRule = AREA

# टेरिटरी स्कोरिंग (जापानी, कोरियाई)
scoringRule = TERRITORY

टैक्स नियम

कुछ नियमों में सेकी क्षेत्रों के लिए विशेष स्कोरिंग है:

# कोई टैक्स नहीं
taxRule = NONE

# सेकी में क्षेत्र नहीं
taxRule = SEKI

# सभी आंखों की स्थिति में क्षेत्र नहीं
taxRule = ALL

मल्टी-रूल ट्रेनिंग

KataGo का लाभ

KataGo एकल मॉडल से कई नियमों का समर्थन करता है:

def encode_rules(rules):
"""नियमों को न्यूरल नेटवर्क इनपुट में एनकोड करें"""
features = np.zeros(RULE_FEATURE_SIZE)

# स्कोरिंग विधि
features[0] = 1.0 if rules.scoring == 'area' else 0.0

# आत्मघाती चाल
features[1] = 1.0 if rules.allow_suicide else 0.0

# Ko नियम
features[2:5] = encode_ko_rule(rules.ko)

# कोमी (नॉर्मलाइज़्ड)
features[5] = rules.komi / 15.0

return features

नियम-जागरूक इनपुट

न्यूरल नेटवर्क इनपुट में शामिल:
- बोर्ड स्थिति (19×19×N)
- नियम फीचर वेक्टर (K आयाम)

यह एक ही मॉडल को विभिन्न नियम समझने देता है

नियम स्विचिंग उदाहरण

Python कोड

from katago import KataGo

engine = KataGo(model_path="kata.bin.gz")

# चीनी नियम विश्लेषण
result_cn = engine.analyze(
moves=[("B", "Q4"), ("W", "D4")],
rules="chinese",
komi=7.5
)

# जापानी नियम विश्लेषण (समान स्थिति)
result_jp = engine.analyze(
moves=[("B", "Q4"), ("W", "D4")],
rules="japanese",
komi=6.5
)

# अंतर तुलना
print(f"चीनी नियम काले की जीत दर: {result_cn['winrate']:.1%}")
print(f"जापानी नियम काले की जीत दर: {result_jp['winrate']:.1%}")

नियम प्रभाव विश्लेषण

def compare_rules_impact(position, rules_list):
"""विभिन्न नियमों का स्थिति मूल्यांकन पर प्रभाव तुलना करें"""
results = {}

for rules in rules_list:
analysis = engine.analyze(
moves=position,
rules=rules,
komi=get_default_komi(rules)
)
results[rules] = {
'winrate': analysis['winrate'],
'score': analysis['scoreLead'],
'best_move': analysis['moveInfos'][0]['move']
}

return results

आम प्रश्न

नियम अंतर से भिन्न परिणाम

समान गेम, विभिन्न नियमों से भिन्न परिणाम हो सकते हैं:
- एरिया vs टेरिटरी स्कोरिंग का अंतर
- सेकी क्षेत्रों का प्रबंधन
- पास का प्रभाव

कौन से नियम चुनें?

परिदृश्यसुझाए नियम
शुरुआतीChinese (सहज, विवाद-मुक्त)
ऑनलाइन प्रतियोगिताप्लेटफॉर्म डिफॉल्ट (आमतौर पर Chinese)
जापान बादुक इनJapanese
प्रोग्राम कार्यान्वयनTromp-Taylor (सबसे सरल)
चीन प्रोफेशनलChinese

क्या मॉडल को विशिष्ट नियमों के लिए प्रशिक्षित करना होगा?

KataGo का मल्टी-रूल मॉडल पहले से ही बहुत मजबूत है। लेकिन यदि केवल एक नियम उपयोग करें, तो विचार करें:

# निश्चित नियम प्रशिक्षण (विशिष्ट नियम में थोड़ी बेहतर खेल शक्ति संभव)
rules = chinese

आगे पढ़ें