生成随机函数(不是数字!)——如何实现

Generating random functions (not numbers!) - How to implement

我需要生成随机函数。例如,如果我有一个函数集 F={sin, cos} 和一个变量集 V={x, y},我应该能够生成如下函数:

我需要使用什么(数据结构、算法等)? 我愿意接受你的想法和建议。

将您的函数集、可能的变量名称(例如 'x'、'y')和运算符 +、-、*、**、(,) 等视为字母表。为有效表达式构造语法。构建相应的状态机,在从起始节点到结束节点的转换序列上生成表达语言的句子。实现状态机以跟随每个节点的随机分支。瞧...

如有必要,请在对此答案的评论中提出更多问题