Objective-C中的约束网络

Objective-C中的约束网络,objective-c,macos,lisp,sicp,constraint-programming,Objective C,Macos,Lisp,Sicp,Constraint Programming,我正在Mac OS X 10.7上编写一个Objective C应用程序,我需要解决一个带有算术约束的问题。 例如,我有两个矩形方程,a和b是边的长度: P=2(a+b) (perimeter) A=ab (area) 我将此问题确定为约束满足问题。 用户应该能够指定a和a,并让解算器计算b和P。 我在中找到了一个实现,但我不确定是否有一种干净的方法可以从Objective C调用LISP程序。我正在寻找一种可以为我提供一个Objective C接口到解算器的方法,或者可以将LISP程

我正在Mac OS X 10.7上编写一个Objective C应用程序,我需要解决一个带有算术约束的问题。 例如,我有两个矩形方程,a和b是边的长度:

P=2(a+b) (perimeter)
A=ab     (area)
我将此问题确定为约束满足问题。 用户应该能够指定a和a,并让解算器计算b和P。
我在中找到了一个实现,但我不确定是否有一种干净的方法可以从Objective C调用LISP程序。我正在寻找一种可以为我提供一个Objective C接口到解算器的方法,或者可以将LISP程序编译到Objective C库中。否则,一个最低限度的开源约束求解器将适合我的需要。

如果这是您需要解决的唯一问题,那么它会更容易。您可以根据
A
A
求解
b

b = A / a

然后你可以使用你发布的第一个等式找到
p

实际上有人在为iOS构建lisp系统。(免责声明-我一生中从未使用过lisp)

这个问题指向谁,谁的作者在github上拥有

所以这个问题:最终在同一个目的地

希望这对你来说是个好的开始

编辑

我完全没有意识到这不是一个iOS问题

但也有人在OSX上运行lisp。这个问题有一些解决办法:


这个博客:是更多的细节(对我来说是谷歌的顶端)

那本书的例子是用一种Lisp方言写的(有很多)。这本书有点旧,但是现在Scheme的大多数实现都能够执行这本书中的代码示例。在OSX上运行的Scheme有几种实现,但本书中的示例也可以很容易地移植到CommonLisp中——实际上,只有一点细微的区别。除此之外,我认为用C/Obj-C编写它们不会花费太多时间。本书中的示例是通用编程,它们使用的Lisp方言没有什么特别之处

(维基上的文章也有实现的链接,我不想宣传任何一个特定的实现,以免听起来有偏见——此外,我在学术界之外没有太多使用它的经验)


也许,如果你正在寻找一个通用的工具来证明数学定理,那么你可以研究——这是一种专门从事这项任务的语言。它也可以在任何Unix或类似Unix的操作系统上运行。

nu编程语言是一种Lisp方言,可以与Objective-C集成,包括嵌入Objective-C应用程序中

我听过很多关于它的好东西,但从未使用过


您也可以尝试将约束求解器应用程序转换为Objective-C。

我感兴趣的是一个适用于MacOS X 10.7而不是iOS的解决方案。我会仔细看看,看看它是否是针对iOS.Ooops的。。我的错误。。我实际上打折了我看到的纯OSX信息!但是OSXClozure有一些lisp解决方案,常见的lisp有一个目标C桥,以及大量关于将CCL连接到OSX环境的文档。