Title: | Mathematics at DEC |
Moderator: | RUSURE::EDP |
Created: | Mon Feb 03 1986 |
Last Modified: | Fri Jun 06 1997 |
Last Successful Update: | Fri Jun 06 1997 |
Number of topics: | 2083 |
Total number of notes: | 14613 |
Anyone remember the Game of Life that was created by J. Conway? Just as I was getting into computers, I got hooked on it. Consequently, I wrote several program, some in machine language, to let me watch the interactions. Does anyone know of any programs to do the same thing on a VT125 or such? A fast program would be nice too!! Other than Byte and Scientific American, has there been any other work done in this area? It just sort of dried up and hid do to lack of interest!! Joe -=-
T.R | Title | User | Personal Name | Date | Lines |
---|---|---|---|---|---|
101.1 | ADVAX::J_ROTH | Fri Jul 27 1984 15:51 | 18 | ||
Though I was never too interested in the Game itself, I did find it an interesting programming problem. I've written one interesting version that runs on the PC/350 directly using the video bitmap which is fast enough that the patterns look like they are boiling in real-time. The data-structure is very compact (one word for each unique X-coordinate followed by the associated Y-coordinat values) and gives 15 bits of address space on a side. A series of macro expansions scan this stucture as a sort of distributed state-machine producing the next generation very quickly indeed, only a small number of memory cycles per point. I've been too lazy to do a fancy editor for it, or a census taker or any of that; maybe if I get a Mouse I'll try. You can contact me if you want to play with the program as it is. It could be easily modified to display on a terminal, but not too worthwhile since you need agile graphics to really see the program run. - Jim | |||||
101.2 | SILVER::TURANO | Wed Aug 08 1984 17:17 | 18 | ||
Actually the interest in cellular automata is on the rise again but for different reasons than originally anticipated (i.e. see nice patterns). A review of some of the recent work in the field is given in the Fall 1983 issue of Los Alamos Science No. 9. S. Wolfram has studied 1-D automata extensively and is interested in how they seem to relate to the field of Chaos. It seems that certain rules about state changes as related to nearest neighbors result in self-organizing structures while others lead to chaotic behavior. Wolfram has also published a review of his work in Reviews of Modern Physics Vol 55 No.3 July 1983, page 601. It probably should also be mentioned that several other authors have used cellular automata models for such things as neuron firing patterns and tissue growth. If you want these references I can supply them. | |||||
101.3 | HARPO::GORMAN | Thu Aug 23 1984 11:31 | 7 | ||
There is 3 chapters in Martin Gardner's new book "Wheels, Life, and other Mathematical Amusements" 1983. Also interesting article "Life after Death" - Pat Macaluso in BYTE July 81 pp 326-333. That article also points to "Life algorithms" by Marc Niemiec in BYTE Jan 79 p90. Bob | |||||
101.4 | TURTLE::GILBERT | Thu Aug 23 1984 15:51 | 7 | ||
While they last, you can grab copies of TURTLE::SYS$PUBLIC:LIFE.EXE, which runs on VAXen for VT52s and VT100s. The program prompts for a file (containing blanks, tabs, and non-blanks, for the initial screen), and a number (to display every delta iterations; 1, 2, 3 and 6 are good). It was written primarily as a test or demo of the ANIMOD near-minimal screen update package (available from the tools clearinghouse). - Gilbert | |||||
101.5 | ADVAX::J_ROTH | Tue Sep 04 1984 05:00 | 13 | ||
A pair of copies of the direct-bitmap life program mentioned in 101.1 is available in ADVAX::USER1:[JROTH]LIFACORN.TSK and LIFPUF.TSK. One has the 'acorn' starting pattern which blows up leaving much debris. LIFPUF is initialized with a puffer train (I forget which type) which goes to the right filling the screen with objects. You'll need a PC350 with an extended bitmap option, since I use one of the extra planes as a frame buffer between updates. There isn't a command interface or anything - the program just tests the algorithm out. I was working on a screen editor, and will probably finish it sometime. - Jim | |||||
101.6 | SPRITE::OSMAN | Fri Jun 07 1985 10:39 | 32 | ||
Anyone have one for VAXstation 100 or VAXstation I (ucro vax) ? I was hanging around the MIT AI lab a number of years ago just as Bill Gosper was about to perfect his absolutely amazing life population. The setting was a round green screen with white graphics, namely a DEC 340 display, one of the true vector displays. We were on a pdp6 (9th floor of 545 Tech Square). Anyway, Bill Gosper had already won $50 in a contest whose task was to prove or disprove that a life population could grow forever. Bill won it with the glider gun, a 46-cycle population 31 (or is it reversed?) pattern that spits out glider guns. Well, the new contest was to decide if any population could grow proportionately to t^2, which would be the fastest possible growth, given the 2-d restraint. Puffer trains had already been discovered, which move in a direction leaving debris behind. The amazing thing I had the pleasure to be witness to was Bill Gosper's discovery of a puffer train that spews out glider guns as its debris ! This satisfys the new contest. Since the train moves to the right, and the guns are spittin' gliders downward on the screen, the guns at the end of the tail have spit the most glider guns. When the entire population is scaled down on the display, it looked like a fish swimming to the right with a lengthening triangular tail that continues to widen at its tip. /eric | |||||
101.7 | ADVAX::J_ROTH | Fri Jun 07 1985 11:10 | 12 | ||
I don't have one for the Vaxstation yet, but the one I did for the PC/350 (and 380) is pretty impressive. Since I now have access to a vaxstation I will probably try translating it to VAX assembler in the near future. If you have a PC/350 or PC/380 around try one of the following programs: ADVAX::USER1:[JROTH.BITMAP]LIF*.TSK or LIF*380.TSK. You need an extended bitmap since I use it for a frame buffer. It runs under P/OS; just copy it and run the task image under the toolkit. - Jim | |||||
101.8 | PIPA::JANZEN | Thu Jun 20 1985 12:37 | 5 | ||
I wrote a life for vax pascal and vt100 with an input file. Files of 16*16 boudaries run about 3/second on a loaded 785. Full screens run considerably more slowly. Ask for it. Tom | |||||
101.9 | collections of known patterns? | FSTVAX::DICKINSON | doug dickinson | Tue Sep 02 1986 23:49 | 12 |
i notice one note in here talking about glider guns and puffer trains. are there any books (or files) which have pictures of these or other "known" patterns. i've written a version of life (so, who hasn't) and i want to test it. taking known patterns and seeing that they perform as expected is one way i can think of. yes, i already know about the battle of the languages, and i'll definitely check there, asap. dd | |||||
101.10 | A simple starting pattern... | JON::MORONEY | Madman | Wed Sep 03 1986 01:13 | 11 |
I don't know of any "collection" of starting patterns, but here's a good one... Pick a point (X,Y) where X is 1/2 the field width, and Y is 3/4 the height. Make the following "living": (X-1,Y-1) (X-1,Y) (X-1,Y+1) (X,Y-1) (X+1,Y-1) (X+1,Y) (X+1,Y+1), and everything else "dead". This thing grows and grows, I don't know if it ever reaches a stable state of some sort. It looks like a robot at times. Something I've always wanted to do and haven't (yet) is LIFE on a Hex Grid. -Mike | |||||
101.11 | Some sample patterns | EAGLE1::DANTOWITZ | David .. DTN: 226-6957 | Wed Sep 03 1986 10:08 | 1103 |
I archived these years ago, but since I haven't yet written a LIFE program, I've never tested them. Good luck. David $ type chase.dat 3,34 4,35 5,35 5,34 5,33 10,38 11,39 12,39 12,38 12,37 $ type divebomb.dat 1,1 2,2 2,3 3,1 3,2 18,19 19,18 19,20 20,18 20,20 21,19 $ type glider.dat 2,2 3,3 3,4 4,2 4,3 2,39 2,41 3,39 3,40 4,40 $ type glidergun.dat 2,25 2,26 3,24 4,23 4,37 5,14 5,23 5,36 5,37 6,13 6,14 6,23 6,39 6,40 7,24 7,39 7,40 7,41 7,48 8,25 8,26 8,39 8,40 8,47 8,48 9,36 9,37 10,37 $ typ harvest2.dat 5,38 5,39 5,42 5,43 6,39 6,42 7,38 7,43 8,37 8,44 9,36 9,45 10,35 10,46 11,34 11,47 12,33 12,48 13,32 13,49 14,31 14,50 15,30 15,51 16,29 16,52 17,28 17,53 18,27 18,54 19,26 19,55 20,25 20,56 21,24 21,57 22,23 22,58 20,21 20,22 20,23 20,24 21,21 21,22 21,23 22,21 22,24 20,57 20,58 20,59 20,60 21,58 21,59 21,60 22,57 22,60 $ type spaceship.dat 19,3 19,4 19,5 19,6 20,2 20,6 21,6 22,5 $ type spaceshp2.dat 5,3 5,4 5,5 5,6 6,2 6,6 7,6 8,5 20,76 20,75 20,74 20,73 19,77 19,73 18,73 17,74 $ type spaceshps.dat 5,7 6,8 7,4 7,8 8,5 8,6 8,7 8,8 10,70 11,69 12,69 12,74 13,69 13,70 13,71 13,72 13,73 15,5 15,6 15,7 15,8 15,9 15,10 16,4 16,10 17,10 18,9 $ type virus.dat 2,37 1, 1 1, 2 2, 1 2, 2 4, 1 4, 2 5, 1 5, 2 7, 1 7, 2 8, 1 8, 2 10, 1 10, 2 11, 1 11, 2 13, 1 13, 2 14, 1 14, 2 16, 1 16, 2 17, 1 17, 2 19, 1 19, 2 20, 1 20, 2 22, 1 22, 2 23, 1 23, 2 1, 4 1, 5 2, 4 2, 5 4, 4 4, 5 5, 4 5, 5 7, 4 7, 5 8, 4 8, 5 10, 4 10, 5 11, 4 11, 5 13, 4 13, 5 14, 4 14, 5 16, 4 16, 5 17, 4 17, 5 19, 4 19, 5 20, 4 20, 5 22, 4 22, 5 23, 4 23, 5 1, 7 1, 8 2, 7 2, 8 4, 7 4, 8 5, 7 5, 8 7, 7 7, 8 8, 7 8, 8 10, 7 10, 8 11, 7 11, 8 13, 7 13, 8 14, 7 14, 8 16, 7 16, 8 17, 7 17, 8 19, 7 19, 8 20, 7 20, 8 22, 7 22, 8 23, 7 23, 8 1,10 1,11 2,10 2,11 4,10 4,11 5,10 5,11 7,10 7,11 8,10 8,11 10,10 10,11 11,10 11,11 13,10 13,11 14,10 14,11 16,10 16,11 17,10 17,11 19,10 19,11 20,10 20,11 22,10 22,11 23,10 23,11 1,13 1,14 2,13 2,14 4,13 4,14 5,13 5,14 7,13 7,14 8,13 8,14 10,13 10,14 11,13 11,14 13,13 13,14 14,13 14,14 16,13 16,14 17,13 17,14 19,13 19,14 20,13 20,14 22,13 22,14 23,13 23,14 1,16 1,17 2,16 2,17 4,16 4,17 5,16 5,17 7,16 7,17 8,16 8,17 10,16 10,17 11,16 11,17 13,16 13,17 14,16 14,17 16,16 16,17 17,16 17,17 19,16 19,17 20,16 20,17 22,16 22,17 23,16 23,17 1,19 1,20 2,19 2,20 4,19 4,20 5,19 5,20 7,19 7,20 8,19 8,20 10,19 10,20 11,19 11,20 13,19 13,20 14,19 14,20 16,19 16,20 17,19 17,20 19,19 19,20 20,19 20,20 22,19 22,20 23,19 23,20 1,22 1,23 2,22 2,23 4,22 4,23 5,22 5,23 7,22 7,23 8,22 8,23 10,22 10,23 11,22 11,23 13,22 13,23 14,22 14,23 16,22 16,23 17,22 17,23 19,22 19,23 20,22 20,23 22,22 22,23 23,22 23,23 1,25 1,26 2,25 2,26 4,25 4,26 5,25 5,26 7,25 7,26 8,25 8,26 10,25 10,26 11,25 11,26 13,25 13,26 14,25 14,26 16,25 16,26 17,25 17,26 19,25 19,26 20,25 20,26 22,25 22,26 23,25 23,26 1,28 1,29 2,28 2,29 4,28 4,29 5,28 5,29 7,28 7,29 8,28 8,29 10,28 10,29 11,28 11,29 13,28 13,29 14,28 14,29 16,28 16,29 17,28 17,29 19,28 19,29 20,28 20,29 22,28 22,29 23,28 23,29 1,31 1,32 2,31 2,32 4,31 4,32 5,31 5,32 7,31 7,32 8,31 8,32 10,31 10,32 11,31 11,32 13,31 13,32 14,31 14,32 16,31 16,32 17,31 17,32 19,31 19,32 20,31 20,32 22,31 22,32 23,31 23,32 1,34 1,35 2,34 2,35 4,34 4,35 5,34 5,35 7,34 7,35 8,34 8,35 10,34 10,35 11,34 11,35 13,34 13,35 14,34 14,35 16,34 16,35 17,34 17,35 19,34 19,35 20,34 20,35 22,34 22,35 23,34 23,35 1,37 1,38 2,37 2,38 4,37 4,38 5,37 5,38 7,37 7,38 8,37 8,38 10,37 10,38 11,37 11,38 13,37 13,38 14,37 14,38 16,37 16,38 17,37 17,38 19,37 19,38 20,37 20,38 22,37 22,38 23,37 23,38 1,40 1,41 2,40 2,41 4,40 4,41 5,40 5,41 7,40 7,41 8,40 8,41 10,40 10,41 11,40 11,41 13,40 13,41 14,40 14,41 16,40 16,41 17,40 17,41 19,40 19,41 20,40 20,41 22,40 22,41 23,40 23,41 1,43 1,44 2,43 2,44 4,43 4,44 5,43 5,44 7,43 7,44 8,43 8,44 10,43 10,44 11,43 11,44 13,43 13,44 14,43 14,44 16,43 16,44 17,43 17,44 19,43 19,44 20,43 20,44 22,43 22,44 23,43 23,44 1,46 1,47 2,46 2,47 4,46 4,47 5,46 5,47 7,46 7,47 8,46 8,47 10,46 10,47 11,46 11,47 13,46 13,47 14,46 14,47 16,46 16,47 17,46 17,47 19,46 19,47 20,46 20,47 22,46 22,47 23,46 23,47 1,49 1,50 2,49 2,50 4,49 4,50 5,49 5,50 7,49 7,50 8,49 8,50 10,49 10,50 11,49 11,50 13,49 13,50 14,49 14,50 16,49 16,50 17,49 17,50 19,49 19,50 20,49 20,50 22,49 22,50 23,49 23,50 1,52 1,53 2,52 2,53 4,52 4,53 5,52 5,53 7,52 7,53 8,52 8,53 10,52 10,53 11,52 11,53 13,52 13,53 14,52 14,53 16,52 16,53 17,52 17,53 19,52 19,53 20,52 20,53 22,52 22,53 23,52 23,53 1,55 1,56 2,55 2,56 4,55 4,56 5,55 5,56 7,55 7,56 8,55 8,56 10,55 10,56 11,55 11,56 13,55 13,56 14,55 14,56 16,55 16,56 17,55 17,56 19,55 19,56 20,55 20,56 22,55 22,56 23,55 23,56 1,58 1,59 2,58 2,59 4,58 4,59 5,58 5,59 7,58 7,59 8,58 8,59 10,58 10,59 11,58 11,59 13,58 13,59 14,58 14,59 16,58 16,59 17,58 17,59 19,58 19,59 20,58 20,59 22,58 22,59 23,58 23,59 1,61 1,62 2,61 2,62 4,61 4,62 5,61 5,62 7,61 7,62 8,61 8,62 10,61 10,62 11,61 11,62 13,61 13,62 14,61 14,62 16,61 16,62 17,61 17,62 19,61 19,62 20,61 20,62 22,61 22,62 23,61 23,62 1,64 1,65 2,64 2,65 4,64 4,65 5,64 5,65 7,64 7,65 8,64 8,65 10,64 10,65 11,64 11,65 13,64 13,65 14,64 14,65 16,64 16,65 17,64 17,65 19,64 19,65 20,64 20,65 22,64 22,65 23,64 23,65 1,67 1,68 2,67 2,68 4,67 4,68 5,67 5,68 7,67 7,68 8,67 8,68 10,67 10,68 11,67 11,68 13,67 13,68 14,67 14,68 16,67 16,68 17,67 17,68 19,67 19,68 20,67 20,68 22,67 22,68 23,67 23,68 1,70 1,71 2,70 2,71 4,70 4,71 5,70 5,71 7,70 7,71 8,70 8,71 10,70 10,71 11,70 11,71 13,70 13,71 14,70 14,71 16,70 16,71 17,70 17,71 19,70 19,71 20,70 20,71 22,70 22,71 23,70 23,71 1,73 1,74 2,73 2,74 4,73 4,74 5,73 5,74 7,73 7,74 8,73 8,74 10,73 10,74 11,73 11,74 13,73 13,74 14,73 14,74 16,73 16,74 17,73 17,74 19,73 19,74 20,73 20,74 22,73 22,74 23,73 23,74 1,76 1,77 2,76 2,77 4,76 4,77 5,76 5,77 7,76 7,77 8,76 8,77 10,76 10,77 11,76 11,77 13,76 13,77 14,76 14,77 16,76 16,77 17,76 17,77 19,76 19,77 20,76 20,77 22,76 22,77 23,76 23,77 1,79 1,80 2,79 2,80 4,79 4,80 5,79 5,80 7,79 7,80 8,79 8,80 10,79 10,80 11,79 11,80 13,79 13,80 14,79 14,80 16,79 16,80 17,79 17,80 19,79 19,80 20,79 20,80 22,79 22,80 23,79 23,80 $ type tumbler.dat 10,38 10,39 10,41 10,42 11,38 11,39 11,41 11,42 12,39 12,41 13,37 13,39 13,41 13,43 14,37 14,39 14,41 14,43 15,37 15,38 15,42 15,43 $ type toad.dat 11,39 11,40 11,41 12,38 12,39 12,40 $ type beacon.dat 10,40 10,41 11,40 11,41 12,38 12,39 13,38 13,39 $ type barber.dat 6,34 6,35 7,34 7,36 9,36 9,38 11,38 11,40 13,40 13,42 15,42 15,44 17,44 17,46 18,45 18,46 | |||||
101.12 | borrrrre-inggggg | CACHE::MARSHALL | beware the fractal dragon | Wed Sep 03 1986 11:16 | 13 |
RE .11: I don't mean to be rude, but isn't an 1100 line note a bit much? Maybe if you (everyone who has replied) actually "drew" these patterns, this note would be a little more interesting. / ( ___ ) /// / | |||||
101.13 | over 1000 generations before stability | ROXIE::OSMAN | and silos to fill before I feep, and silos to fill before I feep | Wed Sep 03 1986 18:06 | 10 |
The simplest pattern that has the most complicated history is this: * * * * * It's known as the "R pentomino". /Eric | |||||
101.14 | Hmm... | EAGLEA::DANTOWITZ | David .. DTN: 226-6957 | Wed Sep 03 1986 18:19 | 13 |
RE .12: I had the information, so I entered the note. I wasn't about to draw them all out (and perhaps make an error!) Boring or not it was the only form that I had the information in. I apologize that you had to hit "next screen" that many times! I hope that someone was helped by the reply. David | |||||
101.15 | Kinda grows on you... | JON::MORONEY | Madman | Wed Sep 03 1986 18:24 | 10 |
The thing I described in .10 starts out as follows: *** * * * * Don't know what it's called (if anything), but it grows for quite a while before getting stable. -Mike | |||||
101.16 | It's called ""pi"" | GWEN::OSMAN | and silos to fill before I feep, and silos to fill before I feep | Thu Sep 04 1986 16:06 | 8 |
The name for the * * * * * * * thingie is "PI". (Because it looks like the Greek letter) /Eric | |||||
101.17 | thankx | ECCLES::DOUG | doug dickinson | Tue Sep 23 1986 17:32 | 7 |
(this is fstvax::dickinson with a new node and username). i'd like to thank those of you who entered patterns, no matter what form they were in. (after all, we're all programmers, right? we can convert from one form to the other in seconds). dd | |||||
101.18 | Correction | EXIT26::STRATTON | I (heart) my wife | Fri Apr 21 1989 15:30 | 12 |
re .13 and > * * > * * > * > >It's known as the "R pentomino". It's actually the "F pentomino". Jim Stratton (just passing through) | |||||
101.19 | Rules of Life | IMTDEV::ROBERTS | Reason, Purpose, Self-esteem | Mon Mar 09 1992 16:28 | 7 |
If anyone has the rules for "Life," I'd like to try playing with it on Lotus/1-2-3. Just for the heck of it. Thanks, Dwayne | |||||
101.20 | TURRIS::LANGUAGES 99.* | ZFC::deramo | Colorado Rocky Mountain High | Mon Mar 09 1992 17:03 | 3 |
Try the languages conference at TURRIS::LANGUAGES, topic 99. Dan | |||||
101.21 | BEING::EDP | Always mount a scratch monkey. | Tue Mar 10 1992 13:55 | 23 | |
Re .19: Briefly, there is a rectangular board, so that each position has eight neighboring positions. Ideally, the board extends indefinitely, but most implementations give it some finite limit. Initially, some living "cells" are placed in positions on the board. Different starting patterns give different results. From the initial position, new generations evolve. Each position in each new generation is computed from the previous generation: If a position is empty (in the previous generation): If there are three living cells in neighboring positions, then a new cell comes to life in this position. Otherwise, the position remains empty. If a position contains a living cell: If there are two or three neighboring living cells, then the cell in this position remains alive. Otherwise, the cell dies; the position becomes empty. -- edp | |||||
101.22 | HANNAH::OSMAN | see HANNAH::IGLOO$:[OSMAN]ERIC.VT240 | Fri Mar 13 1992 17:40 | 20 | |
edp wrote: If a position is empty (in the previous generation): If there are three living cells in neighboring positions, then a new cell comes to life in this position. Otherwise, the position remains empty. If a position contains a living cell: If there are two or three neighboring living cells, then the cell in this position remains alive. Otherwise, the cell dies; the position becomes empty. It's important that you calculate both of the above without influence of the other. In other words, new cells coming to life don't affect the neighbor count of existing cells, and dying cells don't affect the neighbor count of empty cells. |