Python
Java
PHP
IOS
Android
Nodejs
JavaScript
Html5
Windows
Ubuntu
Linux
如何具体化 Prolog 的回溯状态以执行与 Clojure 中的“lazy seq”相同的任务?
这是用 Clojure 编写的数字快速排序算法 它基本上是快速排序算法 Clojure 的乐趣 第 2 版 第 133 页 我稍微修改了它以 希望 更好的可读性 因为原始版本感觉有点太紧凑 defn qsort inner work laz
Clojure
Prolog
QuickSort
lazysequences
reify
Prolog:将 DCG 语法与其他限制相结合
Prolog 的 DCG 以及我能够快速生成适合特定语法的所有可能结构的速度给我留下了深刻的印象 但我想将此搜索与其他约束结合起来 例如 定义一个复杂的语法 并要求 Prolog 生成所有不超过 10 个单词的句子 或者所有不重复同一个单词
Prolog
grammar
dcg
在 Prolog 中使用差异列表的上下文无关语法如何运作?
我正在阅读有关 Prolog 中上下文无关语法的教程 他们在页面底部提到使用差异列表在 Prolog 中实现上下文无关语法 其中包括以下代码块 s X Z np X Y vp Y Z np X Z det X Y n Y Z vp X Z
Parsing
Prolog
dcg
logicprogramming
differencelists
具有一定确定性的 member/2 代码
我如何编码最后具有确定性的member 2 元素 目前我正在使用 member X X member X Y member X Y 当我查询以下内容时 member X 1 2 X 1 X 2 No 解释器在返回 2 后继续搜索 因为 还剩
list
Prolog
DETERMINISTIC
序言。结构(复杂术语)和谓词,我真的不明白区别
我是序言新手 我似乎无法理解结构和谓词之间的区别 真的有什么区别吗 在四处挖掘时 我发现有些人认为f X a X 是一个谓词 有些人认为嫉妒 X Y 爱 X Z 爱 Y Z 是一个结构 或一个复杂的术语 他们对我来说看起来几乎一样 有人愿意
Prolog
CFG 的扩展,它是什么?
考虑以下上下文无关语法的扩展 它允许规则在左侧有一个 或多个 终端在非终端的右侧 即 形式规则 A b gt 右侧可以是任何东西 就像在上下文无关语法中一样 特别是 它是not要求右侧末尾具有完全相同的终端符号 在这种情况下 此扩展将是上下
Prolog
contextfreegrammar
dcg
isoprolog
dcgsemicontext
用户输入,我们该怎么做?
我们如何在 prolog 中从用户那里获取一些东西 例如 animal dog animal cat write please type animal name nl How to read from user and store it t
Prolog
在 Prolog 中对大列表进行排序:内存不足
我正在尝试使用冒泡排序对 prolog 中的 10k 元素列表进行排序 但出现了本地堆栈错误 合并排序似乎是最好的选择 因为对于相同的输入我没有收到任何错误 然而 我真的很想获得一些具有大量输入数据的冒泡排序的运行时间 但我不能 有任何想法
Sorting
Prolog
stack
Prolog:带有内置命令的“Vanilla”元解释器
这个答案Jan Burse 展示了 Prolog 中元解释器最简单的实现之一 solve true solve A B solve A solve B solve H clause H B solve B 我想扩展这个解释器 以便它可以调用
Prolog
prologmetainterpreter
在 Prolog 中更快地实现口头算术
我已经做了一个工作概括口头算术Prolog 中的求解器 但速度太慢 仅运行简单的表达式 S EN D M O R E M O N E Y 就需要 8 分钟 有人可以帮助我让它运行得更快吗 verbalArithmetic List Word
performance
Prolog
Logic
clpfd
cryptarithmeticpuzzle
Prolog 中的 Switch 语句
在 Prolog 谓词中 我经常编写像这样的重复条件语句 但我希望它们可以写得更简洁 output Lang Type Output Lang javascript gt Output function Type Lang ruby gt
Prolog
switchstatement
patternmatching
prolog,在元组列表中查找列表元素
我正在尝试用 Prolog 解决一个新程序 但我被卡住了 不知道如何继续 我必须做一个有 3 个参数的谓词 第一个是元素列表 第二个是元素列表是元组列表 如果元组的第一个元素与第一个参数列表的元素匹配 则第三个必须是返回的包含元组的第二个元
list
Prolog
tuples
min_member/2 的反直觉行为
最小成员 分钟 列表 当 Min 是标准项顺序中最小的成员时为真 如果列表为空 则失败 min member 3 1 2 X X 3 当然 解释是变量在术语的标准顺序中位于所有其他术语之前 并且使用统一 然而 所报告的解决方案感觉有些错误
Prolog
min
clpfd
Prolog 中的幂函数
我的电源功能出了什么问题 pow 0 1 pow X Y Z pow X Y 1 X Z pow 2 3 Z ERROR Out of global stack 你的 Y 不会递减 你不能使用像函数这样的谓词 您还必须将 Z 与乘法结果统一
Math
Prolog
Logic
exponentiation
用 Prolog 编写的正则表达式解析器
我已经在这个家庭作业问题上用头撞墙几个小时了 我们必须用 Prolog 解析正则表达式 在大多数情况下 我的谓词都可以工作 但是有一些正则表达式和字符串组合会导致它们耗尽 SWI Prolog 中的堆栈空间 以下是包含两种正则表达式字符串组
regex
Prolog
dcg
findall/3 在其结果列表中创建新的、不相关的变量
permutation A B C Z Z A B C Z A C B Z B A C Z B C A Z C A B Z C B A false 说得通 我可以研究以下的排列 A B C 并且该排列包含与中相同的元素 A B C 所以我对
Prolog
prologfindall
Prolog 中的广度优先搜索
我是 Prolog 新手 目前正在实现 DFS 深度优先搜索 和 BFS 广度优先搜索 算法 我的 DFS 工作正常 如下面的代码 但 BFS 在到达叶节点时终止并中止 它不会回溯并继续搜索 我还阅读了一些关于此的示例代码 但是他们没有定义
Prolog
breadthfirstsearch
2 个列表的交集和并集
我正在开始学习 prolog 我使用 SWI prolog 我做了一个简单的练习 其中我有 2 个列表 我想计算它们的交集和并集 这是我的代码 效果很好 但我问自己是否有更好的方法 因为我不喜欢使用剪切操作员 intersectionTR
list
Prolog
SWI Prolog 中的变量名称
我一直在使用 chr 库和 jpl 界面 不过我有一个一般性的询问 我将 SWI Prolog 中的约束发送到 CHR 程序中的 java 类的实例 问题是 例如 如果输入约束是 leq A B 则变量名称消失 出现的变量名称以 G 开头
Reflection
Prolog
可逆树长关系
我正在尝试用 纯 Prolog 编写可逆关系 没有is 剪切或类似的东西 是的 这是作业 我必须承认我不知道如何做 我没有看到任何创建这样的东西的过程 我们被赋予了 不纯粹 但可逆的算术关系 加 乘 等于 减 我们必须使用它们来创建这些关系
Prolog
clpfd
failureslice
successorarithmetics
«
1 ...
16
17
18
19
20
21
22
»