A neural algorithm for computing bipartite matchings

SignificanceFinding bipartite matchings is one of the oldest and most well-studied problems in computer science. This problem comes up in many guises, such as when matching donors to recipients for organ transplants, advertisers to advertising slots in marketing applications, or drivers to passenger...

Full description

Saved in:
Bibliographic Details
Published inProceedings of the National Academy of Sciences - PNAS Vol. 121; no. 37; p. e2321032121
Main Authors Dasgupta, Sanjoy, Meirovitch, Yaron, Zheng, Xingyu, Bush, Inle, Lichtman, Jeff W., Navlakha, Saket
Format Journal Article
LanguageEnglish
Published United States National Academy of Sciences 10.09.2024
Subjects
Online AccessGet full text
ISSN0027-8424
1091-6490
1091-6490
DOI10.1073/pnas.2321032121

Cover

More Information
Summary:SignificanceFinding bipartite matchings is one of the oldest and most well-studied problems in computer science. This problem comes up in many guises, such as when matching donors to recipients for organ transplants, advertisers to advertising slots in marketing applications, or drivers to passengers on ride-sharing services. By studying the development of the neuromuscular circuit-a key circuit for motor control with a bipartite architecture-we found an algorithm for the bipartite matching problem. This algorithm achieves near-optimal performance, despite being fully distributed and privacy-preserving. Biologically, this algorithm demonstrates how matching architectures can scalably and robustly emerge over development despite significant variation in circuit sizes and wiring patterns. Thus, we uncovered a unique connection between computer science and neuroscience. Finding optimal bipartite matchings—e.g., matching medical students to hospitals for residency, items to buyers in an auction, or papers to reviewers for peer review—is a fundamental combinatorial optimization problem. We found a distributed algorithm for computing matchings by studying the development of the neuromuscular circuit. The neuromuscular circuit can be viewed as a bipartite graph formed between motor neurons and muscle fibers. In newborn animals, neurons and fibers are densely connected, but after development, each fiber is typically matched (i.e., connected) to exactly one neuron. We cast this synaptic pruning process as a distributed matching (or assignment) algorithm, where motor neurons “compete” with each other to “win” muscle fibers. We show that this algorithm is simple to implement, theoretically sound, and effective in practice when evaluated on real-world bipartite matching problems. Thus, insights from the development of neural circuits can inform the design of algorithms for fundamental computational problems.
Bibliography:ObjectType-Article-1
SourceType-Scholarly Journals-1
ObjectType-Feature-2
content type line 14
content type line 23
Edited by Christos Papadimitriou, Columbia University, New York, NY; received November 29, 2023; accepted July 5, 2024
ISSN:0027-8424
1091-6490
1091-6490
DOI:10.1073/pnas.2321032121