COSC 348: Lab12

IMPORTANT: In the end of each lab submit your code and answers to the questions (worth 1% of the final mark).

Ising-like model of the dynamics of an abstract gene regulatory network.

The Ising model is defined on a discrete collection of variables called spins, which can take on the value +1 or −1 (up or down). The spins can be thought of as living on a graph, where each node has exactly one spin, and each edge connects two spins with a nonzero interaction value. The goal is to study phase (state) changes in the Ising model as a simplified form of phase (state) changes in real substances. The two-dimensional NxN square lattice Ising model is one of the simplest models to study phase changes and asymptotic behaviour of the modeled system.


Basic description of the model


Visualising the model

Although we are dealing with linear data, it is convenient to represent the data in a 2D lattice (for instance we may have 16 genes, so there would be 16 (binary) spin values -- which can be displayed in a 4x4 grid).

The simplest visualization of the NxN lattice can be to just use text: where S[i] = +1 is represented by a black dot (or X); and S[i] = −1 by a white dot (or .). We will need it to observe how the state of the network evolves over time.

Example representation of 16 spin states:
XX.X
X..X
..XX
.XXX

The spin states need to be displayed at the start, and after each epoch of change.

Initialisation of the model

In all experiments, initialize the network by assigning each gene a state −1 or +1 with probability = 0.5 (flipping a virtual coin).

Updating the model

We can simulate time by iterating through the model, and discovering what equilibrium behaviour develops within the model: is there a Fixed point attractor; or a more dynamic Limit cycle attractor (oscillation); or Chaotic (strange) attractor?

These updates can be made as --


Experiments

Write a program to observe the evolution of the states over time, let us use:
N = 10,   so there will be 100 spin states;
and finish updating after twenty epochs

The first experiment -- point attractor dynamics

After certain number of epochs the system should stay in one state when updating.


  1. Generate all interactions w[i, j] as random real numbers from the interval (−1, +1) in such a way that the interaction matrix is symmetric, i.e. w[i, j] = w[j, i] and there are no direct feedbacks, i.e. w[i, i] = 0 for all i.
  2. All basal expressions b[i] = 0 for all i.
  3. The update rule is ASYNCHRONOUS.

Run the experiment several times, with different initial random configuration of gene states BUT with the same interaction matrix W. Answer these questions:

  1. Does the system always converge to a stable state?
  2. Is this stable state always the same even when the initial distribution of states is different?

The second experiment -- limit cycle attractor

After certain number of epochs the system should switch between just few states when updating


  1. Generate all interactions w[i, j] as random real numbers from the interval (−1, +1) in such a way that the interaction matrix is symmetric, i.e. w[i, j] = w[j, i] and there are no direct feedbacks, i.e. w[i, i] = 0 for all i.
  2. Generate basal expressions b[i] as random numbers from the interval (−1, +1).
  3. The update rule is SYNCHRONOUS.

Run the experiment several times, with different initial random configuration of gene states BUT with the same interaction matrix W and the same basal expression values b[i]. Answer these questions:

  1. Does the system always converge to the same sequence or cycle of states?
  2. Is this stable state sequence or cycle always the same even when the initial distribution of states is different?

The third experiment -- chaotic attractor

After certain number of epochs the system should follow a sequence of similar-but-never-the-same states.


  1. Generate all interactions w[i, j] as random real numbers from the interval (−1, +1) in such a way that the interaction matrix is NOT symmetric, i.e. w[i, j] ≠ w[j, i] and there are no direct feedbacks, i.e. w[i, i] = 0 for all i.
  2. Generate basal expressions b[i] as random numbers from the interval (−1, +1).
  3. The update rule can be either SYNCHRONOUS or ASYNCHRONOUS.

Run the experiment several times, with different initial random configuration of gene states BUT with the same interaction matrix W and the same basal expression values b[i]. Answer these questions:

  1. Does the system always converge to the same sequence of similar states?
  2. Is this state sequence always the same even when the initial distribution of states is different?


If time permits, repeat the above experiments including feedback interaction,
i.e. generate w[i, i] as random numbers from the interval (−1, +1).



Cosc348 home
Cosc348 labs