ഡാന്സിലൂടെ 'സോര്ട്ടിങ് വിദ്യകള്.'.!
>> Friday, April 15, 2011
ചെന്നൈയിലെ ഒരു പ്രധാന ഐടി കമ്പനിയിലെ ടെക്നിക്കല് ആര്ക്കിടെക്റ്റ് ഗ്രൂപ്പില് ജോലിചെയ്യുന്ന ശ്രീ സന്തോഷ് തോട്ടുങ്ങലിനെ അറിയുമോ..? സ്വതന്ത്ര, ഓപണ്സോഴ്സ് പ്രോജക്ടുകളിലെ, പ്രത്യേകിച്ച് ഇന്ത്യന് ലാങ്വേജ് കംപ്യൂട്ടിങ്ങിലെ സന്തോഷിന്റെ സംഭാവനകളെ ആര്ക്കാണ് മറക്കാന് കഴിയുക? സ്വതന്ത്ര മലയാളം കമ്പ്യൂട്ടിങ്ങിന്റെ ഈ അമരക്കാരന്റെ ധ്വനി എന്ന ടെക്സ്റ്റ് ടു സ്പീച്ച് സിസ്റ്റത്തിനായിരുന്നു 2008 ലെ FOSS അവാര്ഡ്. സന്തോഷിന്റെ സംഭാവനകള് വിസ്തരിച്ച് അധികം സമയം കളയുന്നില്ല. അതൊക്കെ വഴിയേ ആകാമല്ലോ..!ഇന്നത്തെ ഈ പോസ്റ്റ് കഴിഞ്ഞദിവസം അദ്ദേഹം മെയില് ചെയ്ത് തന്നതാണ്. രസകരവും വിജ്ഞാനപ്രദവും അത്ഭുതകരവുമായി ഒറ്റവായനയില് തോന്നിയതുകൊണ്ടാണ് മുന്ഗണനാക്രമങ്ങളൊക്കെ മാറ്റിവെച്ച് ഇത് പബ്ലിഷ് ചെയ്യുന്നത്. വായിച്ചു നോക്ക്..നിങ്ങളും എന്നോട് യോജിക്കാതിരിക്കില്ല.. കമ്പ്യൂട്ടര് സയന്സ് പഠിക്കുന്ന എതൊരു വിദ്യാര്ത്ഥിയും അല്ഗോരിതങ്ങളെപ്പറ്റി പഠിക്കാന് തുടങ്ങുമ്പോള് നിരവധി സോര്ട്ടിങ്ങ് വിദ്യകളെപ്പറ്റി മനസ്സിലാക്കേണ്ടതുണ്ടു്. ഇന്സേര്ഷന് സോര്ട്ട്, ഹീപ് സോര്ട്ട്, ബബിള് സോര്ട്ട്, ക്വിക് സോര്ട്ട്, ഷെല് സോര്ട്ട് എന്നിങ്ങനെ നിരവധി.. ഇതിലെ ഷെല് സോര്ട്ട് അല്ഗോരിതം വളരെ മനോഹരമായ ഒരു ഹംഗേറിയന് നാടോടി നൃത്തത്തിലൂടെ താഴേ വീഡിയോയില് അവതരിപ്പിച്ചിരിക്കുന്നതു നോക്കൂ..
സ്കൂള്ക്ലാസുകളിലെ പഠനവിഷയങ്ങള് മാത്രമല്ല, കമ്പ്യൂട്ടര് സയന്സിലെ ഇത്തരം കാര്യങ്ങളും വളരെ ലളിതമായി , മനോഹരമായി അവതരിപ്പിക്കാം.
വീഡിയോ കണ്ടവര്ക്കായി വളരെ ലളിതമായി ഈ സോര്ട്ടിങ്ങ് അല്ഗോരിതം(നൃത്തത്തില് അവരവതരിപ്പിക്കുന്നതെന്തെന്നും) വിശദീകരിക്കാന് ശ്രമിക്കാം.(വിക്കിപീഡിയയിലും ഇന്റര്നെറ്റിലുമൊക്കെ ഉണ്ടു് )
3 0 1 8 7 2 5 4 9 6 എന്ന ക്രമത്തിലുള്ള 10 അക്കങ്ങളാണു് ഈ നൃത്തത്തില് 5 ആണ്കുട്ടികളും 5 പെണ്കുട്ടികളും അവതരിപ്പിക്കുന്നതു്.
5-സോര്ട്ട് എന്ന സ്റ്റെപ്പാണു് ആദ്യം. അതായതു്, ഈ 10 അക്കങ്ങളെ അഞ്ചെണ്ണമുള്ള രണ്ട് കൂട്ടമാക്കുക
3 0 1 8 7
2 5 4 9 6
ഇനി ഇതിലെ ഓരോ നിരകളിലെയും(കോളങ്ങള്) അക്കങ്ങള് ക്രമത്തിലാക്കുക. വീഡിയോയില് ആറാമാത്തെ അംഗം ഒന്നാമത്തെ അംഗവുമായി കാണുന്ന ദൃശ്യം.
2 0 1 8 7
3 5 4 9 6
ഇങ്ങനെ ഓരോ കോളങ്ങളും മാറ്റുമ്പോള്
2 0 1 8 6
3 5 4 9 7
ഇതോടെ 5-സോര്ട്ട് എന്നെ സ്റ്റെപ്പ് കഴിഞ്ഞു. ഈ അക്കങ്ങളെ ഇനി നിരത്തി എഴുതുക
2 0 1 8 6 3 5 4 9 7
ഇനി 3-സോര്ട്ട് സ്റ്റെപ്പ് ആണു്. അതായതു് മൂന്നക്കങ്ങളുള്ള വരികളാക്കുന്നു
2 0 1
8 6 3
5 4 9
7
ഇനി കോളങ്ങള് എടുക്കുക: ആദ്യത്തെ രണ്ടു വരിയിലെ അക്കങ്ങള് ക്രമീകരിക്കുക. അവ ക്രമത്തില് തന്നെയാണു്.
2 0 1
8 6 3
5 4 9
7
രണ്ടും മൂന്നും വരികള് ക്രമത്തിലാക്കുക
2 0 1
5 4 3
8 6 9
7
ഈ സ്റ്റെപ്പില് 5 എന്ന പെണ്കുട്ടി 8 നെമാറ്റി വന്ന് 2 നോടു സംസാരിച്ച് പോവാതെ നില്ക്കും, കാരണം 2 ഉം 5 ഉം ക്രമത്തില് തന്നെയാണല്ലോ.
അങ്ങനെ എല്ലാം തീരുമ്പോള് ഇങ്ങനെ കിട്ടും
2 0 1
5 4 3
7 6 9
8
ഇതോടെ 3-സ്ടെപ് തീര്ന്നു.
നിരത്തിയെഴുതുമ്പോള്
2 0 1 5 4 3 7 6 9 8
അടുത്തതു് 1-സ്ടെപ് ആണു്. ഒരു വരിയില് 1 വീതം അക്കങ്ങളെഴുതും
2
0
1
5
4
3
7
6
9
8
തൊട്ടടുത്തുള്ള ഓരോ ആളും ഇടതുവശത്തുള്ളവരുമായി ക്രമീകരിച്ച് മുന്നേറുന്നതു കാണുക. അവസാനം
0 1 2 3 4 5 6 7 8 9
എന്ന ക്രമത്തിലെത്തുന്നു. സംഘാംഗങ്ങള് വട്ടത്തില് നൃത്തം വെയ്ക്കുന്നു.
ഇതു പോലെ ഈ യൂട്യൂബ് ചാനലില് ബബിള് സോര്ട്ടും സെലക്ട് സോര്ട്ടും ഒക്കെയുണ്ടു്. വിശദീകരിക്കാന് എനിക്കു സമയമില്ല. വിക്കിപീഡിയേല് പോയി വായിക്കുക :)
ഇത്രയും രസകരമായ രീതിയില് ഇതു കാണുമ്പോള് ഈ അല്ഗോരിതങ്ങള് ഞാന് കോളേജില് പഠിച്ചതെത്ര ബുദ്ധിമുട്ടിയായിരുന്നു...
കമ്പ്യൂട്ടര് സയന്സ് പഠിക്കുന്ന അനുജന്മാരോടും അനുജത്തിമാരോടും: നിങ്ങള്ക്കിതു കണ്ടിട്ടു് നമുക്കും ചെയ്യാമെന്നു തോന്നുന്നില്ലേ!, സോര്ട്ടിങ്ങ്, സെര്ച്ചിങ്ങ്, ഗ്രാഫ്, ട്രീ തുടങ്ങി എത്രയെത്ര അല്ഗോരിതങ്ങള്... നമ്മുടെ മനോഹരമായ നൃത്തരൂപങ്ങളും.... എന്താണാലോചിക്കുന്നതു്?
19 comments:
"കമ്പ്യൂട്ടര് സയന്സ് പഠിക്കുന്ന അനുജന്മാരോടും അനുജത്തിമാരോടും: നിങ്ങള്ക്കിതു കണ്ടിട്ടു് നമുക്കും ചെയ്യാമെന്നു തോന്നുന്നില്ലേ!, സോര്ട്ടിങ്ങ്, സെര്ച്ചിങ്ങ്, ഗ്രാഫ്, ട്രീ തുടങ്ങി എത്രയെത്ര അല്ഗോരിതങ്ങള്... നമ്മുടെ മനോഹരമായ നൃത്തരൂപങ്ങളും.... എന്താണാലോചിക്കുന്നതു്?"
അടുത്ത പൈത്തണ് പാഠം ഇതില് ഏതെങ്കിലും ഒരു തരം സോര്ട്ടിംഗിനെപ്പറ്റി ആയാലോ? ലളിതമായ സോര്ട്ടിംഗ് പ്രോഗ്രാമുകള് എഴുതാന് ഇതുവരെ പഠിച്ച പൈത്തണ് ധാരാളം മതിയാകും.
-- ഫിലിപ്പ്
Thanks for this useful post.I have re-shared it.
ഇതുപോലെയുള്ള മികച്ച പോസ്റ്റുകള് വരുമ്പോള് അതിലൊന്നും കമന്റുകള് എഴുതാത്തതിന് കാരണം കണക്ക് ടീച്ചര്മാര്ക്കും മാഷുമ്മാര്ക്കും ഇതേക്കുറിച്ചൊന്നും 'വിവരമില്ലാഞ്ഞിട്ടാണോ'? ഇത്തരം പോസ്റ്റുകളാണ് ഒരു പഠനവിഷയത്തെ എളുപ്പമാക്കുന്നത്. ഇതാണ് വിദ്യാഭ്യാസമേഖലയിലെ ഐടി സാധ്യതകള്. അല്ലാതെ ഉബുണ്ടുവും ഡെബിയനും മാത്രമല്ല. ഒരു പഠനഭാഗം നൃത്തരൂപത്തില് അവതരിപ്പിച്ചിരിക്കുന്നത് കാണുമ്പോള് വിദ്യാര്ത്ഥികള്ക്ക് കൗതുകമുണ്ടാകും. ഈ പ്രോമ്റ്റില് വരാന്പോകുന്ന അടുത്ത സംഖ്യ ഇതാണ് എന്ന് അവന് ചിന്തിക്കുന്നു. ഇതാണ് യഥാര്ത്ഥ പഠനം. AP യും GPയും AGPയും ഇത് പോലെ തന്നെ ക്ലാസ് റൂമില് അവതരിപ്പിച്ചു കൂടേ?
മാഷുമ്മാരേ, ടീച്ചര്മാരേ, നിങ്ങളൊക്കെ പാഠപുസ്തകം മാത്രം പഠിപ്പിക്കുന്നതു കൊണ്ടാണ് കേരളത്തിലെ സര്ക്കാര് നിയന്ത്രിതവിദ്യാഭ്യാസമേഖല മുരടിച്ചു പോകുന്നത്. എന്നും മുന്നില് ബ്ലാക്ക് ബോര്ഡ് മാത്രം കാണുന്നതുകൊണ്ടാണ് കണക്ക് കുട്ടിയുടെ മനസ്സില് ബ്ലാക്ക് ഹോള്സ് വീഴുന്നത്. പഴി മുഴുവന് കുട്ടിക്കും. "നമുക്കു കിട്ടുന്ന സ്റ്റഫ് ശരിയല്ല!!!" എന്തുകൊണ്ട് നല്ല സ്റ്റഫ് നിങ്ങളെ ആശ്രയിക്കുന്നില്ല? അവരെന്ത് കൊണ്ട് നിങ്ങളെ വിട്ടു പോയി? നിങ്ങളുടെ 'കൊണവതികാരം' കൊണ്ടു തന്നെ. നിങ്ങള് നന്നായി അദ്ധ്വാനിച്ചാല് നല്ല സ്റ്റഫ് നിങ്ങളെ തേടി വന്നു കൊള്ളും. അത് നൂറുശതമാനം ഉറപ്പ്. അതിന് ഇത്തരം പോസ്റ്റുകളെല്ലാം നിങ്ങളെ സഹായിക്കും. എന്റെ നാട്ടില് അധപ്പതിച്ച് താഴെപ്പോയ ഒരു സര്ക്കാര് വിദ്യാലയത്തില് ഇന്നു വിദ്യാര്ത്ഥികള് കൂടിക്കൂടി വരുന്നത് തന്നെ നേരനുഭവം. ക്ലാസ് റൂമിനു പുറത്തേക്ക് പുറം സാഹചര്യത്തിലേക്ക് ആപ്ലിക്കേഷന് ലവലില് ചിന്തിക്കാന് കുട്ടിയെ പ്രചോദിപ്പിക്കാന് കഴിയണം. ഈ വിദ്യകളെല്ലാം കുട്ടികള്ക്ക് പകര്ന്നു കൊടുക്കുന്ന നല്ല ടീച്ചര്മാരും മാഷുമ്മാരും ഈ സമൂഹത്തില് ഉണ്ട്. പക്ഷെ ഒരു ശതമാനം മാത്രം. ബാക്കി 99 ശതമാനവും സ്റ്റഫിനെ പഴിച്ചിരിക്കുന്ന മടിച്ചികളും മടിയന്മാരുമാണ്. ഇന്റര്നെറ്റും മറ്റു സാങ്കേതിക വിദ്യകളുമെല്ലാം ഉണ്ടല്ലോ? എത്രപേര് അതുപയോഗിക്കുന്നുണ്ടാകുമെന്ന് ഇവിടത്തെ കമന്റുകള് നോക്കിയാല് മനസ്സിലാകും. അങ്ങനെ ചെയ്യുന്നവര് മാത്രം എന്നെ കല്ലെറിയാന് വരട്ടെ.
ജെയിംസ് ബോണ്ടേ..
ഒരല്പം കൂടി ക്ഷമിക്കണേ..ഇലക്ഷന് ഡ്യൂട്ടിയുടെ ക്ഷീണമൊക്കെ ഒന്നുറങ്ങിത്തീര്ത്ത് മാഷുമ്മാരും ടീച്ചര്മാരുമൊന്ന് വന്നോട്ടെ..
ഡ്യൂട്ടിയില് നിന്ന് ഒഴിവാകാന് ഭാഗ്യം സിദ്ധിച്ച ബോണ്ടുമാരല്ലല്ലോ നിര്ഭാഗ്യ വശാല് ഭൂരിഭാഗവും!!
"ഇതാണ് വിദ്യാഭ്യാസമേഖലയിലെ ഐടി സാധ്യതകള്. അല്ലാതെ ഉബുണ്ടുവും ഡെബിയനും മാത്രമല്ല. ഒരു പഠനഭാഗം നൃത്തരൂപത്തില് അവതരിപ്പിച്ചിരിക്കുന്നത് കാണുമ്പോള് വിദ്യാര്ത്ഥികള്ക്ക് കൗതുകമുണ്ടാകും. ഈ പ്രോമ്റ്റില് വരാന്പോകുന്ന അടുത്ത സംഖ്യ ഇതാണ് എന്ന് അവന് ചിന്തിക്കുന്നു. ഇതാണ് യഥാര്ത്ഥ പഠനം. AP യും GPയും AGPയും ഇത് പോലെ തന്നെ ക്ലാസ് റൂമില് അവതരിപ്പിച്ചു കൂടേ?"
ക്വട്ടേഷനില് ബോള്ഡായി നല്കിയിരിക്കുന്ന വാചകമില്ലായിരുന്നെങ്കിലും ജെയിംസ്ബോണ്ടിന്റെ കമന്റിന് യാതൊരു കുറവുമുണ്ടാകുമായിരുന്നില്ല തന്നെ!
"ഡാന്സിലൂടെ 'സോര്ട്ടിങ് വിദ്യകള്.'.!" വളരെ നന്നായിരിക്കുന്നു . വെകേഷന് ക്ലാസില് ബേസിക് ഒകെ എടുത്തു കഴിഞ്ഞു ഇനി എന്ത് എന്ന് വിചാരിച്ചിരികുമ്പോള് ആണ് ഈ മനോഹരമായ സോര്ടിംഗ് ഡാന്സ് .രാവിലെ തന്നെ പെന് ഡ്രൈവില് ഡൌണ്ലോഡ് ചെയ്തു ലാപില് കുട്ടികളെ കാണിച്ചു അതിന്റെ തത്വം വിവരിച്ചു എങ്കിലും അവര്ക്ക് മനസിലായോ ആവൊ ?എങ്കിലും അല്ഗോരിതം ഡാന്സ് കുട്ടികള്ക്ക് ആദ്യത്തെ അനുഭവം തന്നെ . വളരെ താല്പര്യത്തോടെ കാണുകയും ചെയ്തു . ഇനിയും ഇത് പോലുള്ള വിദ്യകള് മത്സ്ബ്ലോഗിലുടെ പ്രതീഷിക്കുന്നു .നന്ദി
കമ്പ്യൂട്ടറും ഇന്റര്നെറ്റുമൊന്നും പ്രചാരത്തില് വരാത്ത കാലത്തും ഞങ്ങളൊക്കെ കുട്ടികളെ ക്ലാസ് റൂമിന് പുറത്തേക്കു കൊണ്ടു പോകാറുണ്ടായിരുന്നു. നിര്ദ്ദേശാങ്കജ്യാമിതിയും രേഖീയസംഖ്യകളും ത്രികോണമിതിയും വൃത്തങ്ങളും ശ്രേണികളുമെല്ലാം ക്ലാസ് റൂമിനു വെളിയിലെ അന്തരീക്ഷത്തില്ത്തന്നെ പറഞ്ഞു കൊടുക്കാന് ശ്രമിച്ചിട്ടുമുണ്ട്. പുതിയ സങ്കേതങ്ങള് വരുമ്പോള് അത് ഫലപ്രദമായി ഉപയോഗിക്കുക തന്നെ വേണം. ആദ്യകാലത്തു നിന്നൊക്കെ വ്യത്യസ്തമായി ഇന്ന് കമ്പ്യൂട്ടര് ഉപയോഗിക്കുന്നവരുടെ എണ്ണം കൂടിയിട്ടുണ്ട്. ഈ വീഡിയോ ശ്രദ്ധയില്പ്പെടുത്തിയതിന് മാത്സ് ബ്ലോഗിന് നന്ദി.
ഡാന്സിങ്ങിലൂടെയുള്ള സോര്ട്ടിങ് വിദ്യ മനോഹരമായിരിക്കുന്നു.
സോക്രട്ടീസിന്റെ പാഠനരീതി --- ഉത്തരങ്ങളിലൂടെയല്ലാതെ, ചോദ്യങ്ങളിലൂടെയുള്ള പഠിപ്പിക്കല് --- ഉപയോഗിച്ച് മൂന്നാം ക്ളാസുകാരെ ബൈനറി ഗണിതം പഠിപ്പിച്ചതിന്റെ (ഞാനല്ല!) രസകരമായ അനുഭവക്കുറിപ്പ് ഇവിടെ.
-- ഫിലിപ്പ്
ബൈനറി ന്യൂമെറലുകള് പണ്ട് ഹൈസ്കൂള് ക്ലാസില് പഠിപ്പിച്ചതോര്മ്മ വരുന്നു. സത്യമായും ഒന്നും മനസ്സിലായിരുന്നില്ല! 2 ഉം 5 ഉം ഒക്കെ ബേസ് ആയുള്ള സംഖ്യാസംബ്രദായങ്ങള് തമ്മില് ഗുണിക്കാന് പെടാപ്പാട്പെട്ടതോര്മ്മ വരുന്നു..
ഫിലിപ്പ് സാര് തന്ന ലിങ്കിലുള്ള രീതിയില് വെറും 25 മിനിറ്റുകൊണ്ട് മഹാനായ ആ അധ്യാപകന് സാധിച്ചെടുത്തത് വായിച്ചപ്പോള് വല്ലാത്ത നഷ്ടബോധം...
ഇതുവായിക്കുന്ന ഗണിതാധ്യാപകരെങ്കിലും പ്രചോദനമുള്ക്കൊണ്ടെങ്കില്..!
(പ്രധാന പേജില് ഇത്തരം വിലപ്പെട്ട പോസ്റ്റുകളും,ശമ്പളപരിഷ്കരണ-ഇലക്ഷന് പോസ്റ്റുകള് ഉള്പേജുകളിലേക്കും മാറേണ്ടേ..?)
[im]http://3.bp.blogspot.com/-CxoqH9mbDG0/TadtmD_XWII/AAAAAAAAA2c/eVWAOElIRc0/s320/vishu-kani.jpg[/im]
ഏവര്ക്കും ഹൃദ്യമായ വിഷുദിനാശംസകള്
[im]http://photos-a.ak.fbcdn.net/hphotos-ak-snc6/215172_165233306868298_100001448886619_387947_7828372_s.jpg[/im]
നല്ല പോസ്റ്റ്.
പിന്നെ ഒരു കാര്യം.. ആ മൂന്നാമത്തെ സ്റ്റെപ്പു്കൊണ്ട് മാത്രം സോര്ട്ടിംഗ് നടക്കുമല്ലോ..തെറ്റിയെന്കിലറിയിക്കണെ..
താങ്കള് ഇ-മലയാളത്തിനു നല്കിവരുന്ന എല്ലാ സംഭാവനകള്ക്കും ആദരം.വിക്കിമീഡിയ ലാംഗ്വേജ് കമ്മിറ്റിയില് അംഗത്വമുള്ള ആദ്യമലയാളിയും-ഇന്ത്യക്കാരനും ഐശ്വര്യപൂര്ണ്ണമായ വിഷു ആശംസകള്. മാത്സ്ബ്ലോഗിലേക്ക് വീണ്ടും വരുക.
ജോസ് സാര്,
സാര് പറഞ്ഞത് ശരിയാണ്: മൂന്നാമത്തെ സ്റ്റെപ്പുകൊണ്ടു മാത്രം സോര്ട്ടിംഗ് നടക്കും. Insertion Sort എന്ന് പേരുള്ള മറ്റൊരു സോര്ട്ടിംഗ് രീതി പ്രയോഗിക്കുക എന്നതാണ് മൂന്നാമത്തെ സ്റ്റെപ്പില് ചെയ്യുന്നത്.
-- ഫിലിപ്പ്
Election duty is over.. and this is my first comment
Yeaterday only I Came to see the posts...please tell me what is sorting and that russian dance also ...any body please
Thanks... it was very helpful to me as i'm studying computer science and engineering... thank you for posting such a post
hai friends i am a new member please tell me how to post in this blog.
my name is sunny thomas ct
studied in M com e- commerce,
and now i am running atuition center for the students frm std 5 to std +1
from the past 2 years.
my tuition subjects are maths physics chemistry bilogy accountancy.
please help me anyone...
Post a Comment