சதுரங்க இயந்திரம்

சதுரங்க இயந்திரம் ( Chess Engine ) என்பது சதுரங்க விளையாட்டை விளையாடக்கூடிய ஒரு கணினி மென்பொருள் நிரலாகும். இது மனிதனைப் போலவே சதுரங்க நகர்வுகளைக் கணக்கிட்டு சிறந்த நகர்வுகளைக் கண்டறிந்து விளையாடுகிறது.blog.chess.com Creating a chess engine from scratch (Part 1: Basics) , Link date 28 June 2012 இந்த மென்பொருள் சதுரங்கப் பலகையின் நிலையை பகுப்பாய்வு செய்து ஒவ்வொரு நகர்வின் சாத்தியமான விளைவுகளையும் மதிப்பீடு செய்யும். ஒரு சதுரங்கப் பொறி செயல்பட அதற்கு ஒரு "பொறி" (செயல்பாடுகளைச் செய்யும் மென்பொருள்) மற்றும் ஒரு "பயனர் இடைமுகம்" (பயனர் அதனுடன் தொடர்பு கொள்ளும் வழிகாட்டி) தேவை.  ஸ்டாக்பிஷ் சதுரங்க இயந்திரத்திற்கு ஒரு மிகச் சிறந்த எடுத்துக்காட்டாகும்.

இந்தப் பொறிகள் ஆயிரக்கணக்கான சதுரங்கப் போட்டித் தரவுகளைக் கொண்டு பயிற்சி அளிக்கப்படுகின்றன. இது பொறிகள் பல்வேறு போட்டி நிலைகளில் எவ்வாறு விளையாடுவது என்பதைக் கற்றுக்கொள்ள உதவுகிறது. ஒரு சதுரங்கப் பொறி ஒரு நகர்வை உருவாக்கும்போது அது பல படிகளைப் பின்பற்றுகிறது. முதலில் சாத்தியமான அனைத்து நகர்வுகளையும் அடையாளம் காணும். பின்னர் ஒவ்வொரு நகர்வையும் ஒரு குறிப்பிட்ட ஆழம் வரை (சில நகர்வுகள் முன் கூட்டியே) பகுப்பாய்வு செய்யும். இந்த பகுப்பாய்வு ஒரு நகர்வு எவ்வளவு நன்மை பயக்கும் என்பதை மதிப்பிட உதவுகிறது. இந்த மதிப்பீட்டு செயல்பாட்டில், காய்களின் மதிப்பு, பலகையின் நிலை, தாக்குதல் மற்றும் பாதுகாப்பு சாத்தியக்கூறுகள் போன்ற பல காரணிகள் கருத்தில் கொள்ளப்படுகின்றன. இறுதியாக பொறி சிறந்த நகர்வாகக் கருதுவதைத் தேர்ந்தெடுத்து விளையாடும்.

சதுரங்கப் பொறிகள் பல ஆண்டுகளாகப் பெரிய அளவில் வளர்ச்சியடைந்துள்ளன. ஆரம்பகாலப் பொறிகள் மனிதர்களை வெல்வது கடினமாக இருந்தது. ஆனால் தற்போதைய பொறிகள் மிகவும் சக்தி வாய்ந்தவை. உதாரணமாக டீப் ப்ளூ மற்றும் ஆல்ஃபா ஜீரோ போன்ற பொறிகள் உலகச் சாம்பியன் மனிதர்களைத் தோற்கடித்துள்ளன. இந்த வளர்ச்சி கணினி அறிவியலில் ஏற்பட்ட முன்னேற்றங்கள் குறிப்பாக செயல்திறன் மிக்க வழிமுறைகள் (algorithms) மற்றும் வேகமான செயலாக்க அலகுகள் (processors) ஆகியவற்றால் சாத்தியமானது. சதுரங்கப் பொறிகள் வெறும் விளையாட்டிற்காக மட்டுமல்லாமல் சதுரங்க வீரர்களுக்கு பயிற்சி அளிக்கவும் பல்வேறு சதுரங்க நிலைகளை பகுப்பாய்வு செய்யவும், திறப்பு மற்றும் இறுதி ஆட்ட நுட்பங்களை ஆய்வு செய்யவும் பயன்படுத்தப்படுகின்றன. இவை சதுரங்க உலகின் வளர்ச்சிக்கு ஒரு முக்கிய கருவியாக மாறியுள்ளன.

செயல்பாட்டு
சதுரங்கப் பொறிகள் முக்கிய பகுதிகளைக் கொண்டு செயல்படுகின்றன:
நிலைப் பகுப்பாய்வு
ஒரு பலகையின் கொடுக்கப்பட்ட நிலையை ஒரு எண் மதிப்பாக மாற்றும் செயல்பாடு இது. இந்த மதிப்பு எந்தப் பக்கம் சாதகமாக உள்ளது என்பதையும் எவ்வளவு சாதகமாக உள்ளது என்பதையும் குறிக்கிறது. நேர்மறை மதிப்புகள் வெள்ளைக்குச் சாதகமான நிலையையும் எதிர்மறை மதிப்புகள் கருப்புக்குச் சாதகமான நிலையையும், பூஜ்ஜியம் சமமான நிலையையும் குறிக்கும். இந்தப் பகுப்பாய்வு வெறும் காய்களின் எண்ணிக்கையை மட்டும் சார்ந்தது அல்ல. பின்வரும் பல காரணிகள் கருத்தில் கொள்ளப்படுகின்றன:

காய்களின் மதிப்பு ஒவ்வொரு காய்க்கும் ஒரு குறிப்பிட்ட எண் மதிப்பு (சிப்பாய் - 1, குதிரை/மந்திரி - 3, யானை - 5, ராணி - 9) ஒதுக்கப்படுகிறது.

ராஜா பாதுகாப்பு ராஜாவைச் சுற்றியுள்ள சிப்பாய் அமைப்பு, ராஜாவின் பலகையின் பாதுகாப்பு நிலை.

காய்களின் செயல்பாடு
ஒவ்வொரு காயும் எவ்வளவு சதுரங்களுக்கு நகரும் திறன் கொண்டவை. அதிக நகரும் திறன் கொண்ட காய்கள் பொதுவாக அதிக மதிப்புடையவை.

சிப்பாய் அமைப்பு
இரட்டைச் சிப்பாய்கள், தனிமைப்படுத்தப்பட்ட சிப்பாய்கள், முன்னேறிய சிப்பாய்கள் போன்ற சிப்பாய் அமைப்புகள்.

மையக் கட்டுப்பாடு
பலகையின் மையப் பகுதியின் மீது யார் ஆதிக்கம் செலுத்துகிறார்கள்.

காய்களின் ஒருங்கிணைப்பு
காய்கள் எவ்வளவு நன்றாக ஒன்றிணைந்து செயல்படுகின்றன.

தாக்குதல் மற்றும் பாதுகாப்பு வாய்ப்புகள்
எதிரியின் காய்களுக்கு அச்சுறுத்தல் மற்றும் தங்கள் காய்களின் பாதுகாப்பு.
இந்தக் காரணிகளுக்கு வெவ்வேறான எடைகள் (weights) கொடுக்கப்பட்டு, ஒரு கூட்டுத்தொகை மதிப்பாக நிலை மதிப்பிடப்படுகிறது. இந்த மதிப்புகள் 'சென்டி-சிப்பாய்கள்' (centipawns) எனப்படும் அலகுகளில் குறிப்பிடப்படுகின்றன. ஒரு சென்டி-சிப்பாய் ஒரு சிப்பாயின் மதிப்பில் 1/100 பங்காகும்.

தேடல் வழிமுறைகள்
நிலைப் பகுப்பாய்வுக்குப் பிறகு, சிறந்த நகர்வைக் கண்டறிய பொறிகள் தேடல் வழிமுறைகளைப் பயன்படுத்துகின்றன. இதில் மிகவும் பொதுவானது "மினிமாக்ஸ்" (Minimax) வழிமுறையாகும். இந்த வழிமுறை, இரு வீரர்களும் சிறந்த நகர்வுகளை மேற்கொள்வார்கள் என்ற அனுமானத்தின் பேரில், சாத்தியமான அனைத்து நகர்வுகளையும், அதற்கு எதிராளியின் எதிர்வினைகளையும் அலசி ஆராய்கிறது. அதாவது, பொறி தனது ஆதாயத்தை அதிகப்படுத்தவும், எதிராளியின் ஆதாயத்தை குறைக்கவும் முயல்கிறது.

நகர்வு உருவாக்கல்
ஒரு குறிப்பிட்ட பலகை நிலையிலிருந்து சட்டபூர்வமான அனைத்து நகர்வுகளையும் பட்டியலிடுதல்.

மீண்டும் மீண்டும் ஆழப்படுத்துதல்
இந்த நுட்பம், பொறி தனது தேடல் ஆழத்தை படிப்படியாக அதிகரிக்கும். முதலில் ஒரு குறிப்பிட்ட ஆழம் வரை தேடி, பின்னர் அதை இன்னும் ஆழமாகத் தேடி, முந்தைய தேடலில் கிடைத்த தகவல்களை மீண்டும் பயன்படுத்துகிறது. இது ஒரு குறிப்பிட்ட நேரத்திற்குள் சிறந்த நகர்வைக் கண்டறிய உதவுகிறது.

நிலை மாற்றம் அட்டவணைகள்
ஏற்கனவே பகுப்பாய்வு செய்யப்பட்ட சதுரங்க நிலைகளின் மதிப்புகளை சேமித்து வைக்கும் ஒரு நினைவக அமைப்பு இது. ஒரு குறிப்பிட்ட நிலை வேறுபட்ட நகர்வுகள் மூலம் மீண்டும் எட்டப்படும்போது, பொறி அதை மீண்டும் கணக்கிடுவதற்குப் பதிலாக, சேமிக்கப்பட்ட மதிப்பை மீட்டெடுக்கிறது. இது கணக்கீட்டு நேரத்தைச் சேமித்து, தேடல் வேகத்தை அதிகரிக்கிறது.

கூடுதல் உத்திகள்
சதுரங்கப் பொறிகளின் திறனை மேலும் அதிகரிக்க சில கூடுதல் உத்திகள் பயன்படுத்தப்படுகின்றன:

ஆரம்ப ஆட்டத் தொகுப்பு
ஆரம்ப ஆட்டத்தின் முதல் சில நகர்வுகளுக்கு, ஏற்கனவே கணக்கிடப்பட்ட சிறந்த நகர்வுகளின் தொகுப்பு. இது பொறிக்கு ஆரம்பத்தில் நேரம் மிச்சப்படுத்த உதவுகிறது.

இறுதி ஆட்ட அட்டவணைகள்
குறைவான காய்கள் உள்ள இறுதி ஆட்ட நிலைகளுக்கான முழுமையான பகுப்பாய்வு செய்யப்பட்ட தரவுத்தளங்கள். இந்த அட்டவணைகள், ஒரு நிலை வெற்றி (1), தோல்வி (0) அல்லது சமன் (-) என்பதையும், சிறந்த ஆட்டத்துடன் இறுதி நிலைக்கு எத்தனை நகர்வுகள் என்பதையும் துல்லியமாகத் தெரிவிக்கின்றன.

செயலாக்க வன்பொருள்
வேகமான செயலாக்க அலகுகள் (processors) மற்றும் பல-மைய செயலாக்கத் திறன்கள் (multi-core processing) பொறிகளின் தேடல் வேகத்தை வெகுவாக அதிகரிக்கின்றன. நவீன பொறிகள் கணினி மையச் செயலாக்க அலகுகள் (CPUs) மற்றும் வரைகலை செயலாக்க அலகுகள் (GPUs) இரண்டின் சக்தியையும் பயன்படுத்துகின்றன.

நரம்பியல் வலைப்பின்னல்கள்
ஆல்ஃபா ஜீரோ மற்றும் லீலா செஸ் ஜீரோ போன்ற சமீபத்திய பொறிகள், மனிதனால் எழுதப்பட்ட மதிப்பீட்டுச் செயல்பாடுகளைப் பயன்படுத்துவதற்குப் பதிலாக, நரம்பியல் வலைப்பின்னல்களைப் பயன்படுத்துகின்றன. இவை சுய-விளையாட்டு (self-play) மூலம் லட்சக்கணக்கான சதுரங்கப் போட்டித் தரவுகளைக் கொண்டு பயிற்சி அளிக்கப்பட்டு, மனிதர்கள் கற்பனை செய்ய முடியாத புதிய மற்றும் வியத்தகு நகர்வுகளைக் கண்டறிகின்றன.

வரலாறு / தாக்கம்
சதுரங்கப் பொறிகளின் கருத்து 18 ஆம் நூற்றாண்டிலேயே உருவானது. ஆனால் எண்ணிம (டிஜிட்டல்) கணினிகளின் வருகைக்குப் பின்னரே உண்மையான முன்னேற்றம் ஏற்பட்டது. 1950களில் ஆலன் டூரிங் மற்றும் கிளாட் ஷானன் போன்ற முன்னோடிகள் சதுரங்க மென்பொருள் குறித்த ஆரம்பகால கருத்துக்களை வெளியிட்டனர். 1997 இல் ஐ.பி.எம். நிறுவனத்தின் டீப் ப்ளூ (Deep Blue) பொறி அப்போதைய உலகச் சாம்பியன் காரி காஸ்பரோவை தோற்கடித்து, மனிதனை கணினி வென்ற முதல் முக்கிய நிகழ்வாக அமைந்தது.

சதுரங்கப் பொறிகள் நவீன சதுரங்க விளையாட்டில் புரட்சியை ஏற்படுத்தியுள்ளன:
பயிற்சி மற்றும் பகுப்பாய்வு
சதுரங்க வீரர்கள் தங்கள் ஆட்டங்களை பகுப்பாய்வு செய்யவும் தவறுகளைக் கண்டறியவும் புதிய திறப்பு மற்றும் இறுதி ஆட்ட நுட்பங்களைக் கற்றுக்கொள்ளவும் பொறிகளைப் பயன்படுத்துகின்றனர்.

திறப்பு கோட்பாடு வளர்ச்சி
பொறிகள் திறப்பு ஆட்டத்தின் ஆழமான பகுப்பாய்வுகளை மேற்கொண்டு புதிய நகர்வுகளையும் ஏற்கனவே உள்ள நகர்வுகளின் மேம்பாடுகளையும் கண்டறிய உதவுகின்றன. இதனால் திறப்பு கோட்பாடு மிக வேகமாக வளர்ந்துள்ளது.

போட்டித் தரம்
பொறிகளின் பயன்பாடு வீரர்களின் போட்டித் தரத்தை உயர்த்தியுள்ளது.  ஏனெனில் அவர்கள் உலகின் மிகச் சிறந்த "ஆசிரியர்களுடன்" பயிற்சி பெறுகின்றனர்.

ஆராய்ச்சி
கணினி அறிவியல் மற்றும் செயற்கை நுண்ணறிவு துறையில் ஆராய்ச்சிக்கான ஒரு முக்கிய தளமாக சதுரங்கப் பொறிகளின் வளர்ச்சி அமைந்துள்ளது.

இறுதியாக சதுரங்கப் பொறிகள் ஒரு விளையாட்டை விளையாடும் எளிய கணினி நிரல்களைத் தாண்டி, கணினி அறிவியலின் சிக்கலான வழிமுறைகள், மேம்பட்ட தேடல் உத்திகள் மற்றும் செயற்கை நுண்ணறிவின் மகத்தான திறன்களுக்கு ஒரு சிறந்த எடுத்துக்காட்டாகும்.

ஸ்டாக்பிஷ்
ஸ்டாக்பிஷ் ( Stockfish Chess Engine ) என்பது உலகின் மிக வலிமையான சதுரங்க இயந்திரங்களில் ஒன்றாகும். இது ஒரு கட்டணமற்ற திறந்த மூல மென்பொருள் ஆகும். அதாவது இதன் மூல மென்பொருள் குறியீடு பொதுவில் கிடைக்கிறது. இதை யார் வேண்டுமானாலும் பயன்படுத்தி, மேம்படுத்தலாம். இது 2008 ஆம் ஆண்டு வெளியிடப்பட்டதிலிருந்து சதுரங்க உலகில் ஒரு முக்கிய இடத்தைப் பிடித்துள்ளது.  தற்போது ஒரு பெரிய தன்னார்வ சமூகத்தால் இது தொடர்ந்து மேம்படுத்தப்பட்டு வருகிறது.

மேற்கோள்கள்

பகுப்பு:சதுரங்கம்
பகுப்பு:செயற்கை நுண்ணறிவு