Hick 定律:决策时间随选项数的对数长
它是干嘛的。 从选项个数预测一次选择要花多久,让菜单、选项组、动作栏的规模有证据可依,不凭感觉。
公式。
RT=a+b×log2(n+1)
n 是等可能的选项个数。a 是底子:不用选时的简单反应时间。b 是涨价速度:每 bit 多少毫秒,因人、因任务而异,实验拟合出来的,不是通用常数。
plot。 log 那一项对着 n 画,n 按真实比例排:柱子站在 n = 1,3,7,15,31 真正的位置上,间隔是 2、4、8、16,越往右越开。每根柱子顶上一个点儿,点儿连成的折线越往右越平:这就是走势。
∙∙∙∙∙12345bits1371531n
图例:横轴是选项数 n,按比例画;柱高 = log2(n+1),单位 bit;圆点连成折线
RT = a + b × 柱高
a = 底子:不用选时的反应时间
b = 每 bit 的毫秒数(涨价速度)
柱子在 n = 1,3,7,15,31,按比例排;高度 = log2(n + 1) = 1,2,3,4,5 bit。折线越往右越平:n+1 每翻一倍只多一个 bit,所以越长越慢。
这是什么性质的公式。 经验定律,不是定理,也不是大 O。Hick(1952)和 Hyman(1953)做了选择反应实验,横轴取 log2(n),纵轴是时间,点连出来是一条直线:斜率是 b,截距是 a。大 O 是渐近量级,不管常数、不管小 n;Hick 定律说的是实验范围内时间就按这个函数走,连常数一起拟合。比大 O 强,比定理弱。log2(n) 和 log2(n + 1) 两种写法都有,实质一样。
一个好记的比方。 a 像种族值,是共有的底子;b 像个体值,每人不一样——差别是 b 是速度不是加数:选项少的时候 b 再大也看不出来,选项一多,b 大的人就慢得多。n 根本不是你的属性,是面前的局面,就是摆了几个选项。
实测:Lucerna 阅读页顶栏(2026-10-25 数过)。 顶栏约 14 个动作。14 砍到 7,log 项从 log2(15) 约 3.91 降到 log2(8) = 3,省约 0.91 bit,约是 log 项的 23%。毫秒数需要拟合出来的 b,所以这里只比相对值,跟 fitts-law 里 Fitts 的算法一样。
对家和边界。 对家是 Fitts:Fitts 要目标大,Hick 要选项少,顶栏就是它俩谈判的现场。假设一破,定律就偏:选项不等可能时不能用 log2(n),得用熵;人熟练了、会搜索、会分组、不全扫选项时,log 会高估。
给 agent 的检查清单。读完本节点,按每一条去验界面,验出结果要带证据。
- 数清一个决策点上的选项数,写明 n。
- 算出现在的 n 和方案的 n 各自的 log 项,用 bit 比方案,不凭感觉。
- 选项是不是等可能的?不是的话 log 项就是错的输入,改用熵。
- 用户是不是真全扫选项,还是搜索、分组、直接点熟悉的那个?如果是后者,写明并给 log 打折。
- Fitts 张力:砍选项要在目标尺寸、屏数、藏起来的动作上付什么代价?