Apologies for my lack of mathematical skills shown in this forum so I hope this isn't a silly question, but I'm always willing to learn.
I'm experimenting with a Hill Climbing algorithm for my own interests only, that (before running) requires me to guestimate the number of starting blocks required to find a particular covering solution -- meaning that 'b' can only be found by trial and error.
Assuming that v=21, m=5, k=6, t=3, lambda assumed to = 1 or:
t - (v,m,k,l) = 3 - (21,5,6,1)
is there any way to approximate a ball-park value for what "starting b" should be in this example?
Addendum Put another way, assume a 'pick six' lottery. The 'v' parameter represents how many we want to play from the total available numbers. The 'k' parameter indicates that six numbers are drawn from the barrel. The 'm' parameter indicates how many of those six drawn we find among our 21 selections (in this example, 5). The 't' param indicates how many correct numbers we'd be guaranteed to find on one line somewhere among our total tickets. Obviously, this will require a minimum 'b' tickets or game lines.
These are called 'covering designs' and there are four or five different algorithms to do these computations, of which 'Hill Climbing' is just one. While I'm giving one of the earliest command-line programs a modern GUI interface, I admit the math involved is way beyond my abilities so I couldn't begin to explain how it works. Nevertheless it asks the user to input a value representing a starting number of blocks ('b') to try. The algorithm is trying to find a solution to the problem using the minimum number of lines possible. If the 'b' input is too high the program wastes some time reducing the number of lines to a minimum. If too low, the program essentially just says "Sorry, can't fit a solution into so few lines". Hope this helps!