1. 首页
  2. 考试认证
  3. 其它
  4. adatx 通过给定输入自动生成函数的Clojure库

adatx 通过给定输入自动生成函数的Clojure库

上传者: 2024-10-25 18:53:28上传 ZIP文件 21.52KB 热度 7次

adatx 是一个用于自动设计算法的 Clojure 库,通过给定的输入 x 和期望的输出 y,找到一个函数使得 (fn [x] ?) => y。该库通过 X 在所有程序空间中进行蛮力搜索来实现函数推导。使用该库非常简单,可以通过以下步骤进行集成:

  1. lein 项目中添加依赖项 [adatx \"0.1.0-SNAPSHOT\"]

  2. 在你的代码中引入命名空间 (ns your-ns (:require [adatx.prob-solve :as adatx]))

下面是一个使用 adatx/prob-solve 的示例,它定义了一个带有 2 个输入参数的函数推导过程:


(def workings (adatx/prob-solve

  { :symvec ['+ '- 'x1 'x2]

    :prog-holder '(fn [x1 x2] :adatx.prog-hold/prog)

    :in-out-pairs [{:in [1 2] :out 4} {:in [1 3] :out 5}] }))

在这个例子中,symvec 定义了可用的符号集,程序会尝试找到符合输入和输出条件的函数。这个方法对于自动生成函数非常有用,特别是在需要根据输入和输出构建自定义逻辑的场景。

下载地址
用户评论