Competitive programming
போட்டி நிரலாக்கம் என்பது வழங்கப்பட்ட விவரக்குறிப்புகளின்படி நிரல் செய்ய முயற்சிக்கும் பங்கேற்பாளர்களை உள்ளடக்கிய ஒரு மன விளையாட்டு ஆகும். போட்டிகள் பொதுவாக இணையம் அல்லது உள்ளூர் நெட்வொர்க் மூலம் நடத்தப்படுகின்றன. போட்டியாளர்கள் விளையாட்டு புரோகிராமர்கள் என்று குறிப்பிடப்படுகிறார்கள். கூகிள் மற்றும் பேஸ்புக் போன்ற பல பன்னாட்டு மென்பொருள் மற்றும் இணைய நிறுவனங்களால் போட்டி நிரலாக்கம் அங்கீகரிக்கப்பட்டு ஆதரிக்கப்படுகிறது. ஒரு நிரலாக்கப் போட்டியில் பொதுவாக புரவலன் தர்க்கரீதியான அல்லது கணித சிக்கல்களின் தொகுப்பை வழங்குகிறார், இது புதிர்கள் அல்லது சவால்கள் என்றும் அழைக்கப்படுகிறது, போட்டியாளர்களுக்கு (அவர்கள் எண்ணிக்கையில் பத்துகள் அல்லது நூற்றுக்கணக்கானவர்கள் முதல் பல ஆயிரம் வரை மாறுபடலாம்). இந்தப் பிரச்சினைகளைத் தீர்க்கும் திறன் கொண்ட கணினி நிரல்களை போட்டியாளர்கள் எழுத வேண்டும். தீர்ப்பளிப்பது பெரும்பாலும் தீர்க்கப்பட்ட சிக்கல்களின் எண்ணிக்கை மற்றும் வெற்றிகரமான தீர்வுகளை எழுதுவதற்கு செலவழித்த நேரத்தை அடிப்படையாகக் கொண்டது, ஆனால் பிற காரணிகளையும் (உற்பத்தி செய்யப்பட்ட வெளியீட்டின் தரம், செயல்படுத்தும் நேரம், நினைவக பயன்பாடு, நிரல் அளவு போன்றவை) உள்ளடக்கியிருக்கலாம். 1970 களில் தொடங்கி அதன் 2011 பதிப்பில் 88 நாடுகளை உள்ளடக்கிய சர்வதேச கல்லூரி நிரலாக்க போட்டி (ஐ. சி. பி. சி) அறியப்பட்ட மிகப் பழமையான போட்டிகளில் ஒன்றாகும். 1990 முதல் 1994 வரை, ஓவன் அஸ்ட்ராச்சன், விவேக் கெரா மற்றும் டேவிட் கோட்ஸ் ஆகியோர் ஐ. சி. பி. சி. யால் ஈர்க்கப்பட்ட முதல் விநியோகிக்கப்பட்ட, இணைய அடிப்படையிலான நிரலாக்க போட்டிகளில் ஒன்றை நடத்தினர். போட்டி நிரலாக்கத்தில் ஆர்வம் 2000 முதல் பல்லாயிரக்கணக்கான பங்கேற்பாளர்களுக்கு விரிவாக வளர்ந்துள்ளது (குறிப்பிடத்தக்க போட்டிகளைப் பார்க்கவும்), மேலும் இணையத்தின் வளர்ச்சியுடன் வலுவாக இணைக்கப்பட்டுள்ளது, இது சர்வதேச போட்டிகளை ஆன்லைனில் நடத்த உதவுகிறது, புவியியல் சிக்கல்களை நீக்குகிறது. கண்ணோட்டம் போட்டி நிரலாக்கத்தின் நோக்கம் கொடுக்கப்பட்ட சிக்கல்களைத் தீர்க்கக்கூடிய கணினி நிரல்களின் மூலக் குறியீட்டை எழுதுவதாகும். நிரலாக்கப் போட்டிகளில் தோன்றும் பெரும்பாலான சிக்கல்கள் இயற்கையில் கணித அல்லது தர்க்கரீதியானவை. இத்தகைய பொதுவான பணிகள் பின்வரும் பிரிவுகளில் ஒன்றைச் சேர்ந்தவைஃ ஒருங்கிணைப்பு, எண் கோட்பாடு, வரைபடக் கோட்பாடு, வழிமுறை விளையாட்டு கோட்பாடு, கணக்கீட்டு வடிவியல், சரம் பகுப்பாய்வு மற்றும் தரவு கட்டமைப்புகள். கட்டுப்பாடு நிரலாக்கம் மற்றும் செயற்கை நுண்ணறிவு தொடர்பான சிக்கல்களும் சில போட்டிகளில் பிரபலமாக உள்ளன. சிக்கல் வகையைப் பொருட்படுத்தாமல், ஒரு சிக்கலைத் தீர்க்கும் செயல்முறையை இரண்டு பரந்த படிகளாகப் பிரிக்கலாம்ஃ ஒரு திறமையான வழிமுறையை உருவாக்குதல் மற்றும் பொருத்தமான நிரலாக்க மொழியில் வழிமுறையை செயல்படுத்துதல் (அனுமதிக்கப்பட்ட நிரலாக்க மொழிகளின் தொகுப்பு போட்டிக்கு போட்டி மாறுபடும்). நிரலாக்க போட்டிகளில் பொதுவாக சோதிக்கப்படும் இரண்டு திறன்கள் இவை. பெரும்பாலான போட்டிகளில், பொதுவாக நீதிபதிகள் என்று அழைக்கப்படும் புரவலன் இயந்திரங்களால் தீர்ப்பு தானாகவே செய்யப்படுகிறது. ஒரு போட்டியாளர் சமர்ப்பித்த ஒவ்வொரு தீர்வும் ஒரு தொகுப்பு (பொதுவாக ரகசிய) சோதனை வழக்குகளுக்கு எதிராக நீதிபதி மீது இயக்கப்படுகிறது. பொதுவாக, போட்டி சிக்கல்கள் அனைத்தும் அல்லது எதுவும் குறிக்கப்படாத முறையைக் கொண்டுள்ளன, அதாவது நீதிபதியால் நடத்தப்படும் அனைத்து சோதனை வழக்குகளிலும் திருப்திகரமான முடிவுகளைத் தந்தால் மட்டுமே ஒரு தீர்வு "ஏற்றுக்கொள்ளப்படுகிறது", இல்லையெனில் நிராகரிக்கப்படுகிறது. இருப்பினும், சில போட்டி சிக்கல்கள் தேர்ச்சி பெற்ற சோதனை வழக்குகளின் எண்ணிக்கை, முடிவுகளின் தரம் அல்லது வேறு சில குறிப்பிட்ட அளவுகோல்களைப் பொறுத்து பகுதி மதிப்பெண்களை அனுமதிக்கலாம். வேறு சில போட்டிகளில் போட்டியாளர் கொடுக்கப்பட்ட உள்ளீட்டு தரவுகளுடன் தொடர்புடைய வெளியீட்டை மட்டுமே சமர்ப்பிக்க வேண்டும், இந்த விஷயத்தில் நீதிபதி சமர்ப்பிக்கப்பட்ட வெளியீட்டு தரவை மட்டுமே பகுப்பாய்வு செய்ய வேண்டும். ஆன்லைன் நீதிபதிகள் சோதனை நடைபெறும் ஆன்லைன் சூழல்கள் ஆகும். ஆன்லைன் நீதிபதிகள் அதிக எண்ணிக்கையிலான ஏற்றுக்கொள்ளப்பட்ட தீர்வுகள் மற்றும்/அல்லது ஒரு குறிப்பிட்ட சிக்கலுக்கான குறுகிய செயலாக்க நேரத்தைக் கொண்ட பயனர்களைக் காட்டும் தரவரிசை பட்டியல்களைக் கொண்டுள்ளனர். குறிப்பிடத்தக்க போட்டிகள் அல்காரிதம் போட்டிகள் மேற்கூறிய பெரும்பாலான போட்டிகளில், போட்டிகள் பொதுவாக பல சுற்றுகளாக நடத்தப்படுகின்றன. அவை வழக்கமாக ஆன்லைன் சுற்றுகளுடன் தொடங்குகின்றன, அவை ஆன்-சைட் இறுதி சுற்றில் முடிவடைகின்றன. ஐ. ஓ. ஐ மற்றும் ஐ. சி. பி. சி. யில் சிறந்த செயல்திறன் கொண்டவர்கள் தங்கம், வெள்ளி மற்றும் வெண்கலப் பதக்கங்களைப் பெறுகிறார்கள். மற்ற போட்டிகளில், முதலிடம் வகிப்பவர்களுக்கு ரொக்கப் பரிசுகள் வழங்கப்படுகின்றன. போட்டிகள் பல மென்பொருள் மற்றும் இணைய நிறுவனங்களிலிருந்து ஆட்சேர்ப்பு செய்பவர்களின் ஆர்வத்தையும் ஈர்க்கின்றன, அவை பெரும்பாலும் சாத்தியமான வேலை வாய்ப்புகளுடன் போட்டியாளர்களை அணுகுகின்றன. செயற்கை நுண்ணறிவு மற்றும் இயந்திர கற்றல் கேகிள்-தரவு அறிவியல் மற்றும் இயந்திர கற்றல் போட்டிகள். கோட்கப்-போர்டு கேம் AI போட்டி 2003 முதல் ஆண்டுதோறும் நடத்தப்படுகிறது. விளையாட்டு விதிகள் செப்டம்பரில் வெளியிடப்படுகின்றன மற்றும் இறுதிப் போட்டி ஜனவரியில் நடத்தப்படுகிறது. கூகிள் AI சவால்-2009 முதல் 2011 வரை நடைபெற்ற மாணவர்களுக்கான இரு வருடாந்திர போட்டிகள். ஹாலைட்-டூ சிக்மா, கார்னெல் டெக் மற்றும் கூகிள் ஆகியவற்றால் வழங்கப்பட்ட ஒரு AI நிரலாக்க சவால். ரஷ்ய AI கோப்பை-திறந்த செயற்கை நுண்ணறிவு நிரலாக்க போட்டி. கோடின் கேம்-பருவகால போட் நிரலாக்க போட்டிகளை நடத்துகிறது. திறந்த மூல தொழில்நுட்பங்கள் பட்டியலில் கவனம் செலுத்தும் போட்டிகள் முழுமையற்ற ஆன்லைன் தளங்களாக இருக்கலாம் உலகெங்கிலும் உள்ள நிரலாக்க சமூகம் போட்டி நிரலாக்கத்திற்கு அர்ப்பணிக்கப்பட்ட பல இணைய வளங்களை உருவாக்கி பராமரித்து வருகிறது. அவர்கள் சிறிய பரிசுகளுடன் அல்லது இல்லாமல் தனித்தனி போட்டிகளை வழங்குகிறார்கள். மேலும் சிக்கல்களின் கடந்தகால காப்பகங்கள் போட்டி நிரலாக்கத்தில் பயிற்சியளிப்பதற்கான பிரபலமான ஆதாரமாகும். நிரலாக்க போட்டிகளை தவறாமல் நடத்தும் பல நிறுவனங்கள் உள்ளன. இதில் பின்வருவன அடங்கும்ஃ நன்மைகள் மற்றும் விமர்சனங்கள் நிரலாக்கப் போட்டிகளில் பங்கேற்பது கணினி அறிவியல் படிப்புகளில் மாணவர்களின் உற்சாகத்தை அதிகரிக்கும். ஐ. சி. பி. சி போன்ற நிரலாக்கப் போட்டிகளில் பெறப்பட்ட திறன்கள் தொழில் வாய்ப்புகளை மேம்படுத்துகின்றன, ஏனெனில் அவை "தொழில்நுட்ப நேர்காணல்களில்" தேர்ச்சி பெற உதவுகின்றன, இதற்கு வேட்பாளர்கள் சிக்கலான நிரலாக்கம் மற்றும் வழிமுறை சிக்கல்களை அந்த இடத்திலேயே தீர்க்க வேண்டும். குறிப்பாக தொழில்முறை மென்பொருள் உருவாக்குநர்களிடமிருந்து போட்டி நிரலாக்கம் குறித்தும் விமர்சனங்கள் எழுந்துள்ளன. ஒரு முக்கியமான விஷயம் என்னவென்றால், பல வேகமான நிரலாக்க போட்டிகள் போட்டியாளர்களுக்கு மோசமான நிரலாக்க பழக்கம் மற்றும் குறியீடு பாணியை கற்பிக்கின்றன (மேக்ரோக்களின் தேவையற்ற பயன்பாடு, ஓஓபி சுருக்கமும் கருத்துகளும் இல்லாதது, குறுகிய மாறி பெயர்களின் பயன்பாடு போன்றவை). மேலும், ஒப்பீட்டளவில் குறுகிய தீர்வுகளுடன் சிறிய வழிமுறை புதிர்களை மட்டுமே வழங்குவதன் மூலம், ஐ. சி. பி. சி மற்றும் ஐ. ஓ. ஐ போன்ற நிரலாக்க போட்டிகள் நல்ல மென்பொருள் பொறியியல் திறன்களையும் நடைமுறைகளையும் கற்பிக்க வேண்டிய அவசியமில்லை, ஏனெனில் உண்மையான மென்பொருள் திட்டங்கள் பொதுவாக பல ஆயிரக்கணக்கான குறியீடுகளைக் கொண்டுள்ளன மற்றும் நீண்ட காலத்திற்கு பெரிய குழுக்களால் உருவாக்கப்படுகின்றன. கிடைக்கக்கூடிய தரவுகளின் அடிப்படையில், நிரலாக்க போட்டிகளில் வெற்றியாளராக இருப்பது கூகிளில் ஒரு புரோகிராமரின் செயல்திறனுடன் எதிர்மறையாக தொடர்புடையது என்று பீட்டர் நோர்விக் கூறினார் (போட்டி வெற்றியாளர்கள் பணியமர்த்தப்படுவதற்கான அதிக வாய்ப்புகள் இருந்தபோதிலும்). இந்த தொடர்பு ஒரு சிறிய தரவுத் தொகுப்பில் காணப்பட்டது, ஆனால் ஒரு பெரிய தரவுத் தொகுப்பை ஆராய்ந்த பிறகு அதை உறுதிப்படுத்த முடியவில்லை என்று நோர்விக் பின்னர் கூறினார். மற்றொரு உணர்வு என்னவென்றால், அறியப்பட்ட தீர்வுகளுடன் சிக்கல்களைத் தீர்ப்பதன் மூலம் அதிகப்படியான போட்டியில் தங்கள் நேரத்தை "வீணடிப்பதை" விட, உயர்மட்ட புரோகிராமர்கள் நிஜ உலகப் பிரச்சினைகளைத் தீர்ப்பதில் தங்கள் நேரத்தை முதலீடு செய்ய வேண்டும். இலக்கியம் ஹலீம், எஸ்., ஹலீம், எஃப். (2013). போட்டி நிரலாக்கம் 3: நிரலாக்க போட்டிகளின் புதிய கீழ் எல்லை. லுலு. லாக்ஸொனென், ஏ. (2017). போட்டி நிரலாக்கத்திற்கான வழிகாட்டி (கணினி அறிவியலில் இளங்கலை தலைப்புகள்). சாம்ஃ ஸ்பிரிங்கர் இண்டர்நேஷனல் பப்ளிஷிங். சூ, எக்ஸ். (2020) தகவல் அறிவியலில் ஒலிம்பிக்கின் வளர்ச்சி, செழிப்பு மற்றும் சரிவு. இணையத்தில் வெளியிடப்பட்டது. கோஸ்ட்கா, பி. (2021). நடைமுறையில் விளையாட்டு நிரலாக்கம். வ்ரோக்லா பல்கலைக்கழகம். மேலும் காண்கஃ பகுப்புஃ கணினி அறிவியல் போட்டிகள் குறியீடு கோல்ஃப் ஹேக்கத்தான் குறிப்புகள் வெளிப்புற இணைப்புகள் போட்டிகளை நடத்துவதற்கான திறந்த மூல திட்டம் போட்டி மேலாண்மை அமைப்பு ஒரு சேவையக ஐஓஐ 2012 மற்றும் ஐஓஐ 2013 இல் ஒரு நிரலாக்க போட்டியை நடத்துவதற்கும் நிர்வகிப்பதற்கும் பைத்தானில் திறந்த மூல கருவி. கணினி அறிவியல் போட்டிகள்