Archive for the ‘M&S’ Category

Axiom of Regularity and AFA theorem decidability

Below are some thoughts I had in relation to an e-mail discussion where the following question arose: What is a representation? The arching context of this discussion was a seminar exploring the psychological theory that feelings are a form of self-perception. I.e. if self-perception theory is true, this would explain the abundance of clinical evidence showing that feelings follow behaviors rather than preceding them.

In any case, the group has a large contingent of technical types and the discussion of representation eventually raised the question of the difference between processes and things, verbs and nouns, [en|de]coders and an encoding, or code and data. The underlying itch seems to be the concept of self-modifying processes or, in computer science terms, code as data and data as code. It seemed to me the holistic thinkers see an aspect to living things, organisms, that is not present in machines. (This inarticulate distinction isn’t new, of course. Great minds have been trying to tease them apart for millenia. And my puny mind won’t add anything to what they’ve already done. But this blog has gotten a bit stale; so I must post something.)

The group seemed to have stalled at the ontological status of a representation. Such a thing seems to have an autonomy all on its own. For example, if you scratch an image of your grandmother into a piece of granite, then humanity goes extinct, do those scratches on the granite still represent your grandmother? Or are they then just meaningless scratches on a rock? To what extent is the decoding process required for an encoded artifact to still be meaningful?

Anyway, this obviously raises all sorts of questions for anyone who likes to think deeply or completely. But the (shallow and incomplete) question it raises to me is fairly common to all the philosophical problems I think about: circular reference. In logic, an impredicative definition is one that defines an object using a quantification over all the other objects like the object being defined. In other words, it’s a self-referencing definition. It’s im-predicative simply because it’s not predicative. In the foundations of math, it boils down to von Neumann’s Axiom of Regularity, which states that sets cannot have elements that, when cracked open, contain elements present anywhere in the cumulative hierarchy of sets above them. In other words, the set hierarchy cannot contain loops.

It seems to me that an organism, and in particular those of us who are capable of using symbols to communicate with one another, is impredicatively defined in terms of its environment. The symbols used are in constant redefinition as the organism and its environment evolve. Hence, any representation, e.g. of the environment by the organism or of the organism by the environment, will be self-referential and inseparable from its context.

So, this leads me to ask why we ascribe ontological status to representations? Why do we think the image of a grandmother scratched into a rock will persist as a representation? I think the answer lies in how we count, which is (probably) based on the fact that we have fingers, digits. We count ordinally: 1, 2, 3 …. And because we do so, our intuitive concept of numbers and sets of things is constructive. Abstractly, math is about grammar, sentences, consistency, and completeness. But concretely, math is about how we relate large bunches of things to small bunches of things, 100 cows to 10 bails of hay, 10 fingers to a billion stars, etc.

When considering these relationships, abstract or concrete, various problems arise like how to represent nothing, the result of taking away 6 cows from a total of 6 cows to give you no cows. How does one represent no cows? Infinity and density are other such problems. What lies after the largest number to which you can count? What lies between two very close numbers? Etc.

In the course of handling some of these issues, von Neumann formulated a constraint (regularity) to avoid unconstructable, cyclic set hierarchies. Later, Turing came up with the “halting problem”: given a step-by-step procedure, decide whether the procedure halts or continues forever. These sorts of problem obviously depend critically on construction. Whether you can tell if a procedure will halt depends on whether and how it can be constructed.

It is this sense of constructability and automatic deduction (no consciousness required), that I think leads to ascribing more ontological status to representations/encodings than is objectively warranted. Another interesting twist arises because so many people use the computer as a metaphor for organisms, the hardware is likened to the body and the software is likened to the mind. But again, this metaphor raises the hackles of those who think organisms are categorically different from machines.

We can seamlessly use the term “representation” to mean a thought in the mind of an organism and an encoding in the software of a machine. But the character of the term changes between the two usages. Saying “the computer uses a representation of your grandmother” is very different to an ordinary layperson than saying “you have a representation of your grandmother in your mind”.

Perhaps this goes back to the axiom of regularity in that the most common modern computer architecture is the von Neumann architecture, where the CPU (process) is categorically distinct from the memory (objects) upon which it operates. These modern computers function by counting, constructing one state from previous states. That separation between the CPU and the memory disallows cyclic sets. At any given time, the objects in the memory can be enumerated, which would not be true without the axiom of regularity. No register can be a member of itself.

Of course, we can simulate circularity by first enumerating some of the set, then moving the CPU pointer back to a register it already finished reading and letting it read again from that same register. But this is not a circular or impredicative definition because at any particular time, the memory is completely, acyclically, enumerable. I take this to imply that a von Neumann architecture is incapable of realizing a non-well-founded set.

Of course, I’m not really a mathematician and I’m certainly not a meta-mathematician. So, my intuition and/or reasoning could be completely off. One discussant pointed out that an alternative set of axioms, called AFA (Anti-Foundation Axiom, which refers to the ZFC without the axiom of regularity plus the anti-foundation axiom) is just as consistent as ZFC (Zermelo-Fraenkel plus the Axiom of Choice). And others[1] point out that AFA and ZFC are shown to be “mutually interpretable”. So, perhaps this means that a sentence in AFA, involving a cyclic set (not possible in ZFC), can be “constructed” by first transforming the sentence into some equivalent in ZFC, constructing that in the normal way, then transforming it back. This would mean that a von Neumann architecture machine, although based in the intuitive counting-based construction with which we’re familiar, would still be able to compute AFA sentences … kinda like transforming a problem from the time domain into the frequency domain, solving it there, and transforming it back. I don’t know. But it sure seems suspicious to me.

In any case, perhaps my suspicion is evidence that I’ve bought into the false dichotomy von Neumann so insidiously implanted in our modern, digitally myopic minds? Perhaps representations (or symbols, in general) really do become entirely meaningless when violently torn from their context?

[1] http://research.microsoft.com/pubs/70350/tr-2006-138.pdf

Tracing Multiscale Mechanisms of Drug Disposition in Normal and Diseased Livers

Our second ISL tracing paper has been published online as a JPET FastForward Article Tracing Multiscale Mechanisms of Drug Disposition in Normal and Diseased Livers.

I’ll repeat the brief blurb on my agent based modeling website.

This paper talks in relative detail about how hypothesis formulation and falsification (failed validation) can be done at a fine grain when only coarse grained validation data is available. Because our in silico liver (ISL) is an analog built in software, we can trace its internals. And because the internals of the analog were designed to map to the internal structure and dynamics of its referent (wet-lab liver perfusion experiments), traces of the ISL become detailed hypotheses about the internals of the liver. However, those detailed hypotheses are not falsifiable, except to the extent that they fail to reproduce the coarse validation data. Nothing can be done about that until we design wet-lab experiments to perform on real livers. In the meantime, though, we can alter the ISL mechanisms so that the coarse grained data matches that taken from wet-lab experiments under different conditions. In this case, we build 3 ISLs that generate the outflow profiles for drug and a sucrose marker for: 1) normal healthy livers, 2) alcohol damaged livers, and 3) carbon tetrachloride damaged livers. With the traces for each of the 3 ISLs, based upon the validated (i.e. not proven true, of course, but proven true enough) mechanisms of the ISL, we can formulate ‘proto-theories’ for the translation of an experimental liver from a healthy to a diseased (cirrhotic) state.

Note that the particulars of the ‘proto-theories’ suggested by these traces are not as sophisticated as those that might be generated by an expert hepatologist. In fact, these ‘proto-theories’ may even seem bizarre or patently false to such an expert (though I believe they don’t seem so to the experts). Indeed, as Box’s aphorism says,

… all models are wrong; the practical question is how wrong do they have to be to not be useful.

The point is not to build computer programs that attempt to compete with the hypothesis formulation of experts. This is not an AI project. The point is to build devices, with whatever tools are available including computers, that make the experts more efficient and effective. By formulating these ‘proto-theories’ about the translation of healthy livers to diseased livers (and vice versa), models like the ISLs provide a foil or sounding board to help sharpen the theories developed by the experts.

Swarm’s configure script: Can’t find threads

We recently settled on Ubuntu as a common operating system for the machines on which we run biological models. That meant I have to reinstall Swarm and we encountered the same error Jim cites here.  Our failure is because the configure script doesn’t test for the amd64 platform.  I added the following lines to the configure (after line 19,539):

elif test -d ${jdkdir}/jre/lib/amd64/native_threads; then
threads=native
JAVACMD="\${jdkdir}/jre/bin/java"

That seems to have fixed our problem, perhaps it will help others who encounter the same error.

Enzyme Induction paper published in Complexity.

Our paper Enzyme Induction paper has finally been published!  Woohoo!

Agent-Directed Simulation Symposium

As usual, we’ll be participating (to some extent) in the ADS symposium.

The theme of ADS’09 is based on the observation of the following premises.

  1. The growth of new advanced distributed computing standards along with the rapid rise of e-commerce are providing a new context that acts as a critical driver for the development of next generation systems. These standards revolve around service-oriented technologies, pervasive computing, web-services, Grid, autonomic computing, ambient intelligence etc. The supporting role that intelligent agents play in the development of such systems is becoming pervasive, and simulation plays a critical role in the analysis and design of such systems.
  2. The use of emergent agent technologies at the organization, interaction (e.g., coordination, negotiation, communication) and agent levels (i.e. reasoning, autonomy) are expected to advance the state of the art in various application domains. However, modeling and testing complex agent systems that are based on such technologies is difficult. Using agent-supported simulation techniques for testing complex agent systems is up and coming field.
  3. To facilitate bridging the gap between research and application, there is a need for tools, agent programming languages, and methodologies to analyze, design, and implement complex, non-trivial agent-based simulations. Existing agent-based simulation tools are still not mature enough to enable developing agents with varying degrees cognitive and reasoning capabilities.

Ptolemy II Webcam App

My partners got so excited about the ease with which one can create data-driven programs using QuartzComposer for the Mac that I just had to demonstrate to them that Apple doesn’t have any kind of lock on this domain. In fact, it brought to my mind a very old Mac OS 9 (or earlier I guess) visual programming language called Prograph, which has now become Marten and a handy little signal processing tool called Cantata, which has now become VisiQuest (look at the tutorials near the bottom of the page). And, of course, that’s not to mention the many other packages out there like PureData, LabView, etc.

Anyway, here’s my demonstration using Ptolemy II 7.0.1 over the top of FMJ (forget JMF - “Oh Sun Microsystems, why have you forsaken us?”):

At our company meeting, we were playing with a USB microscope Don borrowed from a friend of his. And one must admit that’s a much cooler thing to play with than a webcam. But, hey, my point can be made without the fancy hardware. ;-)

The ascription of telos

Things come in threes. I’m beginning to think that this “law of threes” might be a good gauge for when one should actually speak. Perhaps I’ll try it one day … just keep my mouth shut until there are 3 similar things about which to talk. ;-)

Anyway, I recently hosted a poster at the Engineering in Medicine and Biology Conference (EMBC) entitled: Using an In Silico Liver to Evaluate a Hepatic Enzyme Induction Mechanism. I won’t attempt to explain the contents, here (thank the gods, eh?); but the gist of it was that all models, including in silico (a.k.a. computational), in situ, in vitro, in vivo, indeed ALL ways of interacting with anything, involve what we’re calling a “phenomenal manifold” (a.k.a. an “aspect” as in Aspect-Oriented Programming). Basically, whenever a subject interacts with an object, the interaction is always mediated by some layer … a membrane. The subject cannot reach directly inside the object and manipulate or observe anything she might want to. Such interaction is always distorted, governed, or transduced through this layer. Granted, sometimes the layer can be very transparent so that it seems as if you’re touching the object directly. But in other cases, there are highly nonlinear or unpredictable effects when the subject manipulates the object or the data from observation can be very cryptic or misleading.

Why is this important? Well, in the context of using computational models to understand an extant system, the phenomenal manifold must be explicitly included in the experimental method. Otherwise, the results will not be repeatable and the effort can’t be considered “science”.

That’s the first of the three. The second is that one of us just got their hands on a high powered microscope and his family has been spending quite a bit of time staring at pond water animals through it. This sparked an argument between me and him about the telos of these animals’ motion. I suggested that it was primarily (say 70%) random, probably even Brownian (an aggregate of collisions with much smaller forces). He countered that their movements seem very purposeful, that they very clearly swim from place to place.

Now, I ran this by a few people, including biologists, and they all agree with him. The consensus seems to be that the motions of these animals do have telos and I am wrong. However, I maintain my skepticism primarily because this has the same texture as a mistake I’ve seen people make over and over again, never learning the lesson. We humans always ascribe telos. It is the fallacy of anthropocentrism. Besides, I can imagine many random, including Brownian-style, mechanisms that might generate seemingly purposeful behavior. So, as long as my imagined proto-hypothetical mechanisms are not falsified, my skepticism is appropriate and it’s just sloppy thinking to jump to the conclusion that the motions must be purposeful.

So that’s 2. And I was waiting for my partner to post some pictures or video about this locomotion to launch into the argument, here. But then the third thing came rattling down the pipe. I finally got caught up on my e-mail and, lo’ and behold, I find this post on Panda’s Thumb, wherein we find the telos-obsessed Intelligent Design people misquoting John von Neumann regarding the disturbing randomness at the heart of evolution. It’s useful to requote an excerpt of the quote used by Douglas to show that Berlinski misrepresented von Neuman. 8O

Yet many efficient (?) and purposive (??) media, e.g., language, or the national economy, also look statistically controlled, when viewed from a suitably limited aspect.

Flashback to an old simulation

I got the new Silicon Forest Universe 2.0 poster and flashed back to SwarmCorp’s multi-scale Alzheimer’s Disease model.  We used a product called “TheBrain”, which has now been forked into several products by TheBrain Technologies, Inc..  Anyway, I dug up our old brain map from my SwarmCorp archives, imported it into the PersonalBrain I just downloaded and here is the result.  I love technology sometimes. … Of course, most times I hate technology.  But this was a nice fugue of nostalgia.  Thanks to TheBrain Technologies!

Note that the ADBrain was built by Chris, whereas I wrote most of the simulation and Visio code to which the ADBrain hooked.

Return top