(*********************************************************************** Mathematica-Compatible Notebook This notebook can be used on any computer system with Mathematica 3.0, MathReader 3.0, or any compatible application. The data for the notebook starts with the line of stars above. To get the notebook into a Mathematica-compatible application, do one of the following: * Save the data starting with the line of stars above into a file with a name ending in .nb, then open the file inside the application; * Copy the data starting with the line of stars above to the clipboard, then use the Paste menu command inside the application. Data for notebooks contains only printable 7-bit ASCII and can be sent directly in email or through ftp in text mode. Newlines can be CR, LF or CRLF (Unix, Macintosh or MS-DOS style). NOTE: If you modify the data for this notebook not in a Mathematica- compatible application, you must delete the line below containing the word CacheID, otherwise Mathematica-compatible applications may try to use invalid cache data. For more information on notebooks and Mathematica-compatible applications, contact Wolfram Research: web: http://www.wolfram.com email: info@wolfram.com phone: +1-217-398-0700 (U.S.) Notebook reader applications are available free of charge from Wolfram Research. ***********************************************************************) (*CacheID: 232*) (*NotebookFileLineBreakTest NotebookFileLineBreakTest*) (*NotebookOptionsPosition[ 92089, 6116]*) (*NotebookOutlinePosition[ 117934, 7059]*) (* CellTagsIndexPosition[ 117890, 7055]*) (*WindowFrame->Normal*) Notebook[{ Cell[CellGroupData[{ Cell[TextData[StyleBox[ "A Cellular Automata\nProgramming Toolkit", FontSize->24]], "Title", Evaluatable->False, AspectRatioFixed->True, FontSize->14], Cell[TextData[ "Rule-based programming with Mathematica provides efficient templates for \ creating cellular automata, including the famous Game of Life."], "Subsubtitle", Evaluatable->False, TextAlignment->Left, AspectRatioFixed->True], Cell[TextData[" by Richard J. Gaylord and Kazume Nishidate"], "Input", TextAlignment->Center, AspectRatioFixed->True, FontSize->14], Cell[TextData[{ "Cellular automata can be used to model a broad range of natural phenomena \ [Gaylord and Nishidate 1996]. Here we exploit ", StyleBox["Mathematica", FontSlant->"Italic"], "'s rule-based programming paradigm and its APL-like ability to manipulate \ all of the elements of a matrix simultaneously. The result is a simple \ approach to developing CA programs that minimizes the programming needed for \ CA creation." }], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[CellGroupData[{ Cell[TextData["A scientific definition of a cellular automaton"], "Section", Evaluatable->False, AspectRatioFixed->True, FontSize->12, FontWeight->"Bold", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}], Cell[TextData[ "Scientists generally define a cellular automaton (CA) to be a discrete \ dynamical system, where space, time, and the states of the system are all \ discrete and have the following properties:"], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[TextData[ "- Space is represented by a regular lattice in one, two, or three \ dimensions."], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[TextData[ "- Each site, or cell, in (or on) the CA lattice can be in one of a finite \ number of states. The states are represented by integer number values.\n\n\ Note: A variant of the CA, known as a coupled map-lattice (CML) or \ cell-dynamic scheme (CDS), uses continuous lattice site values. In general, \ lattice site values can be integers, reals, or symbols, as well as tuplets \ (lists) with elements of any type, where the choice of value is determined by \ the kinds of system components that are being represented (eg., when objects \ in the system have more than one changeable attribute or property, the values \ of these quantities are grouped in a n-tuple). "], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[TextData[ "- The CA system evolves over a succession of time steps. The values of all \ of the sites in the lattice are updated synchronously in each time step.\n\n\ Note: While the values of all the sites are updated in each time step, the \ value of a site need not change in a given time step. "], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[TextData[{ "- Site values are updated using a set of rules known as a ", StyleBox["lookup table", FontSlant->"Italic"], " which take the values of the site and its neighboring sites into \ account. " }], "Text", Evaluatable->False, AspectRatioFixed->True] }, Open ]], Cell[CellGroupData[{ Cell[TextData["A computational definition of a cellular automaton"], "Section", Evaluatable->False, PageBreakBelow->Automatic, AspectRatioFixed->True, FontSize->12, FontWeight->"Bold", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}], Cell[TextData[ "Since a CA model is always expressed as an algorithm and is invariably \ implemented as a computer program, it's useful to give a computational \ definition of a CA. "], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[TextData[ "A CA is a computer program in which the following computations are \ performed, in order:"], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[TextData[ "- A matrix is created with specific element values (integer, real, symbol, \ or list)."], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[TextData[ "- A function, or a set of functions, that can be used to change the value of \ a matrix element, based on the values of the element and elements in its \ vicinity, is defined."], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[TextData[ "- The function is repeatedly applied to the matrix, each time \ simultaneously changing the values of all of the matrix elements."], "Text", Evaluatable->False, AspectRatioFixed->True] }, Open ]], Cell[CellGroupData[{ Cell[TextData["The CA lattice"], "Section", Evaluatable->False, PageBreakBelow->Automatic, AspectRatioFixed->True, FontSize->12, FontWeight->"Bold", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}], Cell[TextData[ "We usually work with two-dimensional cellular automata, employing a \ rectangular lattice. A simple square lattice is shown below."], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[CellGroupData[{ Cell[TextData["Table[\"+\", {5}, {5}] // MatrixForm "], "Input", AspectRatioFixed->True], Cell[OutputFormData[ "\<\ MatrixForm[{{\"+\", \"+\", \"+\", \"+\", \"+\"}, {\"+\", \"+\", \"+\", \ \"+\", \"+\"}, {\"+\", \"+\", \"+\", \"+\", \"+\"}, {\"+\", \"+\", \"+\", \"+\", \"+\"}, {\"+\", \"+\", \"+\", \"+\", \"+\"}}]\ \>", "\<\ + + + + + + + + + + + + + + + + + + + + + + + + +\ \>"], "Output", Evaluatable->False, AspectRatioFixed->True, FontColor->GrayLevel[0]] }, Open ]], Cell[TextData[ "Note: The use of a rectangular lattice does not limit us to CA's based on \ this type of lattice. CA's based on other two-dimensional lattice systems \ (eg., trigonal and hexagonal) can also be handled with this lattice [Gaylord \ and Nishidate 1996]."], "Text", CellMargins->{{Inherited, 49}, {Inherited, Inherited}}, Evaluatable->False, AspectRatioFixed->True], Cell[TextData[ "Each lattice site has a value. Here is a random Boolean lattice where sites \ have values of 0 or 1. "], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[CellGroupData[{ Cell[TextData[ "(randomBoolean = Table[Random[Integer], {5}, {5}])//MatrixForm"], "Input", AspectRatioFixed->True], Cell[OutputFormData["\<\ MatrixForm[{{0, 0, 1, 0, 1}, {1, 1, 0, 0, 0}, {0, 1, 0, 0, 0}, {1, 0, 1, 1, 0}, {0, 1, 1, 0, 0}}]\ \>", "\<\ 0 0 1 0 1 1 1 0 0 0 0 1 0 0 0 1 0 1 1 0 0 1 1 0 0\ \>"], "Output", Evaluatable->False, AspectRatioFixed->True, FontColor->GrayLevel[0]] }, Open ]], Cell[TextData[{ "A graphical representation of a CA is especially useful for observing \ patterns of structure and behavior that occur during the evolution of the CA. \ One way to visualize a CA lattice configuration is by using a ", StyleBox["RasterArray", FontFamily->"Courier"], " graphics where each lattice site value is transformed into an ", StyleBox["RGBColor", FontFamily->"Courier"], ".\n\nThe ", StyleBox["RasterArray", FontFamily->"Courier"], " representation of the above ", StyleBox["randomBoolean", FontFamily->"Courier"], " CA lattice is shown here:" }], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[CellGroupData[{ Cell[TextData[ "Show[ Graphics[ RasterArray[Reverse[randomBoolean] /. {1 -> RGBColor[1, 0, \ 0], \n0 -> RGBColor[0, 1, 0]}], AspectRatio -> Automatic, GridLines -> \ {Range[0, 5], Range[0, 5]}] ]"], "Input", CellMargins->{{Inherited, 46}, {Inherited, Inherited}}, PageBreakAbove->True, PageBreakWithin->Automatic, GroupPageBreakWithin->Automatic, AspectRatioFixed->True], Cell[GraphicsData["PostScript", "\<\ %! %%Creator: Mathematica %%AspectRatio: 1 MathPictureStart %% Graphics /Courier findfont 10 scalefont setfont % Scaling calculations 0.0238095 0.190476 0.0238095 0.190476 [ [ -0.0005 -0.0005 0 0 ] [ 1.0005 1.0005 0 0 ] ] MathScale % Start of Graphics 1 setlinecap 1 setlinejoin newpath [ ] 0 setdash 0 g p p 0 0 .5 r .001 w .02381 0 m .02381 1 L s P p 0 0 .5 r .001 w .21429 0 m .21429 1 L s P p 0 0 .5 r .001 w .40476 0 m .40476 1 L s P p 0 0 .5 r .001 w .59524 0 m .59524 1 L s P p 0 0 .5 r .001 w .78571 0 m .78571 1 L s P p 0 0 .5 r .001 w .97619 0 m .97619 1 L s P p 0 0 .5 r .001 w 0 .02381 m 1 .02381 L s P p 0 0 .5 r .001 w 0 .21429 m 1 .21429 L s P p 0 0 .5 r .001 w 0 .40476 m 1 .40476 L s P p 0 0 .5 r .001 w 0 .59524 m 1 .59524 L s P p 0 0 .5 r .001 w 0 .78571 m 1 .78571 L s P p 0 0 .5 r .001 w 0 .97619 m 1 .97619 L s P P 0 0 m 1 0 L 1 1 L 0 1 L closepath clip newpath % Start of colorimage (RGB) p .02381 .02381 translate .95238 .95238 scale 15 string 5 5 8 [5 0 0 5 0 0] { \tcurrentfile \t1 index \treadhexstring \tpop } false 3 Mcolorimage 00FF00FF0000FF000000FF0000FF00 FF000000FF00FF0000FF000000FF00 00FF00FF000000FF0000FF0000FF00 FF0000FF000000FF0000FF0000FF00 00FF0000FF00FF000000FF00FF0000 pop P % End of image % End of Graphics MathPictureEnd \ \>"], "Graphics", Evaluatable->False, PageBreakWithin->Automatic, GroupPageBreakWithin->Automatic, AspectRatioFixed->True, ImageSize->{158, 158}, ImageMargins->{{34, Inherited}, {Inherited, Inherited}}, ImageCacheValid->False] }, Open ]], Cell[TextData["(*Joe, can this be rendered as black and white*)"], "Input", AspectRatioFixed->True], Cell[TextData[{ "Note: The ", StyleBox["Reverse", FontFamily->"Courier"], " and ", StyleBox["GridLines", FontFamily->"Courier"], " commands were used to create the above figure in order to make it easier \ to see the correspondence between the sites in the ", StyleBox["randomBoolean", FontFamily->"Courier"], " matrix and the cells in the ", StyleBox["RasterArray", FontFamily->"Courier"], " graphic." }], "Text", Evaluatable->False, AspectRatioFixed->True] }, Open ]], Cell[CellGroupData[{ Cell[TextData["The neighborhood"], "Section", Evaluatable->False, PageBreakWithin->Automatic, PageBreakBelow->Automatic, AspectRatioFixed->True, FontSize->12, FontWeight->"Bold", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}], Cell[TextData[ "In updating the values of a site in a CA lattice, it is necessary to \ consider the site's value and the values of the sites in its vicinity. The \ sites considered in a particular CA will depend on what interactions are \ being modeled in the system. \n\nThe two most commonly used CA neighborhoods \ are shown below:"], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[TextData["The von Neumann neighborhood"], "Subsection", Evaluatable->False, AspectRatioFixed->True, FontSize->12], Cell[TextData[ " \n N \n | \n W - X - E \n | \n \ S \n "], "Text", Evaluatable->False, PageBreakWithin->False, AspectRatioFixed->True, FontFamily->"Courier"], Cell[TextData[{ "The set of five sites consisting of the X site and its four nearest \ neighbor sites lying north (above), east (right), south (below), and west \ (left) of X are known as the ", StyleBox["von Neumann", FontSlant->"Italic"], " neighborhood of X. \n" }], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[TextData["The Moore neighborhood"], "Subsection", Evaluatable->False, AspectRatioFixed->True, FontSize->12], Cell[TextData[ " \n NW N NE\n \\ | /\n W - X - E \n / | \ \\\n SW S SE\n "], "Text", Evaluatable->False, PageBreakWithin->False, AspectRatioFixed->True, FontFamily->"Courier"], Cell[TextData[{ "The set of nine sites consisting of the X site, the four nearest neighbor \ sites in its von Neumann neighborhood, and the four nearest neighbor sites \ lying northeast, southeast, southwest, and northwest of X are known as the ", StyleBox["Moore", FontSlant->"Italic"], " neighborhood of X. " }], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[TextData[ "Another neighborhood which we often use (eg., to model diffusive processes) \ is shown below"], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[TextData["The MvonN neighborhood"], "Subsection", Evaluatable->False, AspectRatioFixed->True, FontSize->12], Cell[TextData[ " \n Nn\n | \n NW N NE\n \ \\ | /\nWw - W - X - E - Ee \n / | \\\n SW S SE\n |\ \n Ss\n "], "Text", Evaluatable->False, PageBreakWithin->False, AspectRatioFixed->True, FontFamily->"Courier"], Cell[TextData[{ "This neighborhood consists of the nine sites in the Moore neighborhood of \ X, and the four next nearest neighbors lying in the north, east, south, and \ west direction. For lack of a better name, we refer to this as the ", StyleBox["MvonN", FontSlant->"Italic"], " neighborhood of X." }], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[TextData[ "Note: While the neighborhoods shown above are regularly-shaped, CA's can use \ irregularly-shaped neighborhoods [Gaylord and Nishidate 1996]."], "Text", Evaluatable->False, PageBreakBelow->True, AspectRatioFixed->True], Cell[TextData[ "To illustrate which sites lie in the Moore neighborhood of a lattice site, \ the Moore neighborhoods of the sites on a small rectangular lattice are \ illustrated below."], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[CellGroupData[{ Cell[TextData["(Lat = Partition[Range[25], 5]) // MatrixForm"], "Input", AspectRatioFixed->True], Cell[OutputFormData["\<\ MatrixForm[{{1, 2, 3, 4, 5}, {6, 7, 8, 9, 10}, {11, 12, 13, 14, 15}, {16, 17, 18, 19, 20}, {21, 22, 23, 24, 25}}]\ \>", "\<\ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25\ \>"], "Output", Evaluatable->False, AspectRatioFixed->True, FontColor->GrayLevel[0]] }, Open ]], Cell[CellGroupData[{ Cell[TextData[ "Wrap = Join[{Last[#]}, #, {First[#]}]&;\n(LatNeighborhoods = \ Partition[Wrap[Map[Wrap, Lat]], {3, 3}, {1, 1}]) // MatrixForm"], "Input", AspectRatioFixed->True], Cell[CellGroupData[{ Cell[OutputFormData["\<\ MatrixForm[{{{{25, 21, 22}, {5, 1, 2}, {10, 6, 7}}, {{21, 22, 23}, {1, 2, 3}, {6, 7, 8}}, {{22, 23, 24}, {2, 3, 4}, {7, 8, 9}}, {{23, 24, 25}, {3, 4, 5}, {8, 9, 10}}, {{24, 25, 21}, {4, 5, 1}, {9, 10, 6}}}, {{{5, 1, 2}, {10, 6, 7}, {15, 11, 12}}, {{1, 2, 3}, {6, 7, 8}, {11, 12, 13}}, {{2, 3, 4}, {7, 8, 9}, {12, 13, 14}}, {{3, 4, 5}, {8, 9, 10}, {13, 14, 15}}, {{4, 5, 1}, {9, 10, 6}, {14, 15, 11}}}, {{{10, 6, 7}, {15, 11, 12}, {20, 16, 17}}, {{6, 7, 8}, {11, 12, 13}, {16, 17, 18}}, {{7, 8, 9}, {12, 13, 14}, {17, 18, 19}}, {{8, 9, 10}, {13, 14, 15}, {18, 19, 20}}, {{9, 10, 6}, {14, 15, 11}, {19, 20, 16}}}, {{{15, 11, 12}, {20, 16, 17}, {25, 21, 22}}, {{11, 12, 13}, {16, 17, 18}, {21, 22, 23}}, {{12, 13, 14}, {17, 18, 19}, {22, 23, 24}}, {{13, 14, 15}, {18, 19, 20}, {23, 24, 25}}, {{14, 15, 11}, {19, 20, 16}, {24, 25, 21}}}, {{{20, 16, 17}, {25, 21, 22}, {5, 1, 2}}, {{16, 17, 18}, {21, 22, 23}, {1, 2, 3}}, {{17, 18, 19}, {22, 23, 24}, {2, 3, 4}}, {{18, 19, 20}, {23, 24, 25}, {3, 4, 5}}, {{19, 20, 16}, {24, 25, 21}, {4, 5, 1}}}}]\ \>", "\<\ 25 21 22 21 22 23 22 23 24 23 24 25 24 25 21 5 1 2 1 2 3 2 3 4 3 4 5 4 5 1 10 6 7 6 7 8 7 8 9 8 9 10 9 10 6 5 1 2 1 2 3 2 3 4 3 4 5 4 5 1 10 6 7 6 7 8 7 8 9 8 9 10 9 10 6 15 11 12 11 12 13 12 13 14 13 14 15 14 15 11 10 6 7 6 7 8 7 8 9 8 9 10 9 10 6 15 11 12 11 12 13 12 13 14 13 14 15 14 15 11 20 16 17 16 17 18 17 18 19 18 19 20 19 20 16 15 11 12 11 12 13 12 13 14 13 14 15 14 15 11 20 16 17 16 17 18 17 18 19 18 19 20 19 20 16 25 21 22 21 22 23 22 23 24 23 24 25 24 25 21 20 16 17 16 17 18 17 18 19 18 19 20 19 20 16 25 21 22 21 22 23 22 23 24 23 24 25 24 25 21 5 1 2 1 2 3 2 3 4 3 4 5 4 5 1\ \>"], "Output", Evaluatable->False, LineSpacing->{1, 0}, AspectRatioFixed->True, FontColor->GrayLevel[0]], Cell[CellGroupData[{ Cell[TextData[ "Looking the outermost neighborhoods in LatNeighborhoods, the nearest \ neighbors of sites lying at various locations along the borders of Lat can be \ identified as follows:"], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[TextData[ "- the nearest neighbor west of a site on the left border is the site in the \ same row on the right border.\n\n- the nearest neighbor northwest of a site \ on the left border is the site in the previous row on the right border.\n\n- \ the nearest neighbor southwest of a site on the left border is the site in \ the following row on the right border.\n\n- the nearest neighbor east of a \ site on the right border is the site in the same row on the left border. \n\n\ - the nearest neighbor northeast of a site on the right border is the site in \ the previous row on the left border.\n\n- the nearest neighbor southeast of a \ site on the right border is the site in the following row on the left border.\ \n\n- the nearest neighbor north of a site on the top border is the site in \ the same column on the bottom border.\n\n- the nearest neighbor northwest of \ a site on the top border is the site in the previous column on the bottom \ border.\n\n- the nearest neighbor northeast of a site on the top border is \ the site in the following column on the bottom border.\n\n- the nearest \ neighbor below a site on the bottom border is the site in the same column on \ the top border. \n\n- the nearest neighbor southwest of a site on the bottom \ border is the site in the previous column on the top border.\n\n- the nearest \ neighbor southeast of a site on the bottom border is the site in the \ following column on the top border.\n\n- the nearest neighbor northwest of \ the site in the top left corner is the site in the bottom right corner.\n\n- \ the nearest neighbor northeast of the site in the top right corner is the \ site in the bottom left corner.\n\n- the nearest neighbor southwest of the \ site in the bottom left corner is the site in the top right corner.\n\n- the \ nearest neighbor southeast of the site in the bottom right corner is the site \ in the top left corner."], "Text", CellMargins->{{Inherited, 36}, {Inherited, Inherited}}, Evaluatable->False, AspectRatioFixed->True] }, Closed]] }, Closed]] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[TextData["Dealing with boundaries: "], "Section", Evaluatable->False, AspectRatioFixed->True, FontSize->12, FontWeight->"Bold", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}], Cell[TextData[ "The boundary conditions that are used in a CA program depend on the specific \ physics of the system being modeled. Traditionally, the values of the lattice \ sites in the neighborhood of a border site are different for different \ boundary conditions. For example, under periodic boundary conditions, border \ sites have sites on the opposing border as neighbors (a site on the left \ border has the site in the same row on the right border as its left \ neighbor). Border sites under absorbing boundary conditions have no \ off-lattice neighbors (a site on the left border has no left neighbor). \n\n\ In our computations, the values of the lattice sites in the neighborhood of a \ border site are computed as described in the previous section under all \ boundary conditions. Different boundary conditions are dealt with by using \ appropriate values for sites along the lattice border."], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[CellGroupData[{ Cell[TextData["Periodic boundaries"], "Subsection", Evaluatable->False, AspectRatioFixed->True, FontSize->12], Cell[TextData[ "This boundary, commonly used in CA models of infinite systems, is the \ default boundary condition."], "Text", CellMargins->{{Inherited, 45}, {Inherited, Inherited}}, Evaluatable->False, AspectRatioFixed->True], Cell[TextData[ "Note: In a CA model of mobile objects moving in space, the wrap-around \ boundary condition results in objects that leave the system at one border \ location and re-enter at the opposing border location."], "Text", Evaluatable->False, AspectRatioFixed->True] }, Open ]], Cell[CellGroupData[{ Cell[TextData[ "Absorbing (open) and reflecting (closed) boundaries and sinks and sources"], "Subsection", Evaluatable->False, AspectRatioFixed->True, FontSize->12], Cell[TextData[ "These boundary conditions are implemented by using a unique value for border \ sites, different from the values used for interior sites, and writing rules \ that specify what happens to the value of a site in the neighborhood of a \ border site and that leave the value of a border site unchanged."], "Text", CellMargins->{{Inherited, 54}, {Inherited, Inherited}}, Evaluatable->False, AspectRatioFixed->True], Cell[TextData[ "Note: By using unique values for border sites, rules can be written for a CA \ model of mobile objects moving in space, which take an object occupying a \ site adjacent to a border site and freezes the object in place, turns the \ object around, or removes the object from the system or, if the site is \ empty, puts an object on the site."], "Text", Evaluatable->False, AspectRatioFixed->True] }, Open ]], Cell[CellGroupData[{ Cell[TextData["Moving boundaries"], "Subsection", Evaluatable->False, AspectRatioFixed->True, FontSize->12], Cell[TextData[ "One way to avoid having to deal with specific boundary conditions is to \ adjust the size of the CA lattice on each time step so that nothing \ interesting happens on the border sites."], "Text", CellMargins->{{Inherited, 45}, {Inherited, Inherited}}, Evaluatable->False, AspectRatioFixed->True] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[TextData["Update rules for the CA lattice sites"], "Section", Evaluatable->False, AspectRatioFixed->True, FontSize->12, FontWeight->"Bold", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}], Cell[TextData[ "Rules that update the value of a lattice site, based on the values of the \ sites in the neighborhood of the site, have one of the following forms, \ depending on the type of neighborhood. "], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[TextData[ "Rules that are applied to a site and the neighbor sites in its von Neumann \ neighborhood have the form:"], "Text", CellMargins->{{Inherited, 45}, {Inherited, Inherited}}, Evaluatable->False, AspectRatioFixed->True], Cell[TextData[{ StyleBox["update[site, N, E, S, W]", FontFamily->"Courier", FontWeight->"Plain"], StyleBox["", FontFamily->"Times", FontWeight->"Plain"] }], "Input", AspectRatioFixed->True], Cell[TextData[ "where the five arguments represent the value of the site and the values of \ the four nearest neighbors in the N, E, S, W directions."], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[TextData[ "Rules that are applied to a site and the neighbor sites in its Moore \ neighborhood have the form:"], "Text", CellMargins->{{Inherited, 45}, {Inherited, Inherited}}, Evaluatable->False, AspectRatioFixed->True], Cell[TextData[{ StyleBox["update[site, N, E, S, W, NE, SE, SW, NW]", FontFamily->"Courier", FontWeight->"Plain"], StyleBox["", FontFamily->"Times", FontWeight->"Plain"] }], "Input", AspectRatioFixed->True], Cell[TextData[ "where the nine arguments represent the value of the site, the values of the \ four nearest neighbors in the N, E, S, W directions, and the values of the \ four nearest neighbors in the NE, SE, SW, NW directions."], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[TextData[ "Rules that are applied to a site and the neighbor sites in its Moore \ neighborhood and the neighbor sites in its von Neumann neighborhood have the \ form:"], "Text", CellMargins->{{Inherited, 45}, {Inherited, Inherited}}, Evaluatable->False, AspectRatioFixed->True], Cell[TextData[{ StyleBox["update[site, N, E, S, W, NE, SE, SW, NW, Nn, Ee, Ss, Ww]", FontFamily->"Courier", FontWeight->"Plain"], StyleBox["", FontFamily->"Times", FontWeight->"Plain"] }], "Input", AspectRatioFixed->True], Cell[TextData[ "where the thirteen arguments represent the value of the site, the values of \ the four nearest neighbors in the N, E, S, W directions, the values of the \ four nearest neighbors in the NE, SE, SW, NW directions, and the values of \ its four next nearest neighbors in the N, E, S, W directions."], "Text", Evaluatable->False, AspectRatioFixed->True] }, Open ]], Cell[TextData[ "There is no formula for creating CA update rules.The update rules in some \ CA's may depend on the values of the neighborhood sites while the update \ rules in other CA's may depend on some quantity that is computed from the \ values of the neighborhood sites. Additionally, some CA's may use more than \ two or more sets of rules (which need not depend on the same set of \ neighborhood sites) that are applied consecutively. Many examples of update \ rule sets are given in [Gaylord and Nishidate, 1996]"], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[CellGroupData[{ Cell[TextData["Applying update rules to the CA lattice "], "Section", Evaluatable->False, AspectRatioFixed->True, FontSize->12, FontWeight->"Bold", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}], Cell[TextData[ "The following functions can be used to apply update rules to all of the \ sites of a CA lattice."], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[TextData[ "For a rule that depends on the values of sites in the von Neumann \ neighborhood of a site, we define"], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[TextData[{ StyleBox[ "VonNeumann[func__, lat_] := \n MapThread[func, \ Map[RotateRight[lat, #]&, {{0, 0}, {1, 0}, {0, -1}, {-1, 0}, {0, 1}}], 2] ", FontFamily->"Courier", FontWeight->"Plain"], StyleBox["", FontFamily->"Times", FontWeight->"Plain"] }], "Input", CellMargins->{{Inherited, 35}, {Inherited, Inherited}}, AspectRatioFixed->True], Cell[TextData[ "(*Joe, Richard's formatting looked better than this in Mma3.0. So maybe you \ can align these a little better. Also in code below. David *)"], "Input", AspectRatioFixed->True], Cell[TextData[ "and apply this function to the CA lattice using the anonymous function"], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[TextData["VonNeumann[update, #]&"], "Text", Evaluatable->False, AspectRatioFixed->True, FontFamily->"Courier"], Cell[TextData[ "For a rule that depends on the values of sites in the Moore neighborhood of \ a site, we define"], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[TextData[ "Moore[func__, lat_] := \n MapThread[func, \n \ Map[RotateRight[lat, #]&, \n {{0, 0}, {1, 0}, {0, \ -1}, {-1, 0}, {0, 1}, {1, -1}, {-1, -1}, {-1, 1}, {1, 1}}], 2]"], "Text", CellMargins->{{Inherited, 35}, {Inherited, Inherited}}, Evaluatable->False, AspectRatioFixed->True, FontFamily->"Courier"], Cell[TextData[ "and apply this function to the CA lattice using the anonymous function"], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[TextData["Moore[update, #]&"], "Text", Evaluatable->False, AspectRatioFixed->True, FontFamily->"Courier"], Cell[TextData[ "For a rule that depends on the values of sites in the MvonN neighborhood of \ a site, we define"], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[TextData[ "MvonN[func__, lat_] := \n MapThread[func, Map[RotateRight[lat, #]&, \ {{0, 0}, {1, 0}, {0, -1}, {-1, 0}, {0, 1}, {1, -1}, {-1, -1}, \n \ {-1, 1}, \ {1, 1}, {2, 0}, {0, -2}, {-2, 0}, {0, 2}}], 2]"], "Text", CellMargins->{{Inherited, 35}, {Inherited, Inherited}}, Evaluatable->False, AspectRatioFixed->True, FontFamily->"Courier"], Cell[TextData[ "and apply this function to the CA lattice using the anonymous function"], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[TextData["MvonN[update, #]&"], "Text", Evaluatable->False, AspectRatioFixed->True, FontFamily->"Courier"], Cell[TextData[ "The effect of applying these functions to a CA lattice can be seen by using \ a simple 3 by 3 matrix."], "Text", CellMargins->{{Inherited, 47}, {Inherited, Inherited}}, Evaluatable->False, AspectRatioFixed->True], Cell[CellGroupData[{ Cell[TextData[{ StyleBox["(mat3 = Partition[Range[9], 3]) // MatrixForm", FontFamily->"Courier"], StyleBox["", FontFamily->"Times", FontWeight->"Plain"] }], "Input", AspectRatioFixed->True], Cell[OutputFormData["\<\ MatrixForm[{{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}]\ \>", "\<\ 1 2 3 4 5 6 7 8 9\ \>"], "Output", Evaluatable->False, AspectRatioFixed->True, FontColor->GrayLevel[0]] }, Open ]], Cell[TextData[{ "Applying an undefined function, ", StyleBox["g", FontSlant->"Italic"], ", to ", StyleBox["mat3", FontFamily->"Courier"], " using the VonNeumann function gives" }], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[CellGroupData[{ Cell[TextData[{ StyleBox["VonNeumann[g, #]&[mat3] ", FontFamily->"Courier"], StyleBox["", FontFamily->"Times", FontWeight->"Plain"] }], "Input", AspectRatioFixed->True], Cell[TextData[ "{{g[1, 7, 2, 4, 3], g[2, 8, 3, 5, 1], g[3, 9, 1, 6, 2]}, \n \n {g[4, 1, 5, \ 7, 6], g[5, 2, 6, 8, 4], g[6, 3, 4, 9, 5]}, \n \n {g[7, 4, 8, 1, 9], g[8, 5, \ 9, 2, 7], g[9, 6, 7, 3, 8]}}"], "Output", CellMargins->{{Inherited, 37}, {Inherited, Inherited}}, Evaluatable->False, AspectRatioFixed->True, FontColor->GrayLevel[0]] }, Open ]], Cell[TextData[ "The result is a 3-by-3 matrix in which each element is a function call to \ five arguments. To identify the arguments in these function calls, we can \ focus on the center site in the following 5-by-5 matrix:"], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[CellGroupData[{ Cell[TextData[{ StyleBox[ "(mat5 = Partition[Range[25], 5] /.{13 -> site, 8 ->N, 14 -> E, 18 -> S, 12 \ -> W, 9 -> NE, 19 -> SE, 17 -> SW, 7 -> NW, 3 -> Nn, 15 -> Ee, 23 ->Ss, 11 \ -> Ww}) // MatrixForm ", FontFamily->"Courier"], StyleBox["", FontFamily->"Times", FontWeight->"Plain"] }], "Input", AspectRatioFixed->True], Cell[OutputFormData[ "\<\ MatrixForm[{{1, 2, Nn, 4, 5}, {6, NW, N, NE, 10}, {Ww, W, site, E, Ee}, {16, SW, S, SE, 20}, {21, 22, Ss, 24, 25}}]\ \>", "\<\ 1 2 Nn 4 5 6 NW N NE 10 Ww W site E Ee 16 SW S SE 20 21 22 Ss 24 25\ \>"], "Output", Evaluatable->False, AspectRatioFixed->True, FontColor->GrayLevel[0]] }, Open ]], Cell[TextData[{ "Applying each of the three anonymous functions defined above and the \ undefined function, ", StyleBox["g", FontSlant->"Italic"], ", to ", StyleBox["mat5", FontFamily->"Courier"], " gives the following values for the center site in the resulting matrix:" }], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[CellGroupData[{ Cell[TextData[{ "VonNeumann[g, #]&[mat5][[3, 3]]", StyleBox["", FontWeight->"Plain"] }], "Input", AspectRatioFixed->True, FontFamily->"Courier"], Cell[OutputFormData["\<\ g[site, N, E, S, W]\ \>", "\<\ g[site, N, E, S, W]\ \>"], "Output", Evaluatable->False, AspectRatioFixed->True, FontColor->GrayLevel[0]] }, Open ]], Cell[CellGroupData[{ Cell[TextData[{ "Moore[g, #]& [mat5][[3, 3]]", StyleBox["", FontWeight->"Plain"] }], "Input", AspectRatioFixed->True, FontFamily->"Courier"], Cell[OutputFormData["\<\ g[site, N, E, S, W, NE, SE, SW, NW]\ \>", "\<\ g[site, N, E, S, W, NE, SE, SW, NW]\ \>"], "Output", Evaluatable->False, PageBreakBelow->False, AspectRatioFixed->True, FontColor->GrayLevel[0]] }, Open ]], Cell[CellGroupData[{ Cell[TextData[{ "MvonN[g, #]&[mat5][[3, 3]] ", StyleBox["", FontWeight->"Plain"] }], "Input", AspectRatioFixed->True, FontFamily->"Courier"], Cell[OutputFormData[ "\<\ g[site, N, E, S, W, NE, SE, SW, NW, Nn, Ee, Ss, Ww]\ \>", "\<\ g[site, N, E, S, W, NE, SE, SW, NW, Nn, Ee, Ss, Ww]\ \>"], "Output", Evaluatable->False, AspectRatioFixed->True, FontColor->GrayLevel[0]] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[TextData["CA Evolution "], "Section", Evaluatable->False, AspectRatioFixed->True, FontSize->12, FontWeight->"Bold", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}], Cell[TextData[ "The CA can be made to evolve over a specified number of time steps by \ repeatedly applying one of the anonymous functions given above to the CA \ lattice. This is done using the general form"], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[TextData[StyleBox["NestList[VonNeumann[update, #]&, initConfig, t],", FontFamily->"Courier", FontWeight->"Plain"]], "Input", AspectRatioFixed->True], Cell[TextData[{ "where ", StyleBox["t", FontSlant->"Italic"], " represents the specified number of time steps. If we expect that the CA \ may, at some point, stop evolving permanently (as opposed to a temporary \ pause), we can use the ", StyleBox["FixedPoint", FontFamily->"Courier"], " function with three argument values to halt the evolution of the CA when \ the system becomes invariant. This is done using the general form" }], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[TextData[{ StyleBox["FixedPointList[Moore[update, #]&, initConfig, t]", FontFamily->"Courier", FontWeight->"Plain"], StyleBox["", FontFamily->"Times", FontWeight->"Plain"] }], "Input", AspectRatioFixed->True], Cell[TextData[{ "If we wish the CA program to stop running when either a certain condition \ is met, the system becomes static, or a specified number of time steps have \ taken place, we can use the ", StyleBox["FixedPoint", FontFamily->"Courier"], " operation with four arguments, the last of which is the ", StyleBox["SameTest", FontFamily->"Courier"], " option. This is done using the general form" }], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[TextData[{ StyleBox[ "FixedPointList[MvonN[update, #]&, initconfig, t, SameTest -> ...]", FontFamily->"Courier", FontWeight->"Plain"], StyleBox["", FontFamily->"Times", FontWeight->"Plain"] }], "Input", CellMargins->{{Inherited, 36}, {Inherited, Inherited}}, AspectRatioFixed->True], Cell[TextData[{ "Note: If we are only interested in the final configuration of the CA \ lattice, and not the intermediate configurations, we can use the ", StyleBox["Nest", FontFamily->"Courier"], " and", StyleBox[" FixedPoint", FontFamily->"Courier"], " functions." }], "Text", Evaluatable->False, AspectRatioFixed->True] }, Open ]], Cell[CellGroupData[{ Cell[TextData["Watching the CA evolve"], "Section", Evaluatable->False, AspectRatioFixed->True, FontSize->12, FontWeight->"Bold", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}], Cell[TextData[ "We can create a flip-card animation of the evolution of a CA using the \ following commands:"], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[TextData[{ StyleBox[ "ShowCA[list_, opts___]:=\n Map[Show[Graphics[RasterArray[list[[#]] /. \n \ {val1 -> RGBColor[x1, y1, z1], \n \ val2 -> RGBColor[x2, y2, z2], ...}] ], \n opts]&,\n \ Range[Length[list]] ] ", FontFamily->"Courier"], " " }], "Text", Evaluatable->False, PageBreakAbove->True, AspectRatioFixed->True] }, Open ]], Cell[CellGroupData[{ Cell[TextData["Example: The Game of Life CA"], "Section", Evaluatable->False, AspectRatioFixed->True, FontSize->12, FontWeight->"Bold", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}], Cell[TextData[{ "The Game of Life CA is the most well-known of all cellular automata \ [Gardner 1983]. It is played on an ", StyleBox["n", FontSlant->"Italic"], "-by-", StyleBox["n", FontSlant->"Italic"], " square lattice with periodic boundaries. Each lattice site has a value of \ either 0 or 1 and a lattice site whose value is 1 is said to be ", StyleBox["alive", FontSlant->"Italic"], " and a lattice site whose value is 0 is said to be ", StyleBox["dead", FontSlant->"Italic"], ". The initial lattice configuration is usually a random distribution of \ dead and living sites (although the lattice may be seeded with specific \ life-forms [see Gaylord and Nishidate, 1996]). The values of the sites of the \ lattice are updated for a fixed number of time steps or until the lattice \ configuration stops changing, using update rules that are based on values of \ a site and the nearest neighbor sites in its Moore neighborhood.\n\nA general \ template for the Game of Life CA program, lacking only the specification of \ the update rules, can be written as:" }], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[TextData[ "OblaDeOblaDa[n_, t_]:= \n Module[{initConfig, Moore, update},\n\t\n\t \ initConfig = Table[Random[Integer],{n},{n}] ;\n\t\n update...\n \ update...\n .\n .\n .\n update...\n \ \n Moore[func__, lat_] := \n \ MapThread[func, Map[RotateRight[lat, #]&, \n \ {{0, 0}, {1, 0}, {0, -1}, {-1, 0}, {0, 1}, {1, -1}, {-1, -1}, {-1, 1}, {1, \ 1}}], 2];\n \n FixedPointList[Moore[update, #]&, \ initConfig, t] ]"], "Text", CellMargins->{{Inherited, 56}, {Inherited, Inherited}}, Evaluatable->False, AspectRatioFixed->True, FontFamily->"Courier"], Cell[CellGroupData[{ Cell[TextData[" The Game of Life update rules"], "Subsection", Evaluatable->False, AspectRatioFixed->True, FontSize->12, FontWeight->"Bold", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}], Cell[TextData[ "The life and death update rules for updating a lattice site in the Game of \ Life CA are as follows:"], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[TextData[ "- any site (dead or alive) with three living nearest neighbor sites stays \ alive or is born.\n- a living site with two living nearest neighbor sites \ remains alive. \n- all other sites either remain dead or die. "], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[TextData[{ "Traditionally, the implementation of these update rules involves \ determining the number of occurrences of 1's in the Moore neighborhood of a \ site [Gaylord and Nishidate 1996]. However, it is much more efficient, in \ terms of the runtime speed of the program, to write life and death update \ rules specific to each of the 2", StyleBox["9 ", FontVariations->{"CompatibilityType"->"Superscript"}], "possible", StyleBox[" ", FontVariations->{"CompatibilityType"->"Superscript"}], "Moore neighborhood configurations (eg., ", StyleBox["update[1, 0, 1, 0, 1, 1, 0, 1, 1] = 0", FontFamily->"Courier"], "). Since typing in 512 update rules requires too much work, we will have ", StyleBox["Mathematica", FontSlant->"Italic"], " generate a look-up table of these rules for us." }], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[TextData[{ "Note: The code used in the next section to generate the 512 rewrite rules \ of the Game of Life, is a bit advanced (and demonstrates some of ", StyleBox["Mathematica", FontSlant->"Italic"], "'s power). In most CA's [Gaylord and Nishidate 1996], the rule sets are \ considerably smaller and can be entered manually by the programmer rather \ than generated by the program itself." }], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[CellGroupData[{ Cell[TextData[ " Creating the Game of Life look-up rule table"], "Subsubsection", Evaluatable->False, AspectRatioFixed->True, FontWeight->"Bold", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}], Cell[TextData[ "The set of all possible Moore neighborhood configurations is computed \ using"], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[TextData[StyleBox[ "LiveConfigs = Join[Map[Join[{0}, #]&, Permutations[{1, 1, 1, 0, 0, 0, 0, \ 0}]], \n Map[Join[{1}, #]&, Permutations[{1, \ 1, 1, 0, 0, 0, 0, 0}]], \n Map[Join[{1}, #]&, \ Permutations[{1, 1, 0, 0, 0, 0, 0, 0}]] ];", FontFamily->"Courier", FontSize->9, FontWeight->"Plain"]], "Input", TextAlignment->Right, AspectRatioFixed->True], Cell[TextData[{ StyleBox[ "DieConfigs = Complement[Flatten[Map[Permutations, \n \ Map[Join[Table[1, {#}], Table[0, {(9 - #)}] ]&, Range[0, 9]]], 1], \ LiveConfigs];", FontFamily->"Courier", FontWeight->"Plain"], StyleBox["", FontFamily->"Times", FontWeight->"Plain"] }], "Input", AspectRatioFixed->True], Cell[TextData[{ StyleBox["LiveConfigs", FontFamily->"Courier"], " and ", StyleBox["DieConfigs", FontFamily->"Courier"], " are nested lists. ", StyleBox["LiveConfigs", FontFamily->"Courier"], " contains lists of those Moore neighborhood configurations whose center \ site value will be updated to a value of 1 and ", StyleBox["DieConfigs", FontFamily->"Courier"], " contains lists of those Moore neighborhood configurations whose center \ site value will be updated to a value of 0 (in all of these lists, the center \ site value is given by the first element in the list). We can calculate the \ number of life-giving configurations and death-taking configurations, \ respectively." }], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[CellGroupData[{ Cell[TextData[{ StyleBox["Map[Length, {LiveConfigs, DieConfigs}]", FontFamily->"Times"], StyleBox["", FontFamily->"Times", FontWeight->"Plain"] }], "Input", AspectRatioFixed->True], Cell[OutputFormData["\<\ {140, 372}\ \>", "\<\ {140, 372}\ \>"], "Output", Evaluatable->False, AspectRatioFixed->True, FontColor->GrayLevel[0]] }, Open ]], Cell[TextData[{ "We now create the update rules for each of the ", StyleBox["LiveConfigs", FontFamily->"Courier"], " and ", StyleBox["DieConfigs", FontFamily->"Courier"], " configurations as follows: " }], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[TextData["Apply[(update[##] = 1)&, LiveConfigs, 1]; "], "Input", AspectRatioFixed->True, FontWeight->"Bold", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}], Cell[TextData["Apply[(update[##] = 0)&, DieConfigs, 1]; "], "Input", AspectRatioFixed->True, FontWeight->"Bold", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}], Cell[TextData[{ "We show how this works below for a set of nine ", StyleBox["DieConfigs", FontFamily->"Courier"], " configuration." }], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[TextData[ "Apply[(update[##] = 0)&, Permutations[{1, 1, 1, 1, 1, 1, 1, 1, 0}], 1]; "], "Input", AspectRatioFixed->True, FontWeight->"Bold", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}], Cell[CellGroupData[{ Cell[TextData["?update "], "Input", AspectRatioFixed->True, FontWeight->"Bold", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}], Cell[TextData["Global`update"], "Print", Evaluatable->False, AspectRatioFixed->True, FontColor->GrayLevel[0]], Cell[TextData[ "update[0, 1, 1, 1, 1, 1, 1, 1, 1] = 0\n \nupdate[1, 0, 1, 1, 1, 1, 1, 1, 1] \ = 0\n \nupdate[1, 1, 0, 1, 1, 1, 1, 1, 1] = 0\n \nupdate[1, 1, 1, 0, 1, 1, 1, \ 1, 1] = 0\n \nupdate[1, 1, 1, 1, 0, 1, 1, 1, 1] = 0\n \nupdate[1, 1, 1, 1, 1, \ 0, 1, 1, 1] = 0\n \nupdate[1, 1, 1, 1, 1, 1, 0, 1, 1] = 0\n \nupdate[1, 1, 1, \ 1, 1, 1, 1, 0, 1] = 0\n \nupdate[1, 1, 1, 1, 1, 1, 1, 1, 0] = 0"], "Print", Evaluatable->False, AspectRatioFixed->True, FontColor->GrayLevel[0]] }, Open ]], Cell[TextData[ "It would take too much space to print (and be too boring to read) all 512 \ update rules, but we can check that we have, in fact, generated all of the \ update rules."], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[CellGroupData[{ Cell[TextData[{ StyleBox["Length[DownValues[update]]", FontFamily->"Times"], StyleBox["", FontFamily->"Times", FontWeight->"Plain"] }], "Input", AspectRatioFixed->True], Cell[OutputFormData["\<\ 512\ \>", "\<\ 512\ \>"], "Output", Evaluatable->False, AspectRatioFixed->True, FontColor->GrayLevel[0]] }, Open ]], Cell[TextData[ "Overall then, the following set of commands creates the entire set of 512 \ update rules for the Game of Life CA:"], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[TextData[ "(*Make WRICourier, or what we are using. I'll write you about this. David \ *)"], "Input", AspectRatioFixed->True], Cell[TextData[ "LiveConfigs = Join[Map[Join[{0}, #]&, Permutations[{1, 1, 1, 0, 0, 0, 0, \ 0}]], \n Map[Join[{1}, #]&, Permutations[{1, \ 1, 1, 0, 0, 0, 0, 0}]], \n Map[Join[{1}, #]&, \ Permutations[{1, 1, 0, 0, 0, 0, 0, 0}]] ];\nDieConfigs = \ Complement[Flatten[Map[Permutations, \n \ Map[Join[Table[1, {#}], Table[0, {(9 - #)}] ]&, Range[0, 9]]], 1], \ LiveConfigs]; \nApply[(update[##] = 1)&, LiveConfigs, 1]; \n\ Apply[(update[##] = 0)&, DieConfigs, 1]; "], "Text", CellMargins->{{Inherited, 46}, {Inherited, Inherited}}, Evaluatable->False, AspectRatioFixed->True] }, Open ]], Cell[TextData[ "To create the Game of Life CA, all we have to do is to insert these commands \ into the program template."], "Text", Evaluatable->False, AspectRatioFixed->True] }, Open ]], Cell[CellGroupData[{ Cell[TextData[" The Program "], "Subsection", Evaluatable->False, AspectRatioFixed->True, FontSize->12, FontWeight->"Bold", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}], Cell[CellGroupData[{ Cell[TextData[ "OblaDeOblaDa[n_, t_]:= \n Module[{initConfig, Moore, update, LiveConfigs, \ DieConfigs},\n\t\n \tinitConfig = Table[Random[Integer],{n},{n}] ;\n\t\n \ LiveConfigs = Join[Map[Join[{0}, #]&, Permutations[{1, 1, 1, 0, 0, 0, 0, \ 0}]], \n Map[Join[{1}, #]&, \ Permutations[{1, 1, 1, 0, 0, 0, 0, 0}]], \n \ Map[Join[{1}, #]&, Permutations[{1, 1, 0, 0, 0, 0, 0, 0}]] ];\n \ DieConfigs = Complement[Flatten[Map[Permutations, \n \ Map[Join[Table[1, {#}], Table[0, {(9 - #)}] ]&, Range[0, 9]]], 1], \ LiveConfigs]; \n Apply[(update[##] = 1)&, LiveConfigs, 1]; \n \ Apply[(update[##] = 0)&, DieConfigs, 1]; \n \n Moore[func__, \ lat_] := \n MapThread[func, Map[RotateRight[lat, #]&, \n \ {{0, 0}, {1, 0}, {0, -1}, {-1, 0}, {0, 1}, {1, -1}, \ {-1, -1}, {-1, 1}, {1, 1}}], 2];\n\n FixedPointList[Moore[update, #]&, \ initConfig, t] ]"], "Input", CellMargins->{{Inherited, 46}, {Inherited, Inherited}}, AspectRatioFixed->True], Cell[TextData[ "General::spell1: \n Possible spelling error: new symbol name \"update\"\n \ is similar to existing symbol \"Update\"."], "Message", Evaluatable->False, AspectRatioFixed->True, FontColor->GrayLevel[0]] }, Open ]] }, Open ]] }, Open ]] }, Open ]], Cell[TextData[{ "The following graphics show the state of a Life game at times ", StyleBox["t", FontSlant->"Italic"], " = 1, ", StyleBox["t", FontSlant->"Italic"], " = 64, and ", StyleBox["t", FontSlant->"Italic"], " = 128, played on a 32-by-32 grid." }], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[GraphicsData["PostScript", "\<\ %! %%Creator: Mathematica %%AspectRatio: 1 MathPictureStart %% DensityGraphics /Courier findfont 10 scalefont setfont % Scaling calculations 0.0192308 0.0300481 0.0192308 0.0300481 [ [(0)] .01923 0 0 2 Msboxa [(5)] .16947 0 0 2 Msboxa [(10)] .31971 0 0 2 Msboxa [(15)] .46995 0 0 2 Msboxa [(20)] .62019 0 0 2 Msboxa [(25)] .77043 0 0 2 Msboxa [(30)] .92067 0 0 2 Msboxa [(0)] -0.0125 .01923 1 0 Msboxa [(5)] -0.0125 .16947 1 0 Msboxa [(10)] -0.0125 .31971 1 0 Msboxa [(15)] -0.0125 .46995 1 0 Msboxa [(20)] -0.0125 .62019 1 0 Msboxa [(25)] -0.0125 .77043 1 0 Msboxa [(30)] -0.0125 .92067 1 0 Msboxa [ -0.001 -0.001 0 0 ] [ 1.001 1.001 0 0 ] ] MathScale % Start of Graphics 1 setlinecap 1 setlinejoin newpath [ ] 0 setdash 0 g p p .002 w .01923 0 m .01923 .00625 L s P [(0)] .01923 0 0 2 Mshowa p .002 w .16947 0 m .16947 .00625 L s P [(5)] .16947 0 0 2 Mshowa p .002 w .31971 0 m .31971 .00625 L s P [(10)] .31971 0 0 2 Mshowa p .002 w .46995 0 m .46995 .00625 L s P [(15)] .46995 0 0 2 Mshowa p .002 w .62019 0 m .62019 .00625 L s P [(20)] .62019 0 0 2 Mshowa p .002 w .77043 0 m .77043 .00625 L s P [(25)] .77043 0 0 2 Mshowa p .002 w .92067 0 m .92067 .00625 L s P [(30)] .92067 0 0 2 Mshowa p .001 w .04928 0 m .04928 .00375 L s P p .001 w .07933 0 m .07933 .00375 L s P p .001 w .10938 0 m .10938 .00375 L s P p .001 w .13942 0 m .13942 .00375 L s P p .001 w .19952 0 m .19952 .00375 L s P p .001 w .22957 0 m .22957 .00375 L s P p .001 w .25962 0 m .25962 .00375 L s P p .001 w .28966 0 m .28966 .00375 L s P p .001 w .34976 0 m .34976 .00375 L s P p .001 w .37981 0 m .37981 .00375 L s P p .001 w .40986 0 m .40986 .00375 L s P p .001 w .4399 0 m .4399 .00375 L s P p .001 w .5 0 m .5 .00375 L s P p .001 w .53005 0 m .53005 .00375 L s P p .001 w .5601 0 m .5601 .00375 L s P p .001 w .59014 0 m .59014 .00375 L s P p .001 w .65024 0 m .65024 .00375 L s P p .001 w .68029 0 m .68029 .00375 L s P p .001 w .71034 0 m .71034 .00375 L s P p .001 w .74038 0 m .74038 .00375 L s P p .001 w .80048 0 m .80048 .00375 L s P p .001 w .83053 0 m .83053 .00375 L s P p .001 w .86058 0 m .86058 .00375 L s P p .001 w .89063 0 m .89063 .00375 L s P p .001 w .95072 0 m .95072 .00375 L s P p .001 w .98077 0 m .98077 .00375 L s P p .002 w 0 0 m 1 0 L s P p .002 w 0 .01923 m .00625 .01923 L s P [(0)] -0.0125 .01923 1 0 Mshowa p .002 w 0 .16947 m .00625 .16947 L s P [(5)] -0.0125 .16947 1 0 Mshowa p .002 w 0 .31971 m .00625 .31971 L s P [(10)] -0.0125 .31971 1 0 Mshowa p .002 w 0 .46995 m .00625 .46995 L s P [(15)] -0.0125 .46995 1 0 Mshowa p .002 w 0 .62019 m .00625 .62019 L s P [(20)] -0.0125 .62019 1 0 Mshowa p .002 w 0 .77043 m .00625 .77043 L s P [(25)] -0.0125 .77043 1 0 Mshowa p .002 w 0 .92067 m .00625 .92067 L s P [(30)] -0.0125 .92067 1 0 Mshowa p .001 w 0 .04928 m .00375 .04928 L s P p .001 w 0 .07933 m .00375 .07933 L s P p .001 w 0 .10938 m .00375 .10938 L s P p .001 w 0 .13942 m .00375 .13942 L s P p .001 w 0 .19952 m .00375 .19952 L s P p .001 w 0 .22957 m .00375 .22957 L s P p .001 w 0 .25962 m .00375 .25962 L s P p .001 w 0 .28966 m .00375 .28966 L s P p .001 w 0 .34976 m .00375 .34976 L s P p .001 w 0 .37981 m .00375 .37981 L s P p .001 w 0 .40986 m .00375 .40986 L s P p .001 w 0 .4399 m .00375 .4399 L s P p .001 w 0 .5 m .00375 .5 L s P p .001 w 0 .53005 m .00375 .53005 L s P p .001 w 0 .5601 m .00375 .5601 L s P p .001 w 0 .59014 m .00375 .59014 L s P p .001 w 0 .65024 m .00375 .65024 L s P p .001 w 0 .68029 m .00375 .68029 L s P p .001 w 0 .71034 m .00375 .71034 L s P p .001 w 0 .74038 m .00375 .74038 L s P p .001 w 0 .80048 m .00375 .80048 L s P p .001 w 0 .83053 m .00375 .83053 L s P p .001 w 0 .86058 m .00375 .86058 L s P p .001 w 0 .89063 m .00375 .89063 L s P p .001 w 0 .95072 m .00375 .95072 L s P p .001 w 0 .98077 m .00375 .98077 L s P p .002 w 0 0 m 0 1 L s P P p p .002 w .01923 .99375 m .01923 1 L s P p .002 w .16947 .99375 m .16947 1 L s P p .002 w .31971 .99375 m .31971 1 L s P p .002 w .46995 .99375 m .46995 1 L s P p .002 w .62019 .99375 m .62019 1 L s P p .002 w .77043 .99375 m .77043 1 L s P p .002 w .92067 .99375 m .92067 1 L s P p .001 w .04928 .99625 m .04928 1 L s P p .001 w .07933 .99625 m .07933 1 L s P p .001 w .10938 .99625 m .10938 1 L s P p .001 w .13942 .99625 m .13942 1 L s P p .001 w .19952 .99625 m .19952 1 L s P p .001 w .22957 .99625 m .22957 1 L s P p .001 w .25962 .99625 m .25962 1 L s P p .001 w .28966 .99625 m .28966 1 L s P p .001 w .34976 .99625 m .34976 1 L s P p .001 w .37981 .99625 m .37981 1 L s P p .001 w .40986 .99625 m .40986 1 L s P p .001 w .4399 .99625 m .4399 1 L s P p .001 w .5 .99625 m .5 1 L s P p .001 w .53005 .99625 m .53005 1 L s P p .001 w .5601 .99625 m .5601 1 L s P p .001 w .59014 .99625 m .59014 1 L s P p .001 w .65024 .99625 m .65024 1 L s P p .001 w .68029 .99625 m .68029 1 L s P p .001 w .71034 .99625 m .71034 1 L s P p .001 w .74038 .99625 m .74038 1 L s P p .001 w .80048 .99625 m .80048 1 L s P p .001 w .83053 .99625 m .83053 1 L s P p .001 w .86058 .99625 m .86058 1 L s P p .001 w .89063 .99625 m .89063 1 L s P p .001 w .95072 .99625 m .95072 1 L s P p .001 w .98077 .99625 m .98077 1 L s P p .002 w 0 1 m 1 1 L s P p .002 w .99375 .01923 m 1 .01923 L s P p .002 w .99375 .16947 m 1 .16947 L s P p .002 w .99375 .31971 m 1 .31971 L s P p .002 w .99375 .46995 m 1 .46995 L s P p .002 w .99375 .62019 m 1 .62019 L s P p .002 w .99375 .77043 m 1 .77043 L s P p .002 w .99375 .92067 m 1 .92067 L s P p .001 w .99625 .04928 m 1 .04928 L s P p .001 w .99625 .07933 m 1 .07933 L s P p .001 w .99625 .10938 m 1 .10938 L s P p .001 w .99625 .13942 m 1 .13942 L s P p .001 w .99625 .19952 m 1 .19952 L s P p .001 w .99625 .22957 m 1 .22957 L s P p .001 w .99625 .25962 m 1 .25962 L s P p .001 w .99625 .28966 m 1 .28966 L s P p .001 w .99625 .34976 m 1 .34976 L s P p .001 w .99625 .37981 m 1 .37981 L s P p .001 w .99625 .40986 m 1 .40986 L s P p .001 w .99625 .4399 m 1 .4399 L s P p .001 w .99625 .5 m 1 .5 L s P p .001 w .99625 .53005 m 1 .53005 L s P p .001 w .99625 .5601 m 1 .5601 L s P p .001 w .99625 .59014 m 1 .59014 L s P p .001 w .99625 .65024 m 1 .65024 L s P p .001 w .99625 .68029 m 1 .68029 L s P p .001 w .99625 .71034 m 1 .71034 L s P p .001 w .99625 .74038 m 1 .74038 L s P p .001 w .99625 .80048 m 1 .80048 L s P p .001 w .99625 .83053 m 1 .83053 L s P p .001 w .99625 .86058 m 1 .86058 L s P p .001 w .99625 .89063 m 1 .89063 L s P p .001 w .99625 .95072 m 1 .95072 L s P p .001 w .99625 .98077 m 1 .98077 L s P p .002 w 1 0 m 1 1 L s P P p P 0 0 m 1 0 L 1 1 L 0 1 L closepath clip newpath % Start of gray image p .01923 .01923 translate .96154 .96154 scale 32 string 32 32 8 [32 0 0 32 0 0] { \tcurrentfile \t1 index \treadhexstring \tpop } Mimage 00FFFFFFFFFFFF00FFFFFF00FF00FF00FFFFFFFF00FF0000 0000FF0000FF00FF FF0000FFFF0000FFFF00FF00FF00FF00FF00FFFFFFFF00FF 0000FFFFFF000000 00000000000000000000FFFFFFFFFFFFFFFFFFFF00FFFF00 000000000000FF00 0000FF00FFFFFFFFFFFF00FFFF00FFFF00FF00FFFF000000 0000FFFFFF00FFFF FFFF00FF00FFFF00FF00FFFFFFFFFFFF0000FFFF00FF00FF 00FF00FFFFFFFFFF FFFF0000000000FF0000FFFFFFFF00000000000000FF0000 00FF00FF00FFFF00 000000FF00FFFF0000000000FF0000FF000000FFFF0000FF FFFF00FF00FFFFFF FF00FF00FF000000FFFFFF00FF000000FF0000FF0000FF00 0000000000FF0000 00FF00FF00FF0000FFFFFF0000FFFF0000FFFF00FFFF00FF FFFFFFFFFFFF00FF 00000000FFFF00FF000000FFFFFFFFFF00FFFF000000FF00 FFFFFFFF00FF0000 00FF00FF000000FF00FF00FF00FF00FF000000FF00FF00FF FFFF00FF000000FF FFFF00FFFFFF0000FFFFFF0000FFFFFFFF0000FF00000000 FFFF0000FFFF00FF FFFFFF000000FFFFFF00FFFF000000FF00FF000000FF0000 FFFFFFFF00FF00FF FF00FFFF00FFFFFFFF00FFFF00FF00FFFF00FFFFFFFFFF00 FFFF000000FFFFFF FFFF00FFFF00FFFFFF000000FFFFFFFFFFFF0000FF000000 FFFFFFFF00FFFFFF 0000FFFFFF0000FFFF0000FF00FF00FF000000FFFFFF0000 FFFFFF00FFFFFF00 FF0000FF0000FFFFFFFFFF000000FF0000FF00FF0000FFFF FF000000FF0000FF 0000FF00000000FFFF0000FFFF0000FFFF00FF0000FF0000 FF00000000FF00FF 00FF00FFFF00FF00FFFFFFFF00FFFFFF00FFFF000000FF00 FFFFFF000000FF00 FF0000FF00FF00FF00FFFF00000000FFFF00FFFFFFFF00FF FF00000000FF00FF 0000FFFF00FFFF0000FF000000FFFFFF0000FFFFFFFFFFFF FFFF00FF00FF0000 FF00000000FFFFFF00FFFFFF000000FF0000FF00FFFFFFFF 0000FFFF00FFFFFF FFFFFFFFFF000000FF0000FFFFFFFF00000000FF00FFFFFF FFFF00000000FFFF FFFFFF000000FF00FF00FF000000FFFF000000FF0000FFFF FF00FFFF0000FFFF 00FFFF0000FFFFFFFF00FF000000FF00FFFF00000000FFFF FF00FF00000000FF 0000000000FF0000FF000000FF00FFFF00FF000000FFFFFF 00000000000000FF FFFFFFFFFF0000FF00FF00FFFF00000000FF0000FF0000FF 0000FFFFFF00FF00 FFFFFF00FF00FF00FFFFFF00FFFFFFFF0000FFFFFF0000FF 00FF00FF00000000 FF00FFFFFF00FF0000FFFF00FF0000FF0000FF0000FF0000 FF0000FF00FF00FF 0000FF00000000FF00FF0000FF00FFFFFF0000FF00FF00FF FFFFFF0000FF00FF 00FFFF000000FFFFFF00FF0000FFFF00FF0000FFFFFFFF00 FFFFFFFF0000FFFF 0000FF00FF0000FF0000FFFFFF00FFFFFFFFFF0000FFFF00 00FF0000FFFF00FF pop P % End of image p [ ] 0 setdash .0015 w .01923 .01923 m .01923 .98077 L s P p [ ] 0 setdash .0015 w .04928 .01923 m .04928 .98077 L s P p [ ] 0 setdash .0015 w .07933 .01923 m .07933 .98077 L s P p [ ] 0 setdash .0015 w .10938 .01923 m .10938 .98077 L s P p [ ] 0 setdash .0015 w .13942 .01923 m .13942 .98077 L s P p [ ] 0 setdash .0015 w .16947 .01923 m .16947 .98077 L s P p [ ] 0 setdash .0015 w .19952 .01923 m .19952 .98077 L s P p [ ] 0 setdash .0015 w .22957 .01923 m .22957 .98077 L s P p [ ] 0 setdash .0015 w .25962 .01923 m .25962 .98077 L s P p [ ] 0 setdash .0015 w .28966 .01923 m .28966 .98077 L s P p [ ] 0 setdash .0015 w .31971 .01923 m .31971 .98077 L s P p [ ] 0 setdash .0015 w .34976 .01923 m .34976 .98077 L s P p [ ] 0 setdash .0015 w .37981 .01923 m .37981 .98077 L s P p [ ] 0 setdash .0015 w .40986 .01923 m .40986 .98077 L s P p [ ] 0 setdash .0015 w .4399 .01923 m .4399 .98077 L s P p [ ] 0 setdash .0015 w .46995 .01923 m .46995 .98077 L s P p [ ] 0 setdash .0015 w .5 .01923 m .5 .98077 L s P p [ ] 0 setdash .0015 w .53005 .01923 m .53005 .98077 L s P p [ ] 0 setdash .0015 w .5601 .01923 m .5601 .98077 L s P p [ ] 0 setdash .0015 w .59014 .01923 m .59014 .98077 L s P p [ ] 0 setdash .0015 w .62019 .01923 m .62019 .98077 L s P p [ ] 0 setdash .0015 w .65024 .01923 m .65024 .98077 L s P p [ ] 0 setdash .0015 w .68029 .01923 m .68029 .98077 L s P p [ ] 0 setdash .0015 w .71034 .01923 m .71034 .98077 L s P p [ ] 0 setdash .0015 w .74038 .01923 m .74038 .98077 L s P p [ ] 0 setdash .0015 w .77043 .01923 m .77043 .98077 L s P p [ ] 0 setdash .0015 w .80048 .01923 m .80048 .98077 L s P p [ ] 0 setdash .0015 w .83053 .01923 m .83053 .98077 L s P p [ ] 0 setdash .0015 w .86058 .01923 m .86058 .98077 L s P p [ ] 0 setdash .0015 w .89063 .01923 m .89063 .98077 L s P p [ ] 0 setdash .0015 w .92067 .01923 m .92067 .98077 L s P p [ ] 0 setdash .0015 w .95072 .01923 m .95072 .98077 L s P p [ ] 0 setdash .0015 w .98077 .01923 m .98077 .98077 L s P p [ ] 0 setdash .0015 w .01923 .01923 m .98077 .01923 L s P p [ ] 0 setdash .0015 w .01923 .04928 m .98077 .04928 L s P p [ ] 0 setdash .0015 w .01923 .07933 m .98077 .07933 L s P p [ ] 0 setdash .0015 w .01923 .10938 m .98077 .10938 L s P p [ ] 0 setdash .0015 w .01923 .13942 m .98077 .13942 L s P p [ ] 0 setdash .0015 w .01923 .16947 m .98077 .16947 L s P p [ ] 0 setdash .0015 w .01923 .19952 m .98077 .19952 L s P p [ ] 0 setdash .0015 w .01923 .22957 m .98077 .22957 L s P p [ ] 0 setdash .0015 w .01923 .25962 m .98077 .25962 L s P p [ ] 0 setdash .0015 w .01923 .28966 m .98077 .28966 L s P p [ ] 0 setdash .0015 w .01923 .31971 m .98077 .31971 L s P p [ ] 0 setdash .0015 w .01923 .34976 m .98077 .34976 L s P p [ ] 0 setdash .0015 w .01923 .37981 m .98077 .37981 L s P p [ ] 0 setdash .0015 w .01923 .40986 m .98077 .40986 L s P p [ ] 0 setdash .0015 w .01923 .4399 m .98077 .4399 L s P p [ ] 0 setdash .0015 w .01923 .46995 m .98077 .46995 L s P p [ ] 0 setdash .0015 w .01923 .5 m .98077 .5 L s P p [ ] 0 setdash .0015 w .01923 .53005 m .98077 .53005 L s P p [ ] 0 setdash .0015 w .01923 .5601 m .98077 .5601 L s P p [ ] 0 setdash .0015 w .01923 .59014 m .98077 .59014 L s P p [ ] 0 setdash .0015 w .01923 .62019 m .98077 .62019 L s P p [ ] 0 setdash .0015 w .01923 .65024 m .98077 .65024 L s P p [ ] 0 setdash .0015 w .01923 .68029 m .98077 .68029 L s P p [ ] 0 setdash .0015 w .01923 .71034 m .98077 .71034 L s P p [ ] 0 setdash .0015 w .01923 .74038 m .98077 .74038 L s P p [ ] 0 setdash .0015 w .01923 .77043 m .98077 .77043 L s P p [ ] 0 setdash .0015 w .01923 .80048 m .98077 .80048 L s P p [ ] 0 setdash .0015 w .01923 .83053 m .98077 .83053 L s P p [ ] 0 setdash .0015 w .01923 .86058 m .98077 .86058 L s P p [ ] 0 setdash .0015 w .01923 .89063 m .98077 .89063 L s P p [ ] 0 setdash .0015 w .01923 .92067 m .98077 .92067 L s P p [ ] 0 setdash .0015 w .01923 .95072 m .98077 .95072 L s P p [ ] 0 setdash .0015 w .01923 .98077 m .98077 .98077 L s P % End of Graphics MathPictureEnd \ \>"], "Graphics", Evaluatable->False, AspectRatioFixed->True, ImageSize->{282, 282}, ImageMargins->{{34, Inherited}, {Inherited, Inherited}}, ImageCacheValid->False], Cell[GraphicsData["PostScript", "\<\ %! %%Creator: Mathematica %%AspectRatio: 1 MathPictureStart %% DensityGraphics /Courier findfont 10 scalefont setfont % Scaling calculations 0.0192308 0.0300481 0.0192308 0.0300481 [ [(0)] .01923 0 0 2 Msboxa [(5)] .16947 0 0 2 Msboxa [(10)] .31971 0 0 2 Msboxa [(15)] .46995 0 0 2 Msboxa [(20)] .62019 0 0 2 Msboxa [(25)] .77043 0 0 2 Msboxa [(30)] .92067 0 0 2 Msboxa [(0)] -0.0125 .01923 1 0 Msboxa [(5)] -0.0125 .16947 1 0 Msboxa [(10)] -0.0125 .31971 1 0 Msboxa [(15)] -0.0125 .46995 1 0 Msboxa [(20)] -0.0125 .62019 1 0 Msboxa [(25)] -0.0125 .77043 1 0 Msboxa [(30)] -0.0125 .92067 1 0 Msboxa [ -0.001 -0.001 0 0 ] [ 1.001 1.001 0 0 ] ] MathScale % Start of Graphics 1 setlinecap 1 setlinejoin newpath [ ] 0 setdash 0 g p p .002 w .01923 0 m .01923 .00625 L s P [(0)] .01923 0 0 2 Mshowa p .002 w .16947 0 m .16947 .00625 L s P [(5)] .16947 0 0 2 Mshowa p .002 w .31971 0 m .31971 .00625 L s P [(10)] .31971 0 0 2 Mshowa p .002 w .46995 0 m .46995 .00625 L s P [(15)] .46995 0 0 2 Mshowa p .002 w .62019 0 m .62019 .00625 L s P [(20)] .62019 0 0 2 Mshowa p .002 w .77043 0 m .77043 .00625 L s P [(25)] .77043 0 0 2 Mshowa p .002 w .92067 0 m .92067 .00625 L s P [(30)] .92067 0 0 2 Mshowa p .001 w .04928 0 m .04928 .00375 L s P p .001 w .07933 0 m .07933 .00375 L s P p .001 w .10938 0 m .10938 .00375 L s P p .001 w .13942 0 m .13942 .00375 L s P p .001 w .19952 0 m .19952 .00375 L s P p .001 w .22957 0 m .22957 .00375 L s P p .001 w .25962 0 m .25962 .00375 L s P p .001 w .28966 0 m .28966 .00375 L s P p .001 w .34976 0 m .34976 .00375 L s P p .001 w .37981 0 m .37981 .00375 L s P p .001 w .40986 0 m .40986 .00375 L s P p .001 w .4399 0 m .4399 .00375 L s P p .001 w .5 0 m .5 .00375 L s P p .001 w .53005 0 m .53005 .00375 L s P p .001 w .5601 0 m .5601 .00375 L s P p .001 w .59014 0 m .59014 .00375 L s P p .001 w .65024 0 m .65024 .00375 L s P p .001 w .68029 0 m .68029 .00375 L s P p .001 w .71034 0 m .71034 .00375 L s P p .001 w .74038 0 m .74038 .00375 L s P p .001 w .80048 0 m .80048 .00375 L s P p .001 w .83053 0 m .83053 .00375 L s P p .001 w .86058 0 m .86058 .00375 L s P p .001 w .89063 0 m .89063 .00375 L s P p .001 w .95072 0 m .95072 .00375 L s P p .001 w .98077 0 m .98077 .00375 L s P p .002 w 0 0 m 1 0 L s P p .002 w 0 .01923 m .00625 .01923 L s P [(0)] -0.0125 .01923 1 0 Mshowa p .002 w 0 .16947 m .00625 .16947 L s P [(5)] -0.0125 .16947 1 0 Mshowa p .002 w 0 .31971 m .00625 .31971 L s P [(10)] -0.0125 .31971 1 0 Mshowa p .002 w 0 .46995 m .00625 .46995 L s P [(15)] -0.0125 .46995 1 0 Mshowa p .002 w 0 .62019 m .00625 .62019 L s P [(20)] -0.0125 .62019 1 0 Mshowa p .002 w 0 .77043 m .00625 .77043 L s P [(25)] -0.0125 .77043 1 0 Mshowa p .002 w 0 .92067 m .00625 .92067 L s P [(30)] -0.0125 .92067 1 0 Mshowa p .001 w 0 .04928 m .00375 .04928 L s P p .001 w 0 .07933 m .00375 .07933 L s P p .001 w 0 .10938 m .00375 .10938 L s P p .001 w 0 .13942 m .00375 .13942 L s P p .001 w 0 .19952 m .00375 .19952 L s P p .001 w 0 .22957 m .00375 .22957 L s P p .001 w 0 .25962 m .00375 .25962 L s P p .001 w 0 .28966 m .00375 .28966 L s P p .001 w 0 .34976 m .00375 .34976 L s P p .001 w 0 .37981 m .00375 .37981 L s P p .001 w 0 .40986 m .00375 .40986 L s P p .001 w 0 .4399 m .00375 .4399 L s P p .001 w 0 .5 m .00375 .5 L s P p .001 w 0 .53005 m .00375 .53005 L s P p .001 w 0 .5601 m .00375 .5601 L s P p .001 w 0 .59014 m .00375 .59014 L s P p .001 w 0 .65024 m .00375 .65024 L s P p .001 w 0 .68029 m .00375 .68029 L s P p .001 w 0 .71034 m .00375 .71034 L s P p .001 w 0 .74038 m .00375 .74038 L s P p .001 w 0 .80048 m .00375 .80048 L s P p .001 w 0 .83053 m .00375 .83053 L s P p .001 w 0 .86058 m .00375 .86058 L s P p .001 w 0 .89063 m .00375 .89063 L s P p .001 w 0 .95072 m .00375 .95072 L s P p .001 w 0 .98077 m .00375 .98077 L s P p .002 w 0 0 m 0 1 L s P P p p .002 w .01923 .99375 m .01923 1 L s P p .002 w .16947 .99375 m .16947 1 L s P p .002 w .31971 .99375 m .31971 1 L s P p .002 w .46995 .99375 m .46995 1 L s P p .002 w .62019 .99375 m .62019 1 L s P p .002 w .77043 .99375 m .77043 1 L s P p .002 w .92067 .99375 m .92067 1 L s P p .001 w .04928 .99625 m .04928 1 L s P p .001 w .07933 .99625 m .07933 1 L s P p .001 w .10938 .99625 m .10938 1 L s P p .001 w .13942 .99625 m .13942 1 L s P p .001 w .19952 .99625 m .19952 1 L s P p .001 w .22957 .99625 m .22957 1 L s P p .001 w .25962 .99625 m .25962 1 L s P p .001 w .28966 .99625 m .28966 1 L s P p .001 w .34976 .99625 m .34976 1 L s P p .001 w .37981 .99625 m .37981 1 L s P p .001 w .40986 .99625 m .40986 1 L s P p .001 w .4399 .99625 m .4399 1 L s P p .001 w .5 .99625 m .5 1 L s P p .001 w .53005 .99625 m .53005 1 L s P p .001 w .5601 .99625 m .5601 1 L s P p .001 w .59014 .99625 m .59014 1 L s P p .001 w .65024 .99625 m .65024 1 L s P p .001 w .68029 .99625 m .68029 1 L s P p .001 w .71034 .99625 m .71034 1 L s P p .001 w .74038 .99625 m .74038 1 L s P p .001 w .80048 .99625 m .80048 1 L s P p .001 w .83053 .99625 m .83053 1 L s P p .001 w .86058 .99625 m .86058 1 L s P p .001 w .89063 .99625 m .89063 1 L s P p .001 w .95072 .99625 m .95072 1 L s P p .001 w .98077 .99625 m .98077 1 L s P p .002 w 0 1 m 1 1 L s P p .002 w .99375 .01923 m 1 .01923 L s P p .002 w .99375 .16947 m 1 .16947 L s P p .002 w .99375 .31971 m 1 .31971 L s P p .002 w .99375 .46995 m 1 .46995 L s P p .002 w .99375 .62019 m 1 .62019 L s P p .002 w .99375 .77043 m 1 .77043 L s P p .002 w .99375 .92067 m 1 .92067 L s P p .001 w .99625 .04928 m 1 .04928 L s P p .001 w .99625 .07933 m 1 .07933 L s P p .001 w .99625 .10938 m 1 .10938 L s P p .001 w .99625 .13942 m 1 .13942 L s P p .001 w .99625 .19952 m 1 .19952 L s P p .001 w .99625 .22957 m 1 .22957 L s P p .001 w .99625 .25962 m 1 .25962 L s P p .001 w .99625 .28966 m 1 .28966 L s P p .001 w .99625 .34976 m 1 .34976 L s P p .001 w .99625 .37981 m 1 .37981 L s P p .001 w .99625 .40986 m 1 .40986 L s P p .001 w .99625 .4399 m 1 .4399 L s P p .001 w .99625 .5 m 1 .5 L s P p .001 w .99625 .53005 m 1 .53005 L s P p .001 w .99625 .5601 m 1 .5601 L s P p .001 w .99625 .59014 m 1 .59014 L s P p .001 w .99625 .65024 m 1 .65024 L s P p .001 w .99625 .68029 m 1 .68029 L s P p .001 w .99625 .71034 m 1 .71034 L s P p .001 w .99625 .74038 m 1 .74038 L s P p .001 w .99625 .80048 m 1 .80048 L s P p .001 w .99625 .83053 m 1 .83053 L s P p .001 w .99625 .86058 m 1 .86058 L s P p .001 w .99625 .89063 m 1 .89063 L s P p .001 w .99625 .95072 m 1 .95072 L s P p .001 w .99625 .98077 m 1 .98077 L s P p .002 w 1 0 m 1 1 L s P P p P 0 0 m 1 0 L 1 1 L 0 1 L closepath clip newpath % Start of gray image p .01923 .01923 translate .96154 .96154 scale 32 string 32 32 8 [32 0 0 32 0 0] { \tcurrentfile \t1 index \treadhexstring \tpop } Mimage FFFF00FF0000000000FF00FFFFFF000000000000FFFFFF00 0000000000000000 00000000000000000000FFFF00FF000000FF00FF00FFFFFF 0000000000000000 00000000000000000000000000000000000000FF0000FFFF 0000000000000000 00000000000000000000000000000000FF00000000000000 0000000000000000 00000000000000000000FF00000000FFFF00000000000000 0000000000000000 000000000000000000FF00000000000000FFFFFFFF000000 0000000000000000 00000000000000FFFF0000000000000000000000FF000000 0000000000000000 0000000000000000FFFFFF00000000000000000000000000 0000FFFFFF000000 0000000000000000000000FFFF0000000000000000000000 0000000000000000 00000000000000000000FF00000000000000000000000000 0000000000000000 000000000000000000000000000000000000000000000000 0000000000000000 000000000000000000000000000000000000000000000000 0000000000000000 0000000000FF00000000FF00000000000000000000000000 0000000000000000 000000FFFF00FFFFFFFF00000000FF000000FF0000000000 0000000000000000 00000000FF0000FFFFFF00000000FF00000000FF00000000 0000000000000000 0000000000FFFF0000000000FF00FFFF000000FF00000000 000000000000FFFF 00000000000000000000000000FF00000000FF0000000000 000000000000FFFF 00000000000000000000000000FF000000FF000000000000 0000000000000000 00000000000000000000000000FF000000000000FF000000 0000000000000000 00000000000000000000000000000000000000FFFFFF0000 0000000000000000 000000000000000000000000000000000000FFFF00FFFF00 0000FF0000000000 0000000000000000000000000000000000FFFF0000FFFF00 FFFF000000000000 000000000000000000000000FFFFFF00FFFFFF00000000FF 0000FF0000000000 000000000000000000000000FF00FF0000FF0000000000FF 0000000000000000 000000000000000000000000FFFFFF0000FF00FF00000000 0000000000000000 00FFFFFF00000000000000000000000000FF00000000FF00 0000000000000000 00FFFFFF0000000000000000000000000000000000FF0000 0000000000000000 FF0000FFFF00000000000000000000000000FFFFFF000000 00000000000000FF 00FF000000FFFF0000000000000000000000000000000000 000000000000FF00 0000000000FFFF0000000000FF0000000000000000000000 000000000000FF00 0000000000FFFF000000FF00FFFF000000FF00FF00000000 000000000000FF00 FFFFFFFFFF0000000000FFFF0000FF0000FF000000000000 0000000000000000 pop P % End of image p [ ] 0 setdash .0015 w .01923 .01923 m .01923 .98077 L s P p [ ] 0 setdash .0015 w .04928 .01923 m .04928 .98077 L s P p [ ] 0 setdash .0015 w .07933 .01923 m .07933 .98077 L s P p [ ] 0 setdash .0015 w .10938 .01923 m .10938 .98077 L s P p [ ] 0 setdash .0015 w .13942 .01923 m .13942 .98077 L s P p [ ] 0 setdash .0015 w .16947 .01923 m .16947 .98077 L s P p [ ] 0 setdash .0015 w .19952 .01923 m .19952 .98077 L s P p [ ] 0 setdash .0015 w .22957 .01923 m .22957 .98077 L s P p [ ] 0 setdash .0015 w .25962 .01923 m .25962 .98077 L s P p [ ] 0 setdash .0015 w .28966 .01923 m .28966 .98077 L s P p [ ] 0 setdash .0015 w .31971 .01923 m .31971 .98077 L s P p [ ] 0 setdash .0015 w .34976 .01923 m .34976 .98077 L s P p [ ] 0 setdash .0015 w .37981 .01923 m .37981 .98077 L s P p [ ] 0 setdash .0015 w .40986 .01923 m .40986 .98077 L s P p [ ] 0 setdash .0015 w .4399 .01923 m .4399 .98077 L s P p [ ] 0 setdash .0015 w .46995 .01923 m .46995 .98077 L s P p [ ] 0 setdash .0015 w .5 .01923 m .5 .98077 L s P p [ ] 0 setdash .0015 w .53005 .01923 m .53005 .98077 L s P p [ ] 0 setdash .0015 w .5601 .01923 m .5601 .98077 L s P p [ ] 0 setdash .0015 w .59014 .01923 m .59014 .98077 L s P p [ ] 0 setdash .0015 w .62019 .01923 m .62019 .98077 L s P p [ ] 0 setdash .0015 w .65024 .01923 m .65024 .98077 L s P p [ ] 0 setdash .0015 w .68029 .01923 m .68029 .98077 L s P p [ ] 0 setdash .0015 w .71034 .01923 m .71034 .98077 L s P p [ ] 0 setdash .0015 w .74038 .01923 m .74038 .98077 L s P p [ ] 0 setdash .0015 w .77043 .01923 m .77043 .98077 L s P p [ ] 0 setdash .0015 w .80048 .01923 m .80048 .98077 L s P p [ ] 0 setdash .0015 w .83053 .01923 m .83053 .98077 L s P p [ ] 0 setdash .0015 w .86058 .01923 m .86058 .98077 L s P p [ ] 0 setdash .0015 w .89063 .01923 m .89063 .98077 L s P p [ ] 0 setdash .0015 w .92067 .01923 m .92067 .98077 L s P p [ ] 0 setdash .0015 w .95072 .01923 m .95072 .98077 L s P p [ ] 0 setdash .0015 w .98077 .01923 m .98077 .98077 L s P p [ ] 0 setdash .0015 w .01923 .01923 m .98077 .01923 L s P p [ ] 0 setdash .0015 w .01923 .04928 m .98077 .04928 L s P p [ ] 0 setdash .0015 w .01923 .07933 m .98077 .07933 L s P p [ ] 0 setdash .0015 w .01923 .10938 m .98077 .10938 L s P p [ ] 0 setdash .0015 w .01923 .13942 m .98077 .13942 L s P p [ ] 0 setdash .0015 w .01923 .16947 m .98077 .16947 L s P p [ ] 0 setdash .0015 w .01923 .19952 m .98077 .19952 L s P p [ ] 0 setdash .0015 w .01923 .22957 m .98077 .22957 L s P p [ ] 0 setdash .0015 w .01923 .25962 m .98077 .25962 L s P p [ ] 0 setdash .0015 w .01923 .28966 m .98077 .28966 L s P p [ ] 0 setdash .0015 w .01923 .31971 m .98077 .31971 L s P p [ ] 0 setdash .0015 w .01923 .34976 m .98077 .34976 L s P p [ ] 0 setdash .0015 w .01923 .37981 m .98077 .37981 L s P p [ ] 0 setdash .0015 w .01923 .40986 m .98077 .40986 L s P p [ ] 0 setdash .0015 w .01923 .4399 m .98077 .4399 L s P p [ ] 0 setdash .0015 w .01923 .46995 m .98077 .46995 L s P p [ ] 0 setdash .0015 w .01923 .5 m .98077 .5 L s P p [ ] 0 setdash .0015 w .01923 .53005 m .98077 .53005 L s P p [ ] 0 setdash .0015 w .01923 .5601 m .98077 .5601 L s P p [ ] 0 setdash .0015 w .01923 .59014 m .98077 .59014 L s P p [ ] 0 setdash .0015 w .01923 .62019 m .98077 .62019 L s P p [ ] 0 setdash .0015 w .01923 .65024 m .98077 .65024 L s P p [ ] 0 setdash .0015 w .01923 .68029 m .98077 .68029 L s P p [ ] 0 setdash .0015 w .01923 .71034 m .98077 .71034 L s P p [ ] 0 setdash .0015 w .01923 .74038 m .98077 .74038 L s P p [ ] 0 setdash .0015 w .01923 .77043 m .98077 .77043 L s P p [ ] 0 setdash .0015 w .01923 .80048 m .98077 .80048 L s P p [ ] 0 setdash .0015 w .01923 .83053 m .98077 .83053 L s P p [ ] 0 setdash .0015 w .01923 .86058 m .98077 .86058 L s P p [ ] 0 setdash .0015 w .01923 .89063 m .98077 .89063 L s P p [ ] 0 setdash .0015 w .01923 .92067 m .98077 .92067 L s P p [ ] 0 setdash .0015 w .01923 .95072 m .98077 .95072 L s P p [ ] 0 setdash .0015 w .01923 .98077 m .98077 .98077 L s P % End of Graphics MathPictureEnd \ \>"], "Graphics", Evaluatable->False, AspectRatioFixed->True, ImageSize->{282, 282}, ImageMargins->{{34, Inherited}, {Inherited, Inherited}}, ImageCacheValid->False], Cell[GraphicsData["PostScript", "\<\ %! %%Creator: Mathematica %%AspectRatio: 1 MathPictureStart %% DensityGraphics /Courier findfont 10 scalefont setfont % Scaling calculations 0.0192308 0.0300481 0.0192308 0.0300481 [ [(0)] .01923 0 0 2 Msboxa [(5)] .16947 0 0 2 Msboxa [(10)] .31971 0 0 2 Msboxa [(15)] .46995 0 0 2 Msboxa [(20)] .62019 0 0 2 Msboxa [(25)] .77043 0 0 2 Msboxa [(30)] .92067 0 0 2 Msboxa [(0)] -0.0125 .01923 1 0 Msboxa [(5)] -0.0125 .16947 1 0 Msboxa [(10)] -0.0125 .31971 1 0 Msboxa [(15)] -0.0125 .46995 1 0 Msboxa [(20)] -0.0125 .62019 1 0 Msboxa [(25)] -0.0125 .77043 1 0 Msboxa [(30)] -0.0125 .92067 1 0 Msboxa [ -0.001 -0.001 0 0 ] [ 1.001 1.001 0 0 ] ] MathScale % Start of Graphics 1 setlinecap 1 setlinejoin newpath [ ] 0 setdash 0 g p p .002 w .01923 0 m .01923 .00625 L s P [(0)] .01923 0 0 2 Mshowa p .002 w .16947 0 m .16947 .00625 L s P [(5)] .16947 0 0 2 Mshowa p .002 w .31971 0 m .31971 .00625 L s P [(10)] .31971 0 0 2 Mshowa p .002 w .46995 0 m .46995 .00625 L s P [(15)] .46995 0 0 2 Mshowa p .002 w .62019 0 m .62019 .00625 L s P [(20)] .62019 0 0 2 Mshowa p .002 w .77043 0 m .77043 .00625 L s P [(25)] .77043 0 0 2 Mshowa p .002 w .92067 0 m .92067 .00625 L s P [(30)] .92067 0 0 2 Mshowa p .001 w .04928 0 m .04928 .00375 L s P p .001 w .07933 0 m .07933 .00375 L s P p .001 w .10938 0 m .10938 .00375 L s P p .001 w .13942 0 m .13942 .00375 L s P p .001 w .19952 0 m .19952 .00375 L s P p .001 w .22957 0 m .22957 .00375 L s P p .001 w .25962 0 m .25962 .00375 L s P p .001 w .28966 0 m .28966 .00375 L s P p .001 w .34976 0 m .34976 .00375 L s P p .001 w .37981 0 m .37981 .00375 L s P p .001 w .40986 0 m .40986 .00375 L s P p .001 w .4399 0 m .4399 .00375 L s P p .001 w .5 0 m .5 .00375 L s P p .001 w .53005 0 m .53005 .00375 L s P p .001 w .5601 0 m .5601 .00375 L s P p .001 w .59014 0 m .59014 .00375 L s P p .001 w .65024 0 m .65024 .00375 L s P p .001 w .68029 0 m .68029 .00375 L s P p .001 w .71034 0 m .71034 .00375 L s P p .001 w .74038 0 m .74038 .00375 L s P p .001 w .80048 0 m .80048 .00375 L s P p .001 w .83053 0 m .83053 .00375 L s P p .001 w .86058 0 m .86058 .00375 L s P p .001 w .89063 0 m .89063 .00375 L s P p .001 w .95072 0 m .95072 .00375 L s P p .001 w .98077 0 m .98077 .00375 L s P p .002 w 0 0 m 1 0 L s P p .002 w 0 .01923 m .00625 .01923 L s P [(0)] -0.0125 .01923 1 0 Mshowa p .002 w 0 .16947 m .00625 .16947 L s P [(5)] -0.0125 .16947 1 0 Mshowa p .002 w 0 .31971 m .00625 .31971 L s P [(10)] -0.0125 .31971 1 0 Mshowa p .002 w 0 .46995 m .00625 .46995 L s P [(15)] -0.0125 .46995 1 0 Mshowa p .002 w 0 .62019 m .00625 .62019 L s P [(20)] -0.0125 .62019 1 0 Mshowa p .002 w 0 .77043 m .00625 .77043 L s P [(25)] -0.0125 .77043 1 0 Mshowa p .002 w 0 .92067 m .00625 .92067 L s P [(30)] -0.0125 .92067 1 0 Mshowa p .001 w 0 .04928 m .00375 .04928 L s P p .001 w 0 .07933 m .00375 .07933 L s P p .001 w 0 .10938 m .00375 .10938 L s P p .001 w 0 .13942 m .00375 .13942 L s P p .001 w 0 .19952 m .00375 .19952 L s P p .001 w 0 .22957 m .00375 .22957 L s P p .001 w 0 .25962 m .00375 .25962 L s P p .001 w 0 .28966 m .00375 .28966 L s P p .001 w 0 .34976 m .00375 .34976 L s P p .001 w 0 .37981 m .00375 .37981 L s P p .001 w 0 .40986 m .00375 .40986 L s P p .001 w 0 .4399 m .00375 .4399 L s P p .001 w 0 .5 m .00375 .5 L s P p .001 w 0 .53005 m .00375 .53005 L s P p .001 w 0 .5601 m .00375 .5601 L s P p .001 w 0 .59014 m .00375 .59014 L s P p .001 w 0 .65024 m .00375 .65024 L s P p .001 w 0 .68029 m .00375 .68029 L s P p .001 w 0 .71034 m .00375 .71034 L s P p .001 w 0 .74038 m .00375 .74038 L s P p .001 w 0 .80048 m .00375 .80048 L s P p .001 w 0 .83053 m .00375 .83053 L s P p .001 w 0 .86058 m .00375 .86058 L s P p .001 w 0 .89063 m .00375 .89063 L s P p .001 w 0 .95072 m .00375 .95072 L s P p .001 w 0 .98077 m .00375 .98077 L s P p .002 w 0 0 m 0 1 L s P P p p .002 w .01923 .99375 m .01923 1 L s P p .002 w .16947 .99375 m .16947 1 L s P p .002 w .31971 .99375 m .31971 1 L s P p .002 w .46995 .99375 m .46995 1 L s P p .002 w .62019 .99375 m .62019 1 L s P p .002 w .77043 .99375 m .77043 1 L s P p .002 w .92067 .99375 m .92067 1 L s P p .001 w .04928 .99625 m .04928 1 L s P p .001 w .07933 .99625 m .07933 1 L s P p .001 w .10938 .99625 m .10938 1 L s P p .001 w .13942 .99625 m .13942 1 L s P p .001 w .19952 .99625 m .19952 1 L s P p .001 w .22957 .99625 m .22957 1 L s P p .001 w .25962 .99625 m .25962 1 L s P p .001 w .28966 .99625 m .28966 1 L s P p .001 w .34976 .99625 m .34976 1 L s P p .001 w .37981 .99625 m .37981 1 L s P p .001 w .40986 .99625 m .40986 1 L s P p .001 w .4399 .99625 m .4399 1 L s P p .001 w .5 .99625 m .5 1 L s P p .001 w .53005 .99625 m .53005 1 L s P p .001 w .5601 .99625 m .5601 1 L s P p .001 w .59014 .99625 m .59014 1 L s P p .001 w .65024 .99625 m .65024 1 L s P p .001 w .68029 .99625 m .68029 1 L s P p .001 w .71034 .99625 m .71034 1 L s P p .001 w .74038 .99625 m .74038 1 L s P p .001 w .80048 .99625 m .80048 1 L s P p .001 w .83053 .99625 m .83053 1 L s P p .001 w .86058 .99625 m .86058 1 L s P p .001 w .89063 .99625 m .89063 1 L s P p .001 w .95072 .99625 m .95072 1 L s P p .001 w .98077 .99625 m .98077 1 L s P p .002 w 0 1 m 1 1 L s P p .002 w .99375 .01923 m 1 .01923 L s P p .002 w .99375 .16947 m 1 .16947 L s P p .002 w .99375 .31971 m 1 .31971 L s P p .002 w .99375 .46995 m 1 .46995 L s P p .002 w .99375 .62019 m 1 .62019 L s P p .002 w .99375 .77043 m 1 .77043 L s P p .002 w .99375 .92067 m 1 .92067 L s P p .001 w .99625 .04928 m 1 .04928 L s P p .001 w .99625 .07933 m 1 .07933 L s P p .001 w .99625 .10938 m 1 .10938 L s P p .001 w .99625 .13942 m 1 .13942 L s P p .001 w .99625 .19952 m 1 .19952 L s P p .001 w .99625 .22957 m 1 .22957 L s P p .001 w .99625 .25962 m 1 .25962 L s P p .001 w .99625 .28966 m 1 .28966 L s P p .001 w .99625 .34976 m 1 .34976 L s P p .001 w .99625 .37981 m 1 .37981 L s P p .001 w .99625 .40986 m 1 .40986 L s P p .001 w .99625 .4399 m 1 .4399 L s P p .001 w .99625 .5 m 1 .5 L s P p .001 w .99625 .53005 m 1 .53005 L s P p .001 w .99625 .5601 m 1 .5601 L s P p .001 w .99625 .59014 m 1 .59014 L s P p .001 w .99625 .65024 m 1 .65024 L s P p .001 w .99625 .68029 m 1 .68029 L s P p .001 w .99625 .71034 m 1 .71034 L s P p .001 w .99625 .74038 m 1 .74038 L s P p .001 w .99625 .80048 m 1 .80048 L s P p .001 w .99625 .83053 m 1 .83053 L s P p .001 w .99625 .86058 m 1 .86058 L s P p .001 w .99625 .89063 m 1 .89063 L s P p .001 w .99625 .95072 m 1 .95072 L s P p .001 w .99625 .98077 m 1 .98077 L s P p .002 w 1 0 m 1 1 L s P P p P 0 0 m 1 0 L 1 1 L 0 1 L closepath clip newpath % Start of gray image p .01923 .01923 translate .96154 .96154 scale 32 string 32 32 8 [32 0 0 32 0 0] { \tcurrentfile \t1 index \treadhexstring \tpop } Mimage FF00000000000000000000FF00000000000000000000FF00 0000000000000000 00000000000000000000FF00FF000000000000000000FF00 0000000000000000 000000000000000000FF0000FF0000000000000000000000 FFFFFF0000000000 00000000000000000000FFFF000000000000000000000000 FFFFFFFF00000000 000000000000000000000000000000000000000000000000 FFFF0000FF000000 000000000000000000000000000000000000000000000000 FF00FF0000000000 00000000000000000000000000000000FFFFFF0000FFFFFF FF0000FFFFFF0000 0000000000000000000000000000000000FF00FFFF0000FF FF00000000000000 000000000000000000000000000000000000FFFFFFFF0000 0000000000000000 0000000000000000000000000000FF00000000000000FF00 0000000000000000 000000FF000000000000000000FFFFFF0000000000000000 0000000000000000 0000FFFFFF000000FF000000FF0000FFFF00000000000000 0000000000000000 FFFF00FF00FF00FF00FF00000000FFFFFF00000000000000 0000000000000000 FFFFFF000000000000FFFF00000000FFFF00000000000000 0000000000000000 00FF0000FF0000FFFF00000000000000FF00FF0000000000 0000000000000000 0000000000FF0000000000000000FF000000FF0000000000 0000000000000000 000000000000000000000000000000000000000000000000 0000000000000000 00000000000000000000000000FFFFFFFF00000000000000 0000000000000000 000000000000000000000000000000000000000000000000 00000000FFFF0000 000000000000000000000000000000000000000000000000 000000FF0000FF00 0000000000000000000000000000000000000000000000FF FF000000FF0000FF 0000000000000000000000000000000000000000000000FF FF000000FFFF0000 00000000FFFF000000FF0000000000000000000000000000 0000000000000000 000000000000000000FF0000000000000000000000000000 0000000000000000 000000000000000000FF0000000000000000000000000000 0000000000000000 000000000000000000000000000000000000000000000000 0000000000000000 000000000000000000000000000000000000000000000000 0000000000000000 FFFF00000000000000000000000000000000000000000000 0000000000000000 FFFF000000000000000000000000000000000000000000FF FF00000000000000 0000000000000000000000000000000000000000000000FF FF00FFFFFF000000 000000000000000000000000000000000000000000000000 000000FFFF000000 FF000000000000000000000000000000000000000000FF00 0000FFFF00000000 pop P % End of image p [ ] 0 setdash .0015 w .01923 .01923 m .01923 .98077 L s P p [ ] 0 setdash .0015 w .04928 .01923 m .04928 .98077 L s P p [ ] 0 setdash .0015 w .07933 .01923 m .07933 .98077 L s P p [ ] 0 setdash .0015 w .10938 .01923 m .10938 .98077 L s P p [ ] 0 setdash .0015 w .13942 .01923 m .13942 .98077 L s P p [ ] 0 setdash .0015 w .16947 .01923 m .16947 .98077 L s P p [ ] 0 setdash .0015 w .19952 .01923 m .19952 .98077 L s P p [ ] 0 setdash .0015 w .22957 .01923 m .22957 .98077 L s P p [ ] 0 setdash .0015 w .25962 .01923 m .25962 .98077 L s P p [ ] 0 setdash .0015 w .28966 .01923 m .28966 .98077 L s P p [ ] 0 setdash .0015 w .31971 .01923 m .31971 .98077 L s P p [ ] 0 setdash .0015 w .34976 .01923 m .34976 .98077 L s P p [ ] 0 setdash .0015 w .37981 .01923 m .37981 .98077 L s P p [ ] 0 setdash .0015 w .40986 .01923 m .40986 .98077 L s P p [ ] 0 setdash .0015 w .4399 .01923 m .4399 .98077 L s P p [ ] 0 setdash .0015 w .46995 .01923 m .46995 .98077 L s P p [ ] 0 setdash .0015 w .5 .01923 m .5 .98077 L s P p [ ] 0 setdash .0015 w .53005 .01923 m .53005 .98077 L s P p [ ] 0 setdash .0015 w .5601 .01923 m .5601 .98077 L s P p [ ] 0 setdash .0015 w .59014 .01923 m .59014 .98077 L s P p [ ] 0 setdash .0015 w .62019 .01923 m .62019 .98077 L s P p [ ] 0 setdash .0015 w .65024 .01923 m .65024 .98077 L s P p [ ] 0 setdash .0015 w .68029 .01923 m .68029 .98077 L s P p [ ] 0 setdash .0015 w .71034 .01923 m .71034 .98077 L s P p [ ] 0 setdash .0015 w .74038 .01923 m .74038 .98077 L s P p [ ] 0 setdash .0015 w .77043 .01923 m .77043 .98077 L s P p [ ] 0 setdash .0015 w .80048 .01923 m .80048 .98077 L s P p [ ] 0 setdash .0015 w .83053 .01923 m .83053 .98077 L s P p [ ] 0 setdash .0015 w .86058 .01923 m .86058 .98077 L s P p [ ] 0 setdash .0015 w .89063 .01923 m .89063 .98077 L s P p [ ] 0 setdash .0015 w .92067 .01923 m .92067 .98077 L s P p [ ] 0 setdash .0015 w .95072 .01923 m .95072 .98077 L s P p [ ] 0 setdash .0015 w .98077 .01923 m .98077 .98077 L s P p [ ] 0 setdash .0015 w .01923 .01923 m .98077 .01923 L s P p [ ] 0 setdash .0015 w .01923 .04928 m .98077 .04928 L s P p [ ] 0 setdash .0015 w .01923 .07933 m .98077 .07933 L s P p [ ] 0 setdash .0015 w .01923 .10938 m .98077 .10938 L s P p [ ] 0 setdash .0015 w .01923 .13942 m .98077 .13942 L s P p [ ] 0 setdash .0015 w .01923 .16947 m .98077 .16947 L s P p [ ] 0 setdash .0015 w .01923 .19952 m .98077 .19952 L s P p [ ] 0 setdash .0015 w .01923 .22957 m .98077 .22957 L s P p [ ] 0 setdash .0015 w .01923 .25962 m .98077 .25962 L s P p [ ] 0 setdash .0015 w .01923 .28966 m .98077 .28966 L s P p [ ] 0 setdash .0015 w .01923 .31971 m .98077 .31971 L s P p [ ] 0 setdash .0015 w .01923 .34976 m .98077 .34976 L s P p [ ] 0 setdash .0015 w .01923 .37981 m .98077 .37981 L s P p [ ] 0 setdash .0015 w .01923 .40986 m .98077 .40986 L s P p [ ] 0 setdash .0015 w .01923 .4399 m .98077 .4399 L s P p [ ] 0 setdash .0015 w .01923 .46995 m .98077 .46995 L s P p [ ] 0 setdash .0015 w .01923 .5 m .98077 .5 L s P p [ ] 0 setdash .0015 w .01923 .53005 m .98077 .53005 L s P p [ ] 0 setdash .0015 w .01923 .5601 m .98077 .5601 L s P p [ ] 0 setdash .0015 w .01923 .59014 m .98077 .59014 L s P p [ ] 0 setdash .0015 w .01923 .62019 m .98077 .62019 L s P p [ ] 0 setdash .0015 w .01923 .65024 m .98077 .65024 L s P p [ ] 0 setdash .0015 w .01923 .68029 m .98077 .68029 L s P p [ ] 0 setdash .0015 w .01923 .71034 m .98077 .71034 L s P p [ ] 0 setdash .0015 w .01923 .74038 m .98077 .74038 L s P p [ ] 0 setdash .0015 w .01923 .77043 m .98077 .77043 L s P p [ ] 0 setdash .0015 w .01923 .80048 m .98077 .80048 L s P p [ ] 0 setdash .0015 w .01923 .83053 m .98077 .83053 L s P p [ ] 0 setdash .0015 w .01923 .86058 m .98077 .86058 L s P p [ ] 0 setdash .0015 w .01923 .89063 m .98077 .89063 L s P p [ ] 0 setdash .0015 w .01923 .92067 m .98077 .92067 L s P p [ ] 0 setdash .0015 w .01923 .95072 m .98077 .95072 L s P p [ ] 0 setdash .0015 w .01923 .98077 m .98077 .98077 L s P % End of Graphics MathPictureEnd \ \>"], "Graphics", Evaluatable->False, AspectRatioFixed->True, ImageSize->{282, 282}, ImageMargins->{{34, Inherited}, {Inherited, Inherited}}, ImageCacheValid->False], Cell[TextData[{ StyleBox[ "Note: This material is adopted from our new book \"Modeling Nature: \ Cellular Automata Simulations using ", FontFamily->"Times", FontWeight->"Plain"], StyleBox["Mathematica", FontFamily->"Times", FontWeight->"Plain", FontSlant->"Italic"], StyleBox["\" [Gaylord and Nishidate, 1996].", FontFamily->"Times", FontWeight->"Plain"] }], "Input", AspectRatioFixed->True], Cell[TextData[" References"], "Section", Evaluatable->False, AspectRatioFixed->True, FontSize->12, FontWeight->"Bold", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}], Cell[TextData[{ "Gardner, M. \"The fantastic combinations of John Conway's new solitary \ game 'Life.'\" ", StyleBox["Scientific American", FontSlant->"Italic"], ", 223, 120-123.\n\nGaylord, Richard J and Nishidate, Kazume. \"Modeling \ Nature: Cellular Automata Simulations with ", StyleBox["Mathematica", FontSlant->"Italic"], "\". TELOS/Springer-Verlag (1996)." }], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[TextData[ "ABOUT THE EDITORS. (*Standard for this column.*)"], "Subsection", Evaluatable->False, AspectRatioFixed->True], Cell[TextData["ELECTRONIC SUBSCRIPTIONS"], "Subsection", Evaluatable->False, AspectRatioFixed->True], Cell[TextData[{ StyleBox[ "Included in the distribution for each electronic subscription is the file \ ", FontFamily->"Times", FontWeight->"Plain"], StyleBox["ToolKit.nb", FontFamily->"Courier", FontWeight->"Plain"], StyleBox[" containing ", FontFamily->"Times", FontWeight->"Plain"], StyleBox["Mathematica", FontFamily->"Times", FontWeight->"Plain", FontSlant->"Italic"], StyleBox[" code for the material described in this article.", FontFamily->"Times", FontWeight->"Plain"] }], "Input", AspectRatioFixed->True] }, FrontEndVersion->"NeXT 3.0", ScreenRectangle->{{0, 1053}, {0, 832}}, WindowToolbars->{"RulerBar", "EditBar"}, CellGrouping->Manual, WindowSize->{520, 600}, WindowMargins->{{224, Automatic}, {Automatic, 27}}, PrivateNotebookOptions->{"ColorPalette"->{RGBColor, 128}}, ShowCellLabel->True, ShowCellTags->False, RenderingOptions->{"ObjectDithering"->True, "RasterDithering"->False}, CharacterEncoding->"MacintoshAutomaticEncoding", StyleDefinitions -> Notebook[{ Cell[CellGroupData[{ Cell["Style Definitions", "Subtitle"], Cell["\<\ Modify the definitions below to change the default appearance of \ all cells in a given style. Make modifications to any definition using \ commands in the Format menu.\ \>", "Text"], Cell[CellGroupData[{ Cell["Style Environment Names", "Section"], Cell[StyleData[All, "Working"], PageWidth->WindowWidth, ScriptMinSize->9], Cell[StyleData[All, "Presentation"], PageWidth->WindowWidth, ScriptMinSize->12, FontSize->16], Cell[StyleData[All, "Condensed"], PageWidth->WindowWidth, CellBracketOptions->{"Margins"->{1, 1}, "Widths"->{0, 5}}, ScriptMinSize->8, FontSize->11], Cell[StyleData[All, "Printout"], PageWidth->PaperWidth, ScriptMinSize->5, FontSize->10, PrivateFontOptions->{"FontType"->"Outline"}] }, Closed]], Cell[CellGroupData[{ Cell["Notebook Options", "Section"], Cell["\<\ The options defined for the style below will be used at the \ Notebook level.\ \>", "Text"], Cell[StyleData["Notebook"], PageHeaders->{{Cell[ TextData[ { CounterBox[ "Page"]}], "PageNumber"], None, Cell[ TextData[ { ValueBox[ "FileName"]}], "Header"]}, {Cell[ TextData[ { ValueBox[ "FileName"]}], "Header"], None, Cell[ TextData[ { CounterBox[ "Page"]}], "PageNumber"]}}, CellFrameLabelMargins->6, StyleMenuListing->None] }, Closed]], Cell[CellGroupData[{ Cell["Styles for Headings", "Section"], Cell[CellGroupData[{ Cell[StyleData["Title"], CellMargins->{{7, 72}, {8, 40}}, Evaluatable->False, CellGroupingRules->{"TitleGrouping", 0}, CellHorizontalScrolling->False, PageBreakBelow->False, TextAlignment->Center, CounterIncrements->"Title", CounterAssignments->{{"Section", 0}, {"Equation", 0}, {"Figure", 0}, { "Subtitle", 0}, {"Subsubtitle", 0}}, AspectRatioFixed->True, FontFamily->"Times", FontSize->24, FontWeight->"Bold"], Cell[StyleData["Title", "Presentation"], CellMargins->{{24, 10}, {20, 40}}, LineSpacing->{1, 0}, FontSize->44], Cell[StyleData["Title", "Condensed"], CellMargins->{{8, 10}, {4, 8}}, FontSize->20], Cell[StyleData["Title", "Printout"], CellMargins->{{2, 10}, {12, 30}}, FontSize->24] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["Subtitle"], CellMargins->{{7, 72}, {6, 15}}, Evaluatable->False, CellGroupingRules->{"TitleGrouping", 10}, CellHorizontalScrolling->False, PageBreakBelow->False, TextAlignment->Center, CounterIncrements->"Subtitle", CounterAssignments->{{"Section", 0}, {"Equation", 0}, {"Figure", 0}, { "Subsubtitle", 0}}, AspectRatioFixed->True, FontFamily->"Times", FontSize->18, FontWeight->"Bold"], Cell[StyleData["Subtitle", "Presentation"], CellMargins->{{24, 10}, {20, 20}}, LineSpacing->{1, 0}, FontSize->36], Cell[StyleData["Subtitle", "Condensed"], CellMargins->{{8, 10}, {4, 4}}, FontSize->14], Cell[StyleData["Subtitle", "Printout"], CellMargins->{{2, 10}, {12, 8}}, FontSize->18] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["Subsubtitle"], CellMargins->{{7, 72}, {6, 15}}, Evaluatable->False, CellGroupingRules->{"TitleGrouping", 20}, CellHorizontalScrolling->False, PageBreakBelow->False, TextAlignment->Center, CounterIncrements->"Subsubtitle", CounterAssignments->{{"Section", 0}, {"Equation", 0}, {"Figure", 0}}, AspectRatioFixed->True, FontFamily->"Times", FontSize->14, FontSlant->"Italic"], Cell[StyleData["Subsubtitle", "Presentation"], CellMargins->{{24, 10}, {20, 20}}, LineSpacing->{1, 0}, FontSize->24], Cell[StyleData["Subsubtitle", "Condensed"], CellMargins->{{8, 10}, {8, 8}}, FontSize->12], Cell[StyleData["Subsubtitle", "Printout"], CellMargins->{{2, 10}, {12, 8}}, FontSize->14] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["Section"], CellDingbat->"\[GraySquare]", CellMargins->{{22, 72}, {8, 20}}, Evaluatable->False, CellGroupingRules->{"SectionGrouping", 30}, CellHorizontalScrolling->False, PageBreakBelow->False, CounterIncrements->"Section", CounterAssignments->{{"Subsection", 0}, {"Subsubsection", 0}}, AspectRatioFixed->True, FontFamily->"Times", FontSize->14, FontWeight->"Bold"], Cell[StyleData["Section", "Presentation"], CellMargins->{{40, 10}, {11, 32}}, LineSpacing->{1, 0}, FontSize->24], Cell[StyleData["Section", "Condensed"], CellMargins->{{18, Inherited}, {6, 12}}, FontSize->12], Cell[StyleData["Section", "Printout"], CellMargins->{{13, 0}, {7, 22}}, FontSize->14] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["Subsection"], CellDingbat->"\[FilledSquare]", CellMargins->{{19, 72}, {8, 15}}, Evaluatable->False, CellGroupingRules->{"SectionGrouping", 40}, CellHorizontalScrolling->False, PageBreakBelow->False, CounterIncrements->"Subsection", CounterAssignments->{{"Subsubsection", 0}}, AspectRatioFixed->True, FontFamily->"Times", FontSize->14, FontWeight->"Bold"], Cell[StyleData["Subsection", "Presentation"], CellMargins->{{36, 10}, {11, 32}}, LineSpacing->{1, 0}, FontSize->22], Cell[StyleData["Subsection", "Condensed"], CellMargins->{{16, Inherited}, {6, 12}}, FontSize->12], Cell[StyleData["Subsection", "Printout"], CellMargins->{{9, 0}, {7, 22}}, FontSize->12] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["Subsubsection"], CellDingbat->"\[EmptySquare]", CellMargins->{{18, 72}, {8, 12}}, Evaluatable->False, CellGroupingRules->{"SectionGrouping", 50}, CellHorizontalScrolling->False, PageBreakBelow->False, CounterIncrements->"Subsubsection", AspectRatioFixed->True, FontFamily->"Times", FontSize->12, FontWeight->"Bold"], Cell[StyleData["Subsubsection", "Presentation"], CellMargins->{{34, 10}, {11, 26}}, LineSpacing->{1, 0}, FontSize->18], Cell[StyleData["Subsubsection", "Condensed"], CellMargins->{{17, Inherited}, {6, 12}}, FontSize->10], Cell[StyleData["Subsubsection", "Printout"], CellMargins->{{9, 0}, {7, 14}}, FontSize->11] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["Styles for Body Text", "Section"], Cell[CellGroupData[{ Cell[StyleData["Text"], CellMargins->{{7, 72}, {7, 7}}, Evaluatable->False, CellHorizontalScrolling->False, PageBreakWithin->Automatic, LineSpacing->{1, 3}, CounterIncrements->"Text", AspectRatioFixed->True, FontFamily->"Times", FontSize->12], Cell[StyleData["Text", "Presentation"], CellMargins->{{24, 10}, {10, 10}}, LineSpacing->{1, 5}], Cell[StyleData["Text", "Condensed"], CellMargins->{{8, 10}, {6, 6}}, LineSpacing->{1, 1}], Cell[StyleData["Text", "Printout"], CellMargins->{{2, 2}, {6, 6}}] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["SmallText"], CellMargins->{{7, 72}, {6, 6}}, Evaluatable->False, CellHorizontalScrolling->False, PageBreakWithin->Automatic, LineSpacing->{1, 3}, CounterIncrements->"SmallText", AspectRatioFixed->True, FontFamily->"Times", FontSize->10], Cell[StyleData["SmallText", "Presentation"], CellMargins->{{24, 10}, {8, 8}}, LineSpacing->{1, 5}, FontSize->12], Cell[StyleData["SmallText", "Condensed"], CellMargins->{{8, 10}, {5, 5}}, LineSpacing->{1, 2}, FontSize->9], Cell[StyleData["SmallText", "Printout"], CellMargins->{{2, 2}, {5, 5}}, FontSize->7] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["Styles for Input/Output", "Section"], Cell["\<\ The cells in this section define styles used for input and output \ to the kernel. Be careful when modifying, renaming, or removing these \ styles, because the front end associates special meanings with these style \ names.\ \>", "Text"], Cell[CellGroupData[{ Cell[StyleData["Input"], CellMargins->{{42, 72}, {5, 7}}, Evaluatable->True, CellGroupingRules->"InputGrouping", CellHorizontalScrolling->True, PageBreakWithin->False, GroupPageBreakWithin->False, CellLabelMargins->{{23, Inherited}, {Inherited, Inherited}}, DefaultFormatType->DefaultInputFormatType, LineSpacing->{1, 0}, AutoItalicWords->{}, FormatType->InputForm, ShowStringCharacters->True, NumberMarks->True, CounterIncrements->"Input", AspectRatioFixed->True, FontFamily->"Times", FontSize->12, FontWeight->"Bold"], Cell[StyleData["Input", "Presentation"], CellMargins->{{72, Inherited}, {8, 10}}, LineSpacing->{1, 0}], Cell[StyleData["Input", "Condensed"], CellMargins->{{40, 10}, {2, 3}}], Cell[StyleData["Input", "Printout"], CellMargins->{{39, 0}, {4, 6}}, FontSize->9] }, Closed]], Cell[StyleData["InputOnly"], Evaluatable->True, CellGroupingRules->"InputGrouping", CellHorizontalScrolling->True, DefaultFormatType->DefaultInputFormatType, AutoItalicWords->{}, FormatType->InputForm, ShowStringCharacters->True, NumberMarks->True, CounterIncrements->"Input", StyleMenuListing->None, FontWeight->"Bold"], Cell[CellGroupData[{ Cell[StyleData["Output"], CellMargins->{{42, 72}, {7, 5}}, CellEditDuplicate->True, Evaluatable->False, CellGroupingRules->"OutputGrouping", CellHorizontalScrolling->True, PageBreakWithin->False, GroupPageBreakWithin->False, GeneratedCell->True, CellAutoOverwrite->True, CellLabelMargins->{{23, Inherited}, {Inherited, Inherited}}, DefaultFormatType->DefaultOutputFormatType, LineSpacing->{1, 0}, AutoItalicWords->{}, FormatType->InputForm, CounterIncrements->"Output", AspectRatioFixed->True, FontFamily->"Courier", FontSize->12, FontColor->RGBColor[1, 0, 1]], Cell[StyleData["Output", "Presentation"], CellMargins->{{72, Inherited}, {10, 8}}, LineSpacing->{1, 0}], Cell[StyleData["Output", "Condensed"], CellMargins->{{41, Inherited}, {3, 2}}], Cell[StyleData["Output", "Printout"], CellMargins->{{39, 0}, {6, 4}}, FontSize->9] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["Message"], CellMargins->{{42, 72}, {Inherited, Inherited}}, Evaluatable->False, CellGroupingRules->"OutputGrouping", PageBreakWithin->False, GroupPageBreakWithin->False, GeneratedCell->True, CellAutoOverwrite->True, ShowCellLabel->False, CellLabelMargins->{{23, Inherited}, {Inherited, Inherited}}, DefaultFormatType->DefaultOutputFormatType, LineSpacing->{1, 0}, AutoItalicWords->{}, FormatType->InputForm, CounterIncrements->"Message", AspectRatioFixed->True, StyleMenuListing->None, FontFamily->"Courier", FontSize->12, FontColor->RGBColor[1, 0, 0]], Cell[StyleData["Message", "Presentation"], CellMargins->{{72, Inherited}, {Inherited, Inherited}}, LineSpacing->{1, 0}], Cell[StyleData["Message", "Condensed"], CellMargins->{{41, Inherited}, {Inherited, Inherited}}], Cell[StyleData["Message", "Printout"], CellMargins->{{39, Inherited}, {Inherited, Inherited}}, FontSize->8, FontColor->GrayLevel[0]] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["Print"], CellMargins->{{42, 72}, {Inherited, Inherited}}, Evaluatable->False, CellGroupingRules->"OutputGrouping", CellHorizontalScrolling->True, PageBreakWithin->False, GroupPageBreakWithin->False, GeneratedCell->True, CellAutoOverwrite->True, ShowCellLabel->False, CellLabelMargins->{{23, Inherited}, {Inherited, Inherited}}, DefaultFormatType->DefaultOutputFormatType, LineSpacing->{1, 0}, AutoItalicWords->{}, FormatType->InputForm, CounterIncrements->"Print", AspectRatioFixed->True, StyleMenuListing->None, FontFamily->"Courier", FontSize->12, FontColor->RGBColor[0, 1, 0]], Cell[StyleData["Print", "Presentation"], CellMargins->{{72, Inherited}, {Inherited, Inherited}}, LineSpacing->{1, 0}], Cell[StyleData["Print", "Condensed"], CellMargins->{{41, Inherited}, {Inherited, Inherited}}], Cell[StyleData["Print", "Printout"], CellMargins->{{39, Inherited}, {Inherited, Inherited}}, FontSize->8] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["Graphics"], PageWidth->Infinity, CellMargins->{{7, 72}, {Inherited, Inherited}}, Evaluatable->False, CellGroupingRules->"GraphicsGrouping", CellHorizontalScrolling->True, PageBreakWithin->False, GroupPageBreakWithin->False, GeneratedCell->True, CellAutoOverwrite->True, ShowCellLabel->False, DefaultFormatType->DefaultOutputFormatType, FormatType->InputForm, CounterIncrements->"Graphics", AspectRatioFixed->True, ImageSize->{282, 287}, ImageMargins->{{34, Inherited}, {Inherited, 0}}, StyleMenuListing->None, FontFamily->"Courier", FontSize->12], Cell[StyleData["Graphics", "Presentation"], ImageMargins->{{62, Inherited}, {Inherited, 0}}], Cell[StyleData["Graphics", "Condensed"], ImageSize->{175, 175}, ImageMargins->{{38, Inherited}, {Inherited, 0}}], Cell[StyleData["Graphics", "Printout"], ImageSize->{250, 250}, ImageMargins->{{30, Inherited}, {Inherited, 0}}, FontSize->9] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["CellLabel"], StyleMenuListing->None, FontFamily->"Helvetica", FontSize->9, FontColor->RGBColor[0, 0, 1]], Cell[StyleData["CellLabel", "Presentation"], FontSize->12], Cell[StyleData["CellLabel", "Condensed"], FontSize->9], Cell[StyleData["CellLabel", "Printout"], FontFamily->"WriCMTT9", FontSize->8, FontSlant->"Italic", FontColor->GrayLevel[0]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["Formulas and Programming", "Section"], Cell[CellGroupData[{ Cell[StyleData["InlineFormula"], CellMargins->{{10, 4}, {0, 8}}, CellHorizontalScrolling->True, ScriptLevel->1, SingleLetterItalics->True], Cell[StyleData["InlineFormula", "Presentation"], CellMargins->{{24, 10}, {10, 10}}, LineSpacing->{1, 5}], Cell[StyleData["InlineFormula", "Condensed"], CellMargins->{{8, 10}, {6, 6}}, LineSpacing->{1, 1}], Cell[StyleData["InlineFormula", "Printout"], CellMargins->{{2, 0}, {6, 6}}] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["DisplayFormula"], CellMargins->{{42, Inherited}, {Inherited, Inherited}}, CellHorizontalScrolling->True, ScriptLevel->0, SingleLetterItalics->True, StyleMenuListing->None, UnderoverscriptBoxOptions->{LimitsPositioning->True}], Cell[StyleData["DisplayFormula", "Presentation"], LineSpacing->{1, 5}], Cell[StyleData["DisplayFormula", "Condensed"], LineSpacing->{1, 1}], Cell[StyleData["DisplayFormula", "Printout"]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["Styles for Headers and Footers", "Section"], Cell[StyleData["Header"], CellMargins->{{7, 72}, {4, 1}}, Evaluatable->False, PageBreakWithin->Automatic, AspectRatioFixed->True, StyleMenuListing->None, FontFamily->"Times", FontSize->12, FontSlant->"Italic"], Cell[StyleData["Footer"], CellMargins->{{7, 72}, {0, 4}}, Evaluatable->False, PageBreakWithin->Automatic, TextAlignment->Center, AspectRatioFixed->True, StyleMenuListing->None, FontFamily->"Times", FontSize->12, FontSlant->"Italic"], Cell[StyleData["PageNumber"], CellMargins->{{0, 0}, {4, 1}}, StyleMenuListing->None, FontFamily->"Times", FontSize->10] }, Closed]], Cell[CellGroupData[{ Cell["Palette Styles", "Section"], Cell["\<\ The cells below define styles that define standard \ ButtonFunctions, for use in palette buttons.\ \>", "Text"], Cell[StyleData["Paste"], StyleMenuListing->None, ButtonStyleMenuListing->Automatic, ButtonBoxOptions->{ButtonFunction:>(FrontEndExecute[ { FrontEnd`NotebookApply[ FrontEnd`InputNotebook[ ], #, After]}]&)}], Cell[StyleData["Evaluate"], StyleMenuListing->None, ButtonStyleMenuListing->Automatic, ButtonBoxOptions->{ButtonFunction:>(FrontEndExecute[ { FrontEnd`NotebookApply[ FrontEnd`InputNotebook[ ], #, All], SelectionEvaluate[ FrontEnd`InputNotebook[ ], All]}]&)}], Cell[StyleData["EvaluateCell"], StyleMenuListing->None, ButtonStyleMenuListing->Automatic, ButtonBoxOptions->{ButtonFunction:>(FrontEndExecute[ { FrontEnd`NotebookApply[ FrontEnd`InputNotebook[ ], #, All], FrontEnd`SelectionMove[ FrontEnd`InputNotebook[ ], All, Cell, 1], FrontEnd`SelectionEvaluateCreateCell[ FrontEnd`InputNotebook[ ], All]}]&)}], Cell[StyleData["CopyEvaluate"], StyleMenuListing->None, ButtonStyleMenuListing->Automatic, ButtonBoxOptions->{ButtonFunction:>(FrontEndExecute[ { FrontEnd`SelectionCreateCell[ FrontEnd`InputNotebook[ ], All], FrontEnd`NotebookApply[ FrontEnd`InputNotebook[ ], #, All], FrontEnd`SelectionEvaluate[ FrontEnd`InputNotebook[ ], All]}]&)}], Cell[StyleData["CopyEvaluateCell"], StyleMenuListing->None, ButtonStyleMenuListing->Automatic, ButtonBoxOptions->{ButtonFunction:>(FrontEndExecute[ { FrontEnd`SelectionCreateCell[ FrontEnd`InputNotebook[ ], All], FrontEnd`NotebookApply[ FrontEnd`InputNotebook[ ], #, All], FrontEnd`SelectionEvaluateCreateCell[ FrontEnd`InputNotebook[ ], All]}]&)}] }, Closed]], Cell[CellGroupData[{ Cell["Hyperlink Styles", "Section"], Cell["\<\ The cells below define styles useful for making hypertext \ ButtonBoxes. The \"Hyperlink\" style is for links within the same Notebook, \ or between Notebooks.\ \>", "Text"], Cell[CellGroupData[{ Cell[StyleData["Hyperlink"], StyleMenuListing->None, ButtonStyleMenuListing->Automatic, FontColor->RGBColor[0, 0, 1], FontVariations->{"Underline"->True}, ButtonBoxOptions->{ButtonFunction:>(FrontEndExecute[ { FrontEnd`NotebookLocate[ #2]}]&), Active->True, ButtonNote->ButtonData}], Cell[StyleData["Hyperlink", "Presentation"]], Cell[StyleData["Hyperlink", "Condensed"]], Cell[StyleData["Hyperlink", "Printout"], FontColor->GrayLevel[0], FontVariations->{"Underline"->False}] }, Closed]], Cell["\<\ The following styles are for linking automatically to the on-line \ help system.\ \>", "Text"], Cell[CellGroupData[{ Cell[StyleData["MainBookLink"], StyleMenuListing->None, ButtonStyleMenuListing->Automatic, FontColor->RGBColor[0, 0, 1], FontVariations->{"Underline"->True}, ButtonBoxOptions->{ButtonFunction:>(FrontEndExecute[ { FrontEnd`HelpBrowserLookup[ "MainBook", #]}]&), Active->True, ButtonFrame->"None"}], Cell[StyleData["MainBookLink", "Presentation"]], Cell[StyleData["MainBookLink", "Condensed"]], Cell[StyleData["MainBookLink", "Printout"], FontColor->GrayLevel[0], FontVariations->{"Underline"->False}] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["AddOnsLink"], StyleMenuListing->None, ButtonStyleMenuListing->Automatic, FontFamily->"WriCMTT9", FontColor->RGBColor[0, 0, 1], FontVariations->{"Underline"->True}, ButtonBoxOptions->{ButtonFunction:>(FrontEndExecute[ { FrontEnd`HelpBrowserLookup[ "AddOns", #]}]&), Active->True, ButtonFrame->"None"}], Cell[StyleData["AddOnsLink", "Presentation"]], Cell[StyleData["AddOnsLink", "Condensed"]], Cell[StyleData["AddOnLink", "Printout"], FontColor->GrayLevel[0], FontVariations->{"Underline"->False}] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["RefGuideLink"], StyleMenuListing->None, ButtonStyleMenuListing->Automatic, FontFamily->"WriCMTT9", FontColor->RGBColor[0, 0, 1], FontVariations->{"Underline"->True}, ButtonBoxOptions->{ButtonFunction:>(FrontEndExecute[ { FrontEnd`HelpBrowserLookup[ "RefGuideLink", #]}]&), Active->True, ButtonFrame->"None"}], Cell[StyleData["RefGuideLink", "Presentation"]], Cell[StyleData["RefGuideLink", "Condensed"]], Cell[StyleData["RefGuideLink", "Printout"], FontColor->GrayLevel[0], FontVariations->{"Underline"->False}] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["GettingStartedLink"], StyleMenuListing->None, ButtonStyleMenuListing->Automatic, FontColor->RGBColor[0, 0, 1], FontVariations->{"Underline"->True}, ButtonBoxOptions->{ButtonFunction:>(FrontEndExecute[ { FrontEnd`HelpBrowserLookup[ "GettingStarted", #]}]&), Active->True, ButtonFrame->"None"}], Cell[StyleData["GettingStartedLink", "Presentation"]], Cell[StyleData["GettingStartedLink", "Condensed"]], Cell[StyleData["GettingStartedLink", "Printout"], FontColor->GrayLevel[0], FontVariations->{"Underline"->False}] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["OtherInformationLink"], StyleMenuListing->None, ButtonStyleMenuListing->Automatic, FontColor->RGBColor[0, 0, 1], FontVariations->{"Underline"->True}, ButtonBoxOptions->{ButtonFunction:>(FrontEndExecute[ { FrontEnd`HelpBrowserLookup[ "OtherInformation", #]}]&), Active->True, ButtonFrame->"None"}], Cell[StyleData["OtherInformationLink", "Presentation"]], Cell[StyleData["OtherInformationLink", "Condensed"]], Cell[StyleData["OtherInformationLink", "Printout"], FontColor->GrayLevel[0], FontVariations->{"Underline"->False}] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["Placeholder Styles", "Section"], Cell["\<\ The cells below define styles useful for making placeholder \ objects in palette templates.\ \>", "Text"], Cell[CellGroupData[{ Cell[StyleData["Placeholder"], Editable->False, Selectable->False, StyleBoxAutoDelete->True, Placeholder->True, StyleMenuListing->None], Cell[StyleData["Placeholder", "Presentation"]], Cell[StyleData["Placeholder", "Condensed"]], Cell[StyleData["Placeholder", "Printout"]] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["SelectionPlaceholder"], Editable->False, Selectable->False, StyleBoxAutoDelete->True, Placeholder->Primary, StyleMenuListing->None, DrawHighlighted->True], Cell[StyleData["SelectionPlaceholder", "Presentation"]], Cell[StyleData["SelectionPlaceholder", "Condensed"]], Cell[StyleData["SelectionPlaceholder", "Printout"]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["FormatType Styles", "Section"], Cell["\<\ The cells below define styles that are mixed in with the styles \ of most cells. If a cell's FormatType matches the name of one of the styles \ defined below, then that style is applied between the cell's style and its \ own options.\ \>", "Text"], Cell[StyleData["CellExpression"], PageWidth->Infinity, CellMargins->{{6, Inherited}, {Inherited, Inherited}}, ShowCellLabel->False, ShowSpecialCharacters->False, AllowInlineCells->False, AutoItalicWords->{}, StyleMenuListing->None, FontFamily->"WriCMTT9", Background->GrayLevel[1]], Cell[StyleData["InputForm"], AllowInlineCells->False, StyleMenuListing->None, FontFamily->"WriCMTT9"], Cell[StyleData["OutputForm"], PageWidth->Infinity, TextAlignment->Left, LineSpacing->{1, -5}, StyleMenuListing->None, FontFamily->"WriCMTT9"], Cell[StyleData["StandardForm"], LineSpacing->{1.25, 0}, StyleMenuListing->None, FontFamily->"WriCMTT9"], Cell[StyleData["TraditionalForm"], LineSpacing->{1.25, 0}, SingleLetterItalics->True, TraditionalFunctionNotation->True, DelimiterMatching->None, StyleMenuListing->None], Cell["\<\ The style defined below is mixed in to any cell that is in an \ inline cell within another.\ \>", "Text"], Cell[StyleData["InlineCell"], TextAlignment->Left, ScriptLevel->1, StyleMenuListing->None], Cell[StyleData["InlineCellEditing"], StyleMenuListing->None, Background->RGBColor[1, 0.749996, 0.8]] }, Closed]] }, Open ]] }] ] (*********************************************************************** Cached data follows. If you edit this Notebook file directly, not using Mathematica, you must remove the line containing CacheID at the top of the file. The cache data will then be recreated when you save this file from within Mathematica. ***********************************************************************) (*CellTagsOutline CellTagsIndex->{} *) (*CellTagsIndex CellTagsIndex->{} *) (*NotebookFileOutline Notebook[{ Cell[CellGroupData[{ Cell[1731, 51, 158, 5, 100, "Title"], Cell[1892, 58, 245, 6, 66, "Subsubtitle"], Cell[2140, 66, 137, 3, 29, "Input"], Cell[2280, 71, 500, 11, 94, "Text"], Cell[CellGroupData[{ Cell[2805, 86, 288, 9, 42, "Section"], Cell[3096, 97, 267, 5, 62, "Text"], Cell[3366, 104, 154, 4, 30, "Text"], Cell[3523, 110, 737, 11, 174, "Text"], Cell[4263, 123, 361, 6, 70, "Text"], Cell[4627, 131, 275, 8, 70, "Text"] }, Open ]], Cell[CellGroupData[{ Cell[4939, 144, 320, 10, 70, "Section", PageBreakBelow->Automatic], Cell[5262, 156, 241, 5, 70, "Text"], Cell[5506, 163, 164, 4, 70, "Text"], Cell[5673, 169, 161, 4, 70, "Text"], Cell[5837, 175, 250, 5, 70, "Text"], Cell[6090, 182, 205, 4, 70, "Text"] }, Open ]], Cell[CellGroupData[{ Cell[6332, 191, 284, 10, 70, "Section", PageBreakBelow->Automatic], Cell[6619, 203, 205, 4, 70, "Text"], Cell[CellGroupData[{ Cell[6849, 211, 90, 1, 70, "Input"], Cell[6942, 214, 434, 21, 70, "Output"] }, Open ]], Cell[7391, 238, 384, 7, 70, "Text"], Cell[7778, 247, 177, 4, 70, "Text"], Cell[CellGroupData[{ Cell[7980, 255, 116, 2, 70, "Input"], Cell[8099, 259, 331, 19, 70, "Output"] }, Open ]], Cell[8445, 281, 660, 18, 70, "Text"], Cell[CellGroupData[{ Cell[9130, 303, 380, 8, 70, "Input", PageBreakAbove->True, PageBreakWithin->Automatic], Cell[9513, 313, 1550, 140, 70, 1327, 133, "GraphicsData", "PostScript", "Graphics", PageBreakWithin->Automatic] }, Open ]], Cell[11078, 456, 101, 1, 70, "Input"], Cell[11182, 459, 496, 17, 70, "Text"] }, Open ]], Cell[CellGroupData[{ Cell[11715, 481, 316, 11, 70, "Section", PageBreakWithin->Automatic, PageBreakBelow->Automatic], Cell[12034, 494, 393, 7, 70, "Text"], Cell[12430, 503, 124, 3, 70, "Subsection"], Cell[12557, 508, 228, 6, 70, "Text", PageBreakWithin->False], Cell[12788, 516, 335, 9, 70, "Text"], Cell[13126, 527, 118, 3, 70, "Subsection"], Cell[13247, 532, 236, 6, 70, "Text", PageBreakWithin->False], Cell[13486, 540, 384, 10, 70, "Text"], Cell[13873, 552, 167, 4, 70, "Text"], Cell[14043, 558, 118, 3, 70, "Subsection"], Cell[14164, 563, 317, 7, 70, "Text", PageBreakWithin->False], Cell[14484, 572, 372, 9, 70, "Text"], Cell[14859, 583, 240, 5, 70, "Text", PageBreakBelow->True], Cell[15102, 590, 245, 5, 70, "Text"], Cell[CellGroupData[{ Cell[15372, 599, 98, 1, 70, "Input"], Cell[15473, 602, 371, 19, 70, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[15881, 626, 179, 3, 70, "Input"], Cell[CellGroupData[{ Cell[16085, 633, 2150, 75, 70, "Output"], Cell[CellGroupData[{ Cell[18260, 712, 248, 5, 70, "Text"], Cell[18511, 719, 2024, 28, 70, "Text"] }, Closed]] }, Closed]] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[20608, 755, 266, 9, 70, "Section"], Cell[20877, 766, 964, 14, 70, "Text"], Cell[CellGroupData[{ Cell[21866, 784, 115, 3, 70, "Subsection"], Cell[21984, 789, 232, 5, 70, "Text"], Cell[22219, 796, 279, 5, 70, "Text"] }, Open ]], Cell[CellGroupData[{ Cell[22535, 806, 173, 5, 70, "Subsection"], Cell[22711, 813, 430, 7, 70, "Text"], Cell[23144, 822, 415, 7, 70, "Text"] }, Open ]], Cell[CellGroupData[{ Cell[23596, 834, 113, 3, 70, "Subsection"], Cell[23712, 839, 317, 6, 70, "Text"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[24078, 851, 278, 9, 70, "Section"], Cell[24359, 862, 264, 5, 70, "Text"], Cell[24626, 869, 237, 5, 70, "Text"], Cell[24866, 876, 211, 8, 70, "Input"], Cell[25080, 886, 208, 4, 70, "Text"], Cell[25291, 892, 231, 5, 70, "Text"], Cell[25525, 899, 227, 8, 70, "Input"], Cell[25755, 909, 286, 5, 70, "Text"], Cell[26044, 916, 288, 6, 70, "Text"], Cell[26335, 924, 243, 8, 70, "Input"], Cell[26581, 934, 368, 6, 70, "Text"] }, Open ]], Cell[26964, 943, 580, 9, 70, "Text"], Cell[CellGroupData[{ Cell[27569, 956, 281, 9, 70, "Section"], Cell[27853, 967, 171, 4, 70, "Text"], Cell[28027, 973, 176, 4, 70, "Text"], Cell[28206, 979, 380, 11, 70, "Input"], Cell[28589, 992, 193, 3, 70, "Input"], Cell[28785, 997, 148, 4, 70, "Text"], Cell[28936, 1003, 121, 3, 70, "Text"], Cell[29060, 1008, 170, 4, 70, "Text"], Cell[29233, 1014, 371, 7, 70, "Text"], Cell[29607, 1023, 148, 4, 70, "Text"], Cell[29758, 1029, 116, 3, 70, "Text"], Cell[29877, 1034, 170, 4, 70, "Text"], Cell[30050, 1040, 438, 8, 70, "Text"], Cell[30491, 1050, 148, 4, 70, "Text"], Cell[30642, 1056, 116, 3, 70, "Text"], Cell[30761, 1061, 234, 5, 70, "Text"], Cell[CellGroupData[{ Cell[31020, 1070, 207, 7, 70, "Input"], Cell[31230, 1079, 206, 12, 70, "Output"] }, Open ]], Cell[31451, 1094, 254, 10, 70, "Text"], Cell[CellGroupData[{ Cell[31730, 1108, 186, 7, 70, "Input"], Cell[31919, 1117, 346, 7, 70, "Output"] }, Open ]], Cell[32280, 1127, 284, 5, 70, "Text"], Cell[CellGroupData[{ Cell[32589, 1136, 342, 10, 70, "Input"], Cell[32934, 1148, 409, 19, 70, "Output"] }, Open ]], Cell[33358, 1170, 349, 11, 70, "Text"], Cell[CellGroupData[{ Cell[33732, 1185, 156, 6, 70, "Input"], Cell[33891, 1193, 168, 8, 70, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[34096, 1206, 152, 6, 70, "Input"], Cell[34251, 1214, 225, 9, 70, "Output", PageBreakBelow->False] }, Open ]], Cell[CellGroupData[{ Cell[34513, 1228, 152, 6, 70, "Input"], Cell[34668, 1236, 233, 9, 70, "Output"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[34950, 1251, 254, 9, 70, "Section"], Cell[35207, 1262, 266, 5, 70, "Text"], Cell[35476, 1269, 159, 3, 70, "Input"], Cell[35638, 1274, 508, 13, 70, "Text"], Cell[36149, 1289, 235, 8, 70, "Input"], Cell[36387, 1299, 479, 12, 70, "Text"], Cell[36869, 1313, 314, 10, 70, "Input"], Cell[37186, 1325, 344, 11, 70, "Text"] }, Open ]], Cell[CellGroupData[{ Cell[37567, 1341, 263, 9, 70, "Section"], Cell[37833, 1352, 167, 4, 70, "Text"], Cell[38003, 1358, 435, 11, 70, "Text", PageBreakAbove->True] }, Open ]], Cell[CellGroupData[{ Cell[38475, 1374, 269, 9, 70, "Section"], Cell[38747, 1385, 1157, 25, 70, "Text"], Cell[39907, 1412, 714, 12, 70, "Text"], Cell[CellGroupData[{ Cell[40646, 1428, 274, 9, 70, "Subsection"], Cell[40923, 1439, 175, 4, 70, "Text"], Cell[41101, 1445, 290, 5, 70, "Text"], Cell[41394, 1452, 889, 21, 70, "Text"], Cell[42286, 1475, 466, 10, 70, "Text"], Cell[CellGroupData[{ Cell[42777, 1489, 277, 9, 70, "Subsubsection"], Cell[43057, 1500, 152, 4, 70, "Text"], Cell[43212, 1506, 424, 9, 70, "Input"], Cell[43639, 1517, 339, 11, 70, "Input"], Cell[43981, 1530, 774, 20, 70, "Text"], Cell[CellGroupData[{ Cell[44780, 1554, 198, 7, 70, "Input"], Cell[44981, 1563, 149, 7, 70, "Output"] }, Open ]], Cell[45145, 1573, 279, 10, 70, "Text"], Cell[45427, 1585, 244, 7, 70, "Input"], Cell[45674, 1594, 242, 7, 70, "Input"], Cell[45919, 1603, 201, 7, 70, "Text"], Cell[46123, 1612, 278, 9, 70, "Input"], Cell[CellGroupData[{ Cell[46426, 1625, 209, 7, 70, "Input"], Cell[46638, 1634, 115, 3, 70, "Print"], Cell[46756, 1639, 484, 8, 70, "Print"] }, Open ]], Cell[47255, 1650, 242, 5, 70, "Text"], Cell[CellGroupData[{ Cell[47522, 1659, 186, 7, 70, "Input"], Cell[47711, 1668, 135, 7, 70, "Output"] }, Open ]], Cell[47861, 1678, 188, 4, 70, "Text"], Cell[48052, 1684, 132, 3, 70, "Input"], Cell[48187, 1689, 675, 11, 70, "Text"] }, Open ]], Cell[48877, 1703, 180, 4, 70, "Text"] }, Open ]], Cell[CellGroupData[{ Cell[49094, 1712, 257, 9, 70, "Subsection"], Cell[CellGroupData[{ Cell[49376, 1725, 1100, 16, 70, "Input"], Cell[50479, 1743, 228, 5, 70, "Message"] }, Open ]] }, Open ]] }, Open ]] }, Open ]], Cell[50758, 1754, 337, 13, 70, "Text"], Cell[51098, 1769, 13012, 1423, 70, 12854, 1418, "GraphicsData", "PostScript", "Graphics"], Cell[64113, 3194, 13012, 1423, 70, 12854, 1418, "GraphicsData", "PostScript", "Graphics"], Cell[77128, 4619, 13012, 1423, 70, 12854, 1418, "GraphicsData", "PostScript", "Graphics"], Cell[90143, 6044, 429, 14, 70, "Input"], Cell[90575, 6060, 252, 9, 70, "Section"], Cell[90830, 6071, 442, 12, 70, "Text"], Cell[91275, 6085, 129, 3, 70, "Subsection"], Cell[91407, 6090, 104, 2, 70, "Subsection"], Cell[91514, 6094, 571, 20, 70, "Input"] } ] *) (*********************************************************************** End of Mathematica Notebook file. ***********************************************************************)