转:https://www.byvoid.com/zhs/blog/tag/%E7%A8%B7%E4%B8%8B%E5%AD%B8%E5%AE%AE
高维世界与一维价值
高维世界的序关系
说到CPU的性能,几年前,大家在装电脑的时候选购CPU只看主频,频率越高越好。于是英特尔为了迎合市场,推出了奔腾四3.0GHz甚至3.6GHz主频的CPU。后来进入多核时代,大家就看核心数,双核的肯定比单核的好,四核的肯定比双核的好。殊不知CPU的性能好坏有太多的参数,盲目追求高的主频或者核心的数量没有意义。不单单是CPU,想想看大家买数码相机看什么呢?许多人第一反应当然是像素啊。买单反镜头?光圈大小!买汽车?排量!买房?面积!
事实上这个道理浅显易懂,但人们却对它无能为力。作为没有相关知识的普通消费者,面对这个世界纷繁复杂的参数真的是无能为力,于是只好选择一个「公认」的参数作为基准了。
这一切的根源在于,向量和向量是无法比较大小的,只有标量才能比较。向量只能通过一些函数变换到标量才能比较,如模长,或者在某个空间上的投影。世界上的任何一件东西都可以用一个高维向量来表示,但为了获得序关系,我们通常只能把它映射到一个一维空间。在这个过程中,大量的信息都丢失了。对于同一组向量使用不同的函数,获得序关系可以是完全不一样的。
这是一个浅显易懂的道理,而人们却无能为力。因为人们天生倾向于用一个一维的数值来比较一切同类的事物(甚至不同类的事物),但事物天生是高维的。
价值观是一个从高维空间到一维空间的映射
人们经常谈论价值观,譬如价值观不同的人不要在一起,现代社会通过价值观把人分为不同的群体。价值观实际上是一个从高维空间到一维空间的映射,也就是一个高维向量的函数。人们面对纷繁复杂的事物,一个与生俱来的冲动就是对它进行评价,然后与其他事物相互比较。在这个过程中,不同价值观的人使用了不同的函数,因此得出的结果是大相径庭的。
商品的价格与价值
作为一个通用的价值衡量工具,商品的价格成为一个被广泛使用的尺度。价格短期看来反应的是供求的关系,但本质上反映了一个长期的、多人的价值。用数学的语言方式表示,价格是一个高维的泛函(Functional),其中每一维的变量都是一个个体的价值观函数,或者用以下代码(OCaml)表示:
(* 价值观是一个从任意向量到整数的函数 *)
type value = (anything -> int)
(* 价格是一个从多个价值观函数到一个价值观函数的函数(泛函) *)
val price : (values_of_all : value list) -> value
(* 一个简单实现:价格即为所有人价值观的平均值 *)
let price values_of_all =
fun thing ->
let sum = List.fold_left (
fun sum value_function -> sum + (value_function thing)
) 0 values_of_all in
let number_of_people = (List.length values_of_all) in
sum / number_of_people
换人话说,价格反映了全体生产者和消费者的价值观,尽管可能各不相同,但却用一个工具把它们统一了起来,变成了一个单一的可以衡量不同事物的价值的函数。对于一个个体来说,商品的价格可能偏离个人对商品的价值衡量,因此会有感觉便宜或者感觉贵。根据个人是否有钱,个人对价值的衡量也会不同,个人资产可以作为价值观函数的一个其他参数。
用价格衡量价值的方法看似简单粗暴,有诸多弊端,却也有着其他方法无可比拟的优点。其最大的优点就是简单性,因为人类对复杂事物的理解力实在有限。这也是为什么计划经济无法执行的一个原因,因为没有一个把万物映射到一维的函数,或者这个函数取样过于有限,只能反应少数统治者的意愿。
价值多元化
一元价值尽管有着便于比较排序的优点,但却会导致优化目标的单一化。譬如超级计算机只优化LINPACK或其他某个性能,学生为了应付高考成为做题机器,全社会「向钱看」道德沦丧等等。尽管着本身没有什么问题,却会让导致潜在的评估偏差风险。对此,价值多元化的主张被提了出来。价值多元化是把一维的价值标量变为多维向量,也可以理解为是多个价值函数的组合。价值多元化以后,价值本身重新变得不可比较,只能按照维度比较(或者价值向量的函数)。
在我看来,价值多元化没有解决太多的问题,反而丧失了序关系,事实上是一种掩耳盗铃的方法。价值多元化就等于没有价值,只是把一个高维向量映射到了另一个向量,不仅丢失了信息,还无法比较。价值多元化可以当作进一步价值比较的「中间结果」,方便进一步计算而已,最终还是要归结于一维。用金钱衡量一切的一元价值尽管不能解决许多问题,却是人类目前能想到并实践的最有效的方法。但愿会有更好的方式被发明出来。