> What determines the best pairing? A score will be calculated for your output
> against the input. For each player, the partner is found in the player's
> ordered list, as an index. So, for the above example:
>
>     David: 0
>     Helen: 0
>     Joseph: 0
>     Vicki: 2

What is the penalty for "unwanted" pairings, e.g.

    David: Helen Vicki
    Helen: David
    Joseph: Vicki Helen
    Vicki: David

with output:

    David Joseph
    Helen Vicki

Or is the list of preferences always complete, i.e. it always contains
all other players?