{"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/a-computational-topology-based-spatiotemporal","title":"A Computational Topology-based Spatiotemporal Analysis Technique for Honeybee Aggregation","arxiv_id":"2307.09720","date":"2023-07-19","proceeding":null,"authors":["Golnar Gharooni-Fard","Morgan Byers","Varad Deshmukh","Elizabeth Bradley","Carissa Mayo","Chad Topaz","Orit Peleg"],"abstract":"A primary challenge in understanding collective behavior is characterizing the spatiotemporal dynamics of the group. We employ topological data analysis to explore the structure of honeybee aggregations that form during trophallaxis, which is the direct exchange of food among nestmates. From the positions of individual bees, we build topological summaries called CROCKER matrices to track the morphology of the group as a function of scale and time. Each column of a CROCKER matrix records the number of topological features, such as the number of components or holes, that exist in the data for a range of analysis scales at a given point in time. To detect important changes in the morphology of the group from this information, we first apply dimensionality reduction techniques to these matrices and then use classic clustering and change-point detection algorithms on the resulting scalar data. A test of this methodology on synthetic data from an agent-based model of honeybees and their trophallaxis behavior shows two distinct phases: a dispersed phase that occurs before food is introduced, followed by a food-exchange phase during which aggregations form. We then move to laboratory data, successfully detecting the same two phases across multiple experiments. Interestingly, our method reveals an additional phase change towards the end of the experiments, suggesting the possibility of another dispersed phase that follows the food-exchange phase.","url_abs":"https://arxiv.org/abs/2307.09720v1","url_pdf":"https://arxiv.org/pdf/2307.09720v1.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":"a-computational-topology-based-spatiotemporal","repo_url":"https://github.com/vrd1243/tda_bees","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"none","reach":null}],"tasks":[{"task_slug":"change-point-detection","task_name":"Change Point Detection"},{"task_slug":"dimensionality-reduction","task_name":"Dimensionality Reduction"},{"task_slug":"topological-data-analysis","task_name":"Topological Data Analysis"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2307.09720","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2307.09720"}},"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":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/vrd1243/tda_bees","reach":null}],"summary":{"ran_fixture":2,"ran_draft_wrong":1},"by_repo_kind":{"official":{"samples":3,"ran":3,"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":3,"samples":[{"code_sha256_prefix":"0d4620b0bec687fa","entry":"crocker_norm","repo":"vrd1243/tda_bees","repo_kind":"official","path":"code/clustering_using_norms.py","file_url":"https://github.com/vrd1243/tda_bees/blob/HEAD/code/clustering_using_norms.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"0d4620b0bec687fa"}},{"code_sha256_prefix":"9aee961ae157d2aa","entry":"find_change","repo":"vrd1243/tda_bees","repo_kind":"official","path":"code/find_changepoint.py","file_url":"https://github.com/vrd1243/tda_bees/blob/HEAD/code/find_changepoint.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"well_formed","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"9aee961ae157d2aa"}},{"code_sha256_prefix":"1476b998af59822a","entry":"find_overlap_len","repo":"vrd1243/tda_bees","repo_kind":"official","path":"code/find_changepoint.py","file_url":"https://github.com/vrd1243/tda_bees/blob/HEAD/code/find_changepoint.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"well_formed","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"1476b998af59822a"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}