MeHdi KaZemI
MeHdi KaZemI
خواندن ۵ دقیقه·۶ سال پیش

تحلیل مسابقات برنامه‌نویسی ICPC سایت تهران

مسابقات برنامه‌نویسی ACM ICPC (که از سال ۲۰۱۸ دیگر ACM در آن وجود ندارد و فقط با نام ICPC شناخته می‌شود) اواخر هر سال میلادی در ماه دسامبر (آذرماه) در شهر تهران به میزبانی دانشگاه صنعتی شریف برگزار می‌شود و تیم‌های برتر برای شرکت در مسابقات جهانی که حدود ۶ ماه بعد برگزار می‌شود شرکت می‌کنند. دیتای مربوط به این تحلیل‌ها از آرشیو مسابقات گرفته شده است.

رشد تعداد تیم‌های شرکت کننده در مسابقات در پنج سال اخیر
رشد تعداد تیم‌های شرکت کننده در مسابقات در پنج سال اخیر

به غیر از سال ۲۰۱۴ که اتفاق نادری افتاد، در سال‌های دیگر به صورت میانگین حدود ۸۰ تیم در مسابقات شرکت کرده‌اند. دلیل این محدودیت سایت کامپیوتر دانشگاه صنعتی شریف است‌، در سال‌های نه چندان دور مسابقات در سلف دانشجویان برگزار می‌شد که هزینه‌ی تجهیز زیادی برای برگزارکنندگان داشت. یکی از دلایل شرکت ۱۰۱ تیم در سال ۲۰۱۴ همت مسئولان برگزاری برای بالاتر بردن ضریب سهمیه سایت تهران در مسابقات جهانی بود، چون در مسابقات منطقه‌ای سال ۲۰۱۳، سهمیه سایت تهران از دو به یک کاهش پیدا کرد و تیم امیرکبیر که آن سال رتبه‌ي دوم را کسب کرد نتوانست در مسابقات جهانی شرکت کند. یادم می‌آید در مسابقات سال ۲۰۰۸ زمانی که تیم صنعتی‌شریف اول شد، تیم صنعتی امیرکبیر دوم، و تیم علم‌وصنعت رتبه‌ی سوم را کسب کرد، ارسلان موسویان (عضو تیم دانشگاه علم‌وصنعت) زمانی که در حال بالارفتن از روی سن بود با خوشحالی مشت‌های گره‌کرده‌ی خود را به نشانه‌ی موفقیت نشان می‌داد، مجری و کامران باور گفتند انشاءالله امسال سهمیه بشه سه تا و تیم علم‌وصنعت هم بتواند در مسابقات جهانی شرکت کند. از سال ۲۰۱۳ به بعد که سهمیه سایت تهران یک شد این "انشاءالله" موقع اعلام تیم دوم استفاده می‌شد!

رشد تعداد دانشگاه‌های یکتای‌ شرکت کننده در مسابقات
رشد تعداد دانشگاه‌های یکتای‌ شرکت کننده در مسابقات

اتفاق خوبی که در سال ۲۰۱۸ افتاد رشد قابل توجه تعداد‌ دانشگاه‌های شرکت کننده در مسابقات بود، شرکت در مسابقات برنامه‌نویسی هنوز در بسیاری از دانشگاه‌ها و استان‌های کشور شناخته شده و مورد حمایت نیست که در ادامه به آن خواهیم پرداخت.

میانگین تعداد سوال حل شده توسط هر تیم
میانگین تعداد سوال حل شده توسط هر تیم

سال ۲۰۱۴ بالاترین میانگین تعداد سوال حل شده توسط تیم‌ها را داراست، چون سال قبل مسئولین برگزاری متوجه شدند که یک قانونِ مربوط به تعیین تعداد‌ سهمیه‌هایی که به سایت تهران تخصص می‌گیرد تعداد تیم‌هایی است که حداقل یک سوال در مسابقه‌ی آنسایت حل کرده اند و سطح سختی سوالات برای سال ۲۰۱۴ یک مقدار پایین‌تر گرفته شد. با مراجعه به نتیجه مسابقات سال ۲۰۱۳ مشاهده می‌کنید که از بین ۷۶ تیم شرکت‌کننده فقط ۴۹ تیم موفق به حل حداقل یک سوال شدند و ۲۷ تیم هرچه تلاش کردند حتی یک سوال هم نتوانستند حل کنند و با مراجعه به نتیجه مسابقات سال ۲۰۱۴ می بینید که از بین ۱۰۱ تیم شرکت‌کننده تمامی آنها حداقل یک سوال و ۹۷ تای آنها حداقل دو سوال را حل کرده اند.

 نمودار درصد سوالات حل شده در ساعت‌های مختلف کانتست
نمودار درصد سوالات حل شده در ساعت‌های مختلف کانتست

این نمودار بیشتر از همه برای مسئول سرور و judge مسابقات جذاب است. فشار اصلی سابمیت‌های روی سرورِ judge در ساعت اول است. در سال ۲۰۱۷ ۶۸ درصد accept‌ها در ۶۰ دقیقه‌ی اول اتفاق افتاده است که نشان‌میدهد کانتست یک easy start داشته و بعد سوالا یهو به مقدار خوبی سخت شده. یعنی تعداد قابل توجهی از تیم‌ها در ۶۰ دقیقه‌ی ابتدایی ۲ تا accept گرفته اند و بعد نتونستن دیگه سوالی حل کنن.


این نمودار تعداد دقایقی که هر تیم در رتبه‌ی نخست قرار داشته را نشان می‌دهد. سوالی که برای من ایجاد شد این بود که آیا تیمی که در اکثر دقایق مسابقه‌ در رتبه‌ی نخست قرار داشته در انتها قهرمان شده است؟ قاطع ترین حالت برای سال ۲۰۱۴ تیم Saboon (متشکل از سعید ایلچی، حامد صالح و علیرضا فرهادی) هست که با ۲۳۷ دقیقه در رنک یک بودن آخر هم قهرمان می‌شوند. تنها حالتی هم که "تیمی که بیشتر از همه رنک یک بوده" آخر اول نشده سال ۲۰۱۷ هستش که تیم On The Way که ۱۵۲ دقیقه رنک یک بودن ولی آخر تیم Cliche (متشکل از محمد مهدی شکری، سید پارسا میرطاهری و محمد حسین نعمت الهی) که 104 دقیقه توی رنک یک بودن قهرمان میشن.

تعداد دفعاتی که دانشگاه‌ها رتبه های اول و دوم را کسب کرده اند
تعداد دفعاتی که دانشگاه‌ها رتبه های اول و دوم را کسب کرده اند

دانشگاه صنعتی شریف هر پنج سال گذشته و در مجموع در تمامی سال‌ها غیر از سال ۲۰۱۰ که دانشگاه صنعتی امیرکبیر (تیم Last War of PMP متشکل از پوریا علی‌میرزایی، محمدجواد رضایی سراجی و پویا ظفر اسدالله‌پور) رتبه‌ی اول را کسب کرد (و در اختتامیه در سالن جابر کامران باور سهوا یا شاید عمدا! بالای فایل اکسل را نمایش داد، همان روزگاری که این سیستم‌هایی که دکترضرابی زاده از مسابقات جهانی برای ما به ارمغان آورده هنوز وجود نداشت و نتایج را با اسکرول کردن روی فایل اکسل یا رنک‌لیست نمایش می دادیم و انتهای سالن که کانتستنت‌های امیرکبیر نشسته بودند بعد از دیدن نتیجه‌ی بالای رنک‌لیست از خوشحالی منفجر شد :))‌) توانسته مقام قهرمانی را از آن خود کند.

تعداد حضور دانشگاه‌های مختلف در بین ۴ دانشگاه برتر در پنج سال اخیر
تعداد حضور دانشگاه‌های مختلف در بین ۴ دانشگاه برتر در پنج سال اخیر

فقط دانشگاه شریف و دانشگاه تهران توی پنج سال اخیر همیشه جزو چهارتا بوده‌اند. بعد از این دو دانشگاه، دانشگاه شهید بهشتی بیشترین stability رو داشته توی این پنج سال که البته سال ۲۰۱۸ از جمع چهار دانشگاه اول خارج شد. دانشگاه صنعتی امیرکبیر که تا قبل از سال ۲۰۱۴ بیش از ۱۰ بار رفته بود مسابقات جهانی سال ۲۰۱۸ بعد از ۴ سال ناموفق بالاخره به جمع چهار دانشگاه برگشت.

تعداد تیم‌های شرکت کننده بر اساس استان
تعداد تیم‌های شرکت کننده بر اساس استان

اکتیو ترین استان ها تهران، خراسان رضوی و اصفهان هستند. یکی از دلایلی که تهران خیلی تیم داره اینه که مسابقات در تهران برگزار میشه و مشکل اسکان وجود نداره (اگه مسابقات توی اصفهان برگزار میشد خیلی از همین ۲۲ تیمی که سال ۲۰۱۸ از تهران شرکت کرده اند شرکت نمی کردند)، اگه میشد به تیم ها اسکان داد مطمئنا تیم های خیلی بیشتری از شهرهای دیگه شرکت می کردند. متاسفانه ۹ استان بوشهر، چهارمهال و بختیاری، هرمزگان، ایلام، کرمانشاه، خراسان شمالی، کهگیلویه و بویراحمد، لرستان و مرکزی تقریبا تیمی نداشتن توی چند سال اخیر.


کدهای مربوط به تحلیل‌هایی که در این پست به آنها اشاره شده در فایل icpc-contests.ipynb در گیت‌هاب موجود است.

https://github.com/mehdikazemi8/icpc-contests/

شاید از این پست‌ها خوشتان بیاید