Dyna – Logic Programming for Machine Learning
9 months ago
- #machine-learning
- #programming-language
- #declarative-programming
- Dyna是一种专为机器学习研究者设计的编程语言,其基础逻辑编程语言如Datalog和Prolog。
- Dyna支持灵活的执行顺序和加权规则,能以简洁方式编写复杂程序。
- 典型的Dyna程序示例包括矩阵乘法、斐波那契数列、CKY句法分析和神经网络实现。
- Dyna项目始于2004年,旨在为ML研究者搭建数学符号与可执行代码之间的桥梁。
- Dyna 1.0通过允许任意半环结构扩展了Datalog,使其适用于动态规划场景。
- Dyna 2.0引入了函数、自由变量、惰性求值和基于原型的继承机制(dynabases)。
- 当前研究方向包括:采用关系代数与项重写实现底层架构,以及运用强化学习进行优化。
- 已有数十篇关于Dyna开发与应用的学术论文和学位论文发表。
- 现有多个Dyna实现版本,包括Dyna3(Clojure)、Dyna-R(Python)、Dyna-Pi(Python)、Dyna-Phi(Truffle/Graal)以及早期Haskell和Python版本。