生成随机函数(不是数字!)——如何实现
Generating random functions (not numbers!) - How to implement
我需要生成随机函数。例如,如果我有一个函数集 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)
我需要使用什么(数据结构、算法等)?
我愿意接受你的想法和建议。
将您的函数集、可能的变量名称(例如 'x'、'y')和运算符 +、-、*、**、(,) 等视为字母表。为有效表达式构造语法。构建相应的状态机,在从起始节点到结束节点的转换序列上生成表达语言的句子。实现状态机以跟随每个节点的随机分支。瞧...
如有必要,请在对此答案的评论中提出更多问题
我需要生成随机函数。例如,如果我有一个函数集 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)
我需要使用什么(数据结构、算法等)? 我愿意接受你的想法和建议。
将您的函数集、可能的变量名称(例如 'x'、'y')和运算符 +、-、*、**、(,) 等视为字母表。为有效表达式构造语法。构建相应的状态机,在从起始节点到结束节点的转换序列上生成表达语言的句子。实现状态机以跟随每个节点的随机分支。瞧...
如有必要,请在对此答案的评论中提出更多问题