July 31, 2007

A Gene to Remember, A Pill to Forget

Researchers have found that a mutation in the ADRA2B gene improves the recall of emotional memory. This specific mutation of ADRA2B deletes three amino acids from the encoded protein. This mutation affects the behavior of noradrenaline receptors.

The research team tested this gene mutation by genotyping 435 young adults. These participants were shown a series of pictures. The pictures were one of three emotional categories: neutral, positive and negative. After viewing all the pictures for 4 seconds each, participants were asked to write a description of what they had seen. Participants with the ADRA2B mutation recalled up to 80% of the emotional images while those without the mutation recalled on average 40%.

The team believes the mutation is as common as 30% in Caucasians and 12% in Africans. The study also contacted people suffering from Post-dramatic Stress Disorder. Those with the mutation recalled their negative emotional memories more vividly than those without the mutation.


On the flip side, Retrospectacle recently posted an interesting article on a new drug, propranolol, which “blocks the action of epinephrine on both β1- and β2-adrenergic receptors”. The drug weakens and removes emotional attachment to past memories. Participants are asked to vividly recall their traumatic memory and are then administered the drug. I would theorize that recalling a memory is somewhat similar pharmacologically to experiencing it the first time and thus the beta-blocking capabilities of propranolol minimizes the “resaving” of the memory. Of course, this is wild speculation and I have zero direct evidence to support my theory :)


It is believed that propranolol works because of the interaction between norepinephrine and glucocorticoids. Glucocorticoids are released by the adrenal cortex during emotional arousal and are believed to consolodate and strengthen new memories. It was theorized that glucocorticoid release was triggered by norepinephrine.

Read the rest of this entry


July 25, 2007

Back from Vacation!

Well, I’m back from vacation. Time to get grinding again!

I experienced a minor setback while working on DN, admittedly my own fault. In anticipation of getting a functional alpha prototype working, I committed the single worst mistake a programmer can make - no design document. While the design document itself can be anywhere from hastily scrabble notes to entire bibles, the need for one is paramount. I rushed into the client code and began hacking left and right. The client kinda works right now, and while I could spend time to fix it, I shouldn’t. It is ugly, unwieldy, unreliable and will not scale well.

Two steps forward, one step back.

Read the rest of this entry


July 20, 2007

Tiny brain no obstacle to French civil servant

Tiny brain no obstacle to French civil servant

A man with an unusually tiny brain managed to live an entirely normal life despite his condition, caused by a fluid buildup in his skull, French researchers reported on Thursday.

Scans of the 44-year-old man’s brain showed that a huge fluid-filled chamber called a ventricle took up most of the room in his skull, leaving little more than a thin sheet of actual brain tissue.

Wow. The human brain never ceases to amaze me at its ability to survive even the most extreme conditions.

Read the rest of this entry


July 4, 2007

DNClient

Work has started on DNClient, the distributed client that volunteers will run. The brain network code has been placed into a separate DLL for ease of updating later down the road. The client has a fairly simple program flow:

  • Check for new versions of client, Brain.DLL, evolution parameters, genotypes
  • Load current genotype/phenotype, depending on the progress of the client simulation
  • If a genotype is loaded, mutate genotype and create phenotype. Proceed to next step.
  • Run trial on currently loaded phenotype
  • Score fitness, record data
  • Repeat

Granted, this is a grossly simplified version, but it gives a nice overview of what is happening client side. Server side should be a fair amount more interesting. The server will have access to the results of all clients and will make “educated guesses” on which genotypes to keep in the genepool and which to remove. I’m currently reviewing various algorithms for deciding which genotypes are fit. Many algorithms allow less fit genotypes to persist because it increases genetic diversity and avoids local maxima, which genetic evolutionary algorithms tend to get stuck in.

I’m also trying to decide if, and how, I want to implement genetic crossover. Crossover is a fancy term for “computer sex”. Crossover takes whole portions of a genotype and transplants it on another genotype, giving the child genotype largely intact pieces of its parent’s genotype. The current client merely mutates the genotype by a small amount each time. I can see the benefits of crossover, as it could potentially take important pieces of genetic material from two fairly unsuccessful parents, but when paired together, create a fantastic child. It does, unfortunately, require some more coding I hadn’t counted on and will require clients to keep a limited genepool they can use to cross.