双缝干涉实验很简单地说明了我们的宇宙就是一台计算机。

电子在没有观测的时候是波,在有观测的时候是粒子,从物理常识的角度上看,似是一件确实奇怪的事,但从程序角度看,只是几行代码就能解释的事。

楼主 bhl_kg888  发布于 2018-12-07 09:42:00 +0800 CST  
观测者就是一个布尔类型的变量,如果存在就是true,如果不存在就是false,整个事件可以看做是宇宙监听事件中的某一个事件,通过类似addEventListener()这个方法的运行机制执行,在普朗克时间的尺度下执行类似setInterval()的方法进行间歇性调用自定义的电子函数。

楼主 bhl_kg888  发布于 2018-12-07 09:48:00 +0800 CST  
每一个特定的对象,本质都是一个构造函数,比如电子,光子,质子,而每一个电子,都是构造函数的实例化对象,可以产生无数多个实例。

楼主 bhl_kg888  发布于 2018-12-07 10:11:00 +0800 CST  
比如电子来说,我们就可以在构造函数中定义好它的各种属性和行为,然后进行实例化,这样就能产生无数的电子。
function e(m,q.....){this.m=m; this.q=q; this.t=function(b){if(b==true) {return wave} else {return particle} } }
var e1=new e(m,q....)
var e2=new e(m,q....)
.....
var en=new e(m,q....)

楼主 bhl_kg888  发布于 2018-12-07 10:14:00 +0800 CST  
前面代码里只是大致的代码,怎么解释双缝干涉中电子在有观察者的时候波坍缩变成粒子呢,我们假定在构造函数中事先写明了决定是波还是粒子的参数b=true,就是说在电子实例中,只要b还是true,那就是波。但是现在,电子在飞行穿过空隙过程中,突然被观察,可以看做调用了判断是波还是粒子的方法e1.t(!b),这样得到一个值particle,再用这个值覆盖自身属性,表示变成了粒子的特性。

楼主 bhl_kg888  发布于 2018-12-07 10:29:00 +0800 CST  
得到particle,后它会作为一个参数,带入电子的波的函数方法中,就等于激活了波的特性。

楼主 bhl_kg888  发布于 2018-12-07 10:35:00 +0800 CST  
回到电子的构造函数中来,注册监听事件,让宇宙来监听这个电子的行为,你可以看作每一个实例化后的电子都被宇宙密切关注着,我把这个宇宙暂且以上帝的单词god命名,那么就有:function e(m,q.....){this.m=m; this.q=q; this.t=function(b){if(b==true) { return wave } else { return particle } } ; god.addEventListener('option',this.t.bind(this),false); }
看到了吗?只需在构造函数中注册一下监听器就能实现,这在代码的世界中很简单,其中option表示电子是波还是粒子的行为的触发事件名称,this.t就表示电子是波还是粒子的原始方法,bind(this)就表示绑定事件。

楼主 bhl_kg888  发布于 2018-12-07 10:52:00 +0800 CST  
var e1_action;

(function universe() {
el_action = setInterval(erun, 普朗克时间);
})();

function erun(...) {
....
} //电子的运行函数


最后,e1_action的值去决定是波还是粒子。
也就是说,你可以在任意时间点去观察电子,都会导致它从波坍缩变成粒子,因为电子的运行函数一直在重复执行,等于电子的“象”一直在刷新。

楼主 bhl_kg888  发布于 2018-12-07 11:05:00 +0800 CST  
接下来我再说说双缝干涉实验中最诡异的延迟选择。
什么叫延迟选择呢?

我举个简单的例子。

比如说,有个朋友来找你,他没有告诉你他是怎么来的,假设他本来是骑小黄车来的,你突然给它打个电话问他怎么过来,他就变成了是开宝马来的,如果在朋友出发前打电话,那还可以理解。
如果等你朋友已经出发了半个小时,突然打电话呢?
不可能小黄车骑着骑着就变宝马了吧?
所以,你的朋友出发时,到底是骑小黄车,还是开宝马呢?这要取决于你后面有没有打电话!
可是,你朋友出发是半个小时之前,那么他在半个小时之前怎么知道你会给他打电话呢?
确实很诡异,是吧?
但是我要告诉大家,程序也可以解决这个延迟选择的问题,那就是异步事件+回溯!

楼主 bhl_kg888  发布于 2018-12-07 12:07:00 +0800 CST  
延迟选择,用事件异步,就可以简单解释成:
function erun(...){ async function visit(){//观察函数
let visit_res=await e_options(el.t(b)); //延迟决定该电子是波还是粒子
let mass= mass(); //赋予电子质量
let quantity =quantity();赋予电子电量
....
function e_options(action_name){ return new Promise((res,rej)=>{
..... if(rej){visit_res=wave; }
..... } }....}
简单就是说,我宇宙管你观察不观察,这个电子我先赋予它质量电量还有速度等各种性质,让它先存在着,再根据你后面是否会观察来决定是波还是粒子,这个我们可以在四维空间中进行回溯来解决。

楼主 bhl_kg888  发布于 2018-12-07 12:48:00 +0800 CST  
什么叫做在四维空间中进行回溯?在理解这个概念之前,我先说明一个最为重要的细节。
前面我写了一个执行函数:(function universe() {el_action = setInterval(e, 普朗克时间);})();
这个函数的意思是,每隔一个普朗克时间周期,宇宙函数都会重新执行一次电子运行函数,这里的e就是前面的erun(),这样电子一旦被观察,就会即刻更新它的属性值,从波变成粒子,但是这只能解释电子运行过程中的坍缩,还不能解释选择延迟的情况。
我们前面说了,宇宙要看你观察不观察电子,来决定电子是波还是粒子,所以!宇宙同时也会观察你!
我们知道电子被宇宙观察,就有之前的句柄:function e(m,q,r....){ ....
god.addEventListener('option',this.t.bind(this),false);
.....}
由于我们和电子都在一个空间,所以我们也一同被宇宙监听了,成为了宇宙的监听对象,就有:
var visit=function visitor(m,q,r....){ ....//宇宙注册电子的观察者的监听事件
god.addEventListener('visitor_option',this.t.bind(this),false);
.....}
最后的重点来了,第三个参数false是什么呢?我前面没有解释,现在解释一下, 如果宇宙如果要执行这些所有的监听事件,必然有一个执行顺序,那就可以类比为:true表示顺时针执行事件,false表示执行逆时针执行事件!
顺时针表示在四维时空中顺流而下,逆时针表示在四维时空中逆流而上,也就是回溯!
这样,我们在异步等待返回值的时候,通过回溯观察者事件,得到你的观察行为参数visit,然后把visit传递给33楼中定义的方法e_options();
接着就异步调用,visit_res就有返回值了,也就是说电子初始状态就是粒子了。

楼主 bhl_kg888  发布于 2018-12-07 13:33:00 +0800 CST  
不能理解34楼的,我拿之前举得朋友开车还是骑小黄车的例子来简单说明一下,因为在整个系统中, 你并不是最高级的观察者,最高级的观察者是宇宙!所以你本身也变成了宇宙的观察对象,而宇宙拥有在四维时空中进行回溯计算的能力,你可以简单理解为顺时针和逆时针观察你,就好比他看电影时能用遥控器做到正放和倒放一样。
所以,虽然你打电话虽然发生在你朋友出发的半个小时之后,你朋友仍然可以变成是开宝马出发的,因为你和你的朋友是一个系统,同时被宇宙监听!你门两个是纠缠的,绑定在一起的事件!

楼主 bhl_kg888  发布于 2018-12-07 13:38:00 +0800 CST  
观察者和电子的事件被绑定在一起组成单系统,最高观察者--“宇宙” 在四维时空中进行回溯执行事件,这些都是编程概念,就是我为什么说双缝干涉说明我们的宇宙很可能是计算机程序模型的原因,因为这个从物理角度是无法解释或者解释很别扭的,当然,这只能算是猜测,只是从程序的角度来看,可能性不是一点也没有。

楼主 bhl_kg888  发布于 2018-12-07 13:49:00 +0800 CST  
还没有发生的事情,可以影响到现在正在发生的事情,这在常识的因果上看起来有些诡异,也难怪双缝干涉实验难倒了很多科学家,但从编程角度却能解释得很好,事件队列逆时针回溯执行,就能解决延迟选择这个大问题,避开了因果颠倒的矛盾漩涡。

楼主 bhl_kg888  发布于 2018-12-07 13:58:00 +0800 CST  
最简单的理解就是:
事件1:电子是波还是粒子。(先)
事件2:你去观察电子(执行事件1)。(后)
宇宙作为最大观察者,逆时针回溯执行事件队列,就变成了:先执行事件2,后执行事件1,这样事件1就得到了异步等待返回的结果,成功决定了是波还是粒子。

楼主 bhl_kg888  发布于 2018-12-07 14:11:00 +0800 CST  
进一步的理解就是:
{
事件1:电子是波还是粒子。(先)
事件2:你去观察电子(执行事件1)。(后)
}
事件3:今天吃鸡。
事件4:明天喝可乐。
.....
宇宙作为最大观察者,逆时针回溯执行组成了绑定系统的事件队列(“{ }”表示绑定系统),就变成了:先执行绑定系统的事件队列,再顺时针执行其他的无关事件。
那么这样来看,就丝毫不会影响因果定律,很好解释选择延迟的现象了。

楼主 bhl_kg888  发布于 2018-12-07 14:17:00 +0800 CST  
逆时针执行绑定的事件队列,也可以解决穿越时空带来的外祖母悖论的问题(这里不考虑平行宇宙的解释)。
先看正常事件是什么样的:
事件1(12月7号):喝可乐,事件2(12月8号):吃香蕉,事件3(12月9号):裸奔,事件4(12月10号):中彩票
由于上述事件不存在因果纠缠关系,所以不会被宇宙注册为单独的绑定事件系统,所以宇宙解释器顺序执行。
现在来看外祖母悖论问题:
事件1(1950年):你外祖母出生了,事件2(1975年):你妈妈出生了,事件3(1995年):你出生了,
事件4(2018年):你乘坐时光机返回1950年,事件5(1950年):你要杀了你外祖母。
在这里,事件4到事件5,形成了纠缠事件,会被宇宙注册为单独的绑定事件系统,宇宙解释器逆时针执行。
由于你要乘坐时光机返回1950年,那么你在时空中是逆向行驶。
而宇宙解释器也是逆时针执行!
所以负负得正!
所以你只要有杀外祖母的动机,就无论如何也不能返回到1950年,因为宇宙解释器逆时针执行事件,阻碍了你进行时光穿梭的行为!

楼主 bhl_kg888  发布于 2018-12-07 15:02:00 +0800 CST  
每一个纠缠的事件,都会被放入一个特殊的块级作用域,并被绑定为一个单独的事件队列系统,只有这个作用域中的事件被逆向执行,得到返回结果后,再并入外层作用域,同外层事件进行顺序执行,这时双缝干涉实验透露的一种很有可能的宇宙解释器运行方式。

楼主 bhl_kg888  发布于 2018-12-07 15:19:00 +0800 CST  
另外,如果我们的宇宙真的是一台计算机,那么所谓的灵魂,可能也可以解释了,我们可以把每一个灵魂元素看作独特的值,对于这类不能随意更改的值,可以用const定义。
这和一般定义的值有什么区别呢?
比如你是you,而你的值是100,假设又是表示内存地址100,大自然要对你来个循环递增:for(....){int you=100; you++; } 这样you可以变成101,102,103,内存地址变了,你还是你吗? 你就不再是你了。
但是如果在前面加上const,会怎样呢?
const int you=100,这个表示int you是一个常量,编译器在编译的时候,无法修改你的值,这样你就始终是100,而不会变成101,102,103了,,,,
所以,我可以理解所谓的灵魂就是一连串不重复的常量,每一个常量都是不能被修改的,至始至终固定的值。
每一个常量进入一个生命函数,就对映射出每一个生命对象。
花函数(100),草函数(101),人类函数(102),鲨鱼函数(10086),每一个生命函数执行的过程,就是生命诞生的过程,每一个生命函数销毁的过程,就是死亡的过程。

楼主 bhl_kg888  发布于 2018-12-07 16:09:00 +0800 CST  
最简单的生命模拟过程.....
function spirit(me,love,hate...)//构造灵魂
{
this.me=me;
this.love=love;
this.hate=hate;
...
return this;
}
function body(bone,eyes,heart,brain...) 构造肉体
{
this.bone=function(number,size,hardness...){..otherfun() ..return ..};
this.eyes=function(number,size,color...){..otherfun() ..return ..};
this.heart=function(number,size,f...){..otherfun()..return..};
this.brain=function(number,size,node...){..otherfun()..return..};
...
return this;
}


var zhangsan_spirit=new spirit(me,love,hate...);//张三的灵魂对象。


var zhangsan_body=new body(bone(...),eyes(...),heart(...),brain(...)...);//bone(...)中的“...”表示参数,骨头的硬度,数量,大小等等。


var zhangsan=Object.assign(zhangsan_spirit, zhangsan_body);//合并张三的肉体和灵魂为一个完整对象。


zhangsan_body.eyes(arguments[2]="red");//把张三眼睛变成红色。


function zhangsan_death(){ //张三的死亡函数
for(var key in zhangsan_body){ delete zhangsan_body[key];}
}
zhangsan_death();//执行


space.log(zhangsan_body)//如果执行成功,张三的肉体会消失,留下一个空的Object,但灵魂仍在。

楼主 bhl_kg888  发布于 2018-12-07 17:51:00 +0800 CST  

楼主:bhl_kg888

字数:6814

发表时间:2018-12-07 17:42:00 +0800 CST

更新时间:2020-09-18 16:03:06 +0800 CST

评论数:387条评论

帖子来源:百度贴吧  访问原帖

 

热门帖子

随机列表

大家在看