我已经阅读了很多关于 加强学习 最近,我有发现 "加强学习:介绍" 是一个很好的指导。提交人帮忙,省 源代码 很多他们的工作的例子。

在我开始之前的问题,我要指出,我实际知识的舌头是最小的。我知道的基本概念和它如何工作的,但是我从来没有真正使用舌头在一个有意义的方式,所以很可能我只是在做一些令人难以置信的n00b-ish。:)

此外,提交人称在他的网页,他不会回答的问题对他的代码,所以我没联系他,想堆溢出将是一个更好的选择。

我一直在试运行代码在linux计算机上使用GNU是由一个和SBCL但没有能够运行。我继续得到整个列表中的错误,无论是使用翻译。特别是,大多数代码的出现要使用大量的公用事业的文件中包含的'公用事业。list'其中包含线

(defpackage :rss-utilities
  (:use :common-lisp :ccl)
  (:nicknames :ut))

(in-package :ut)

该:ccl似乎是指某种类型的基于Mac版本的口齿不清,但我不能确认这一点,这可能仅仅是一些其他的软件包的代码。

> * (load "utilities.lisp")
>
> debugger invoked on a
> SB-KERNEL:SIMPLE-PACKAGE-ERROR in
> thread #<THREAD "initial thread"
> RUNNING {100266AC51}>:   The name
> "CCL" does not designate any package.
> 
> Type HELP for debugger help, or
> (SB-EXT:QUIT) to exit from SBCL.
> 
> restarts (invokable by number or by
> possibly-abbreviated name):   0:
> [ABORT] Exit debugger, returning to
> top level.
> 
> (SB-INT:%FIND-PACKAGE-OR-LOSE "CCL")

我试图消除这种特殊件(改变的行为

  (:use :common-lisp)

但是,这只是创造了更多的错误。

> ; in: LAMBDA NIL ;     (+
> RSS-UTILITIES::*MENUBAR-BOTTOM* ;     
> (/ (- RSS-UTILITIES::MAX-V
> RSS-UTILITIES::V-SIZE) 2)) ;  ; caught
> WARNING: ;   undefined variable:
> *MENUBAR-BOTTOM*
> 
> ;     (-
> RSS-UTILITIES::*SCREEN-HEIGHT*
> RSS-UTILITIES::*MENUBAR-BOTTOM*) ;  ;
> caught WARNING: ;   undefined
> variable: *SCREEN-HEIGHT*
> 
> ;     (IF RSS-UTILITIES::CONTAINER ;  
> (RSS-UTILITIES::POINT-H ;         
> (RSS-UTILITIES::VIEW-SIZE
> RSS-UTILITIES::CONTAINER)) ;        
> RSS-UTILITIES::*SCREEN-WIDTH*) ;  ;
> caught WARNING: ;   undefined
> variable: *SCREEN-WIDTH*
> 
> ;     (RSS-UTILITIES::POINT-H
> (RSS-UTILITIES::VIEW-SIZE
> RSS-UTILITIES::VIEW)) ;  ; caught
> STYLE-WARNING: ;   undefined function:
> POINT-H
> 
> ;     (RSS-UTILITIES::POINT-V
> (RSS-UTILITIES::VIEW-SIZE
> RSS-UTILITIES::VIEW)) ;  ; caught
> STYLE-WARNING: ;   undefined function:
> POINT-V

任何人有任何想法,我可以运行这个代码?我只是完全无知的口齿不清所有的东西?

更新[2009年]: 我安装了Clozure,但是仍然不能得到代码运行。

在CCL命令,该命令

(load "utilities.lisp")

结果在以下错误输出:

;Compiler warnings :
;   In CENTER-VIEW: Undeclared free variable *SCREEN-HEIGHT*
;   In CENTER-VIEW: Undeclared free variable *SCREEN-WIDTH*
;   In CENTER-VIEW: Undeclared free variable *MENUBAR-BOTTOM* (2 references)
> Error: Undefined function RANDOM-STATE called with arguments (64497 9) .
> While executing: CCL::READ-DISPATCH, in process listener(1).
> Type :GO to continue, :POP to abort, :R for a list of available restarts.
> If continued: Retry applying RANDOM-STATE to (64497 9).
> Type :? for other options.
1 >

很不幸的是在这里,我仍然在学习有关口齿不清,因此,虽然我有感觉的东西不是完全确定,我并不真正了解如何读取这些错误消息。

有帮助吗?

解决方案

这代码是用于Macintosh的Common Lisp(MCL)。它只会在那里运行。使用Clozure CL(CCL)不会帮助。你将不得不作出评论的图形代码。随机状态的东西也是为了MCL略特。你必须将它移植到便携式Common Lisp的(使随机状态等)。另外,文件名是特别为Mac。

Clozure CL是从Macintosh的Common Lisp的一个叉,但可以改变为Unix公约(路径名,...),并且不包括MCL的特殊图形代码。

其他提示

我的猜测是,代码是CCL-依赖性的,所以使用 CCL 代替CLISP或SBCL 。 http://trac.clozure.com/openmcl

:您可以从这里下载

在Linux x86使用最新版本的CCL的,有了这个文件保存为foo.lisp:

#+ccl (defun random-state (x y)
        (ccl::initialize-random-state x y))

(load "utilities.lisp")
(use-package 'rss-utilities)


(load "testbed.lisp")

(setup)
(init)

(print (runs 10 10 .1))

运行

~/svn/ccl/lx86cl -l foo.lisp

打印一堆警告消息和所期望的答案:

(-0.77201915 0.59691894 0.78171235 0.41514033 0.6744591 0.26383805 0.8981678 1.1274683 0.50265205 0.4081622)

要找出所需的#'随机状态defun定义,我猜到是‘#。(RANDOM-STATE 64497 9)’是从MCL序列化随机状态对象。要查看CCL如何处理,我在CCL检查什么使随机态输出:

$ ~/svn/ccl/lx86cl 
Welcome to Clozure Common Lisp Version 1.3-r11936  (LinuxX8632)!
? (make-random-state)
#.(CCL::INITIALIZE-RANDOM-STATE 64497 9)

如果你从未以有意义的方式使用口齿不清,有一个 Matlab代码为 “强化学习:简介”

除了 Rainer Joswig的答案:一旦安装Clozure你就必须更新参引的功能 RANDOM-STATEutilities.lisprandom-mrg31k3p-state.

更具体地更换: #.(RANDOM-STATE 64497 9)#.(ccl::random-mrg31k3p-state)

random-mrg31k3p-state 似乎已经取代 random-state 之后的某个时间代码被写入看到 l1号码。口齿不清?转=13327

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top