A blog upon a blue guitar, of things exactly as they are
Home About
Links for the day
2015-06-09 07:21:37
Editorial Trance, a kind of interesting Spanish/English publisher

Nothing could possibly go wrong with a DIY laser shotgun

The sad story of a very cringeworthy American traveller who died in Mexico

Krugman on "derp"
The Iliad, Book 1
2015-05-15 14:35:52
I'm rebooting my undergraduate and graduate reading, which will involve a lot of old literature, philosophy, and math (side question: when did SJC get the sjc.edu domain?) on the one hand and a lot of electrical engineering stuff on the other.

I'm starting today with the Iliad, book 1. I've chosen Lombardo's translation for this read-through. It wasn't available when I was in college, and I've read it once since then, but not very closely.

Lombardo's aim was to make a declaimable poem; apparently he has (or at least had) his translation memorized and would recite it in public a lot. I think that's a neat idea. He also attempts to have a high agree of fidelity to line numbers in Homer, which is intriguing.

He renders the first line:

Rage: Sing, Goddess, Achilles' rage


The Greek words (translated) would be "Rage sing Goddess of-Peleus of-Achilles", ie, "Goddess, sing about the rage of Achilles who was from Peleus". But the word order is almost as weird in Greek as it is in English. You normally do not put the object of a transitive verb first, but that is how Homer started. Interestingly, Lombardo leaves out Peleus (Achilles's father) entirely from the stanza.

Running thoughts as I read the first book:



Anyways, that's my takeaway for the day from Book 1. I hope to keep doing snippet-style posts like these and then write anything longer-form as I think of it.
Cardamom coffee, RIP King, and more
2015-05-15 14:20:47
On my newsfeed today

  1. The passing of the King

  2. Manet's illustrations of Poe's "The Raven"

  3. Chekov's first book (originally pseudonymos) is published

  4. Sysadmin navel-gazing continues (je m'accuse!)

  5. Sustainable drainage systems

  6. The future of cardamom coffee


  7. Enjoy
Higher-order cellular automata: overview and housekeeping
2015-05-13 13:10:55
I was reading about cellular automata and I decided this would be a fun subject to explore for the next few posts. Wolfram covered the basic first-order binary automata so thoroughly that there isn't that much to do in those (so it seems), which may be why so many researchers are doing "cellular automata + X" for some value of X. Several good values of X come to mind: the state space of a cell being larger than 1 bit; the state space of the cell being continuous; continuous "cells" (requiring integrals rather than summations); and higher-order cellular automata.

Interestingly, while Fredkin seems to have named higher-order automata first explicitly, he doesn't mean what I was thinking of. He is talking about automata with memory, whereas I'm thinking of automata influenced by cells more remote than their immediate neighbors (memory will be a later post, inshallah). This post is a broad-strokes exploration of them. I will temporarily coin the initialism SHOCA for spatially higher-order cellular automata.

In a way of moving towards a general treatment, I want to start by just looking at 2nd-order SHOCAs: cellular automata influenced by their neighbors and their neighbors' neighbors. So, in a 1-dimensional world, the input for a cell's next generation consists of five cells: the cell itself, the cells to its right and left, and the cells beyond each of those. I'll divide these automata into two large classes: totalistic and non-totalistic.

A totalistic automaton is influenced by the sum of 1's in the neighboring cells and possibly itself (its own value at t=n may simply be part of the sum for determining its value at t=n+1, or it may extend the rule by one bit, or it may be ignored completely -- this is called "outer totalism"). Since we're second-order at this point, it's not difficult to imagine the possible utility of a "logistical" totalistic automaton, in which further neighbors count for less (eg, the neighbors are worth 2 points each in determining the sum, and their neighbors are worth only 1.)

A non-totalistic automaton, in contrast, is influenced by the specific spatial configuration of ones and zeros in its extended neighborhood, so 11010 is different from 01011 (or at least can be).

So let's look at the problem space here. The smallest problem space is represented by outer totalistic SHOCAs, which are influenced only by the number of ones in their first and second order neighbors. That sum may range from zero to four, so there are 32 possible rulesets for outer totalistc SHOCAs, viz:

00000
00001
00010
00011
00100
00101
00110
00111
01000
01001
01010
01011
01100
01101
01110
01111
10000
10001
10010
10011
10100
10101
10110
10111
11000
11001
11010
11011
11100
11101
11110
11111


(The bit arrangement describes the outcome for 0, 1, 2, 3, and 4 second-order neighbors being 1, respectively.)

Some of these are of minimal interest (00000 just dumps any initial conditions and spams zeros; 11111 does the same thing with ones). And with the convention of a cellular automaton's "impulse response" (the output when an infinite string of zeros is interrupted by a single one) being something like its signature, the entire high half of that 5-bit sequence becomes "uninteresting" -- we don't want to spam the universe with infinite ones in the impulse response.

The non-outer totalistic SHOCAs are similar, but with a 6-bit number for 64 possibilities (with the analogous "interestingness" caveats).

The non-totalistic SHOCAs represent a huge problem space. There are 32 possible ordered arrangements of five bits, which means there are 232 possible rulesets for non-totalistic 2nd-order SHOCAs. I've been exploring some of them (posts to follow) and there are some very interesting automata there. To explain future posts, I want to set the following syntax:

A 2nd-order non-totalistic SHOCA can be uniquely described with a 32-bit number. Each bit represents its output to:

00000
00001
00010
00011
etc...


as input. The lowest-order bit of the 32-bit rule number describes its output to 00000, and so on up. So, immediately, we can shove aside as "uninteresting" all odd numbers, since they spam the impulse response with infinite 1's. Also, we can declare "uninteresting" all numbers that do not respond with a 1 if they have a single 1 somewhere in their input (because their impulse responses will simply always be zero). That is, all numbers whose response to

00001
00010
00100
01000
10000


is zero can be put aside for the moment. That is to say, any number whose binary representation matches XXXXXXXXXXXXXXX0XXXXXXX0XXX0X00X can be put aside as "uninteresting" as well.

This reduces the problem space to 26 bits, or 67 million possible 2nd-order non-totalistic SHOCAs. So it's still pretty big, but not quite as intimidating as the full 32 bits.

More to come, with LISP code for printing impulse responses.
Blogsolidation!
2015-05-10 06:20:34
I realized it was stupid to keep multiple blogs going at once by subject matter, since I'm not actually trying to grow an audience or traffic or do any SEO. So, I'll just be blogging here.
Older Posts