{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,10]],"date-time":"2026-03-10T04:47:23Z","timestamp":1773118043262,"version":"3.50.1"},"reference-count":53,"publisher":"MDPI AG","issue":"9","license":[{"start":{"date-parts":[[2022,9,15]],"date-time":"2022-09-15T00:00:00Z","timestamp":1663200000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Algorithms"],"abstract":"<jats:p>The massive nature of modern university programming courses increases the burden on academic workers. The Digital Teaching Assistant (DTA) system addresses this issue by automating unique programming exercise generation and checking, and provides means for analyzing programs received from students by the end of semester. In this paper, we propose a machine learning-based approach to the classification of student programs represented as Markov chains. The proposed approach enables real-time student submissions analysis in the DTA system. We compare the performance of different multi-class classification algorithms, such as support vector machine (SVM), the k nearest neighbors (KNN) algorithm, random forest (RF), and extreme learning machine (ELM). ELM is a single-hidden layer feedforward network (SLFN) learning scheme that drastically speeds up the SLFN training process. This is achieved by randomly initializing weights of connections among input and hidden neurons, and explicitly computing weights of connections among hidden and output neurons. The experimental results show that ELM is the most computationally efficient algorithm among the considered ones. In addition, we apply biology-inspired algorithms to ELM input weights fine-tuning in order to further improve the generalization capabilities of this algorithm. The obtained results show that ELMs fine-tuned with biology-inspired algorithms achieve the best accuracy on test data in most of the considered problems.<\/jats:p>","DOI":"10.3390\/a15090329","type":"journal-article","created":{"date-parts":[[2022,9,15]],"date-time":"2022-09-15T22:11:10Z","timestamp":1663279870000},"page":"329","update-policy":"https:\/\/doi.org\/10.3390\/mdpi_crossmark_policy","source":"Crossref","is-referenced-by-count":8,"title":["Classification of Program Texts Represented as Markov Chains with Biology-Inspired Algorithms-Enhanced Extreme Learning Machines"],"prefix":"10.3390","volume":"15","author":[{"ORCID":"https:\/\/orcid.org\/0000-0003-4516-3746","authenticated-orcid":false,"given":"Liliya A.","family":"Demidova","sequence":"first","affiliation":[{"name":"Institute of Information Technologies, Federal State Budget Educational Institution of Higher Education \u201cMIREA\u2013Russian Technological University\u201d, 78, Vernadsky Avenue, 119454 Moscow, Russia"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-1977-8165","authenticated-orcid":false,"given":"Artyom V.","family":"Gorchakov","sequence":"additional","affiliation":[{"name":"Institute of Information Technologies, Federal State Budget Educational Institution of Higher Education \u201cMIREA\u2013Russian Technological University\u201d, 78, Vernadsky Avenue, 119454 Moscow, Russia"}]}],"member":"1968","published-online":{"date-parts":[[2022,9,15]]},"reference":[{"key":"ref_1","doi-asserted-by":"crossref","first-page":"651","DOI":"10.1093\/comjnl\/bxh119","article-title":"PDetect: A clustering approach for detecting plagiarism in source code datasets","volume":"48","author":"Moussiades","year":"2005","journal-title":"Comput. J."},{"key":"ref_2","doi-asserted-by":"crossref","unstructured":"Kustanto, C., and Liem, I. (2009, January 27\u201329). Automatic Source Code Plagiarism Detection. Proceedings of the 2009 10th ACIS International Conference on Software Engineering, Artificial Intelligences, Networking and Parallel\/Distributed Computing, Daegu, Korea.","DOI":"10.1109\/SNPD.2009.62"},{"key":"ref_3","doi-asserted-by":"crossref","unstructured":"Jiang, L., Misherghi, G., Su, Z., and Glondu, S. (2007, January 20\u201326). Deckard: Scalable and Accurate Tree-Based Detection of Code Clones. Proceedings of the 29-th International Conference on Software Engineering (ICSE\u201907), Minneapolis, MN, USA.","DOI":"10.1109\/ICSE.2007.30"},{"key":"ref_4","doi-asserted-by":"crossref","unstructured":"Chilowicz, M., Duris, E., and Roussel, G. (2009, January 17\u201319). Syntax Tree Fingerprinting for Source Code Similarity Detection. Proceedings of the 2009 IEEE 17th International Conference on Program Comprehension, Vancouver, BC, Canada.","DOI":"10.1109\/ICPC.2009.5090050"},{"key":"ref_5","doi-asserted-by":"crossref","unstructured":"Yasaswi, J., Kailash, S., Chilupuri, A., Purini, S., and Jawahar, C.V. (2017, January 5\u20137). Unsupervised Learning-Based Approach for Plagiarism Detection in Programming Assignments. Proceedings of the 10th Innovations in Software Engineering Conference, Jaipur, India.","DOI":"10.1145\/3021460.3021473"},{"key":"ref_6","doi-asserted-by":"crossref","unstructured":"Sovietov, P. (2021, January 24\u201325). Automatic Generation of Programming Exercises. Proceedings of the 2021 1st International Conference on Technology Enhanced Learning in Higher Education (TELE), Lipetsk, Russia.","DOI":"10.1109\/TELE52840.2021.9482762"},{"key":"ref_7","doi-asserted-by":"crossref","unstructured":"Wakatani, A., and Maeda, T. (July, January 28). Automatic Generation of Programming Exercises for Learning Programming Language. Proceedings of the 2015 IEEE\/ACIS 14th International Conference on Computer and Information Science (ICIS), Las Vegas, NV, USA.","DOI":"10.1109\/ICIS.2015.7166637"},{"key":"ref_8","doi-asserted-by":"crossref","unstructured":"Staubitz, T., Klement, H., Renz, J., Teusner, R., and Meinel, C. (2015, January 10\u201312). Towards Practical Programming Exercises and Automated Assessment in Massive Open Online Courses. Proceedings of the 2015 IEEE International Conference on Teaching, Assessment, and Learning for Engineering (TALE), Zhuhai, China.","DOI":"10.1109\/TALE.2015.7386010"},{"key":"ref_9","doi-asserted-by":"crossref","unstructured":"Sovietov, P.N., and Gorchakov, A.V. (2022, January 26\u201327). Digital Teaching Assistant for the Python Programming Course. Proceedings of the 2022 2nd International Conference on Technology Enhanced Learning in Higher Education (TELE), Lipetsk, Russia.","DOI":"10.1109\/TELE55498.2022.9801060"},{"key":"ref_10","doi-asserted-by":"crossref","first-page":"7","DOI":"10.32362\/2500-316X-2022-10-3-7-23","article-title":"Pedagogical design of a digital teaching assistant in massive professional training for the digital economy","volume":"10","author":"Andrianova","year":"2022","journal-title":"Russ. Technol. J."},{"key":"ref_11","doi-asserted-by":"crossref","first-page":"268","DOI":"10.1111\/jcal.12088","article-title":"A mobile gamification learning system for improving the learning motivation and achievements","volume":"31","author":"Su","year":"2015","journal-title":"J. Comput. Assist. Learn."},{"key":"ref_12","doi-asserted-by":"crossref","first-page":"273","DOI":"10.1007\/BF00994018","article-title":"Support-vector Networks","volume":"20","author":"Cortes","year":"1995","journal-title":"Mach. Learn."},{"key":"ref_13","doi-asserted-by":"crossref","first-page":"175","DOI":"10.1080\/00031305.1992.10475879","article-title":"An introduction to kernel and nearest-neighbor nonparametric regression","volume":"46","author":"Altman","year":"1992","journal-title":"Am. Stat."},{"key":"ref_14","doi-asserted-by":"crossref","first-page":"2311","DOI":"10.1016\/S0031-3203(01)00132-7","article-title":"Improved K-nearest neighbor classification","volume":"35","author":"Wu","year":"2002","journal-title":"Pattern Recognit."},{"key":"ref_15","unstructured":"Ho, T.K. (1995, January 14\u201316). Random Decision Forests. Proceedings of the 3rd International Conference on Document Analysis and Recognition, Montreal, QC, Canada."},{"key":"ref_16","doi-asserted-by":"crossref","first-page":"386","DOI":"10.1037\/h0042519","article-title":"The perceptron: A probabilistic model for information storage and organization in the brain","volume":"65","author":"Rosenblatt","year":"1958","journal-title":"Psychol. Rev."},{"key":"ref_17","unstructured":"Ruder, S. (2016). An overview of gradient descent optimization algorithms. arXiv."},{"key":"ref_18","doi-asserted-by":"crossref","unstructured":"Chen, N., Xiong, C., Du, W., Wang, C., Lin, X., and Chen, Z. (2019). An improved genetic algorithm coupling a back-propagation neural network model (IGA-BPNN) for water-level predictions. Water, 11.","DOI":"10.3390\/w11091795"},{"key":"ref_19","doi-asserted-by":"crossref","unstructured":"Demidova, L.A., and Gorchakov, A.V. (2021, January 10\u201312). A Study of Biology-inspired Algorithms Applied to Long Short-Term Memory Network Training for Time Series Forecasting. Proceedings of the 2021 3rd International Conference on Control Systems, Mathematical Modeling, Automation and Energy Efficiency (SUMMA), Lipetsk, Russia.","DOI":"10.1109\/SUMMA53307.2021.9632070"},{"key":"ref_20","doi-asserted-by":"crossref","first-page":"489","DOI":"10.1016\/j.neucom.2005.12.126","article-title":"Extreme Learning machine: Theory and applications","volume":"70","author":"Huang","year":"2006","journal-title":"Neurocomputing"},{"key":"ref_21","unstructured":"Rao, C.R. (July, January 21). Generalized Inverse of a Matrix and its Applications. Proceedings of the Sixth Berkeley Symposium on Mathematical Statistics and Probability, Theory of Statistics, Berkeley, CA, USA."},{"key":"ref_22","unstructured":"Cheng, C., Tay, W.P., and Huang, G.B. (2012, January 10\u201315). Extreme Learning Machines for Intrusion Detection. Proceedings of the 2012 International Joint Conference on Neural Networks (IJCNN), Brisbane, Australia."},{"key":"ref_23","doi-asserted-by":"crossref","unstructured":"Liu, Y., Loh, H.T., and Tor, S.B. (2005, January 22\u201324). Comparison of Extreme Learning Machine with Support Vector Machine for Text Classification. Proceedings of the International Conference on Industrial, Engineering and Other Applications of Applied Intelligent Systems, Innovations in Applied Artificial Intelligence, Bari, Italy.","DOI":"10.1007\/11504894_55"},{"key":"ref_24","doi-asserted-by":"crossref","first-page":"59","DOI":"10.32362\/2500-316X-2022-10-2-59-74","article-title":"Application of bioinspired global optimization algorithms to the improvement of the prediction accuracy of compact extreme learning machines","volume":"10","author":"Demidova","year":"2022","journal-title":"Russ. Technol. J."},{"key":"ref_25","doi-asserted-by":"crossref","first-page":"6505","DOI":"10.1109\/ACCESS.2019.2963784","article-title":"PSO-ELM: A hybrid learning model for short-term traffic flow forecasting","volume":"8","author":"Cai","year":"2020","journal-title":"IEEE Access"},{"key":"ref_26","first-page":"132","article-title":"Study on GA-based Training Algorithm for Extreme Learning Machine","volume":"Volume 2","author":"Song","year":"2015","journal-title":"Proceedings of the 2015 7th International Conference on Intelligent Human-Machine Systems and Cybernetics"},{"key":"ref_27","doi-asserted-by":"crossref","first-page":"286","DOI":"10.1134\/S1990478912030039","article-title":"A genetic algorithm with tournament selection as a local search method","volume":"6","author":"Eremeev","year":"2012","journal-title":"J. Appl. Ind. Math"},{"key":"ref_28","unstructured":"Kennedy, J., and Eberhart, R. (December, January 27). Particle swarm optimization. Proceedings of the ICNN\u201995-International Conference on Neural Networks, Perth, WA, Australia."},{"key":"ref_29","doi-asserted-by":"crossref","first-page":"341","DOI":"10.1023\/A:1008202821328","article-title":"Differential evolution\u2014A simple and efficient heuristic for global optimization over continuous spaces","volume":"11","author":"Storn","year":"1997","journal-title":"J. Glob. Optim."},{"key":"ref_30","doi-asserted-by":"crossref","first-page":"21","DOI":"10.4018\/IJSIR.2018100102","article-title":"Improving the performance of the fish school search algorithm","volume":"9","author":"Monteiro","year":"2018","journal-title":"Int. J. Swarm Intell. Res."},{"key":"ref_31","doi-asserted-by":"crossref","first-page":"012075","DOI":"10.1088\/1757-899X\/1047\/1\/012075","article-title":"Neuroevolution of augmented topologies with difference-based mutation","volume":"1047","author":"Stanovov","year":"2021","journal-title":"IOP Conf. Ser. Mater. Sci. Eng."},{"key":"ref_32","first-page":"229","article-title":"Structure Optimization Using Bee and Fish School Algorithm for Mobility Prediction","volume":"24","author":"Ananthi","year":"2016","journal-title":"Middle-East J. Sci. Res"},{"key":"ref_33","doi-asserted-by":"crossref","first-page":"155","DOI":"10.1007\/978-981-13-6861-5_14","article-title":"SVM Hyperparameter Optimization Using a Genetic Algorithm for Rub-Impact Fault Diagnosis","volume":"924","author":"Prosvirin","year":"2019","journal-title":"Adv. Comput. Commun. Comput. Sci."},{"key":"ref_34","doi-asserted-by":"crossref","unstructured":"Baioletti, M., Di Bari, G., Milani, A., and Poggioni, V. (2020). Differential Evolution for Neural Networks Optimization. Mathematics, 8.","DOI":"10.3390\/math8010069"},{"key":"ref_35","doi-asserted-by":"crossref","unstructured":"Gilda, S. (2017, January 12\u201314). Source Code Classification using Neural Networks. Proceedings of the 2017 14th International Joint Conference on Computer Science and Software Engineering (JCSSE), Nakhon Si Thammarat, Thailand.","DOI":"10.1109\/JCSSE.2017.8025917"},{"key":"ref_36","doi-asserted-by":"crossref","first-page":"1","DOI":"10.1145\/3290353","article-title":"code2vec: Learning Distributed Representations of Code","volume":"Volume 3","author":"Alon","year":"2019","journal-title":"Proceedings of the ACM on Programming Languages"},{"key":"ref_37","doi-asserted-by":"crossref","first-page":"1203","DOI":"10.1002\/1097-024X(200009)30:11<1203::AID-SPE338>3.0.CO;2-N","article-title":"An Open Graph Visualization System and Its Applications to Software Engineering","volume":"30","author":"Gansner","year":"2000","journal-title":"Softw. Pract. Exp."},{"key":"ref_38","doi-asserted-by":"crossref","first-page":"1143","DOI":"10.1002\/cjce.5450820602","article-title":"Applications of Markov chains in particulate process engineering: A review","volume":"82","author":"Berthiaux","year":"2004","journal-title":"Can. J. Chem. Eng."},{"key":"ref_39","first-page":"2825","article-title":"Scikit-learn: Machine learning in Python","volume":"12","author":"Pedregosa","year":"2011","journal-title":"J. Mach. Learn. Res."},{"key":"ref_40","doi-asserted-by":"crossref","first-page":"357","DOI":"10.1038\/s41586-020-2649-2","article-title":"Array programming with NumPy","volume":"585","author":"Harris","year":"2020","journal-title":"Nature"},{"key":"ref_41","doi-asserted-by":"crossref","first-page":"415","DOI":"10.1109\/72.991427","article-title":"A comparison of methods for multiclass support vector machines","volume":"13","author":"Hsu","year":"2002","journal-title":"IEEE Trans. Neural Netw."},{"key":"ref_42","doi-asserted-by":"crossref","unstructured":"Parmar, A., Katariya, R., and Patel, V. (2018, January 7\u20138). A Review on Random Forest: An Ensemble Classifier. Proceedings of the International Conference on Intelligent Data Communication Technologies and Internet of Things, Coimbatore, India.","DOI":"10.1007\/978-3-030-03146-6_86"},{"key":"ref_43","first-page":"1","article-title":"W Feedforward Neural Networks with Random Weights","volume":"Volume 2","author":"Schmidt","year":"1992","journal-title":"Proceedings of the 11th IAPR International Conference on Pattern Recognition, Pattern Recognition Methodology and Systems"},{"key":"ref_44","doi-asserted-by":"crossref","first-page":"76","DOI":"10.1109\/2.144401","article-title":"Functional-link net computing: Theory, system architecture, and functionalities","volume":"25","author":"Pao","year":"1992","journal-title":"Computer"},{"key":"ref_45","doi-asserted-by":"crossref","first-page":"012002","DOI":"10.1088\/1757-899X\/261\/1\/012002","article-title":"Some tricks in parameter selection for extreme learning machine","volume":"261","author":"Cao","year":"2017","journal-title":"IOP Conf. Ser. Mater. Sci. Eng."},{"key":"ref_46","unstructured":"Grandini, M., Bagli, E., and Visani, G. (2020). Metrics for Multi-class Classification: An Overview. arXiv."},{"key":"ref_47","doi-asserted-by":"crossref","unstructured":"Demidova, L.A. (2021). Two-Stage Hybrid Data Classifiers Based on SVM and kNN Algorithms. Symmetry, 13.","DOI":"10.3390\/sym13040615"},{"key":"ref_48","doi-asserted-by":"crossref","unstructured":"Liu, G., Zhao, H., Fan, F., Liu, G., Xu, Q., and Nazir, S. (2022). An Enhanced Intrusion Detection Model Based on Improved kNN in WSNs. Sensors, 22.","DOI":"10.3390\/s22041407"},{"key":"ref_49","doi-asserted-by":"crossref","unstructured":"Razaque, A., Ben Haj Frej, M., Almi\u2019ani, M., Alotaibi, M., and Alotaibi, B. (2021). Improved Support Vector Machine Enabled Radial Basis Function and Linear Variants for Remote Sensing Image Classification. Sensors, 21.","DOI":"10.3390\/s21134431"},{"key":"ref_50","doi-asserted-by":"crossref","unstructured":"Demidova, L.A., and Gorchakov, A.V. (2020). A Study of Chaotic Maps Producing Symmetric Distributions in the Fish School Search Optimization Algorithm with Exponential Step Decay. Symmetry, 12.","DOI":"10.3390\/sym12050784"},{"key":"ref_51","first-page":"41","article-title":"Explicit Computation of Input Weights in Extreme Learning Machines","volume":"Volume 1","author":"Tapson","year":"2014","journal-title":"Proceedings of the ELM-2014"},{"key":"ref_52","doi-asserted-by":"crossref","unstructured":"Cao, Z., Chu, Z., Liu, D., and Chen, Y. (2021, January 19\u201325). A Vector-Based Representation to Enhance Head Pose Estimation. Proceedings of the IEEE\/CVF Winter Conference on Applications of Computer Vision, Hawaii, HI, USA.","DOI":"10.1109\/WACV48630.2021.00123"},{"key":"ref_53","doi-asserted-by":"crossref","unstructured":"Wang, Q., Fang, Y., Ravula, A., Feng, F., Quan, X., and Liu, D. (2022, January 25\u201329). WebFormer: The Web-Page Transformer for Structure Information Extraction. Proceedings of the ACM Web Conference 2022, Lyon, France.","DOI":"10.1145\/3485447.3512032"}],"container-title":["Algorithms"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.mdpi.com\/1999-4893\/15\/9\/329\/pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,10,11]],"date-time":"2025-10-11T00:32:26Z","timestamp":1760142746000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.mdpi.com\/1999-4893\/15\/9\/329"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2022,9,15]]},"references-count":53,"journal-issue":{"issue":"9","published-online":{"date-parts":[[2022,9]]}},"alternative-id":["a15090329"],"URL":"https:\/\/doi.org\/10.3390\/a15090329","relation":{},"ISSN":["1999-4893"],"issn-type":[{"value":"1999-4893","type":"electronic"}],"subject":[],"published":{"date-parts":[[2022,9,15]]}}}