|
View:
New views
4 Messages
—
Rating Filter:
Alert me
|
|
|
JESS: I am planning a rule based programming course on JESS and would appreciate referencesHello.
I am planning a rule based programming course and we are using JESS for programming assignments. And being typical lazy teacher I would appreciate any material that anyone is willing to share to get me started :) We are using "JESS in action" as a course book but I could use good references on programming assignments and other couse related materials. So if anyone has material they are willing to share or can suggest good programming examples or excercises on top of what comes with JESS and good, I would greatly appreciate that. The focus of the course is to give students enough experience so that they could start using JESS and other rule engines in their future work assignments and when they go out working for companies. I am using rule based systems in my own work and have noticed that they save a huge amount of work in complex real life systems so I would like to train future generations of engineers that they don't have to hard code business logic with Java or Python and spend most of their time on constant re-factoring. Also I would appreciate any pointers on other good books to read on rule based programming and using them in business environment. Jarno -------------------------------------------------------------------- To unsubscribe, send the words 'unsubscribe jess-users you@...' in the BODY of a message to majordomo@..., NOT to the list (use your own address!) List problems? Notify owner-jess-users@.... -------------------------------------------------------------------- |
|
|
Re: JESS: I am planning a rule based programming course on JESS and would appreciate referencesThe Jess wiki contains some interesting examples, I should mention, since
you didn't. Also, you might look at other (public domain) RBS and theit examples. Sometimes you'd have to rewrite (Drools doesn't use CLIPS as a language), sometimes you might be able to take it with perhaps just minor adaptions (CLIPS). -W On Sun, Aug 23, 2009 at 12:17 PM, jarno niemelä <jargon@...> wrote: > Hello. > > I am planning a rule based programming course and we are using JESS > for programming assignments. > And being typical lazy teacher I would appreciate any material that > anyone is willing to share to get me started :) > > We are using "JESS in action" as a course book but I could use good > references on programming assignments and > other couse related materials. > > So if anyone has material they are willing to share or can suggest > good programming examples or excercises on top of > what comes with JESS and good, I would greatly appreciate that. > > The focus of the course is to give students enough experience so that > they could start using JESS and other rule engines > in their future work assignments and when they go out working for > companies. > > I am using rule based systems in my own work and have noticed that > they save a huge amount of work in complex real life > systems so I would like to train future generations of engineers that > they don't have to hard code business logic with Java or Python > and spend most of their time on constant re-factoring. > > Also I would appreciate any pointers on other good books to read on > rule based programming and using them in business environment. > > Jarno > > > -------------------------------------------------------------------- > To unsubscribe, send the words 'unsubscribe jess-users you@...' > in the BODY of a message to majordomo@..., NOT to the list > (use your own address!) List problems? Notify owner-jess-users@... |
|
|
Re: JESS: I am planning a rule based programming course on JESS and would appreciate referencesHere are some ideas for instructive or simply difficult exercises. I have indicated the approximate difficulty and/or effort with 0 through 4. Notice, though, that 4 may be difficult for novices, and that >=3 requires "fluent Java".
*** Movie Database (1) Given XML data on flicks, actors and roles: <database> <movie title="Casablanca"/> ... <actor name="Humphrey Bogart"/> <actor name="Ingrid Bergman"/> ... <role actor="Humphrey Bogart" movie="Casablanca"/> <role actor="Ingrid Bergman" movie="Casablanca"/> ... </database> load this into WM. Write rules such as - all movies of some actor/actrice; - all actors/actrices of a movie . all movies where two given actors/actrices are in the cast *** Shortest path (3) Given XML data on cities and travel costs <graph start="Indianapolis" goal="Columbus"> <nodes id="Atlanta"/> <nodes id="Boston"/> <nodes id="Columbus"/> ... <edges nodeA="Atlanta" nodeB="Boston" cost="5"/> ... <edges nodeA="Boston" nodeB="Columbus" cost="6"/> ... </graph> load this into WM. Study Dijkstra's Algorithm for finding the shortest path and implement it using rules. *** Polygons and Points (3) Given XML data describing a polygon and some isolated points P1, P2,... inside or outside of the polygon: <database> <polygon name="M"> <edge> <p1 name="p1" x="0" y="0"/> <p2 name="p2" x="10" y="0"/> </edge> ... <edge> <p1 name="p5" x="0" y="10"/> <p2 name="p1" x="0" y="0"/> </edge> </polygon> <point name="P1" x="4" y="4" /> <point name="P2" x="20" y="5" /> ... </database> load this data into WM. Write a rule determining, for each point, whether it is inside or outside. (The basic algorithm can be found in textbooks on geometry.) *** Lexical Analysis Implement a Lexical Analyzer. (a) Write individual rules for all combinations of <state,token-class>, doing the action on the RHS (2) (b) Design a generic rule interpreting facts defining <state,token-class,action>. (4) *** Range Checking (a) Write a rule checking whether some (numeric) slot s of fact F is in [a,b], reporting out-of-bounds. (0) (b) Design a system that will accept any number of facts of type R defining <F,s,a,b>. Write a rule matching an R-fact with F=F' if there are facts from F' present in the WM and create (programmatically) the corresponding range-checking rule. Add the rules to the Engine and run. (4) *** Populating a Grid (2) Given m x n (m,n >= 1) facts Cell<x,y,b> (x, y integer) representing an m-by-n grid, write rules setting slot b in the border cells, i.e. where x=1 or y=1 or x=m or y=n. Make sure you achieve the minimum amount of rule activations! *** Battleships (2) Given a quadrant of sea, represented by a 10x10 grid, where battleships may be located in 1,2, 3 or 4 horizontal or vertical neighbouring cells, write rules ascertaining that the situation is "safe": no battleship may occupy a cell that this one of the 8 immediate neighbours of a cell occupied by another battleship. Report violations. -W On Sun, Aug 23, 2009 at 4:34 PM, Wolfgang Laun <wolfgang.laun@...> wrote: The Jess wiki contains some interesting examples, I should mention, since |
|
|
Re: JESS: I am planning a rule based programming course on JESS and would appreciate referencesThanks for the tips.
Jarno On Mon, Aug 24, 2009 at 10:39 AM, Wolfgang Laun<wolfgang.laun@...> wrote: > Here are some ideas for instructive or simply difficult exercises. I have > indicated the approximate difficulty and/or effort with 0 through 4. Notice, > though, that 4 may be difficult for novices, and that >=3 requires "fluent > Java". > > *** Movie Database (1) > Given XML data on flicks, actors and roles: > <database> > <movie title="Casablanca"/> > ... > <actor name="Humphrey Bogart"/> > <actor name="Ingrid Bergman"/> > ... > <role actor="Humphrey Bogart" movie="Casablanca"/> > <role actor="Ingrid Bergman" movie="Casablanca"/> > ... > </database> > load this into WM. Write rules such as > - all movies of some actor/actrice; > - all actors/actrices of a movie > . all movies where two given actors/actrices are in the cast > > *** Shortest path (3) > Given XML data on cities and travel costs > <graph start="Indianapolis" goal="Columbus"> > <nodes id="Atlanta"/> > <nodes id="Boston"/> > <nodes id="Columbus"/> > ... > <edges nodeA="Atlanta" nodeB="Boston" cost="5"/> > ... > <edges nodeA="Boston" nodeB="Columbus" cost="6"/> > ... > </graph> > load this into WM. Study Dijkstra's Algorithm for finding the shortest path > and implement it using rules. > > *** Polygons and Points (3) > Given XML data describing a polygon and some isolated points P1, P2,... > inside or outside of the polygon: > <database> > <polygon name="M"> > <edge> > <p1 name="p1" x="0" y="0"/> > <p2 name="p2" x="10" y="0"/> > </edge> > ... > <edge> > <p1 name="p5" x="0" y="10"/> > <p2 name="p1" x="0" y="0"/> > </edge> > </polygon> > > <point name="P1" x="4" y="4" /> > <point name="P2" x="20" y="5" /> > ... > </database> > load this data into WM. Write a rule determining, for each point, whether it > is inside or > outside. (The basic algorithm can be found in textbooks on geometry.) > > *** Lexical Analysis > Implement a Lexical Analyzer. > (a) Write individual rules for all combinations of <state,token-class>, > doing the action on the RHS (2) > (b) Design a generic rule interpreting facts defining > <state,token-class,action>. (4) > > *** Range Checking > (a) Write a rule checking whether some (numeric) slot s of fact F is in > [a,b], reporting out-of-bounds. (0) > (b) Design a system that will accept any number of facts of type R defining > <F,s,a,b>. > Write a rule matching an R-fact with F=F' if there are facts from F' present > in the WM > and create (programmatically) the corresponding range-checking rule. Add the > rules to the Engine and > run. (4) > > *** Populating a Grid (2) > Given m x n (m,n >= 1) facts Cell<x,y,b> (x, y integer) representing an > m-by-n grid, write rules setting slot b > in the border cells, i.e. where x=1 or y=1 or x=m or y=n. Make sure you > achieve the minimum amount of > rule activations! > > *** Battleships (2) > Given a quadrant of sea, represented by a 10x10 grid, where battleships may > be located in 1,2, 3 or > 4 horizontal or vertical neighbouring cells, write rules ascertaining that > the situation is "safe": > no battleship may occupy a cell that this one of the 8 immediate neighbours > of a cell occupied > by another battleship. Report violations. > > -W > > On Sun, Aug 23, 2009 at 4:34 PM, Wolfgang Laun <wolfgang.laun@...> > wrote: >> >> The Jess wiki contains some interesting examples, I should mention, since >> you didn't. >> >> Also, you might look at other (public domain) RBS and theit examples. >> Sometimes you'd have to rewrite (Drools doesn't use CLIPS as a language), >> sometimes you might be able to take it with perhaps just minor adaptions >> (CLIPS). >> >> -W >> >> >> On Sun, Aug 23, 2009 at 12:17 PM, jarno niemelä <jargon@...> wrote: >> >> > Hello. >> > >> > I am planning a rule based programming course and we are using JESS >> > for programming assignments. >> > And being typical lazy teacher I would appreciate any material that >> > anyone is willing to share to get me started :) >> > >> > We are using "JESS in action" as a course book but I could use good >> > references on programming assignments and >> > other couse related materials. >> > >> > So if anyone has material they are willing to share or can suggest >> > good programming examples or excercises on top of >> > what comes with JESS and good, I would greatly appreciate that. >> > >> > The focus of the course is to give students enough experience so that >> > they could start using JESS and other rule engines >> > in their future work assignments and when they go out working for >> > companies. >> > >> > I am using rule based systems in my own work and have noticed that >> > they save a huge amount of work in complex real life >> > systems so I would like to train future generations of engineers that >> > they don't have to hard code business logic with Java or Python >> > and spend most of their time on constant re-factoring. >> > >> > Also I would appreciate any pointers on other good books to read on >> > rule based programming and using them in business environment. >> > >> > Jarno >> > >> > >> > -------------------------------------------------------------------- >> > To unsubscribe, send the words 'unsubscribe jess-users you@...' >> > in the BODY of a message to majordomo@..., NOT to the list >> > (use your own address!) List problems? Notify >> > owner-jess-users@... > -------------------------------------------------------------------- To unsubscribe, send the words 'unsubscribe jess-users you@...' in the BODY of a message to majordomo@..., NOT to the list (use your own address!) List problems? Notify owner-jess-users@.... -------------------------------------------------------------------- |
| Free embeddable forum powered by Nabble | Forum Help |