Just comparing your two lines

(defglobal ?*airTempFvar* = new FuzzyVariable "airTemperature" 0.0 100.0
"Deg C"))

and

(defglobal ?*fanSpeedFvar* = (new FuzzyVariable "fanSpeed" 0.0 1000.0
"RPM"))

It looks like you are missing a paren before "new" in the former.



                                                                           
             "seyed hossein"                                               
             <[EMAIL PROTECTED]                                             
             com>                                                       To 
             Sent by:                  [email protected]               
             owner-jess-users@                                          cc 
             sandia.gov                                                    
                                                                   Subject 
                                       Re: JESS: Installing Fuzzy on Jess  
             07/25/2008 11:38                                              
             AM                                                            
                                                                           
                                                                           
             Please respond to                                             
             [EMAIL PROTECTED]                                             
                   .gov                                                    
                                                                           
                                                                           




Thanks alot Mr. Orchard for your time,
To run your example (in "How to use the Fuzzy Extensions with Jess") I
simply set the "Jess main class" under the "Jess Application" tab in Run
Configurations to nrc.fuzzy.jess.FuzzyMain, but didn't know what to do with
the "Arguments" tab so I left it blank and runned the example. Should we
set
the "Program arguments" or "VM arguments" under the arguments tab to
something??
Also, regarding the other example I found in FuzzyJessNRC-44882.pdf
(attached to this email), once I run it (from run configurations...), it
gives a whole lot of errors which some are following the example code here;

(import nrc.fuzzy.*)
;; Two globals to hold our FuzzyVariables for air temperature and fan speed
(defglobal ?*airTempFvar* = new FuzzyVariable "airTemperature" 0.0 100.0
"Deg C"))
(defglobal ?*fanSpeedFvar* = (new FuzzyVariable "fanSpeed" 0.0 1000.0
"RPM"))
(defrule init "An initialization rule that adds the terms to the
FuzzyVariables"
=>
;; the nrc FuzzyJess functions are loaded
(load-package nrc.fuzzy.jess.FuzzyFunctions)
(bind ?rlf (new RightLinearFunction)) (bind ?llf (new LeftLinearFunction))
;; terms for the air temperature Fuzzy Variable and fan speed Fuzzy
Variable
(?*airTempFvar* addTerm "cold" (new RFuzzySet 0.0 20.0 ?rlf))
(?*airTempFvar* addTerm "OK" (new TriangleFuzzySet 0.0 20.0 35.0))
(?*airTempFvar* addTerm "hot" (new LFuzzySet 20.0 35.0 ?llf))
(?*fanSpeedFvar* addTerm "low" (new RFuzzySet 0.0 500.0 ?rlf))
(?*fanSpeedFvar* addTerm "medium" (new TriangleFuzzySet 250.0 500.0 750.0))
(?*fanSpeedFvar* addTerm "high" (new LFuzzySet 500.0 1000.0 ?llf))
;; assert the first the fuzzy input -- temperature at 0.0
(assert (crispAirTemp 0.0))
(assert (airTemp (new FuzzyValue ?*airTempFvar* (new TriangleFuzzySet 0.0
0.0 0.0)))))
(defrule temp-cold-fanSpeed-low "if air temperature cold then set fan speed
low"
(airTemp ?t&:(fuzzy-match ?t "cold"))
=>
(assert (fanSpeed (new FuzzyValue ?*fanSpeedFvar* "low"))))
(defrule temp-OK-fanSpeed-medium "if air temperature OK then set fan speed
medium"
(airTemp ?t&:(fuzzy-match ?t "OK"))
=>
(assert (fanSpeed (new FuzzyValue ?*fanSpeedFvar* "medium"))))
(defrule temp-hot-fanSpeed-high "if air temperature hot then set fan speed
high"
(airTemp ?t&:(fuzzy-match ?t "hot"))
=>
(assert (fanSpeed (new FuzzyValue ?*fanSpeedFvar* "high"))))
(defrule control "printing of results and initiating next iteration"
;; to combine output of all 3 rules we must wait until the 3 rules
;; have all fired ... low salience for this rule achieves this
(declare (salience -100))
?catf <- (crispAirTemp ?t)
?fsf <- (fanSpeed ?fuzzyFanSpeed)
=>
;; defuzzify the fan speed fuzzy value and print out the result
(bind ?crispFanSpeed (?fuzzyFanSpeed momentDefuzzify)) (bind ?t (+ ?t 2.0))
(printout t "For temp = " ?t " Fan speed set to "?crispFanSpeed " RPM"
crlf)
(if (<= ?t 50.0) then
(retract ?catf ?fsf) (assert (crispAirTemp ?t))
(assert (airTemp (new FuzzyValue ?*airTempFvar* (new TriangleFuzzySet ?t ?t
?t))))))
;;Some of the output of this FuzzyJess system is shown below (identical to
the output from the Java ;;version).
;;For temp = 18.0 Fan speed set to 464.6499238964992 RPM
;;For temp = 20.0 Fan speed set to 500.0 RPM
;;For temp = 22.0 Fan speed set to 546.354852876592 RPM

Some errors it produced are:

Jess, the Rule Engine for the Java Platform
Copyright (C) 2008 Sandia Corporation
Jess Version 7.1b3 4/2/2008

Jess reported an error in routine Jesp.parseDefglobal.
  Message: Expected a variable name at token 'FuzzyVariable'.
  Program text: ( defglobal ?*airTempFvar* = new FuzzyVariable  at line 4

.                                                                               
                                                                     This 
message and any attachments contain information from Union Pacific which may be 
confidential and/or privileged.
If you are not the intended recipient, be aware that any disclosure, copying, 
distribution or use of the contents of this message is strictly prohibited by 
law. If you receive this message in error, please contact the sender 
immediately and delete the message and any attachments.



--------------------------------------------------------------------
To unsubscribe, send the words 'unsubscribe jess-users [EMAIL PROTECTED]'
in the BODY of a message to [EMAIL PROTECTED], NOT to the list
(use your own address!) List problems? Notify [EMAIL PROTECTED]
--------------------------------------------------------------------

Reply via email to