| ~ isle ex ~ | HOME | MAP | NEW | CONTACT |
WebsideCA - Supporting Information[Note: Cellsprings, a new applet, has replaced WebsideCA, and much of the information on this page is out of date. No attempt has been made to update this page other than to change the links that point elsewhere on the site to reflect this page's new location. Please see Isle Ex's Java home for current information.]
DescriptionWebsideCA is a Java applet that allows you to explore the behavior of all the CA rules featured in the CA music section of Isle Ex, and of a great many other 2D CAs besides. (What's a CA? See the CA music background info page.)The main thing that sets WebsideCA apart from other Java 2D CA-runners (that I know of, as of this writing, etc.) is the great variety of CA rules it lets you define and run. In addition to the usual Moore neighborhood (H9) binary outer totalistic rules, the applet currently supports:
Another unique feature of the applet is that it will optionally chart the progress, as the CA updates, of two key demographic variables. (It is such variables that I have mapped to music elsewhere on Isle Ex. Read about it.) Other features worthy of note include:
Usage NotesThese notes assume at least a passing familiarity with CA concepts (such as you can obtain elsewhere on the site). Moreover, they don't provide exhaustive documentation of the applet. Instead, I have tried to concentrate on those features that might otherwise require clairvoyance to operate.Main Panel: Orbit Initialization SubpanelThis bank of controls along the bottom margin of the main panel is for setting a CA rule and initial state. Some of its more obscure features are highlighted below.
Main Panel: Status BarThe far-left field denotes the current CA orbit using the notation Rulename[Seedstate]. A leading '@' symbol in either component designates an item created interactively (as opposed to having been loaded from a file). The left middle field reports the universe size (cols x rows), as well as the "zoom level" of the display, from 100% ("actual size" - i.e., cells are represented by single pixels) to the maximum of 500%.Main Panel: CA DisplayA couple of things to note here: (1) the cells of the CA are displayed using a consistent color map and (2) the entire universe is always shown. The display dimensions of the cells (reported on the Status Bar as a "zoom" level) is auto-adjusted to fit the display space, unless the universe is smaller than 80x48, in which case the display shrinks while the cells remain at 500% magnification.The Rule Parameters Window[Note: For necessary background, make sure you check out the CA rule section of the TME Reference, especially its explanation of rule groups.]This window is actually a stripped-down rule editor. Whenever it is opened, it will be loaded with the current rule's parameters. It is a modeless window, i.e., it can remain open as you work with the main panel. If it is already open when you load a new rule into the applet, it will be updated with the newly loaded rule's parameters and pulled back to the front to display them. (But this may not work in MS IE4, as discussed below.) The idea here is to provide for a sort of "live" rule-reference, where you can easily walk through the installed rules, viewing and comparing their parameters. But of course that's just the beginning. You can also test your own modifications to the installed rules, or create new rules from scratch. Just press the Apply button to make your custom rule the current rule. Applying a rule also "memorizes" it for later recovery during the session using the main panel Recall button. (Only one rule can be memorized at a time - each Apply overwrites the memory space.) In the General Binary lookup-table editor, each birth/survival pair of table entries has a unique configuration of neighbor states, which are shown for the currently-selected pair via the neighbor-state checkboxes. If you change the states of these checkboxes, a different entry pair, corresponding to the new neighborhood configuration, is selected. You can also select a new entry pair by clicking on either grid with the mouse. As for table modification, you can manipulate individual entries using the Is Born? and Survives? checkboxes, which mirror the states of the selected entries. A few words need to be said about rule codes. A numerical encoding, i.e., a conventional packed representation of a rule's lookup table, is implemented for Outer Totalistic tables and 5-hood General Binary tables. (The code formats are documented in the TME Reference.) This feature operates in two directions: the code updates as you alter the table by other means, and the table updates if you enter a new code. (Please note that in the latter case you have to press the Enter key after typing the code for it to take effect.) These codes provide a compact and unambiguous way of referring to and entering particular rules, and also can be used to make systematic changes to a table during editing. Another feature expected to be quite useful in editing is a bit more subtle. When you change the rule group from Outer Totalistic to General Binary, the OT table is used to initialize the GB table. That is, you get the more diffuse GB representation of the OT rule. This OT to GB expansion facilitates an approach to designing rules in which one makes small nontotalistic modifications to totalistic rules, as, for example, by discriminating between N and S neighbors or between adjacent and opposite neighbor-pairs. The Demographics ViewerTo record the demographic history of a CA, have the demographics viewer (DV) open when you start the evolution. It need not have focus, however, and in fact the evolution will run faster if the DV is in the background. You can then bring it to the front as desired for viewing. Note that the DV is resizable, and should rescale appropriately if you manually resize it. You can also open the DV at any point into the CA orbit, and it will record from that point on. This is useful if you want to examine a region well into the orbit without having the horizontal scale compressed. Finally, if you change CAs while the DV is open, it will reinitialize in preparation for recording the new orbit.Keyboard Shortcuts
Content Notes[Version 1.01 update: WebsideCA now has 28 CA rules pre-installed for your exploration, including 7 rules that were not in the original installation. I've provided info on the new rules at the end of the section, leaving the preliminary-version discussion largely intact.]As part of my Transmusical Experiments Reference, I have already posted information on some of the most important of the installed rules, and I won't duplicate that material here. Moreover, the applet itself constitutes a rule-parameter reference, as mentioned above, so there is no need for me to reiterate the bare rule definitions. I would, however, like to make some general comments about some of the rules that aren't listed in the TME Reference. TransersIn the process of developing WebsideCA, I ran across this terrific rule in the BOT-with-decay family. As far as I know it has not been described elsewhere, but please let me know if I am mistaken. I've never seen a rule with so many distinctive entities that occur "in the wild", with remarkable inter-entity transformations. Besides various sorts of gliders, some of which reflect upon collision, there are an abundance of naturally-occurring glider-stream generators and editors (as I call them...a stream passes in one side and a different stream passes out the other...sometimes it passes out in a different direction.) The degree to which Transers is like a self-organized erector set is amazing. Many of the sorts of objects that people build with great contrivance in Conway's Life occur here for free.Mind you, unlike many BOTD rules, Transers is not just a pale imitation of Brain, for it is populated with many fixed entities, and in general is less chaotic yet more varied than Brain, with fewer "species" but more "phyla" in its "natural history". Swirl[In early 2001 as I update the links to Scott Ladd's site, I hasten to refer the reader to the above disclaimer about the "deprecated" nature of the info on this page. Apropos of the present entry, rules similar to Swirl have been discovered. See especially Pinwheels and Cyclones in my new applet Cellsprings.]I learned of this intriguing rule at Scott Robert Ladd's site. (His LifeBox applet runs CAs.) Ladd informs me that, as far as he knows, he is the rule's discoverer. Swirl is unique in my experience for its self-organized rotating structures. While spirals of one kind and another tend to be common in CAs (see the CyclicCAs and Cyclish), Swirl's whirlers seem a breed apart because of their discrete nature - isolated "whirlpools" in an otherwise dead sea. There are two sizes of whirlpools that occur regularly. Ladd calls the smaller the "swirlpool" and the larger the "flamewhirl". Also there is a glider with a flickering tail which Ladd aptly refers to as a fire or flame glider. The most peculiar object I've seen appear spontaneously in Swirl is one I've been calling the "swirlybird". It's a glider that sends out two mutually annihilating swirlpools with each flap of its "wings". It doesn't last very long in a closed universe, though, because it runs afoul (afowl?) of its own, er, droppings. (It's hard to resist seeing a moral in that.) The Sierpinski rulesA number of the rules generate various Sierpinski gasket-oids, as discussed in connection with FractalBeads in the TME Reference. Besides FractalBeads, WebsideCA features Springski, Fallski, Simpliski, and the Pinskilator. Simpliski is the only one I actually adapted from a reference, the others were originally generated at random with my DOS software. I subsequently simplified the tables of all except the Pinskilator to their bare essences. I haven't done anything with the Pinskilator, because my software doesn't yet support viewing or manipulating the individual entries of general nonbinary tables.Cyclic rulesBesides the classic parameter set for the Cyclic CA described in the TME Reference, I've installed two others. The names I've used go "Cyclic<hoodsize><threshold>-<cellsize>". Cyclic51-10 is a trivial variation, chosen in order to get the self-organization to occur in a smaller universe. (Small is good if you're impatient. Watch a few runs in the demographics viewer and see the delta-density soar above 80%. For the 80x48 universe, it usually it ends up at 100%, meaning every cell is changing value on each step. As a consequence, cyclic spells s-l-o-w...in Java, anyway.)Cyclic93-3 is a very interesting rule in its own right, and another good one for demographics-watching, where its virtues as an oscillator can be easily appreciated. Fireworks, Cyclish, Slugfest, and all thatThese are all "my" rules, but the concepts of the first two are, I think, pretty standard, and Slugfest's table, randomly generated, desperately needs to be cleaned up (please volunteer). Cyclish is of course so named because of its resemblance to the "true" Cyclic CA.AnnealThis classic rule was discovered by Gérard Vichniac. It is also known in some quarters as "Vote", but it constitutes a rather peculiar election formula in that a slight sub-majority wins over a small majority. This variation helps break down the "gridlock" that occurs with straightforward majority rule. (Here's some fun: change the table in the rule-editor so that a cell strictly follows the state of the neighborhood majority, and note the difference.)Anneal is a more interesting rule than first meets the eye. Try it with multiple uniformly-distributed starts to better appreciate it. If you're lucky, you might get an orbit with an especially long transient, or one of the even rarer cases with a very long end cycle. These orbits, marked by diagonal banding, can be captured more readily in the small 35x21 universe. (I'm no topologist, but I guess the band is sort of a helix on the surface of the torus - like a barber-pole stripe with one turn, but where the barber "pole" has been bent into a ring.) Speaking of barber poles, I once saw an orbit in which one of these helicoid structures was not in a fixed position, but instead perpetually rotated around the torus. Unfortunately, I failed to save the initial state, not realizing how rare it was. I've not been able to find another such orbit via manual shuffling. Looks like a job for a search program. Of course, if you were going to take the trouble to write such a program, you might as well equip it to do more extensive state-transition mapping. (More openings for volunteers.) That's my big-one-that-got-away story. I imagine that anyone who's played with CAs for a while has one. General nonbinary rulesFor a given hoodsize (H) and cellsize (C) there exists an exhaustive tabular representation containing CH entries. WebsideCA currently supports only H5C3 and H5C4 tables, and you can't edit the tables.There are presently four of these rules installed. Besides Pinskilator, which has already been mentioned in connection with the other Sierpinski rules, there are Wired, Rewrite, and Sisypharm. All of these rules were encountered in my DOS software using its brute table-randomization facilities, and, as such, need to be "cleaned" up, but I haven't yet written a proper table-editor for this rule group. Version 1.0 additionsFeatured in the version 1.0 installation are six rules that were not in the preliminary versions, and many new orbits. Most of the new rules were recently discovered by Mirek Wójtowicz (see annotated link below). For now, I have selected just four of my favorites from among Mirek's many discoveries. These four, itemized below, are all in the totalistic-with-decay class of rules ("Brain family").As for orbits, in addition to installing various simple seeds as is my wont, I've imported a few patterns of the more "engineered" variety. These patterns shipped with Mirek's Win32 program MCell, and, to give credit where credit is due, the corresponding seed-states in my applet are all named 'MCell' suffixed by a collating number. The descriptions that accompanied the imported patterns attributed their construction to either Mirek himself or, in the case of the two patterns for Conway's Life, to no one. Please be aware that these imported orbits offer but a small taste of the huge number Mirek has assembled.
SediMentalThis new rule in the Brain family is included in the version 1.01 installation. I encountered it recently while working on WCA's successor. From a random seed state of 30% ones, it tends to form stable "islands", with active coastlines and fascinating inter-island "commerce". But an orbit's fate is quite sensitive to the starting percentage. Below 25% or so the world remains sparsely Brain-like, whereas somewhere above 30% the islands begin to accrete into larger "landmasses", so that by 40% you nearly always end up with a single huge "continent".As for simple seeds, they often lead to surprising results. And the rule clearly has great potential from the "engineering" standpoint. Global content issuesMany of these rules - for example, Brain, Transers, Swirl, and the Cyclic rules - will not have been properly experienced until you have run a number of trials using "random" initial states. A good baseline seed is the 15 or 30 percent 1-cells option, or, for some rules, the uniform distribution option. Experiment!The sample orbits are something of an unsystematic grab bag - whatever happened to strike my fancy or seemed illustrative of something. The random starts have often (e.g., with Brain, Transers) been selected for the sake of their end results, which may take some waiting. There's a Transers orbit like that, where something happens well after you might figure it's locked in its terminal cycle. Surprise! Now it's done. The other seed type for which WebsideCA shows a fondness is the "simple" variety, which is a deliberately vague term, but you know it when you see it. The simplest of simple seeds is of course the ever-popular single 1-valued cell (aka Dot). In the case of those rules for which Dot is a font of plenty rather than a bust, I have usually included it among the examples. But again, experiment! For CA music lovers only: Preliminary tests indicate that many of the rules described in this section have great musical promise, among them Transers, Swirl, and Cyclic93-3. Performance Benchmarks[Version 1.0 note: Since the applet's "CA engine" hasn't changed since the first version, this v0.8 material should still be valid. Of course, the browsers have marched on.]
An inadvertent side-benefit of Webside's update speed readout
feature is the informal performance measure of your Java environment it can
provide. Below I list a few rates achieved on my own modest system, for
comparison purposes. As you can see, HotJava is the winner overall,
though Netscape equals it for many CAs. As is to be expected, each CA taxes a
different mix of resources.
Known Problems[Version 1.0 note: The first several entries were seen under v0.8. Those which haven't been re-encountered are presumed to still occur under the right...or rather, wrong...conditions, since the changes shouldn't have affected them.]Most of the infelicities of which I'm aware have only been observed under particular Java implementations. No doubt other such implementation-specific bugs will turn up, since I've only been able to test a few OS/browser/version combos. (What doesn't seem to have been adequately anticipated for this otherwise brilliantly conceived language is that its reliability would be at the mercy of sundry 3rd party implementations. However, things are definitely improving on that front, and I for one am rooting for the language, because from the coding standpoint it makes C++ feel almost as clunky as FORTRAN, and I haven't wanted to go back.) IE4 popup-window issues
Sudden slowness
Rule load failure
Rule parameter window layoutThese are minor annoyances. Some early Javas don't size this window as requested (or the demographics viewer either). They come up too big. No big deal. More annoying is another IE3/Win95 thing: for general binary rules, the neighbor labels don't line up directly over their respective checkboxes. However, the problem isn't fatal - you can tell which labels go with which boxes.Blank CA on startupSo far this has only been reported under the Netscape/Mac Java. The default CA will still run on pressing Go!, however.Demographics overrunThis problem is an exception to the "implementation specific" rule, but the Isle Ex installation avoids it. I mention it only because some of you may run the applet offline and load your own files. If you do so, one of the things you should know is that the universe size limit for the proper operation of the demographics feature is presently less than that for the rest of the program. For CAs whose demographics you want to track, the GIF files you load shouldn't exceed about 32000 pixels.CA display "bleeds" outside of canvasThis mysterious problem was reported under Apple's MRJ 2.1.4 (the current version as I write this) - but only when using the standalone Applet Runner, not MSIE. It seems that sometimes after you Apply a custom rule, when you press GO! the new CA's display is messed up, with "cells" straying outside the universe display.The work-around is to hit the Devolve button. This reportedly fixes the display if it's already messed up, and also acts as a preventative if you click it before pressing GO!. BTW, the recent MRJ, despite this problem, is by all accounts much the best Mac Java - or maybe I should say that, as far as I've seen, it's the only Mac Java. Preset-loading "hangs"Unlike the other entries, this one doesn't have anything to do with the Java environment on the client - it's a server problem. Regrettably, the servers hosting my new domain have so far been spotty in performance at best.The presenting symptoms are that sometimes when you select a new rule or orbit it seems to hang, while the "LOADING..." message displays in the upper left corner of the main panel (you should also get a "waiting" mouse cursor). This can be a bit disconcerting. I can only say that anytime this has happened to me, the CA has eventually loaded. You can move the cursor off the applet and do other things, but refrain from clicking applet controls in desperation, tempting though it may be. (I guess I need a cancel function, requiring my own loading thread. Ah, well, maybe next edition.) Hourglass cursor persists after loadingThis was noted using Netscape 4.08 on Windows - I'm not sure what other environments it may apply to. The problem is that the hourglass cursor doesn't revert to the arrow until you move the mouse. The solution is to move the mouse :) Also, take note of the other feedback mechanism, namely the "LOADING..." message at the upper left of the main panel.Main panel keyboard shortcuts sometimes don't workThis is another IE4 thing just noticed. The dropdown lists seem to hog all the regular keyboard keys when they have the focus, for use in matching items. (Never mind that the character is nowhere in the list, the keypress will still be eaten instead of being passed up the chain.) I may look into a possible work-around at the programming level, but meanwhile, if you click somewhere else to remove the focus from the list you can use the shortcut keys again.Version History1.01, November 15, 1999.Minor maintenance revision.
Significant revision.
Minor maintenance revision.
Initial deployment. Related LinksThe following are some annotated links to Web-based CA resources that I have found especially interesting and/or useful. The list is very far from exhaustive, the selection being limited partly by the chaotic trajectory of my own surfing activity. The sites are presented in no particular order.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||