From c473ay@ms.washington.edu Thu May 16 15:20:46 1991
Received: from june.cs.washington.edu by wolf.cs.washington.edu (5.64/7.0jh)
	id AA13015; Thu, 16 May 91 15:20:15 -0700
Received: from hilbert.ms.washington.edu by june.cs.washington.edu (5.64a/7.0jh)
	id AA08681; Thu, 16 May 91 15:36:27 -0700
Received: by hilbert.ms.washington.edu
	(5.65/UW-NDC Revision: 2.21 ) id AA04373; Thu, 16 May 91 15:35:29 -0700
Date: Thu, 16 May 91 15:35:29 -0700
From: Douglas Ferry <c473ay@ms.washington.edu>
Message-Id: <9105162235.AA04373@hilbert.ms.washington.edu>
To: cs473@june.cs.washington.edu
Subject: bindings
Status: R

my operator MOVE-LEFT has the effects:
(add (at <x1> <y>))
(del (at <x> <y>))
where x and x1 are x-coordinates and x1 = x-1 and y is a y-coordinate

this is well and good and is achieved with the preconditions:
  (preconds
    (and
      (in-rangex <x>)  ;generator
      (in-rangey <y>)  ;generator
      (in-rangex <x1>) ;generator
      (one-less <x> <x1>)
    ))
and <x> <x1> <y> are bound by the effects list

here's the problem:
i want to check a precondition that says "there does not exist variables
<x3> and <y-var> such that (P <x3> <y-var>)" where <x3> = <x>+3 (x is
the previously generated x) and <y-var> is any valid y-coordinate.
my question is, since <x3> does not appear in the effects list, how
can i generate it so i can guarantee it has the proper value?

thanx
-doug

From etzioni@chum Thu May 16 15:21:23 1991
Received: from chum.cs.washington.edu by wolf.cs.washington.edu (5.64/7.0jh)
	id AA13022; Thu, 16 May 91 15:20:56 -0700
Received: by chum.cs.washington.edu (5.64/7.0h)
	id AA28810; Thu, 16 May 91 15:37:07 -0700
Date: Thu, 16 May 91 15:37:07 -0700
From: etzioni@chum (Oren Etzioni)
Message-Id: <9105162237.AA28810@chum.cs.washington.edu>
To: lindborg@wolf
Cc: cs473@chum
In-Reply-To: lindborg@wolf's message of Thu, 16 May 91 13:14:11 PDT <9105162014.AA09273@wolf.cs.washington.edu>
Subject: problem
Status: R

   To: etzioni@chum
   Subject: problem
   Date: Thu, 16 May 91 13:14:11 PDT
   From: lindborg@wolf


   THis is getting to be a real problem here... take a look:

	...Done: INSERT RACE-RPEDAL ROAD-FRAME

	N160 (DONE)
	Alts: *FINISH*Warning: 9765264 bytes have been tenured; (gc t) is recommended.
   Warning: 10022928 bytes have been tenured; (gc t) is recommended.
   Warning: 10026064 bytes have been tenured; (gc t) is recommended.
   Warning: 10286824 bytes have been tenured; (gc t) is recommended.
   Warning: 10287896 bytes have been tenured; (gc t) is recommended.
   Warning: 10803296 bytes have been tenured; (gc t) is recommended.
   Warning: 10809312 bytes have been tenured; (gc t) is recommended.
   Warning: 11062688 bytes have been tenured; (gc t) is recommended.
   Warning: 11070112 bytes have been tenured; (gc t) is recommended.
   Warning: 11326016 bytes have been tenured; (gc t) is recommended.
   Warning: 11330912 bytes have been tenured; (gc t) is recommended.
   Warning: 11587248 bytes have been tenured; (gc t) is recommended.


	  N161 (CHAIN-ATTACHED)
	  Alts: ATTACH-CHAIN LIGHT-CHAIN [2-5832]

   *PRODIGY-TIME-BOUND* exceeded!

		 N162 (ATTACHED F3-GEAR ROAD-LPEDAL)
		 Alts: GLUE F3-GEAR ROAD-LPEDAL [2-25]

   Completed Failure

   CPU time: 317.9 seconds
   Number of Nodes: 163


The following is a clue:
	  Alts: ATTACH-CHAIN LIGHT-CHAIN [2-5832]

You're generating thousands of alternatives,
(ie massive consing and memory) even though you're not expanding many
nodes.  Solution: write some control rules to restrict the search
space.

oren

From lindborg@wolf Thu May 16 19:11:24 1991
Received: from june.cs.washington.edu by wolf.cs.washington.edu (5.64/7.0jh)
	id AA18774; Thu, 16 May 91 19:10:45 -0700
Received: from wolf.cs.washington.edu by june.cs.washington.edu (5.64a/7.0jh)
	id AA17762; Thu, 16 May 91 19:26:52 -0700
Received: from localhost by wolf.cs.washington.edu (5.64/7.0jh)
	id AA18770; Thu, 16 May 91 19:10:40 -0700
Message-Id: <9105170210.AA18770@wolf.cs.washington.edu>
To: cs473@june.cs.washington.edu
Subject: control rule hell!
Date: Thu, 16 May 91 19:10:38 PDT
From: lindborg@wolf
Status: R



I have the following (rather weird) rule:

(ATTACH-CHAIN
 (params (<obj1>))
 (preconds
   (and (chain <obj1>)
        (Fsprocket <obj2>)
        (Bsprocket <obj3>)
        (Rpedal <obj4>)
        (Bwheel <obj5>)
        (shift-mech <obj6>)
        (Lpedal <left-pedal>)
        (Bwheel <back-wheel>)
       (frame <xframe>)
        (attached <obj2> <left-pedal>)
        (attached <obj3> <back-wheel>)
        (attached <obj6> <back-wheel>)
        (attached <obj4> <xframe>)
        (attached <obj5> <xframe>)))
 (effects (
      (add (chain-attached)))))


and I DONT want it to subgoal on any of the "attached ...." 
preconditions.  so I wrote the following "GOAL-REJECTION" rule:

(setq *SCR-BINDINGS-PREFERENCE-RULES* nil)
(setq *SCR-GOAL-REJECT-RULES* '(

(LSR1|
  (LHS
    (AND (CURRENT-NODE <A>)
         (CURRENT-OP <A> ATTACH-CHAIN)
         (PRIMARY-CANDIDATE-GOAL <A> (ATTACHED <X> <Y>))))
  (RHS (REJECT GOAL (ATTACHED <X> <Y>))))

But it still keeps subgoaling on all of them... did I put the 
control rule under the wrong category?  Its the syntax wrong?
Is all this a mere figment of the great Brahman's imagination and
I'm being punished for actions of previous life-times?

Someone please enlighten me...

Jeff Lindborg
Somebody help me... I feel as though my head is going to explode.

From vaughn@june Thu May 16 19:16:06 1991
Received: from june.cs.washington.edu by wolf.cs.washington.edu (5.64/7.0jh)
	id AA18902; Thu, 16 May 91 19:15:19 -0700
Received: by june.cs.washington.edu (5.64a/7.0jh)
	id AA17837; Thu, 16 May 91 19:31:28 -0700
Date: Thu, 16 May 91 19:31:28 -0700
From: vaughn@june (Vaughn Iverson)
Message-Id: <9105170231.AA17837@june.cs.washington.edu>
To: cs473@june
Subject: Traces to turn in
Status: R


The project part 2 handout asks for you to hand in printouts of two traces
for problems in your domain.  In the interest of saving our nation's forests,
it is fine if you only include "interesting" sections of several runs.  This
is particularly relevant if your domain generates 1000s of nodes!!!  Do not
print out 100 page traces, because it is a waste of paper and we won't be
able to read through all of that anyway.  For those of you who have domains
that have search blowup without the search control rules that you will write
in part 3 please:  include interesting parts of two traces, and show where your
search space blow up is occuring, why it is occuring, and explain what kind
of search control will get rid of the problem.    

As a rule of thumb, if your traces are more than 25 pages total you should
pare it down to the interesting parts.  Please be sure to show the solution
arrived at, as well as the initial state and goal for each of the traces.

Thanks,

Vaughn


From etzioni@chum Thu May 16 21:55:28 1991
Received: from chum.cs.washington.edu by wolf.cs.washington.edu (5.64/7.0jh)
	id AA23459; Thu, 16 May 91 21:55:00 -0700
Received: by chum.cs.washington.edu (5.64/7.0h)
	id AA29059; Thu, 16 May 91 22:11:12 -0700
Date: Thu, 16 May 91 22:11:12 -0700
From: etzioni@chum (Oren Etzioni)
Message-Id: <9105170511.AA29059@chum.cs.washington.edu>
To: cs473@chum
Subject: Traces to turn in
Status: R

In line with Vaughn's message and with the dire state
of our forests.  Why don't you keep the traces down to 2-3
pages?  That's approximately 100 pages of reading material for 
us right there.

thanks,

oren

From mweather@wolf Thu May 16 22:58:28 1991
Received: from june.cs.washington.edu by wolf.cs.washington.edu (5.64/7.0jh)
	id AA25581; Thu, 16 May 91 22:57:51 -0700
Received: from wolf.cs.washington.edu by june.cs.washington.edu (5.64a/7.0jh)
	id AA22428; Thu, 16 May 91 23:14:04 -0700
Received: from localhost by wolf.cs.washington.edu (5.64/7.0jh)
	id AA25575; Thu, 16 May 91 22:57:44 -0700
Message-Id: <9105170557.AA25575@wolf.cs.washington.edu>
To: Douglas Ferry <c473ay@ms.washington.edu>
Cc: cs473@june.cs.washington.edu, mweather@wolf
Subject: Solution to ~EXISTS y-var s.t P(x3,y-var)
In-Reply-To: Your message of Thu, 16 May 91 15:35:29 -0700.
             <9105162235.AA04373@hilbert.ms.washington.edu> 
Date: Thu, 16 May 91 22:57:42 PDT
From: mweather@wolf.cs.washington.edu <mweather@wolf>
Status: R


Heres what you do...  


Your <x3> is already bound... you just want to check  for
all valid <y-var>'s that P <x3> <y-var> doesnt occur.  

Your generator for y-var, I'll assume is "in-Range"

FORALL <a> (static gen a)   (in-range a)
	(and
	  (P <something> <a>  )
	  (isnt <somthing> <x3> )
	)

where "isnt" is a function in your functions.lisp file that
looks like this:
	(defun isnt (a b)
	  (not (eq a b) )
	)

The trick here may be the static generator for <a> - sure you
can check if a y-value is in range- but how do you generate
those y-values?  Maybe you need to enumerate the grid like
(is-coordinate 1 1)
(is-coordinate 1 2)
(is-coordinate 2 1)
(is-coordinate 2 2)
etc...etc

I (sort of) had to do this - but I managed to encode a lot of other info
in the coordinate predicate so It wasnt such an outrageous us of space...

Hope this helps!
-Matt

From root@ingalls Fri May 17 01:41:13 1991
Received: from ingalls.cs.washington.edu by wolf.cs.washington.edu (5.64/7.0jh)
	id AA27846; Fri, 17 May 91 01:41:11 -0700
Received: by ingalls.cs.washington.edu (NeXT-1.0 (From Sendmail 5.52)/6.13)
	id AA00382; Fri, 17 May 91 02:00:49 PDT
Date: Fri, 17 May 91 02:00:49 PDT
From: root@ingalls (Root)
Message-Id: <9105170900.AA00382@ingalls.cs.washington.edu>
Subject: Calendar for Fri May 17
Apparently-To: eistrand
Status: R

Hurraaaaaa for 17!!       May 17 1991

From etzioni@chum Fri May 17 10:25:26 1991
Received: from chum.cs.washington.edu by wolf.cs.washington.edu (5.64/7.0jh)
	id AA02339; Fri, 17 May 91 10:24:40 -0700
Received: by chum.cs.washington.edu (5.64/7.0h)
	id AA29512; Fri, 17 May 91 10:40:53 -0700
Date: Fri, 17 May 91 10:40:53 -0700
From: etzioni@chum (Oren Etzioni)
Message-Id: <9105171740.AA29512@chum.cs.washington.edu>
To: cs473@chum
Subject: I will discuss this in class today...
Status: R

   ; The function parent-op returns the current-op at the parent node.
   ; node must be bound.  Op can be bound by current-op.
   ; Since we're looking for the node's parent we check that this isn't
   ; the top-level-node.

   (defun parent-op (node op)
	 (and (not-top-level-node node)
	 (current-op (node-parent node) op)))

   ; Add user-defined meta-function to the list of meta functions.
   (add-meta-fn 'parent-op)

   ; BEWARE: functions can return misleading values if called
   ; inappropriately (eg current-op called from a goal choice node).


   ; sc rule:

   (Avoid-subgoaling-on-achievable-prec
	  (lhs (and (current-node <node>)
				(parent-op <node> O)
				(primary-candidate-goal <node> P)))
	  (rhs (reject goal P)))



From vaughn@june Fri May 17 10:31:21 1991
Received: from june.cs.washington.edu by wolf.cs.washington.edu (5.64/7.0jh)
	id AA02593; Fri, 17 May 91 10:30:44 -0700
Received: by june.cs.washington.edu (5.64a/7.0jh)
	id AA07550; Fri, 17 May 91 10:46:59 -0700
Date: Fri, 17 May 91 10:46:59 -0700
From: vaughn@june (Vaughn Iverson)
Message-Id: <9105171746.AA07550@june.cs.washington.edu>
To: cs473@june
Subject: Your Assignments..
Status: R

I sorry to say that I still don't quite have your HW #5s corrected.
I'm almost done, but I got bit last night by the Coco crash like many
of you did.  Also, I have been spending so much time helping you 
with your domains, that the grading kindof got put on the back
burner... (I don't think most of you mind that tradeoff :)

So, I will ABSOLUTELY have them back to you by Monday, and I will also
have a solution set out sometime this afternoon.

Thanks,

Vaughn

From etzioni@chum Fri May 17 13:18:21 1991
Received: from chum.cs.washington.edu by wolf.cs.washington.edu (5.64/7.0jh)
	id AA07758; Fri, 17 May 91 13:17:51 -0700
Received: by chum.cs.washington.edu (5.64/7.0h)
	id AA29648; Fri, 17 May 91 13:34:04 -0700
Date: Fri, 17 May 91 13:34:04 -0700
From: etzioni@chum (Oren Etzioni)
Message-Id: <9105172034.AA29648@chum.cs.washington.edu>
To: cs473@chum
Subject: forgot to say in class.
Status: R

For turning in the project:

I think if you had in the following (to show your problems):
--goal (say GOAL to Prodigy)
--initial state (say INITIAL to Prodigy)
--solution (ie what prodigy shows with TEXT turned off)

and you go into analyze and display the alts at one or two nodes--that
will be fine.

From vaughn@june Fri May 17 13:26:53 1991
Received: from june.cs.washington.edu by wolf.cs.washington.edu (5.64/7.0jh)
	id AA07909; Fri, 17 May 91 13:26:24 -0700
Received: by june.cs.washington.edu (5.64a/7.0jh)
	id AA18873; Fri, 17 May 91 13:42:37 -0700
Date: Fri, 17 May 91 13:42:37 -0700
From: vaughn@june (Vaughn Iverson)
Message-Id: <9105172042.AA18873@june.cs.washington.edu>
To: cs473@june
Subject: Use of Coco for LISP
Status: R

Please take note!!

date: Fri, 17 May 91 12:52:47 -0700
From: Michael O'Connell <mikeo@ms.washington.edu>
Message-Id: <9105171952.AA01822@hilbert.ms.washington.edu>
To: etzioni@cs.washington.edu, mikeo@coco.ms.washington.edu,
        vaughn@cs.washington.edu
Subject: Re:  Use of Coco
Cc: lcc@ms.washington.edu, rcf@ms.washington.edu
Status: R

> From: vaughn@cs.washington.edu (Vaughn Iverson)
> Subject: Use of Coco
> 
> Mike, in conversing with a CSE473 student through mail, the following issue
> came up...
> 
> >>Of course the system is the same on Hilbert and Entropy as it is on Coco...
> >>Who said you couldn't run Prodigy on Coco, I never said that.
> >
> >No, but if you use Coco during the day, the sysop fleeps you and
> >says *really* nasty things to you.  I *know*; it happened to me.
> 
> I wasn't aware of any restrictions regarding the use of Coco for class 
> purposes.  If such restrictions *do* exist, could you please notify Oren and
> me so that we can let the students know and avoid this kind of thing in the
> future.
> 

We try and encourage LISP users on our systems to run their code
either on Hilbert or Entropy. (both DS 5000 systems).  We sent
out messages to this effect at the beginning of the quarter, but
people still gravitate towards using Coco because it's advertised
as our main system.

The situation is that Coco is providing lots of network services
and support for other classes.  LISP users can really bog down
a system, especially when one user runs multiple sessions.  So
we want those students to be concentrated on Hilbert & Entropy where they
basically impact only other LISP users.

Michael



From jroomy@wolf Fri May 17 14:47:00 1991
Received: from june.cs.washington.edu by wolf.cs.washington.edu (5.64/7.0jh)
	id AA09481; Fri, 17 May 91 14:46:26 -0700
Received: from wolf.cs.washington.edu by june.cs.washington.edu (5.64a/7.0jh)
	id AA24074; Fri, 17 May 91 15:02:41 -0700
Received: by wolf.cs.washington.edu (5.64/7.0jh)
	id AA09474; Fri, 17 May 91 14:46:18 -0700
Date: Fri, 17 May 91 14:46:18 -0700
From: jroomy@wolf (Julie Roomy)
Message-Id: <9105172146.AA09474@wolf.cs.washington.edu>
To: c473ay@ms.washington.edu, cs473@june.cs.washington.edu
Subject: Re:  bindings
Status: R

I'm trying to test my code and have a variable in my goal state.  The code
seems to be generating the correct solution, but after adding the desired
line into the state. Attempts done, fails and reapplies the same operator
producing a different variable in the state.  Then prodigy says it is done.

ie) node 2 apply operator correctly add
	(stick-properties <x> size 5) to state.

    node 3 (stick.... ) in state try done.

    node 4 reapply operator add
        (stick-properties <stick2> size 5) to state.

    node 5 try done, succeed.

the only goal is (stick-properties <x> size 5)

WHY!!!

-Julie

From etzioni@chum Fri May 17 17:08:13 1991
Received: from chum.cs.washington.edu by wolf.cs.washington.edu (5.64/7.0jh)
	id AA13041; Fri, 17 May 91 17:07:39 -0700
Received: by chum.cs.washington.edu (5.64/7.0h)
	id AA29759; Fri, 17 May 91 17:23:54 -0700
Date: Fri, 17 May 91 17:23:54 -0700
From: etzioni@chum (Oren Etzioni)
Message-Id: <9105180023.AA29759@chum.cs.washington.edu>
To: cs473@chum
Subject: project
Status: R

1. I want to be clear that you don't HAVE TO write control rules for
Monday.  You may want to do this in order to test/deubg your domain,
and it will save you time for next week.  However, if you're having
trouble getting them to work the solution is probably to test your
domain on really simple and SMALL problems and not write control
rules.  I understand that this advice doesn't apply to everyone.

2. Neither Vaughn nor I will able to answer questions this weekend.
I feel that although the project is very challenging, the fact that

a. I have had three office hours this week.
b. Vaughn has spent an inordinate amount of time answering people's
questions.
c. You've had three weeks to think about it.
d. We've spent a lot of class time discussing Prodigy, looking at
examples, and answering specific questions.

means that we're doing our share to help you.

best of luck,

oren

From zeno@genetics.washington.edu Sun May 19 04:00:37 1991
Received: from chum.cs.washington.edu by wolf.cs.washington.edu (5.64/7.0jh)
	id AA14584; Sun, 19 May 91 04:00:01 -0700
Received: from phylo.genetics.washington.edu by chum.cs.washington.edu (5.64/7.0h)
	id AA00818; Sun, 19 May 91 04:16:18 -0700
Received: by phylo.genetics.washington.edu
	(5.65/UW-NDC Revision: 2.13 ) id AA01418; Sun, 19 May 91 04:15:14 -0700
Date: Sun, 19 May 91 04:15:14 -0700
From: Sean Lamont <zeno@genetics.washington.edu>
Message-Id: <9105191115.AA01418@phylo.genetics.washington.edu>
To: cs473@chum.cs.washington.edu
Subject: I wouldn't think this was possible.
Status: R


Can anybody explain an operator that gets to the last precondition,
and yet fails?  I have no conditional effects, and I put a trace
predicate in to print out if it got to the end, and it still fails.

Odd.

