{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/graph-feedback-bandits-on-similar-arms-with","title":"Graph Feedback Bandits on Similar Arms: With and Without Graph Structures","arxiv_id":"2501.14314","date":"2025-01-24","proceeding":null,"authors":["Han Qi","Fei Guo","Li Zhu","Qiaosheng Zhang","Xuelong Li"],"abstract":"In this paper, we study the stochastic multi-armed bandit problem with graph feedback. Motivated by applications in clinical trials and recommendation systems, we assume that two arms are connected if and only if they are similar (i.e., their means are close to each other). We establish a regret lower bound for this problem under the novel feedback structure and introduce two upper confidence bound (UCB)-based algorithms: Double-UCB, which has problem-independent regret upper bounds, and Conservative-UCB, which has problem-dependent upper bounds. Leveraging the similarity structure, we also explore a scenario where the number of arms increases over time (referred to as the \\emph{ballooning setting}). Practical applications of this scenario include Q\\&A platforms (e.g., Reddit, Stack Overflow, Quora) and product reviews on platforms like Amazon and Flipkart, where answers (or reviews) continuously appear, and the goal is to display the best ones at the top. We extend these two UCB-based algorithms to the ballooning setting. Under mild assumptions, we provide regret upper bounds for both algorithms and discuss their sub-linearity. Furthermore, we propose a new version of the corresponding algorithms that do not rely on prior knowledge of the graph's structural information and provide regret upper bounds. Finally, we conduct experiments to validate the theoretical results.","url_abs":"https://arxiv.org/abs/2501.14314v1","url_pdf":"https://arxiv.org/pdf/2501.14314v1.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"graph-feedback-bandits-on-similar-arms-with","repo_url":"https://github.com/qh1874/GraphBandits_SimilarArms","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"none","reach":{"status":"ok","spdx":"BSD-3-Clause"}}],"tasks":[{"task_slug":"recommendation-systems","task_name":"Recommendation Systems"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2501.14314","atlas_url":"https://app.syntology.ai/?focus=2501.14314","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2501.14314"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/qh1874/GraphBandits_SimilarArms","reach":{"status":"ok","spdx":"BSD-3-Clause"}}],"summary":{"ran":5,"unverified":2},"by_repo_kind":{"official":{"samples":7,"ran":5,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"3876c6360df908fe","entry":"generate_graph","repo":"qh1874/GraphBandits_SimilarArms","repo_kind":"official","path":"aux_func.py","file_url":"https://github.com/qh1874/GraphBandits_SimilarArms/blob/HEAD/aux_func.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"3876c6360df908fe"}},{"code_sha256_prefix":"ef8969931e08f861","entry":"generate_graph1","repo":"qh1874/GraphBandits_SimilarArms","repo_kind":"official","path":"aux_func.py","file_url":"https://github.com/qh1874/GraphBandits_SimilarArms/blob/HEAD/aux_func.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"ef8969931e08f861"}},{"code_sha256_prefix":"7e460762de478cb3","entry":"is_clique_adj","repo":"qh1874/GraphBandits_SimilarArms","repo_kind":"official","path":"algo_new/Double_UCB.py","file_url":"https://github.com/qh1874/GraphBandits_SimilarArms/blob/HEAD/algo_new/Double_UCB.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"7e460762de478cb3"}},{"code_sha256_prefix":"f3204de91b1da7ec","entry":"neighbor_to_adj_symmetric","repo":"qh1874/GraphBandits_SimilarArms","repo_kind":"official","path":"aux_func.py","file_url":"https://github.com/qh1874/GraphBandits_SimilarArms/blob/HEAD/aux_func.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"f3204de91b1da7ec"}},{"code_sha256_prefix":"5d3d1ea5fdbce537","entry":"select_first_geq_zero","repo":"qh1874/GraphBandits_SimilarArms","repo_kind":"official","path":"algo_new/Unkown_UCB_BL.py","file_url":"https://github.com/qh1874/GraphBandits_SimilarArms/blob/HEAD/algo_new/Unkown_UCB_BL.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"5d3d1ea5fdbce537"}},{"code_sha256_prefix":"c6de8ea8b1d1d224","entry":"run_many_trials","repo":"qh1874/GraphBandits_SimilarArms","repo_kind":"official","path":"UCB_D.py","file_url":"https://github.com/qh1874/GraphBandits_SimilarArms/blob/HEAD/UCB_D.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"c6de8ea8b1d1d224"}},{"code_sha256_prefix":"419d3cbb742e863e","entry":"run_one_trial","repo":"qh1874/GraphBandits_SimilarArms","repo_kind":"official","path":"UCB_D.py","file_url":"https://github.com/qh1874/GraphBandits_SimilarArms/blob/HEAD/UCB_D.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"419d3cbb742e863e"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}