The varying greenness of grass is frequently used as an analogy to powerful effect, however I would like to go one step further and use the concept as a model. To make it a useful model, we will have to discard your mental picture of The Billy Goats Gruff, sacrificing simplicity for explanatory potential:

Being a Computer Scientist by trade, I propose a discrete model such as an otherwise desolate valley filled with small, uniform patches of grass, each of which has some natural-valued greenness level. (Although the Weber-Fechner Law helps reduce a continuous field, the agent-patch relation should be partial as we shall see.) We are observing the success of agents or "people" whose fitness is determined by the greenness of the patch of grass in which they are located.

Now that we have laid the general framework of the model, it is time to make it do some work for us. In my experience (and a quick count of E2 nodes), the grass analogy is most often used such that patches of grass are analogous to mates and the fitness of an agent is calculated as the happiness in a relationship with that mate. For example, many human customs can be formulated as constraints on the state of the model:

at most one person per at most one patch.
Playing the Field
“I’m between patches right now.”
removing someone from their current location and taking it yourself.
when there's a high cost for you to leave your patch and for someone else to take it.
Love is Blind
it’s easier to measure the greenness of a patch when you’re not standing in it.
Right for Each Other
the greenness of a patch not only changes slowly over time, but also rapidly depending on who’s in it.
Burning Bridges
once you leave a patch, you can never go back.

Now all we need to do is translate all these constraints into code and we can run simulations using various agent strategies (see Can you reach true love? Let’s say yes.). At last, dating will be tractable!