I think Kochhar, Gaurav wrote:
> Hi,
> I am trying to create a Benchmark for finalizing a Rule Engine in
> our Company. We need rule engine for a J2EE based application. I already
> ran the pumps application in Jess examples. As a standard Benchmark with
> couple of other rule engines we chose Miss Manners.
>
> Could you point me to a JAVA implementation of Miss Manners in Jess?
>
> I did find a Miss Manners implementation using C but I need it for Java.
The manners benchmark itself is never implemented in C nor in Java,
but in the rule language of a particular rule engine. I've attached
the files manners.clp and mann128.dat, which together comprise the
benchmark for Jess with problem size 128.
What *is* commonly implemented in C is a little program called
manner_data, which generates different versions of the data file
mannXXX.dat for different problem sizes. It has to be customized for
each rule engine, as the data file contains facts in the rule engine's
own format.
I don't have a Java implementation, but it's a trivial little
program, and it would be fairly easy to whip one up. If anybody wants
to do it, I'll find it a home on the web.
---------------------------------------------------------
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
;; Deftemplates
(deftemplate guest (slot name) (slot sex) (slot hobby))
(deftemplate last_seat (slot seat))
(deftemplate seating
(slot id) (slot pid) (slot seat1) (slot name1) (slot name2) (slot seat2) (slot
path_done))
(deftemplate path (slot id) (slot name) (slot seat))
(deftemplate chosen (slot id) (slot name) (slot hobby))
(deftemplate count (slot c))
(deftemplate context (slot state))
(defrule assign_first_seat
?ctxt <- (context (state start))
(guest (name ?n))
?count <- (count (c ?c))
=>
(assert (seating (seat1 1) (name1 ?n) (name2 ?n) (seat2 1) (id ?c) (pid 0)
(path_done yes)))
(assert (path (id ?c) (name ?n) (seat 1)))
(modify ?count (c (+ ?c 1)))
(printout t seat " " 1 " " ?n " " ?n " " 1 " " ?c " " 0 " " 1 crlf)
(modify ?ctxt (state assign_seats)))
(defrule find_seating
?ctxt <- (context (state assign_seats))
(seating (seat1 ?seat1) (seat2 ?seat2) (name2 ?n2) (id ?id) (pid ?pid) (path_done
yes))
;; **********************************************************************
;; *** Uncomment this line for the "cheat" version
;; (not (seating (path_done yes) (seat2 ?s2&:(> ?s2 ?seat2))))
;; **********************************************************************
(guest (name ?n2) (sex ?s1) (hobby ?h1))
(guest (name ?g2) (sex ~?s1) (hobby ?h1))
?count <- (count (c ?c))
(not (path (id ?id) (name ?g2)))
(not (chosen (id ?id) (name ?g2) (hobby ?h1)))
=>
(assert (seating (seat1 ?seat2) (name1 ?n2) (name2 ?g2) (seat2 (+ ?seat2 1)) (id ?c)
(pid ?id) (path_done no)))
(assert (path (id ?c) (name ?g2) (seat ( + ?seat2 1))))
(assert (chosen (id ?id) (name ?g2) (hobby ?h1)))
(modify ?count (c (+ ?c 1)))
(printout t seat " " ?seat2 " " ?n2 " " ?g2 crlf)
(modify ?ctxt (state make_path)))
(defrule path_done
?ctxt <- (context (state make_path))
?seat <- (seating (path_done no))
=>
(modify ?seat (path_done yes))
(modify ?ctxt (state check_done)))
(defrule make_path
(context (state make_path))
(seating (id ?id) (pid ?pid) (path_done no))
(path (id ?pid)(name ?n1) (seat ?s))
(not (path (id ?id) (name ?n1)))
=>
(assert (path (id ?id) (name ?n1) (seat ?s))))
(defrule continue
?ctxt <- (context (state check_done))
=>
(modify ?ctxt (state assign_seats)))
(defrule are_we_done
?ctxt <- (context (state check_done))
(last_seat (seat ?l_seat))
(seating (seat2 ?l_seat))
=>
(printout t crlf "Yes, we are done!!" crlf)
(modify ?ctxt (state print_results))
)
(defrule print_results
(context (state print_results))
(seating (id ?id) (seat2 ?s2))
(last_seat (seat ?s2))
?path <- (path (id ?id) (name ?n) (seat ?s))
=>
(retract ?path)
(printout t ?n " " ?s crlf))
(defrule all_done
(context (state print_results))
=>
(halt))
(set-reset-globals t)
(defglobal ?*t* = (time))
;; (readline)
(reset)
(batch "mann128.dat")
(printout t (run) crlf)
(printout t "Elapsed time: " (- (time) ?*t*) crlf)
(exit)
(assert (guest (name 1) (sex f) (hobby 3)))
(assert (guest (name 1) (sex f) (hobby 1)))
(assert (guest (name 1) (sex f) (hobby 5)))
(assert (guest (name 1) (sex f) (hobby 2)))
(assert (guest (name 2) (sex m) (hobby 5)))
(assert (guest (name 3) (sex f) (hobby 1)))
(assert (guest (name 3) (sex f) (hobby 2)))
(assert (guest (name 3) (sex f) (hobby 5)))
(assert (guest (name 3) (sex f) (hobby 3)))
(assert (guest (name 3) (sex f) (hobby 4)))
(assert (guest (name 4) (sex f) (hobby 1)))
(assert (guest (name 4) (sex f) (hobby 2)))
(assert (guest (name 4) (sex f) (hobby 5)))
(assert (guest (name 4) (sex f) (hobby 3)))
(assert (guest (name 4) (sex f) (hobby 4)))
(assert (guest (name 5) (sex m) (hobby 5)))
(assert (guest (name 5) (sex m) (hobby 3)))
(assert (guest (name 6) (sex m) (hobby 3)))
(assert (guest (name 6) (sex m) (hobby 2)))
(assert (guest (name 6) (sex m) (hobby 1)))
(assert (guest (name 6) (sex m) (hobby 4)))
(assert (guest (name 6) (sex m) (hobby 5)))
(assert (guest (name 7) (sex m) (hobby 5)))
(assert (guest (name 7) (sex m) (hobby 2)))
(assert (guest (name 7) (sex m) (hobby 1)))
(assert (guest (name 7) (sex m) (hobby 3)))
(assert (guest (name 7) (sex m) (hobby 4)))
(assert (guest (name 8) (sex f) (hobby 4)))
(assert (guest (name 8) (sex f) (hobby 5)))
(assert (guest (name 8) (sex f) (hobby 3)))
(assert (guest (name 9) (sex f) (hobby 5)))
(assert (guest (name 9) (sex f) (hobby 3)))
(assert (guest (name 9) (sex f) (hobby 1)))
(assert (guest (name 9) (sex f) (hobby 2)))
(assert (guest (name 10) (sex f) (hobby 2)))
(assert (guest (name 10) (sex f) (hobby 1)))
(assert (guest (name 10) (sex f) (hobby 4)))
(assert (guest (name 11) (sex m) (hobby 1)))
(assert (guest (name 11) (sex m) (hobby 2)))
(assert (guest (name 11) (sex m) (hobby 5)))
(assert (guest (name 11) (sex m) (hobby 4)))
(assert (guest (name 12) (sex m) (hobby 3)))
(assert (guest (name 13) (sex f) (hobby 1)))
(assert (guest (name 13) (sex f) (hobby 4)))
(assert (guest (name 13) (sex f) (hobby 2)))
(assert (guest (name 13) (sex f) (hobby 5)))
(assert (guest (name 14) (sex f) (hobby 2)))
(assert (guest (name 15) (sex f) (hobby 3)))
(assert (guest (name 16) (sex m) (hobby 5)))
(assert (guest (name 16) (sex m) (hobby 2)))
(assert (guest (name 16) (sex m) (hobby 1)))
(assert (guest (name 16) (sex m) (hobby 3)))
(assert (guest (name 17) (sex m) (hobby 4)))
(assert (guest (name 17) (sex m) (hobby 2)))
(assert (guest (name 18) (sex m) (hobby 5)))
(assert (guest (name 18) (sex m) (hobby 4)))
(assert (guest (name 18) (sex m) (hobby 2)))
(assert (guest (name 18) (sex m) (hobby 3)))
(assert (guest (name 19) (sex f) (hobby 2)))
(assert (guest (name 19) (sex f) (hobby 5)))
(assert (guest (name 19) (sex f) (hobby 3)))
(assert (guest (name 20) (sex f) (hobby 1)))
(assert (guest (name 21) (sex f) (hobby 5)))
(assert (guest (name 21) (sex f) (hobby 1)))
(assert (guest (name 21) (sex f) (hobby 2)))
(assert (guest (name 21) (sex f) (hobby 3)))
(assert (guest (name 22) (sex f) (hobby 4)))
(assert (guest (name 22) (sex f) (hobby 2)))
(assert (guest (name 23) (sex f) (hobby 1)))
(assert (guest (name 24) (sex f) (hobby 1)))
(assert (guest (name 24) (sex f) (hobby 5)))
(assert (guest (name 24) (sex f) (hobby 3)))
(assert (guest (name 24) (sex f) (hobby 4)))
(assert (guest (name 24) (sex f) (hobby 2)))
(assert (guest (name 25) (sex f) (hobby 3)))
(assert (guest (name 25) (sex f) (hobby 5)))
(assert (guest (name 25) (sex f) (hobby 1)))
(assert (guest (name 25) (sex f) (hobby 4)))
(assert (guest (name 26) (sex f) (hobby 3)))
(assert (guest (name 26) (sex f) (hobby 5)))
(assert (guest (name 26) (sex f) (hobby 1)))
(assert (guest (name 26) (sex f) (hobby 4)))
(assert (guest (name 26) (sex f) (hobby 2)))
(assert (guest (name 27) (sex m) (hobby 2)))
(assert (guest (name 28) (sex f) (hobby 3)))
(assert (guest (name 28) (sex f) (hobby 5)))
(assert (guest (name 28) (sex f) (hobby 2)))
(assert (guest (name 28) (sex f) (hobby 1)))
(assert (guest (name 28) (sex f) (hobby 4)))
(assert (guest (name 29) (sex f) (hobby 2)))
(assert (guest (name 29) (sex f) (hobby 4)))
(assert (guest (name 29) (sex f) (hobby 1)))
(assert (guest (name 29) (sex f) (hobby 5)))
(assert (guest (name 30) (sex m) (hobby 2)))
(assert (guest (name 30) (sex m) (hobby 3)))
(assert (guest (name 30) (sex m) (hobby 4)))
(assert (guest (name 30) (sex m) (hobby 1)))
(assert (guest (name 30) (sex m) (hobby 5)))
(assert (guest (name 31) (sex f) (hobby 2)))
(assert (guest (name 31) (sex f) (hobby 3)))
(assert (guest (name 32) (sex m) (hobby 3)))
(assert (guest (name 32) (sex m) (hobby 5)))
(assert (guest (name 32) (sex m) (hobby 4)))
(assert (guest (name 32) (sex m) (hobby 2)))
(assert (guest (name 33) (sex m) (hobby 1)))
(assert (guest (name 34) (sex m) (hobby 4)))
(assert (guest (name 34) (sex m) (hobby 5)))
(assert (guest (name 34) (sex m) (hobby 3)))
(assert (guest (name 34) (sex m) (hobby 2)))
(assert (guest (name 34) (sex m) (hobby 1)))
(assert (guest (name 35) (sex f) (hobby 2)))
(assert (guest (name 36) (sex m) (hobby 5)))
(assert (guest (name 36) (sex m) (hobby 3)))
(assert (guest (name 36) (sex m) (hobby 2)))
(assert (guest (name 36) (sex m) (hobby 4)))
(assert (guest (name 36) (sex m) (hobby 1)))
(assert (guest (name 37) (sex f) (hobby 5)))
(assert (guest (name 37) (sex f) (hobby 3)))
(assert (guest (name 38) (sex f) (hobby 5)))
(assert (guest (name 38) (sex f) (hobby 1)))
(assert (guest (name 38) (sex f) (hobby 4)))
(assert (guest (name 38) (sex f) (hobby 3)))
(assert (guest (name 39) (sex f) (hobby 5)))
(assert (guest (name 39) (sex f) (hobby 4)))
(assert (guest (name 39) (sex f) (hobby 2)))
(assert (guest (name 39) (sex f) (hobby 1)))
(assert (guest (name 39) (sex f) (hobby 3)))
(assert (guest (name 40) (sex m) (hobby 3)))
(assert (guest (name 40) (sex m) (hobby 2)))
(assert (guest (name 40) (sex m) (hobby 1)))
(assert (guest (name 40) (sex m) (hobby 5)))
(assert (guest (name 41) (sex m) (hobby 5)))
(assert (guest (name 41) (sex m) (hobby 3)))
(assert (guest (name 41) (sex m) (hobby 4)))
(assert (guest (name 41) (sex m) (hobby 2)))
(assert (guest (name 41) (sex m) (hobby 1)))
(assert (guest (name 42) (sex m) (hobby 3)))
(assert (guest (name 42) (sex m) (hobby 4)))
(assert (guest (name 43) (sex f) (hobby 1)))
(assert (guest (name 43) (sex f) (hobby 2)))
(assert (guest (name 43) (sex f) (hobby 5)))
(assert (guest (name 43) (sex f) (hobby 3)))
(assert (guest (name 44) (sex m) (hobby 3)))
(assert (guest (name 44) (sex m) (hobby 1)))
(assert (guest (name 44) (sex m) (hobby 5)))
(assert (guest (name 44) (sex m) (hobby 4)))
(assert (guest (name 44) (sex m) (hobby 2)))
(assert (guest (name 45) (sex m) (hobby 2)))
(assert (guest (name 46) (sex m) (hobby 2)))
(assert (guest (name 46) (sex m) (hobby 5)))
(assert (guest (name 46) (sex m) (hobby 1)))
(assert (guest (name 46) (sex m) (hobby 3)))
(assert (guest (name 46) (sex m) (hobby 4)))
(assert (guest (name 47) (sex f) (hobby 5)))
(assert (guest (name 47) (sex f) (hobby 4)))
(assert (guest (name 47) (sex f) (hobby 1)))
(assert (guest (name 47) (sex f) (hobby 2)))
(assert (guest (name 48) (sex f) (hobby 4)))
(assert (guest (name 48) (sex f) (hobby 2)))
(assert (guest (name 48) (sex f) (hobby 1)))
(assert (guest (name 49) (sex f) (hobby 4)))
(assert (guest (name 49) (sex f) (hobby 1)))
(assert (guest (name 49) (sex f) (hobby 5)))
(assert (guest (name 50) (sex m) (hobby 5)))
(assert (guest (name 50) (sex m) (hobby 3)))
(assert (guest (name 50) (sex m) (hobby 4)))
(assert (guest (name 51) (sex m) (hobby 4)))
(assert (guest (name 51) (sex m) (hobby 3)))
(assert (guest (name 51) (sex m) (hobby 2)))
(assert (guest (name 52) (sex m) (hobby 2)))
(assert (guest (name 52) (sex m) (hobby 1)))
(assert (guest (name 53) (sex m) (hobby 5)))
(assert (guest (name 54) (sex m) (hobby 3)))
(assert (guest (name 55) (sex m) (hobby 5)))
(assert (guest (name 55) (sex m) (hobby 1)))
(assert (guest (name 55) (sex m) (hobby 2)))
(assert (guest (name 55) (sex m) (hobby 4)))
(assert (guest (name 55) (sex m) (hobby 3)))
(assert (guest (name 56) (sex m) (hobby 2)))
(assert (guest (name 56) (sex m) (hobby 4)))
(assert (guest (name 56) (sex m) (hobby 5)))
(assert (guest (name 57) (sex m) (hobby 1)))
(assert (guest (name 57) (sex m) (hobby 3)))
(assert (guest (name 58) (sex m) (hobby 3)))
(assert (guest (name 58) (sex m) (hobby 4)))
(assert (guest (name 59) (sex f) (hobby 5)))
(assert (guest (name 59) (sex f) (hobby 3)))
(assert (guest (name 59) (sex f) (hobby 1)))
(assert (guest (name 60) (sex m) (hobby 1)))
(assert (guest (name 60) (sex m) (hobby 3)))
(assert (guest (name 60) (sex m) (hobby 4)))
(assert (guest (name 61) (sex m) (hobby 3)))
(assert (guest (name 61) (sex m) (hobby 4)))
(assert (guest (name 62) (sex m) (hobby 4)))
(assert (guest (name 63) (sex m) (hobby 1)))
(assert (guest (name 63) (sex m) (hobby 2)))
(assert (guest (name 63) (sex m) (hobby 3)))
(assert (guest (name 64) (sex m) (hobby 1)))
(assert (guest (name 64) (sex m) (hobby 4)))
(assert (guest (name 64) (sex m) (hobby 3)))
(assert (guest (name 64) (sex m) (hobby 5)))
(assert (guest (name 64) (sex m) (hobby 2)))
(assert (guest (name 65) (sex f) (hobby 1)))
(assert (guest (name 65) (sex f) (hobby 4)))
(assert (guest (name 66) (sex m) (hobby 2)))
(assert (guest (name 66) (sex m) (hobby 3)))
(assert (guest (name 66) (sex m) (hobby 1)))
(assert (guest (name 66) (sex m) (hobby 4)))
(assert (guest (name 67) (sex m) (hobby 5)))
(assert (guest (name 67) (sex m) (hobby 4)))
(assert (guest (name 67) (sex m) (hobby 3)))
(assert (guest (name 67) (sex m) (hobby 2)))
(assert (guest (name 68) (sex f) (hobby 1)))
(assert (guest (name 68) (sex f) (hobby 3)))
(assert (guest (name 68) (sex f) (hobby 5)))
(assert (guest (name 68) (sex f) (hobby 2)))
(assert (guest (name 69) (sex f) (hobby 1)))
(assert (guest (name 70) (sex m) (hobby 2)))
(assert (guest (name 70) (sex m) (hobby 4)))
(assert (guest (name 70) (sex m) (hobby 1)))
(assert (guest (name 70) (sex m) (hobby 3)))
(assert (guest (name 71) (sex f) (hobby 1)))
(assert (guest (name 71) (sex f) (hobby 2)))
(assert (guest (name 71) (sex f) (hobby 5)))
(assert (guest (name 71) (sex f) (hobby 4)))
(assert (guest (name 72) (sex m) (hobby 3)))
(assert (guest (name 72) (sex m) (hobby 2)))
(assert (guest (name 72) (sex m) (hobby 1)))
(assert (guest (name 73) (sex m) (hobby 5)))
(assert (guest (name 73) (sex m) (hobby 2)))
(assert (guest (name 73) (sex m) (hobby 4)))
(assert (guest (name 74) (sex f) (hobby 4)))
(assert (guest (name 74) (sex f) (hobby 5)))
(assert (guest (name 74) (sex f) (hobby 1)))
(assert (guest (name 75) (sex f) (hobby 2)))
(assert (guest (name 75) (sex f) (hobby 3)))
(assert (guest (name 75) (sex f) (hobby 4)))
(assert (guest (name 75) (sex f) (hobby 5)))
(assert (guest (name 76) (sex f) (hobby 2)))
(assert (guest (name 76) (sex f) (hobby 4)))
(assert (guest (name 76) (sex f) (hobby 5)))
(assert (guest (name 76) (sex f) (hobby 3)))
(assert (guest (name 76) (sex f) (hobby 1)))
(assert (guest (name 77) (sex f) (hobby 3)))
(assert (guest (name 77) (sex f) (hobby 1)))
(assert (guest (name 77) (sex f) (hobby 4)))
(assert (guest (name 77) (sex f) (hobby 5)))
(assert (guest (name 78) (sex m) (hobby 3)))
(assert (guest (name 78) (sex m) (hobby 2)))
(assert (guest (name 79) (sex m) (hobby 5)))
(assert (guest (name 79) (sex m) (hobby 4)))
(assert (guest (name 79) (sex m) (hobby 1)))
(assert (guest (name 80) (sex f) (hobby 4)))
(assert (guest (name 80) (sex f) (hobby 3)))
(assert (guest (name 80) (sex f) (hobby 5)))
(assert (guest (name 80) (sex f) (hobby 2)))
(assert (guest (name 81) (sex m) (hobby 1)))
(assert (guest (name 82) (sex f) (hobby 2)))
(assert (guest (name 82) (sex f) (hobby 1)))
(assert (guest (name 82) (sex f) (hobby 5)))
(assert (guest (name 82) (sex f) (hobby 3)))
(assert (guest (name 82) (sex f) (hobby 4)))
(assert (guest (name 83) (sex m) (hobby 5)))
(assert (guest (name 83) (sex m) (hobby 3)))
(assert (guest (name 83) (sex m) (hobby 2)))
(assert (guest (name 83) (sex m) (hobby 1)))
(assert (guest (name 83) (sex m) (hobby 4)))
(assert (guest (name 84) (sex f) (hobby 2)))
(assert (guest (name 84) (sex f) (hobby 4)))
(assert (guest (name 84) (sex f) (hobby 1)))
(assert (guest (name 84) (sex f) (hobby 3)))
(assert (guest (name 85) (sex m) (hobby 3)))
(assert (guest (name 85) (sex m) (hobby 5)))
(assert (guest (name 86) (sex m) (hobby 1)))
(assert (guest (name 86) (sex m) (hobby 2)))
(assert (guest (name 86) (sex m) (hobby 4)))
(assert (guest (name 86) (sex m) (hobby 5)))
(assert (guest (name 87) (sex f) (hobby 4)))
(assert (guest (name 87) (sex f) (hobby 3)))
(assert (guest (name 87) (sex f) (hobby 5)))
(assert (guest (name 88) (sex f) (hobby 5)))
(assert (guest (name 88) (sex f) (hobby 1)))
(assert (guest (name 89) (sex f) (hobby 5)))
(assert (guest (name 89) (sex f) (hobby 1)))
(assert (guest (name 89) (sex f) (hobby 2)))
(assert (guest (name 89) (sex f) (hobby 3)))
(assert (guest (name 90) (sex f) (hobby 4)))
(assert (guest (name 90) (sex f) (hobby 5)))
(assert (guest (name 90) (sex f) (hobby 3)))
(assert (guest (name 90) (sex f) (hobby 1)))
(assert (guest (name 91) (sex m) (hobby 5)))
(assert (guest (name 91) (sex m) (hobby 4)))
(assert (guest (name 91) (sex m) (hobby 3)))
(assert (guest (name 91) (sex m) (hobby 2)))
(assert (guest (name 91) (sex m) (hobby 1)))
(assert (guest (name 92) (sex m) (hobby 3)))
(assert (guest (name 92) (sex m) (hobby 1)))
(assert (guest (name 92) (sex m) (hobby 5)))
(assert (guest (name 92) (sex m) (hobby 4)))
(assert (guest (name 92) (sex m) (hobby 2)))
(assert (guest (name 93) (sex f) (hobby 5)))
(assert (guest (name 93) (sex f) (hobby 4)))
(assert (guest (name 93) (sex f) (hobby 3)))
(assert (guest (name 93) (sex f) (hobby 2)))
(assert (guest (name 94) (sex m) (hobby 5)))
(assert (guest (name 94) (sex m) (hobby 4)))
(assert (guest (name 94) (sex m) (hobby 2)))
(assert (guest (name 95) (sex m) (hobby 4)))
(assert (guest (name 96) (sex m) (hobby 1)))
(assert (guest (name 96) (sex m) (hobby 4)))
(assert (guest (name 97) (sex f) (hobby 3)))
(assert (guest (name 98) (sex f) (hobby 1)))
(assert (guest (name 98) (sex f) (hobby 3)))
(assert (guest (name 98) (sex f) (hobby 4)))
(assert (guest (name 98) (sex f) (hobby 5)))
(assert (guest (name 98) (sex f) (hobby 2)))
(assert (guest (name 99) (sex m) (hobby 5)))
(assert (guest (name 99) (sex m) (hobby 1)))
(assert (guest (name 99) (sex m) (hobby 2)))
(assert (guest (name 99) (sex m) (hobby 3)))
(assert (guest (name 100) (sex f) (hobby 3)))
(assert (guest (name 101) (sex m) (hobby 3)))
(assert (guest (name 101) (sex m) (hobby 4)))
(assert (guest (name 101) (sex m) (hobby 5)))
(assert (guest (name 102) (sex f) (hobby 3)))
(assert (guest (name 102) (sex f) (hobby 5)))
(assert (guest (name 102) (sex f) (hobby 1)))
(assert (guest (name 102) (sex f) (hobby 2)))
(assert (guest (name 103) (sex f) (hobby 3)))
(assert (guest (name 103) (sex f) (hobby 5)))
(assert (guest (name 103) (sex f) (hobby 4)))
(assert (guest (name 103) (sex f) (hobby 1)))
(assert (guest (name 104) (sex m) (hobby 2)))
(assert (guest (name 104) (sex m) (hobby 3)))
(assert (guest (name 104) (sex m) (hobby 4)))
(assert (guest (name 105) (sex f) (hobby 3)))
(assert (guest (name 106) (sex f) (hobby 2)))
(assert (guest (name 106) (sex f) (hobby 4)))
(assert (guest (name 106) (sex f) (hobby 1)))
(assert (guest (name 106) (sex f) (hobby 3)))
(assert (guest (name 106) (sex f) (hobby 5)))
(assert (guest (name 107) (sex m) (hobby 5)))
(assert (guest (name 107) (sex m) (hobby 1)))
(assert (guest (name 107) (sex m) (hobby 3)))
(assert (guest (name 108) (sex f) (hobby 1)))
(assert (guest (name 108) (sex f) (hobby 5)))
(assert (guest (name 108) (sex f) (hobby 4)))
(assert (guest (name 108) (sex f) (hobby 3)))
(assert (guest (name 109) (sex m) (hobby 2)))
(assert (guest (name 109) (sex m) (hobby 3)))
(assert (guest (name 110) (sex f) (hobby 3)))
(assert (guest (name 110) (sex f) (hobby 1)))
(assert (guest (name 110) (sex f) (hobby 2)))
(assert (guest (name 110) (sex f) (hobby 4)))
(assert (guest (name 110) (sex f) (hobby 5)))
(assert (guest (name 111) (sex m) (hobby 3)))
(assert (guest (name 112) (sex f) (hobby 3)))
(assert (guest (name 112) (sex f) (hobby 4)))
(assert (guest (name 112) (sex f) (hobby 1)))
(assert (guest (name 113) (sex m) (hobby 2)))
(assert (guest (name 113) (sex m) (hobby 5)))
(assert (guest (name 113) (sex m) (hobby 4)))
(assert (guest (name 113) (sex m) (hobby 1)))
(assert (guest (name 114) (sex f) (hobby 5)))
(assert (guest (name 114) (sex f) (hobby 4)))
(assert (guest (name 114) (sex f) (hobby 3)))
(assert (guest (name 114) (sex f) (hobby 2)))
(assert (guest (name 114) (sex f) (hobby 1)))
(assert (guest (name 115) (sex f) (hobby 5)))
(assert (guest (name 115) (sex f) (hobby 4)))
(assert (guest (name 115) (sex f) (hobby 2)))
(assert (guest (name 115) (sex f) (hobby 1)))
(assert (guest (name 115) (sex f) (hobby 3)))
(assert (guest (name 116) (sex f) (hobby 2)))
(assert (guest (name 116) (sex f) (hobby 5)))
(assert (guest (name 117) (sex f) (hobby 2)))
(assert (guest (name 118) (sex m) (hobby 2)))
(assert (guest (name 118) (sex m) (hobby 3)))
(assert (guest (name 118) (sex m) (hobby 5)))
(assert (guest (name 118) (sex m) (hobby 1)))
(assert (guest (name 118) (sex m) (hobby 4)))
(assert (guest (name 119) (sex f) (hobby 4)))
(assert (guest (name 119) (sex f) (hobby 3)))
(assert (guest (name 120) (sex m) (hobby 5)))
(assert (guest (name 120) (sex m) (hobby 1)))
(assert (guest (name 120) (sex m) (hobby 4)))
(assert (guest (name 121) (sex f) (hobby 5)))
(assert (guest (name 121) (sex f) (hobby 1)))
(assert (guest (name 121) (sex f) (hobby 4)))
(assert (guest (name 121) (sex f) (hobby 3)))
(assert (guest (name 122) (sex f) (hobby 3)))
(assert (guest (name 122) (sex f) (hobby 1)))
(assert (guest (name 123) (sex f) (hobby 1)))
(assert (guest (name 123) (sex f) (hobby 5)))
(assert (guest (name 123) (sex f) (hobby 2)))
(assert (guest (name 124) (sex f) (hobby 5)))
(assert (guest (name 125) (sex m) (hobby 3)))
(assert (guest (name 125) (sex m) (hobby 1)))
(assert (guest (name 126) (sex m) (hobby 5)))
(assert (guest (name 126) (sex m) (hobby 2)))
(assert (guest (name 127) (sex m) (hobby 2)))
(assert (guest (name 127) (sex m) (hobby 4)))
(assert (guest (name 127) (sex m) (hobby 3)))
(assert (guest (name 127) (sex m) (hobby 1)))
(assert (guest (name 127) (sex m) (hobby 5)))
(assert (guest (name 128) (sex m) (hobby 5)))
(assert (guest (name 128) (sex m) (hobby 4)))
(assert (guest (name 128) (sex m) (hobby 1)))
(assert (guest (name 128) (sex m) (hobby 3)))
(assert (last_seat (seat 128)))
(assert (count (c 1)))
(assert (context (state start)))