Update README.md

This commit is contained in:
Thomas (Tom) C. Gorordo 2026-06-04 12:31:35 -07:00 committed by GitHub
parent 845ac38533
commit 3dc8a3cb46
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -3,7 +3,7 @@
The [Smith set](https://en.wikipedia.org/wiki/Smith_set) is the minimal set of election candidates which can beat all others pairwise
(by simple majority ranking preference) - if there is a single winner in the set they are
guaranteed the standard [Condorcet i.e. Majority winner](https://en.wikipedia.org/wiki/Condorcet_winner) (they beat all others pairwise). (TODO: for small elections, optionally resolve nontrivial Smith sets - ties - via plurality methods within the set, at least reducing to something like e.g. an IRV winner set within the Smith set if not likely identifying a unique candidate who wins all paths).
guaranteed the standard [Condorcet i.e. Majority winner](https://en.wikipedia.org/wiki/Condorcet_winner) (they beat all others pairwise).
`smithy` identifies the Smith set via graph Strongly Connected Component (SCC) analysis of
the pairwise majority graph using [`rustworkx`](https://www.rustworkx.org/).
@ -14,6 +14,8 @@ of Condorcet elections. Internally, repeated ballots are compressed/cache-counte
pairwise evaluation to improve performance over duplicate rankings.
This is all overkill for small elections, but is fun.
(TODO: for small elections because enumerating all IRV paths scales badly in the event of many ties, optionally resolve nontrivial Smith sets - ties - via plurality methods within the set, at least reducing to something like e.g. an IRV winner set within the Smith set if not likely identifying a unique candidate who wins all paths).
## Usage
`smithy` can be used a few different ways: as a CLI command, via a web form upload,