Newsgroups: comp.ai.genetic
Path: cantaloupe.srv.cs.cmu.edu!rochester!udel-eecis!news.mathworks.com!newsfeed.internetmci.com!uwm.edu!spool.mu.edu!munnari.OZ.AU!bunyip.cc.uq.oz.au!marlin.jcu.edu.au!news
From: Perry Swanborough <Perry.Swanborough@jcu.edu.au>
Subject: Re: question on NK model
Content-Type: text/plain; charset=us-ascii
Message-ID: <1996Jul3.005624.12305@marlin.jcu.edu.au>
Sender: news@marlin.jcu.edu.au (USENET News System)
Content-Transfer-Encoding: 7bit
Organization: CRC-TREM
References: <4qo6gf$ar1@worak.kaist.ac.kr>
Mime-Version: 1.0
Date: Wed, 3 Jul 96 00:56:24 GMT
X-Mailer: Mozilla 1.1N (Windows; I; 16bit)
Lines: 48

sbpp@ee.kaist.ac.kr (sbpark) wrote:
>I'm studying the performance of stochastic search algorithms
>depending on the cost function of given combinatorial
>optimization, and finding works on general landscape model
>whose difficulty and scale, things like that, can be controlled.
>The NK-model is what I am finding, I think.
>So, I am reading the article, that is "adaptation on
>rugged fitness landscapes", in Lectures in the Sciences and
>Complexity.
> 
>Numerical simulations are shown in several tables in the article.
>There are many combinations of "N" and "K" on the tables,
>I don't know how you did simulations on large "K" and "N",
>for example, N is 96, K = 48, etc.
>To my knowledge, it may require a lot of memory
>because NK-model consists of N * 2^(K+1) memory.
> 
>Let me know how I can do that.

While reading some of the NK model literature, I became aware of this 
problem, and I thought the following may be a solution :

For a genotype string of N loci and epistasis operating where the net 
fitness of each gene is a function of its own fitness contribution and 
fitness contributions from K other genes in the string, let each possible 
epistatic combination correspond to a unique single value V. V can be 
calculated as :

V = C(1)*G(1) + C(2)*G(2) + C(3)*G(3) + ... + C(K+1)*G(K+1)

where G(1) to G(K+1) are the numerical locations on the string of the 
gene and the other K genes to which it is epistatically linked, and C(1) 
to C(K+1) are constants chosen so that all V values for every possible 
epistatic combination are different from each other.

To get a net fitness value for each gene for any epistatic combination, 
use its V value as a seed to a suitable random number function (though 
finding a random number function for which a full set of V seed values 
yields a set of fitness values statistically indistinguishable from a 
random list may be easier said than done).

If this can be made to work satisfactorily, there's no need to worry 
about tying up huge amounts of memory, and for any possible epistatic 
combination, a reproducible independent "random" fitness value for each 
gene is reliably assigned.

Perry Swanborough

