Questions tagged «logic-programming»

18
一个人如何管理上千条IF ... THEN ... ELSE规则?
我正在考虑构建一个应用程序,该应用程序的核心是数千个if ... then ... else语句。该应用程序的目的是能够预测奶牛在任何景观中如何移动。他们受到太阳,风,食物来源,突发事件等的影响。 如何管理这样的应用程序?我想象在经过数百个IF语句之后,程序将如何响应并调试导致某种反应的结果将意味着每次必须遍历整个IF语句树,这将是无法预测的好。 我已经阅读了一些有关规则引擎的内容,但是我看不到它们如何克服这种复杂性。

2
如何使用逻辑编程实现交互式程序(例如游戏/模拟)?
我听说逻辑编程可以用作其他编程范例(例如OO或函数式编程)的通用替代品。(因为Prolog是图灵完整的,所以一定是这样!) 但是,我很难看到如何实现交互式程序,例如Prolog或类似语言的简单图形控制台游戏。您具有事实,可以推导出更多事实的规则以及可以检索事实的查询。很容易看出如何使用这些基本元素来创建诸如数独求解器之类的东西。但是吃豆人,或者更简单地说是Pong呢? 请注意:我不是在寻找底层细节,而是在概念上进行概述。(例如:从高级的角度来说,您将如何处理I / O?如何存储游戏状态?如何实现“主循环”之类的东西?如何测量和响应时间流逝? )


3
为什么(不是)逻辑编程?
我还没有听说过软件行业中逻辑编程语言(例如Prolog)的任何用法,也不知道它在业余编程或开源项目中的用法。不过,它(Prolog)在某种程度上被用作学术语言(为什么在学术界使用它?)。 这让我感到奇怪,为什么要使用逻辑编程,为什么不呢?为什么没有得到可检测的行业使用率?

2
如何结合“命令”和“复合”来模拟时间延迟?
作为一项学习练习(我不在学校,只是一个试图学习新东西的老家伙),我正在尝试编写一个包含传播延迟的逻辑门模拟。用户还应该能够将门组合在一起以创建更高级别的对象。 我想将设计模式应用于我的问题,但是我很难过。 我正在阅读Head First设计模式,并且我看到Command模式是一种通过延迟来模拟通过电路的电脉冲的好方法。我还看到Composite模式是模拟嵌套单元的好方法。我只是不知道如何混合两者。 换句话说,当我循环通过门时,我看到门“ x”应该开火。它具有15纳秒的延迟,因此我创建了一个距当前游戏时间15 ns的时间戳的命令。调度员在哪里?在晚餐的示例中,命令为“ Order”,女服务员和厨师分别发送命令并可以选择引入延迟。如果我有一个“综合”门,它也有自己的调度程序吗?我是否需要使用Singleton来管理队列? 我阅读了可以找到的内容,但仍然需要朝着正确的方向努力: /programming/2015549/using-command-design-pattern /programming/12016314/client-server-command-design-pattern-with-variable-delays /programming/10560892/composite-of-commands-design-pattern /programming/8874705/how-can-i-calculate-propagation-delay-through-series-of-combinational-circuits-u
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.