液流也是流——反应池与逻辑门
03/25214 浏览
前言:
基于反应池特性的自动控制开关设计
书接上回,基于反应池特性,我们就可以利用断电的反应池获得基础逻辑门“电”路:与门,或门,非门。
一,设置0和1
反应池内部存在空位,如果物品(或液体)A路过反应池但不停留,则反应池内空位保留,将此设为输入A=0。
相反,如果反应池内部空位被A占据,将此设为输入A=1。
即,占位则为输入1,没占位则为输入0。
(比如,将砂叶和清水都输入反应池,并且都没流出反应池,则视为输入了11;如果设置了清水流出口,没设置砂叶流出,砂叶占位而清水不占位,则视为输入了10;如果设置了二者的流出口,二者正常流出,二者都不占位,则视为输入了00。)
输出则需要借助另一种不同的液体(物品)C,如果C正常通过反应池,则视为输出1,如果不能正常通过反应池,则视为输出0。
二,非门
之所以第一个先介绍非门,是因为这个最简单,4矿占位处理的反应池本身就是一个非门,输入1则输出0,输入0则输出1。

清水占位,芽针液不能通过反应池
而如果想要做到输1,然后在连接的下一个逻辑门依然保持输1,有两种解决方案,方案一是再连一个非门反应池,方案二是排布管道,将1变0,将0变1,然后再“输入”下一个逻辑门反应池。

左侧反应池输入0,输出1,右侧反应池输入1

当左侧反应池输出0时,右侧反应池输入1
具体流动过程分析可以看前言篇。
三,或门
4矿占位的反应池也可以是或非门(11=0,10=0,01=0,00=1)。比如输入砂叶和清水,靠芽针液输出,只要砂叶和清水有一个输入=1,那么芽针液输出=0。
或非门只要连一个非门就可以变成或门,亦或者靠排线改变下一级输入值。

右侧反应池代表或门的下一级逻辑门。(靠得有点紧,可以再隔开一格的)
四,与门
放置上跟或门一样,内部处理是3矿占位。3矿占位处理的反应池本质上就是与非门(11=0,10=1,01=1,00=1),经过跟或非门一样的变化后变为与门

三矿占位后,ABC三物争夺剩余两空,实现“与非”逻辑
五,异或门
这玩意儿可以用5个与非门级联实现(理论上4个就可以,也可以摆出来,但是我感觉延迟比较大)
输入信号A,B;输出信号C。那么
C=[A与非(A与非B)]与非[B与非(A与非B)]

右侧备注是各循环线路所需的液体(物品)。右上角反应池忘记接最终输出信号的管道了,在下图红线的位置。

物流短带是输入信号A,蓝线管道是输入信号B,红线管道是输出信号C。
最好不同颜色线标记的管道走不同的液体(走红线的液体可以与走蓝线的液体相同)。
上面使用的方案是用一个物品和一种液体作为输入信号,用另一种液体作为输出信号。实际上,也可以改一下管道线路,使用液+液作为输入信号,将物品作为输出信号。
另外,这种异或门的搭建是基于断电反应池的与非门特性。未来版本更新出新的反应池配方后,可以用单独一个通电的反应池实现异或门功能。思路如下:
反应池内有足够空位时可进行多个反应
反应池只有5个空位
如果有反应:a+b=c+d,e+f=g+h(只要a,b,e,f不相同即可)
那么我们预输入足量b和f,此时单独输入a或单独输入e,都会因为发生反应占据所有空位,输出信号0。如果同时输入a和e,因为空间不足,两个反应都无法发生,剩余一个空位,输出信号1。都不输入,自然输出信号1。
这样我们就得到了同或门,经过排线或者串个非门,就能得到异或门。
(现版本的反应太少,应该无法实现上述过程。)

