Monday, December 10, 2007

மாயக் கட்டங்கள் - 2

ஏற்கெனவே நமது வலைத்துணுக்கில் ஒற்றைப் படை மாயக் கட்டங்கள் உருவாக்குவது எப்படி என்று பார்த்தோம். இப்பொழுது இரட்டைப் படையில் ஒரு வகை! 'ஒரு வகை'யா என திகைக்காதீர்கள். ஏனென்றால் இரட்டைப் படை எண்களில் இரண்டு வகைகள் உண்டு. ஒரு இரட்டைப்படை எண்ணை(எகா:- 2,4,6...) இரண்டால் வகுத்தால், வரும் விடை ஒற்றைப் படை எண்ணாயிருந்தால், நாம் முதலில் எடுத்துக் கொண்ட எண் தனிமை இரட்டை எண்(Singly Even). அப்படியில்லாமல் இரண்டால் வகுத்து வரும் விடையும் இரட்டைப் படையாயிருந்தால், அதை ஜோடி இரட்டை எண்(Doubly Even) என்று சொல்லலாம் என்று நினைக்கிறேன்.

உதாரணத்திற்கு எண் 12. இதை இரண்டால் வகுத்தால் 6. 6ம் இரட்டை என்பதால் 12 என்பது ஜோடி இரட்டை. இப்பொழுது எண் 6ஐ எடுத்துக் கொண்டால், அதை 2ஆல் வகுத்து வரும் 3 என்பது ஒற்றைப் படை. அதனால் 6 ஒரு தனிமை இரட்டை எண்.

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

ஏற்கெனவே சொன்ன விளக்கப்படி 10 ஒரு தனிமை இரட்டைப்படை எண். அதனால் 10x10 மாயக் கட்டங்களை விளக்கத்துக்காக எடுத்துக் கொள்வோம். 10x10 கட்டங்களை நிரப்புவதற்கு நமக்கு 100 எண்கள் தேவை. வ்ழக்கம் போலவே, அவை அடுத்தடுத்த எண்களாகவோ, அல்லது ஒரு அரித்மெடிக் பிராக்ரஷனாகவோ இருக்கலாம். உதா :- (1 - 100), (2,4,6..200), (5,12,19..698).

முதலில் NxN கட்டங்களை, 4x4 சிறு சிறு கட்டங்களாக பிரித்துக் கொள்ள வேண்டும். கீழேயுள்ள படத்தில் 10x10 கட்டங்கள், அப்படி பிரித்துக் காட்டப்பட்டுள்ளன.

எண்களை நிரப்பும் முன் இந்த முறையின் பெயரை தெரிந்து கொள்ளலாம். இந்த முறைக்குப் பெயர் 'லக்ஸ்'(LUX Method). தமிழ் லக்ஸ் அல்ல. ஆங்கில LUX.

அதாவது, இப்பொழுது இந்த நான்கு x நான்கு கட்டங்களாக பிரித்துள்ளோம் இல்லையா. இந்த 4x4 கட்டங்களுக்குள் எண்களை மூன்று விதமாக நிரப்ப வேண்டும். சில கட்டங்களில் 'L' முறையில், சில கட்டங்களில் 'U' முறையில், சில கட்டங்களில் 'X' முறையில்.



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

N = 4M + 2.

இந்தச் சமன்பாட்டில் Mமுடைய மதிப்பை கண்டுபிடிக்க வேண்டும். நம்முடைய உதாரணத்தில், 10 = 4 x M + 2 ==> M=2.

நாம் செய்ய வேண்டியது முதல் (M + 1) வரிசைகளை(4x4 வரிசை) 'L' முறையில் நிரப்ப வேண்டும். அதற்கடுத்த 1 வரிசையை 'U' முறைப்படி. இப்பொழுது 'U' வரிசையில் உள்ள நடுக்கட்டத்தை(மட்டும்), அதற்கு நேர் மேலுள்ள 'L' கட்டத்துடன் swap(சரியான தமிழ் வார்த்தை தெரியுமா?!) செய்து கொள்ளுங்கள். மீதியுள்ள (M - 1) வரிசைகளை 'X' முறையில் நிரப்ப வேண்டும்.

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

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

ஒற்றைப் படையை போலவே, இங்கேயும் நமது பாதையில் விலகல் செய்ய வேண்டும். ஆனால், 2xN எண்களை நிரப்பி முடித்ததும் விலகல் செய்ய வேண்டும். நமது எடுத்துக்காட்டில் 2x10=20; ஒவ்வொரு 20 எண்களை நிரப்பி முடித்ததும் விலகல் செய்ய வேண்டும். விலகல் இரண்டு கட்டங்கள்(4x4) நேர் கீழே.

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

ஜோடி இரட்டைக் கட்டங்கள் நிரப்புவது பற்றி பின்னர் பார்க்கலாம்.

1 comment:

Show/Hide Comments

Post a Comment