класиране въз основа на потребителските предпочитания

Опитвам се да измисля алгоритъм за следния проблем.

Има набор от N обекта с M различни вариации на всеки обект. Целта е да се намери кой вариант е най-добрият за всеки обект въз основа на обратна връзка от различни потребители.

Накрая потребителите ще бъдат поставени в категория, за да определят коя категория предпочита кой вариант.

Изисква се най-много две вариации на обект да бъдат поставени един до друг.

Проблемът с това е, че ако M е голямо, тогава броят на възможните комбинации става твърде голям и потребителят може да стане незаинтересован и потенциално да изкриви резултатите.

Алгоритъмът/резултатът Elo може да се използва, след като разбера реда на избор от потребителя, както е обсъдено в тази публикация Алгоритъм за класиране, базиран на сравнение

Въпрос:

Има ли алгоритъм, който може да намали броя на възможните комбинации, представени на потребителя, и пак да получи правилен ред?

пример: 7 различни вида плодове. Всеки плод се предлага в 5 различни форми. Потребителите дават своето класиране от 1 до 5 за всеки плод въз основа на размера, който предпочитат. Това означава, че за всеки плод има максимум 10 комбинации, от които потребителят трябва да избира (тъй като размерите са различни, няма смисъл да се представя като {1,1}). Как мога да намаля "10 комбинации"?


person Varun Dave    schedule 14.09.2012    source източник


Отговори (1)


Ако предпочитанията на потребителя винаги са в съответствие с общата поръчка и можете да промените сравненията, за да вземете предвид резултатите от направените досега сравнения, вие просто се нуждаете от ефективен алгоритъм за сортиране. За 5 елемента изглежда, че имате нужда от минимум 7 сравнения - вижте Сортиране на 5 елемента с минимално сравнение на елементи. Можете също така да погледнете http://en.wikipedia.org/wiki/Sorting_network.

Като цяло, когато се опитвате да създадете някакъв експериментален дизайн, често ще откриете, че правенето на произволни сравнения, макар и да не е оптимално, не е твърде далеч от най-добрия възможен отговор.

person mcdowella    schedule 14.09.2012
comment
Не разбирам напълно какво имате предвид под съгласуваност с общ ред. Можете ли да обясните, моля? - person Varun Dave; 14.09.2012
comment
Ако потребителят предпочита A пред B, B пред C и C пред A, тогава един умен алгоритъм за сортиране може да заключи неправилно от първите две предпочитания, че потребителят предпочита A пред C. Това звучи странно, но може да се случи по множество причини - за забавен вижте en.wikipedia.org/wiki/Nontransitive_dice. - person mcdowella; 14.09.2012