Sean T. Lamont
CSE 473 
Prodigy Project run log:


CPU time: 7.0 seconds
Number of Nodes: 44
Solution Length: 21
Operator Sequence: 

      PLANT CORN 1 1 1
      WATER 1 1 1 5
      GROW CORN 1 1 1
      WATER 1 1 2 5
      GROW CORN 1 1 2
      WATER 1 1 3 5
      GROW CORN 1 1 3
      HARVEST CORN 1 1 4


Prodigy: initial


  The non-static predicates in the initial state are ...

          (has-product corn 0)
          (has-product corn 0)
          (has-product garlic 0)
          (has-fert 2 2 5 0)
          (has-water 2 2 5 0)
          (current-growth garlic 2 2 5 0)
          (current-growth tomatoes 2 2 5 0)
          (current-growth corn 2 2 5 0)
          (has-fert 2 1 5 0)
          (has-water 2 1 5 0)
          (current-growth garlic 2 1 5 0)
          (current-growth tomatoes 2 1 5 0)
          (current-growth corn 2 1 5 0)
          (has-fert 1 2 5 0)
          (has-water 1 2 5 0)
          (current-growth tomatoes 1 2 5 0)
          (current-growth garlic 1 2 5 0)
          (current-growth corn 1 2 5 0)
          (has-fert 1 1 5 0)
          (has-water 1 1 5 0)
          (current-growth garlic 1 1 5 0)
          (current-growth tomatoes 1 1 5 0)
          (current-growth corn 1 1 5 0)
          (has-fert 2 2 4 0)
          (has-water 2 2 4 0)
          (current-growth garlic 2 2 4 0)
          (current-growth tomatoes 2 2 4 0)
          (current-growth corn 2 2 4 0)
          (has-fert 2 1 4 0)
          (has-water 2 1 4 0)
          (current-growth garlic 2 1 4 0)
          (current-growth tomatoes 2 1 4 0)
          (current-growth corn 2 1 4 0)
          (has-fert 1 2 4 0)
          (has-water 1 2 4 0)
          (current-growth garlic 1 2 4 0)
          (current-growth tomatoes 1 2 4 0)
          (current-growth corn 1 2 4 0)
          (has-fert 1 1 4 0)
          (has-water 1 1 4 0)
          (current-growth garlic 1 1 4 0)
          (current-growth tomatoes 1 1 4 0)
          (current-growth corn 1 1 4 0)
          (has-fert 2 2 3 0)
          (has-water 2 2 3 0)
          (current-growth garlic 2 2 3 0)
          (current-growth tomatoes 2 2 3 0)
          (current-growth corn 2 2 3 0)
          (has-fert 2 1 3 0)
          (has-water 2 1 3 0)
          (current-growth garlic 2 1 3 0)
          (current-growth tomatoes 2 1 3 0)
          (current-growth corn 2 1 3 0)
          (has-fert 1 2 3 0)
          (has-water 1 2 3 0)
          (current-growth garlic 1 2 3 0)
          (current-growth tomatoes 1 2 3 0)
          (current-growth corn 1 2 3 0)
          (has-fert 1 1 3 0)
          (has-water 1 1 3 0)
          (current-growth garlic 1 1 3 0)
          (current-growth tomatoes 1 1 3 0)
          (current-growth corn 1 1 3 0)
          (has-fert 2 2 2 0)
          (has-water 2 2 2 0)
          (current-growth garlic 2 2 2 0)
          (current-growth tomatoes 2 2 2 0)
          (current-growth corn 2 2 2 0)
          (has-fert 2 1 2 0)
          (has-water 2 1 2 0)
          (current-growth garlic 2 1 2 0)
          (current-growth tomatoes 2 1 2 0)
          (current-growth corn 2 1 2 0)
          (has-fert 1 2 2 0)
          (has-water 1 2 2 0)
          (current-growth garlic 1 2 2 0)
          (current-growth tomatoes 1 2 2 0)
          (current-growth corn 1 2 2 0)
          (has-fert 1 1 2 0)
          (has-water 1 1 2 0)
          (current-growth garlic 1 1 2 0)
          (current-growth tomatoes 1 1 2 0)
          (current-growth corn 1 1 2 0)
          (has-fert 2 2 1 0)
          (has-water 2 2 1 0)
          (current-growth garlic 2 2 1 0)
          (current-growth tomatoes 2 2 1 0)
          (current-growth corn 2 2 1 0)
          (has-fert 2 1 1 0)
          (has-water 2 1 1 0)
          (current-growth garlic 2 1 1 0)
          (current-growth tomatoes 2 1 1 0)
          (current-growth corn 2 1 1 0)
          (has-fert 1 2 1 0)
          (has-water 1 2 1 0)
          (current-growth garlic 1 2 1 0)
          (current-growth tomatoes 1 2 1 0)
          (current-growth corn 1 2 1 0)
          (has-fert 1 1 1 0)
          (has-water 1 1 1 0)
          (current-growth garlic 1 1 1 0)
          (current-growth tomatoes 1 1 1 0)
          (current-growth corn 1 1 1 0)
          (stored-fertilizer 20)
          (stored-water 20)



Prodigy: goal

  Problem Goal: (HAS-PRODUCT CORN 1)

Prodigy: solution

  Problem Solution:

      INFER-PLANTABLE CORN 1 1 1
      PLANT CORN 1 1 1
      WATER 1 1 1 5
      INFER-GROWTH-DUE-TO-GOOD-WATER CORN 1 1 1
      INFER-NO-HIGHER-NEIGHBORS CORN 1 1 1
      INFER-GROWTH-DUE-TO-GOOD-LIGHT CORN 1 1 1
      INFER-TOTAL-GROWTH-GOOD CORN 1 1 1
      GROW CORN 1 1 1
      WATER 1 1 2 5
      INFER-GROWTH-DUE-TO-GOOD-WATER CORN 1 1 2
      INFER-NO-HIGHER-NEIGHBORS CORN 1 1 2
      INFER-GROWTH-DUE-TO-GOOD-LIGHT CORN 1 1 2
      INFER-TOTAL-GROWTH-GOOD CORN 1 1 2
      GROW CORN 1 1 2
      WATER 1 1 3 5
      INFER-GROWTH-DUE-TO-GOOD-WATER CORN 1 1 3
      INFER-NO-HIGHER-NEIGHBORS CORN 1 1 3
      INFER-GROWTH-DUE-TO-GOOD-LIGHT CORN 1 1 3
      INFER-TOTAL-GROWTH-GOOD CORN 1 1 3
      GROW CORN 1 1 3
      HARVEST CORN 1 1 4

----

Prodigy: initial


  The non-static predicates in the initial state are ...

          (has-product corn 0)
          (has-product corn 0)
          (has-product garlic 0)
          (has-fert 2 2 5 0)
          (has-water 2 2 5 0)
          (current-growth garlic 2 2 5 0)
          (current-growth tomatoes 2 2 5 0)
          (current-growth corn 2 2 5 0)
          (has-fert 2 1 5 0)
          (has-water 2 1 5 0)
          (current-growth garlic 2 1 5 0)
          (current-growth tomatoes 2 1 5 0)
          (current-growth corn 2 1 5 0)
          (has-fert 1 2 5 0)
          (has-water 1 2 5 0)
          (current-growth tomatoes 1 2 5 0)
          (current-growth garlic 1 2 5 0)
          (current-growth corn 1 2 5 0)
          (has-fert 1 1 5 0)
          (has-water 1 1 5 0)
          (current-growth garlic 1 1 5 0)
          (current-growth tomatoes 1 1 5 0)
          (current-growth corn 1 1 5 0)
          (has-fert 2 2 4 0)
          (has-water 2 2 4 0)
          (current-growth garlic 2 2 4 0)
          (current-growth tomatoes 2 2 4 0)
          (current-growth corn 2 2 4 0)
          (has-fert 2 1 4 0)
          (has-water 2 1 4 0)
          (current-growth garlic 2 1 4 0)
          (current-growth tomatoes 2 1 4 0)
          (current-growth corn 2 1 4 0)
          (has-fert 1 2 4 0)
          (has-water 1 2 4 0)
          (current-growth garlic 1 2 4 0)
          (current-growth tomatoes 1 2 4 0)
          (current-growth corn 1 2 4 0)
          (has-fert 1 1 4 0)
          (has-water 1 1 4 0)
          (current-growth garlic 1 1 4 0)
          (current-growth tomatoes 1 1 4 0)
          (current-growth corn 1 1 4 0)
          (has-fert 2 2 3 0)
          (has-water 2 2 3 0)
          (current-growth garlic 2 2 3 0)
          (current-growth tomatoes 2 2 3 0)
          (current-growth corn 2 2 3 0)
          (has-fert 2 1 3 0)
          (has-water 2 1 3 0)
          (current-growth garlic 2 1 3 0)
          (current-growth tomatoes 2 1 3 0)
          (current-growth corn 2 1 3 0)
          (has-fert 1 2 3 0)
          (has-water 1 2 3 0)
          (current-growth garlic 1 2 3 0)
          (current-growth tomatoes 1 2 3 0)
          (current-growth corn 1 2 3 0)
          (has-fert 1 1 3 0)
          (has-water 1 1 3 0)
          (current-growth garlic 1 1 3 0)
          (current-growth tomatoes 1 1 3 0)
          (current-growth corn 1 1 3 0)
          (has-fert 2 2 2 0)
          (has-water 2 2 2 0)
          (current-growth garlic 2 2 2 0)
          (current-growth tomatoes 2 2 2 0)
          (current-growth corn 2 2 2 0)
          (has-fert 2 1 2 0)
          (has-water 2 1 2 0)
          (current-growth garlic 2 1 2 0)
          (current-growth tomatoes 2 1 2 0)
          (current-growth corn 2 1 2 0)
          (has-fert 1 2 2 0)
          (has-water 1 2 2 0)
          (current-growth garlic 1 2 2 0)
          (current-growth tomatoes 1 2 2 0)
          (current-growth corn 1 2 2 0)
          (has-fert 1 1 2 0)
          (has-water 1 1 2 0)
          (current-growth garlic 1 1 2 0)
          (current-growth tomatoes 1 1 2 0)
          (current-growth corn 1 1 2 0)
          (has-fert 2 2 1 0)
          (has-water 2 2 1 0)
          (current-growth garlic 2 2 1 0)
          (current-growth tomatoes 2 2 1 0)
          (current-growth corn 2 2 1 0)
          (has-fert 2 1 1 0)
          (has-water 2 1 1 0)
          (current-growth garlic 2 1 1 0)
          (current-growth tomatoes 2 1 1 0)
          (current-growth corn 2 1 1 0)
          (has-fert 1 2 1 0)
          (has-water 1 2 1 0)
          (current-growth garlic 1 2 1 0)
          (current-growth tomatoes 1 2 1 0)
          (current-growth corn 1 2 1 0)
          (has-fert 1 1 1 0)
          (has-water 1 1 1 0)
          (current-growth garlic 1 1 1 0)
          (current-growth tomatoes 1 1 1 0)
          (current-growth corn 1 1 1 0)
          (stored-fertilizer 20)
          (stored-water 20)



Prodigy: goal

  Problem Goal: (HAS-PRODUCT GARLIC 1)

Prodigy: advise

  Manual selection of alternatives is now enabled.

Prodigy: solve


* * * * * P R O D I G Y 2.11 * * * * *

Goal State: (HAS-PRODUCT GARLIC 1)

 You are at node  #<N2>
 Working on goal: (HAS-PRODUCT GARLIC 1)

 Alternatives Remaining...

   1. Goal:      (HAS-PRODUCT GARLIC 1)
      Operator:  HARVEST
      Variables: (GARLIC 1 1 0 2 1 <NEWTIME> 1 0)
      Post cond: (HAS-PRODUCT <CROP1> <NEW-AMOUNT>)
      Failed on: (CURRENT-GROWTH <CROP1> <X> <Y> <TIME> <MAX-GROWTH>)
      Unmatched: ((CURRENT-GROWTH GARLIC 1 1 0 2))

   2. Goal:      (HAS-PRODUCT GARLIC 1)
      Operator:  HARVEST
      Variables: (GARLIC 1 1 1 2 2 <NEWTIME> 1 0)
      Post cond: (HAS-PRODUCT <CROP1> <NEW-AMOUNT>)
      Failed on: (CURRENT-GROWTH <CROP1> <X> <Y> <TIME> <MAX-GROWTH>)
      Unmatched: ((CURRENT-GROWTH GARLIC 1 1 1 2))

   3. Goal:      (HAS-PRODUCT GARLIC 1)
      Operator:  HARVEST
      Variables: (GARLIC 1 1 2 2 3 <NEWTIME> 1 0)
      Post cond: (HAS-PRODUCT <CROP1> <NEW-AMOUNT>)
      Failed on: (CURRENT-GROWTH <CROP1> <X> <Y> <TIME> <MAX-GROWTH>)
      Unmatched: ((CURRENT-GROWTH GARLIC 1 1 2 2))

   4. Goal:      (HAS-PRODUCT GARLIC 1)
      Operator:  HARVEST
      Variables: (GARLIC 1 1 3 2 4 <NEWTIME> 1 0)
      Post cond: (HAS-PRODUCT <CROP1> <NEW-AMOUNT>)
      Failed on: (CURRENT-GROWTH <CROP1> <X> <Y> <TIME> <MAX-GROWTH>)
      Unmatched: ((CURRENT-GROWTH GARLIC 1 1 3 2))

   5. Goal:      (HAS-PRODUCT GARLIC 1)
      Operator:  HARVEST
      Variables: (GARLIC 1 1 4 2 5 <NEWTIME> 1 0)
      Post cond: (HAS-PRODUCT <CROP1> <NEW-AMOUNT>)
      Failed on: (CURRENT-GROWTH <CROP1> <X> <Y> <TIME> <MAX-GROWTH>)
      Unmatched: ((CURRENT-GROWTH GARLIC 1 1 4 2))

   6. Goal:      (HAS-PRODUCT GARLIC 1)
      Operator:  HARVEST
      Variables: (GARLIC 1 2 0 2 1 <NEWTIME> 1 0)
      Post cond: (HAS-PRODUCT <CROP1> <NEW-AMOUNT>)
      Failed on: (CURRENT-GROWTH <CROP1> <X> <Y> <TIME> <MAX-GROWTH>)
      Unmatched: ((CURRENT-GROWTH GARLIC 1 2 0 2))

   7. Goal:      (HAS-PRODUCT GARLIC 1)
      Operator:  HARVEST
      Variables: (GARLIC 1 2 1 2 2 <NEWTIME> 1 0)
      Post cond: (HAS-PRODUCT <CROP1> <NEW-AMOUNT>)
      Failed on: (CURRENT-GROWTH <CROP1> <X> <Y> <TIME> <MAX-GROWTH>)
      Unmatched: ((CURRENT-GROWTH GARLIC 1 2 1 2))

   8. Goal:      (HAS-PRODUCT GARLIC 1)
      Operator:  HARVEST
      Variables: (GARLIC 1 2 2 2 3 <NEWTIME> 1 0)
      Post cond: (HAS-PRODUCT <CROP1> <NEW-AMOUNT>)
      Failed on: (CURRENT-GROWTH <CROP1> <X> <Y> <TIME> <MAX-GROWTH>)
      Unmatched: ((CURRENT-GROWTH GARLIC 1 2 2 2))

   9. Goal:      (HAS-PRODUCT GARLIC 1)
      Operator:  HARVEST
      Variables: (GARLIC 1 2 3 2 4 <NEWTIME> 1 0)
      Post cond: (HAS-PRODUCT <CROP1> <NEW-AMOUNT>)
      Failed on: (CURRENT-GROWTH <CROP1> <X> <Y> <TIME> <MAX-GROWTH>)
      Unmatched: ((CURRENT-GROWTH GARLIC 1 2 3 2))

  10. Goal:      (HAS-PRODUCT GARLIC 1)
      Operator:  HARVEST
      Variables: (GARLIC 1 2 4 2 5 <NEWTIME> 1 0)
      Post cond: (HAS-PRODUCT <CROP1> <NEW-AMOUNT>)
      Failed on: (CURRENT-GROWTH <CROP1> <X> <Y> <TIME> <MAX-GROWTH>)
      Unmatched: ((CURRENT-GROWTH GARLIC 1 2 4 2))

  11. Goal:      (HAS-PRODUCT GARLIC 1)
      Operator:  HARVEST
      Variables: (GARLIC 2 1 0 2 1 <NEWTIME> 1 0)
      Post cond: (HAS-PRODUCT <CROP1> <NEW-AMOUNT>)
      Failed on: (CURRENT-GROWTH <CROP1> <X> <Y> <TIME> <MAX-GROWTH>)
      Unmatched: ((CURRENT-GROWTH GARLIC 2 1 0 2))

  12. Goal:      (HAS-PRODUCT GARLIC 1)
      Operator:  HARVEST
      Variables: (GARLIC 2 1 1 2 2 <NEWTIME> 1 0)
      Post cond: (HAS-PRODUCT <CROP1> <NEW-AMOUNT>)
      Failed on: (CURRENT-GROWTH <CROP1> <X> <Y> <TIME> <MAX-GROWTH>)
      Unmatched: ((CURRENT-GROWTH GARLIC 2 1 1 2))

  13. Goal:      (HAS-PRODUCT GARLIC 1)
      Operator:  HARVEST
      Variables: (GARLIC 2 1 2 2 3 <NEWTIME> 1 0)
      Post cond: (HAS-PRODUCT <CROP1> <NEW-AMOUNT>)
      Failed on: (CURRENT-GROWTH <CROP1> <X> <Y> <TIME> <MAX-GROWTH>)
      Unmatched: ((CURRENT-GROWTH GARLIC 2 1 2 2))

  14. Goal:      (HAS-PRODUCT GARLIC 1)
      Operator:  HARVEST
      Variables: (GARLIC 2 1 3 2 4 <NEWTIME> 1 0)
      Post cond: (HAS-PRODUCT <CROP1> <NEW-AMOUNT>)
      Failed on: (CURRENT-GROWTH <CROP1> <X> <Y> <TIME> <MAX-GROWTH>)
      Unmatched: ((CURRENT-GROWTH GARLIC 2 1 3 2))

  15. Goal:      (HAS-PRODUCT GARLIC 1)
      Operator:  HARVEST
      Variables: (GARLIC 2 1 4 2 5 <NEWTIME> 1 0)
      Post cond: (HAS-PRODUCT <CROP1> <NEW-AMOUNT>)
      Failed on: (CURRENT-GROWTH <CROP1> <X> <Y> <TIME> <MAX-GROWTH>)
      Unmatched: ((CURRENT-GROWTH GARLIC 2 1 4 2))

  16. Goal:      (HAS-PRODUCT GARLIC 1)
      Operator:  HARVEST
      Variables: (GARLIC 2 2 0 2 1 <NEWTIME> 1 0)
      Post cond: (HAS-PRODUCT <CROP1> <NEW-AMOUNT>)
      Failed on: (CURRENT-GROWTH <CROP1> <X> <Y> <TIME> <MAX-GROWTH>)
      Unmatched: ((CURRENT-GROWTH GARLIC 2 2 0 2))

  17. Goal:      (HAS-PRODUCT GARLIC 1)
      Operator:  HARVEST
      Variables: (GARLIC 2 2 1 2 2 <NEWTIME> 1 0)
      Post cond: (HAS-PRODUCT <CROP1> <NEW-AMOUNT>)
      Failed on: (CURRENT-GROWTH <CROP1> <X> <Y> <TIME> <MAX-GROWTH>)
      Unmatched: ((CURRENT-GROWTH GARLIC 2 2 1 2))

  18. Goal:      (HAS-PRODUCT GARLIC 1)
      Operator:  HARVEST
      Variables: (GARLIC 2 2 2 2 3 <NEWTIME> 1 0)
      Post cond: (HAS-PRODUCT <CROP1> <NEW-AMOUNT>)
      Failed on: (CURRENT-GROWTH <CROP1> <X> <Y> <TIME> <MAX-GROWTH>)
      Unmatched: ((CURRENT-GROWTH GARLIC 2 2 2 2))

  19. Goal:      (HAS-PRODUCT GARLIC 1)
      Operator:  HARVEST
      Variables: (GARLIC 2 2 3 2 4 <NEWTIME> 1 0)
      Post cond: (HAS-PRODUCT <CROP1> <NEW-AMOUNT>)
      Failed on: (CURRENT-GROWTH <CROP1> <X> <Y> <TIME> <MAX-GROWTH>)
      Unmatched: ((CURRENT-GROWTH GARLIC 2 2 3 2))

  20. Goal:      (HAS-PRODUCT GARLIC 1)
      Operator:  HARVEST
      Variables: (GARLIC 2 2 4 2 5 <NEWTIME> 1 0)
      Post cond: (HAS-PRODUCT <CROP1> <NEW-AMOUNT>)
      Failed on: (CURRENT-GROWTH <CROP1> <X> <Y> <TIME> <MAX-GROWTH>)
      Unmatched: ((CURRENT-GROWTH GARLIC 2 2 4 2))


 Try which alternative: 3


 You are at node  #<N4>
 Working on goal: (CURRENT-GROWTH GARLIC 1 1 1 1)

 Alternatives Remaining...

   1. Goal:      (CURRENT-GROWTH GARLIC 1 1 1 1)
      Operator:  PLANT
      Variables: (GARLIC 1 1 1)
      Post cond: (CURRENT-GROWTH <CROP1> <X> <Y> <TIME> 1)
      Failed on: (PLANTABLE <CROP1> <X> <Y> <TIME>)
      Unmatched: ((PLANTABLE GARLIC 1 1 1))

   2. Goal:      (CURRENT-GROWTH GARLIC 1 1 1 1)
      Operator:  GROW
      Variables: (GARLIC 1 1 0 0 <MAX-GROWTH> 1 1)
      Post cond: (CURRENT-GROWTH <CROP1> <X> <Y> <NEW-TIME> <NEW-CROP-GROWTH>)
      Failed on: (CURRENT-GROWTH <CROP1> <X> <Y> <TIME> <CROP-GROWTH>)
      Unmatched: ((CURRENT-GROWTH GARLIC 1 1 0 0) (CROP-WILL-GROW GARLIC 1 1 0))

   3. Goal:      (CROP-WILL-GROW GARLIC 1 1 1)
      Operator:  INFER-TOTAL-GROWTH-GOOD
      Variables: (GARLIC 1 1 1)
      Post cond: (CROP-WILL-GROW <CROP1> <X> <Y> <TIME>)
      Failed on: (GOOD-WATER-GROWTH <CROP1> <X> <Y> <TIME>)
      Unmatched: ((GOOD-WATER-GROWTH GARLIC 1 1 1))


 Try which alternative: s


Ok, turning off advise facility.
Warning: 5975936 bytes have been tenured; (gc t) is recommended.


CPU time: 3.4 seconds
Number of Nodes: 18
Solution Length: 8
Operator Sequence: 

      PLANT GARLIC 1 1 1
      GROW GARLIC 1 1 1
      HARVEST GARLIC 1 1 2


Prodigy: solution


  Problem Solution:

      INFER-PLANTABLE GARLIC 1 1 1
      PLANT GARLIC 1 1 1
      INFER-GROWTH-DUE-TO-GOOD-WATER GARLIC 1 1 1
      INFER-NO-HIGHER-NEIGHBORS GARLIC 1 1 1
      INFER-GROWTH-DUE-TO-GOOD-LIGHT GARLIC 1 1 1
      INFER-TOTAL-GROWTH-GOOD GARLIC 1 1 1
      GROW GARLIC 1 1 1
      HARVEST GARLIC 1 1 2

Prodigy: 