*************************************************************************
                           PRODIGY  PROJECT
*************************************************************************

Edit Marcinkech
c473ag@coco.ms
marcim@wolf.cs

Domain : CAR PAINTING 


This domain is an attempt to formalize some of the processes involved 
in painting a car.  Given a car to paint and an upper limit on the cost
of the job, Prodigy will search for a painting technique that satisfies
these conditions.  Currently the domain consists of four different
techniques ranging from high to low quality and expense.  At this stage,
Prodigy runs thru the techniques in an arbitrary order often performing
operations in a redundant and silly manner.  But given enough time, it
does find a solution.  These problems will be resolved once the control
rules are added.


Questions:

a)  Real-world aspects not possible to model in PRODIGY:

    1)  Since it is not possible to find the cheappest way to paint
        a car (PRODIGY does not find the optimal solution) I had to
        model my domain from the shops point of view, who want to 
        charge as much as possible and thru search control rules
        order my operators accordingly.

    2)  Separating the concepts of quality and expense.  In the 
        domain, LACQUER is the second most expensive method of 
        painting.  However, the final product although very nice
        initially, will chip and peal the fastest (low quality).
        
    3)  Representing the process of mixing paint.  To match a 
        certain color often several colors must be mixed.  The 
        ratios must be exact or the paint will not match exactly.
        A subset of these combinations could be enumerated in a 
        function, but not all of them (there is an infinite 
        number of combinations).

b)  The only difficult aspect of my domain was that of cost.

c)  The trace and analyze features were a great help.

d)  I would modify the way PRODIGY use of the Default search 
    control rule.  Currently, the only way to order the way
    preconditions are executed is by ordering them correctly
    in the domain.  This should be transferred to the control
    rules since this is a form of control.  This is what I 
    started off doing (that is the reason for all the commented
    out rules).  However, when I added the Default rule all
    these preference rules were ignored.  So all this control
    was relocated to the domain.  There should be a better way.
