【问题标题】:Prolog compact?Prolog紧凑?
【发布时间】:2011-11-14 16:46:04
【问题描述】:

我有一个问题,我需要像这样压缩一个衍生结果:

0*x*x + 2*(1*x + x*1) =====> example: 0+2*(2*x) =====> 0+2*4*x====>8*x

有可能吗?感谢您的帮助。

问候, 沃尔特

【问题讨论】:

  • 通常称为简化。

标签: prolog calc derivative


【解决方案1】:

是的,这是可能的,只是需要一些工作。您需要写出原子规则,例如

rule(0*_, 0).
rule(_*0, 0).
rule(1*X, X).
rule(X*1, X).

并实现一个固定点谓词(可能是failure-driven loop),该谓词应用规则直到收敛。

【讨论】:

  • 感谢答案,但是如何将这个“字符串”拆分为原子公式?
  • 我需要一个循环来解压所有术语?
  • @flatronflow:你会想为你的表达写一个DCG
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-21
  • 1970-01-01
相关资源
最近更新 更多