செ.நு. தொடர் – 7 : அல்காரிதம்
செயற்கை நுண்ணறிவின் அடிப்படைகளைத் தெரிந்து கொள்வதற்கு முன், ஒரு கணினி எப்படி இயங்குகிறது என்று நாம் தெரிந்து கொள்ள வேண்டும்.
கணினி இயங்குவதற்கு அடிப்படையான தேவை மென்பொருட்கள். ஒரு மென்பொருள் என்பது ஒன்று அல்லது அதற்கும் மேற்பட்ட நிரல்களின் (Programs) தொகுப்பு.
கணினியைப் பொருத்தவரை அது என்ன செய்ய வேண்டும் எப்படி இயங்க வேண்டும் என்பதை ஏற்கனவே நாம் கட்டளைகளாக எழுதிச் சேமித்து வைத்துக் கொள்ள வேண்டும். ஒரு நிரல் என்பது ஒன்று அல்லது அதற்கும் மேற்பட்ட கட்டளைகள்.
இந்தக் கட்டளைகள் ஒரு சிக்கலுக்கான தீர்வாக இருக்கலாம். அப்படி ஒரு சிக்கலுக்கான தீர்வைப் படிப்படியாகச் சொல்லுவதைத் தான் அல்காரிதம் (Algorithm) என்கிறோம்.
நீங்கள் சமைக்கிறீர்கள் என்று வைத்துக் கொள்வோம். எப்படிச் சமைக்க வேண்டும், எந்த வரிசையில் சமையல் பொருட்களைச் சேர்க்க வேண்டும் என்பதை ஒன்றன்பின் ஒன்றாக படிப்படியாகச் சொல்லுவார்கள் அல்லவா… இதை ஓர் அல்காரிதம் எனப் புரிந்து கொள்ளலாம்.
அல்லது உங்களிடம் ஓர் இடத்திற்குச் செல்ல வழி கேட்கிறார்கள்; நீங்கள் வழியைச் சொல்லுவீர்கள் அல்லவா… அதை ஓர் அல்காரிதம் எனப் புரிந்து கொள்ளலாம்.
இப்படியாக ஒரு குறிப்பிட்ட சிக்கலுக்கு கணினி எப்படி இயங்க வேண்டும் என்பதை முதலில் ஓர் ‘அல்காரிதம்’ ஆக உருவாக்குவார்கள். பின்பு தங்களுக்கு எந்த விதமான கணினி மொழி வேண்டுமோ அதில் அந்த அல்காரிதத்திற்கான நிரலை உருவாக்கி விடுவார்கள்.
இந்த ‘அல்காரிதம்’ என்ற வார்த்தையின் பெயர்க் காரணம் கூட மிகவும் சுவாரசியமானது. உண்மையில் அல்காரிதம் என்பது ஒரு மனிதனின் பெயர். எட்டாம் நூற்றாண்டில் வாழ்ந்த அரபு கணித நிபுணரான அல்-க்வாரிசிமி அவர்களின் பெயர் தான் இந்நாட்களில் அல்காரிதம் என மாறிவிட்டது. அல்-க்வாரிசிமி கணிதத்தில் கொடுக்கப்பட்ட சிக்கல்களை எல்லாம் படி முறைகளாக எப்படித் தீர்ப்பது என்பதைப் பற்றி மிக விரிவாக எழுதியிருந்தார். அவரது புத்தகத்தை லத்தீன் மொழியில் மொழிபெயர்க்கும் போது அல் – க்வாரிசிமி என்பதை அல்-க்வரதமி என மாற்றி விட்டார்கள். பின் நாட்களில் படி முறைகளாக கணிதத்தைத் தீர்ப்பது அல்-க்வரதமி என்றாகி இறுதியில் அல்-காரிதம் என அழைக்கத் தொடங்கி விட்டார்கள்.
செயற்கை நுண்ணறிவுக் கணினியைப் பொருத்தவரை எந்த ஒரு சிக்கலாக இருந்தாலும் அதைத் தீர்ப்பதற்கு அந்தக் கணினியே தனக்கான அல்காரிதங்களை உருவாக்க வேண்டும். ஆரம்பக் கட்டத்தில் செயற்கை நுண்ணறிவு வல்லுநர்கள் ஒவ்வொரு சிக்கலையும் எடுத்து, அதற்கான ஓர் அடிப்படை அல்காரிதத்தை உருவாக்கி, அந்த அல்காரிதத்தின் அடிப்படையில் எழுதப்பட்ட நிரல்களைத் தான் செயற்கை நுண்ணறிவு என அழைத்துக் கொண்டு இருந்தார்கள்.
நிச்சயம் ஒரு மனிதன் கொடுக்கும் தீர்வைச் செயற்கை நுண்ணறிவு என நாம் அழைக்க முடியாதுதானே?
உங்களிடம் நான் ஒரு கணிதத்தைக் கொடுக்கிறேன்; அதற்கு நீங்கள் தீர்வைக் கொடுத்தால்தான் நுண்ணறிவு. ஏற்கனவே ஒரு தீர்வை உங்களிடம் சொல்லிவிட்டு அதையே திரும்பச் சொல்லச் சொன்னால் அது எப்படி நுண்ணறிவாகும்?
ஆரம்பக் காலகட்டங்களில் உருவாக்கப்பட்ட செயற்கை நுண்ணறிவு என்பது முழுக்க முழுக்க கொடுக்கப்பட்ட தீர்வுகளின் அடிப்படையில் இருந்தது. பின் நாட்களில்தான் கணினிகள் ஒவ்வொரு பிரச்சனைக்குமான தீர்வை, தாமே உருவாக்கிக் கொள்வதற்கான திட்டம் ஒன்றை நிபுணர் மார்வின் மின்ஸ்கி உருவாக்கினார்.