පරිගණක විද්යාව
පරිගණක විද්යාව යනු තොරතුරු සහ පරිගණනය පිළිබඳ ක්රමානුකූල අධ්යයනයකි. පරිගණන පද්ධති හා ක්රම ශිල්ප, සැලසුම් ක්රම ශිල්ප, ඇල්ගොරිතම් (පියවර ක්රමවේද) සහ සංකල්ප පරීක්ෂා කිරීමේ ක්රම, විද්යාත්මක පරිගණනය, විශ්ලේෂණ හා තහවුරු කිරීමේ ක්රම ශිල්ප යන විෂය කොටස් මෙයට ඇතුළත් වෙයි.
පරිගණක විද්යාව (හෝ සංඛ්යාන විද්යාව) යනු තොරතුරු හා පරිගණකකරණයේ සෛද්ධාන්තික පදනම හා ඒවා ක්රියාවෙහි යෙදවීම හා පරිගණක පද්ධතිවල යෙදුම් පිළිබඳ අධ්යයනයයි. පරිගණක විද්යාවේ උප ඒකක බොහොමයක් ඇත. සමහරක්, විශේෂිත ප්රතිඵලවල පරිගණනය මතුකර දක්වන අතර , (පරිගණක චිත්රන වැනි) අනෙක් ඒවා පරිගණක ගැටලුවල ගුණවලට අදාළ වේ. (පරිගණක සංකීර්ණතා සිද්ධාන්තය , Computational Complexity theory වැනි දේ) තවමත් සමහරක් ඒවා පරිගණක සම්බන්ධ ක්රියාත්මක කිරීමේදී ඇතිවන අභියෝග පිළිබඳ අවධානය යොමු කරයි. උදාහරණ ලෙස ක්රමලේඛ භාෂා සිද්ධාන්තය , පරිගණක විස්තර කිරීමට ප්රවේශවීම පිළිබඳ අධ්යයනය කරන අතර පරිගණක ක්රමලේඛ මගින් පරිගණක ගැටලු විසදීම සඳහා විශේෂිත ක්රමලේඛ භාෂා යෙදවීම සිදු කරනු ලැබේ. තවත් උප - අංශයක් වන්නේ මිනිස් - පරිගණක අන්තර් ක්රියාකාරිත්වයයි. එමගින් පරිගණක හා පරිගණනය ප්රයෝජනවත්, භාවිතා කළ හැකි හා විශ්වීයව මිනිසාට භාවිතා කළ හැකි පරිදි කොටස් කිරීම ගැන අවධානය යොමු කර ඇත.
ඉතිහාසය
පරිගණක විද්යාවේ ඉතිහාසය ආරම්භවන්නේ විසිවන සියවසේ මතුවූ නූතන පරිගණක විද්යාවට බොහෝ කාලයක් පෙරය. යාන්ත්රික නිපැයුම්වල දියුණුව හා නූතන සංකල්ප හා යන්ත්ර කෙරෙහි වූ ගණිතමය සිද්ධාන්ත , විශාල අධ්යාපනික ක්ෂේත්රයක් හා ලොව පුරා ව්යාප්ත අතිශය විශාල කර්මාන්තයක පදනම ඇතිකරලීය.
දායකත්වයන්
පරිගණක විද්යාව විධිමත් ශාස්ත්රීය පුහුණුවක් සේ ඊට සාපේක්ෂව කෙටි ඉතිහාසයක් තිබියදීත් විශාල ප්රමාණයෙන් විද්යාවට හා සමාජයට මුලික දායකත්වයන් ලබා දී තිබේ. ඒවා නම් ,
- පරිගණක විද්යාව තුළ යෙදීම්
- සංඛ්යාත්මකව නොවිසදිය හැකි හා හික්මිය නොහැකි ගැටළු ආගණනයේ විධිමත් අර්ථ දක්වීම හා ගණනය කිරීමේ හැකියාව මගින් ඔප්පු කර ඇත.
- ඇදගැනීමේ ක්රමවේද තොරතුරුවල විවිධාකාර මට්ටම්වල සියුම්භාව ප්රකාශයට වූ මෙවලමකි. වැඩසටහන් ලිවීමේ භාෂාවේ සංකල්පය.
- සංගණකයෙන් බාහිර යෙදීම
- වර්තමාන තොරතුරු යුගයට හා අන්තර්ජාලයට මග පෙන්වමින් සංඛ්යාංක විප්ලවය ප්රාණවත් කරවීය.
- ගුප්ත ලේඛණ ලියන / කියවන කලාවේ දී දෙවන ලෝක යුද්ධයේ දී මිත්ර ජයග්රහණයට එනිග්මා යාන්ත්ර බිද දැමීම ඊට වැදගත් සාධකයක් සේ දායක විය.
- විද්යාත්මක පරිගණක මිනිස් ජාන ද්රව්ය ව්යාපෘති සමග මිනිස් ජාන ද්රව්ය අනුරූපණය කිරීම හැකිවීම හා සිතෙහි ඉදිරියට පැමිණ අධ්යයනයන්ට ශක්තියක් විය. ප්රෝටීන නැම්මේ ස්වගවේෂණ නැමීම වැනි පරිගණක ව්යාපෘති බෙදා හැරිණි.
- ඇල්ගොරිතමය වෙළදාම් කිරීම, කෘතීම බුද්ධිය, යන්ත්ර ඉගැන්වීම් හා වෙනත් විශාල ප්රමාණයන්ගෙන් වූ සංඛ්යාත / සංඛ්යාත්මක තාක්ෂණයන් භාවිතයෙන් මූල්ය වෙළද පොළවල්වල ද්රවශීලතාව හා කාර්යක්ෂමතාව ඉහළ නංවා ඇත.
නිරුක්තිය
පරිගණක විද්යාව යන නමින් හැදින්වුව ද මෙයින් සැළකිය යුතු ප්රමාණයක් පරිගණක පිළිබද අධ්යයනයට ඇතුළත් නොවේ. මේ නිසා වෙනත් විකල්ප නම් කිහිපයක් යෝජනා වී ඇත. ඩෙන්මාර්ක ජාතික විද්යාඥයා පීටර් නෝර් (Peter Naur)ඩේටා ලොජි යන වදන යෝජනා කළ අතර එමගින් පරිගණක සම්බන්ධව නොව දත්ත හා දත්ත සමග වැඩ කිරීම සමග බැදී ඇති විද්යාත්මක ශික්ෂණය වඩාත් මතු කර දක්වයි. මෙම වදන භාවිතා කළ ප්රථම විද්යාත්මක ආයතනය වූයේ 1969 දී ආරම්භ කරන ලද කෝපර්හේගන් විශ්ව විද්යාලයේ ඩේටා ලොජි දෙපාර්තමේන්තුවයි. එහි ඩේටා ලොජි සම්බන්ධ ප්රථම මහාචාර්යවරයා වූයේ පීටර් නෝර්ය. මෙම වදන වැඩිපුර භාවිතා කරන්නේ ස්කැන්ඩිනේවියානු රටවලය. මුල් කාලයේ දී පරිගණක යෝජනා කරන ලදී. ටූරින්ග්ජිනියර් (turingineer) ටියුරොලොජිස්ට් (turologist) , ගැලීම් සටහන්කරු (floq – charts – man) ව්යවහාරික මෙටා ගණිතඥයා (Applied meta – mathematician) හා ව්යවහාරික ඉපිස්ටොමොලොජිස්ට් (Applied epistemologist) වැනි යෙදුම් ඒ අතර වේ. තුන් මසකට පසු එම ජර්නලයේම කොම්ප්ටොලොජිස්ට් (comptologist) යන්න යෝජනා කර තිබිණි. ඊළග අවුරුද්දේ හයිපොලොජිස්ට් (hypologist) ලෙස යෝජනා කෙරිණි. වර්තමානයේදී කම්පියුටිකස් (compatics) යන්න යෝජනා වී ඇත. යුරෝපයේ වඩාත්ම භාවිතා වන වදන වන්නේ ඉන්ෆොමැටික් (Informatic) යන්නයි.
ප්රවීන පරිගණක විද්යාඥ එඩ්ස්ගර් ඩික්ස්ට්රා (Edsger Dijkstra) කියා සිටින්නේ “තාරකා විද්යාව දුර දක්න ගැන නොවන ලෙසට පරිගණක විද්යාව ද පරිගණක ගැන නොවේ” යන්නය. පරිගණක හා පරිගණක පද්ධති සැලසුම් කිරීම හා ඒවා ප්රයෝජනවත් ලෙස සේවයෙහි යෙදවීමට පරිගණක විද්යාවේ කොටස් ලෙස නොසැලකේ. උදාහරණයක් ලෙස පරිගණක දෘඩාංග පිළිබඳ අධ්යයනය පරිගණක ඉංජිනේරු විද්යාවේ අංශයක් ලෙස සැලකෙන අතර වාණිජ පරිගණක පද්ධති හා ඒවා සේවයේ යෙදවීම පිළිබද අධ්යයනය තොරතුරු තාක්ෂණය හෝ හෝ තොරතුරු පද්ධති ලෙස හැදින්වේ. අවශ්ය තරම් විද්යාත්මක නොවේ යයි සමහරක් විට පරිගණක විද්යාව විවේචනයට ලක්වේ. ස්ටැන් කෙල් බුටල් (Stan Kelly – Bootle) ගේ පහත වාක්ය එම අදහස තවදුරටත් සනාථ කරයි. “පරිගණක විද්යාවට විද්යා ජලනල එළීමට තරල ගතිකය මෙන්ය” කෙසේ නමුත් පරිගණකයට සම්බන්ධ විවිධ ක්ෂේත්ර අතර බොහෝ අදහස හුවමාරු වීම් සිදුවී ඇත. පරිගණක විද්යා පරීක්ෂණ , ප්රජානන විද්යාව,ආර්ථික විද්යාව , ගණිතය , භෞතික විද්යාව (ක්වොන්ටම් පරිගණනය බලන්න) හා වාග් විද්යාව වැනි අනෙකුත් ක්ෂේත්ර සමග ද ඡේදනය වේ.
සමහරුන් පරිගණක විද්යාව අනෙකුත් සියලු විද්යාත්මක ක්ෂේත්රවලට වඩා ගණිතය සම්බන්ධ ලෙස සලකනු ලැබේ. මුල් කාලීන පරිගණක විද්යාවට කර්ට් ගෝඩෙල් (Kart Godel) හා ඇලන් ට්යුරින්ග් (Alan Turing) වැනි ගණිතඥයන්ගේ වැඩ කටයුතු වලින් විශාල බලපෑමක් එල්ල වූ අතර ගණිතමය තර්කනය , ප්රවර්ග කිරීමේ සිද්ධාන්තය (domain) , වසම පිළිබඳ සිද්ධාන්තය හා වීජ ගණිතය යන අංශවලදී ක්ෂේත්ර දෙක අතර ප්රයෝජනවත් අදහස හුවමාරුවක් සිදු විණි.
පරිගණක විද්යාව හා මෘදුකාංග ඉංජිනේරු විද්යාව අතර සම්බන්ධය මතභේදනයට තුඩු දෙන කරුණක් වන අතර “ මෘදුකාංග ඉංජිනේරු විද්යාව” යන පදයෙන් අදහස් වන දෙය හා පරිගණක විද්යාවේ අර්ථ දැක්වීම ගැන ඇති වාදය නිසා මෙය තව දුරටත් උත්සන්න වී ඇත. ඩේවිඩ් පර්නාස් (David Parnas) අනෙකුත් ඉංජිනේරු විද්යා ක්ෂේත්ර අතර ඇති සබඳතාවයන්ගෙන් ඉගියක් ගෙන පරිගණක විද්යාවේ ප්රධාන අරමුණු පරිගණකයේ ලක්ෂණ පිළිබඳ අධ්යයනය බවත් මෘදුකාංග ඉංජිනේරු විද්යාවේ ප්රධාන අරමුණ ප්රායෝගික අරමුණු සාක්ෂාත් කර ගැනීමට විශේෂ පරිගණක සැළසුම් කිරීම බවත් ප්රකාශ කළ අතර එමගින් මෙම අංශ දෙක එකිනෙකින් වෙන්වූ නමුත් අනුපූරක අංශ 2ක් බවට පත් කරන ලදී.
පරිගණක විද්යාවේ අධ්යාපනික , දේශපාලනික හා මූල්යමය පැතිකඩවල ආරම්භය එක්සත් ජනපදයේ පිහිටුවන ලද ඉංජිනේරු විද්යාව හෝ ගණිතය පිළිබද ආයතනයක් හා බැදේ. සාමාන්යයෙන් විදුලි ඉංජිනේරු ශිල්පය මත පදනම් වු පරිගණක විද්යා දෙපාර්තුමේන්තු , පරිගණක විද්යා හෝ හා / හෝ ඉංජිනේරු ශිල්ප දෙපාර්තමේන්තු ලෙස සාර්ථක වීමේ ප්රවණතාවක් පවතී. ගණිතය පිළිබද විශේෂතාවයක් ඇති හා සංඛ්යාමය හැඩ ගැසීමක් ඇති පරිගණක විද්යා දෙපාර්තමේන්තු පෙළ ගස්වන ලද පරිගණක විද්යාව පිළිබද සැලකිල්ලක් දක්වයි. දෙපාර්තමේන්තු වර්ග 2කට අධ්යාපනික අතින් කේෂ්ත්ර දෙක යා කිරීමට උත්සාහ ගනී. එසේ නොවුණ හොත් පර්යේෂණ හරහා එය සිදු කෙරේ.
පරිගණක විද්යාවේ ක්ෂේත්ර
පරිගණක විද්යාව වැඩි අවධානයක් ගන්නා පරිගණක පද්ධති විස්තර කිරීමට සංකල්ප හා විධිමත් සාක්ෂි සොයයි. ඉන්පසු අනෙකුත් විද්යාවලදී මෙන්ම මෙම සිද්ධාන්ත අධ්යයනය කිරීම හා විශ්ලේෂණය කිරීමට නව පද්ධති යෝජනා කරන ප්රායෝගික ඉංජිනේරු යෙදුම් නිෂ්පාදනය කිරීමට භාවිතා කළ හැක. තවද, පරිගණක විද්යාව විවිධ ක්ෂේත්රවලට බෙදීම ACM පරිගණක වර්ගීකාරක පද්ධතිය යොදා ගත හැක. වඩාත් විස්තර සහිත බෙදීමක් මෙලෙස වේ.
පරිගණක විද්යා අධ්යාපනය
සමහර විශ්ව විද්යාවල සංඛ්යාතය හා ඇල්ගෝරිතම් තර්ක සිද්ධාන්ත අධ්යයනයක් ලෙස උගන්වයි. අනෙක් ඒවා අතරින් සංඛ්යානය සිද්ධාන්ත , ඇල්ගෝරිතම් විශ්ලේෂණ , විධිමත් ක්රම , සංගමන ක්රම, දත්ත සමූදායන් , පරිගණක චිත්රක හා පද්ධති විශ්ලේණවල ලක්ෂණයන් ලෙස තවදුරටත් මෙම වැඩසටහන් පවතී. එසේම ඔවුන් පරිගණක වැඩ සටහන්කරණය ද උගන්වන නමුත් එය උසස් අධ්යාපනය පිළිබඳ අවධානයකට වඩා පරිගණක විද්යාවේ අනෙකුත් ක්ෂේත්ර සඳහා උපකාර කිරීමේ වාහකයෙකු ලෙස වූ ප්රතිකර්මයකි.
වෙනත් විද්යාල හා විශ්ව විද්යාලවල වගේම ද්විතීක පාසල්වල හා රැකියා පුහුණු වැඩසටහන්වල පරිගණක විද්යාව උගන්වන අතර ඇල්ගෝරිතම් ප්රමේයයන් හා සංඛ්යාතයන්වලට වඩා උසස් පරිගණක වැඩසටහන්වල ප්රායෝගික භාවිතා ලෙස පරිගණක විද්යාව උගන්වනු ලැබේ. එවැනි ඉගෙනීමේ ක්රම පරිගණක මෘදුකාංග කර්මාන්තයට ඇතුල්වීම සඳහා දක්ෂතා ඇති කිරීමට වැදගත් වේ. පරිගණක විද්යාවේ ප්රායෝගික දෘෂ්ටිය තවදුරටත් මෘදුකාංග ඉංජිනේරු විද්යාව හා බැඳී පවතී.
කෙසේ නමුත් මෘදුකාංග ඉංජිනේරු විද්යාව යනු කිනම් වර්ගයක් ද? ඇත්ත වශයෙන්ම එය මෘදුකාංග ක්රමලේඛනය හා සමාන දෙයක්ද යන්න පිළිබඳ විසංවාදයන් පවතී.