gpt4 book ai didi

algorithm - 比较判断排序算法

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:19:24 25 4
gpt4 key购买 nike

我正在使用 Adaptive Comparative Judgment 进行研究,我会向用户展示两件事,让他们选择哪一件对他们来说更难理解。现在我正在考虑测试 10 个东西,但它会进一步扩展。

我一直在寻找根据每个项目的难度对数据进行排序的方法,并使用 Bradley-Terry 和 Thurstone 的模型进行排序,但它们过于数学化,我无法理解,所以我想知道是否有人做过类似的事情事情并且知道如何着手编写代码来进行这种类型的排序。

举个例子,在这个网站https://nomoremarking.com/demo1有一个颜色测试,它要求用户在两种颜色中选择一种颜色较深的颜色,并自动对结果进行排序。这就是我感兴趣的排序。
谢谢!

最佳答案

在我看来,您希望尽量减少用户必须进行的比较。作为基线,您可以使用插入排序变体来决定在 O(log n) 中插入新项目的最佳位置。下面是一个用 Python 对整数进行排序的示例:

import bisect, random

class InputCompare(object):
def __init__(self, value):
self.value = value
def __lt__(self, other):
print 'Is', other.value, 'greater than', self.value, '? (y/n)',
return raw_input().lower() == 'y'

A = range(8)
random.shuffle(A)

print 'Sorting:', A

B = []
for x in A:
bisect.insort(B, InputCompare(x))

print [x.value for x in B]

该程序询问有关数字对的问题以确定它们的总顺序,如下所示:

Sorting: [4, 7, 2, 6, 1, 5, 0, 3]
Is 4 greater than 7 ? (y/n) n
Is 7 greater than 2 ? (y/n) y
Is 4 greater than 2 ? (y/n) y
Is 4 greater than 6 ? (y/n) n
Is 7 greater than 6 ? (y/n) y
Is 6 greater than 1 ? (y/n) y
Is 4 greater than 1 ? (y/n) y
Is 2 greater than 1 ? (y/n) y
Is 4 greater than 5 ? (y/n) n
Is 7 greater than 5 ? (y/n) y
Is 6 greater than 5 ? (y/n) y
Is 5 greater than 0 ? (y/n) y
Is 2 greater than 0 ? (y/n) y
Is 1 greater than 0 ? (y/n) y
Is 4 greater than 3 ? (y/n) y
Is 1 greater than 3 ? (y/n) n
Is 2 greater than 3 ? (y/n) n
[0, 1, 2, 3, 4, 5, 6, 7]

关于algorithm - 比较判断排序算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35929120/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com