我最近一直在阅读关于强化学习的很多内容,我发现"强化学习:简介"是一本很好的指南.作者为他们的许多工作示例提供了有用的源代码.
在我开始提出问题之前,我应该指出,我对lisp的实际知识很少.我知道基本概念及其工作原理,但我从未真正以有意义的方式使用过lisp,所以很可能我只是在做一些令人难以置信的事情n00b-ish.:)
此外,作者在他的页面上声明他不会回答有关他的代码的问题,所以我没有联系他,并认为Stack Overflow将是一个更好的选择.
我一直试图在Linux机器上运行代码,使用GNU的CLISP和SBCL,但是无法运行它.我使用任何一个解释器都会得到一整套错误.特别是,大多数代码似乎使用了包含行的"utilities.lisp"文件中包含的许多实用程序
(defpackage :rss-utilities (:use :common-lisp :ccl) (:nicknames :ut)) (in-package :ut)
:ccl似乎是指某种基于Mac的lisp版本,但我无法证实这一点,它可能只是其他一些代码包.
> * (load "utilities.lisp") > > debugger invoked on a > SB-KERNEL:SIMPLE-PACKAGE-ERROR in > 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年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,所以虽然我觉得某些东西没有完全定义,但我真的不明白如何阅读这些错误信息.