波函数坍缩算法(波函数坍缩算法实现)

波函数坍缩算法(波函数坍缩算法实现)

技术教程gslnedu2025-07-25 18:13:113A+A-

波函数:

跟时间有关,量子力学中描写微观系统状态的函数,是一种概率波。其模的平方代表粒子在该处出现的概率密度:指的是事件随机发生的几率,等于一段区间的概率除以该段区间的长度(反应了在某一点附件的密集程度)。在T时刻,在一个半径为R的球形空间中(一个区域内)能够找到该粒子的概率。

波函数坍缩:

如果将其定义到我们拼接图片,那就是在一个区域内能不能找到另外一张图片(波函数)与已有图片进行拼接,如果有那就是坍缩状态,没有那就无法坍缩。

波函数坍缩算法步骤:

1、读取输入地位图(还是根据图像处理的方法,即提取图像的像素矩阵),得到数个N乘N尺寸图案(原始图案进行旋转和翻折就定义为新的图案)

2、创建一个列表来容纳结果(这个列表可以称为波),其中的每一个元素都代表了一个图案的状态。状态将被存储为:与图案一一对应的布尔类型系数,false表示对应的图案是禁用的,true表示的图案则还没有被禁用。

3、将列表初始化为未被观测的状态,可以首先将所有元素的布尔值均设为true。

4、循环:

1)观察:从结果中找出一个元素,该元素对应的熵相对于别的元素最小但非0。如果没有这样的元素(熵值全部为0,或者熵值无法计算),那么此次循环将被调出,直接到下一步。如果找到了这样的元素,就可以将这个元素根据系数与图案的分布而坍缩为一个具体的状态。

2)传播:将上一步得到的信息进行传播

5、当第4步完成以后,所有的元素要么进入了“可以被观测的状态”(即只有一个系数是true,其余全部是false),要么进入一个“矛盾状态”(所有系数都是false)。这种情况表示:前者能够返回结果,后者只能失败。

对于规则图片的处理思路:

对导入的所有二维图片,提取其四周的像素点,在Matlab中提取到该像素点以后,得到的是一个像素矩阵。如果对已知图片的右边进行匹配(面朝图片),则可以将已知图片对应的像素矩阵的最右边一排的数字提取出来放到一个列向量中,然后逐一将其它图片的最左边一排的数字提取出来放到一个列向量中,对两个矩阵求均方差,当该值满足要求时(给定一个误差值),选择其中熵值最低的那张进行匹配。

求熵的方法:

权重:第i张图形出现的概率×第i张图片的第n个各状态出现的概率。权重总和:所有权重加起来,初始值为1,随着被选定的图片增多,该值会发生变化。熵值的大小:简单点说就是给定一个图片,与其进行配对的图片如果能和多个给定的图片进行配对那就是熵值大,否则就是小。


对不规则图片的处理:

给定基本构建块,构建块的颜色相同,那么就不能使用图像处理的方法。基于此,给定邻接规则,比如两个L不能进行连接,或者T的右边能与+的左边相连,并将该规则手动输入到数组或者数据库中。编号:对输入到数据库中的形状进行编号,比如T2,表示构建块T的第2种形状。

将已知的所有构建块都分别建立4个数组,在这4个数组中分别输入与其匹配的构建块。当给定一个构建块时,则可以判断这个构建块是属于那个数组,然后根据最小熵规则选择构建块,并将其放到其该去的位置。比如建立一个N*N的节点网格,将已知构建块放在中心位置,中心位置的索引为(N/2,N/2),则该匹配到的构建块的索引位置就应该是(N/2+1,N/2)或(N/2-1,N/2)或(N/2,N/2+1)或(N/2,N/2-1)中的一个。如果一下子需要匹配两个关节点,选择最小熵构建块,同时查看该构建块是否在另外一个数组中,如果在熵值是否够小。

点击这里复制本文地址 以上内容由朽木教程网整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!
qrcode

朽木教程网 © All Rights Reserved.  蜀ICP备2024111239号-8