最近我一直在阅读强化学习方面的内容,我发现"强化学习:导论"是一本非常好的指南。作者还提供了源代码作为他们许多实例的帮助。
在开始问题之前,我应该指出我的Lisp实践知识很少。我知道基本概念和它的工作原理,但我从来没有真正有意义地使用过Lisp,所以我可能只是做了一些极其新手的事情。 :)
另外,作者在他的页面上声明他不会回答关于他的代码的问题,所以我没有联系他,而是想到Stack Overflow会是一个更好的选择。
我一直在尝试在Linux机器上运行代码,使用GNU的CLISP和SBCL都无法运行。我使用任何一个解释器都会出现一大堆错误。特别是,大部分代码似乎使用了一个名为“utilities.lisp”的文件中包含的许多实用程序,其中包含以下行:(defpackage :rss-utilities
(:use :common-lisp :ccl)
(:nicknames :ut))
(in-package :ut)
似乎指的是基于Mac的Lisp版本,但我无法确认,它可能只是其他代码包。
> * (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
请问有人知道我如何运行这段代码吗?是不是我对Lisp一无所知?
更新 [2009年3月]: 我安装了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 >
不幸的是,我仍在学习Lisp,因此虽然我有一种感觉表明某些内容没有完全定义,但我确实不理解如何阅读这些错误消息。