Ether.WeightedSelector (nuget): WeightedSelector.NET lets you assign weights to a set of choices, then make  intelligent decisions based on each choice's proportion of the total weight.   This simple concept is useful for machine learning scenarios where choices need to be made based on dynamic factors. Great examples include suggestion engines and game AI.   In one of the examples, we implement a game AI that decides between attacking, fleeing, and casting a heal spell based on a dynamic "fear" factor... In 6 lines of code. Free to use under MIT License.
Keywords: c#|weighted|selector|selection|machine|learning|ai|decision|decide