杂论五随笔-卅八

2020-03-25 chapter

2020.3.25 下午 这里构想一下二代实验环境的构建?首先对于元胞,对于网格,由于分解方法,对于不同网格,我们只看做对于元胞的属性,即为元胞配备一个动态的列表,其中按顺序放好该元胞属于的某个网格即相应状态。而对于网格来说,访问网格就是访问元胞的对应于该网格的那个状态值。这里,对于一个网格,数据我认为是线性排列的,即C1_1,C1_2......按顺序,从第一圈到第二圈,第一圈4个,第二圈12个,第三圈20个。用多线程的方法来进行操作,即对于一个图案,有前导扫描线程(如果正在处理的是第二圈,那么前导就会处理第三圈),当前扫描线程(处理当前的一圈),首先前导根据所扫描元胞将被扫描元胞与当前元胞的几何关系记录一个“+1”用于运算,分别记录在两个容器内(前容器和后容器(前容器是用于下一轮的后容器)),当前扫描线程则对当前扫描圈内的元胞进行几何关系的记录,记录在一个后容器内,当当前扫描完成一圈时,后容器已经可以根据运算值给出一个修改或不修改的答复列表,修改扫描线程则根据这张表,一一修改,可以说是后导线程,三个线程完成对一圈运算的处理,完全不会重复多余的一次运算。对于可视化,也可以用扫描器再加上一个中转站来排好顺序解决问题。这可以说是基本环境了。几何数据库也要根据扫描需求修改成对应的形式,之前的hind,fore,adjasn的形式现在可以只有Advance和Current两项了,而且两项的数据应该分开存储。 这一部分应该用C++来完成,毕竟需要考虑到足够的效率。 前面提到的访问网格,检索的过程就类似于形成几何数据的过程!为此我们可以设计一个对象,为Cycle,Cycle对象可以实现对循环所处位置的有效处理,由于几何位置的独立性,Cycle对象也是比较独立的。 由于检索过程类似于几何数据过程,那么,识别图案的过程是依托几何数据进行的,也可以通过一次扫描来实现。既然识别图案过程可实现,那么,对元胞网格的图案区域进行沿空隙切分也可以实现!将复杂图案切分为小图案便可有效解决(识别和切分同时完成)!这就能很方便地识别和处理小规模图案了!对于大规模连续图案呢?我们要按弱连接分割开来!这就是空隙的条件加强而已。这是考虑到弱连接处难以产生有效的影响,但这个考虑先暂缓!也许以后要做其他方面地改动,毕竟小的非线性影响在区域很大时也是不可忽视的!对于识别图案的推演关系是非常简单的,我们只要虚拟地做一步推演运算就可以得出下一步的图案!对此就有影响分析,观察在图案演化过程中某一种图案的递次变化。这可以是双步长内的,也可以是无限步长内的。