我需要生成随机函数。例如,如果我有一个函数集F={sin, cos}
和一个变量集V={x, y}
,我应该能够生成如下函数:
f_1(x,y)=sin(x)
f_2(x,y)=cos(y)
f_3(x,y)=sin(x) + cos(y)
f_4(x,y)=sin(x**2)-3xcos(xy)
我需要使用什么(数据结构,算法等)? 我对你的想法和建议持开放态度。
答案 0 :(得分:2)
考虑一组功能,可能的变量名称(例如' x',' y')和运算符+, - ,*,**,(,)等作为字母。构造有效表达式的语法。构造一个相应的状态机,在从起始节点到结束节点的转换序列上生成表达式语言的句子。实现状态机以跟随每个节点处的随机分支。瞧...
如有必要,请在评论中提出进一步的问题