有一个序列A=< a1,a2,…,an >.

有一个序列A=< a1,a2,…,an >.
有两个函数都是A×A→A的映射,其中:
F1(ai,aj)= ak,其中k=(i+j) mod n
F2(ai,aj)= ak,其中k=(i*j) mod n
现在问:
当n=11时,Φ(F1(a1,a2),F2(a2,a3))=a7,Φ的表达式为函数F1 和F 2有限次结合,例如:
F1 (F1(a1,a2),F2(a2,a3))、F2 (F1(a1,a2),F2(a2,a3))、F1 (F1(F2 (F1(a1,a2),F2(a2,a3)),a2),F2(a2,a3))等等都是Φ的合法形式.
求Φ的表达式.
我想问的是用哪一门数学知识可以轻松的解决这类问题.
sbtoutou1 1年前 已收到7个回答 举报

春潮夜夜深 幼苗

共回答了18个问题采纳率:83.3% 举报

这道是离散数学的范畴,可以用其中的集合论来解答.
有一个递归算法,比较适合在计算机中建模.
方法如下:
注意:你的题目中没有说得太明白,Φ的合法表达式中是否允许F1,F2对a1,a2,a3及其运算结果任意运算,还是有其他限定,比如a3不能出现在F1中,a1不能出现在F2中.以及是否允许有两个相同的元素进行计算比如F1(a1,a1)这种.所以针对你的不同意图,下面的算法要做相应限定.
1.设集合s1,s2,ss2,设结束元素为at.三个集合元素的形式规定为四元组(f,e1,e2,r),其中,
e1,e2为序列A中的元素;
f=1,2分别表示应用F1或者F2对元素e1,e2进行运算,r表示其运算结果;
f=0表示r不是e1,e2和运算结果,而是一个初始元素;
初始化
s1={(0,0,0,a1),(0,0,0,a2),(0,0,0,a3),(2,a2,a3,a6)};
s2={(1,a3,a6,a9),(2,a3,a6,a7)};
at = a7.
2.从s2中取两个元素,或者从s1、s2中各取一元素.得到的两元素设为x1,x2.用函数F1和F2分别对x1.r和x2.r(即两个元素的第四维)进行计算,结果分别为r1,r2,得到相应四元组xx1=(1,e1,e2,r1)和xx2=(2,e1,e2,r2).
3.如果r1 = at或者r2 = at,则运算成功结束.转入步骤5获取函数表达式;
如果s1,s2中不存在元素x,使得x.r=r1或x.r=r2,则将该四元组放入ss2中,否则转入步骤2直至运算完所有满足条件的元素组合.
4.如果ss2为空,则运算以失败告终,即找不到满足条件的Φ的形式;
如果ss2不为空集.则将s2中的所有元素移入s1中,将ss2的中元素移入s2中,相当于运算
s1 = s1 + s2,s2 = ss2,ss2 = Φ(空集),
然后转到步骤2,继续运算.
5.假设步骤2得到了ri = at(i=1,2),则得到表达式at = Fi(e1,e2)(i=1,2).
6.如果at的表达式中存在元素ej(比如对步骤5中at的表达式中e1进行验证),存在元素x属于s1或s2,满足条件
x.r = ej(j=1,2),且x.f != 0(特号"!="表示“不等于”),
则将at表达式中的ej替换为表达式Fk(x.e1,x.e2),这里Fk分别由x.f=1或2而取F1或F2.
如果ej不存在,则当前at的表达式就是Φ的最终表达式.
注:以上算法能得到at的一个表达式,但at表达式不是唯一的.以上算法得到的是一种最简表达式(最简表达式也可能不是唯一的).
以上算法容易在计算机上编程实现.这里手动计算一下:
初始化
s1={(0,0,0,a1),(0,0,0,a2),(0,0,0,a3),(2,a2,a3,a6)};
s2={(1,a3,a6,a9),(2,a3,a6,a7)};
at = a7.
由初始条件已有表达式Φ=F2(F1(a1,a2),F2(a2,a3)).

1年前

5

十月百合2889 幼苗

共回答了1个问题 举报

为什么这么多人的回答都是相似的?
没错,F2(F1(a1,a2),F2(a2,a3))=F2(a3,a6)=a11
所以Φ的一个表达式为F2(F1(a1,a2),F2(a2,a3))

1年前

2

movetam 幼苗

共回答了64个问题 举报

导数

1年前

2

初夏晨阳 幼苗

共回答了3个问题 举报

用matlab的自带函数来解决快
这道是离散数学的范畴,可以用其中的集合论来解答。
有一个递归算法,比较适合在计算机中建模。
方法如下:
注意:你的题目中没有说得太明白,Φ的合法表达式中是否允许F1,F2对a1,a2,a3及其运算结果任意运算,还是有其他限定,比如a3不能出现在F1中,a1不能出现在F2中。以及是否允许有两个相同的元素进行计算比如F1(a1,...

1年前

2

小桶riqqa7 幼苗

共回答了2个问题 举报

好晕,用matlab的自带函数来解决快

1年前

1

410181ee1002 幼苗

共回答了3个问题 举报

注意:你的题目中没有说得太明白,Φ的合法表达式中是否允许F1,F2对a1,a2,a3及其运算结果任意运算,还是有其他限定,比如a3不能出现在F1中,a1不能出现在F2中。以及是否允许有两个相同的元素进行计算比如F1(a1,a1)这种。所以针对你的不同意图,下面的算法要做相应限定。
1.设集合s1,s2,ss2,设结束元素为at。三个集合元素的形式规定为四元组(f,e1,e2,r),其中,...

1年前

1

天类双件 幼苗

共回答了3个问题 举报

1年前

0
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 23 q. 0.466 s. - webmaster@yulucn.com