استفاده از یک رویکرد تکاملی در سامانه توصیه گر برای ارزیابی برخط برنامه نویسی
الهام خانکشی زاده
ریاضی
۱۳۹۹
۷۸ص.
سی دی
کارشناسی ارشد
علوم کامپیوتر
۱۳۹۹/۱۱/۲۹
سامانه ( POJ (Programming Online Judgesیک سامانه برخط برای ارزیابی برنامه های نوشته شده به وسیلهکاربران در یک محیط رقابتی است. این سامانه شامل تعداد زیادی مساله برنامه نویسی است که به منظور تمرینو ارتقای توانایی دانشجویان در زمینه برنامه نویسͬ طراحی شده است. با توجه به حجم بالای مسائل موجوددر سامانه و مشخص نبودن سطح دشواری آنها گاهی کاربران مساله هایی فراتر از سطح دانش و تواناییبرنامه نویسی خود انتخاب مͬ کنند و بر اثر شکست های متوالی در حل مساله دچار ناامیدی می شوند. بنابراینوجود یک سامانه توصیه گر که مسائلی مطابق با توانایی کاربران به آنها پیشنهاد دهد، ضروری است. ازراهکارهای ارائه شده در این زمینه می توان به روش پالایش مشارکتͬ مبتنی بر حافظه و روش پیش بینی پیوندااشاره کرد. در این پایان نامه، یک سامانه توصیه گر برای سامانه POJبا هدف بهبود دقت پیشنهادها و با استفادهاز یک روش خوشه بندی مبتنͬ بر یک رویکرد تکاملی ارائه شده است. ابتدا مجموعه کاربران سامانه و ارتباطمیان آنها به صوت یک گراف وزن دار مدل می شود. سپس به منظور پیدا کردن کاربران شبیه به هم از نظر مجموعهمسائل حل شده آنها، گراف ایجاد شده با بهره گیری از الگوریتم تکاملی تخمین توزیع خوشه بندی شده و بر اساسنتیجه خوشه بندی، فهرست پیشنهادها ایجاد می شود. نتایج اجرای راهͺار پیشنهادی بر روی مجموعه داده یواقعͬ ایجاد شده از سامانه POJکارائیب و مقایسه آن با راهکارهای گذشته نشان می دهد که دقت پیشنهادهادر راهکار ارائه شده این پایان نامه به طور میانگین نسبت به راهکارهای گذشته بهبود یافته است
Programmin Online Judge (POJ) is an online application for evaluation of source codedeveloped by their users in a competitive environment. This application contains a large collectionof programming problems that are designed to practice and improve students’ ability in the field ofprogramming. Due to the high volume of problems in this application and the uncertainty of theirlevel of difficulty, sometimes users choose problems beyond their level of knowledge and programmingability and are frustrated by successive failures to solve the problem. Therefore, it is necessary to have arecommender system that offers problems according to the ability of users. Among the relative work inthis field, we can mention the memory based collaborative filtering and link prediction method. In thisthesis, a recommender system is presented for programming online judges with the aim of improvingthe accuracy of recommendations and using a clustering method based on an evolutionary approach.First, the set of users and the relationship between them is modeled as a weighted graph. Then, inorder to find similar users in terms of their set of solved problems, the created graph is clustered usingestimate of distribution algorithm and based on the clustering result, recommendation list is created.The results of implementation of the proposed work on the real data set created from the Caribbeanonline judges and its comparison with the previous works show that the recommendation accuracy ofproposed work has improved on average compared to the previous works
Using an Evolutionary Approach in Recommender System for Programming Online Judges