首页
社区
课程
招聘
[原创]哲学问题3:“拍卖结束了没?”
发表于: 2012-7-13 23:47 14120

[原创]哲学问题3:“拍卖结束了没?”

2012-7-13 23:47
14120

哲学问题3:“拍卖结束了没?”

在大约10年前,易趣网(Eachnet)还很风行的时候,我也写过一个拍卖(Auctions)平台。

在编写程序时,遇到一个问题。

比如一个卖家(Seller),把他/她所想要卖出的商品项目(Item)的拍卖结束时间设定为某日13:00,那么,从他/她开启拍卖项目时起,截至那个13:00时刻,都是各位竞买者(Bidder)自由下标竞拍的有效(Available)时间。13:00时刻一过,则该Item的状态为“Auction Ends”。

那么,对于某一个Item,就有两种基本状态: 要么是Available,要么是 Ends。

前者对于竞买者来说,意味着可以随意下标;后者对于竞买者来说,则宣告他/她不能再下标。

那么,程序如何告诉访问者(包括竞买者和卖家和guest),某个Item是Available还是 Ends呢?

从数学上看,Available或Ends这个状态值,是时刻的函数。那么,可以把这个函数值算出来(自变量是当前的时刻,比较项是某个确定的时刻比如13:00),保存在一个变量里,令访问者可以随时由程序告诉他们这个变量的值。

问题是,如果这个变量能真实地反映出该Item在每时每刻的状态(以备随时响应访问者)的话,就需要程序无时不刻地不在进行这个函数计算。也就是说,程序必须在时间轴上连续地、密致地进行计算。

这样一来,就算是拍卖网站上连个鬼都不来,网站程序仍然要日以继夜、一刻不停地进行运算。这样的话,开销就太大了,而且纯粹浪费运算资源。

于是,我想到了一个办法。既然某个Item的 Available或Ends这个状态值,是用来告诉访问者的,那么,为什么不可以在访问者,访问这个Item的当时之瞬间,进行这个函数计算呢?

具体地说,是这样的:

02:00 ——  卖家开启Auction Item,设定结束时刻为13:00。该Item的状态值设定为Available。
03:00 ——  某个竞买者访问该Item。程序在这一瞬间,将当前时刻与13:00比较,计算出该Item的状态值为Available。该竞买者可以自由下标。数据库中该Item的状态值为Available。
04:00  ——  又一个竞买者访问该Item。发生的事情同前。数据库中该Item的状态值为Available。
……
……  }—— 无人访问。数据库中该Item的状态值为Available。
……
12:50  ——  又一个竞买者访问该Item。发生的事情同前。数据库中该Item的状态值为Available。
12:55  —— 无人访问。数据库中该Item的状态值为Available。
13:00  —— 无人访问。数据库中该Item的状态值为Available。
13:01  —— 无人访问。数据库中该Item的状态值为Available。
14:00  —— 无人访问。数据库中该Item的状态值为Available。
15:00  —— 有人访问(不论是竞买者还是卖家或是guest)。程序在这一瞬间,将当前时刻与13:00比较,计算出该Item的状态值为Ends。任何人不能再下标了。自此往后,该Item的状态值永远为Ends。

也就是说,该Item的状态值,从Available变更为Ends,是由一个外部访问所触发导致的。反过来说,如果always没有外部访问,这个状态值,将永远保持Available,哪怕到世界末日,亦然如此,永恒不变。

这件事情,对于编写程序的我来说,是知道个中“奥秘”的。然而,对于一切使用程序的访问者(所谓“外人”)来说,这件事情则完全是透明的。他们不必在13:00时刻之后关心网站数据库中那个Item的状态值,到底是不是Ends。他们若想验证,只需上网站打开网页,一看便知 —— 程序立刻就会告诉他/她:Ends!

面向一切访问者,程序总是能在任何时刻,反馈出符合Item真实情况的、正确的状态值,永不出错。

这件事情,会启发我们这样一些问题:

(1)如果说,这样的程序是在利用某种“骗术”的话,那么,访问者是否能够确切地洞知,程序是“欺骗性”的,还是“忠实性”的呢?

(2)如果程序“自己”,能够“骗”过一切人,包括编写这个程序的我本人的话,那么,这对于我们地球人来说,意味着什么……?

===== ===== ===== =====

(3)对于这个帖子,我早就想到了,各位网友、大虾,会提到“观察者模式/逆观察者模式”、“薛定谔的猫咪”、“波函数坍缩”、“双缝实验”、“惠勒延迟选择实验”……等等话题。这些话题,早就被大家讨论烂了,而我最关心的问题之一,实际上是下面这个:

在上述的实例中,我在编写程序时,之所以采用“骗术”,是迫于对一个现实因素的考量,即:我的网站计算机运算资源有限,以及实际的计算机,对于时间不可能做无限细分的运算。其实,这就引入了一个范畴:经济性。

这种“骗术”,是可以满足“向所有访问者反馈正确信息”这个要求的,极尽经济性的实现。

那么,容我大胆地推广一下,我们的造物主 —— 上帝,是否也会出于经济性,向我们施行这种“骗术”?

比如说,当一切受造主体(凡有需求他物存在的一切主体)在某一时刻,完全“不需要”月亮的“存在”的话,那么,此刻,上帝是否会“收回”月亮?即释放月亮令其他一切受造物感知其存在的资源?

意见分正反两方面:

(正方)是的。释放资源,是经济性的体现,是上帝伟大智慧之所在。

(反方)不会。在上帝手中,资源无限。祂毫不吝啬于万有。如果说,释放资源是经济性的体现的话,那么,释放资源需要多一道操作。这多一道操作,是不是也要耗费资源?上帝会在月亮的资源与释放该资源的操作上所耗费的资源之间,做一个权衡吗?如果要做权衡,岂不是需要一个算法?应用算法,是不是也要耗费资源?算法在上帝智慧库中的存储,是不是也要耗费资源?上帝是不是要在这个智慧库资源与月亮的资源之间,做一个权衡?如果要做权衡,岂不是需要一个算法?应用算法,是不是也要耗费资源?算法在上帝智慧库中的存储,是不是也要耗费资源?……当上帝预见一切受造物将永恒不再需要月亮存在时,根据经济性,必定也要释放那些(其实是无穷的)算法的资源。那么,释放资源需要多无穷道操作。这无穷道操作,是不是也要耗费无穷的资源?…… 所以,事实一定是:在上帝那里,无所谓资源的大小尺度,也不存在经济性这个范畴。

(正方反驳)既然你强调上帝手中资源无限,那么,这是不是可以意味着:上帝完全可以利用这无限的资源,进行无限的操作呢?如果不是的话,上帝手中无限的资源,还有什么意义呢?

(反方再反驳)无限的资源,意味着上帝没有必要做那些事情!

(正方再再反驳)既然你说到了“没有必要”,这不就是经济性的体现吗?

问题还远远没有结束……

上帝或许不会因着考虑手中资源的多寡,来释放某个资源,但祂毕竟有这个权利。比如说,时间是祂创造的,祂或许在某一时刻,释放了对于绝大多数人的时间存在资源,惟独为一小部分人保留了时间的存在(让他们经历时间的流逝,那真是和上帝亲密相处的美好时光呀!)。那么,当绝大多数人重新获得时间的存在的时候,他们什么也不知道,甚至无法用时间来量度这个“间断”的存在。但那一小部分人,却知道到底发生了什么……

是否会有那么一小部分人,亲身经历了一次上帝那边的事情,成为“上帝的人”(好像那些站在程序员身后,窥看到他如何编写“骗术”代码的“内部人士”一样)?当然,这样的一小部分人,要承受着被世人视其为“另类”的痛苦。


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 6
支持
分享
最新回复 (30)
雪    币: 157
活跃值: (35)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
2
1+1永远是等于2的.
2012-7-14 00:34
0
雪    币: 471
活跃值: (207)
能力值: ( LV9,RANK:220 )
在线值:
发帖
回帖
粉丝
3
当上帝从我们的意识中,抽走“等于”这个观念的时候,会发生什么……?
2012-7-14 02:35
0
雪    币: 8858
活跃值: (18510)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
4
你知道的太多了
2012-7-14 09:27
0
雪    币: 165
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
有点意思,但没人知道上帝存不存在。
2012-7-14 10:07
0
雪    币: 6075
活跃值: (2236)
能力值: (RANK:1060 )
在线值:
发帖
回帖
粉丝
6
民科蓬勃发展
2012-7-14 12:52
0
雪    币: 316
活跃值: (128)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
7
哲学家永远都是讲废话来着,企业家永远都是想着赚钱来着.万物之理-钱.
2012-7-14 12:56
0
雪    币: 142
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
那个例子,常规解法本来就是用第二种:需要的时候临时计算所属状态.
怎么就能扯的这么复杂呢?
2012-7-14 14:29
0
雪    币: 290
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
十年后的今天,这个算法不合时宜了,同时有十万个人访问,服务器要计算十万次
2012-7-15 15:43
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
这个例子不如描述量子行为来得直白
2012-7-16 19:14
0
雪    币: 107
活跃值: (404)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
有点意思啊。。
2012-7-16 21:19
0
雪    币: 6970
活跃值: (2805)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
兄弟,你已经走火入魔了。走小胡同里了。等你走出来,在看看,就懂了。
2012-7-16 22:48
0
雪    币: 471
活跃值: (207)
能力值: ( LV9,RANK:220 )
在线值:
发帖
回帖
粉丝
13
大哥,我把“上帝”一词抽掉,应该就不算“走火入魔”吧?

一些被认为是“先验”的基本观念,比如“等于”,在一些人的大脑中脱失,是很常见的事情。

在吸毒人群(尤其是对苯丙胺类、麦角二乙酰胺等等成瘾)中,这是普遍存在的。

麦角二乙酰胺即LSD。LSD滥用族群坚信,该药物是获得创作灵感的不二泉源。

S. Jobs是最著名的LSD滥用者之一。

现在大家手上拿着的被视为时尚符号的iPhone,说白了,就是这种“走火入魔”的直接产物。
2012-7-17 03:25
0
雪    币: 1579
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
楼主思想真的好强大,我等小辈佩服啊。看来你有扎实的数学和物理功底啊,看见“观察者模式/逆观察者模式”、“薛定谔的猫咪”、“波函数坍缩”、“双缝实验”、“惠勒延迟选择实验”…… 这么多你居然都之后。最后一个我还真没听过呢。厉害,我膜拜一下   其实哲学都来源于数学,计算机也来源于数学,一切都来源于数学。所以你由计算机问题想到哲学问题,这是大智慧的体现啊。这就是编程学到很高的水平了,像我这种代码都不认识几个的人还达不到,希望有一天可以达到楼主的水平来和楼主探讨这些哲学问题。  我只是会一点相对论,时间和空间的相对性,绝对性。经典的问题是双生佯谬,真的很有趣。
2012-7-17 09:23
0
雪    币: 629
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
楼主思维很发散,知识面也广,像波函数坍缩,薛定谔之猫,以前都不知道的……
膜拜……
2012-7-17 10:41
0
雪    币: 1370
活跃值: (2351)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
16
看了一下,感觉网站如果有人来访问,然后就验证访问的时间是否过了13:00。如果过了就把“有效”状态变成无效。如果永远没有人来访问,那状态就是永远“有效".
2012-7-17 10:55
0
雪    币: 316
活跃值: (128)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
17
呵呵,萝卜青菜,各有所爱,要是都是搞哲学的,那微软早就饿死了.
2012-7-17 11:06
0
雪    币: 275
活跃值: (51)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
18
宏观的东西是不是也像微观的粒子一样不不去观测就是不确定的?我觉得并不是,微观世界和人类的宏观世界并不同,但是宇宙的情况可能会跟粒子类似
2012-7-17 16:50
0
雪    币: 181
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
首先 这个比较简单 我看懂了

1 局限性太高:LZ讨论的哲学问题,仅仅是面向有编程知识基础的人的哲学问题。“函数,自变量,变量。”你不解释 没接触过编程的人看不懂。

2 应该说程序是死的。计算机是弱智。所以不能说程序是在利用什么骗术,而是算法摆在那里,程序只是在机械地执行,无人访问 永远不会触发 item的end属性。访问者在对于算法一无所知的情形下,当然发现不了其中的猫腻——机器实际上是弱智(13:00已过,无人问津该item的情况下,程序给出的永远是错误的结果)

3 我与LZ的世界观根本不同:程序永远不可能骗过人,更不可能“骗”过程序员本身。哪怕这个“骗”是加了引号的。程序的实质根本就是因人而生。有很多不懂电脑的人,面对着复杂的电脑问题,常常抱怨,电脑太复杂了,太难了,太智能了,我理解不了。每次看到这些人我就会告诉他们,其实电脑跟你比就是弱智,你比电脑聪明一万万倍呢,不要觉得你无法战胜它。你的不足是因为你缺少那些给电脑编程的人所掌握的知识,也就是说你比不过其实是人,而不是机器。

所以,接下来LZ所说的对地球人来说 意味着什么。。。这话 我认为是无病呻吟(不好意思)

4  虽然LZ把骗术二字一再加以引号,我仍然不敢苟同。电脑做事的方式本来就与人脑完全不同的俩中方式。电脑不懂得随机应变,只会永不疲倦,机械地执行人给它编写的指令,它的报酬仅仅是需要获取电能。所以编程就要按照电脑的脾性做事。为了达到这个目的,所谓的人类所理解的“骗术”在程序中就是普遍存在的现象了。把骗术二字的含义硬往人类的世界中靠拢是不合理的。

5我不懂的宗教 但就程序员与电脑的关系来说 一个是生命体,一个是机械体。而我理解的上帝与人类的关系 应该都属于有生命的 这和前者完全不同。你硬是把生命体给机械体下“骗术”这种关系推广到上帝与人类里。所以你后面其他都在写上帝的事,我也不好评论了
2012-7-17 17:19
0
雪    币: 181
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
“控制自己的欲望,认识自己的无知。做自己的主人。”——苏格拉底

哲学家讲的怎么可能是废话??!!!

只有那些把世界中的普遍真理 越说越复杂 的伪哲学家 才会让人感到头大。

真理往往都是最简单的,绝不啰嗦,甚至都不用说话。天不言自高,地不言自厚。太阳每日东升西落。亘古不变。可曾何言?
2012-7-17 17:38
0
雪    币: 31
活跃值: (48)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
21
感觉楼主的这种"等到被访问时再计算"有局限性,假如同一分钟内,商品被访问1万次,那么需要做无谓的9999次计算,个人认为最好根据具体情况来设计。
2012-7-17 18:13
0
雪    币: 471
活跃值: (207)
能力值: ( LV9,RANK:220 )
在线值:
发帖
回帖
粉丝
22
“1分钟内”,这是时间(时刻与时刻之间的间隔),而Auction结束,是一个时刻。严格地说,在不同时刻进入Item访问,就应该根据访问时刻来做计算(当然,现实中的计算机不能把时间无限细分),除非:

某一次计算结果为“Ends”,那么,Item状态将永远是Ends,以后永远不用再计算了。

这在原帖中,都已经说明清楚了。

呵呵:)
2012-7-17 18:35
0
雪    币: 8
活跃值: (33)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
23
钦佩楼主的思维··太活跃了
2012-7-17 22:57
0
雪    币: 4399
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
Is the moon there when nobody looks?
上学的时候喜欢这些问题,但是工作上还是实际的运算来的更重要一些。理论物理学的基础也是数学运算,仅仅讨论现象的结果没有多大的意义。
2012-7-19 11:12
0
雪    币: 1233
活跃值: (907)
能力值: ( LV12,RANK:750 )
在线值:
发帖
回帖
粉丝
25
感觉扯得远了,怎么着也搞个复杂点的问题,例如
分布式选举算法-Paxos  这个就很有讨论的价值
2012-7-19 11:52
0
游客
登录 | 注册 方可回帖
返回
//