Hélie, S.** **& Sun, R. (2010).
Incubation, insight, and creative problem solving: A unified theory and a
connectionist model. *Psychological
Review*, *117*, 994-1024. [pdf]

This page includes runnable code for the
simulations included in this paper presented as Mathematica notebooks. In each
notebook, all the cells must be run from top to bottom.
Code particularities are explained as comments within each notebook
[ *(* This is a comment. *)* ].

Mathematica notebooks can be read using the freeware Mathematica Player (http://www.wolfram.com/products/player/). Running the notebook requires Wolfram Research Mathematica, which can be purchased at http://www.wolfram.com/.

[Yaniv & Meyer (1987)] | [Smith & Vela (1991)] | [Durso et al. (1994)] | [Schooler et al. (1993)] |

**Numerical example of a trial in the
simulation of Smith & Vela (1991)**

**Step 1**

Randomly generate 50 bipolar implicit representations (representing the 50 words in the list). Example representation:

**Step 2**

Pre-train the bottom-level network using the randomly generated bipolar representations (for parameter settings, see Table 4 in the main text). The matrix is a 500 x 500 square matrix. Here are example eigenvalues of the bottom-level weight matrix (after pre-training):

**Step 3**

Pre-train the **F** matrix linking the top- and bottom-level
representations. After pre-training, each column **f**_{i}
contains a copy of one of the bipolar implicit representations. This 50 x 500
matrix is not represented here.

**Step 4**

Start a trial with random activation in the bottom level. Here is an example random activation:

**Step 5**

Iterate the random activation in the bottom level until convergence. In this case, 125 iterations were required (~44 seconds of psychological time). The final state of the bottom level is:

**Step 6**

Process the activation within the top level. Here, there are no top-level rules.

**Step 7**

Send the bottom-level activation to the top level.
This yields the following activation for the 50 top-level nodes (each
representing a word from the list). Here is a graphical
representation of** y**_{[bottom-up]}:

**Step 8**

Integrate the top-level and the bottom-up activation.
Here, there is no top-level rule so **y**_{[integrated]} = **
y**_{[bottom-up]}. (For parameter settings, see Table 5
in the main text.)

**Step 9**

Transform the integrated activation into a Boltzmann
distribution. Here is a graphical representation of the *P*(**y**_{[integrated]}):

**Step 10**

Verify that the *Mode*[*P*(**y**_{[integrated]})]
> *y.* Here, this
inequality stands so a word is stochastically chosen and output to motor control
(probably word #45).

**Step 11**

Go back to step 4 until there is no more time left.