Logo IDEAL

Lessons:

Implementation of DEvelopmentAl Learning (IDEAL) Course

Home » 4. Self-programming » 46. Trace analysis

Behavioral analysis of a self-programming agent

Table 46 shows the trace that you should see in your console if you ran Project 4. If you did not run it, you can refer to pages 44 and 45 to understand this trace. Observe that the system learns to be always PLEASED from Decision 23 (on Line 197) by alternatively enacting the composite interactions ⟨e2r1e2r2⟩ and ⟨e1r1e1r2⟩.

Table 46: Activity trace of a rudimentary self-programming agent.

  1. propose e1 proclivity 0
  2. propose e2 proclivity 0
  3. Enacted e1r1 valence -1 weight 0
  4. 0: PAINED
  5. propose e1 proclivity 0
  6. propose e2 proclivity 0
  7. Enacted e1r2 valence 1 weight 0
  8. learn <e1r1e1r2> valence 0 weight 1
  9. 1: PLEASED
  10. propose e1 proclivity 0
  11. propose e2 proclivity 0
  12. Enacted e1r1 valence -1 weight 0
  13. learn <e1r2e1r1> valence 0 weight 1
  14. learn <e1r1<e1r2e1r1>> valence -1 weight 1
  15. learn <<e1r1e1r2>e1r1> valence -1 weight 1
  16. 2: PAINED
  17. propose e1 proclivity 1
  18. propose e2 proclivity 0
  19. propose <E1R2E1R1| proclivity 0
  20. Enacted e1r1 valence -1 weight 0
  21. learn <e1r1e1r1> valence -2 weight 1
  22. learn <e1r2<e1r1e1r1>> valence -1 weight 1
  23. learn <<e1r2e1r1>e1r1> valence -1 weight 1
  24. 3: PAINED
  25. propose e1 proclivity 0
  26. propose e2 proclivity 0
  27. propose <E1R2E1R1| proclivity 0
  28. Enacted e1r1 valence -1 weight 0
  29. reinforce <e1r1e1r1> valence -2 weight 2
  30. learn <e1r1<e1r1e1r1>> valence -3 weight 1
  31. learn <<e1r1e1r1>e1r1> valence -3 weight 1
  32. 4: PAINED
  33. propose e2 proclivity 0
  34. propose <E1R2E1R1| proclivity 0
  35. propose e1 proclivity -2
  36. propose <E1R1E1R1| proclivity -2
  37. Enacted e2r1 valence -1 weight 0
  38. learn <e1r1e2r1> valence -2 weight 1
  39. learn <e1r1<e1r1e2r1>> valence -3 weight 1
  40. learn <<e1r1e1r1>e2r1> valence -3 weight 1
  41. 5: PAINED
  42. propose e1 proclivity 0
  43. propose e2 proclivity 0
  44. Enacted e1r1 valence -1 weight 0
  45. learn <e2r1e1r1> valence -2 weight 1
  46. learn <e1r1<e2r1e1r1>> valence -3 weight 1
  47. learn <<e1r1e2r1>e1r1> valence -3 weight 1
  48. 6: PAINED
  49. propose <E1R2E1R1| proclivity 0
  50. propose e1 proclivity -1
  51. propose e2 proclivity -1
  52. propose <E2R1E1R1| proclivity -2
  53. propose <E1R1E1R1| proclivity -2
  54. propose <E1R1E2R1| proclivity -2
  55. Enacted <e1r2e1r1> valence 0 weight 1
  56. reinforce <e1r1<e1r2e1r1>> valence -1 weight 2
  57. 7: PLEASED
  58. propose <E1R2E1R1| proclivity 0
  59. propose e2 proclivity -1
  60. propose e1 proclivity -2
  61. propose <E2R1E1R1| proclivity -2
  62. propose <E1R1E1R1| proclivity -2
  63. propose <E1R1E2R1| proclivity -2
  64. Enacted e1r1 valence -1 weight 0
  65. learn <<e1r2e1r1><E1R2E1R1|E1R1>> valence -1 weight 1
  66. 8: PAINED
  67. propose e1 proclivity 0
  68. propose e2 proclivity 0
  69. Enacted e1r1 valence -1 weight 0
  70. learn <<E1R2E1R1|E1R1>e1r1> valence -2 weight 1
  71. learn <<e1r2e1r1><<E1R2E1R1|E1R1>e1r1>> valence -2 weight 1
  72. learn <<<e1r2e1r1><E1R2E1R1|E1R1>>e1r1> valence -2 weight 1
  73. 9: PAINED
  74. propose <E1R2E1R1| proclivity 0
  75. propose e1 proclivity -1
  76. propose e2 proclivity -1
  77. propose <E2R1E1R1| proclivity -2
  78. propose <E1R1E1R1| proclivity -2
  79. propose <E1R1E2R1| proclivity -2
  80. Enacted e1r1 valence -1 weight 0
  81. learn <e1r1<E1R2E1R1|E1R1>> valence -2 weight 1
  82. learn <<E1R2E1R1|E1R1><e1r1<E1R2E1R1|E1R1>>> valence -3 weight 1
  83. learn <<<E1R2E1R1|E1R1>e1r1><E1R2E1R1|E1R1>> valence -3 weight 1
  84. 10: PAINED
  85. propose e2 proclivity 0
  86. propose e1 proclivity -1
  87. propose <E1R1<E1R2E1R1|E1R1|| proclivity -2
  88. Enacted e2r1 valence -1 weight 0
  89. learn <<E1R2E1R1|E1R1>e2r1> valence -2 weight 1
  90. learn <e1r1<<E1R2E1R1|E1R1>e2r1>> valence -3 weight 1
  91. learn <<e1r1<E1R2E1R1|E1R1>>e2r1> valence -3 weight 1
  92. 11: PAINED
  93. propose e2 proclivity 0
  94. propose e1 proclivity -1
  95. Enacted e2r2 valence 1 weight 0
  96. learn <e2r1e2r2> valence 0 weight 1
  97. learn <<E1R2E1R1|E1R1><e2r1e2r2>> valence -1 weight 1
  98. learn <<<E1R2E1R1|E1R1>e2r1>e2r2> valence -1 weight 1
  99. 12: PLEASED
  100. propose e1 proclivity 0
  101. propose e2 proclivity 0
  102. Enacted e1r1 valence -1 weight 0
  103. learn <e2r2e1r1> valence 0 weight 1
  104. learn <e2r1<e2r2e1r1>> valence -1 weight 1
  105. learn <<e2r1e2r2>e1r1> valence -1 weight 1
  106. 13: PAINED
  107. propose e1 proclivity -1
  108. propose e2 proclivity -1
  109. propose <E1R2E1R1| proclivity -1
  110. propose <<E1R2E1R1|E1R1|E2R1| proclivity -2
  111. propose <E2R1E1R1| proclivity -2
  112. propose <E1R1E1R1| proclivity -2
  113. propose <E1R1E2R1| proclivity -2
  114. Enacted e1r2 valence 1 weight 0
  115. reinforce <e1r1e1r2> valence 0 weight 2
  116. learn <e2r2<e1r1e1r2>> valence 1 weight 1
  117. learn <<e2r2e1r1>e1r2> valence 1 weight 1
  118. 14: PLEASED
  119. propose e2 proclivity 0
  120. propose e1 proclivity -2
  121. propose <E1R1E1R1| proclivity -2
  122. Enacted e2r1 valence -1 weight 0
  123. learn <e1r2e2r1> valence 0 weight 1
  124. learn <e1r1<e1r2e2r1>> valence -1 weight 1
  125. learn <<e1r1e1r2>e2r1> valence -1 weight 1
  126. 15: PAINED
  127. propose e2 proclivity 1
  128. propose <E2R2E1R1| proclivity 0
  129. propose e1 proclivity -1
  130. Enacted e2r2 valence 1 weight 0
  131. reinforce <e2r1e2r2> valence 0 weight 2
  132. learn <e1r2<e2r1e2r2>> valence 1 weight 1
  133. learn <<e1r2e2r1>e2r2> valence 1 weight 1
  134. 16: PLEASED
  135. propose e2 proclivity 0
  136. propose <E1R1E1R2| proclivity 0
  137. propose e1 proclivity -2
  138. Enacted e2r1 valence -1 weight 0
  139. learn <e2r2e2r1> valence 0 weight 1
  140. learn <e2r1<e2r2e2r1>> valence -1 weight 1
  141. learn <<e2r1e2r2>e2r1> valence -1 weight 1
  142. 17: PAINED
  143. propose e2 proclivity 2
  144. propose <E2R2E2R1| proclivity 0
  145. propose <E2R2E1R1| proclivity 0
  146. propose e1 proclivity -1
  147. Enacted e2r1 valence -1 weight 0
  148. learn <e2r1e2r1> valence -2 weight 1
  149. learn <e2r2<e2r1e2r1>> valence -1 weight 1
  150. learn <<e2r2e2r1>e2r1> valence -1 weight 1
  151. 18: PAINED
  152. propose e2 proclivity 1
  153. propose <E2R2E2R1| proclivity 0
  154. propose <E2R2E1R1| proclivity 0
  155. propose e1 proclivity -1
  156. Enacted e2r1 valence -1 weight 0
  157. reinforce <e2r1e2r1> valence -2 weight 2
  158. learn <e2r1<e2r1e2r1>> valence -3 weight 1
  159. learn <<e2r1e2r1>e2r1> valence -3 weight 1
  160. 19: PAINED
  161. propose <E2R2E2R1| proclivity 0
  162. propose <E2R2E1R1| proclivity 0
  163. propose e1 proclivity -1
  164. propose e2 proclivity -1
  165. propose <E2R1E2R1| proclivity -2
  166. Enacted e2r1 valence -1 weight 0
  167. learn <e2r1<E2R2E2R1|E2R1>> valence -2 weight 1
  168. learn <e2r1<e2r1<E2R2E2R1|E2R1>>> valence -3 weight 1
  169. learn <<e2r1e2r1><E2R2E2R1|E2R1>> valence -3 weight 1
  170. 20: PAINED
  171. propose e1 proclivity 0
  172. propose e2 proclivity 0
  173. Enacted e1r1 valence -1 weight 0
  174. learn <<E2R2E2R1|E2R1>e1r1> valence -2 weight 1
  175. learn <e2r1<<E2R2E2R1|E2R1>e1r1>> valence -3 weight 1
  176. learn <<e2r1<E2R2E2R1|E2R1>>e1r1> valence -3 weight 1
  177. 21: PAINED
  178. propose e1 proclivity 0
  179. propose <E1R2E2R1| proclivity 0
  180. propose e2 proclivity -1
  181. propose <E1R2E1R1| proclivity -1
  182. propose <E2R1E1R1| proclivity -2
  183. propose <<E1R2E1R1|E1R1|E2R1| proclivity -2
  184. propose <E1R1E2R1| proclivity -2
  185. propose <E1R1E1R1| proclivity -2
  186. Enacted e1r2 valence 1 weight 0
  187. reinforce <e1r1e1r2> valence 0 weight 3
  188. learn <<E2R2E2R1|E2R1><e1r1e1r2>> valence -1 weight 1
  189. learn <<<E2R2E2R1|E2R1>e1r1>e1r2> valence -1 weight 1
  190. 22: PLEASED
  191. propose <E2R1E2R2| proclivity 0
  192. propose e1 proclivity -2
  193. propose e2 proclivity -2
  194. propose <E1R1E1R1| proclivity -2
  195. Enacted <e2r1e2r2> valence 0 weight 2
  196. reinforce <e1r2<e2r1e2r2>> valence 1 weight 2
  197. 23: PLEASED
  198. propose <E1R1E1R2| proclivity 0
  199. propose e1 proclivity -2
  200. propose e2 proclivity -2
  201. propose <E2R1E2R1| proclivity -2
  202. Enacted <e1r1e1r2> valence 0 weight 3
  203. learn <<e2r1e2r2><e1r1e1r2>> valence 0 weight 1
  204. 24: PLEASED
  205. propose <E2R1E2R2| proclivity 0
  206. propose e1 proclivity -2
  207. propose e2 proclivity -2
  208. propose <E1R1E1R1| proclivity -2
  209. Enacted <e2r1e2r2> valence 0 weight 2
  210. learn <<e1r1e1r2><e2r1e2r2>> valence 0 weight 1
  211. 25: PLEASED

Lines 1-2: predefined experiments are proposed with a default proclivity of 0. Proposals are sorted by decreasing proclivity. The first proposed experiment is selected: e1. Lines 3-4: Decision 0: The interaction e1r1 is enacted. The system is PAINED because this interaction has a negative valence (-1).

Line 8: the first composite interaction ⟨e1r1e1r2⟩ is learned from the primitive interaction e1r1 enacted on Decision 0 (Line 3) and the primitive interaction e1r2 enacted on Decision 1 (Line 7). Simultaneously, the system records an abstract experiment noted ⟨E1R1E1R2| (not in the trace). This experiment will be proposed for the first time on Decision 16 (Line 136) but not selected. It is proposed again on Decision 24 (Line 198) and selected, resulting in the successful enaction of composite interaction ⟨e1r1e1r2⟩ (Line 202).

On Decision 8, the experiment ⟨E1R2E1R1| was selected (Line 58), leading to the tentative enaction of composite interaction ⟨e1r2e1r1⟩. This tentative enaction failed due to obtaining result r1 instead of the expected result r2, thus resulting in the enaction of primitive interaction e1r1 instead (Line 64). The abstract result |E1R1⟩ is created, as well as the enacted interaction ⟨E1R2E1R1|E1R1⟩, using the notation introduced on Page 44.

« Previous | Next »

See public discussions about this page or start a new discussion by clicking on the Google+ Share button. Please type the #IDEALMOOC046 hashtag in your post:

Share