非门电路
或门电路
这是两个「简单」的逻辑门,分别实现了将信号翻转的非门和将两路信号做或操作的或门。在另一个也很著名的沙盒游戏——《我的世界(Minecraft)》里面,玩家也可以通过游戏中的材料,红石(其实在此之前的 Windows 10 操作系统的每一年的更新代号就是用红石来命名),实现各种各样的复杂逻辑操作,更有玩家利用红石在 Minecraft 里制造出了真正能运行的计算机。。。
红石计算机,具有完整的寄存器,加法器等部件 [6]
算了,我已经不敢想象扫雷会变成什么样了。。。
判断有没有解都是一件很难的事情
Find solution
回到文章最开始,我们人去破解一个扫雷问题的话,很容易就会死掉了,那把这个问题交给计算机来做会怎么样?然而很遗憾的是,一般情况下,计算机目前对扫雷这个问题还是无能为力。。。
难过
稍微值得庆幸的是,在我们平时玩的比较小的棋盘下,计算机还可以通过搜索得到答案。
为了了解计算机处理问题难度的几个级别,有必要先知道一个概念——多项式时间。对于同一个算法,根据处理问题大小的不同,计算机一般来说需要不同的时间进行计算。用最直观的例子来说,小明要去洗衣服,他洗 1 件衣服的时间为 2 分钟,洗 5 件衣服的时间为 10 分钟,洗 10 件衣服的时间为 20 分钟,处理问题的时间随问题规模的变化为线性关系,一次多项式。现在我们假设小明还是要洗衣服,只不过现在的衣服比较特殊,他洗 1 件这种衣服的时间为 2 分钟,但洗 5 件的时间变为 32 分钟,洗 10 件的时间变为 1024 分钟,这个时候就是指数关系的,而不再是多项式了。评价一个算法,随着问题规模的增大,计算时间怎么增长是一个十分重要的指标。