Reddit bytter om på to variable for at rette misvisende algoritme

Den brugerdrevne nyhedstjeneste/debatforum Reddit.com bygger på, at brugerne selv er med til at sørge for, at de mest interessante historier også er dem, man først støder ind i på hjemmesiden. Men algoritmen, som skulle hjælpe til, havde indtil for nylig en væsentlig fejl, skriver Outofscope.com.

Reddits algoritme bygger på, at brugerne kan give en historie en tommelfinger op eller ned. Det bliver brugt til at sortere historierne, så dem med flere op-stemmer end ned-stemmer bliver vist først.

Den del af algoritmen fungerede, som den skulle. Problemet lå imidlertid i måden, som historier med flere ned-stemmer end op-stemmer blev sorteret på.

Ud over antallet af stemmer, bliver historierne også sorteret efter tid, så de nyeste historier står først. Det var imidlertid ikke tilfældet for historier, der var blevet nedstemt. Her blev de nyeste overtrumfet af ældre historier med samme forskel på negative og positive stemmer.

Læs også: Reddit er bygget oven på ulogisk algoritme

Det skyldtes en simpel fortegnsfejl. I den gamle algoritme fik tidsstemplet et negativt fortegn, hvis historien havde fået flest negative stemmer. Men da tidsstemplet for nyere historier er et større heltal end for ældre historier, da tidsstemplet bygger på Unix-tid i sekunder siden 1970, så betød fortegnet, at en ældre historie havde en værdi tættere på 0 end en nyere, og dermed ville den ældre historie blive prioriteret højere.

Den gamle algoritme:

Den nye algoritme:

I den nye algoritme er fortegnet blevet flyttet til at påvirke order-værdien i stedet for tidsstemplet. Det betyder nu, at historier med flest negative stemmer, stadig bliver vist, indtil de enten får rigtigt mange negative stemmer, eller indtil de er forældet.

Reddit ville i første omgang ikke ændre på noget, da der kom kritik af den gamle, ulogiske algoritme, men har altså siden da skiftet mening.

Posted in computer.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>