Unsupervised Voting for Detecting the Algorithmic Solving Strategy in Competitive Programming Solutions

preprint OA: closed CC-BY-4.0
📄 Open PDF Full text JSON View at publisher
AI-generated summary by claude@2026-07, 2026-07-16

This paper proposes an unsupervised voting algorithm using multiple code embedding methods to identify distinct algorithmic strategies within competitive programming solutions, showing improved clustering performance over baseline methods.

One-sentence paraphrase of the abstract; not a substitute for reading it. No clinical advice. How this works

AI-generated deep summary by claude@2026-07, 2026-07-16 · read from full text

The paper studies how to determine the number and identities of distinct algorithmic solving strategies present among sets of correct solutions to competitive programming problems, using multiple source-code embedding methods. Using a newly created dataset of 15 algorithmic problems, the authors apply five embedding methods as separate “views” and, for each view, perform hard clustering into K approaches (with K treated as a hyperparameter), then identify the maximum subset of solutions meeting an assumed cross-view mapping and use that subset for a co-training-style unsupervised voting step. They report that the proposed unsupervised voting algorithm improves over a baseline clustering approach across all problems except one. This paper does not explicitly discuss endometriosis or adenomyosis; it was included in the corpus via a keyword match in the upstream search index.

Read from the paper's body, not the abstract. Not a substitute for reading the paper. No clinical advice. How this works

Abstract

The problem of source code analysis using machine learning techniques has been gaining much attention recently as several powerful code embeddings methods have been created. Having available different embedding methods for source code opened the way for tackling many practical problems related to source code analysis. This paper addresses the issue of determining the number of distinct algorithmic strategies that may be found in a set of correct solutions for a competitive programming problem. We have investigated using five embedding methods with three algorithmic strategies in a data analysis pipeline that tackle the previously described issues on a newly created dataset consisting of 15 algorithmic problems. We propose an unsupervised algorithm that considers each embedding as a different dataset view. On each view, a hard clustering algorithm can be employed to split the correct solutions into K distinct algorithmic approaches, where K is a hyperparameter. In the ideal case, if all the algorithmic approaches in each view are determined correctly, a mapping could be done between each consecutive view such that each algorithmic approach from one view maps to a single corresponding algorithmic approach in the other. We are interested in determining the maximum subset of solutions that satisfy the assumption from above and use this subset as a base for a co-training procedure where an estimator employed on each view votes for the algorithmic approach of each solution which is not part of the subset. According to the results, the proposed unsupervised voting algorithm highly improves the baseline clustering approach. This improvement was observed across all problems in the dataset except one. Scale-up of the data analysis pipeline to datasets of thousands of problems may yield the ability to profoundly understand and learn about the innovative process of correctly designing and writing code in the context of competitive programming or even industry code.
Full text 12,180 characters · extracted from preprint-html · click to expand
Unsupervised Voting for Detecting the Algorithmic Solving Strategy in Competitive Programming Solutions | Research Square window.SnipcartSettings = { analytics: { enabled: false } }; (function() { var accessVector = localStorage.getItem('access_vector') || ''; window.dataLayer = window.dataLayer || []; if (accessVector) { window.dataLayer.push({ user: { profile: { profileInfo: { snid: accessVector } } } }); } })(); (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src='https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);})(window,document,'script','dataLayer','GTM-K279D39R'); Browse Preprints In Review Journals COVID-19 Preprints AJE Video Bytes Research Tools Research Promotion AJE Professional Editing AJE Rubriq About Preprint Platform In Review Editorial Policies Our Team Advisory Board Help Center Sign In Submit a Preprint Cite Share Download PDF Research Article Unsupervised Voting for Detecting the Algorithmic Solving Strategy in Competitive Programming Solutions Alexandru Stefan Stoica, Daniel Băbiceanu, Traian Rebedea, Marian Cristian Mihăescu This is a preprint; it has not been peer reviewed by a journal. https://doi.org/ 10.21203/rs.3.rs-2834777/v1 This work is licensed under a CC BY 4.0 License Status: Posted Version 1 posted You are reading this latest preprint version Abstract The problem of source code analysis using machine learning techniques has been gaining much attention recently as several powerful code embeddings methods have been created. Having available different embedding methods for source code opened the way for tackling many practical problems related to source code analysis. This paper addresses the issue of determining the number of distinct algorithmic strategies that may be found in a set of correct solutions for a competitive programming problem. We have investigated using five embedding methods with three algorithmic strategies in a data analysis pipeline that tackle the previously described issues on a newly created dataset consisting of 15 algorithmic problems. We propose an unsupervised algorithm that considers each embedding as a different dataset view. On each view, a hard clustering algorithm can be employed to split the correct solutions into K distinct algorithmic approaches, where K is a hyperparameter. In the ideal case, if all the algorithmic approaches in each view are determined correctly, a mapping could be done between each consecutive view such that each algorithmic approach from one view maps to a single corresponding algorithmic approach in the other. We are interested in determining the maximum subset of solutions that satisfy the assumption from above and use this subset as a base for a co-training procedure where an estimator employed on each view votes for the algorithmic approach of each solution which is not part of the subset. According to the results, the proposed unsupervised voting algorithm highly improves the baseline clustering approach. This improvement was observed across all problems in the dataset except one. Scale-up of the data analysis pipeline to datasets of thousands of problems may yield the ability to profoundly understand and learn about the innovative process of correctly designing and writing code in the context of competitive programming or even industry code. source code competitive programming machine learning Full Text Additional Declarations No competing interests reported. Cite Share Download PDF Status: Posted Version 1 posted You are reading this latest preprint version Research Square lets you share your work early, gain feedback from the community, and start making changes to your manuscript prior to peer review in a journal. As a division of Research Square Company, we’re committed to making research communication faster, fairer, and more useful. We do this by developing innovative software and high quality services for the global research community. Our growing team is made up of researchers and industry professionals working together to solve the most critical problems facing scientific publishing. Also discoverable on Platform About Our Team In Review Editorial Policies Advisory Board Help Center Resources Author Services Accessibility API Access RSS feed Manage Cookie Preferences © Research Square 2026 | ISSN 2693-5015 (online) Privacy Policy Terms of Service Do Not Sell My Personal Information {"props":{"pageProps":{"initialData":{"identity":"rs-2834777","acceptedTermsAndConditions":true,"allowDirectSubmit":true,"archivedVersions":[],"articleType":"Research Article","associatedPublications":[],"authors":[{"id":193169285,"identity":"41f45555-6d43-47f3-b9c6-0a63f014a5e5","order_by":0,"name":"Alexandru Stefan Stoica","email":"","orcid":"","institution":"University Politechnica of Bucharest","correspondingAuthor":false,"submittingAuthor":false,"prefix":"","firstName":"Alexandru","middleName":"Stefan","lastName":"Stoica","suffix":""},{"id":193169289,"identity":"bdc83819-fdc2-45a6-ab7b-850444af99df","order_by":1,"name":"Daniel Băbiceanu","email":"","orcid":"","institution":"University of Craiova","correspondingAuthor":false,"submittingAuthor":false,"prefix":"","firstName":"Daniel","middleName":"","lastName":"Băbiceanu","suffix":""},{"id":193169290,"identity":"6c5c3a97-5aa0-47bd-800d-417769709808","order_by":2,"name":"Traian Rebedea","email":"","orcid":"","institution":"University Politechnica of Bucharest","correspondingAuthor":false,"submittingAuthor":false,"prefix":"","firstName":"Traian","middleName":"","lastName":"Rebedea","suffix":""},{"id":193169291,"identity":"80f12df1-e61d-4489-bc16-54b7bb2472c0","order_by":3,"name":"Marian Cristian Mihăescu","email":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAZAAAAAyAQMAAABI0h/eAAAABlBMVEX///8AAABVwtN+AAAACXBIWXMAAA7EAAAOxAGVKw4bAAABGUlEQVRIiWNgGAWjYFACxgYGBgMwow0iwN7AIEFQywEULTwHCGkBggMQig1CSSTg18I/+3Dz5w8FdnkMYofbHvyoqJM3uPn44G0ehsPyBgd4Hz7AokXiXGKbxAGD5GIG6cR2w54zhw033E5LtgZqMdxwgN3YAIsWAx6gFw4YMCc2SAP18rYdSDC4nWMmDdSSINnAxobNhUAtzR8OGNSDtUj+/VeXYHDz/DdCWhqADjsM1iLN28CcYHCDhw2shZ8BuxaJM4xtEmcMjgPVA5HMscOGM8+kGVvOMUg37GdmY8bmF/4e9scfKv5UJ/ZLpz+TfFNTJ893/PDDG28qrOXZ2NsYsYUYHLChORiImfGpHwWjYBSMglGADwAAIaVcFzNntxIAAAAASUVORK5CYII=","orcid":"","institution":"University Politechnica of Bucharest","correspondingAuthor":true,"submittingAuthor":false,"prefix":"","firstName":"Marian","middleName":"Cristian","lastName":"Mihăescu","suffix":""}],"badges":[],"createdAt":"2023-04-19 05:29:08","currentVersionCode":1,"declarations":"","doi":"10.21203/rs.3.rs-2834777/v1","doiUrl":"https://doi.org/10.21203/rs.3.rs-2834777/v1","draftVersion":[],"editorialEvents":[],"editorialNote":"","failedWorkflow":false,"files":[{"id":42886720,"identity":"b701b986-c485-4fc3-8063-87966f64d273","added_by":"auto","created_at":"2023-09-09 22:22:21","extension":"pdf","order_by":1,"title":"","display":"","copyAsset":false,"role":"manuscript-pdf","size":351417,"visible":true,"origin":"","legend":"","description":"","filename":"CodeAnalysisKAISJournalsubmitted19.04.pdf","url":"https://assets-eu.researchsquare.com/files/rs-2834777/v1_covered_66e11000-879a-43df-9cd8-feee9b4af9c6.pdf"}],"financialInterests":"No competing interests reported.","formattedTitle":"Unsupervised Voting for Detecting the Algorithmic Solving Strategy in Competitive Programming Solutions","fulltext":[],"fulltextSource":"","fullText":"","funders":[],"hasAdminPriorityOnWorkflow":false,"hasManuscriptDocX":false,"hasOptedInToPreprint":true,"hasPassedJournalQc":"","hasAnyPriority":false,"hideJournal":true,"highlight":"","institution":"","isAcceptedByJournal":false,"isAuthorSuppliedPdf":true,"isDeskRejected":"","isHiddenFromSearch":false,"isInQc":false,"isInWorkflow":false,"isPdf":true,"isPdfUpToDate":true,"isWithdrawnOrRetracted":false,"journal":{"display":true,"email":"[email protected]","identity":"researchsquare","isNatureJournal":false,"hasQc":true,"allowDirectSubmit":true,"externalIdentity":"","sideBox":"","snPcode":"","submissionUrl":"/submission","title":"Research Square","twitterHandle":"researchsquare","acdcEnabled":true,"dfaEnabled":false,"editorialSystem":"","reportingPortfolio":"","inReviewEnabled":false,"inReviewRevisionsEnabled":true},"keywords":"source code, competitive programming, machine learning","lastPublishedDoi":"10.21203/rs.3.rs-2834777/v1","lastPublishedDoiUrl":"https://doi.org/10.21203/rs.3.rs-2834777/v1","license":{"name":"CC BY 4.0","url":"https://creativecommons.org/licenses/by/4.0/"},"manuscriptAbstract":"\u003cp\u003eThe problem of source code analysis using machine learning techniques has been gaining much attention recently as several powerful code embeddings methods have been created. Having available different embedding methods for source code opened the way for tackling many practical problems related to source code analysis. This paper addresses the issue of determining the number of distinct algorithmic strategies that may be found in a set of correct solutions for a competitive programming problem. We have investigated using five embedding methods with three algorithmic strategies in a data analysis pipeline that tackle the previously described issues on a newly created dataset consisting of 15 algorithmic problems. We propose an unsupervised algorithm that considers each embedding as a different dataset view. On each view, a hard clustering algorithm can be employed to split the correct solutions into K distinct algorithmic approaches, where K is a hyperparameter. In the ideal case, if all the algorithmic approaches in each view are determined correctly, a mapping could be done between each consecutive view such that each algorithmic approach from one view maps to a single corresponding algorithmic approach in the other. We are interested in determining the maximum subset of solutions that satisfy the assumption from above and use this subset as a base for a co-training procedure where an estimator employed on each view votes for the algorithmic approach of each solution which is not part of the subset. According to the results, the proposed unsupervised voting algorithm highly improves the baseline clustering approach. This improvement was observed across all problems in the dataset except one. Scale-up of the data analysis pipeline to datasets of thousands of problems may yield the ability to profoundly understand and learn about the innovative process of correctly designing and writing code in the context of competitive programming or even industry code.\u0026nbsp;\u003c/p\u003e","manuscriptTitle":"Unsupervised Voting for Detecting the Algorithmic Solving Strategy in Competitive Programming Solutions","msid":"","msnumber":"","nonDraftVersions":[{"code":1,"date":"2023-04-21 02:49:15","doi":"10.21203/rs.3.rs-2834777/v1","editorialEvents":[{"type":"communityComments","content":0}],"status":"published","journal":{"display":true,"email":"[email protected]","identity":"researchsquare","isNatureJournal":false,"hasQc":true,"allowDirectSubmit":true,"externalIdentity":"","sideBox":"","snPcode":"","submissionUrl":"/submission","title":"Research Square","twitterHandle":"researchsquare","acdcEnabled":true,"dfaEnabled":false,"editorialSystem":"","reportingPortfolio":"","inReviewEnabled":false,"inReviewRevisionsEnabled":true}}],"origin":"","ownerIdentity":"077bbda1-66a0-49f1-8e9d-4b01e3e6d574","owner":[],"postedDate":"April 21st, 2023","published":true,"recentEditorialEvents":[],"rejectedJournal":[],"revision":"","amendment":"","status":"posted","subjectAreas":[],"tags":[],"updatedAt":"2023-09-09T22:14:12+00:00","versionOfRecord":[],"versionCreatedAt":"2023-04-21 02:49:15","video":"","vorDoi":"","vorDoiUrl":"","workflowStages":[]},"version":"v1","identity":"rs-2834777","journalConfig":"researchsquare"},"__N_SSP":true},"page":"/article/[identity]/[[...version]]","query":{"redirect":"/article/rs-2834777","identity":"rs-2834777","version":["v1"]},"buildId":"cBFmMYwuxLRRLfASyISRj","isFallback":false,"isExperimentalCompile":false,"dynamicIds":[84888],"gssp":true,"scriptLoader":[]}

Text is read by the "Ask this paper" AI Q&A widget below. Extraction quality varies by source — PMC NXML preserves structure cleanly, OA-HTML may include some navigation residue, and OA-PDF can have broken hyphenation. The publisher copy (via DOI) is the canonical version.

My notes (saved in your browser only)

Ask this paper AI returns verbatim quotes from the full text · source: preprint-html

Answers must be backed by verbatim quotes from this paper's full text. Hallucinated quotes are dropped automatically; if no verbatim passage answers the question, we say so. How this works

Citation neighborhood (no data yet)

We don't have any in-corpus citations linked to this paper yet. The paper's references may be in our DB but unresolved to ``paper_id`` (resolution happens at ingest when the cited DOI matches a row we already have). Run the cross-source citation reconcile pass to retry.

Source provenance

europepmc
last seen: 2026-05-19T01:45:01.086888+00:00
unpaywall
last seen: 2026-05-24T02:00:01.246996+00:00
License: CC-BY-4.0