Avatar billede rosvall Nybegynder
29. januar 2008 - 20:19 Der er 1 løsning

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?
Avatar billede rosvall Nybegynder
30. januar 2008 - 17:41 #1
Aha! Nu fandt jeg ud af, at det jeg roder med her, hedder Tideman Ranked Pairs http://en.wikipedia.org/wiki/Ranked_Pairs , og er en afart af en Condorcet-afstemning.
Nævnte link indeholder både en beskrivelse af systemet og en metode til at regne resultatslisten ud.

Jeg tror bare jeg lukker og slukker.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester