- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在寻找适用于 python 的命题演算模块。
我的用户需要在文本区域中输入一个公式,然后我必须检查它是否正确。
我无法直接测试输入文本是否等于正确文本,因为它没有考虑排列或类似因素。
是否存在这样的模块?
- 编辑-
这是项目的截图(设计未完成):
最佳答案
这并不难。您需要做的就是 (a) 查找或 (b) 编写一个接受任意命题并生成真值表的实用程序。然后,对于两个命题,您需要做的就是生成两个真值表并检查原子变量和最后一列是否在所有行中匹配。
这是原子变量个数的O(2^n),并且假设每个命题包含相同数量的原子变量。如果可能包含额外的无用原子变量(如 OR(b 或 NOT b)等同于 a),您将需要填充更简单命题的真值表以获得相同的行数。如果允许使用不同的原子变量,那么这会变得更加困难。
你不能比 O(2^n) 做得更好,假设 P != NP,因为多项式解可以解决命题演算的一般可满足性问题。
要生成真值表,您需要 (a) 生成原子变量真值的所有 2^n 排列的列表(有很多方法可以做到这一点),以及 (b) 评估任意赋值的命题原子变量的真值。然后制作两个表格并进行比较。瞧!
关于python - python中的命题演算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7105023/
前言请注意,这是一项作业。第一个问题已经问了一个问题。所以我们有数据类型: data BoolProp : ??? where ptrue : BoolProp true pfalse :
我是依赖类型的新手,有 Haskell 经验,正在慢慢学习 Idris。作为练习,我想编写霍夫曼编码。目前我正在尝试编写一个证明,证明代码树的“扁平化”会产生一个前缀代码,但被量词卡住了。 我有一个简
我是一名优秀的程序员,十分优秀!