JESS: Sunday Morning, June 6th, 0600 GMT
Greetings: I know, I know - this is NOT about rules nor rulebased systems nor anything like that. But, sometimes, we need to reach as many people as possible who may or may not be interested in what we need to say and please forgive me for this minor indiscretion. (But, I'll probably do it again in December) OK, what’s so special about June 6th? Next Sunday morning at 0600 GMT - NOT Daylight Savings Time - will mark the 66th year since the invasion of Europe by the Allied forces at Normandy, France, on June 6, 1944. Remember, the war in England and the rest of Europe had been going on since September, 1939, when this happened. Unless you are over 40 (or had a father figure in the military) you probably don’t know about Normandy and D-Day. I asked 10 or 15 people at Best Buy the other night and got all blank looks except for one future-Marine (just enlisted) who knew it had something to do with a war or a battle or something like that. Look up “D-Day Normandy” on Google. Or, better yet, go watch “Saving Private Ryan” [there is a brief blurb is on YouTube at http://www.youtube.com/watch?v=qrjNEReJI2Qfeature=related ] or The Longest Day” (terrible acting but far more vivid than anything up until that time) [another brief blurb at http://www.youtube.com/watch?v=s-hzm6lkQPINR=1 ] - the stuff on YouTube or watching the movie will give you a WAY more graphical and personal point of view than just reading about it on the computer screen. Regardless, having a “Monday in May” (that's what we did in the USA) for all veterans of all wars doesn’t seem to cover the carnage of D- Day and Omaha Beach. The U. S. Army Center for Military History claims over 60,00 USA dead and wounded at Omaha Beach on that one day. If the Germans could have had another six months to prepare, the British and Canadians would not have walked ashore at Gold and Juno beaches nor the other Americans at Utah and Sword beaches, although the Allies at Utah beach did receive a pretty warm welcome. We can also be thankful that Adolph totally ignored his Generals and kept the 15th Panzer division locked up at Total dead (mostly dead – not much in the way of medical aid that day) and wounded for the USA that day was over 135,000 US Army and Marines. The UK (a much smaller nation) lost 65,000 of their finest that day. the Germans lost 320,000 men (30K killed, 80K wounded, 210K MIA) in the Heer or Wehrmacht regular army, not so much the Waffen SS who were stationed elsewhere at the time. In addition, there were 12,000 civilian casualties killed or missing. All total: a number that was over 500,000 humans died in one battle that one day. Please, try to remember all of them on Sunday morning; USA, UK, Canadian, French, Polish, Austrian, German, Russian, all of them. SDG jco CoFounder DRG 2000 CoFounder ORF-2008/ORF-2009 http://www.DallasRulesGroup.org http://www.OctoberRulesFest.org http://www.RulesFest.org
Re: JESS: how to write If else rule
Greetings: I've been criticized by JM recently for not getting more involved in Jess solutions. So, here goes. The example below violates one of the basic principles of all rulebased systems. The logic (i.e., the Conditional Elements, CE) should ALL be in the LHS of the rules. By putting IF conditions in the RHS you have put CEs where there should be nothing but Action Elements, AE. The one thing that most folks don't realize is that a rule that states IF A or B THEN C is actually two Rules. IF A THEN C, IF B THEN C at the same time, an ELSE condition is the negation of the entire LHS of the rule. For example Rule1 IF (A and B and C and D) THEN D To enter the ELSE you would have Rule2 IF (A and B and C and D) THEN D ELSE E which is nothing more than Rule2a IF (A and B and C and D) THEN D; Rule2b IF !(A and B and C and D) THEN E; of which the else rule is Rule2b-1 IF (A or B or C or D) THEN E which is Rule2b-1a IF A THEN E Rule2b-1b IF B THEN E Rule2b-1c IF C THEN E Rule2b-1d IF D THEN E The OR statements and the ELSE statements are usually handled by the engine - sometimes called syntatical sugar. What we need to do is get back to basics and understand that rules are to solve complex problems in logic and not used to run through massive sets of numbers looking for a needle in a haystack - that's something far better handled by Java, C++, C or even ASM. Reading through the emails is like reading the old Obfuscated C programs - most of them wondering how complex to make a procedural problem and thereby justify using a rulebase? We should be using procedural languages for procedural problems, not an inference engine. Jason Morris used to have a blog called The Zen of Jess wherein he basically taught how to use a rulebase. Not sure why he quit writing except maybe he just got tired of doing the same thing day after day after day after... My suggestion is that everyone should Read The Fabulous Manual (or the Fabulous Book - JIA) BEFORE beginning to write the first rule for a practical application or asking questions online! SDG jco This above all: to thine own self be true, And it must follow, as the night the day, Thou canst not then be false to any man. Hamlet, Act 1, Scene III http://www-tech.mit.edu/Shakespeare/hamlet/hamlet.1.3.html On Dec 11, 2008, at 5:03 AM, Joao Antunes Mourao wrote: (defrule name-of-the-rule (put here your conditions for the rule, if any) = (if (condition) then (put your things here) ) (if (condition) then (put your things here) else (put your things here) )) Simple. Good luck. Joao --- unclassified email On 10-12-2008 05:47, hansari wrote: I need rule for if (condtion1) then (acton1) if else (conditon2) then (action2) if else (condition3) then (action3) else (acton4) how can perform this by using defrule please help me. thank you. Disclaimer: If you are not the intended recipient of this email, please notify the sender and delete it. Any unauthorized copying, disclosure or distribution of this email or its attachment(s) is forbidden. Thales Nederland BV will not accept liability for any damage caused by this email or its attachment(s). Thales Nederland BV is seated in Hengelo and is registered at the Chamber of Commerce under number 06061578. joao.mourao.vcf
JESS: Last Call for ORF
Greetings: This is the last call for anyone interested in the October Rules Fest, http://OctoberRulesFest.org - Rooms are reserved for the $149 rate ONLY through October 15th. Also, after October 15th, because of extra bookkeeping and accounting problems that we will incur, conference fees will be $200 rather than $150. Please - if you are coming to the conference, do it now? thanks, P.S. - If you have any problems signing up or going through Pay Pal, please let either Greg, Rolando, or myself know right away. SDG jco Senior Consultant / Architect KnowledgeBased Systems Corporation http://www.kbsc.com Co-founder and Director of The October {Technical} Rules Fest -THE RuleBased Systems Conference Oct 22-24 Dallas, TX http://www.OctoberRulesFest.org This above all: to thine own self be true, And it must follow, as the night the day, Thou canst not then be false to any man. Hamlet, Act 1, Scene III http://www-tech.mit.edu/Shakespeare/hamlet/hamlet.1.3.html 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]
JESS: October Technical Rules Fest
Greetings: Monthly reminder about the October Technical Rules Fest. Check out the site, check out the speakers, check out the agenda, check out the talks... First Class all the way with some of the most interesting speakers in the rulebase space. Note that this is NOT like the Business Rules Forum - that's the following week in Orlando. Nope, ours is more of geek thing where you can meet with the inventors of various rulebase systems as well some of the upper ranking geeks. I'll send only one more email about this before it begins on October 22nd. But, mainly, this is a conference where you can have FUN and LEARN at the same time. We're expecting a huge student turnout (they will get their notices on Monday or Tuesday of next week) and we have a limited number of seats. So, if you want to be sure that you have a seat, register now. SDG James Owen Senior Consultant / Architect KnowledgeBased Systems Corporation Co-founder and Director October Rules Fest -THE RuleBased Systems Conference Oct 22-24 Dallas, TX This above all: to thine own self be true, And it must follow, as the night the day, Thou canst not then be false to any man. Hamlet, Act 1, Scene III http://www-tech.mit.edu/Shakespeare/hamlet/hamlet.1.3.html
Re: JESS: Performance question
Greetings: I don't normally get all involved with this kind of thing but there is a practical example that shows how easily rule performance can go astray. This is taken directly from Girratano and Riley's book, Chapter 9.12, The Importance of Pattern Order (deffacts information (find-match a c e g) (item a) (item b) (item c) (item d) (item e) (item f) (item g) ) (defrule match-1 (find-match ?x ?y ?z ?w) (item ?x) (item ?y) (item ?z) (item ?w) = (assert (found-match ?x ?y ?z ?w) ) ) This should run quickly. But, change it slightly so that we replace match-1 with match-2 below (defrule match-1 (item ?x) (item ?y) (item ?z) (item ?w) (find-match ?x ?y ?z ?w) = (assert (found-match ?x ?y ?z ?w) ) ) If you watch-facts each time, you'll see the difference. HOW we write rules directly affects the performance of the rules. And since my thing is rulebase performance, I just couldn't resist. Have fun and enjoy the exploration. :-) SDG jco Senior Consultant / Architect KnowledgeBased Systems Corporation Co-founder and Director October Rules Fest -THE RuleBased Systems Conference Oct 22-24 Dallas, TX This above all: to thine own self be true, And it must follow, as the night the day, Thou canst not then be false to any man. Hamlet, Act 1, Scene III http://www-tech.mit.edu/Shakespeare/hamlet/hamlet.1.3.html On Sep 3, 2008, at 12:26 PM, Ernest Friedman-Hill wrote: On Sep 3, 2008, at 12:54 PM, [EMAIL PROTECTED] wrote: Is the equality comparison using == or equals? It's jess.Value.equals(), which uses == for INTEGER, FLOAT, LONG, etc, but equals() for object types. -Russ -Original Message- From: [EMAIL PROTECTED] [mailto:owner-jess- [EMAIL PROTECTED] On Behalf Of Ernest Friedman-Hill Sent: Friday, August 29, 2008 2:26 PM To: jess-users Subject: Re: JESS: Performance question On Aug 29, 2008, at 12:58 PM, [EMAIL PROTECTED] wrote: The performance of the second version is much slower, especially as the number of facts increases. Is this just the overhead of my function call vs. equals. Does anyone have suggestions about possible restructuring of the problem that might minimize the calls necessary?. For an equality comparison, Jess can use the hashcodes of the tested values to sort the facts into bins, and then actually do the comparison on only a comparatively small fraction of th facts. This is a big win. For a function, though, Jess has to do *all* the comparisons, since it doesn't know how to organize the data to eliminate any. As a side note, I'm noticing that the performance of Jess7.1p1 is slower than 70p2.I was expecting a performance increase because of the use of the test CE but that doesn't seem to be making a difference. Jess 7.1 has a lot of different optimizations, some for speed, some for space, and there's always a tradeoff between these two. Some programs do run faster (some *much* faster), while others might run a little slower. If you're seeing a nontrivial slowdown, though, I'd be interested in hearing the details. - Ernest Friedman-Hill Informatics Decision Sciences, Sandia National Laboratories PO Box 969, MS 9012, Livermore, CA 94550 http://www.jessrules.com 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] 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] . - Ernest Friedman-Hill Informatics Decision Sciences, Sandia National Laboratories PO Box 969, MS 9012, Livermore, CA 94550 http://www.jessrules.com 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] .
Re: JESS: A question of optimisation
Just one thought - you might also also modify the care-unit as well to remove the available bed. SDG jco co-founder director Dallas Rules Group sponsor October Rules Fest business rules conference Oct 22-24 Dallas, TX I never saw a wild thing sorry for itself. A small bird will drop frozen dead from a bough without ever having felt sorry for itself David Herbert Lawrence. (Also in the Movie, G I Jane) On Jul 2, 2008, at 7:51 AM, Peter Lin wrote: the example confuses me a bit. If I had to do the same thing the rule might look like this. (defrule assignBed ?patient - (patient (id ?p) (unit ?u) (bed ?b:(eq ?b 0) ) ;; if the patient hasn't been assinged. assuming unassigned is zero ) (care-unit (id ?u) ;; join on the patient's assigned care-unit (availableBeds ?beds:( ?beds 0) ) ;; checks to see if unit has available bed ) (bed (id ?bedid) ;; bind bed id to variable ?bedid (unit ?u) ;; join on the care-unit ) = (modify ?patient (bed ?bedid) ) ) The example in the email wouldn't work, since it would only match patients that are already assigned to a bed in a care unit. I'm guessing, you only want to assign beds to patients without an assigned bed. The first pattern checks to make sure it doesn't try to find a bed for patient that already has one. doing it this way, the search space should be considerably smaller. peter On Wed, Jul 2, 2008 at 8:44 AM, Florian Fischer [EMAIL PROTECTED] wrote: Hello, I have a question about optimizing a query in Jess. I have (let's take round numbers) 100 care units. Each care unit has 20 beds and on average 10 patients. I want to match patients to their beds. A patient has an attribute giving its current bed. I could write something like (defrule ... (bed (id ?b)) (patient (id ?p) (bed ?b)) (not (the patient is attached to the bed)) = (attach the patient to the bed) ) but then, each patient is compared to each bed, which takes 2 millions comparisons. I'd like to optimize that by first matching a patient to its care unit and then comparing the patient with the beds of that care unit. That would take 1000*100 tests to match patients to care units and then 1000*20 tests to find the right bed. That is 120'000 instead of 2'000'000 comparisons. So I would write something like this: (defrule ... (care-unit (id ?u)) (bed (id ?b) (unit ?u)) (patient (id ?p) (unit ?u) (bed ?b)) (not (the patient is attached to the bed)) = (attach the patient to the bed) ) but will it work? Will the matching of patients to care units be factored out and then compared only to the beds matching the care unit, or will each patient be checked against each of the 2 intermediates results of the first 2 lines? Best regards, Florian Fischer 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] . 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] . 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]
JESS: Rete Algorithm
Greetings: On Thursday evening at about 7:00 p.m. (CDT) or so, Larry Terril (on of our more advanced members in the Dallas Rules Group) will be presenting a talk on the Rete Algorithm. Should you wish to attend and watch but are unable to come in person, please forward your Skype id to either myself or Pete Carapetyn and we will try to accommodate you. Dr. Charles Forgy will be on hand at the end of the meeting should any of you have any questions. Also, don't forget the October Technical Rules Fest - check it out at http://www.rulesfest.org for more details about the schedule, agenda, etc. SDG jco I never saw a wild thing sorry for itself. A small bird will drop frozen dead from a bough without ever having felt sorry for itself David Herbert Lawrence. (Also in the Movie, G I Jane) 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]
JESS: October Technical Rules Fest
Greetings Jess Users and Abusers: This is kind of early, but you are anywhere near the Dallas / Fort Worth area in mid-to-late October 2008, you might want to attend the October Technical Rules Fest that will be held somewhere in the DFW area - don't have a home for it yet but we're really looking since we have a GREAT slate of speakers. Check out http://dallasrulesgroup.org/2008_October_Rules_Fest for details. By early June we'll have a page to register and some more information. BUT, for now, just the lineup of speakers who have actually committed to speaking is (not to brag) quite impressive. :-) You can still join the group so that you are kept up to date on the emails but check back in by mid-June at any rate. See you there? SDG jco I never saw a wild thing sorry for itself. A small bird will drop frozen dead from a bough without ever having felt sorry for itself David Herbert Lawrence. (Also in the Movie, G I Jane)
Re: JESS: Survey On Rule Base Development - Methods, Tools and Problems
Just an observation: database - one word rulebase - one word SDG jco This above all: to thine own self be true, And it must follow, as the night the day, Thou canst not then be false to any man. Hamlet, Act 1, Scene III http://www-tech.mit.edu/Shakespeare/hamlet/hamlet.1.3.html On Apr 16, 2008, at 8:32 AM, Valentin Zacharias wrote: Hello Everyone! We are conducting an online survey on the development of rule bases and would really appreciate your opinion! The survey is very short and should only require a few minutes to complete. Any additional feedback or comments are also very welcome. To participate please go to: http://www.surveymonkey.com/s.aspx?sm=C7WcI0aZe_2fhMtRMuAGcZYg_3d_3d The goal of the survey is to give an overview of the kind of methods and tools actually used for the development of rule-based systems (with a focus on verification and validation). It also tries to identify some of the challenges facing rule-base development. The results of the survey will be publicly available. Drop me a note or enter your email address at the end of the survey to have them sent to you. I'll also send another note to this mailing list once the results are available. If you answer all questions and enter your email address at the end of the survey, you have a chance to win a Canon SD1100 that will be given to one of the participants thanks for your support, Valentin Zacharias -- email: [EMAIL PROTECTED] phone: +49-721-9654-806 fax : +49-721-9654-807 http://www.vzach.de/blog = == FZI Forschungszentrum Informatik an der Universität Karlsruhe (TH) Haid-und-Neu-Str. 10-14, 76131 Deutschland, http://www.fzi.de SdbR, Az: 14-0563.1 Regierungspräsidium Karlsruhe Vorstand: Rüdiger Dillmann, Michael Flor, Jivka Ovtcharova, Rudi Studer Vorsitzender des Kuratoriums: Ministerialdirigent Günther Leßnerkraus = == 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] . 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]
Re: JESS: White Papers
Greetings - Wolfgang et al: OK, I think I've fixed all the links. Thanks for the heads up on all of this. BTW, the Doorenbus thesis is a really good, in-depth, explanation of the Rete Algorithm along with a lot of other stuff. Gupta (along with Forgy and Newell) did a lot of work on parallel RBS long before commercial vendors even thought about it. The Minsky papers were two different publications but, for some reason that I have long since forgotten, I put both up there. If any of you run across any more really good papers, let me know. Check back often since I'll be trying to keep this updated and in- synch. :-) SDG jco Senior Consultant / Architect KnowledgeBased Systems Corporation This above all: to thine own self be true, And it must follow, as the night the day, Thou canst not then be false to any man. Hamlet, Act 1, Scene III http://www-tech.mit.edu/Shakespeare/hamlet/hamlet.1.3.html On Apr 8, 2008, at 12:56 AM, Wolfgang Laun wrote: Thank you! But many links (e.g., to 1998/Miranker, 2004/OMG, 2006/Owen, 2007/ Ansotegui, 2007/Sottara,...) appear to be broken. And: s/Demana/Demand/ Thanks Wolfgang James C. Owen wrote: Greetings: I've been promising this for years and years and finally go around to it. I've posted a BUNCH of older white papers on AI and Rulebased Systems at http://www.kbsc.com/whitePapers.html including Dr. Forgy's original 1979 dissertation by chapter. His stuff is quite long and is about 12-15MB per pdf. The others are smaller. Most are from the God Fathers of AI. (What happened to the God Mothers of AI?) Anyway, enjoy... If you see something that you think should be there, let me know and I'll download it and post it. BTW, the Jess Group is still the best user group that I've EVER seen. :-) SDG jco Senior Consultant / Architect KnowledgeBased Systems Corporation This above all: to thine own self be true, And it must follow, as the night the day, Thou canst not then be false to any man. Hamlet, Act 1, Scene III http://www-tech.mit.edu/Shakespeare/hamlet/hamlet.1.3.html 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]
Re: unsure,Re: JESS: White Papers
I'll fix the broken links this weekend. Also, the paper by Marvin Minsky was (I believe) actually published twice. Once in an academic magazine and again in the AI magazine. I probably left off a mark somewhere. SDG jco Senior Consultant / Architect KnowledgeBased Systems Corporation This above all: to thine own self be true, And it must follow, as the night the day, Thou canst not then be false to any man. Hamlet, Act 1, Scene III http://www-tech.mit.edu/Shakespeare/hamlet/hamlet.1.3.html On Apr 8, 2008, at 3:28 AM, Beatriz López wrote: Hi, I have also some problems with: 2007 - David Sottara - Uncertainity in AI.pdf and 2007 - Ansotegui, Bonet, Levy, Maya - Weighted CSP.pdf Moreover, the following publications are the same: 2001 - M.Minsky - Why People Think Computers Can't - AIMag.pdf 1982 - Marvin Minsky - Why People Think Computers Can't.pdf Thnaks, Beatriz. - Original Message - From: W. MICHAEL HAIRFIELD [EMAIL PROTECTED] To: jess-users@sandia.gov Sent: Tuesday, April 08, 2008 2:18 AM Subject: unsure,Re: JESS: White Papers James, Thanks for all the work. I tried to click on 2002 - Mark Watson - Practical_AI_in_Java.pdf but I get a URL does not exist on this server error. Could you please check on this link? Thanks, Mike Hairfield [EMAIL PROTECTED] On Mon, 7 Apr 2008, James C. Owen wrote: Greetings: I've been promising this for years and years and finally go around to it. I've posted a BUNCH of older white papers on AI and Rulebased Systems at http://www.kbsc.com/whitePapers.html including Dr. Forgy's original 1979 dissertation by chapter. His stuff is quite long and is about 12-15MB per pdf. The others are smaller. Most are from the God Fathers of AI. (What happened to the God Mothers of AI?) Anyway, enjoy... If you see something that you think should be there, let me know and I'll download it and post it. BTW, the Jess Group is still the best user group that I've EVER seen. :-) SDG jco Senior Consultant / Architect KnowledgeBased Systems Corporation This above all: to thine own self be true, And it must follow, as the night the day, Thou canst not then be false to any man. Hamlet, Act 1, Scene III http://www-tech.mit.edu/Shakespeare/hamlet/hamlet.1.3.html 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] . 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] . 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]
Re: JESS: Distributed Jess Engine?
Greetings: I have a friend who filed a patent on the MVM (Multiple Vitrual Machines) concept that was pioneered by IBM - but at that time software could not be patented, only copyrighted. And you could not copyright nor patent a process such as that. Things change so he patented and copyrighted the process. Not that he could defend it nor collect royalties on it. And the main question is, How long can you afford to legally defend the patent if someone else with really deep pockets wants it? Usually, the little guy loses out unless he has a really good lawyer willing to work for a cut of the final pie. SDG jco Senior Consultant / Architect This above all: to thine own self be true, And it must follow, as the night the day, Thou canst not then be false to any man. Hamlet, Act 1, Scene III http://www-tech.mit.edu/Shakespeare/hamlet/hamlet.1.3.html On Feb 6, 2008, at 11:47 AM, Peter Lin wrote: In theory it is possible to build a distributed RETE rule engine. The catch is no rule engine today supports that capability. I filed a patent for it back in 2003/2004. anyone interested in details can email me directly. peter lin On Feb 6, 2008 11:57 AM, Mohd. Noor [EMAIL PROTECTED] wrote: Hi all, Is that any answer to Michael's question- I've the same inquires. Cheers mnoor On Jan 30, 2008 4:39 PM, Michael Frey [EMAIL PROTECTED] wrote: Hi, is it possible to distribute parts of Jess on multiple machines, e.g. one peer engine runs on node 1 while the original engine and it's rule base run on another one or are there other distribution mechanisms? Best Regards, Michael -- Michael Frey Telecommunications Software Systems Group ArcLabs Research Innovation Centre West Campus Waterford Institute of Technology Carriagnore, Co.Waterford, Ireland mail: [EMAIL PROTECTED] web: http://www.tssg.org 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 owner-jess- [EMAIL PROTECTED]
Re: JESS: Rule refinement base on jess
Well, it looks like no one else will answer so I'll give it a shot. Several other rulebase systems (all of them commercial and quite expensive) actually do what they call a gap analysis - which is nothing more than considering all of the attributes and possibilities and combinations and then telling you which ones you left out. Which ones you should put in, at that point, is left up to you. Usually the ones that you left out aren't important in small systems but can be quite expensive if you're trying to design a large, enterprise system for a financial company who can't afford to lose out on a single rule that is put out on the internet for the entire world to try and hack into. In the meantime, may I suggest this: Put the rules into a spreadsheet (not the best way to do this but it works for small rule sets) and then look at the outcomes. On rule per spreadsheet. Remember, if each condition element is true or false, then you will have 2^n rows, or rules, for each rule that could become a ruleset. If there is an attribute (CE) that has 3 possible answers, leave it out of the 2^n calculation and then just multiply the 2^n result by 3. (Or 4 or whatever...) What you'll find is that you might have a possible combination of 80K or 100K rules where you had originally thought that there were only 100 rule combinations. Admittedly, a lot of these rows (rules) can be removed by combinations and some of them might be highly unlikely or might have no bearing on the output - but, on the other hand, they might and should be considered. Like I said, not the best way to do a gap analysis but it works for small rules with few condition elements. SDG James C. Owen Senior Consultant / Architect [EMAIL PROTECTED] http://www.fairisaac.com This above all: to thine own self be true, And it must follow, as the night the day, Thou canst not then be false to any man. Hamlet, Act 1, Scene III http://www-tech.mit.edu/Shakespeare/hamlet/hamlet.1.3.html On May 6, 2007, at 1:39 PM, ggly wrote: Hi, all I want to do rule refinement base on jess, or we can say verify completeness and consistency in rule-based of jess. Has someone done that before? Can you guys give me some advise or info about that, thanks!! Look forward to your reply. My email add: [EMAIL PROTECTED] -- View this message in context: http://www.nabble.com/Rule-refinement- base-on-jess-tf3699515.html#a10345113 Sent from the Jess mailing list archive at Nabble.com. 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 owner-jess- [EMAIL PROTECTED] 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]
Re: JESS: system for elaboration of scholastic schedules
Jesus et al. This not a slam on Jesus nor anyone else. However, it does seem that any time a student gets assigned a project on Expert Systems they usually turn to Jess or another free rulebased system. The second thing is to ask someone on the BBS to, basically, write it for them. The old-timers see what's coming and run for the hills. (meaning they don't answer.) Why won't they help? Well, mainly because it's a bit like helping someone cheat on their homework assignment and, more importantly, the old-timer ends up writing the system AND trying to explain it to the student. Now, not everyone does this. Some students just want someone to open the door so that they can see inside. We were ALL there once. God's bodkins, man. Give every man his just desserts and no one should 'scape a whipping. (Hamlet) All of us needed a mentor at one time or another. But, look first on campus or among your friends who live locally to come over and help. I would really HATE it if any of my early code on expert systems that I wrote the first 10 years got into the public domain. What ignominy. What shame. :-) Actually, it worked, but it was not the most elegant solution possible. Bottom line: RTFM (Read The Fabulous Manual!) Then ask questions so the our benefactor doesn't have to tell you to look on page such and such and embarrass you in front of the whole world. SDG James C. Owen Senior Consultant / Architect This above all: to thine own self be true, And it must follow, as the night the day, Thou canst not then be false to any man. Hamlet, Act 1, Scene III http://www-tech.mit.edu/Shakespeare/hamlet/hamlet.1.3.html On Mar 10, 2007, at 6:29 PM, Jesus Emanuel Garcia wrote: Hello to all, the reason for my mail is for requesting its aid to him for a final project of a matter. The project consists of an expert system for elaboration of scholastic schedules in JESS and JAVA. I have left just a short time to give it, somebody of you whom a similar project has made that can help me in like beginning to program the rules. Excuse by the bad writing. Greetings Jesus Emanuel Garcia
Fwd: JESS: Compiled Sequential rule evaluation
I sent Mitchell's request to James Taylor (VP at FIC) for the official answer from FIC. It's below. SDG jco Begin forwarded message: From: Taylor, James [EMAIL PROTECTED] Date: November 17, 2006 1:42:35 PM CST To: [EMAIL PROTECTED] Cc: James C. Owen [EMAIL PROTECTED] Subject: FW: JESS: Compiled Sequential rule evaluation Mitchell James asked me to answer this one, as I know a little about how Blaze Advisor does this. Blaze Advisor 6.1, for both .NET and Java, has two high performance modes: - Rete III for high-performance inferencing or forward- chaining - Compiled sequential for high performance sequential execution (developer orders rules within rulesets) So it is not really true that compiled sequential is a performance improvement over Rete - Rete III is the execution mode that offers better inferencing performance (relative to the original Rete). Compiled sequential mode takes the rules, executes them sequentially and compiles them to Java or .NET byte code “under the covers”. You call the rules engine the same way in each case but the rules are executed differently. When you call the complied sequential version you don’t change the call (from the main application) as the compilation is done by the engine. Relative to other sequential execution there is no loss from using compiled sequential. Relative to Rete III you lose inferencing. Hope that helps James Taylor Vice President , Enterprise Decision Management Fair Isaac Corporation [EMAIL PROTECTED] Blogs: http://www.edmblog.com and http://www.ebizQ.net/blogs/ decision_management Subscribe to the EDM blog with RSS or by email. Despite not being sent from my Blackberry, this email may nevertheless be terse and contain spelling and grammatical errors.
Re: JESS: command line behaviour on OSX
I've been using Mac's since they started using BSD as the foundation for OS X. The bash shell (default) has the up-down arrow commands for history. Mac is ideal for old Unix guys who grew up using the Unix command line and can switch between bash, korn, bourne and c shells. Personally, I like the korn shell best but bash is a close equivalent. My suggestion is to get a good book on Unix or Mac OS X and go through all of the command line stuff that the Unix SysAdmin guys use. Have fun. It's the same struggle that Unix guys have when they get their first Windows machine. :-) SDG jco Never give in--never, never, never, never, in nothing great or small, large or petty, never give in except to convictions of honour and good sense. Never yield to force; never yield to the apparently overwhelming might of the enemy.'' The speech was made 29 October 1941 to the boys at Churchill's old public [private] school, Harrow--not Oxford nor Cambridge. On Nov 15, 2006, at 6:23 PM, Robert Kildare wrote: I have just installed Jess on my fancy new macbook (OSX_4). I find that using the command line is very limiting compared to the WinXP command line. There is no up/down arrow history, in particular. Does anyone know how I can get this functionality at the terminal, short of installing Windows as well? Rob 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 owner-jess- [EMAIL PROTECTED] 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]
Re: JESS: command line behaviour on OSX
Or, maybe I just misunderstood the problem. And Ernest had a good suggestion as well... :-) SDG jco Never give in--never, never, never, never, in nothing great or small, large or petty, never give in except to convictions of honour and good sense. Never yield to force; never yield to the apparently overwhelming might of the enemy.'' The speech was made 29 October 1941 to the boys at Churchill's old public [private] school, Harrow--not Oxford nor Cambridge. On Nov 15, 2006, at 6:23 PM, Robert Kildare wrote: I have just installed Jess on my fancy new macbook (OSX_4). I find that using the command line is very limiting compared to the WinXP command line. There is no up/down arrow history, in particular. Does anyone know how I can get this functionality at the terminal, short of installing Windows as well? Rob 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 owner-jess- [EMAIL PROTECTED] 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]
Re: JESS: certainty/confidence factor
Samson - First, thanks for your response that sent me to another white paper I had not seen. However, the discussion in Girratano and Riley's book is not quite the same as the topic of the author of the paper, even though similar and both do discuss MYCIN as the basis of conversation. And even though Ernest does not encourage theoretical discussions on this board I'll answer your comment and then go quietly back into the woodwork. :-) Something else to take up precious time - but I couldn't resist, so I read the paper. Interesting... (Nice way to say I don't necessarily agree with it.) The author failed to note that a rulebased system is non-monotonic, not monotonic as were the systems with which he was working, and the monotonicity was the foundation of his argument against using confidence intervals. Even then, I couldn't quite agree that he was considering the far richer implementations of CE than that of the classic CE. And the authors of MYCIN also struggled with this problem but they seem to have come up with a fairly good solution though not perfect. The other point was his misconception of probabilities, which I would not have expected from a noted author. In the article he was factoring in the probability of drawing a white ball from a jar after having drawn a white ball would be reduced the second time if the two balls in the jar were one white and one black. Not quite. That's the same theory of asking if you flip a fair coin five times and all five times are heads, what are the odds that the next flip will be heads? The same as the first time: 50/50. Prior probabilities are not the same as asking what are the odds of flipping a coin and getting a heads all six times. In that event, a prior probability, it is .5*.5*.5*.5*.5*.5 - not very good. But stopping at each point and asking what is the probability of the next one being heads is still the same; 50/50. And on his scale of -1 to +1 that should have been zero each time. That gambling example was a really hard reality for me to swallow in my sophomore statistics course but it has stood me well over the years. Anyway, back to the initial thought; this probably is not the place nor the space to debate probabilities, combinations, permutations, set theory, pattern matching and confidence intervals so I'll quit on that final note. I did enjoy the paper though because it disagreed with me and made me have to think - something that I should do more of these days but don't due to other pressures. Maybe one day I'll have a position where I can just shut the door and cogitate on the unknown things of the universe. :-) SDG jco James C. Owen Senior Consultant [EMAIL PROTECTED] http://www.kbsc.com To be or not to be. That is the question. Whether 'tis nobler in the mind to suffer the slings and arrows of outrageous fortune or by taking up arms to defeat them. (So saith Shakespeare in Hamlet, from my own cluttered memory so it might not be quite right.) On Oct 17, 2006, at 12:28 PM, Samson Tu wrote: There are inherent problems in building management of uncertainties into rule-based systems. See D. E. Heckerman, E. Horvitz. On the Expressiveness of Rule-Based Systems for Reasoning with Uncertainty. AAAI - 87, Sixth National Conference on Artificial Intelligence, Seattle, WA, 1987. http://smi-web.stanford.edu/auslese/smi-web/reports/SMI-87-0194.pdf James C. Owen wrote: Actually, certainty and/or confidence factors are discussed in detail in the Giarratano and Riley's book, complete with an introduction to probability theory as well as many other concepts not normally used in business software. This approach was used with great success in diagnosis when designing MYCIN, an early rulebased system dealing with medical diagnosis, as well as many of some other types of prognostication software. It isn't easily implemented in straight Jess nor in any other forward chaining package, BUT it can be done with a bit of thought up front concerning tracking tables, maximum probabilities, etc. After all, you wouldn't want to have a 250% chance of something happening. But it does deal with the problem of a 70% chance that something will happen and a 10% chance that something will not happen. The other 20% is the problem child. Is it doubt or confidence? This kind of logic is also used extensively in the financial fraud detection and CRM software. _Great_ stuff but requires 70% thought and 30% coding. Something to which we, as programmers, are not usually accustomed. :-) And you are right - a fuzzy logic extension relieves a lot of the manual programming. But, on the other hand, it also adds some restrictions to what you can and can not do. I've often wondered why vendors such as ILOG, FIC, Pega, MindBox, Haley, etc., etc. don't include something like that. But, then, they've never really
Re: JESS: Priority/Selection within a match list
Stephene et al, As Jason pointed out about salience being used sparingly, there is one other heuristic: If you have more then three levels of salience/ priority then your problem may be better suited for a procedural language. Just a thought... Also, if the rules MUST be done in order, then it's a procedural problem. Thinking declaratively is difficult at first but becomes easier as you go along the path to enlightenment. :-) SDG jco Large organizations exist primarily for the benefit of the large corporation. Whether it be the government (at any level) or a religious organization, such as a church or philanthropic organization. They exist NOT for the benefit of the customer, the personnel who work there nor for the public - even though a mantra to that effect that might be in their organizational statement. Depend on it; when push comes to shove, the little guy loses out. Every time. On Aug 16, 2006, at 1:57 AM, Stephane Bailliez wrote: Hi all, I'm (very) slowly getting up to speed with experts systems (and jess) and I have a few general questions around it... I have actually a lot more but will try to do my homework more before :) Nonetheless, here are my concerns: I have rules where order is (or seems) to be a concern. Actually in the real world the priority that is set is purely human at the moment.. rules are valid for a certain period of time within the system and their priority depends on estimation of the initial weight that we want this rule selection to have in the whole system and an additional weight that is to be increased (at this time manually) depending on how well the result of this rule is represented in the system and how close it is before end date. I basically have to pick up a list of 10 matches every once in a while, (even though I may have 100 matching). And I can assume for now the result is sorted in term of priority. So my question is: - Is salience a good place to mess with for this sort of 'priority' function ? I was thinking basically to try to set the salience depending on the priority so could expect to get the 10 one quite immediately. Reading JIA, documentation, etc...seems to indicate it would be better to stay away from that. correct ? - Should I simply assume that every match adds information to a multislot and that I try to come up with another rule that is arranging elements in the multislot based on priority ? (I have no clue how to do that yet) Cheers, Stephane 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 owner-jess- [EMAIL PROTECTED] 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]
JESS: More on AI systems
Well, updated the link on AI systems today to include a bit about Turing, Gödel and Church. Some will find it interesting; some won't. If you do happen to read it and find a mistake, please let me know and I'll correct it. Oh, yes - one other thing - I also put the links for the Performance for various engines. Jess will follow sometime in August when I get the kinks out of my systems. Thanks,http://www.kbsc.com/expertsys.html SDGjco"Large organizations exist primarily for the benefit of the large corporation. Whether it be the government (at any level) or a religious organization, such as a church or philanthropic organization. They exist NOT for the benefit of the customer, the personnel who work there nor for the public - even though a mantra to that effect that might be in their organizational statement. Depend on it; when push comes to shove, the little guy loses out. Every time."
Re: JESS: Fact definition from Java
Speaking of which :-) when is the 2nd edition of Jess In Action coming out? Giarratano and Riley are now into their FOURTH edition since first edition came out in 1989. I think I have all three somewhere - the older ones probably in boxes somewhere but the 3rd edition is pretty well marked up for teaching CLIPS and/or Jess. Unfortunately, Jess and CLIPS seem to be diverging and now I need a new book to teach Jess rather than have to come up with one on my own. It's bad enough to have to do hundreds of overheads for a class when teaching from the book. (The overheads are just to keep the student focused on the front of the room - me - when teaching since the subject is necessarily difficult for most of them.) Anyway, just wondering... SDG jco [EMAIL PROTECTED] http://www.kbsc.com This above all: to thine own self be true, And it must follow, as the night the day, Thou canst not then be false to any man. Hamlet, Act 1, Scene III On Jul 17, 2006, at 8:26 AM, friedman_hill ernest j wrote: I think mdean77 wrote: Ridiculous question. I have a Bean in Java. I want to have Jess build itself a template for a shadow fact. But Jess does not know about the Bean. How does one tell Jess about the classes that have been created in Java? Right now, I manually create a fact in Jess and move the values from Java, but this is not ideal. In Jess 7, you can use Rete.add(), which automatically creates the template if needed and adds the object to working memory. In Jess 6 -- or if you want to choose your own template name rather than using the class name -- you can use the Rete.defclass() and Rete.definstance() methods. The manual section concerning templates, facts, and Java objects in working memory has been completely rewritten for the next release -- I hope it will make this stuff easier to learn and use. - Ernest Friedman-Hill Advanced Software Research Phone: (925) 294-2154 Sandia National LabsFAX: (925) 294-2234 PO Box 969, MS 9012 [EMAIL PROTECTED] Livermore, CA 94550 http://herzberg.ca.sandia.gov 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 owner-jess- [EMAIL PROTECTED] 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]
Re: JESS: Jess and Java Generics
As an old Jess programmer and an old C/C++ programmer, I remember the cool part of using STL in C++. Now we have AOP in Java and Java Generics. All of this really is cool and adds power to the programmer. HOWEVER (which means that you can forget all the former platitudes mention before this) - while all of those things add power and flexibility for the initial programmer they simply add indirection to an already existing, enterprise project and makes it incredibly difficult to follow if and when you arrive on a project done by a previous employee or consultant (who is no longer available) and they are rarely properly documented. I would say never (because I have never had the pleasant experience) but someone would pipe up and say, Well, we ALWAYS require proper documentation on our code - whether on throw-away code or not. Sure. Right. Meanwhile, Al and I co-invented the theory of relativity but he wouldn't share the credit with me. So, one vote for NOT doing something silly and (probably) thousands of votes for doing something silly... Hamilton was right. The people really don't know enough to govern themselves. Or, as Scott Bence puts in on all of his emails, 50% of the people are below average. Get used to it! :-) NOTE: This is not a flame and is not intended to start a flame war. Just some observations. :-P SDG jco This above all: to thine own self be true, And it must follow, as the night the day, Thou canst not then be false to any man. Hamlet, Act 1, Scene III On Jul 2, 2006, at 8:01 AM, friedman_hill ernest j wrote: I think Ozsariyildiz, S.S. wrote: Is there going to be support for Java Generics for the future releases of JESS? If there is one what are the plans? An interesting question. Jess is weakly typed, and generics are a mechanism for making things more strongly type-checked at compile time; they have no runtime component, so I can't really think of anything that Jess would need to do. What kind of support do you envision? - Ernest Friedman-Hill Advanced Software Research Phone: (925) 294-2154 Sandia National LabsFAX: (925) 294-2234 PO Box 969, MS 9012 [EMAIL PROTECTED] Livermore, CA 94550 http://herzberg.ca.sandia.gov 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 owner-jess- [EMAIL PROTECTED] 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]
JESS: ILOG and Jess
[I wrote this several days ago and it dropped through the cracks of the email system. Nevertheless, I think it still needs to be said.]As an independent consultant who uses various rulebased systems, some are called Business Rule Management Systems, or BRMS, I think I'll have to somewhat agree with Ernest in that each rulebase has its own, individual features and benefits, handicaps and drawbacks. For system that is free for academic or government use, although it does cost quite a bit for commercial use, Jess is one of the best there is. In my humble opinion. Especially considering the support that you get with Ernest et cie.Now, just in case you missed an earlier email, trying to write a parser to translate code from one system to another is madness of the first magnitude. Each system has things that the other one does not have. And each system has a different "way" to code things. Jess has a limited form of backward chaining. The old Nexpert (Neuron Data Expert now owned, but not promoted, by Fair Isaac) was a true, fullly opportunistic backward chaining system. Mandarex is a backward chaining system only. Blaze Advisor has a "when needed' clause that can be used to simulate backward chaining. OPSJ, at one time, incorporated backward chaining elements that were later taken out. As one a God Father of the industry once said, "Any forward chaining engine can be made to do backward chaining and any backward chaining engine must eventually forward chain to deliver results."So, please, please, please do NOT do what you are suggesting. Stop. Learn the language. Learn the benefits. READ THE FABULOUS MANUAL and the book!! Get familiar with what you have with Jess. THEN do something constructive with it. THEN you will understand why we (everyone who has written on this mailing list on this subject) keep saying, "Don't do that!" SDGjcoJames C. OwenSenior Consultant[EMAIL PROTECTED]http://www.kbsc.com"Never give up. Never give up. Never, never, never give up." From a speech by former Prime Minister, Winston Churchill, during the most trying times of the British Empire; a great leader too soon forgotten by his country after keeping it from being swallowed up by the Nazi Empire during the second world war.
Re: JESS: Adding facts from java
RTFM - Read The Fabulous Manual !!! Either the on-line documentation or the book, Jess In Action. The examples in either of these actually work. So, FIRST get something working, then modify, check the problem yourself. THINK! And asking the man who wrote the book on Jess if he knows how get things to work from Java... Well, that borders on being a personal insult. Dr. Ernest Friedman-Hill has been and is being a perfect gentleman during this discourse. But I don't think that he should actually write the program for you. As Morpheus said to Neo in the Matrix, I can only show you the door - you have to open it and walk in. SDG jco On Mar 10, 2006, at 10:05 AM, ahmad Sayed wrote: Sorry but i've never said that u weren't helpfull. I was trying to solve the problem with many different ways, and I was asking u why it's not working each time! I never asked two questions for the same problem ! I was trying what u were telling me, but when it gaves no results, it's normal to show u the problem i guess ! that's the purpose of the mailing list if i'm not wrong ! Well anyhow, that's not the problem now. My program did finally work and thank u anyway for being helpfull. Concerning the error message, it would be better I think if it could tell could not find deftemplate predicate in fact myfact for example. it would be more clear. Regards, [EMAIL PROTECTED] wrote: I think ahmad Sayed wrote: [Charset iso-8859-1 unsupported, filtering to ASCII...] Ok do u know how to get things work from java? I'm asking just the very simple things to start things over. I mean I just need to add facts from java and nothing is working out, neither with the r.executecommand(factstr) or with r.assertfact(f). U can check my previous mails to see exactly what kind of errors it's giving me. I'm sorry -- do you not think I'm being helpful? You've tried the same thing at least three different ways, and each time I've pointed out the errors, and you've gone on to try things another different way rather than fixing the small errors. It seems as though you haven't even been reading what I've written. In my last mail, I told you to use triple instead of fact1, and RU.STRING instead of RU.SYMBOL for the slots that contain URLs, and then your simple program should work fine. I also asked you for feedback to help improve the error messages you've seen, because in every case all I've been doing is explaining what the error messages were already trying to tell you. - Ernest Friedman-Hill Advanced Software Research Phone: (925) 294-2154 Sandia National Labs FAX: (925) 294-2234 PO Box 969, MS 9012 [EMAIL PROTECTED] Livermore, CA 94550 http://herzberg.ca.sandia.gov 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 owner-jess- [EMAIL PROTECTED] 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]
Re: JESS: Strings vs. Symbols [tally so far]
OK, just to break the tie: An atom can be variable, a String is an atom. I agree that ?foo is not the same thing as foo and is not the same as foo and never should be. JRules, at one time, used the ? identifier in ?foo for variable identification and eventually dropped it. However, to be compatible with CLIPS, perhaps it should stay. Once you get used to it, it's like an itchy place - even when the itch is gone you still scratch just out of old habits. :-) SDG jco On Mar 10, 2006, at 4:33 PM, Jason Morris wrote: Hi All, So far, I count 3 people for the idea and 3 people opposed. Can we be sure that a relaxation of Jess's rigor won't have unintended side effects or future negative consequences? If it can be shown that these are negligible, then I might be persuaded to vote for pattern relaxation. Dave Barnett made the point that programming requires discipline, and I agree. Ernest: Why not just implement some Jess statement like (do-relaxed-matching) that forces Jess to collapse stings and symbols as well as numeric types where appropriate? Place it just like the (do-backward-chaining) statement in a Jess file. Leave Jess as it is by default. Any more lurking opinions out there? Cheers, Jason - Morris Technical Solutions LLC www.morristechnicalsolutions.com [EMAIL PROTECTED] phone/fax: 503.692.1088 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 owner-jess- [EMAIL PROTECTED] 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]
JESS: Jess Guys - Beware of Vendor Tests!
Check the blog at http://www.kbsc.com/jco for the published version of this:OK, enough is enough. I've said over and over and over that the tests that are being run on the part of Mr. Jobs are totally unfair; they always compare a dual-core Intel 2GHz to either a single core 1.xGHz G4 or a single core 2.xGHz G5 and NEVER to a dual-core G5 that has only recently been available (before Intel) nor the Dual CPU G5, which has been available for quite some time. However, in MacWorld of April 2006 they let the cat out of the bag!! Following are the times for a SINGLE core Intel at 2GHz and a SINGLE core G5 at 2.1GHz: ***IMovie 6: Apply BW Effect:: iMac Intel = 2:18 and iMac G5 = 3:11, Intel Better. (Hold on - it gets better!!)iMovie 6: Apply Aged Effect:: iMac Intel = 1:43 and iMac G5 = 1:12, G5 BetteriMovie 6: Apply Rain Effect:: iMac Intel = 2:41 and iMac G5 = 2:43, Intel slightly betteriPhoto 6: Import 100 Filse:: iMac Intel = 1:29 and iMac G5 = 1:22, G5 slightly betteriPhoto 6: Export to QuickTime:: iMac Intel = 1:36 and iMac G5 = 1:31, G5 slightly betteriPhoto 6: Export to Web:: iMac Intel = 2:13 and iMac G5 = 2:12, G5 slightly betteriPhoto 6: Export to File:: iMac Intel = 2:59 and iMac G5 = 2:40, G5 BetteriPhoto 6: Create Zip Archive:: iMac Intel = 2:33 and iMac G5 2:53, Intel BetterDoom3 v1.3.1303: Beta Demo:: iMac Intel = 34.3 and iMac G5 = 17.0, G5 Much BetteriTunes 6.0.2: MP3 Encode:: iMac Intel = 2:04 and iMac G5 = 1.23, G5 Much BetterArt of Illusion 2.2 Render:: iMac Intel = 3:37 and iMac G5 = 6:07, Intel Much BetterThese were the only ones for which I could do a direct comparison on the published data. But what it DOES show is that the G5 not only holds it ground against Intel, but for the most part its better or much better and Intel. Sorry, Steve. No Cigar. Next time be fair to the IBM guys and run a REAL direct comparison.So, the next time you see published benchmarks from anyone, get ALL of the details. Trust No One!! :-) SDGjcoJames C. OwenSenior Consultant[EMAIL PROTECTED]http://www.kbsc.com"Never give up. Never give up. Never, never, never give up." From a speech by former Prime Minister, Winston Churchill, during the most trying times of the British Empire; a great leader too soon forgotten by his country after keeping it from being swallowed up by the Nazi Empire during the second world war.
Re: JESS: Benchmarks 2000 - 2005
yes SDGjcoJames C. OwenSenior Consultant[EMAIL PROTECTED]http://www.kbsc.com"Never give up. Never give up. Never, never, never give up." From a speech by former Prime Minister, Winston Churchill, during the most trying times of the British Empire; a great leader too soon forgotten by his country after keeping it from being swallowed up by the Nazi Empire during the second world war. On Feb 8, 2006, at 9:14 PM, Hector Urroz wrote:James,Do the numbers on the spreadsheet equal the number of seconds to run each of the benchmarks?Thanks,Hector UrrozOn 2/7/06, James C. Owen [EMAIL PROTECTED] wrote:OK - now they're there. Try http://www.kbsc.com/Performance2000-2005.xls and see if you have any problems. If so, let me know personally (don't clog up the mailing list with this.) Thanks, SDGjcoJames C. OwenSenior Consultant[EMAIL PROTECTED] http://www.kbsc.com"Never give up. Never give up. Never, never, never give up." From a speech by former Prime Minister, Winston Churchill, during the most trying times of the British Empire; a great leader too soon forgotten by his country after keeping it from being swallowed up by the Nazi Empire during the second world war. -- Hector Urroz(303) 581-0563 (home)(303) 859-2735 (cell)[EMAIL PROTECTED]
Re: JESS: Research on Ontology + Jess
Knowledge Systems with a Knowledge Engineer. God save us all. In the movie Patton when they mentioned battles fought without soldiers, Patton was horrified that there could be a battle without honor or glory or personal sacrifice. He said that he hoped that he would never live that long. Well, it's happening now. I'm glad he's not here to see it. And I hope that I never see a Knowledge System without someone to aid in the growth of the system. 2001 (remember HAL) and Terminator are just around the corner. SDG jco James C. Owen Senior Consultant [EMAIL PROTECTED] http://www.kbsc.com Never give up. Never give up. Never, never, never give up. From a speech by former Prime Minister, Winston Churchill, during the most trying times of the British Empire; a great leader too soon forgotten by his country after keeping it from being swallowed up by the Nazi Empire during the second world war. On Feb 9, 2006, at 5:15 PM, Robert Kildare wrote: Hello Jason I am a PhD student in Computing, University of Tasmania, Australia using Jess in a pseudo expert system which relies on the notion that users can learn to become experts. They construct their own ontology .. with the aid of software. There is research into knowledge-base-free expert systems and how to draw hierarchic (Richards) and mesh inferences(Suryanto) from them. There is research on a system for eliminating the knowledge engineer altogether (MCRDR - Kang). These all come from the stable of the university of New South Wales in Sydney (Paul Compton I think is the instigating academic). I will be happy to fill out your questionnaire.. I can send my last paper (more than 2,000 words), but am buried in work at present. regards Rob Robert.Kildare at utas.edu.au ==Original message text=== On Fri, 10 Feb 2006 0:08:40 +1100 Karl-Heinz Krempels wrote: Hi Jason, I'll contribute a few things. Regards, Karl-Heinz. Am 01.02.2006 um 15:07 schrieb Jason Morris: Hello All Jess Users, There is a school of thought which strongly suggests that creating a formal domain ontology is prerequisite for building an expert system. I am writing a research paper on the topic, so I thought that I'd take a moment to ask for input from the Jessosphere. If you would be willing to: * Answer a very short online survey (no more than 10 questions) about ontology and how you use it, and/or * You would like to contribute an anecdote or brief case study (~2000 words or less), please send me a reply so that I can add you to my qualified response list. Any research stories, application and implementation stories, or practical use cases where you have interacted with the subject of ontology are especially valuable, and of course you can mention Jess all you want! I will be happy to cite your contribution and send you a copy of the published results. The survey will be online in about a week. Thanks in advance for your participation! Sincerely, Jason Morris - Co-moderator Jess listserver Engineering and Technology Management Department Portland State University, Portland, OR USA 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 owner-jess- [EMAIL PROTECTED] Karl-Heinz Krempels RWTH Aachen University Computer Science Department Informatik 4 (Communication and Distributed Systems) Ahornstr. 55, D-52074 Aachen, Germany Tel.: +49 (241) 80-21410 Fax: +49 (241) 80-0 EMail: [EMAIL PROTECTED] 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 owner-jess- [EMAIL PROTECTED] ===End of original message text=== 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 owner-jess- [EMAIL PROTECTED] 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]
Re: JESS: Jess and deductive databases
H With today's 64-bit environments, you can do several Terabytes in memory; if you have the memory and the architecture. We did some studies on that back in 2002 and found that 4GB was terribly limiting to a really complex rulebase. 100 tables with 1,000,000 entries ends up being 100,000,000 entries which would take, on the average of 2,000 bytes per object, 200,000,000,000 bytes of memory. And that's BEFORE you add the complexity of the rule matching. That's quite a bit and smacks of poor architecture. It's the old principle of Just throw everything into a big bucket, stir it around, and see what rises to the top. No thought. No planning. Just hoping. Now, to the time problem; I think Dr. Friedman-Hill has covered this many times and it's covered quite well in his book, Jess in Action - available from Amazon. And, no, I'm not pimping for the book. Just pointing it out. Performance tests are available at http://www.kbsc.com/ benchmarks2000-2005.xls (available sometime tonight or tomorrow) and (soon - maybe a couple of months) http://www.kbsc.com/ benchmarks2006-2010.xls. Enjoy... SDG jco James C. Owen Senior Consultant [EMAIL PROTECTED] http://www.kbsc.com Never give up. Never give up. Never, never, never give up. From a speech by former Prime Minister, Winston Churchill, during the most trying times of the British Empire; a great leader too soon forgotten by his country after keeping it from being swallowed up by the Nazi Empire during the second world war. On Feb 7, 2006, at 11:18 AM, Thomas Beer wrote: Hi all Jess users! I'm not sure if this mailing list is the right one for my question, if there is a more adequate list just give me a hint. I have a more common question regarding Jess, rule-based expert systems and deductive databases. What are the essential differences (besides the smooth Java integration) between Jess (or an rule-based expert system) and deductive databases (e.g. Ontobroker)? Is it possible to store a huge amount of facts (related to databases, e.g. 100 tables with 100 table entries each) in the working memory? Is there a kind of database backend integrated which automatically updates the working memory? Are there some performance tests available? Is Jess appropriate for handling time sensitive facts and rules related to them, e.g. If time is 06:00 then ring alarm. What I'm asking is, is it possible (or reasonable) using Jess to implement time dependent triggers? This would require periodically updates (e.g. every milli second) of the working memory, right?!? I strongly appreciate your help! Best regards, Thomas Beer Thomas Beer ECCA - eTourism Competence Center Austria Technikerstrasse 21a ICT-Technologiepark 6020 Innsbruck Austria E-Mail: [EMAIL PROTECTED] www.etourism-austria.at 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 owner-jess- [EMAIL PROTECTED] 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]
Re: JESS: Which comes first, the chicken or the rule?
If I understand what you are doing, you probably have some legacy data from which to work. If that's the case, don't even look at the legacy data until you have determined the rule logic. Then decide what data would be necessary to support that logic. If the data exist (or if most of it exists) within the legacy system, it shouldn't be too hard to convince management that you need just a few extra attributes or tables in the existing database. However, if there are drastic changes, then perhaps you can pull the legacy data down to your Unix or (God forbid!) Windows platform and add what you need at that point. The last solution is usually what happens on most projects. On the other hand, Dr. Friedman-Hill is correct in that you can always add rules (assuming that the data are there to support the rules) or even add rules and objects later. And this is also what normally happens on most rulebased projects. Even XCON started with only a few hundred rules, grew to over 1,000 the first year or so and then past 10,000 rules within a few years as more and more rule modules (sets) were added. If you are working on an enterprise project, probably the best thing is to do a pilot project with a few hundred rules, a few (less than 50 normally) objects and do an end-to- end implementation. Be sure to involve the highest level of management (for approvals and support) and the lowest levels of users (to be sure that it works correctly and will be widely accepted) along the way. Then grow gradually, not by leaps and bounds. Bon Chance! SDG jco James C. Owen Senior Consultant [EMAIL PROTECTED] http://www.kbsc.com Never give up. Never give up. Never, never, never give up. From a speech by former Prime Minister, Winston Churchill, during the most trying times of the British Empire; a great leader too soon forgotten by his country after keeping it from being swallowed up by the Nazi Empire during the second world war. On Dec 13, 2005, at 8:43 AM, Matthew Hutchinson wrote: Hi everyone, Just a conceptual question... since starting with Jess, it always seemed to me generally you have the rules established first, then load in facts which in turn trigger these rules. No problems there. But is it proper to consider having the facts already in memory and *then* adding rules which I know will trigger - basically a sort of query on the data mentality? Is this a bad concept? Cheers, Matt -- Matthew Hutchinson Ph.D. Candidate Department of Spatial Sciences Curtin University of Technology GPO Box U1987 Perth, Western Australia 6845 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]
Re: JESS: Firing order
OK, now tell us why you would want to change the default conflict resolution strategy, mainly the one that says that the most recent rule will fire first. Actually, it's a bit more complex than that and the reasoning for using MEA versus LEX versus other methods were explored and answered many, many years ago by Dr.'s Newell and Simon, the mentors of several of the illustrious CM alumnae. Anyway, MEA and LEX et al are all discussed in several well-written books on the subject, primarily Cooper and Wogrin or Girratano and Riley. So, in answer to your original question, the reason is that the conflict resolution strategy has determined which rule would fire first and the reasoning of the conflict resolution strategy should remain like it is unless you understand the reasoning and have a good reason for changing the same. (Goodness. Don't we sound pompous tonight?) :-) Perhaps I should read more and write less... SDG jco On Nov 20, 2005, at 4:51 PM, Nicolas Fortin wrote: Hello everybody, I am wondering if it is possible to randomize the firing order, when one rule is activated by many facts. Indeed a rule is always fired according the reversed order of assertion. So this example (reset) (assert (a 1)) (assert (a 2)) (assert (a 3)) (defrule example (a ?x) = (printout t a = ?x crlf) ) (run) will always output : a = 3 a = 2 a = 1 Thanks in advance, Nicolas 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 owner-jess- [EMAIL PROTECTED] 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]
Re: JESS: doubts on basic usage of Jess from Java
I'm not much on Agent Technology these days, even though I did play around a bit with FIPA way back when. We even did something similar to what you're describing but the powers that be managed to make it really, really complicated. Regardless, we did get it running without actually using FIPA, even after all of the research into it. However, Richard Halsey continued this discovery process long after the job petered out. You might check with him as well. I think Xavier Noria wrote: [ Asking about using Jess in an agent framework ] - James C. Owen Senior KE Knowledgebased Systems Corporation 6314 Kelly Circle Garland, TX 75044 972.530.2895 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]
Re: JESS: Is it for me...
. And then the philosophy was, Well, we tried to use that AI rulebase stuff. It just doesn't work in a case like ours. Yeah, right. As thought that particular company was really that special. Enough for now. Drop me a line or give me a call if you want more specifics. -- SDG jco - James C. Owen Senior KE Knowledgebased Systems Corporation 6314 Kelly Circle Garland, TX 75044 972.530.2895 Jeff Richley wrote: I have a project that has roughly 10,000 business rules. Another major factor is that there are 13 programmers (not including myself) and I am the only one that has ever programmed in Java. The powers that be have decided that we are going to write the entire program in Java. There are some very good reasons for this decisions that I won't go into right now. My question is, would JESS be a good solution for all of these rules. I haven't really gotten a good handle on exactly what is required to use Jess. Is this something that I would be able to give a statement like if all of the planes were unmanned then field x must be equal to 'q'? Or is it something that I would actually have to program that statement? __ Do you Yahoo!? Yahoo! Tax Center - File online, calculators, forms, and more http://platinum.yahoo.com 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] 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]
Re: JESS: Is it for me... (long)
Sorry, couldn't let this one go by without a comment. (And then I really, really have to get back to work... :-) Alan, I cut out all but one paragraph of your response. I was in complete agreement with the rest of it. A well-designed, goal-oriented approach actually uses (not salience - hate that one) recency as a control strategy. Just to name-drop a little bit, but I got hooked on this approach back in 1999 working with Dr. Charles Forgy on a project at Ericsson. I also worked with him later on a JRules project where he took the time to re-write the JRules version Monkeys-and-Bananas (which used priorities to the extreme) to a goal-oriented approach. That may not be what you meant in the paragraph below, but I just thought I'd have one final comment and then go get my third cup of coffee for the day. It's 3:20 and I deserve it. Alan Moore wrote: Try not to let your rules don't rely too much on implicit control structures, like salience for example. Take the time to design some explicit system/computation state components, or use modules or other strategies that can be employed to partition your rules and to control their activation, etc. This advice may be controversial among some rule purists but it has helped me immeasurably. -- SDG jco - James C. Owen Senior KE Knowledgebased Systems Corporation 6314 Kelly Circle Garland, TX 75044 972.530.2895 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]
Re: JESS: seemingly mysterious defquery behavior
Ernest: Does this mean that Jess will become more of a goal-oriented rulebased programming tool? Or, perchance good fortune ensues, incorporate full-opportunistic backward chaining; sort of like the old Expert (C/C++ Rulebase from Neuron Data) used to do? I don't know of ANY rulebase in Java that does true, full-opportunistic backward chaining at this time. Including Advisor, JRules, OPSJ, JEOPS or Jess. I'm sure that there is one - I just don't know about it. Yet. :-) SDG jco - James C. Owen Senior KE Knowledgebased Systems Corporation 6314 Kelly Circle Garland, TX 75044 972.530.2895 [EMAIL PROTECTED] wrote: The long-running debate between the people like yourself, who are surprised when rules fire during a query, and those who want a query to trigger backward chaining, and so are surprised if they don't, has been resolved -- and I think you could say that you won! In recent versions of Jess 6.1 (which is at RC1 right now, and if all goes well will be in final release by the end of this week) the default is for rules to NOT fire during a query, but there's now a way to let rules fire during a query on a case-by-case basis. So what I would do, if I were you, would be to upgrade to 6.1RC1 and things will behave by default just the way you'd like them to. I think =?iso-8859-1?q?un=20ethix?= wrote: [Charset iso-8859-1 unsupported, filtering to ASCII...] Hi, Thanks for taking the time to read this. I have a number of activated rules. The first of these rules to fire includes a function call which includes a query iteration. However, the subsequent rules in the conflict set (i.e. the subsequent activated rules) fire before the query call completes. This behavior is best illustrated by an example: Jess (run 1) FIRE 1 MAIN::rule_1 f-6 == f-7 (MAIN::__query-trigger-myQuery) FIRE 1 MAIN::rule_2 f-5, f-6 If the firing is left to run then the query will eventually return == f-7 (MAIN::__query-trigger-myQuery) but only after all other activated rules have fired. My problem is that rule_2 depends upon the result of firing rule_1, and causes an illegal operation (division by 0) as a result of rule_1 not returning first. I am able to circumvent this by having an extra fact asserted by rule_1, which rule_2 needs i.e. : (defrule rule_1 = (callQuery) (assert (foo))) (defrule rule_2 ... (foo) = ...) In this case, since rule_2 can only be activated after the query has returned, it works...it does seem an illogical way of doing things though. The release notes do mention something about the run-query command executing 'run(10)' - but this does not explain why subsequent rules don't fire after the query returns. Is there something that i'm missing here? Thanks in advance, Pol - Yahoo! Mail - For a better Internet experience - Ernest Friedman-Hill Distributed Systems ResearchPhone: (925) 294-2154 Sandia National LabsFAX: (925) 294-2234 PO Box 969, MS 9012 [EMAIL PROTECTED] Livermore, CA 94550 http://herzberg.ca.sandia.gov 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] 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]
Re: JESS: Passing a Java Variable in a Jess Call
For those of you having trouble with the Java CLASSPATH being set properly and/or typing long names and making silly mistakes, there is a free tool at http://home.attbi.com/~raygao/coffeecup/instruction.html That might help with this. A lot of the guys in the JavaMUG here is DFW area really like it. Enjoy. -- SDG jco - James C. Owen Senior KE Knowledgebased Systems Corporation 6314 Kelly Circle Garland, TX 75044 972.530.2895 Christian Loos wrote: Hi Karen, I think your approach should work properly. Do you get any kind of exception? What data does the Protegepath variable contain (pathname + filename)? Have you allready tried to perform this action directly within the JessTab? Bye Christian. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Behalf Of Karen Fox Sent: Thursday, March 20, 2003 9:03 PM To: [EMAIL PROTECTED] Subject: JESS: Passing a Java Variable in a Jess Call I am trying to change some of my paths to files into Java variables so that we only have to change them in one place if necessary. However, when I try to pass the variable in a rete.executeCommand, it won't work. Is that because I can't mix Jess and Java? For instance, this works: r.executeCommand((load-project C:/dev/Protege-2000/projects/OrgOnt.pprj)); I want to swap out the second part of that (the classpath) to a Java variable but nothing I've tried has worked. Is this impossible or am I just approaching it incorrectly? I've tried isolating the variable: r.executeCommand((load-project + Protegepath + )); and storing the information in a jess variable, then using it: r.executeCommand((load-project ?Protegepath)); and many variations of other things. Thus far, the only thing that works is to have the path in there. I would appreciate any suggestions, even if it's just to tell me this cannot be done. Thank you all for your time and talent. -- Karen Fox Technical Project Support III The MITRE Corporation Colorado Springs, CO 719-572-8368 [EMAIL PROTECTED] 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] 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] 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]
Re: JESS: Problem with accessing .clp file in Jess
Which leads to the obvious rule: NEVER leave a space in a name, whether a file name or a variable name. Java (and other languages) just don't like it. Especially in a CLASSPATH. SDG jco [EMAIL PROTECTED] wrote: Hi, There's an essay by Eric S. Raymond entitled How to ask questions the smart way which I'd refer you to, but unfortunately the site seems to be down at the moment. In any case, this would have been easier if you showed us what you tried and what happened, rather than saying it simply doesn't work. I am forced, therefore, to guess. Anyway, it's just like programming in many other languages; strings are in double quotes, and backslashes, which have special meaning, should be doubled. So did you try (batch C:\\Wherever\\my test.clp) That should work fine. If you've neglected to double the backslashes, or neglected to enclose the path in double quotes, then you'll indeed get a file not found error. If the file is in the current directory, you can dispense with the full path, and just write (batch my test.clp) Anyway, if you think you're doing the right thing but the wrong thing is happening in response, then please show use precisely what you did and what happened. I think Y.Lei wrote: [Charset iso-8859-1 unsupported, filtering to ASCII...] Dear all, I am new to Jess. Now I am using it in my application. This is a very na_ve question. How can I access the file which has space characters in its name? I have read the batch function carefully. It says that we can just use double quote to enclose the space character. But it simply doesn't work. Maybe I misunderstood the meaning. For example, my file name is my test.clp, how can I let the jess recognize the file name? Thanks yuangui - Ernest Friedman-Hill Distributed Systems ResearchPhone: (925) 294-2154 Sandia National LabsFAX: (925) 294-2234 PO Box 969, MS 9012 [EMAIL PROTECTED] Livermore, CA 94550 http://herzberg.ca.sandia.gov 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] -- SDG jco - James C. Owen Senior KE Knowledgebased Systems Corporation 6314 Kelly Circle Garland, TX 75044 972.530.2895 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]
Re: JESS: RE: Jess and C#
to [EMAIL PROTECTED], NOT to the list (use your own address!) List problems? Notify [EMAIL PROTECTED] 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] -- SDG jco - James C. Owen Senior KE Knowledgebased Systems Corporation 6314 Kelly Circle Garland, TX 75044 972.530.2895 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]
Re: JESS: manners and waltz test for Jess
I never did convert the Waltz benchmark over to Jess nor any other system other than OPSJ. I'll send you that one if you want it, but it won't be much help. However, you should already have the link to UT for the complete compendium. Enjoy. BTW, my understanding is that the Waltz benchmark is the better benchmark of a rulebased system because it places more emphasis on finding a solution to a far more complex problem. Well, that's what Dr. Forgy said, anyway. The other Ph.D.'s can add their 2 cents; like Richard Halsey, I'm just a rule mechanic, not a guru. :-) SDG jco peter wrote: I tried to google for a clips version of manners benchmark for Jess. Would anyone have a pointer to it? I did a search for temple university clips manners benchmark, but the URL is no longer available. thanks in advance. __ Do you Yahoo!? Yahoo! Mail Plus - Powerful. Affordable. Sign up now. http://mailplus.yahoo.com 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] -- SDG jco - James C. Owen Senior KE Knowledgebased Systems Corporation 6314 Kelly Circle Garland, TX 75044 972.530.2895 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]
Re: JESS: manners and waltz test for Jess
I see that Ernest answered your email - here's what I did with it sometime last year. Ernest got much better benchmarks than I did but we never could determine the reason for it. Maybe because I was running Win2K and he was using something else. Win2K sucks on performance for Java benchmarks. However, Jess did place #2 on my comparisons. :-) SDG jco peter wrote: I tried to google for a clips version of manners benchmark for Jess. Would anyone have a pointer to it? I did a search for temple university clips manners benchmark, but the URL is no longer available. thanks in advance. __ Do you Yahoo!? Yahoo! Mail Plus - Powerful. Affordable. Sign up now. http://mailplus.yahoo.com 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] -- SDG jco - James C. Owen Senior KE Knowledgebased Systems Corporation 6314 Kelly Circle Garland, TX 75044 972.530.2895 manners.clp Description: application/unknown-content-type-clpfile (printout t asserting all guests crlf ) (guest (name 1) (sex m) (hobby 2) ) (guest (name 1) (sex m) (hobby 1) ) (guest (name 1) (sex m) (hobby 3) ) (guest (name 2) (sex f) (hobby 2) ) (guest (name 2) (sex f) (hobby 1) ) (guest (name 2) (sex f) (hobby 3) ) (guest (name 3) (sex m) (hobby 3) ) (guest (name 3) (sex m) (hobby 2) ) (guest (name 4) (sex m) (hobby 3) ) (guest (name 4) (sex m) (hobby 2) ) (guest (name 4) (sex m) (hobby 1) ) (guest (name 5) (sex m) (hobby 2) ) (guest (name 5) (sex m) (hobby 1) ) (guest (name 5) (sex m) (hobby 3) ) (guest (name 6) (sex m) (hobby 2) ) (guest (name 6) (sex m) (hobby 3) ) (guest (name 6) (sex m) (hobby 1) ) (guest (name 7) (sex f) (hobby 1) ) (guest (name 7) (sex f) (hobby 2) ) (guest (name 7) (sex f) (hobby 3) ) (guest (name 8) (sex m) (hobby 3) ) (guest (name 8) (sex m) (hobby 1) ) (guest (name 9) (sex m) (hobby 2) ) (guest (name 9) (sex m) (hobby 3) ) (guest (name 9) (sex m) (hobby 1) ) (guest (name 10) (sex m) (hobby 3) ) (guest (name 10) (sex m) (hobby 2) ) (guest (name 10) (sex m) (hobby 1) ) (guest (name 11) (sex m) (hobby 1) ) (guest (name 11) (sex m) (hobby 3) ) (guest (name 11) (sex m) (hobby 2) ) (guest (name 12) (sex f) (hobby 3) ) (guest (name 12) (sex f) (hobby 1) ) (guest (name 12) (sex f) (hobby 2) ) (guest (name 13) (sex m) (hobby 2) ) (guest (name 13) (sex m) (hobby 3) ) (guest (name 14) (sex m) (hobby 1) ) (guest (name 14) (sex m) (hobby 2) ) (guest (name 15) (sex m) (hobby 2) ) (guest (name 15) (sex m) (hobby 3) ) (guest (name 15) (sex m) (hobby 1) ) (guest (name 16) (sex f) (hobby 2) ) (guest (name 16) (sex f) (hobby 3) ) (guest (name 17) (sex f) (hobby 3) ) (guest (name 17) (sex f) (hobby 2) ) (guest (name 18) (sex m) (hobby 1) ) (guest (name 18) (sex m) (hobby 3) ) (guest (name 18) (sex m) (hobby 2) ) (guest (name 19) (sex f) (hobby 3) ) (guest (name 19) (sex f) (hobby 1) ) (guest (name 20) (sex f) (hobby 1) ) (guest (name 20) (sex f) (hobby 3) ) (guest (name 20) (sex f) (hobby 2) ) (guest (name 21) (sex m) (hobby 2) ) (guest (name 21) (sex m) (hobby 3) ) (guest (name 22) (sex m) (hobby 2) ) (guest (name 22) (sex m) (hobby 3) ) (guest (name 23) (sex f) (hobby 1) ) (guest (name 23) (sex f) (hobby 2) ) (guest (name 24) (sex f) (hobby 3) ) (guest (name 24) (sex f) (hobby 1) ) (guest (name 24) (sex f) (hobby 2) ) (guest (name 25) (sex f) (hobby 3) ) (guest (name 25) (sex f) (hobby 1) ) (guest (name 25) (sex f) (hobby 2) ) (guest (name 26) (sex m) (hobby 2) ) (guest (name 26) (sex m) (hobby 1) ) (guest (name 26) (sex m) (hobby 3) ) (guest (name 27) (sex f) (hobby 2) ) (guest (name 27) (sex f) (hobby 3) ) (guest (name 27) (sex f) (hobby 1) ) (guest (name 28) (sex m) (hobby 1) ) (guest (name 28) (sex m) (hobby 2) ) (guest (name 29) (sex f) (hobby 2) ) (guest (name 29) (sex f) (hobby 3) ) (guest (name 29) (sex f) (hobby 1) ) (guest (name 30) (sex f) (hobby 2) ) (guest (name 30) (sex f) (hobby 1) ) (guest (name 30) (sex f) (hobby 3) ) (guest (name 31) (sex m) (hobby 1) ) (guest (name 31) (sex m) (hobby 2) ) (guest (name 31) (sex m) (hobby 3) ) (guest (name 32) (sex m) (hobby 1) ) (guest (name 32) (sex m) (hobby 2) ) (guest (name 33) (sex m) (hobby 2) ) (guest (name 33) (sex m) (hobby 3) ) (guest
Re: JESS: JDBC ResultSet data
#3 below is what most of the other guys do as well. Usually we retrieve a data set from some mainframe database (or Oracle or whatever) using whatever is applicable (usually JDBC or some other method) and then create the Java objects from that data and, finally, assert (or insert or whatever) that data into the ruleset and torch off the rules. Alan Moore wrote: Also, you could do one of the following within the Userfunction: 1) definstance your ResultSet object. 2) definstance application specific objects based on the data in your ResultSet. 3) assert the ResultSet data/rows as facts. #1 is pretty useless as you can't pattern match against the row data and would have to use jess code to extract the data - java is probably a better tool for that job so your Userfunction is a good place to do it. #2 is better but has more overhead than #3 and requires that you create object wrappers for your table/query data. My guess is that your data is static (for the purposes of this problem) and using java object wrappers doesn't buy you anything... #3 is more jess-like and since it is pretty simple to write a generic Userfunction that covers arbitrary tables/query results I would go with this approach. Good luck! alan -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] Sent: Tuesday, January 07, 2003 5:32 AM To: [EMAIL PROTECTED] Subject: Re: JESS: JDBC ResultSet data I think Aalap Parikh wrote: Hi everybody, I am a Jess newbie. I am trying to retrieve data from a database by wrapping the necessary JDBC code within a Userfunction. My problem is that how do I pass the JDBC ResultSet containing the data to Jess? I am trying to do this because I want the data extracted from the database to be accessible for transformation or modification to a jess rule. I tried looking at store , fetch etc...But I am confused. If you're writing a Userfunction, you can just return a Java object to Jess via return: return new Value(myResultSet); and this becomes the return value of the called function. - Ernest Friedman-Hill Distributed Systems ResearchPhone: (925) 294-2154 Sandia National LabsFAX: (925) 294-2234 PO Box 969, MS 9012 [EMAIL PROTECTED] Livermore, CA 94550 http://herzberg.ca.sandia.gov 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] 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] -- SDG jco - James C. Owen Senior KE Knowledgebased Systems Corporation 6314 Kelly Circle Garland, TX 75044 972.530.2895 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]
Re: JESS: Re: Proposed feature
Ernest: What I have done in the past is to establish a Goal object to control rule flow such that we assert the Goal objects in the reverse order of rule flow so that the last asserted Goal will be examined first. This lets the rules control the flow using the recency of the Goals. If I want to establish that at least one instance of the object (a Platinum loan, for example) exists (don't care how many) then I retract that Goal on the RHS of the rule and the next Goal is examined. If I want to do something with all of the instances of the object, then I don't put the retract in the RHS of the rule. For example, let's say that I wanted a general set of rules such that certain things would be done for all Platinum account holders and another set of rules such that certain things would be done for all of the Platinum accounts. In the first instance, I only need to know that the customer has at least one Platinum account. In the second, I might want to do something special for each Platinum account. First, assert all of the Account, Party and the Goal objects that you want to process using the procedure above for the Goal objects. The last Goal asserted looks for PLATINUM accounts. In the first case above, the RHS of the rule would retract the Goal of looking for a Platinum account when it found the first instance. The rules would then move on to the next goal. In the second case, you would establish a subset of those Platinum accounts and further process them depending on the next-to-last Goal asserted. Just depends on what the situation calls for. I've used this procedure on my past projects and it seems to work quite well. I really like to use this Goal-oriented or Goal-driven process whenever I'm doing anything like configuration management, pricing, diagnosis, etc. Seems to work almost like the old backward chaining process but with just a couple of twists that you have to iron out. SDG jco [EMAIL PROTECTED] wrote: But you seem to be ignoring the whole problem, the refractoriness problem, I think you might call it. Show me how, using Jess's current semantics, you might accomplish what this rule (using the new feature) does: (defrule count-x-facts (declare (one-shot TRUE)) (x) ?count - (count (x ?n)) = (modify ?count (x (+ ?n 1 (keeping in mind that the x template has forty-seven slots that are constantly being modified by unrelated rules) and then explain to me why it's better. I think James C. Owen wrote: OK, now that we're off and running, one-shot seems like it would work for a limited set of circumstances. However, if we use goal-oriented programming then we don't need a special set of rules or objects. If we have a specific goal and the goal exists THEN we do either one or two things: 1. If we want to know only that there exists at least one instance of a set of circumstances, then the RHS would retract that goal and either assert another or let the last goal have predominance on the conflict resolution table. 2. If we want to do something for all of the instances, don't retract the goal. Just let nature take it's course and do the same thing for all instances of that particular situation. As has been stated so many times, Folks, this stuff ain't rocket science. It's just logic. And if Psychologists, Business Analysts and Doctors with not computer training at all can understand this and write decent programs (after a year or two of working with it) then any half-fast programmer SURELY can understand how to adjust to a given set of circumstances for a certain set of rules. Well, actually, that's my favorite quote. It follows the old KISS principle. SDG jco - Ernest Friedman-Hill Distributed Systems ResearchPhone: (925) 294-2154 Sandia National LabsFAX: (925) 294-2234 PO Box 969, MS 9012 [EMAIL PROTECTED] Livermore, CA 94550http://herzberg.ca.sandia.gov 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] -- SDG jco - James C. Owen Senior KE Knowledgebased Systems Corporation 6314 Kelly Circle Garland, TX 75044 972.530.2895 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]
Re: JESS: Proposed feature
Ouch! Right! What a way to start the New Year! In all of my previous emails please replace recursion with refraction - recursion is the self-addressing behavior of an algorithm. By way of explanation, I had been reading on the recursive principles of Rete that same day. I could blame it all on having a senior moment except that this has been happening since I was 13 years old, or somewhere near the beginning of puberty. :-) Thanks for the clarification. SDG jco Paul Haley wrote: FYI, the term refraction is traditional for the act of removing an activation of a rule from the conflict set upon its execution. Paul Haley President CEO The Haley Enterprise, Inc. http://www.haley.com (412) 741-6420 Solutions that do what they're told. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] Sent: Sunday, January 05, 2003 12:57 PM To: [EMAIL PROTECTED] Subject: Re: JESS: Proposed feature I think James C. Owen wrote: Ernest: Let me see if I can understand what we're actually saying here: As written below, since ?fact is being modified in the RHS of the rule then the rule will be placed on the agenda as available to be fired again, even though the recursion principle would otherwise have removed the rule from consideration.. This is basically the data-driven concept of almost all Rete-type rulebased systems and some that are not Rete-based. In fact, the rule will be removed (via the recursion principle) from the agenda and never be replaced if the rule fires and the data are NOT changed. Recursion is the first rule of conflict resolution of both LEX and MEA and is used by, well, everybody who builds a rulebased system of any kind of merit. (Jess, JRules, OPSJ, JEOPS, Advisor, Expert, ART, etc., etc.) That's right. The current behavior in all cases is that a rule won't fire on a given set of unchanged facts more than once. So. Now. Are we asking that this should be changed so that if the rules are slot-driven rather than data-driven,? Meaning that the rule will be removed if the rule, regardless of data, fires? If so, it can't work because then only one case would match. i.e., we would be asking the question, Is there ANY case and when the case is answered true then the engine stops. No, not quite. The proposal is for a new, special class of rules that will fire no more than once for a given set of facts, regardless of whether their slot data changes. Currently, modifying any slot in a fact on a rule's RHS will make the LHS match again. Under this proposal, this wouldn't happen for this special class of rules. In classical expert systems, facts were just tuples, without their own independent existence. In Jess, a fact is a lot more like an Object, and it persists over time. Note that in OPS-derived systems, where each fact has a numeric id, that id traditionally changed when a fact was modified. In Jess, the id -doesn't- change, highlighting the Object-ness of a fact. In a way, there are two different ways to think about Jess rules. You can be matching a fact with particular slot data, or you can be matching a particular fact object. The latter class of rules can sensibly be expected to match a given fact (or set of facts) only once; that's the class of rules for which the one-shot idea is useful. - Ernest Friedman-Hill Distributed Systems ResearchPhone: (925) 294-2154 Sandia National LabsFAX: (925) 294-2234 PO Box 969, MS 9012 [EMAIL PROTECTED] Livermore, CA 94550 http://herzberg.ca.sandia.gov 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] 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] -- SDG jco - James C. Owen Senior KE Knowledgebased Systems Corporation 6314 Kelly Circle Garland, TX 75044 972.530.2895 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]
Re: JESS: Proposed feature
Ernest: Let me see if I can understand what we're actually saying here: As written below, since ?fact is being modified in the RHS of the rule then the rule will be placed on the agenda as available to be fired again, even though the recursion principle would otherwise have removed the rule from consideration.. This is basically the data-driven concept of almost all Rete-type rulebased systems and some that are not Rete-based. In fact, the rule will be removed (via the recursion principle) from the agenda and never be replaced if the rule fires and the data are NOT changed. Recursion is the first rule of conflict resolution of both LEX and MEA and is used by, well, everybody who builds a rulebased system of any kind of merit. (Jess, JRules, OPSJ, JEOPS, Advisor, Expert, ART, etc., etc.) So. Now. Are we asking that this should be changed so that if the rules are slot-driven rather than data-driven,? Meaning that the rule will be removed if the rule, regardless of data, fires? If so, it can't work because then only one case would match. i.e., we would be asking the question, Is there ANY case and when the case is answered true then the engine stops. In reality, what we are asking is For EACH case where that data are true. The Expert System (from the old Neuron Data company - now extinct) actually had that as one of the concepts that could be employed. i.e., it used both universal and existential reasoning. We can do the same thing (kinda - sorta) by using a goal-driven approach for the rules and removing the goal if it is EVER met. Which is about what you're doing with the one-shot approach below. I think you are right: We MUST leave the engine as it is AND leave the conflict resolution MEA for a good design. If you need the one-shot approach, just use a goal-driven approach. Assuming, of course, that I have understood the question properly. :-) SDG jco [EMAIL PROTECTED] wrote: Hi Folks, Very often, people post questions equivalent to the following to this list: Why does this cause an infinite loop? (defrule my-rule ?fact - (fact (slot ?x)) = (modify ?fact (slot (+ ?x 1 and then we have to explain why this happens, and how to avoid it (it's a side-effect of how the Rete algorithm works, and you can avoid it by making the rule more specific, so the modified fact won't match anymore.) Here's a proposed feature that would provide an alternative way to avoid the infinite loop -- and I think a more powerful way: one-shot rules. Basically, the feature is this: if you declare a rule like this: (defrule my-rule (declare (one-shot TRUE)) ?fact - (my-fact (slot ?x)) = (modify ?fact (slot (+ ?x 1 then my-rule will keep track of all the combinations of facts it has ever fired on, and will never fire on the same combination twice, so that, for example, my-rule would fire exactly once for each my-fact. The performance overhead would bne relatively small, as the lists of past firings could be kept in a hash table and so you'd just see amortized constant-time overhead for each potential activation of a one-shot rule (and no impact at all for non-one-shot rules.) Does this sound like a useful feature? Do the semantics sound reasonable? Any suggestions or refinements? Should there be a global switch to make ALL rules one-shot? - Ernest Friedman-Hill Distributed Systems ResearchPhone: (925) 294-2154 Sandia National LabsFAX: (925) 294-2234 PO Box 969, MS 9012 [EMAIL PROTECTED] Livermore, CA 94550 http://herzberg.ca.sandia.gov 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] -- SDG jco - James C. Owen Senior KE Knowledgebased Systems Corporation 6314 Kelly Circle Garland, TX 75044 972.530.2895 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]
Re: JESS: Re: Proposed feature
OK, now that we're off and running, one-shot seems like it would work for a limited set of circumstances. However, if we use goal-oriented programming then we don't need a special set of rules or objects. If we have a specific goal and the goal exists THEN we do either one or two things: 1. If we want to know only that there exists at least one instance of a set of circumstances, then the RHS would retract that goal and either assert another or let the last goal have predominance on the conflict resolution table. 2. If we want to do something for all of the instances, don't retract the goal. Just let nature take it's course and do the same thing for all instances of that particular situation. As has been stated so many times, Folks, this stuff ain't rocket science. It's just logic. And if Psychologists, Business Analysts and Doctors with not computer training at all can understand this and write decent programs (after a year or two of working with it) then any half-fast programmer SURELY can understand how to adjust to a given set of circumstances for a certain set of rules. Well, actually, that's my favorite quote. It follows the old KISS principle. SDG jco [EMAIL PROTECTED] wrote: I think Rich Halsey wrote: It may be that I'm still confused as to the utility of your proposed feature. It comes up constantly on this list. One recent instance concerned a system in which definstances were added in an uninitialized state, and then various rules set their properties. Each time a property was set, various initialization rules were re-activated. The rules had to be written carefully to avoid this. If they were one-shot rules instead, the intent could be expressd more succinctly; and even better, the rules would be more independent, as they wouldn't need to worry directly about the effect of other rules. Here's another example: (defrule count-x-facts (declare (one-shot TRUE)) (x) ?count - (count (x ?n)) = (modify ?count (x (+ ?n 1 Without the one-shot feature, this fires every time an X fact is modified; with it, it fires only when one is first created. The existing solution to this problen is exceedingly unsatisfying: you need to add a counted-already slot to the x template and test it on the LHS and set it to TRUE on the RHS. This is really, really gross; the one-shot feature is far superior. - Ernest Friedman-Hill Distributed Systems ResearchPhone: (925) 294-2154 Sandia National LabsFAX: (925) 294-2234 PO Box 969, MS 9012 [EMAIL PROTECTED] Livermore, CA 94550 http://herzberg.ca.sandia.gov 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] -- SDG jco - James C. Owen Senior KE Knowledgebased Systems Corporation 6314 Kelly Circle Garland, TX 75044 972.530.2895 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]
JESS: XML, Java and Rules
All: I always seem to be coming in late to any discussion here on the Jess Users Group - mostly because I'm working out of town a lot and don't get a chance to read and think about what's going on with the rest of the world. Blah-bablah-bablah-blah-blah... :-) Anyway, regarding XML and rules: Both JRules and Advisor state that they have an XML Rule Repository. Well, actually, they have a repository of rules in XML, but I wouldn't exactly call it a true Rule Repository - not in the sense that Rick at EZ-Xpert sets up and defines a Rule Repository. (See http://www.ez-xpert.com for some white papers on the subject.) This is NOT and testimony nor an advertisement for EZ Xpert - just a comment that there are those who have done their homework. Rick has commented in the past that he would do an interface for Jess if someone wanted to pay him the time and expenses to do it; like a two-week job, at most. Again, I digress: So, back to the XML subject at hand. XML lends itself more to a messaging component than to a Rules Repository unless, of course, you're going to make a general purpose repository, such as EZ Xpert. Chordiant has taken that approach and they interface JRules to XML to the IBM MQ messaging back to the mainframe. Kind of a Rube Goldberg approach, but it seems to work. Kinda, sorta, anyway. I've never been a big fan of XML when you're running on the same platform and in the same environment. However, it does add extensibility to the project if that's what you absolutely need. But, then, I've never been a big fan of J2EE and any rulebase system simply because any J2EE server wants to take over my environment and severely restrict what can and cannot be done with the full power of Java, such as threads, etc. OK, back in the sack for Old Jim - I'll probably wake up next Spring and see what's going on with the rest of the world. :-) SDG jco Bonnet Emmanuel wrote: [EMAIL PROTECTED] a icrit : But using XML would help me to have : . a XML black box with predefined entries Not sure what this one means. I meant the rule engine would be seen from the outside system as a black-box exchanging data using XML-format. . as XML standards (RuleML) are emerging for Rule writing , I could use them Note that storing data as XML, and storing rules as XML, are two different things; the first is easy, the second is hard. Up till now you've only been talking about XML data. You're right, RuleML initiative is doing that second job. In fact, it is possible to use RuleML to write rules AND create facts too. So it is possible to use RuleML for data management too. . no additional Java code to write that would interfere with the original model (fireProperty stuff) You only need to use property change listeners in your Java objects if their member data will change from outside of the direct control of .. static definstances without changing the code. You are right. That is definitly an issue. . a neat design reusable in other context/projects (everybody interfaces with XML now !) Indeed. Everybody seems to be getting their tongue pierced, as well, but I personally won't be doing so. Me neither for the tongue-piercing, but I'm sure Jess will have XML-enabled features or interfaces in the future :-) In addition, the possibility to design a reusable component seems for me to be an interesting asset enough. Regards, Emmanuel 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] -- SDG jco - James C. Owen Senior KE Knowledgebased Systems Corporation 6314 Kelly Circle Garland, TX 75044 972.530.2895 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]
Re: JESS: RE: Jess and C#
Peter et. al.: This is morally wrong on so many levels! C#? .NET? Visual-BASIC-like use? (an earlier email) And then (this email), to top everything, You would lose the OO and reflection capabilities, but if some one didn't need OO capabilities it might be sufficient. Can you guys hear what you are saying? I now think that I've gone to sleep and have woken up in a parallel universe where MicroSoft has won all of the court battles and now rules the entire universe. Darth Vader (Paul) and the Emperor (Bill Gates) have defeated all of the Rebels and now Java, C++, Ada and anything else that is Object Oriented has been relegated to other worlds at the outer limits. Kind of like in the second Back To The Future series where Biff took control of the world. May the gods of the programming world forgive all of you for your obvious moral turpitude. :-) SDG jco Peter Lin wrote: I've played with C# a little and there are many similarities. Most of the event mechanism work the same, though reflection and type casting is a little different. David's idea of wrapping the engine to provide visual basic like access is intriguing. performance wise it might not be that big since it will compile everything into the intermediate language. You would lose the OO and reflection capabilities, but if some one didn't need OO capabilities it might be sufficient. There's also java to C# translator, which might get most of it. The differences in collections API, const vs static final and a couple others are minor. peter -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] Sent: Tuesday, December 31, 2002 10:24 AM To: [EMAIL PROTECTED] Subject: Re: JESS: RE: Jess and C# I think Peter Lin wrote: [Charset iso-8859-1 unsupported, filtering to ASCII...] since Jess is inspired by clips and clips is written in C, you should be able to use clips in .NET. Assuming you label the calls to clips as unsafe and handle it appropriately. in theory you could download clips and use Visual Studio.NET C to compile it for .NET framework. Absolutely. Of course, you'd be missing all the features that make Jess useful -- i.e., the reflective access to real objects, the object-oriented API, and the vastly better performance. peter - Ernest Friedman-Hill Distributed Systems ResearchPhone: (925) 294-2154 Sandia National LabsFAX: (925) 294-2234 PO Box 969, MS 9012 [EMAIL PROTECTED] Livermore, CA 94550 http://herzberg.ca.sandia.gov 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] 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] -- SDG jco - James C. Owen Senior KE Knowledgebased Systems Corporation 6314 Kelly Circle Garland, TX 75044 972.530.2895 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]
Re: JESS: Newbie question
Randy: Just now getting around to answering my Jess email. No excuses, just lazy I guess. Anyway, 250,000 rules is enormous! Especially if you're trying to put them into one contiguous rule set. I would be really interested in how you arrived at that number... :-) Anyway, here is a partial list of fairly decent books, most still in print, arranged in MHO of order of preference. Number 1, of course, is the manual for whichever rulebased system that you have chosen for whatever reason. Number 2 is probably my favorite but, unfortunately, it is out of print. You might find a copy in a used book store somewhere - if they have two copies, buy another for me. I borrowed mine from a dear friend and, graciously, he has allowed me to keep it for all these years. I constantly get new stuff from it. Girratano and Riley is probably number 3a because it is so closely tied to CLIPS which is closely tied to Jess. Bigus Bigus is quite excellent and helped me to explain some tricky concepts in common English, even though they chose not to implement the Rete algorithm. The book on KADS is invaluable for getting down to the nitty gritty of rulebased systems, theory and implementation. The last three are classics and, if you are trying to implement a system quickly and if you never read them, you haven't lost much. But, if you want to read the early works and theories that STILL apply today, they are invaluable. If your companion is busy watching TV or something else, they are really nice for reading on a cold winter's night in front of roaring fire with a warm snifter of brandy and a good Cuban cigar. Or a pipe, if you prefer. (My spousal unit doesn't allow smoking in the house, our fireplace is broken and I don't drink, so I have to settle for Chopin, good English tea and a warm blanket.) :-) One last thought: Unless you are running Java 1.4 on a 64-bit system, you'll run out of memory rather quickly with any of the Rete-based systems; and all of the Java-based systems are also Rete-based. Also, you shouldn't use Java 1.4 with any system that uses the assert key word - such as JRules - because I've been told that Java 1.4 wants to use it as well. A large rulebased system takes quite a bit of planning on rule architecture and rule flow (yes, rules flow) as well as overall architectural integration. If you need some help in these areas, let me know and I'll put you in touch with some friends of mine. (I'm tied up until the end of 2003 on another project.) SDG jco - 1. Manual from whichever rulebased system that you choose. (Java-based systems are OPSJ, Jess, Blaze and JRules - and maybe JEOPS). 2. Rule-based Programming in OPS5 Thomas A. Cooper and Nancy Wogrin (Foreword by John McDermott - highly recommended by Charles Forgy) Morgan-Kaufmann Publishers, Palo-Alto, CA, 1988 0-934613-51-6 3a. Expert Systems Principles and Programming Joseph Girratano Gary Riley PWS Publishing Co., 1998 0-534-95053-1 3b. Constructing Intelligent Agents with Java Joseph P. Bigus and Jennifer Bigus Wiley Computer Publishing, 1998 0-471-19135-3 4. Knowledge Engineering and Management - The Common KADS Methodology (Also recommended by Charles Forgy) Guus Schreiber, Hans Akkermans, Anjo Anjewierden, Robert de Hoog, Nigel Shadbolt, Walter Van de Velder and Bob Wielinga The MIT Press, 2000 0-262-19300-0 5a. Expert Systems - Design and Development John Durkin Macmillan Publishing, 1994 0-02-330970-9 5b. Principles of Artificial Intelligence Nils J. Nilsson Morgan Kaufmann Publishers, 1980 (1933, 1986, 1986) 0-934613-10-9 Tioga Publishing 0-935382-01-1 5c. Artificial Intelligence - A Modern Approach Stuart Rullell and Peter Norvig Prentice Hall, 1995 0-13-103805-2 --- Justice, Randy -CONT(DYN) wrote: Hi I have been approached about a project and I think it is a rule-based project. After going some quick calculations, I think the number of rules will be about 250,000 rules. Can the JESS system deal with a system that large? Also, my knowledge of rule-based systems is limited to a few AI books, Can someone recommend another book, web page etc.. Randy 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] -- SDG jco - James C. Owen Senior KE Knowledgebased Systems Corporation 6314 Kelly Circle Garland, TX 75044 972.530.2895 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
Re: JESS: Design Problem : Java or not Java ?
Ernest: All I can say to this is, A M E N ! ! ! On one of my projects I had a young Java programmer (six months of Java and two months of Rules) who absolutely insisted that it was OK to change an object outside of the rules, even though manufacture manuals and manufacturer tech support (and Dr. Forgy) agreed with me that you would be looking for trouble if you did this. Reason being that JRules keeps internal truth tables and other variables private - things that the programmer doesn't know about. Needless to say, even with all of this professional advice, he then went on to write a test case that demonstrated that it was OK to do it his way. When I left the project, it was still written that way. Amazing! Companies pay thousands of dollars for the wisdom of the ages (mine, Dr. Forgy's and the manufacturer's) and yet management is swayed by one bright young programmer who happens to be an employee. Just amazing. However, this IS an easy trap into which to fall. Any code that calls an external Java method from within the rules is always suspect. And, you can write sample cases all day long that demonstrate the safety of the method. But, sooner or later, another Java programmer will change the method and then the rules are hosed. [EMAIL PROTECTED] wrote: I think Bonnet Emmanuel wrote: . no additional Java code to write that would interfere with the original model (fireProperty stuff) You only need to use property change listeners in your Java objects if their member data will change from outside of the direct control of the Jess program. Since translating data via XML is an option, you've already allowed that having the Jess program decoupled from changes to the domain objects is acceptable, so you could use them as-is as static definstances without changing the code. -- SDG jco - James C. Owen Senior KE Knowledgebased Systems Corporation 6314 Kelly Circle Garland, TX 75044 972.530.2895 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]
Re: JESS: Creating A Jess Rule using Java API
Just a final thought on this thread: Long, long ago (about two or three years in Earth time) in a land far, far away (Dallas, Texas) we were on a project wherein we actually wanted to create a rule writer. This meant that the rule engine itself would decide that more rules were needed, would write the rule, generate the Java code, recompile the Java code and put the system back on-line - all automagically. It was fairly complex but it actually worked for some initial test runs. However, since this was during the fun part of the project, it never was implemented in its full beauty and magic. Sad. sigh However, we did prove that it could be done. As a matter of fact, we had another fellow who implemented a Java Bean writer as a fun project that would write a Bean, compile it, and insert it into the project whenever needed. Are computers grand? :-) -- SDG jco - James C. Owen Senior KE Knowledgebased Systems Corporation 6314 Kelly Circle Garland, TX 75044 972.530.2895 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]
Re: JESS: Some JESS characteristics...
Well, _somebody_ had to say it. Thanks, Ernest. :-) R T F M ! ! ! (Read The Fabulous Manual!) [EMAIL PROTECTED] wrote: No offense, but if you don't know the answers to these questions, then you haven't read the manual. No one is going to do your homework for you -- just sit down and read the manual. I think Joao Domingues wrote: [Charset iso-8859-1 unsupported, filtering to ASCII...] Hi again! I was in the jess docs page, but i couldnt find the information i need. So, anyone can tell me what type of: Knowledge representing Inference Explanations Chainings uncertainty manipulation that JESS use? John _ O MSN Photos _ o jeito mais f_cil de compartilhar, editar e imprimir suas fotos preferidas: http://photos.msn.com.br/support/worldwide.aspx 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] - Ernest Friedman-Hill Distributed Systems ResearchPhone: (925) 294-2154 Sandia National LabsFAX: (925) 294-2234 Org. 8920, MS 9012 [EMAIL PROTECTED] PO Box 969 http://herzberg.ca.sandia.gov Livermore, CA 94550 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] -- SDG jco - James C. Owen Senior KE Knowledgebased Systems Corporation 6314 Kelly Circle Garland, TX 75044 972.530.2895 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]
Re: JESS: publications / Forgy paper
Finally found the manners stuff for JRules. I'm sending the 128 guest data file that they used as well. Emmanuel Lecharny wrote: I did made jeops work for a few semples. The way it works is that it generates a Java program from the rules you provide. Of course, it's not possible to add a rule on the fly, which is not cool as Jess, but it works fine. I'm pretty sure that I can found the sample I've compiled a year ago, and post it to you next week. Do you have a JRules sample of Manner 128 benchmark? It'll ease the test on jeops. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On Behalf Of James C. Owen Sent: vendredi 1 fevrier 2002 23:23 To: [EMAIL PROTECTED] Cc: [EMAIL PROTECTED] Subject: Re: JESS: publications / Forgy paper Exactamundo! He (Dr. Forgy) is very protective about the Rete 2 algorithm. Seems that he *had* to make the Rete algorithm public since it was funded by the DOD when he was at CMU, but methinks that he wants to make some money with the Rete 2 algorithm. The Rete 2 works on optimizing memory space thereby increasing the speed. Actually, he's working on a Rete 3 but I have no idea what it is; only that it will make the process even faster than Rete 2. Cool However, I'll see if we can get his Rete Ph.D. thesis scanned and published - maybe this weekend. If so, I'll send it to Dr. Friedman-Hill to publish on the PST site if he likes. BTW, Dr. Forgy's email is [EMAIL PROTECTED], not [EMAIL PROTECTED] :-) One other thing; I've been going over the various Java systems (Jess, OPSJ, JRules, Advisor and JEOPS) the past couple of weeks and trying to run the manners 128 benchmark on all of them using the same set of data and, basically, the same set of rules. That way only the engine is the difference factor. If anyone already has the JEOPS worked out, I would appreciate it if you would send it to me. I got CLIPS and converted it straight over to Jess - which wasn't terribly difficult since they both seem to be be LISP oriented. (Jim really hates LISP! All those parentheses and special markers for variables and just the jumbled way things are handled...) And I already had the code for OPSJ, Advisor and JRules. JEOPS seems to be a different animal since it is more Java-kinda oriented syntax. Whatever. Just a thought. SDG jco - James C. Owen Senior KE Knowledgebased Systems Corporation 6314 Kelly Circle Garland, TX 75044 972.530.2895 [EMAIL PROTECTED] wrote: I think Oliver Hoffmann wrote: James, if you could scan Dr. Forgy's thesis and convert it to pdf, that would be great :) is there also a publication on the Rete II algorithm? http://www.pst.com/ claims that it would be much faster... Nope, it's unpublished and proprietary. - Ernest Friedman-Hill Distributed Systems ResearchPhone: (925) 294-2154 Sandia National LabsFAX: (925) 294-2234 Org. 8920, MS 9012 [EMAIL PROTECTED] PO Box 969 http://herzberg.ca.sandia.gov Livermore, CA 94550 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] 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] 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] -- SDG jco - James C. Owen Senior KE Knowledgebased Systems Corporation 6314 Kelly Circle Garland, TX 75044 972.530.2895 manners.zip Description: Zip compressed data
Re: JESS: JESS EJB
Well, since we ALL seem to be interested in this, why not just email the Jess Users group? :-) ps - put me on the list as well. -- SDG jco - James C. Owen Senior KE Knowledgebased Systems Corporation 6314 Kelly Circle Garland, TX 75044 972.530.2895 Eyassu, Daniel wrote: Add me to the list, please. -Original Message- From: michel denis @+33.6.72.87.17.50 [mailto:[EMAIL PROTECTED]] Sent: Thursday, February 28, 2002 11:52 AM To: [EMAIL PROTECTED] Subject: Re: JESS: JESS EJB I am also very interested in this. If you get a response please could you forward it to me ? Thanks .. michel. rhalsey007 wrote: Has there been any expression of interest (or any work done) in the integration of JESS with EJB (J2EE) ?? I have looked through all the JESS V6.0 documentation, but found nothing. Also, I have conducted multiple searches on the web for JESS and EJB and found one article on E++ which mentioned using JESS as a stateless bean. What has got my interest up is the fact that ZeoSoft is using JESS as the inference engine for their ZeoFusion product and this product interfaces with an application server for PDAs !! http://www.zeosoft.com Is there any information out there on JESS/EJB ??? Thanks 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] 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] 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] 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]
Re: JESS: Foo bar, FUBAR, and the problems of etymology
Finally an Ex-GI jumps in. I've been watching in wonderment at the more modern explanations. :-) It seems that the more PC Programmers couldn't abide using FUBAR, nor FU BAR so they did the correct thing and changed it to Foo Bar, which makes no sense whatsoever. Just as a side note, when I was overseas working on NASA Radar, our maintenance depot had a huge sign inside that read, Malfunction Junction and directly underneath was the acronym FUBAR. Techies are weird. GI's are weird. Techie GI's are the weirdest of all. :-) There was a take-off on FUBAR in the movie Blue Thunder where the Observer was given a cap with JAFO on it and couldn't figure out what JAFO meant. Technophilia meaning love of technical (things) has nothing to do with Ozzie Ozburne nor with Side Shows at the county fair. R.B. Trelease, Ph.D. wrote: ;-} Fouled up my @sp! My time with the military surely demonstrated that FUBAR = f#cked up beyond all recognition. A concept freqyently well-applied to etymological reconstruction when the originator of a neologism cannot be definitively consulted Anyone want to have a go at the sematic relationships between technophilia and biting the heads of off chickens at a sideshow? ;-} ;-P Cheers! Bob T. Hello, Probably it's something every native English speaker knows, but as a Dutchman I'm wondering for some time already what 'foo bar' stands for. These words are not only used in the Jess manual but also in other documents about programming. I looked in my (not so good) dictionary and with Google, but failed to find anything. So my question is, what do these words mean? Bye, Sander 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] -- 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] -- SDG jco - James C. Owen Senior KE Knowledgebased Systems Corporation 6314 Kelly Circle Garland, TX 75044 972.530.2895 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]
Re: JESS: Foo bar, FUBAR, and the problems of etymology
Please. Don't confuse them now. :-) rhalsey007 wrote: Hey James, The one phrase that I have not seen used yet (by the PC crowd) is DILLIGAFF. Maybe it takes too much energy to speak it PC-like. Bubba (dee Rules Katt) - Original Message - From: James C. Owen [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Monday, February 25, 2002 1:13 PM Subject: Re: JESS: Foo bar, FUBAR, and the problems of etymology Finally an Ex-GI jumps in. I've been watching in wonderment at the more modern explanations. :-) It seems that the more PC Programmers couldn't abide using FUBAR, nor FU BAR so they did the correct thing and changed it to Foo Bar, which makes no sense whatsoever. Just as a side note, when I was overseas working on NASA Radar, our maintenance depot had a huge sign inside that read, Malfunction Junction and directly underneath was the acronym FUBAR. Techies are weird. GI's are weird. Techie GI's are the weirdest of all. :-) There was a take-off on FUBAR in the movie Blue Thunder where the Observer was given a cap with JAFO on it and couldn't figure out what JAFO meant. Technophilia meaning love of technical (things) has nothing to do with Ozzie Ozburne nor with Side Shows at the county fair. R.B. Trelease, Ph.D. wrote: ;-} Fouled up my @sp! My time with the military surely demonstrated that FUBAR = f#cked up beyond all recognition. A concept freqyently well-applied to etymological reconstruction when the originator of a neologism cannot be definitively consulted Anyone want to have a go at the sematic relationships between technophilia and biting the heads of off chickens at a sideshow? ;-} ;-P Cheers! Bob T. Hello, Probably it's something every native English speaker knows, but as a Dutchman I'm wondering for some time already what 'foo bar' stands for. These words are not only used in the Jess manual but also in other documents about programming. I looked in my (not so good) dictionary and with Google, but failed to find anything. So my question is, what do these words mean? Bye, Sander 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] -- 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] -- SDG jco - James C. Owen Senior KE Knowledgebased Systems Corporation 6314 Kelly Circle Garland, TX 75044 972.530.2895 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] 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] -- SDG jco - James C. Owen Senior KE Knowledgebased Systems Corporation 6314 Kelly Circle Garland, TX 75044 972.530.2895 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]
Re: JESS: Virus ? (from forte@inext.ro)
Hmmm Checking my Jess email I didn't get an email from [EMAIL PROTECTED] but I will look out for it now. Thanks, Rich. rhalsey007 wrote: I received an e-mail from this user address concerning the my post JESS: Object-Oriented RETE paper(s). My system rejected it because of a virus. [EMAIL PROTECTED] 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] -- SDG jco James C. Owen Senior KE Knowledgebased Systems Corporation 6314 Kelly Circle Garland, TX 75044 972.530.2895 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]
Re: JESS: CORRECTION (on OO-Rete paper)
Well, just to stir the pot a bit, but the 3rd edition now out. The ISBN is 0-534-95053-1 and the cost is about $92.95 new or $68.07 used. If you are in Canada you can get it for about $121.95 Canadian or about $65. I bought it in Canada through a friend last summer and it was only $49 then. Probably more now. SDG jco - James C. Owen Senior KE Knowledgebased Systems Corporation 6314 Kelly Circle Garland, TX 75044 972.530.2895 Dusan Sormaz wrote: I believe that this is the one (second edition, from our library info): Call # QA76.76.E95 G53 1994 Author Giarratano, Joseph C Title Expert systems : principles and programming / Joseph Giarratano, Gary Riley Edition 2nd ed Imprint Boston : PWS Pub. Co., 1994 Dusan Sormaz At 05:39 PM 2/6/02 -0600, you wrote: Rich, What is the name for book written by Girratanno/Riley book? Thanks David Zhu R D 918-3428763 *** * Dusan Sormaz, PhD, Assistant Professor * Ohio University * Industrial and Manufacturing Systems Engineering Department * 280 Stocker Center, Athens, OH 45701-2979 * phone: (740) 593-1548 * fax: (740) 593-0778 * e-mail: [EMAIL PROTECTED] * url: http://www.ent.ohiou.edu/~sormaz ***
Re: JESS: CORRECTION (on OO-Rete paper)
Rich: I got some time to read over the paper. Not bad. But he doesn't really explain the Rete. Dr. Friedman-Hill has a better explanation in both the Jess Manual and another paper of overhead slides that he has somewhere on-line. Girratanno and Riley also have a fairly decent explanation but at a very low level. I really, really need to get up to Circuit City and get that $150 scanner / FAX / printer so I can get the thesis scanned and on-line. BTW, how's Bubba the Rules Cat holding out? :-) SDG jco James C. Owen Senior KE Knowledgebased Systems Corporation 6314 Kelly Circle Garland, TX 75044 972.530.2895 rhalsey007 wrote: To those interested: The Rete-OO Algorithm for Inference Rules in Object-Oriented Language Systems by Bob McWhirter http://www.drools.org/rete-oo.pdf 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] 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]
Re: JESS: publications / Forgy paper
Wow! I've haven't seen this much interest in the paper(s) for a long, long time. It is, however, refreshing, to see that there is considerable interest in the underlying Rete algorithm from so many people (er, persons?). Anyway, I contacted Dr. Forgy some time ago (like two weeks?) about both papers (his dissertation and the AI publication) and he does not have either one in electronic form. He does have a copy of his thesis in hard copy. His 1979 thesis is 178 pages that we could scan in, but that is not the best way. I've been toying with the idea of using some OCR software to scan in the whole thing and then re-do the diagrams in a more modern format. I'm 99.4% sure that he would have no objection since the entire thing was done under a DOD grant. And, he's a really nice person. On the other hand, Ernest is 100% correct that the AI publication is copyrighted and we cannot publish, display or show where to get that one. My only suggestion would be to get the publisher to put it out on their web site for down loads for a small fee, say $5 or something like that. Ernest's other suggestion is also good; go to your local university library archives and make your own copies. I've done that before and, although it takes some time, it's worth the effort. For most of our group, the discussion that Ernest put together on his web site should be sufficient. It does show the high-level view of the Rete algorithm and is quite understandable. The code for implementing is freely available from JEOPS, http://www.di.ufpe.br/~jeops/ so you can see how to do that part as well. One final note: I've noticed that most who get the thesis glance at the first chapter and then put it on the shelf to study when things are less hectic and they never get around to actually reading the good stuff. But, it looks nice on your personal library shelf, right? Just my two cents. :-) SDG jco -- James C. Owen Senior KE Knowledgebased Systems Corporation 6314 Kelly Circle Garland, TX 75044 972.530.2895 Agustin Gonzalez wrote: Maybe it's time for one of us, especially those of us that have the paper and are trained, to create a formal paper describing the public domain RETE algorithm and make the paper publicly available? I can do that if there is enough interest and enough people agrees with me that I won;t have any legal problems (I don't think so because it is public domain). --- Agustin Gonzalez, Principal Town Lake Software www.townlakesoftware.com (512) 248-9839 On Friday, February 01, 2002 8:44 AM, James Patterson [SMTP:[EMAIL PROTECTED]] wrote: I can tell you that it is a waste of time trying to contact the publisher... An Elsevier representative told me that the issue is out of print and they do not have reprint service anymore. They offered to individually reprint the entire journal issue for a couple of hundred dollars (my boss said no). I'm not a student and therefore can't get any cooperation from the local universities. I even emailed Dr Forgy (and tried to find a coworker of his during a stint at Ericcson) about the Elsevier problems (but they didn't respond - and I started feeling like a stalker so I gave up). Good luck, James -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] On Behalf Of Oliver Hoffmann Sent: Friday, February 01, 2002 6:54 AM To: Jess Mailing List Subject: JESS: publications / Forgy paper Hi :) I highly doubt that the contents of published academic papers are generally copyright protected. What might be copyright protected is the specific paper version of a specific paper as distributed by a specific publisher. The point of publishing research results is to make them readily available, therefore copyright is simply the wrong approach here. More information on http://www.cogsci.soton.ac.uk/~harnad/Tp/resolution.htm I don't want to encourage anyone to re-distribute scanned journal pages without authorization etc., but there are better ways to deal with academic content than waiting for a library employee to get a photocopy within some weeks. I highly recommend self-archiving content and making these copies available over personal or university web sites and I also highly recommend getting original articles from the people or institutions that created them - everything else is pre-internet and a waste of time and effort. :) Oliver Hoffmann At 04:23 AM 1/02/2002 -0800, [EMAIL PROTECTED] wrote: Hi Folks, This comes up periodically, so please forgive the intrusion while I discuss it, once again. The Charles Forgy paper on the Rete algorithm was published in an academic journal called Artificial Intelligence. The contents are protected by copyright law. Although you can make a photocopy for your own use, it's illegal to (for instance) scan it into your computer and post
Re: JESS: publications / Forgy paper
Exactamundo! He (Dr. Forgy) is very protective about the Rete 2 algorithm. Seems that he *had* to make the Rete algorithm public since it was funded by the DOD when he was at CMU, but methinks that he wants to make some money with the Rete 2 algorithm. The Rete 2 works on optimizing memory space thereby increasing the speed. Actually, he's working on a Rete 3 but I have no idea what it is; only that it will make the process even faster than Rete 2. Cool However, I'll see if we can get his Rete Ph.D. thesis scanned and published - maybe this weekend. If so, I'll send it to Dr. Friedman-Hill to publish on the PST site if he likes. BTW, Dr. Forgy's email is [EMAIL PROTECTED], not [EMAIL PROTECTED] :-) One other thing; I've been going over the various Java systems (Jess, OPSJ, JRules, Advisor and JEOPS) the past couple of weeks and trying to run the manners 128 benchmark on all of them using the same set of data and, basically, the same set of rules. That way only the engine is the difference factor. If anyone already has the JEOPS worked out, I would appreciate it if you would send it to me. I got CLIPS and converted it straight over to Jess - which wasn't terribly difficult since they both seem to be be LISP oriented. (Jim really hates LISP! All those parentheses and special markers for variables and just the jumbled way things are handled...) And I already had the code for OPSJ, Advisor and JRules. JEOPS seems to be a different animal since it is more Java-kinda oriented syntax. Whatever. Just a thought. SDG jco - James C. Owen Senior KE Knowledgebased Systems Corporation 6314 Kelly Circle Garland, TX 75044 972.530.2895 [EMAIL PROTECTED] wrote: I think Oliver Hoffmann wrote: James, if you could scan Dr. Forgy's thesis and convert it to pdf, that would be great :) is there also a publication on the Rete II algorithm? http://www.pst.com/ claims that it would be much faster... Nope, it's unpublished and proprietary. - Ernest Friedman-Hill Distributed Systems ResearchPhone: (925) 294-2154 Sandia National LabsFAX: (925) 294-2234 Org. 8920, MS 9012 [EMAIL PROTECTED] PO Box 969 http://herzberg.ca.sandia.gov Livermore, CA 94550 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] 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]
Re: JESS: introspection tools
I got no attachments. Did anyone else get the attachment? One affirmative reply will do. :-) SDG jco [EMAIL PROTECTED] wrote: Quoting Michael Schillo [EMAIL PROTECTED]>: > On 06.12.2001 you wrote about "JESS: introspection tools": [...] > > I would love to see an example. Would you mind putting a generated > page on the web and post the URL? Sorry for the delay. I just got my computer back from repair. The lisp program and its output for my JESS application are attatched. Let me know if you have any questions. At this point it only deals with JESS expressions that my application uses. It should warn about the things it doesn't recognize though and should also be easy to extend. Facts factADJACENT-ENDPOINTS triggers rule ADJACENT-ENDPOINTS-SYMETRIC asserted by rule ADJACENT-ENDPOINTS-SYMETRIC asserted by rule ADJACENT-ENDPOINTS factALL-DIFFERENT triggers rule EQUIV-SIFFERENT-CONSISTENCY-CHECK asserted by rule FACES-AND-SEGMENTS-AT-CROSSPOINT factCP-SEGMENT-FACE-DIRECTIONS triggers rule ADJACENT-ENDPOINTS triggers rule FACES-WITH-TWO-SHARED-SEGMENTS triggers rule SAME-SEGMENT-OPPOSITE-ENDS->OPPOSITE-CIRC triggers rule SAME-SIDE-IF-SAME-SEGMENT-AND-FACE triggers rule SAME-FACE-IF-SAME-SEGMENT-AND-SIDE asserted by function ASSERT-FACE-SIDE-AND-CIRCULAR-DIRECTION factCROSSPOINT triggers rule FACES-AND-SEGMENTS-AT-CROSSPOINT factDECLARE triggers rule FACES-WITH-TWO-SHARED-SEGMENTS triggers rule EQUIV-SIFFERENT-CONSISTENCY-CHECK triggers rule OPPOSITES-EQUIV-CONSISTENCY-CHECK triggers rule EQUIV-EQUIV-MERGE factEND-POINT triggers rule ADJACENT-ENDPOINTS factEQUIV triggers rule ADJACENT-ENDPOINTS triggers rule EQUIV-SIFFERENT-CONSISTENCY-CHECK triggers rule EQUIV-EQUIV-MERGE asserted by rule FACES-AND-SEGMENTS-AT-CROSSPOINT asserted by rule EQUIV-EQUIV-MERGE asserted by function ASSERT-EQUIV factOPPOSITES triggers rule OPPOSITE-SAME-OPPOSITE triggers rule OPPOSITES-EQUIV-CONSISTENCY-CHECK asserted by rule SAME-SEGMENT-OPPOSITE-ENDS->OPPOSITE-CIRC asserted by rule FACES-AND-SEGMENTS-AT-CROSSPOINT factOR triggers rule FACES-WITH-TWO-SHARED-SEGMENTS triggers rule SAME-SEGMENT-OPPOSITE-ENDS->OPPOSITE-CIRC triggers rule SAME-SIDE-IF-SAME-SEGMENT-AND-FACE triggers rule SAME-FACE-IF-SAME-SEGMENT-AND-SIDE triggers rule OPPOSITE-SAME-OPPOSITE triggers rule OPPOSITES-EQUIV-CONSISTENCY-CHECK factUNIQUE triggers rule FACES-WITH-TWO-SHARED-SEGMENTS factUNKNOWN retracted by rule EQUIV-EQUIV-MERGE Rules ruleADJACENT-ENDPOINTS asserts fact ADJACENT-ENDPOINTS triggered by fact EQUIV triggered by fact CP-SEGMENT-FACE-DIRECTIONS triggered by fact END-POINT ruleADJACENT-ENDPOINTS-SYMETRIC asserts fact ADJACENT-ENDPOINTS triggered by fact ADJACENT-ENDPOINTS ruleEQUIV-EQUIV-MERGE retracts fact UNKNOWN asserts fact EQUIV triggered by fact EQUIV triggered by fact DECLARE ruleEQUIV-SIFFERENT-CONSISTENCY-CHECK triggered by fact ALL-DIFFERENT triggered by fact EQUIV triggered by fact DECLARE ruleFACES-AND-SEGMENTS-AT-CROSSPOINT asserts fact EQUIV asserts fact OPPOSITES asserts fact ALL-DIFFERENT calls function ASSERT-FACE-SIDE-AND-CIRCULAR-DIRECTION calls function MAKE-NAME triggered by fact CROSSPOINT ruleFACES-WITH-TWO-SHARED-SEGMENTS calls function ASSERT-EQUIV triggered by fact UNIQUE triggered by fact OR triggered by fact CP-SEGMENT-FACE-DIRECTIONS triggered by fact DECLARE ruleOPPOSITE-SAME-OPPOSITE calls function ASSERT-EQUIV triggered by fact OR triggered by fact OPPOSITES ruleOPPOSITES-EQUIV-CONSISTENCY-CHECK triggered by fact OR triggered by fact OPPOSITES triggered by fact DECLARE ruleSAME-FACE-IF-SAME-SEGMENT-AND-SIDE calls function ASSERT-EQUIV triggered by fact OR triggered by fact CP-SEGMENT-FACE-DIRECTIONS ruleSAME-SEGMENT-OPPOSITE-ENDS->OPPOSITE-CIRC asserts fact OPPOSITES triggered by fact OR triggered by fact CP-SEGMENT-FACE-DIRECTIONS ruleSAME-SIDE-IF-SAME-SEGMENT-AND-FACE calls function ASSERT-EQUIV triggered by fact OR triggered by fact CP-SEGMENT-FACE-DIRECTIONS Functions functionASSERT-EQUIV asserts fact EQUIV called by rule FACES-WITH-TWO-SHARED-SEGMENTS called by rule SAME-SIDE-IF-SAME-SEGMENT-AND-FACE called by rule SAME-FACE-IF-SAME-SEGMENT-AND-SIDE called by rule OPPOSITE-SAME-OPPOSITE functionASSERT-FACE-SIDE-AND-CIRCULAR-DIRECTION asserts fact CP-SEGMENT-FACE-DIRECTIONS called by rule FACES-AND-SEGMENTS-AT-CROSSPOINT functionFACT-ORDERING-PREDICATE functionMAKE-NAME called by rule FACES-AND-SEGMENTS-AT-CROSSPOINT
JESS: DFW JUG (Jess Users Group)
Yeah, yeah, yeah... I know. JUG means Java Users Group. Well, since imitation is the highest form of flattery, and since if you do Jess you have to, by definition, do Java, then let's flatter ourselves. :-) Any-who... This is a call to all of the Jess Users in the Dallas - Fort Worth (that's Texas, boy) to form up a Jess Users Group, JUG. Showing no imagination whatsoever, we could meet monthly at some local watering hole (initially) then move to a more academic setting if one of our cohorts happens to have such a place available. And I might be able to arrange even that. :-) Please don't clutter up the Jess-Users at Sandia Labs with your reply. Send them directly to me and, assuming that we have enough ladies and gentlemen to do this brave new venture, I (or some other foolish person) will set up a mailing list similar to the Jess-Users at Sandia. mailto:[EMAIL PROTECTED] SDG jco --- James C. Owen Senior KE Knowledgebased Systems Corporation 6314 Kelly Circle Garland, TX 75044 972.530.2895 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]
Re: JESS: Who cares about chars?
Just my two cents: Returning int or char is far better than returning String. Object creation time is one of our big problems in Java. Right? SDG jco [EMAIL PROTECTED] wrote: Well, Jess has its own LISP-like type system, following the one from CLIPS. Jess has one type that Java doesn't (symbols) and doesn't make many of the distinctions that Java does. For the most part this doesn't matter; in a very high-level language, you're generally not worrying about data types. Having the full range of Java data types in a pattern-matching language would be a nightmare -- do two values not match because they're not equal, or because one is an int and one is a short? When Jess calls out to Java functions, though, it has to map the Java types onto its own types and vice-versa, and that mapping has to be predictable. In my code snippet below ( i.e., (call foo charAt 0) ) that -is- the java.lang.String.charAt() function, and it -does- return a char. The question is, given Jess's available types (INTEGER, LONG, FLOAT, ATOM, STRING, EXTERNAL_ADDRESS) how should Jess represent that char? What I'm suggesting is that INTEGER is a better match than STRING, and I'm wondering if anybody has any code that would break if I made this change. I think Bryan Talbot wrote: Why have it return an int instead of a char like the java.lang.String.charAt() method does? Also, with a method name like charAt, I would intuitively expect a char type to be returned. From: [EMAIL PROTECTED] Currently, Jess maps Java char values onto Jess Strings; i.e., the result of (call foo charAt 0) is f. I'm starting to think that this is the wrong mapping -- a Jess integer would make more sense (i.e., 102.) Does anybody have an opinion, one way or the other? - Ernest Friedman-Hill Distributed Systems ResearchPhone: (925) 294-2154 Sandia National LabsFAX: (925) 294-2234 Org. 8920, MS 9012 [EMAIL PROTECTED] PO Box 969 http://herzberg.ca.sandia.gov Livermore, CA 94550 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] 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]
Re: JESS: serializable respect transient?
Sorry I'm so long in answering this one, but I just returned to the old home site and read all of my email from about mid-October or so. I'll be back again about Thanksgiving. Anyway! There is a most excellent article on this subject in the October 2000 issue of Java Report, beginning on page 60. Happy reading! :-0 Ed Meier wrote: Jess folk, I have a situation where I need to put a non-serializable object into my UserFunction for Jess to call. It is out of my control to make the object serializable. I declared it "transient" but I still get "not serializable" errors.Like so:class CallMeBack implements UserFunction, Serializable{ private transient NotSerializing dontSerialMe; public getName (..) { yada-yada }}Must my callback function implement Serializable?Is there anything I should know about Jess and serialization with respect to transient variables?I suspect the error is on somebody else, but I just want to check to be sure.Thanks in advance,Ed MeierClark Software Engineering, Ltd.Dayton, OH -- ttfn IHN Jim --------- James C. Owen Knowledge-Based Systems Corporation 6314 Kelly Circle Garland, TX 75044 972.530.2895 214.684.KBSC (5272) cell mailto:[EMAIL PROTECTED] http://www.kbsc.com "This above all,-- to thine own self be true; For it must follow, as the night the day, Thou canst not then be false to any man." Polonius speaking to his son Laertes before departure Hamlet, Act I, Scene iii "NT's lack of reliability is only surpassed by its lack of scalability." -- John Kirch
Re: JESS: Reasoning over non-Bean objects
If you're doing benchmarks, be sure to check out Dr. Miranaker's site at UTA, ftp://ftp.cs.utexas.edu/pub/ops5-benchmark-suite/ where he has five standard benchmarks that you can download and set up. As I recall, they are all for CLIPS but it should be fairly easy to convert to whatever ruleset you are using. One thing I've discovered on bench marks: When you run the java command, use more RAM (256MB minimum), more stack (16 MB minimum) and a fairly high speed machine, say an 850 MHz Pentium III or a decent Unix machine, say a Sun 6000. :-) On the Sun machines, it makes a difference which thread you're using, either green or native. Usually native runs faster on benchmarks. And run all of the test on the same machine with the same set of parameters. Now that I've said all of that, would you mind publishing your results to the group when you get through? Please? jco David Young wrote: Greetings. We are currently doing a comparitive prototype using Jess 6.0a and ILog JRules 3.0. Of particular interest is how well either product can be embedded into our existing (and well-established) network management system. I am aware of how well Jess interacts with Beans; however, the area in which Jess or JRules is targeted does not employ Beans, hence whatever we select will be required to reason over conventional Java objects. I'm wondering if anyone has experience embedding Jess into a "legacy" Java system. I've written a small Jess prototype using the introspection facilities provided; for example: (defrule handle-standing-condition ?obj - (fault-data (object ?fd)) (test (eq (get-member ?fd cond_def) (get-member ext_fault STANDING))) = (set-member ?fd severity (get-member ext_fault WARNING)) (retract ?obj)) However, this style doesn't appear to lend itself to more complex rules and is less elegant (and perhaps efficient) than say: (defrule handle-standing-condition ?obj -(fault-data (cond_def ?cond=(get-member ext_fault WARNING))) = (...)) JRules appears to have a distinct advantage here, in that it imposes no specific requirement (eg. "must be a Bean") on the classes it can reason about. Conversely, JRules also requires "manual intervention" when Java objects are modified outside of the knowledge base; there's no "automatic" mechanism such as the PropertyChangeListener that Jess utilizes. In any event, I could use some guidance here. Rewriting our existing classes as Beans is not feasible at this time, and creating a suite of "wrapper Beans" around these classes conjures up maintenance nightmares. Thanks for your assistance. Regards, -- - David E. Young Fujitsu Network Communications "The fact that ... we still ([EMAIL PROTECTED]) live well cannot ease the pain of feeling that we no longer live nobly." -- John Updike "Programming should be fun, programs should be beautiful" -- P. Graham - 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] --------- -- ttfn IHN Jim - James C. Owen Knowledge-Based Systems Corporation 6314 Kelly Circle Garland, TX 75044 972.530.2895 214.684.KBSC (5272) cell mailto:[EMAIL PROTECTED] http://www.kbsc.com "This above all,-- to thine own self be true; For it must follow, as the night the day, Thou canst not then be false to any man." Polonius speaking to his son Laertes before departure Hamlet, Act I, Scene iii "NT's lack of reliability is only surpassed by its lack of scalability." -- John Kirch - 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] -
Re: JESS: Pronouncing Rete
OK, there you have it. We now have a reason for ree'tee rather than reh'tay. Hooray for our side! I've always called it ree'tee also but I had some Linguist correct me in class one day after I mentioned that it was based on Latin for network. That was only about three weeks ago and I'm still on contract at the site. Now I can show them why we stupid Americans call it ree'tee. It isn't our fault. It's the fault of the book publishers. See how easily I became a victim rather than a perpetrator? Thanks for the ammo. Gary Riley wrote: For what it's worth, I read about it before I ever heard anyone pronounce it, and I've never studied Latin, so in my head it sounds like "reet." Now, I've talked to Gary Riley, and he follows Forgy and says "ree'tee". I think this (mis) pronunciation is the industry standard. I try to use it when I talk to other people out loud. American Heritage dictionary gives the pronunciation as ree'tee. Gary Riley I think James C. Owen wrote: Doug: Actually, I asked Dr. Forgy this question and it seems that, even though it's Latin for "network", he pronounces it ree'-tee. However, if you know your Latin you'll probably pronounce it reh'-tay. But don't worry about or get into an argument about it. I know guys why have been using it in their rulebase systems (I'm talking about engineers who write the rulebase itself AND those who install and consult on them) since the mid 80's who aren't sure how to pronounce it. As a matter of fact, about 95% of them have never read the original thesis nor know how the theory about how or why the Rete algorithm works. :-) Keep the faith. BTW, Dr. Forgy's thesis is available in most university libraries. I happen to know it's available at Stamford in the EE/CS library on the 2nd floor. Or was it the 3rd floor? Whatever... -- I think that Doug Edmunds wrote: Pronunciation of Rete Is it Rete as in ree' tee or as in ree tee' or as in ray' tay or as in ray tay' or as in reet? Doug Edmunds [EMAIL PROTECTED] - 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] - -- ttfn IHN Jim --------- James C. Owen Knowledge-Based Systems Corporation 6314 Kelly Circle Garland, TX 75044 972.530.2895 mailto:[EMAIL PROTECTED] http://www.kbsc.com "You Think It's Hot Here? -- God" (Seen on a billboard in DFW MetroPlex.) "NT's lack of reliability is only surpassed by its lack of scalability." -- John Kirch - 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] - - Ernest Friedman-Hill Distributed Systems ResearchPhone: (925) 294-2154 Sandia National LabsFAX: (925) 294-2234 Org. 8920, MS 9012 [EMAIL PROTECTED] PO Box 969 http://herzberg.ca.sandia.gov Livermore, CA 94550 - 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] - - 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] - -- ttfn IHN Jim - James C. Owen Knowledge-Based Systems Corporation 6314 Kelly Circle Garland, TX 75044 972.530.2895 mailto:[EMAIL PROTECTED] http://www.kbsc.com "You Think It's Hot Here? -- God" (Seen on a billboard in DFW MetroPlex.) "NT's lack of reliability is only surpassed by its lack of scalability." -- John Kirch - 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] -
JESS: Boolean
Sometimes I think that a short course in Boolean Logic might be applicable BEFORE one engages in the task of writing a rulebased routine. Remember, "Boole was no foole." :-) -- ttfn IHN Jim ----- James C. Owen Knowledge-Based Systems Corporation 4817 Buckskin Drive Fort Worth, Texas 76137 817.314.0584 Office 817.314.0585 FAX 817.247.8976 Cellular mailto:[EMAIL PROTECTED] http://www.kbsc.com "I Love You ... I Love You ... I Love You. -God" (Seen on a billboard in DFW MetroPlex.) - 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] -
Re: JESS: License question
Amen. But ONLY if the organization (person) who owned the copyright actually wanted to go to the bother and trouble of doing so. It is my understanding that prior to the infamous Lotus/whoever case that the copyright laws were such that you only had to change 10% of the existing code to make it your own. That involved changing only the header file in some code. However, after the Lotus case "look and feel" became an important factor. Also, if you will recall, Borland dBASE III and dBASE II lost their copyright because a large percentage of their code came from some public domain code that they did not acknowledge in their original copyright application. For a period of about 90 days, we all made legal copies of dBASE III. Besides all that, it shows a total lack of competence to blatantly copy someone else's code. If you're not smart enough to look at what someone else has done and then create your own, you should change your line of business; say, become a lawyer or a used car salesman. If you're not smart enough to see someone else's code and then go create some code of your own to do the same thing, then maybe you should consider a career in the food service industry. :-) "Lawrence D. DeVooght" wrote: You would "stand" about the same place if you took a best seller, or the galleys of an upcoming best seller, corrected any typos, rearranged some paragraphs and chapters to suite your aesthetic flow and changed some context to make it more in line with how you think the story should go. You would "stand" to get you butt sued off. Lawrence D. DeVooght Savant Information Systems Kenwood, California Those who cheat time must accept a proportional risk of failure. -Original Message- From: Danny Ayers [SMTP:[EMAIL PROTECTED]] Sent: Friday, June 11, 1999 7:35 AM To: [EMAIL PROTECTED] Subject:JESS: License question Hi, I'm afraid I'm no good at legal jargon, and I would like to know what the license/copyright situation is with Jess. The source couldn't be much more open (ref. the bug fix postings on this group), but the standard package gives a 'Sandia' ownership message. I am a little confused - if for example I was to take the Alpha code, debug it and remove all copyright notices, then release a commercial product that incorporated said code, how would I stand legally? (I have no such intentions BTW). If someone could kindly translate this into natural language for me, I would be most grateful. Cheers, Danny. -- Alternate email : [EMAIL PROTECTED] "one on two and plenty of through" - To unsubscribe, send the words 'unsubscribe jess-users [EMAIL PROTECTED]' in the BODY of a message to [EMAIL PROTECTED], NOT to the list. List problems? Notify [EMAIL PROTECTED] - --- Part 1.2Type: application/ms-tnef Encoding: base64 -- ttfn IHN Jim - James C. Owen Knowledge-Based Systems Corporation 4817 Buckskin Drive Fort Worth, Texas 76137 817.314.0584 Office 817.314.0585 FAX 817.247.8976 Cellular mailto:[EMAIL PROTECTED] http://www.kbsc.com "I Love You ... I Love You ... I Love You. -God" (Seen on a billboard in DFW MetroPlex.) - To unsubscribe, send the words 'unsubscribe jess-users [EMAIL PROTECTED]' in the BODY of a message to [EMAIL PROTECTED], NOT to the list. List problems? Notify [EMAIL PROTECTED] -
JESS: Symantec First to Provide Immediate Protection forHigh-Risk, Destructive Worm.ExploreZip Worm
This appears to be quite real and extremely deadly. http://www.symantec.com/press/1999/n990610b.html -- ttfn IHN Jim - James C. Owen Knowledge-Based Systems Corporation 4817 Buckskin Drive Fort Worth, Texas 76137 817.314.0584 Office 817.314.0585 FAX 817.247.8976 Cellular mailto:[EMAIL PROTECTED] http://www.kbsc.com "I Love You ... I Love You ... I Love You. -God" (Seen on a billboard in DFW MetroPlex.) Title: Symantec First to Provide Immediate Protection for High-Risk, Destructive Worm.ExploreZip Worm Advanced Search Press Center Press Releases U.S. Contacts International Contacts Corporate Directory Corporate Information Company Background Executive Bios Corporate Whitepapers 1995-1999 Symantec Corporation All rights reserved. Legal Notices News Release Symantec First to Provide Immediate Protection for High-Risk, Destructive Worm.ExploreZip Worm Updated Virus Definition Set Available Now Via LiveUpdate, Symantec Web Site Cupertino, Calif. June 10, 1999 - Symantec Corporation (Nasdaq: SYMC) today announced that a virus definition set is immediately available to detect and repair the Worm.ExploreZip worm, which contains a malicious payload that can result in non-recoverable data and/or inoperable computer systems. Norton AntiVirus users are advised to protect themselves from this worm by downloading the current virus definitions through LiveUpdate or from the Symantec web site at www.symantec.com/avcenter/download.html. "Symantec continues to outpace competitors in the speed at which it counters even the most prolific and destructive viruses," said Enrique Salem, vice president of Symantec's Security and Assistance Business Unit. "We remain determined to continue to respond swiftly to the public's needs for technology that eliminates the potential destruction that viruses such as Worm.ExploreZip can cause." Worm.ExploreZip is a worm that contains a malicious payload. The worm utilizes MAPI commands and Microsoft Outlook on Windows systems to propagate itself. The worm was first discovered in Israel and submitted to the Symantec AntiVirus Research Center (SARC) on June 6, 1999. The worm e-mails itself out as an attachment with the filename "zipped_files.exe"; the body of the e-mail message might appear to come from a known e-mail correspondent and contains the following text: "Hi [recipient name]! I received your email and I shall send you a reply ASAP. Till then, take a look at the attached zipped docs. Bye" The worm determines the recipient by going through received messages in the user's Inbox. Once the attachment is executed, it might display an Error window, which contains the following text: "Cannot open file: it does not appear to be a valid archive. If this file is part of a ZIP format backup set, insert the last disk of the backup set and try again. Please press F1 for help." The worm proceeds to copy itself to the c:\windows\system directory with the filename "Explore.exe" and then modifies the WIN.INI file so that the program is executed each time Windows is started. The worm then utilizes the user's e-mail client to harvest e-mail addresses in order to propagate itself. Users might notice that their e-mail client starts when this occurs. In addition, when Worm.ExploreZip is executed, it also searches through the C through Z drives of the user's computer system and selects files with extensions .c, .cpp, .h, .asm, .doc, .ppt, .xls to destroy by making them 0 bytes long. This can result in non-recoverable data and inoperable computers. Symantec AntiVirus Research Center (SARC) SARC is the industry's largest dedicated team of virus experts. With offices located in the United States, Japan, Australia, and the Netherlands, the sun never sets on SARC. The center's mission is to provide swift, global responses to computer virus threats, proactively research and develop technologies that eliminate such threats, and educate the public on safe computing practices. As new computer viruses appear, SARC develops identification and detection for these viruses, and provides either a repair or delete operation, thus keeping users protected against the latest virus threats. About Symantec Symantec is the world leader in utility software for business and personal computing. Symantec products and solutions help make users productive and keep their computers safe and reliable anywhere and anytime. Symantec offers a broad range of solutions and is acclaimed as a leader in both customer satisfaction and product brand recognition. Symantec is traded on Nasdaq under the symbol SYMC. More information on the company and its products can be obtained at www.symantec.com. NOTE TO EDITORS: If you would like additional information on Symantec Corporation and its pro
Re: JESS: Modules
Yes, it's me. And, yes, I quit posting this kind of thing on the Jess pages. :-) Please understand that I'm not running down Jess. I think Jess is, in a word, GREAT! However, if you haven't already done so (which you probably have) you might check out http://www.pst.com/benopsj.htm where Dr. Forgy has compared Compiled CLIPS 6.04 C++ running Rete versus Java OPSJ running Rete II. You might check with him and ask him what he did to get these results. Who know? Maybe he'll tell you. Maybe. Ernest Friedman-Hill wrote: Jess can now run the University of Texas benchmarks (using a stock Microsoft JVM) noticeably faster than CLIPS 6.04 (compiled with -O2) on the same machine. The speedup scales nonlinearly with problem size, and is most apparent for very large systems. For the "Manners" benchmark, Jess now beats CLIPS by 25% at 64 persons, and by a factor of two at 80 persons. I'm using a new smart indexing system in the Rete memories to get this speed. ttfn IHN Jim ----- James C. Owen Knowledge-Based Systems Corporation 4817 Buckskin Drive Fort Worth, Texas 76137 817.314.0584 Office 817.314.0585 FAX 817.247.8976 Cellular mailto:[EMAIL PROTECTED] http://www.kbsc.com "Keep Using My Name In Vain And I'll Make Rush Hour Longer. -God" (Seen on a billboard in DFW MetroPlex.) - To unsubscribe, send the words 'unsubscribe jess-users [EMAIL PROTECTED]' in the BODY of a message to [EMAIL PROTECTED], NOT to the list. List problems? Notify [EMAIL PROTECTED] -
Re: JESS: Keen to learn
For a real-world application you might check out Advisor from Neuron Data: http://www.neurondata.com JRules from ILOG: http://www.ilog.com I personally prefer Neuron Data because of it's better development environment. Tell'em Jim sent you. :-) Kang Zhijian wrote: Beginner's question Hi, I'm a mechanical engineer and just became a new jess user. I wrote some rules for a simple problem and it works well. But I'm wondering how I can put it on a Web page and run the problem under web-based environment? Thank you for help. Regard Kang - To unsubscribe, send the words 'unsubscribe jess-users [EMAIL PROTECTED]' in the BODY of a message to [EMAIL PROTECTED], NOT to the list. List problems? Notify [EMAIL PROTECTED] - -- ttfn IHN Jim === James C. Owen Senior Knowledgebase Consultant Knowledge-Based Systems Corporation 4817 Buckskin Drive Fort Worth, TX 76137 817.314.0584 Office 817.314.0585 FAX 817.247.8976 Cell mailto:[EMAIL PROTECTED] http://www.kbsc.com "To err is human. To forgive is divine. Neither of which is Marine Corps policy." (Seen on a bumper sticker on a Naval base.) - To unsubscribe, send the words 'unsubscribe jess-users [EMAIL PROTECTED]' in the BODY of a message to [EMAIL PROTECTED], NOT to the list. List problems? Notify [EMAIL PROTECTED] -
Re: JESS: GUI program to create and edit Jess rules?
And certified 100% Java by Sun? :-) "Robert B. Trelease, Ph.D." wrote: And, of course, this JESS tool should be programmed in Java itself... What a great idea! What if someone put a "natural language" interface on the front end of Jess rather than the OPS5 (or whatever syntax)? I think Jess really is intended for fairly technical people. However, there are any number of programs available which use "friendlier" front ends. Unfortunately, all the ones that I know about cost lots of $; around $10,000 or more per developer seat. Check out the Advisor from Neuron Date. It is 100% pure Java, natural-language interface with GUI editors and with all the bells and whistles. They have a Version 2.2 released and a Version 2.5 about to be released with lots and lots of goodies. http://www.neurondata.com btw, ND has been around since about 1984. They have a older version done in C/C++ that is a really stable product and is really nice but is not Java. :-( ccwang wrote: Hi! I am a new Jess user. I am just wondering if there are any GUI programs available for non-technical people to create and edit Jess rules ? I think the current way to write Jess codes in the Jess manual is very difficult for non-technical people. CC Wang - To unsubscribe, send the words 'unsubscribe jess-users [EMAIL PROTECTED]' in the BODY of a message to [EMAIL PROTECTED], NOT to the list. List problems? Notify [EMAIL PROTECTED] - -- ttfn IHN Jim =========== James C. Owen Senior Knowledgebase Consultant 4817 Buckskin Drive Fort Worth, TX 76137 817.314.0584 Office 817.314.0585 FAX 817.247.8976 Cell Check out this page! http://www.kbsc.com "To err is human. To forgive is divine. Neither of which is Marine Corps policy." (Seen on a bumper sticker on a Naval base.) - To unsubscribe, send the words 'unsubscribe jess-users [EMAIL PROTECTED]' in the BODY of a message to [EMAIL PROTECTED], NOT to the list. List problems? Notify [EMAIL PROTECTED] - - To unsubscribe, send the words 'unsubscribe jess-users [EMAIL PROTECTED]' in the BODY of a message to [EMAIL PROTECTED], NOT to the list. List problems? Notify [EMAIL PROTECTED] - -- ttfn IHN Jim === James C. Owen Senior Knowledgebase Consultant 4817 Buckskin Drive Fort Worth, TX 76137 817.314.0584 Office 817.314.0585 FAX 817.247.8976 Cell Check out this page! http://www.kbsc.com "To err is human. To forgive is divine. Neither of which is Marine Corps policy." (Seen on a bumper sticker on a Naval base.) - To unsubscribe, send the words 'unsubscribe jess-users [EMAIL PROTECTED]' in the BODY of a message to [EMAIL PROTECTED], NOT to the list. List problems? Notify [EMAIL PROTECTED] -
Re: JESS: Forgy paper...
If you're in the valley somewhere, Stanford has a copy in the EE library. David Young wrote: Hello. Does anyone know where I can find a copy of Charles Forgy's "RETE: A Fast Algorithm for the Many Pattern/Many Object Pattern Matching Problem"? I've been to the Elsevier Science page (which I guess publishes "Artificial Intelligence"), but they don't seem to offer back issues (and at a subscription price of $1895, I probably couldn't afford one anyway). Thanks. Regards, -- - David E. Young Fujitsu Network Communications "The fact that ... we still ([EMAIL PROTECTED])live well cannot ease the pain of feeling that we no longer live nobly." -- John Updike "Programming should be fun, programs should be beautiful" -- P. Graham - To unsubscribe, send the words 'unsubscribe jess-users [EMAIL PROTECTED]' in the BODY of a message to [EMAIL PROTECTED], NOT to the list. List problems? Notify [EMAIL PROTECTED] - -- ttfn IHN Jim === James C. Owen Senior Knowledgebase Consultant 4817 Buckskin Drive Fort Worth, TX 76137 817.314.0584 Office 817.314.0585 FAX 817.247.8976 Cell Check out this page! http://www.kbsc.com "To err is human. To forgive is divine. Neither of which is Marine Corps policy." (Seen on a bumper sticker on a Naval base.) - To unsubscribe, send the words 'unsubscribe jess-users [EMAIL PROTECTED]' in the BODY of a message to [EMAIL PROTECTED], NOT to the list. List problems? Notify [EMAIL PROTECTED] -