3
识别细胞自动机的序列
背景 出于这一挑战的目的,n-state元胞自动机只是一个二进制函数f,该函数从状态集中获取两个数字{0, 1, ..., n-1}作为输入,然后从该集合返回另一个数字作为输出。可以将其应用于长度至少为2 的数字列表L = [x0, x1, x2, ..., xk-1] f(L) = [f(x0, x1), f(x1, x2), f(x2, x3), ..., f(xk-2, xk-1)] 请注意,结果列表比原始列表少一个元素。甲时空图的f从开始L是通过重复应用获得列表的列表f来L,并收集在一个列表中的结果。最终列表具有长度为1,我们就说该列表L是识别序列为f,如果在所述状态集合中每两个元素的列表是从开始时空图的一些行的连续子列表L。这相当于没有其他n状态的CA具有确切的时空图的条件。 输入值 您的输入是一个n-by- n整数矩阵M,整数列表L至少2的长度,和任选的数目n。矩阵通过(使用基于0的索引)M定义n-stateCA 。确保和并且仅包含状态集的元素。ff(a,b) = M[a][b]n > 0ML{0, 1, ..., n-1} 输出量 如果L是CA的识别序列,则您的输出应为f一致的真实值,否则为一致的虚假值。这意味着所有“是”实例产生相同的真实值,而所有“否”实例产生相同的虚假值。 例 考虑输入n = 2,M = [[0,1],[1,0]]以及L = [1,0,1,1]。矩阵M定义了二进制XOR自动机f(a,b) = a+b mod 2,并且时空图从Lis 开始 …