语句存在歧义 可不同解读?
一番焦灼讨论后,双方僵持不下,不过网友们也逐渐开始理性地分析出题者的意图和争议的根源,指出周日或周三都是可以理解的答案。
有网友表示,其实可以想象两条时间线前后交错开来,搞清楚句子里面的“昨天”和“明天”到底是实际上的还是假设中的:
(资料图片仅供参考)
实际时间线:昨天=X,今天=X+1,明天=X+2
假设时间线(就是题目中的“那么今天就是周五了”):昨天=Y,今天=Y+1,明天=Y+2
理解1:如果昨天(X)=明天(Y+2)的话,那今天(Y+1)就是周五,即(Y+1)=5了,那么,解得Y=4,X=6,所以实际上今天(X+1)=7,今天是周日;
理解2:如果昨天(Y)=明天(X+2),那今天(Y+1)就是周五,即(Y+1)=5了,解得X=2,实际上今天(X+1)=3,周三。
该网友补充说,这两种理解不同之处就在于你想象自己现在是处于哪一条时间线上:当我想到“理解1”的时候,是坐在假设时间线的“今天”上,而在想“理解2”的时候自己是坐在实际时间线的“今天”上。
网友列表分析对于此题的两种理解方式。
又是时间线,又是假设,虽然逻辑很对,但似乎更加烧脑了,堪比《星际穿越》。不过更加烧脑的还在后面,程序猿网友前来捧场:
//请看得懂程序的同学看这里
//如果昨天是明天理解成把昨天的值赋给明天
t+1=t-1;//等于号是赋值的意思,也就等价于t=t-2
t=5;
//所以之前的t值是7
//如果昨天是明天理解成把明天的值赋给昨天
t-1=t+1;//也就等价于t=t+2
t=5;
//所以之前的t值是3
有网友吐槽,程序猿叔叔如此计算,把简单的问题复杂化了,有没有通俗的理解呢?澎湃新闻综合多数网友的评论,发现这其实是中文语义上的歧义。就像某网友说的,“周三的场合:如果昨天是周四(明天)就好了。(用明天代替了昨天);周日的场合:如果周六(昨天)是明天就好了。(用昨天代替了明天)。”
同时,网友“徐个个”也指出,这是一个明显带有情绪判断的语句,不能单纯按照“如果昨天=明天”这样的逻辑判断来理解。
该网友说,如果像上面很多答案一样按照公式来算,它们俩没有什么不同。但是从情绪上,却有差别,关键在于“就好了”这三个字:
“如果昨天是明天就好了”,表示的是“希望昨天(已经过去的时间)更快过去”,故此周五尚未到来,今天只是周三;
“如果明天是昨天就好了”,表示的是“希望明天(还未到来的时间)不要到来”,故此周五刚刚过去,今天已经周日。
“徐个个”还称,这个题目本身是有问题的。题目中“昨天是明天就好了”不是一种符合语言习惯的常规说法,纯粹是为了把人绕进去。
网友“iQingyi”也分析称,这个问题生动地说明了中文这种依赖语序(上下文)来解释语义的语言产生歧义的可能更大,(相比于用词态,词格区分解释的语言),作为自然语言,其解读需要更多AI(人工智能),更不适合编程和书写合同/法律等等。英语相对法语也有一样的特点,所以法语被联合国选为书面语言。”
既然是中文语义的歧义,那么英文是否会好一点呢?澎湃新闻发现,该题目并非出自中文,而是一个来源于国外puzzle(类似脑筋急转弯)。英文原版是:“Samuel said if yesterday was tomorrow, today will be Friday. When did Samuel speak?”英语原版是否一样烧脑?