{"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/arxiv-2607-14545","title":"CASP: Learning-Augmented Offline Approximation with Verifiable Certificates and Bounded-Loss PAC Guarantees","arxiv_id":"2607.14545","date":"2026-07-16","proceeding":null,"authors":["Haifeng Li","Mo Hai"],"abstract":"Machine-learned predictions can speed up offline NP-hard optimization, but asking a predictor what to do amounts to asking it to solve the problem, and committing an unchecked prediction forfeits every worst-case guarantee. CASP (Certificate-Augmented Solution Pruning) instead asks which parts of the search space may be ignored, and accepts each answer only after a sound polynomial-time verifier has checked it, so correctness never depends on prediction quality. We develop the learning theory of this design. The verifier makes the induced loss class uniformly bounded, so certificate parameters are learnable from $\\tilde O(\\varepsilon^{-2}\\log K)$ samples ($K$ the maximum instance size), whereas the unverified commitment class admits no distribution-free rate and, under cost spread $R$, none below $Ω(R/\\varepsilon^2)$. Filtering noisy predictions by verifiable confidence dominates the standard min-combiner, with a margin we compute in closed form, and the prediction stays useful even given the LP, because it breaks ties on degenerate optimal faces, where every symmetric LP policy, meaning one whose commitments depend on the instance only through the verifiable confidence values, provably stalls. Experiments on five problems test the theory's quantitative predictions. With trained predictors, unverified pruning loses up to $26%$ of the optimum under distribution shift, while the verified deployment of the same predictions loses nothing.","url_abs":"https://arxiv.org/abs/2607.14545","url_pdf":"https://arxiv.org/pdf/2607.14545","source":{"archive":null,"snapshot":"2025-07-28","note":"not in the Papers with Code archive (frozen at the snapshot)","row_kind":"graph","title_abstract_authors_date":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)"},"code_links":[],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2607.14545","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2607.14545"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+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":[{"mentioned_in_github":null,"is_official":null,"provenance":"deterministic:regex_extraction","mentioned_in_paper":null,"url":"https://github.com/llfuture/casp","reach":null}],"summary":{"ran":15,"unverified":2},"by_repo_kind":{"found_in_text":{"samples":17,"ran":15,"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":17,"samples":[{"code_sha256_prefix":"a3e9b29c8980a192","entry":"adj_of","repo":"llfuture/casp","repo_kind":"found_in_text","path":"codes/steiner_casp.py","file_url":"https://github.com/llfuture/casp/blob/HEAD/codes/steiner_casp.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"a3e9b29c8980a192"}},{"code_sha256_prefix":"4e39213513eefefb","entry":"candidates","repo":"llfuture/casp","repo_kind":"found_in_text","path":"codes/e4p_real.py","file_url":"https://github.com/llfuture/casp/blob/HEAD/codes/e4p_real.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"4e39213513eefefb"}},{"code_sha256_prefix":"c07f6d5f5ff813db","entry":"dijkstra","repo":"llfuture/casp","repo_kind":"found_in_text","path":"codes/steiner_casp.py","file_url":"https://github.com/llfuture/casp/blob/HEAD/codes/steiner_casp.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"c07f6d5f5ff813db"}},{"code_sha256_prefix":"8cab74191fed87a4","entry":"face_range","repo":"llfuture/casp","repo_kind":"found_in_text","path":"codes/casp_lp.py","file_url":"https://github.com/llfuture/casp/blob/HEAD/codes/casp_lp.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"8cab74191fed87a4"}},{"code_sha256_prefix":"41fc2c1d34f7cc58","entry":"features","repo":"llfuture/casp","repo_kind":"found_in_text","path":"codes/exe2_knap.py","file_url":"https://github.com/llfuture/casp/blob/HEAD/codes/exe2_knap.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"41fc2c1d34f7cc58"}},{"code_sha256_prefix":"a620583289f617aa","entry":"greedy_incumbent","repo":"llfuture/casp","repo_kind":"found_in_text","path":"codes/knapsack_casp.py","file_url":"https://github.com/llfuture/casp/blob/HEAD/codes/knapsack_casp.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"a620583289f617aa"}},{"code_sha256_prefix":"440460698069471e","entry":"load_sc_synth","repo":"llfuture/casp","repo_kind":"found_in_text","path":"codes/casp_lib.py","file_url":"https://github.com/llfuture/casp/blob/HEAD/codes/casp_lib.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"440460698069471e"}},{"code_sha256_prefix":"fd93b0938f720d40","entry":"load_vc_synth","repo":"llfuture/casp","repo_kind":"found_in_text","path":"codes/casp_lib.py","file_url":"https://github.com/llfuture/casp/blob/HEAD/codes/casp_lib.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"fd93b0938f720d40"}},{"code_sha256_prefix":"ead11f4953db3792","entry":"lp_bound","repo":"llfuture/casp","repo_kind":"found_in_text","path":"codes/knapsack_casp.py","file_url":"https://github.com/llfuture/casp/blob/HEAD/codes/knapsack_casp.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"ead11f4953db3792"}},{"code_sha256_prefix":"1fa9c805870bf5f9","entry":"parse_stp","repo":"llfuture/casp","repo_kind":"found_in_text","path":"codes/steiner_casp.py","file_url":"https://github.com/llfuture/casp/blob/HEAD/codes/steiner_casp.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"1fa9c805870bf5f9"}},{"code_sha256_prefix":"c7030e7991ac5a70","entry":"sc_degeneracy","repo":"llfuture/casp","repo_kind":"found_in_text","path":"codes/exc_lponly.py","file_url":"https://github.com/llfuture/casp/blob/HEAD/codes/exc_lponly.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"c7030e7991ac5a70"}},{"code_sha256_prefix":"5f787fb7783a79b6","entry":"sigma_from_face","repo":"llfuture/casp","repo_kind":"found_in_text","path":"codes/casp_lp.py","file_url":"https://github.com/llfuture/casp/blob/HEAD/codes/casp_lp.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"5f787fb7783a79b6"}},{"code_sha256_prefix":"64813c51b22f2b69","entry":"solve_cover_lp","repo":"llfuture/casp","repo_kind":"found_in_text","path":"codes/casp_lp.py","file_url":"https://github.com/llfuture/casp/blob/HEAD/codes/casp_lp.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"64813c51b22f2b69"}},{"code_sha256_prefix":"5ef89d9bf4078838","entry":"theory_margin","repo":"llfuture/casp","repo_kind":"found_in_text","path":"codes/exa_margin.py","file_url":"https://github.com/llfuture/casp/blob/HEAD/codes/exa_margin.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"5ef89d9bf4078838"}},{"code_sha256_prefix":"1c756ac3f0072849","entry":"vc_degeneracy","repo":"llfuture/casp","repo_kind":"found_in_text","path":"codes/exc_lponly.py","file_url":"https://github.com/llfuture/casp/blob/HEAD/codes/exc_lponly.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"1c756ac3f0072849"}},{"code_sha256_prefix":"d953495e28d14ee3","entry":"build_full","repo":"llfuture/casp","repo_kind":"found_in_text","path":"codes/audit_exact.py","file_url":"https://github.com/llfuture/casp/blob/HEAD/codes/audit_exact.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"d953495e28d14ee3"}},{"code_sha256_prefix":"227f6851c9a1efdb","entry":"load_scp","repo":"llfuture/casp","repo_kind":"found_in_text","path":"codes/casp_lib.py","file_url":"https://github.com/llfuture/casp/blob/HEAD/codes/casp_lib.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"227f6851c9a1efdb"}}]},"arxiv_metadata":{"licence":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)","fields":["title","abstract","authors","date"],"primary_category":"cs.LG","source":"arxiv_2026.jsonl"},"syntology_extracted_results":null}