A neural algorithm for computing bipartite matchings
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 developm...
Saved in:
Published in | Proceedings of the National Academy of Sciences - PNAS Vol. 121; no. 37; p. e2321032121 |
---|---|
Main Authors | , , , , , |
Format | Journal Article |
Language | English |
Published |
United States
National Academy of Sciences
10.09.2024
|
Subjects | |
Online Access | Get full text |
Cover
Loading…
Summary: | 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 23 |
ISSN: | 0027-8424 1091-6490 1091-6490 |
DOI: | 10.1073/pnas.2321032121 |