Saturday, March 13, 2010

ඇල්ගොරිතම : හැඳින්වීම (Algorithms : an Introduction)

ඇල්ගොරිතම ගණිතයේත් තියෙනවා.. ඒත් අපි දැන් කතා කරන්නෙ පරිගණක විද්‍යාවෙදි භාවිත වන ඇල්ගොරිතම ගැන.

" Computer algorithms
In computer systems, an algorithm is basically an instance of logic written in software by software developers to be effective for the intended "target" computer(s), in order for the software on the target machines to do something "
- en.Wikipedia.org

ඒ කියන්නේ,
" අපේක්ශිත ලෙස, ඉලක්කකොටගත් පරිගණක තුළ, ඵලදායී ලෙස ක්‍රියා කිරීම සඳහා, මෘදුකාංග නිර්මාණකරුවන් විසින් මෘදුකාංගයක් තුළ ලියනලද තාර්කිකමය කොටසක්(an instence) , මූලික වශයෙන් පරිගණක පද්ධතියකදී, ඇල්ගොරිතමයක් යනුවෙන් හැදින්වේ. "

සරලව කිව්වොත්, මේ ඇල්ගොරිතම කියන්නෙ අපි යම් දෙයක් කරනකොට ඒ දේ කරන පිලිවෙලටයි.

අපි හිතුවෙ නැති උනාට අපේ මොලයෙන් මේ වගේ දේවල් ගොඩාක් කෙරෙනවා, අපි නොදැනුවත්වම. එත් ඒක අපිට දැනෙන්නෙ බොහෝම සරල විදිහට. මොකද කිව්වොත් සාමන්‍ය මිනිසෙකුගේ මොලයක් උනත් ඒතරම්ම වේගවත්.. කාර්යක්ශමත්..

අපි උදාහරණයක් බලමු..,

පුද්ගලයෙක් උදේම ගෙදරින් එලියට එනව. අහස දිහා බලනව. වහින පාටක් තීනව නම් කුඩයක් අරන් යනව. නැත්නම් කුඩේ දාල යනව.

මේ සිද්ධිය හරියටම බැලුවොත් මේ වගේ,

අහස කළු කරල ඒ නිසා අද වහින දවසක්. කුඩේ අරන් යන්න ඕනෙ.
අහස ගොඩාක් පායලා ඒ නිසා අද හවසට වහින්න පුලුවන්. කොකටත් කුඩේ අරන් යන්න ඕනෙ.
අද අහස සාමාන්‍යයි ඒ නිසා අද කිසිම වහින පාටක් නෑ. අද කුඩේ ගෙනියන්න ඕනෙ වෙන්නෙ නෑ.

අපි මේක පරිගණකයට දැනෙන විදිහකට ලිව්වොත්...,

IF අහස කළු කරල THEN
අද වහින දවසක්. කුඩේ අරන් යන්න ඕනෙ.
ELSE IF අහස ගොඩාක් පායලා THEN
අද හවසට වහින්න පුලුවන්. කොකටත් කුඩේ අරන් යන්න ඕනෙ.
ELSE
අද කිසිම වහින පාටක් නෑ. අද කුඩේ ගෙනියන්න ඕනෙ වෙන්නෙ නෑ.

අපි තව උදාහරණයක් බලමු..,

සාමාන්‍ය පුද්ගලයෙක්, ගෙදර තියෙන තේ කොළ ප්‍රමාණය ගොඩක් අඩු ( ග්‍රැම් 10ක් විතර ) උනාම, තේ කොළ ගේන්න කඩේටයනවා.
ගිහින්, තමන් හමදාමත් ගන්න ජාතියෙන් තේ කොළ ඉල්ලනවා. ඒව ඉවර වෙලා. දැන් එයා මොකද කරන්නේ...?
තියෙන්නෙ මොන ජාතියේ ඒවද කියල බලනවා. අතේ තියෙන මුදල හා ඒ තේ කොළ වර්ගයේ ගුණාත්මක භාවය ගැන හිතල තියෙන

තේ කොළ ජාතියක් අරන් ගෙදර එනව.

මේ සිද්ධිය බොහෝම සංකීර්ණ සිද්ධියක්...
ඒක සරලව ලිව්වොත් මේ වගෙ..,

WHILE තේ කොළ ප්‍රමාණය < ග්‍රැම්10
කඩයට ගොස් සුපුරුදු තේ කොළ වර්ගය ඉල්ලීම
IF සුපුරුදු තේ කොළ වර්ගය නැත THEN
තිබෙන තේ කොළ වර්ග විමසීම.
ඒවා තම දැනුම, මතකය හා බුද්ධිය අනුව සැසඳීම.
එක් වර්ගයක් තොරාගෙන මිලදී ගැනීම.
ELSE
සුපුරුදු තේ කොළ වර්ගය මිලදී ගැනීම.

මෙතනදි අරන් තියෙන්නෙ තමන් යන්නෙ එක කඩයකට විතරයි කියලයි. ඒ වගේම වෙනත් තේ කොළ වර්ගයක් තෝරාගන්න ක්‍රමය දක්වල තියෙන්නෙ එක වාක්‍යකින් බොහොම සරලව. ඒත් ඒක ගොඩක් සංකීර්ණ වැඩක්.එතනදි මතකය, බුද්ධිය, පෙර ලබාගත් දැනුම වගේම ඒ පුද්ගලයාගේ අත්දකීම් ඉතා සංකීර්ණ විදිහට ක්‍රියාත්මක වෙනව.. ඒ වගේම ඒ ප්‍රදේශයේ කඩවල් පිහිටා තියෙන ආකාරය අනුව, පුද්ගලයාගේ එම අවස්ථාවේ මානසිකත්වය අනුව, කාලගුණය අනුව මේ කාර්යය වෙනස් වෙනව. ඒ වගේම ඒ ක්‍රියාවලිය පුද්ගලයා අනුව (ඔහුගේ සිතීමේ රටාව අනුව ) වෙනස් වෙනව. තවත් මේකට බලපාන වෙනත් හේතු තියෙනවත් ඇති. ඉතින් ඒක ඇත්තටම ඇල්ගොරිතමයකින් ලියන්න බරි තරම් සංකීර්ණ සිද්දියක්. ඉතින් මේ වගේ බලද්දි ඔබට තේරෙනව ඇති ඇල්ගොරිතමයක් කියන්නෙ මොන වගේ දෙයක්ද කියල...
ඒ වගේම තේරෙනව අති අපේ මොලය කොච්චර කාර්යක්ශම විදිහට මේ වගේ ඉතා සංකීර්ණ ඇල්ගොරිතම රාශියක් බොහොම අපූරුවට සැහල්ලුවෙන් ක්‍රියාත්මක කරන හැටිත්..

6 comments:

  1. එලකිරි වැඩක් ‍මචෝ..... ගොඩක් අයට උදව් වෙයි. දිගටම කරගෙන යන්න.....

    ReplyDelete
  2. එල කිරි .... පට්ට වැඩේ ....

    සුභ පැතුම් මගෙන්....
    කරගෙන යන්න....

    ReplyDelete
  3. දිගටම කරගෙන යන්න

    ReplyDelete
  4. O(n2) anit tikait puluwannam wistara karala danna.pls try.thanks

    ReplyDelete