சுடோக்கை தீர்க்க பொதுவான நுட்பங்கள்

24/6/2023, 12:00:00 AM

சுடோக் புதிர்களைத் தீர்க்க பல்வேறு நுட்பங்கள் மற்றும் யுக்திகளை பயன்படுத்தலாம். கீழே சில பொதுவானவை:

Candidate Elimination

Play

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

புதிரின் ஆரம்ப நிலைகளில் தவறான வேட்புகளை நீக்கி, சாத்தியங்களை குறைக்க பயன்படுத்தக்கூடிய அடிப்படை மற்றும் எளிய உத்தி.

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

Single Candidate

Play

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

ஒரே ஒரு சாத்தியமான இடம் மட்டுமே இருக்கும் போது ஒரு எண்ணை கண்டுபிடித்து வைக்க மிகவும் பயனுள்ள உத்தி.

தனிப்பட்ட செல்களுக்கு மட்டுமே பொருந்தும்; அது தனியாக மேலும் மேம்பட்ட புதிர்களைத் தீர்க்க முடியாது.

Naked Pairs/Triplets/Quads

Play

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

தொடர்புடைய வரிகள், நெடுவரிகள், மற்றும் பிளாக்குகளில் உள்ள பொதுவான எண்களின் தொகுப்புகளை (common sets) கண்டறிந்து சாத்தியங்களை நீக்கும் முறை.

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

Hidden Singles

ஒரு வரி, நெடுவரி, அல்லது பிளாக்கில் குறிப்பிட்ட ஒரு எண்ணுக்கு ஒரே ஒரு இடம் மட்டுமே மீதமிருந்தால், அந்த எண்ணை அங்கே வைக்க வேண்டும்.

ஒரு குறிப்பிட்ட எண்ணுக்கான ஒரே சாத்திய இடம் மட்டுமே இருக்கும் போது எண்களை விரைவாக கண்டுபிடித்து வைக்கும் முறை.

தனித்து (lone) இருக்கும் சாத்திய வேட்புகளை கண்டுபிடிக்க ஒவ்வொரு வரி, நெடுவரி, மற்றும் பிளாக்கையும் கவனமாக ஆய்வு செய்ய வேண்டும்.

X-Wing

Play

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

இரண்டு வரிகளும் இரண்டு நெடுவரிகளும் சம்பந்தப்பட்ட ஒரு குறிப்பிட்ட வடிவமைப்பை (pattern) கண்டறிந்து சாத்தியங்களை நீக்கும் முறை.

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

Swordfish

Play

X-Wing நுட்பத்தின் நீட்டிப்பு. இதில் மூன்று வரிகளும் மூன்று நெடுவரிகளும் இருக்கும்; ஒரு குறிப்பிட்ட எண்ணுக்கான வேட்புகள் அந்த ஒன்பது (nine) குறிப்பிட்ட செல்ல்களில் மட்டுமே இருக்கும். இதன் மூலம் அந்த எண்ணை அந்த மூன்று வரிகளிலும் மூன்று நெடுவரிகளிலும் உள்ள மற்ற செல்ல்களில் இருந்து நீக்க முடியும்.

மூன்று வரிகளும் மூன்று நெடுவரிகளும் சம்பந்தப்பட்ட ஒரு குறிப்பிட்ட வடிவமைப்பை (pattern) கண்டறிந்து அந்த எண்ணை எங்கே வைக்கலாம் என்பதை அடையாளம் கண்டு, சாத்தியங்களை குறைக்கும் முறை.

X-Wing-ஐ விட கண்டுபிடிப்பது சற்று கடினம்; ஏனெனில் மூன்று வரிகளும் மூன்று நெடுவரிகளும் ஒரே மாதிரியான வடிவத்தைப் பகிர்ந்து கொண்டிருக்க வேண்டும்.

Jellyfish

Play

Swordfish நுட்பத்தின் நீட்டிப்பு. இதில் நான்கு வரிகளும் நான்கு நெடுவரிகளும் இருக்கும்; ஒரு குறிப்பிட்ட எண்ணுக்கான வேட்புகள் அந்த பதினாறு (sixteen) குறிப்பிட்ட செல்ல்களில் மட்டுமே இருக்கும். இதன் மூலம் அந்த எண்ணை அந்த நான்கு வரிகளிலும் நான்கு நெடுவரிகளிலும் உள்ள மற்ற செல்ல்களில் இருந்து நீக்கலாம்.

நான்கு வரிகளும் நான்கு நெடுவரிகளும் சம்பந்தப்பட்ட ஒரு வடிவமைப்பை (pattern) கண்டறிந்து, அந்த எண்ணை எங்கே வைக்கலாம் என்பதை தீர்மானித்து, சாத்தியங்களை மேலும் குறைக்கும் முறை.

நான்கு வரிகளும் நான்கு நெடுவரிகளும் உட்பட்ட அந்த வகை வடிவமைப்பு அரிதாகவே கிடைக்கும்.

Backtracking

தர்க்கரீதியான (logical) எந்த முடிவையும் எடுக்க முடியாதபோது, backtracking பயன்படுத்தலாம். இது ஒரு காலியான செல்லுக்கு ஒரு ஊகத்தை (guess) வைத்து, மீதமுள்ள புதிரைத் தீர்க்க முயல்வதைக் குறிக்கிறது. அது தவறான தீர்வுக்கு கொண்டு சென்றால், மீண்டும் பின்வாங்கி (backtrack) மற்றொரு ஊகத்தை முயற்சிக்க வேண்டும். புதிர் தீரும் வரை இதை தொடர்ந்து செய்யுங்கள்.

இந்த நுட்பங்களை ஒன்றுசேர்த்து, பல்வேறு சிரம நிலைகளிலுள்ள சுடோக் புதிர்களைத் தீர்க்க பயன்படுத்தலாம். தர்க்கம் மற்றும் யுக்திகளைப் பயன்படுத்தி, கட்டத்தை சரியாக முடிக்கப்படும் வரை படிப்படியாக நிரப்ப முடியும்.

மற்ற தர்க்க முடிவுகள் இனி பொருந்தாதபோது பயன்படுத்தப்படுகிறது; முன்னேற ஊகங்களை செய்வதற்கு உதவும்.

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

In Summary

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

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

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

Sudoku වාදනය කරන්න