Ekstrahere resultat fra komparativ afstemning
Jeg har en tabel, 'stemmer', som indeholder kolonnerne 'vinder' og 'taber'. Datatypen er ikke vigtig her.Den bliver fyldt med stemmer fra brugere, der vælger hvilken af to tilfældigt udvalgte kandidater de bedst kan lide.
Lad os tage et simpelt eksempel på indholdet af tabellen:
vinder taber
--------------------------------------------
cola cola light
sprite cola light
appelsinvand cola
Som den skarpe ekspert nok vil lægge mærke til, er det ikke nok blot at tælle antallet af sejre/tab for en kandidat. Nej, så ville cola og appelsinvand ligge side om side, men det er jo ikke det brugerne har stemt.
Jeg vil have en resultatsliste i stil med denne:
relativ score kandidat
--------------------------------------------
0 cola light
1 cola
1 sprite
2 appelsinvand
Den er let nok at komme frem til i hovedet, ikke?
Lad os tage et mere irriterende eksempel, der har mere med virkeligheden at gøre:
vinder taber
--------------------------------------------
1 cola cola light
2 cola cola light
3 cola light cola
4 sprite cola
5 appelsinvand sprite
6 cola appelsinvand
7 rød sodavand cola
8 sportsvand danskvand
Her er tre irritationsmomenter:
- I de tre første rækker er brugerne ikke enige om hvad er bedst, men den ene kandidat vinder dog mere end den anden.
- I rækkerne 4,5,6 er de alle sammen bedre end hinanden, på en M.C. Escher-agtig måde.
- Kandidaterne i række 8 bliver slet ikke sammenlignet med resten, og kan derfor ikke vurderes i forhold til dem.
Jeg er ikke sikker i min sag, men jeg kunne forestille mig et resultat i stil med følgende:
gruppe relativ score kandidat
--------------------------------------------
0 0 cola light
0 0,67 cola
0 0,67 sprite
0 0,67 appelsinvand
0 1,67 rød sodavand
1 0 danskvand
1 1 sportsvand
Så er der blot tilbage at spørge: Hvordan tvinger jeg et sådan resultat ud af min database?