Java 二元决策图

Java 二元决策图,java,binary-decision-diagram,Java,Binary Decision Diagram,在Java中,我有一组表达式,如cond1和(cond2或cond3)和(cond4或cond5)。我想把它转换成树,然后计算最终的布尔值。我试着搜索了很多关于JavaBDD的内容,但都没有找到。任何关于示例代码的建议?5秒钟后返回一些合理的结果: 这不是你想要的吗?5秒钟的时间返回了一些合理的结果: 这不是您想要的吗?如果您想运行自己的解析器,请查看JavaCC。 这里是一个很好的教程,让你开始。稍旧一点,但仍然有效: 如果您想运行自己的解析器,请查看JavaCC。 这里是

在Java中,我有一组表达式,如cond1和(cond2或cond3)和(cond4或cond5)。我想把它转换成树,然后计算最终的布尔值。我试着搜索了很多关于JavaBDD的内容,但都没有找到。任何关于示例代码的建议?

5秒钟后返回一些合理的结果:

这不是你想要的吗?

5秒钟的时间返回了一些合理的结果:


这不是您想要的吗?

如果您想运行自己的解析器,请查看JavaCC。 这里是一个很好的教程,让你开始。稍旧一点,但仍然有效:


如果您想运行自己的解析器,请查看JavaCC。 这里是一个很好的教程,让你开始。稍旧一点,但仍然有效:


他指的是二元决策图

我一直在修修补补。两者都基于BuDDY(一个C库)——JBDD实际上使用C DLL来提高性能

在我看来,JavaBDD的功能更加全面(例如,它支持组合BDD,这正是我所需要的)。但是也没有关于它的教程,虽然类文档并不可怕,坦白地说,我不知道如何将它用于最基本的布尔运算(比如您提出的问题)


JBDD/JDD要求您使用手动垃圾收集,并做一些奇怪的事情,比如用Java整数存储BDD对象——显然是从C继承来的。但它有一套教程

他指的是二元决策图

我一直在修修补补。两者都基于BuDDY(一个C库)——JBDD实际上使用C DLL来提高性能

在我看来,JavaBDD的功能更加全面(例如,它支持组合BDD,这正是我所需要的)。但是也没有关于它的教程,虽然类文档并不可怕,坦白地说,我不知道如何将它用于最基本的布尔运算(比如您提出的问题)


JBDD/JDD要求您使用手动垃圾收集,并做一些奇怪的事情,比如用Java整数存储BDD对象——显然是从C继承来的。但它有一套教程

我认为这个BDD是行为驱动的开发。祝你好运-我没有任何线索:)你想计算一个表达式并得到与该表达式匹配的结果吗?这更像是@Jochen的答案,而不是二进制决策图。我认为这个BDD是行为驱动的开发。祝你好运-我没有任何线索:)你想计算一个表达式并得到与该表达式匹配的结果吗?这更像是@Jochen的答案,而不是二进制决策图。更新:本周末我编写了一个简单(毫无疑问效率低下)的BDD库,源代码可用。我还没来得及把它写得像样一些(比如说,写一篇很好的自述和/或教程),虽然它只是经过了适度的测试,但它可能对你有用。更新:这个周末我写了一个简单的(毫无疑问是低效的)BDD库,源代码可用。我还没来得及把它写得像样些(比如写一篇好的自述和/或教程),虽然它只是经过了适度的测试,但它对你可能有用。顺便说一句,也可以:顺便说一句,也可以: