Self-organized task allocation is possible with systems designed using the swarm robotic principles of scalability, flexibility, robustness, and emergence. We summarize (1) our derived quantitative measurements of these principles in 10,000 robot swarms, and (2) our task allocation work using stochastic choice and matroids. We propose extensions to our current task allocation methodology using stochastic processes and graph-theoretic topological invariants to provide a unified algorithmic approach to swarm-robotic foraging and construction.