
apfelmus wrote:
I'm unsure whether it's a good idea to simulate the situations, I'd prefer a more denotational approach...
Queuing theory is a very large and mature area of research, with many important applications in industry. It is not a coincidence that a certain telephone company named a functional programming language after Erlang, the founder of queuing theory.
From the little I know about it, the problem space is quite complex. Simple cases can be calculated easily, but the math starts getting messy very quickly as the complexity increases. On the other hand, simulation is a very powerful tool that is very generally applicable. Functional programming languages, such as Er^H^H Haskell, are very good at this.
...it's not specified what "efficiency" means in the grocery store problem... one could weight mean wait time with that, so that people buying few stuff have much shorter waiting times than people with several full shopping carts.
And the relative cost to the supermarket of various strategies will obviously be a factor in any real-life application.
http://haskell.org/haskellwiki/Research_papers/Data_structures#Probablistic_...
may help... the sampling can be integrated transparently into the probabilistic functional programming framework cited above.
Hey, that is a very cute library. Regards, Yitz