text:
Cellular Automata/Listing Preimages

Two algorithms are described for listing the preimages of a present configuration. The first algorithm is described in many texts by Andrew Wuensche the second is introduced in this book.

Preimage network

A new graph the preimage network is introduced to facilitate the description of reverse algorithms in terms of paths through the graph.

The preimage diagram of a single cell is the network of preimages of that cell. Like preimage matrices of cells in a sequence $$\alpha=c_0,c_1,\dots,c_x,\dots,c_{l-1}$$ length $$l$$ are aligned into a chain and multiplied, preimage diagrams for each of the cells can be aligned to form the preimage network. If all the links in the De Bruijn diagram are taken into account, than only those representing neighborhoods that are mapped into the observed cell are valid links. Each link or path consisting of many links between nodes in the diagram is a locally valid path.

Elements $$d_{o_L o_R}$$ in the multiplied preimage matrix $$D(\alpha)$$ count the preimages beginning at one of the left overlaps $$o_L=o_0$$ and ending at one of the right overlaps $$o_L=o_l$$. In the same way there are $$d_{o_L o_R}$$ different valid paths between the two overlaps in the preimage network.

The definition of what is globally valid depends on whether the finite lattice is bounded or cyclic. A node on a locally valid path is a locally valid node. A node on a globally valid path is a globally valid node.
 * On a bounded lattice a globally valid path connects any overlap on the left boundary to any overlap at the right boundary.
 * on a cyclic lattice a globally valid path must begin and end at the same overlap value.

The arrows that point the links in the increasing direction of the position index can be omitted.

Link weights

Overlaps and neighborhoods in the preimage network can be weighted depending on the number of globally valid paths passing through them. The weights can be illustrated on the preimage network as node size (not used in the examples) and line thickness. Since the number of preimages may increase exponentially the thickness may be a logarithm of the weight.

 * $$ w_{log} = \log_{|S|}w $$

There are two different ways to define and calculate weights depending on whether the finite lattice is bounded or cyclic.

Bounded lattice
The weights for links $$n_x=o_sc_s=c_do_d$$ at position index $$x$$ are the product of:
 * the number of paths $$p_{b_L,o_s}$$ from left boundary $$b_L$$ to the source overlap $$o_s$$ and
 * the number of paths $$p_{o_d,b_R}$$ from the drain overlap $$o_d$$ to the right boundary $$b_R$$.

 * $$ w(n_x) = p_{b_L,0_s} \cdot p_{o_d,b_R} $$

Both parts of the product are contained inside preimage vectors, $$b_s$$ for the left part and $$b_d$$ for the right part.

 * $$ b_s = b_{L,x}  = b_L D(c_0 c_1 \dots c_{x-1}) $$
 * $$ b_d = b_{x+1,R} = D(c_{x+1} c_{x+2} \dots c_{l-1}) b_R $$

Cyclic lattice
On a cyclic lattice the weights for links $$n_x=o_sc_s=c_do_d$$ at position index $$x$$ are the sum over overlaps of products of:
 * the number of paths $$p_{o_L,o_s}$$ from one left overlap $$o_L$$ to the source overlap $$o_s$$ and
 * the number of paths $$p_{o_d,o_R}$$ from the drain overlap $$o_d$$ to the right boundary $$b_R$$.

 * $$ w(n_x) = \sum_{o=0}^{|S|^{k-1}-1} p_{o,o_s} \cdot p_{o_d,o} $$

Because boundary overlaps must be distinguished the preimage vector is not enough and the information on the number of paths is contained in preimage matrices.

 * $$ D_{L,x-1}(c_0 c_1 \dots c_{x-1}) \qquad  D_{x+1,R}(c_{x+1} c_{x+2} \dots c_{l-1}) $$

Computing weights
To compute all the link weights both preimage counts from the left boundary to each cell and from the right boundary to each cell are needed. For bounded lattices the counts are stored in preimage vectors, for cyclic lattices counts are stored in preimage matrices.

Bounded lattice
For bounded lattices the preimage counts are stored as preimage vectors. The first counts at the left $$b_{L,0}$$ and the right $$b_{l,R}$$ are boundary vectors.

 * $$ b_{L,0} = b_L \qquad  b_{l,R} = b_R^T $$

Left sided counts $$ b_{L,x}$$ are calculated from the left to the right, the vector at position $$x$$ is calculated from the vector at position $$x-1$$. Right sided counts $$ b_{x,R}$$ are calculated from the right to the left, the vector at position $$x$$ is calculated from the vector at position $$x+1$$.

 * $$ b_{L,x} = D(c_0 c_1 \dots c_{x-1}) b_R^T = b_{L,x-1} D(c_{x-1}) $$

 * $$ b_{x,R} = D(c_x c_{x+1} \dots c_{l-1}) b_R^T = D(c_x) b_{x+1} $$

The total number of all preimages is calculated by applying both boundaries.

 * $$ p = b_L D(\alpha) b_R^T = b_L b_{0,R} = b_{L,l} b_R^T $$

 * Algorithm pseudo-code for counting from the left to the right

b[0] = b_L                    # the left preimage vector b[0] is initialized to the left boundary b_L for ( x=1; x<=l; x++ )        # run the position index from the left (x=0) to the right (x=l-1) b[x] = b[x-1]*D[C[x-1]]     # the new preimage vector is calculated from the old using the end                           # preimage matrix D[C[x-1]] of the cell value C[x-1] at position x-1 p = 0                         # for ( o=0; o<|S|^(k-1); o++ ) # the number of all preimages p is the scalar product of   p += b[l][o] * b_R[o]        # the last right preimage vector b[l] and the right boundary vector b_R end                           #

 * Algorithm pseudo-code for counting from the right to the left

b[l] = b_R                    # the right preimage vector b[l] is initialized to the right boundary b_R for ( x=l-1; x>=0; x-- )      # run the position index from the right (x=l-1) to the left (x=0) b[x] = D[C[x]]*b[x+1]       # the new preimage vector is calculated from the old using the end                           # preimage matrix D[C[x]] of the cell value C[x] at position x p = 0                          # for ( o=0; o<|S|^(k-1); o++ ) # the number of all preimages p is the scalar product of   p += b_L[o] * b[0][o]        # the last left preimage vector b[0] and the left boundary vector b_L end                           #

Cyclic lattice
For cyclic lattices the counts are stored as preimage matrices, this is necessary to distinguish counts for each of the overlaps at the joined boundaries. Since the lattice is cyclic, there is no need to apply a boundary vector as in the bounded lattice.

Left sided counts $$ D_{L,x}$$ are calculated from the left to the right, the matrix at position $$x$$ is calculated from the matrix at position $$x-1$$. Right sided counts $$ D_{x,R}$$ are calculated from the right to the left, the matrix at position $$x$$ is calculated from the matrix at position $$x+1$$.

 * $$ D_{L,x} = D(c_0 c_1 \dots c_{x-1}) = D_{L,x-1} D(c_{x-1}) $$

 * $$ D_{x,R} = D(c_x c_{x+1} \dots c_{l-1}) = D(c_x) D_{x+1,R} $$

The number of preimages must be counted separately for each of the $$|S|^{k-1}$$ overlaps at the joined boundaries $$o_L=o_0=o_l=o_R$$. A cyclic preimage (row) vector $$b_{\circ} (\alpha)$$ is constructed from the diagonal elements of the preimage matrix $$D(\alpha)$$.

 * $$ D(\alpha) = D_{0,R} = D_{L,l-1} $$
 * $$ b_{\circ}(\alpha) = \left[ d_{0,0}(\alpha), d_{1,1}(\alpha), \dots, d_{|S|^{k-1},|S|^{k-1}}(\alpha) \right] $$

The total number of all preimages is the sum of the elements in the cyclic preimage vector $$b_{\circ} (\alpha)$$ (row), the scalar product with the unrestricted boundary vector $$b_u$$ (row transposed into column).

 * $$ p = b_{\circ}(\alpha) b_u^T $$

 * Algorithm pseudo-code for counting from the left to the right

D[0] = I                      # the left preimage matrix D[0] is initialized to the identity matrix for ( x=1; x<l; x++ )         # run the position index from the left (x=0) to the right (x=l-1) D[x] = b[x-1]*D[C[x]]       # the new preimage matrix is calculated from the old using the end                           # preimage matrix D[C[x]] of the cell value C[x] at position x p = 0                          # for ( o=0; o<|S|^(k-1); o++ ) # the number of all preimages p is the scalar product of   p += D[l-1][o][o]              # the sum of the diagonal elements of the right preimage matrix D(l-1) b_0[o] = D[0][o][o]         # the diagonal are copied into the cyclic preimage vector b_0 end                           #

 * Algorithm pseudo-code for counting from the right to the left

D[l] = I                      # the right preimage matrix D[l] is initialized to the identity matrix for ( x=l-1; x>=0; x-- )      # run the position index from the right (x=l-1) to the left (x=0) D[x] = D[C[x]]*b[x+1]       # the new preimage matrix is calculated from the old using the end                           # preimage matrix D[C[x]] of the cell value C[x] at position x p = 0                          # for ( o=0; o<|S|^(k-1); o++ ) # the number of all preimages p is the scalar product of   p += D[0][o][o]              # the sum of the diagonal elements of the left preimage matrix D(0) b_0[o] = D[0][o][o]         # the diagonal are copied into the cyclic preimage vector b_0 end                           #

String operations
Preimages as paths in the preimage network are described in terms of neighborhoods and overlaps, which are both sequences of cells. Since neighborhoods on a globally valid path overlap, each cell can be found in $$k$$ neighborhoods and in $$k$$ overlaps.

Neighborhoods are represented by links in the preimage diagrams and networks. The neighborhood $$n_x$$ surrounding the cell $$c_x$$ is defined as

 * $$ n_x = c_{x-k_0} c_{x-k_0+1} \dots c_x \dots c_{x+k-k_0-1} $$

Overlaps are represented by nodes in the preimage diagrams and networks. The overlap $$o_x$$ surrounding the cell $$c_x$$ is defined as

 * $$ o_x = c_{x+1-k_0} c_{x+2-k_0} \dots c_x \dots c_{x+k-k_0-1} $$

Sequences can be represented and manipulated in two ways:
 * 1) compact representations are manipulated using algebraic operations (multiplication, division (quotient without remainder) and modulo)
 * 2) bit arrays are manipulated using boolean logical operations (shifts, fusion with OR and masking with AND) each cell consumes $$m=top(\log_2 |S|) $$

Extracting from the neighborhood
Algebraic notation

 * $$ c_x = n_x / |S|^{k-k_0-1} \mod |S| $$

Logic notation

 * c_x = (n_x >> m*(k-k_0-1)) AND (2^m-1)

Extracting from the overlap
Algebraic notation

 * $$ c_x = o_x / |S|^{k-k_0} \mod |S| $$

Logic notation

 * c_x = (o_x >> m*(k-k_0)) AND (2^m-1)

Extending an overlap into a neighborhood
A neighborhood $$n$$ (length $$k$$) is created from an overlap $$o$$ (length $$k-1$$) by adding one cell $$c$$ at the left or the right side.

String notation (concatenation of cell strings)

 * $$ n_x = o_x c_{x+k-k_0-1} $$
 * $$ n_{x-1} = c_{x-k_0-1} o_x $$

Algebraic notation

 * $$ n_x = o_x \cdot |S| + c_{x+k-k_0-1} $$
 * $$ n_{x-1} = c_{x-k_0-1} \cdot |S|^{k-1} + o_x $$

Logic notation

 * n_x = (o_x << m) OR c
 * n_x-1 = (c << m(k-1)) OR o_x

Shortening a neighborhood into an overlap
An overlap $$o$$ (length $$k-1$$) is created from a neighborhood $$n$$ (length $$k$$) by removing one cell $$c$$ at the left or the right side.

String notation
 * $$\alpha \,/\, a$$ means string $$\alpha$$ without the extreme right symbol $$a$$
 * $$b \setminus \beta$$ means string $$\beta$$ without the extreme left symbol $$b$$)

 * $$ o_x = n_x \,/\, c_{x+k-k_0-1} \quad \Rightarrow \quad n_x = o_x c_{x+k-k_0-1} $$
 * $$ o_{x+1} = c_{x-k_0} \setminus n_x \quad \Rightarrow \quad n_x = c_{x-k_0} o_{x+1} $$

Algebraic notation

 * $$ o_x = n_x / |S| $$
 * $$ o_{x+1} = n_x mod |S|^{k-1} $$

Logic notation

 * n_x = o_x >> m
 * n_x+1 = o_x AND (2^(m*(k-1))-1)

Trace and backtrack algorithm

This algorithm traces paths through the preimage diagram. It starts at the first node at the left that is not masked by left boundary conditions. Depending on the position index value and whether there are links to the right there are four options:
 * tracing the first unused valid link to the next node and remembering the selected path
 * if the reached node is at the right boundary, validity of the boundary is tested and the path is stored as a preimage
 * if there are no unused links to the right, backtrack to the previous node on the current path
 * when backtracking reaches the left boundary, the tracing restarts at the next valid node till all nodes are exhausted.

The algorithm could start at the right and trace to the left obtaining the same preimages. The direction tracking is chosen so that the listed preimages are sorted in an ascending order regarding their compact representation.

Fromal algorithm description

Most parts of the algorithm are identical for bounded and cyclic latices, the differences are seen only at the boundaries.

 * Main loop and left boundary

The main loop counts through the available tracing start points. The algorithm begins tracing by the first overlap at the left $$o=o_L=0$$ (on bounded lattices overlaps masked by the left boundary $$b_L$$ are skipped). When all the traces beginning with this overlap are exhausted (backtracking reaches the left boundary $$x=0$$ and the link index exceeds the number of available links $$c=|S|$$) tracing continues to the next valid overlap $$o_L=o_L+1$$ till it reaches the last overlap $$o_L=|S|^{k-1}-1$$. When traces from the last overlap are exhausted the algorithm finishes. On bounded lattices overlaps may be unrestricted or masked by a boundary vector $$b_L$$. On cyclic latices all overlaps are used.

 * Tracing

The tracing increments the current position index $$x=x+1$$. Each tracing step begins at the current overlap $$o_x$$ at position $$x$$ and traces the first not yet traced link to the drain overlap $$o_d$$ at position index $$x+1$$. There are $$|S|$$ links to be traced, if the current overlap has not yet been backtracked than tracing begins at link $$c=0$$ otherwise the link provided by the backtracking is incremented. The validity of the trace step must be verified, each link represents a neighborhood $$n=o_sc$$ that must lead to the present cell value $$f(n_x^{t-1})=c_x^t$$.
 * If the link is valid, its index $$c$$ is stored as a new cell $$c_{x+k-k_0-1}=c$$ on the currently traced path and the algorithm continues from the drain node $$o_d=c_{x-k_0} \setminus o_x c_{x+k-k_0-1}$$.
 * If the link is not valid than the tracing must proceed with the next link $$c=c+1$$, if there are no links left $$c=|S|$$ than the algorithm switches to backtracking.

 * Backtracking

Backtracking is returning back on the current path till the point where an available link for tracing is found. The current overlap without further paths is $$o_x$$ each backtracking step steps backward on the current path over the link $$n_{x-1}$$ to the overlap $$o_s$$ at position index $$x-1$$. The backward link $$n_{x-1}=c_{x-k_0-1}o_x$$ and the source overlap $$n_{x-1}=c_{x-k_0-1}o_x \;/\; c_{x+k-k_0-2}$$ are sequences on the current path. When back at the source cell, the link to trace forward is incremented from the last traced link $$c=c_{x+k-k_0-2}+1$$.

 * Right boundary and listing of preimages

When tracing reaches the right boundary listing a preimage can begin. For each new preimage the preimage counter $$p$$ is incremented.
 * For cyclic lattices the current overlap $$o_x$$ is compared to the starting overlap at the left $$o_L$$, if they are equal a preimage $$C^{t-1}=c_0 c_1 \dots c_{l-1}$$ of length $$l$$ is added to the preimage list.
 * For bounded lattices the current overlap $$o_x$$ is masked by the right boundary vector $$b_R$$, if accepted a preimage $$C^{t-1}=c_{-k_0} \dots c_{l+k-k_0-1}$$ of length $$l+k-1$$ is added to the preimage list.

Algorithm pseudo-code
p=0                              # the preimage counter is initialized to 0 x=0                              # the position index is initialized to 0 c=0                              # the link index is initialized to 0 o_L=0                            # the tracing starts at the first left overlap while (bounded) then             # if the lattice is bounded if ( b[o_L]>0 ) then           # boundary conditions must be checked o_L++                        # to ensure the start point is valid end_if                         # end_while                        # o=o_L                            # the current overlap is initialized while (o_L<|S|^(k-1)) then       ## main loop ## if ( c<|S| ) then                # tracing and right boundary if ( x<l ) then                ## tracing ## n=o*|S|+c                    # the neighborhood is created if ( f(n)==c_x ) then        # checking it the neighborhood is valid o=(o*|S|+c)/|S|^k          # stepping to the new overlap at the right C[x+k-k0-1]=c              # storing the link selection cell x++                        # incrementing the position index c=0                        # at the new overlap start with the first link else                         # the selected link is not valid c++                        # try the next link end_if                       # end_if                         # else                           ## right and cyclic boundary conditions ## if (bounded)                 # for bounded lattices if ( b[o]>0 ) then         # check masking of the current overlap with the right boundary vector store(C)                 # list the preimage consisting of cells on the current path end_if                     # end_if                       # if (cyclic)                  # for cyclic lattices if ( o==o_L ) then         # check if overlaps at the left and right boundary are equal store(C)                 # list the preimage consisting of cells on the current path end_if                     # end_if                       # c=|S|                        # to prevent further tracing from the boundary end_if                         # else                             # backtracking and left boundary if ( x==0 ) then               ## left boundary conditions ## o_L++                        # move to the next start point for tracing if (bounded) then            # for bounded lattices if ( b[o_L]>0 )            # check masking of the left overlap by the left boundary vector c=0                      # move to the next start point for tracing else                       # else if the current overlap is not valid o_L++                    # move to the next start point for tracing end_if                     # else_if (cyclic) then        # for cyclic lattices c=0                        # end_if                       # else                           ## backtracking ## o=(C[x-k0-1]*|S|^(k-1)+o)/|S| # backtracking to the previous overlap c=C[x+k-k0-1]                # restoring the last used link at this overlap c++                          # at the backtracked overlap continue with the next link x--                          # decrementing the position index end_if                         # end_if end                              # if all start points are exhausted end the algorithm

Algorithm complexity
The algorithm can be divided into two time consuming operations
 * tracing and backtracking
 * listing preimages

The algorithm visits all links and nodes accessible from the boundary where it starts. Accessibilyti of overlaps and neighborhoods is defined as an induction:
 * Base
 * Overlaps $$o$$ at the starting boundary $$b_L$$ (left here) are acessible if they are valid $$b_L(o)>0$$.

 * Induction
 * Every neighborhood sourced at an acessible node is acessible. Every drain overlap to an acessible and valid neighborhood is acessible.

The valid accessible links are visited exactly twice (first while tracing and secondly while backtracking), invalid lins are visited only once (their validity is evaluated by tracing). A simple aproximation for the tracing time is counting all the accessible overlaps, counting must be performed for each of the overlaps at the boundary so preimage matrices must be used for counting.

An arbitrary overlap $$o_x$$ is accessible from a valid overlap $$o_L$$ at the left boundary if there is at least one valid path between the two $$p_{o_L,o_x}>0$$. Accessibility of overlaps at position index $$x$$ can be extracted from the preimage matrix $$D_{L,x}$$ by transformning its elements into boolean values or by using bolean multiplication to calculate preimage matrices $$D^B$$. The algorithm complexity of tracing is the sum of all accessible overlaps.

 * $$ T_{trace} = \sum_{x=0}^{l-1} b_L D^B_{L,x} b_u^T $$

The upper boud to the processing time is a linear function of the observed configuration size $$l$$ but grows exponentially with the increasing neighborhood size (preimage diagram size).

 * $$ T_{trace} = O(l \cdot |S|^{2(k-1)}) $$

The time required for listing of preimages $$T_{list}$$ is a linear function of the number of preimages $$p$$, where the time to compute a single preimage is a linear function of the configuration length $$l$$.

 * $$ T_{list} = C_{list} l p = O(lp) \,$$

Memory consumption of the algorithm is minimal, only the current path in the preimage network is stored and used for listing if a valid preimage is found.

Count and list algorithm

This algorithm consists of a first backward or counting pass that counts the preimages and a second forward or listing pass that lists them. The trace and backtrack algorithm must trace each link before knowing if it leads to a valid preimage, on the other hand the counting pass produces information obout wheather and how many preimages there are for each link. All the preimages can be listed without backtracking.

The direction of the listing pass could be inverted but is chosen so that the listed preimages are sorted in an ascending order regarding their compact representation, the counting pass is in the opposite direction.

Formal algorithm description
Booth the forward (left to right, producing $$b_{L,x}$$ vectors) and backward (right to left, producing $$b_{x,R}$$ vectors) counting passes have been described above, while computing weights for the preimage network. Only one of the passes is needed, here the backward pass is used.

The listing pass can be divided into initialization and a few steps inside the main loop.

 * Initialization

Since the number of preimages $$p$$ has been calculated by the counting pass, memory can be allocated for them in advance. The array of starting overlaps $$o_L$$ holds the value of the starting point for each preimage (valid path in the preimage network). The number of preimages using each starting overlap is computed as a weight vector for overlaps at the left boundary. For bounded lattices the left boundary and the preimage count from the righ end to the left are used.

 * $$ w_0(o) = b_L(o) b_{0,R}(o) \,$$

For cyclyc lattices the preimage matrix of the whole sequence is used.

 * $$ w_0(o) = D_{0,R}(o,o) \,$$

The array of starting overlaps is copied into the array of overlaps at the current position index $$o_x$$ and the listing can start.

 * Listing

The listing starts at the left boundary $$x=0$$ and ends at the right boundary $$x=l$$. At each increment of the position index one cell is computed for each of the $$p$$ preimages.

To simplify the algorithem the right cell $$x+k-k_0-1$$ in the neighborhood $$n_x$$ is stored. The first cells $$-k_0 \leq x \leq k-k_0-1$$ of preimages on a bounded lattice can be computed from the starting overlap $$o_0$$. For cyclic lattices the last cells at the right can be wraped to the beginning.

Algorithm pseudocode
C = malloc( p * (l+k-1) * |S| )           # reserve memory for the counted amount of preimages # i = 0                                     # start with the first preimage for ( o=0; o<|S|^(k-1); o++ )             # for all overlaps for ( j=0; j<b_L[0][o]*b_R[0][o]; i++ ) # for each overlap the number of preimages is calcuated o_x[i] = o                            # i-th preimage path begins with overlap o     i++                                    # to the next preimage end_for                                 # end_for                                   # if (cyclyc)                               # for bounded lattices there is no need to know the starting points o_L = o_R = o_x                         # copy the current array of overlap to the array of starting overlaps end_if                                    # for ( x=0; x<l; x++ )                     # run from the left to the right i = 0                                   # start with the first preimage while ( i< p )                          # check if all preimages have been finished for ( c=0; c<|S|; c++)                # check all links for each source overlap o_x[i] = (o_x[i]*|S|+c) / |S|^(k-1) # calculate the drain overlap elseif (bounded)                    # for bounded lattices w = b_R[x+1][o_x[i]]              # the count from the drain node to the right end is used if (cyclic)                         # for cyclic lattices w = D_R[x+1][o_x[i],o_L[i]]       # the count from the drain node to the end node (same as left) end_if                              # for ( j=0; j<w; j++ )               # use the count C[i][x+k-k0-1] = c                # and write a cell for each of them i++                               # increment the preimage counter end_for                             # end_for                               # end_while                               # end_for                                   # end of algorithm

Algorithm complexity
The complexity of the counting is a linear function of the configuration length $$l$$. The dependence on the neighborhood size $$k$$ is not qubic since there at most $$k$$ nonzero elements in the preimage matrix of a single cell. If the lattice is bounded the counts are stored as vectors and the complexity is linear, for cyclic lattices counts are stored as vectors and the complexity is quadratic.

 * $$ T_{count,bounded} = C_{count} l k \,$$
 * $$ T_{count,cyclic} = C_{count2} l k^2 \,$$

The complexity of the listing is again a linear function of the configuration length $$l$$ and the number of preimages.

 * $$ T_{list} = C_{list} l \cdot p $$

The counting by matrix multiplication processes all the nodes in the primage diagram instead the tracing and backtracking from the previous algorithm avoids some nodes gaining on everage complexity, on the other hand this algorith is easier to optimize.

Memory consumption is another downside, and it grows as fast as time for counting.

Software

 * 1) DDLab Tools for researching Cellular Automata, Random Boolean Networks, multi-value Discrete Dynamical Networks, and beyond; by Andy Wuensche.
 * 2) Iztok Jeras, Algorithms for computing preimages of cellular automata configurations TAR.BZ2

title: Cellular Automata/Listing Preimages


text:
Cellular Automata/Decision Problems

The study of decision problems for 1D CA is based on the subset diagram of the de Bruijn diagram. The subset diagram is interpreted as an finite automaton and analysed accordingly. Most decision problems are defined using the larger matrix subset diagram, but they can be redefined using the smaller vector subset diagram.

The subset diagram
Nodes in the subset diagram are all possible preimage matrices or vectors that can be written using boolean elements.

Matrix subset diagram
The matrix subset diagram is a directed graph $$\langle S, Q_D, \delta_D \rangle$$ later remodeled as a finite automaton.

$$Q_D$$ is the set of all states which are all $$|Q_D|=2^{k^{2(m-1)}}$$ distinct bolean preimage matrices.

 * $$ Q_D = \left \{

\begin{bmatrix} 0 & 0 & \dots 0 \\ 0 & 0 & \dots 0 \\ \vdots & \vdots & \ddots \vdots \end{bmatrix}, \begin{bmatrix} 1 & 0 & \dots 0 \\ 0 & 0 & \dots 0 \\ \vdots & \vdots & \ddots \vdots \end{bmatrix}, \dots, \begin{bmatrix} 1 & 1 & \dots 1 \\ 1 & 1 & \dots 1 \\ \vdots & \vdots & \ddots \vdots \end{bmatrix} \right \} $$

The set of available cell states $$S$$ is used for link labes and as the automaton alphabet. The automaton state transition function $$\delta$$ defines links between states and their labes.

 * $$ \delta_D : Q_D \times S \rightarrow Q_D $$

Two transition functions can be constructed, one for the forward direction $$\delta_{D,f}$$ and one for the backward direction $$\delta_{D,b}$$. The transitions on input symbols $$c\in S$$ are defined by single cell preimage matrices.

 * $$ q_{D_{x+1}} = \delta_{D,f}(q_{D_x}, c_x) \qquad  D_{x+1} = D_x \cdot D(c_x) \quad \mbox{boolean multiplication} $$

 * $$ q_{D_{x-1}} = \delta_{D,b}(q_{D_x}, c_x) \qquad  D_{x-1}^T = D(c_{x-1}) \cdot D_x^T \quad \mbox{boolean multiplication} $$

A finite automaton $$\langle S, Q_D, q_0, \delta_D, F_D \rangle$$ is constructed from the graph $$\langle S, Q_D, \delta_D \rangle$$ by specifying an initial state $$q_0 \in Q_D$$ and the set of final states $$F_D \subset Q_D$$.

The empty set is the state $$q=0$$ where all preimage matrix elements are 0.

 * $$\begin{bmatrix}

0 & 0 & \dots 0 \\ 0 & 0 & \dots 0 \\ \vdots & \vdots & \ddots \vdots \end{bmatrix}$$

Vector subset diagram
The vector subset diagram is a directed graph $$\langle S, Q, \delta \rangle$$ later remodeled as an finite automaton. $$Q$$ is the set of all states which are all $$|Q|=2^{k^{m-1}}$$ distinct bolean preimage vectors.

 * $$ Q_b = \{ 0, 1, \dots, b, \dots ,|Q|-1 \} $$

 * $$ q = \sum_{o=0}^{k^{m-1}-1} b(o) = 2^{k^{m-1}-1} b(k^{m-1}-1) + \cdots + 2^o b(o) + \cdots + 2 b(1) + b(0) $$

The set of available cell states $$S$$ is used for link labes and as the automaton alphabet. The automaton state transition function $$\delta$$ defines links between states and their labes.

 * $$ \delta : Q \times S \rightarrow Q $$

Two transition functions can be constructed, one for the forward direction $$\delta_f$$ and one for the backward direction $$\delta_b$$. The transitions on input symbols $$c\in S$$ are defined by single cell preimage matrices.

 * $$ q_{x+1} = \delta_f( q_x, c_x) \qquad  b_{x+1} = b_x \cdot D(c_x) \quad \mbox{boolean multiplication} $$

 * $$ q_{x-1} = \delta_b( q_x, c_x) \qquad  b_{x-1}^T = D(c_{x-1}) \cdot b_x^T \quad \mbox{boolean multiplication} $$

A finite automaton $$\langle S, Q, q_0, \delta, Q_F \rangle$$ is constructed from the graph $$\langle S, Q, \delta \rangle$$ by specifying an initial state $$q_0 \in Q$$ and the set of final states $$Q_F \subset Q$$.

The empty set is the state $$q=0$$ where none of the overlaps in the preimage vector $$b$$ can be used to trace paths.

 * $$ b = [ 0, 0, \dots, 0 ] $$

The full set is the state $$q=2^{k^{m-1}}$$ where all of the overlaps in the preimage vector $$b$$ can be used to trace paths.

 * $$ b = [ 1, 1, \dots, 1 ] $$

Decision Problems
To observe a decision problem the subset diagram is transformed into an automaton. A word defined as a string of cells $$\alpha$$ is accepted if it connects the specified initial state to one of the final states.

De Bruijn subset diagram, are used to answer injectivity and surjectivity problems, regular expression for preimages...

Surjectivity of CA rules
The global transition function is surjective if each present configuration $$C^t$$ has at least one preimage $$C^{t-1}$$.

 * $$ \forall C^t \; \exists C^{t-1} \; : \; F(C^{t-1})=C^t $$

Since preimages are paths in the preimage network, there must always exist at least a single path between the boundaries of any cell string $$\alpha$$.

Shortest non-accepted string
Another problem related to the subset diagram is the shortest string that is not accepted by the subset diagram. This can easily be rephrased as a decision problem: does the subset diagram have a string of length $$l$$ or shorter for a given integer $$l$$. By the definition of this problem, testing true for a given cellular automaton rule and given $$l$$, the same cellular automaton will test true for l+1. In the case that a cellular automaton is surjective, there will be no such string.

It was alluded to by Wolfram that what Sutner called the 1-permutative cellular automata most likely will test false for the highest $$l$$ within the set of cellular automata with the same number of characters and the same width. Kingsbery proved in his undergraduate thesis that 1-permutative CA will test true for all $$l$$ greater than or equal to $$wk^{w-1}$$, where $$w$$ is the CA's width and $$k$$ is the number of symbols. Assuming that this is true for all CA (and the work of Wolfram and Sutner seem to indicate that it should be), this ensures that any certificate for this decision problem can be verified in time polynomial to the size of the CA's rule table. It is not known whether such a certificate can be constructed in polynomial time.

Theorem: 1-permutative CA with a width $$w$$ over $$k$$ symbols have a shortest non-accepted string no longer than $$wk^w-1$$.

Proof: TODO

Boolean matrix and vector operations
All mathematical addition and multiplications are exchanged with their Boolean counterparts disjunction and conjunction.

Addition become disjunction (logical operator OR):
 * $$ x_1 + x_2 \to x_1 \lor x_2 $$

Multiplication becomes conjunction (logical operator AND):
 * $$ x_1 \cdot x_2 \to x_1 \land x_2 $$

This basic Boolean operations are than used to define matrix and vector operations.

Tools

 * 1) Grail+

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/

title: Cellular Automata/Decision Problems


text:
Muggles' Guide to Harry Potter/Magic/Basilisk

Overview
A Basilisk — otherwise known as the King of Serpents — is a bright green snake, which can grow to an enormous size. It is a rare, wizard-bred creature, born from a chicken egg hatched beneath a toad; the creation of them is illegal and falls under the Ban on Experimental Breeding. Males are distinguishable from females by the bright red plume on their foreheads. Basilisks have long, poisonous fangs and shed their skin at intervals.

Extended description
If someone looks directly into the Basilisk's bulbous yellow eyes, then he or she will die instantly as Moaning Myrtle did, as mentioned in Harry Potter and the Chamber of Secrets. If someone looks indirectly (in a reflection, through the lens of a camera), he or she will become Petrified. They also have very poisonous fangs which can also kill a person. A rooster's crow is fatal to Basilisks. Spiders, including Acromantulae, are terrified of them and flee from them.

In Harry Potter and the Chamber of Secrets, a Basilisk which lives in the Chamber of Secrets is released periodically by the Heir of Slytherin. The Heir, whose control over the Basilisk is not complete, attempts to guide it to attack students who are Muggle-born. This is apparently an attempt to extend Salazar Slytherin's preferred policy for admittance into the school. Slytherin, one of the four Founders of Hogwarts, believed that only the children of wizards ought to be accepted, and departed the school when the other three would not agree with him. Several students of varying parentage and one cat, Mrs Norris, are Petrified by the Basilisk. When Harry enters the Chamber and fights the blinded Basilisk, he thrusts a sword into the roof of its mouth, a move that will kill it; in turn, one of its fangs pierces Harry's arm, the poison of which nearly kills him.

Analysis
The monster in the Chamber of Secrets, in Harry Potter and the Chamber of Secrets is a Basilisk. The process of discovering this is a slow one, both for the reader and for the Trio. The first clue, which happens barely a week in to the term, is the disembodied voice that Harry alone can hear when he is doing his detention with Professor Lockhart. In retrospect, it becomes obvious that Harry can understand it because he is a Parselmouth and can understand snake language; to Lockhart, and to anyone else in the vicinity, what Harry hears as a voice is only a low hissing and sizzling sort of noise. As the Trio leave Nearly Headless Nick's Deathday party, the voice seems to be proceeding upwards between floors without benefit of stairs or anything else; while we have been misled so far into believing that this voice may be coming from something without a physical body, in retrospect again it becomes obvious that the creature is travelling through the pipes. The Petrification of Mrs Norris is another clue, and the dead roosters that Hagrid is waving about at the time Justin Finch-Fletchley and Nearly Headless Nick are Petrified, is of course a final clue. While much is made in the story of the fact that spiders fear Basilisks, to the point that Aragog will not speak its name, this may be an addition to the Basilisk legend by the author; as such, it is a clue for the Trio, specifically for Hermione, but not necessarily for the reader.

Basilisks are impossible to control, except by Parselmouths. A Basilisk would be a dangerous servant, as even its master cannot look into its eyes. As such, they do not play much further part in the story; while it's certainly true that Voldemort can control them, even under that control they would prove as dangerous to his allies as to his enemies.

Questions

 * 1) The one Basilisk that we witness has lived for a thousand years in the Chamber of Secrets, and has apparently become very large. What would it have eaten, locked in the Chamber? How did the animals that it apparently ate, based on the skeletons that Harry found himself walking on, get past the outer door of the Chamber?
 * 2) The Basilisk has done all of Voldemort's bidding. How come Harry can't control it?

Greater Picture
The major story arc of the series revolves around Horcruxes, magical items which are not defined until late in the sixth book. At that time, we will learn that it is necessary to destroy Voldemort's Horcruxes before Voldemort himself can be defeated. We also learn that one of the Horcruxes, Tom Riddle's diary, was destroyed by Harry's stabbing it with a Basilisk fang.

Later still, we learn that in fact Basilisk venom is one of the very few things that can destroy a Horcrux. We learn also that the Sword of Gryffindor had been used to destroy one, the Gaunt ring. This sword, being Goblin-made, will absorb anything that will strengthen it, had apparently absorbed Basilisk venom in the battle against the Basilisk in the Chamber of Secrets, and so now can be used to destroy Horcruxes. It is, in fact, used to destroy two more, Slytherin's locket and Nagini, and Helga Hufflepuff's cup, another Horcrux, is destroyed by the remaining venom in the Basilisk's fangs still lying around in the Chamber of Secrets five years later.

The question of what the Basilisk eats is not entirely idle. We see that the Chamber of Secrets has two doors, the basin in Moaning Myrtle's washroom and the inner door, both of which open on a Parseltongue command. Because the shed skin and the skeletal remains are outside the inner door, we must assume that the Basilisk can open it, and in fact has been, in order to hunt. We must assume that the Chamber cannot be opened from inside by the Basilisk, else it would have been hunting through the school proper for centuries — it was, after all, placed in the Chamber on Salazar Slytherin's departure, possibly a thousand years before Tom Riddle re-opened the Chamber. By the same token, we cannot assume that it has access to the Lake, as if there was a way to reach the Lake, the Basilisk would have likely used it to leave the Chamber for the outside of the Castle and hunt for more interesting game. So, it will have been hunting through the Hogwarts plumbing all those years. Why then has Harry not heard it before? We can only speculate. Perhaps, with the Chamber entrance closed, the pipes it can reach are limited; it is, after all, quite a large snake. We cannot assume that anyone has been feeding it; the Chamber remained closed and hidden for the millennium between Slytherin's departure and Riddle's arrival, and even for a magical being, a thousand years without food is a long time.


text:
Cellular Automata/Rule

 * special reversible rules
 * totalistic rules
 * XML and other exotic rules

Second order rules
transforming a second order rule of neighborhood size $$k$$ into a first order rule of neighborhood size $$2k-1$$

Clustering rules
or different symmetries
 * 1) input complement
 * 2) output complement
 * 3) reflection symmetry
 * 4) rotation smetry (2D) ?can be produced by reflection no it can not
 * 5) equivalence class

mix

 * http://groups.google.com/group/comp.theory.cell-automata/browse_thread/thread/eedd3e963691fda2/41f376c8b51455b2?q=clusters&rnum=5&hl=en#41f376c8b51455b2
 * http://groups.google.com/group/comp.theory.cell-automata/browse_frm/thread/2375d42de9f86ee1?tvc=1&q=clusters&hl=en
 * http://groups.google.com/group/comp.theory.cell-automata/browse_frm/thread/86b9db28b67edf1/c5aac90b816f8f32?q=symmetry&rnum=21&hl=en#c5aac90b816f8f32
 * http://groups.google.com/group/comp.theory.cell-automata/browse_frm/thread/3a24112941446717/1e809a7956a95529?q=symmetry&rnum=9&hl=en#1e809a7956a95529

title: Cellular Automata/Rule


text:
Talk:Emergency Medicine/General EMS intro

This seems to be jibberish - no good intention seems evident. kw


text:
Muggles' Guide to Harry Potter/Places/Hogwarts Express

General Overview

The Hogwarts Express is a train that travels between Platform 9 and Three Quarters at King's Cross Station in London, and Hogsmeade Village, the station for Hogwarts School of Witchcraft and Wizardry. It is a special train that carries students to school in September and brings them back to London in June or July.

Pulled by a steam engine, the Express consists of a number of old-style passenger cars with compartments, each compartment holding at most eight people, and closed off from an offset aisle down the length of the car by a sliding door. Normally, Harry and one to five of his friends will share a compartment during the trip. While some British Rail passenger cars of this design had individual doors for each compartment, the Hogwarts Express does not seem to, having two doors to a car and an aisle that runs from one end of the train to the other.

As in most passenger trains, there is a sweets trolley that is pushed the length of the train by a vendor. When he first sees it, Harry is astonished that he does not recognize any of the candy or drinks on the cart, but that does not stop him from buying quantities of Chocolate Frogs, Bertie Bott's Every Flavour Beans, Drooble's Best Blowing Gum, Pumpkin Pasties, Cauldron Cakes, and Liquorice Wands, among other things. Given the likelihood of Harry's Aunt Petunia actually making him a lunch, we can expect that Harry will buy lunch off the trolley every trip, but it is only mentioned in the first book.

Extended Description

Apparently, all students headed for Hogwarts are required to use the Hogwarts Express to get there. The physical location of Hogwarts is concealed, and the school itself is "unplottable", meaning that it cannot be located on a map, magically or otherwise, so the Express may be the only way to locate it. We note, however, that Ron and Harry have no trouble finding it in the flying car they have borrowed, though they do follow the Express in order to find it.

We know that the Express runs at the beginning of the school year, on the first of September, and again at the end of the school year on the day following the school closure. The story seems to be mute on whether it runs again at the beginning and end of the Christmas break, and at the beginning and end of the Easter break. While we see nothing at either of these holidays that suggest the Express was used, it seems unlikely that it would be required for only two of the six common school trips.

It is on the Hogwarts Express in the first book that Harry introduces himself to Ron, and where they meet Hermione, Neville, Draco Malfoy, Crabbe, and Goyle, all characters who will play a large role in the story to come. (Harry had met Draco previously, but it is in the train that we learn his name.) The trip back to London in that book is only mentioned in passing.

Harry and Ron are blocked from reaching the Express in the second book, but follow it in the flying car to find Hogwarts. The return to London in that book is covered only briefly, but it is there that Ginny reveals that Percy has a girlfriend, which is why Percy had prevented what would have been a huge revelation on her part.

The trip to Hogwarts in the third book is actually shared with Professor Lupin, who spends much of the trip asleep, though he does rouse himself to defend Harry from the Dementor. His presence also prevents Draco from attempting to jinx Harry. During the return to London in that same book, we hear Hermione planning a course schedule that does not require use of the Time-turner, Harry receives the letter from Sirius that lets us know that Sirius has managed to escape, and Ron is given the tiny owl that is soon named Pigwidgeon.

In the fourth book, we overhear Draco in the next compartment talking about a Wizarding school called Durmstrang, but most of the conversation concerns the just-past Quidditch World Cup. Draco does visit Harry's compartment to sneer at him and Ron, but as Dean, Seamus, and Neville are also present, he retreats. In that book, the return to London is interrupted by Draco, Crabbe, and Goyle bursting into Harry's compartment, telling him that now Voldemort is back, and he's picked the wrong side. Their attempt to curse the Trio is forestalled by Harry and Hermione, with help from Fred and George. As they reach London. Harry gives the Twins his Tournament winnings for their nascent joke shop, with the sole condition that they buy Ron some decent formal robes.

Because Harry has been systematically reviled in the Daily Prophet over the summer, he tries, unsuccessfully, to find an unoccupied compartment on the Express in his fifth year. Harry is dismayed by Ron and Hermione's departure towards the front of the train, where, they say, the Prefects will be meeting in a special compartment. Eventually, he, Ginny, and Neville settle on a compartment with only one other occupant, Luna Lovegood. Here, Neville displays the defensive features of the plant he has gotten for his birthday. The compartment is thus full of stinksap when Cho Chang opens the door to say hello. Ron and Hermione return and name the rest of the year's prefects. As seems to be usual, Draco barges in and snipes at Harry, asking how it feels to be second to Ron for a change? Hermione manages to force him out, but she and Harry have noticed that Draco alluded to seeing Sirius at the station.

The return trip to London this year is again punctuated with an attack by Draco and his sidekicks, this time stymied by several members of Dumbledore's Army. Some illumination is also cast on romantic affairs at this point, as Harry says that his romance with Cho is over, and Ginny admits to having dumped Michael Corner in favour of Dean Thomas.

In Harry's sixth year, the trip on the Express is quite eventful. Harry has barely settled into his seat when a delegation of girls arrives to ask them to sit with them; suspicious of their motives, he refuses. Hermione points out that Harry, who has grown over the summer, is now quite handsome, quite apart from the change in his reputation from the new slant on stories about him in the Daily Prophet. Harry overhears Draco talking about an assignment he has been given, and attempts to eavesdrop, unsuccessfully. Harry and Neville receive invitations to a gathering being held by Professor Slughorn in his compartment near the head of the train. Finding Blaise Zabini is another guest there, when the party breaks up, Harry uses his Invisibility Cloak to tail Zabini to the compartment he is sharing with Draco. Draco catches sight of him as he climbs into the luggage rack, but says nothing, and lets nothing slip, until the train has reached Hogsmeade; then he petrifies Harry, breaks his nose, and leaves him hidden under his own cloak as the train starts to head back to London. He is rescued at the very last moment by Tonks, who has been posted at the school as a guard.

The sixth book ends before Harry boards the Express to return to London, and as Harry does not attend Hogwarts in the seventh book, the Express is only mentioned in passing, as Ron wonders whether the Death Eaters monitoring their hiding place expect them to meekly board the Express on September 1.

Analysis
A key point in the story seems to be that legally the Express is considered an extension of Hogwarts, so use of magic by students on the train is not banned by the Decree for the Reasonable Restriction of Underage Sorcery. While the train is nominally patrolled by Prefects, with almost no exceptions there is no adult supervision. (We note above that Professor Lupin does some minimal supervision late in his journey to the school in the third book, and Professor Slughorn's supervision in the sixth book seems to be restricted to one walk-through as he gives out party invitations, and is thereafter limited to his compartment.)

Much as Platform Nine and Three Quarters represents the transition from the Muggle to the magical worlds, the Express is the place where we re-immerse ourselves in magic, once again getting acclimated to the ready availability of magical abilities. It is critical that magic be unrestricted to allow that acclimation. The lack of adult monitoring is more or less a necessary side effect of the Express being a train; a monitoring adult or prefect can see at most two compartments and the aisle of one car, leaving the vast majority of students out of sight. And as we have seen, magical duels do occur on the Express with no Ministry repercussions.

Legally requiring all Hogwarts students to take the Express is a plot contrivance, intended to ensure that interactions between students can occur in relatively unmonitored surroundings. It must be a somewhat awkward contrivance, though, particularly for any residents of Hogsmeade who attend Hogwarts. Despite living almost in the shadow of the castle walls, still the law requires that they travel to London on the first of September, only to be brought all the way back, over the course of an entire day in the Express, to their starting point.

We note that a passenger car of this compartmented design typically would have ten compartments. At 8 students per compartment that gives a capacity of, at most, 80 students per car. With a school population of 280, this would mean a minimum of four cars; a school population of 840 would require 11 cars. If we take the larger number and add a luggage van and a brake van, and possibly an additional passenger car, we end up with one engine pulling 14 cars, a large but not extreme number for a single large steam engine. As noted in the Hogwarts article, there is some dispute over the size of the school; we can see here that the requirement that students take the Express to school does not lend significant weight to either side of the dispute.

We note in passing that in Harry Potter and the Order of the Phoenix, it is mentioned that there is a special prefects' compartment at the head of the train. We can clearly see that this one must be larger than the standard, because there are twenty-four prefects. (Ron and Hermione are appointed in their fifth year, and their appointments should continue through for their sixth and seventh years also; two prefects from each House, from each of years five, six, and seven, would imply a total of twenty-four, with the possible addition of the Head Boy and Head Girl if these should by exception not be drawn from the prefects' number [like James Potter] or if, which is not made clear, they are replaced in their function as prefects.) The Slug Club meeting on the Express in the sixth book only has seven attendees, including Professor Slughorn who may be taking two seats for himself, and so would fit, if only just, into a standard eight-person compartment.

Review

 * 1) When and from where does the Hogwarts Express depart London?
 * 2) Describe the engine that pulls the train.
 * 3) What food is available on the train?
 * 4) Over the course of all seven books, what non-students are seen on the train?
 * 5) Why does Harry not sit with Ron and Hermione during the trip to Hogwarts at the start of their fifth year?

Further Study

 * 1) What might be the benefits of having all students, regardless of hometown, ride the Hogwarts Express to school together?
 * 2) Find a map of England and draw the most likely route for the Express.
 * 3) How might the experience of the trip be different if it were on a plane, or a bus?

Greater Picture
While we have noted that the train is nominally patrolled by Prefects, it also seems that this practice is commonly overlooked by even the most punctilious prefects. Hermione mentions that she and Ron are meant to be patrolling, but then remains in the compartment with Ron and Harry; with the possible exception of Draco's looking in on Harry and sniping at him in years 5 and 6, we never see any prefects on patrol in the Express. Even Percy, pompous and officious as he is, does not make an appearance in the Express in the first three books, though we could safely expect him to stick his head into Ron's compartment each time he goes by to make sure "his little brother isn't getting into trouble." It is our impression that this lack of any form of supervision is deliberate on the part of the author – one last fling of freedom before school starts, enhanced by having no parents, teachers, prefects, or the Ministry hanging over the shoulders of the young wizards.

It is foolish to postulate about an author from her published works, but from the portrayal of the Express we can't help thinking that there is some love of trains in Ms. Rowling's history. It has been suggested by other authors that the Protestant work ethic is involved. On a train, or even more on a ship, even while one is completely relaxed one is still in motion towards their eventual destination. Thus one can be totally idle while still striving for a final goal.


text:
Muggles' Guide to Harry Potter/Characters/Cho Chang

Overview
Cho Chang is a very pretty and charming Ravenclaw seeker and is one year older than Harry. A romance bloomed between Cho and Harry in his fourth (Harry Potter and the Goblet of Fire) and fifth (Harry Potter and the Order of the Phoenix) year, but their relation quickly became strained, and had broken off before the end of his fifth year.

Prisoner of Azkaban
We first meet Cho when she is introduced as Seeker of the Ravenclaw Quidditch team. Harry immediately notices that she is very pretty, and he feels a slight jolt in his stomach when she smiles at him. It also turns out that she is a very skilled flyer; despite the disparity in brooms (Cho is riding a Comet Two-Sixty, Harry is riding a Firebolt), she is still able to block one of his three attempts to get the Snitch. Later on in the year, before the Gryffindor vs. Slytherin Quidditch Match, she wishes Harry good luck on winning the match against Slytherin.

Goblet of Fire
Harry sees Cho at the Quidditch World Cup in passing.

After the announcement of the Triwizard Tournament, Harry thinks of entering the tournament, winning it, and particularly of Cho's admiring gaze when he does so.

Cho most seriously wishes Harry luck in the first Task of the tournament.

Harry, upon learning that he will have to find a dance partner for the Yule Ball, decides to ask Cho. His fears of looking foolish doing so, however, prevent him actually asking her until the last day of classes, by which time it is too late: she has already promised Cedric Diggory that she would go with him. She does seem genuinely upset that she wouldn't get a chance to go to the Ball with Harry, though.

In the Second Task, Harry must free hostages that are held by Merpeople at the bottom of the lake. He finds that one of the hostages is Cho, unconscious like the others. Cedric arrives, some time after Harry, and frees her. Harry remains, because he doesn't want to leave anyone down here. When he finally reaches the surface, with Ron and Gabrielle Delacour, Cho is being helped by Madam Pomfrey.

Cho's boyfriend, Cedric Diggory, is killed by Voldemort during the Third Task of the Triwizard Tournament. At the Leaving Feast, as Dumbledore leads the school in honouring Cedric's memory, Harry sees Cho crying.

Order of the Phoenix
Cho looks into Harry's compartment on the Hogwarts Express to say hello to Harry, just after Neville Longbottom has demonstrated the defence mechanism of his new Mimbulus Mimbultonia plant. Harry, covered with Stinksap, is mortally embarrassed, and Cho quickly withdraws.

At Hogwarts, Cho approaches Harry, Ron, and Hermione in the courtyard at break, apparently to have a quick word with Harry. Ron sees that she is wearing the badge of a popular Quidditch team, and accuses her of supporting that team only because it is fashionable (we learn much later that Ron's favorite team, the Chudley Cannons, seems to be rather consistently at the bottom of the league). Stung, Cho retorts that she has always supported that team, and leaves.

Following his final session of detention with Professor Umbridge, Harry finds that he has to send a message to Sirius Black informing him that his scar hurt again when Umbridge touched him. In the Owlery, he is met by Cho, who has to send a birthday gift. They talk, sharing their revulsion at Umbridge's actions; when Argus Filch bursts in, accusing Harry of ordering Dungbombs, Cho defends him. Harry is extremely cheerful thereafter at breakfast, which draws notice from Hermione and Ron.

Harry is pleased again when Cho turns up at the Hog's Head for the first meeting of what is then called the Defence Association. When Zacharias Smith questions his qualifications, Harry is perhaps inordinately pleased that Cho is one of those who leaps to his defence, specifically talking about what he had faced in the Third Task. After the meeting breaks up, Cho seems to want to stay behind and talk to Harry, but her friend, who we later learn is Marietta Edgecombe, is impatient enough to leave that she manages to convince Cho to depart.

At the first regular meeting, Cho suggests "Defence Association" as a name for the group, and Ginny Weasley points out that the initials could as easily stand for Dumbledore's Army. This name is written on the parchment, and lessons begin. Cho seems to have a great deal of difficulty with simple spells when Harry is nearby, though Harry has noticed that she handles them quite capably when he is on the other side of the room.

At the last D.A. class before Christmas break, Cho lingers after the rest of the students have left. She and Harry talk, she is still wondering about how Cedric died. Harry is unable to give much reassurance. She maneuvers Harry under the mistletoe, and they kiss.

Afterwards, talking with Hermione, Harry describes the kiss as "wet. Because she had been crying." Hermione says she does that all the time because she is still so confused about her own feelings for Harry and about Cedric. When Harry describes his efforts to console Cho, Hermione says it could have been worse. Hermione asks if he's going to see her again; Harry does not answer – the idea that he could go out with Cho seems to take him by surprise.

Back at the school after Christmas, he meets Cho in the Entrance Hall. She points out that the next Hogsmeade weekend falls on February 14. When Harry realizes what she is talking about, he invites her to go to Hogsmeade with him; she enthusiastically accepts.

Once in Hogsmeade, though, Harry feels very out of place. Cho suggests Madam Puddifoot's Tearoom, and Harry agrees, but finds it full of Valentine's Day decorations, and packed solid with couples kissing. Harry, feeling awkward, casts around for topics of conversation but comes up with nothing. When Cho mentions that Roger Davies had asked her out, but she had turned him down, Harry is uncertain how to respond, not least because Roger, entwined in another girl, is sitting directly behind him. Harry has promised that he will meet Hermione at the Three Broomsticks at noon, and tells Cho this; Cho misunderstands, and storms out. Hermione, discussing this with Harry later, says that he should have expressed reluctance, that he really thought Hermione was ugly but that he had promised to meet her. Harry is somewhat appalled at the thought of such duplicity.

What Hermione has arranged is that an interview with Harry, written straight instead of being slanted to make him out to be an attention-seeker, will be published in The Quibbler. When the interview comes out two weeks later, Harry is greatly cheered that Cho seeks him out, and tells him that he was really brave to give that interview.

Shortly after this, the D.A. is betrayed by Cho's friend Marietta Edgecombe. When Cho meets Harry after this, she says that she is sorry about the betrayal, but then goes on to defend Marietta, saying that her mother works in the Ministry. Harry points out that Ron's father works in the Ministry as well, but Ron doesn't have the word "Sneak" written on his face. Cho says that it was a dirty trick to charm the parchment they had signed that way, but Harry is adamant: there was no reason to betray the D.A. Cho storms off.

Harry, having seen a very disturbing scene that passed between his father and Snape, is preoccupied; luckily, he can pass off his preoccupation as being the result of fighting with Cho.

Though Cho is playing in the final Quidditch match of the year, against Gryffindor, Harry is extremely ambivalent about watching her. He thinks to himself that he doesn't know what he wants, except that he doesn't want any more fights. When her name is announced and he sees her on the field, his stomach does not do its usual backflip, only more of a feeble lurch. Even seeing her talking animatedly with Roger Davies gets very little reaction.

On the Hogwarts Express heading back to London, Cho walks past Harry's compartment, blushes, but doesn't stop. Ginny says that she has taken up with Michael Corner. Ron asks, hadn't Ginny been going out with Michael? Ginny says that he was a poor loser, so she had dumped him.

Half-Blood Prince
Cho passes Harry a few times, but there is no real interaction.

Deathly Hallows
In the preliminary action before the second Battle at Hogwarts, Cho appears with the other members of Dumbledore's Army to help defend the school against Lord Voldemort. She volunteers to show Harry the bust of Rowena Ravenclaw in the Ravenclaw common room. Ginny Weasley forestalls this, suggesting quite strongly that Luna Lovegood should do that instead.

Strengths
An excellent Quidditch player. Cho was also a member of Dumbledores Army (DA) with Harry. As a member of Dumbledore's Army, she was strong enough magically to progress to the point of actually conjuring a corporeal Patronus. In Harry's OWL exam that same year, his ability to conjure a corporeal Patronus was evidently worth an extra mark; while other members of the DA were apparently not similarly tested, the fact that this was worth a whole letter-grade (about 10% of the examination total) would indicate that it is a relatively rare ability for a fifth-year, and presumably also for a sixth-year.

Weaknesses
She does not seem to be able to complete her mourning for Cedric Diggory, who is killed at the end of Harry Potter and the Goblet of Fire. Throughout the next book, Harry Potter and the Order of the Phoenix, other characters are commenting on how much crying she is doing.

Relationships with Other Characters
While she seems to be friends with a lot of other Ravenclaw students, the main relationships presented are her and Harry dating 'on and off' after her former boyfriend, Cedric Diggory was killed, and her defence of the actions of her friend Marietta Edgecombe. Cho's romantic relationships are covered in more detail here.


text:
Gothic/Pronouns

<< Gothic

There are pronouns in Gothic for all four grammatical cases in all three persons. The first two persons have different forms for all three numbers (singular, dual and plural). The third person has different forms for all three genders (feminine, masculine and neuter) and two numbers (singular and plural).

For mixed groups of masculine and feminine things or people, use the masculine plural pronouns.

title: Gothic/Pronouns


text:
User talk:David Hockey

VfD on Developing A Universal Religion
David,

First of all, I want to thank you for coming to Wikibooks and publishing original content here. I added a longer and more detailed explaination about what should happen to this Wikibook you have been working on. Keep in mind that by publishing on Wikibooks you are asking for other people to come and change the content... potentially to something very different from what you originally intended to write. If you don't mind that happening with what you have left here, Wikibooks is the best forum for you to try and exchange your ideas. While not apparent from just poking around on a few pages, contributing to Wikibooks is a very social experience and you will get to meet people with a very wide variety of opinions, backgrounds, and philosophies.

Thank you also for introducing a theological Wikibook to this project. Of just about any subject, this is one that can be incredibly controversial. Keep in mind that what we (other active contributors) are trying to do is raise the standards of this project to give more credibility to what we are doing here.

With whatever happens, don't take criticisms about your book personally. We really do apreciate all attempts to add content to this project, and you have certainly added a real series of books here. It is my objective to help you out and make these books successful. I see that you have end notes to each chapter, and perhaps some of the casual readers are not aware of the citations you are using to back up your claims. The NPOV (Neutral Point of View) is perhaps one of the hardest things to learn how to write here on any Wikimedia project, particularly if you have written with a strong POV in the past. Vent your ideas on the discussion pages, and give an idea for where you are going with a particular module. Discussion pages also tend to have a stronger POV on them although I have seen some very successful content be very well written as a result of trying to mesh together various points of view into something more universal.... which seems to be the point of your book anyway.

Again, thanks for being on Wikibooks, and I hope that you are willing to contribute to other worthwhile projects as well. --Rob Horning 16:46, 15 October 2005 (UTC)

Rob:

Thank you for your nice comments. I do understand that anyone can edit and change what I have written. I very much like this idea and hope that editing can improve what has been written. I don’t even mind if the consensus is to completely change the book’s focus: if that is what people of the world think is best, then it is OK with me.

But, if the vote is to delete the last part (Developing A Universal Religion), could I offer to send a [free] email copy to anyone requesting it? (And, again, letting the majority make the decision about the legitimacy of making such an offer.) David H 14:52, 16 October 2005 (UTC)

P.S. I don’t know if replying in my User Talk is the best way to reply to you, so I’ll send a copy of this to your email address. David

Candidates for speedy deletion
I removed speedy deletion notice, I thing it was a mistake from me. Poeple should decide about this book at VFD. --Derbeth talk 22:08, 14 November 2005 (UTC)

Thanks, Derbeth. David

David H 22:17, 14 November 2005 (UTC)

Criticism
I've started reading your book. It's interesting as far as I have read but slightly marred by what seem to be some slightly careless statements regarding world opinion and world resources. I've added notes to the talk pages of the pages I read, Developing A Universal Religion/1. Why Bother?/3. Why Do Anything?, Developing A Universal Religion/1. Why Bother?/1. Why Develop A Universal Purpose?. I'm using the word criticism in its most neutral meaning here. --kwhitefoot 22:03, 15 December 2005 (UTC)

Orphaned pages
You can always mark page for deletion: just insert delete template. --Derbeth talk 16:24, 13 January 2006 (UTC)

Please comment
Please comment on a book of yours at VfD. See Thinking And Moral Problems, Religions And Their Source, Purpose, and Developing A Universal Religion. Thanks -- LV (Dark Mark) 14:40, 20 May 2006 (UTC)

 * Thanks for the email, LV. I have noted what I think on the VfD. David Hockey 15:07, 21 May 2006 (UTC)

What is this about, please?
THe following was added to my user page, but I do not understand why, or what it means. So I have moved it here. Can someone tell me why it was put on my user page, please. (Worse, they used my name and entered it as though it were me entering it!) David Hockey 20:49, 23 May 2006 (UTC)

 * It must have been a stupid joke or something. In future, just delete such text. --Derbeth talk 21:27, 23 May 2006 (UTC)

 * Ok. Thanks. But is anyone able to enter revisions using my signature/name? David Hockey 15:39, 24 May 2006 (UTC)

Major rewrite proposed
I was reading some of you work on consciousness, in particular Moral Decisions. Although I agree on many positions you've advocated, you seem to have missed the boat on this page. Do you have any basis for asserting that the non-religious (whether subconsciously or consciously) adopt a random metaphysical purpose to live by? I don't think that sounds plausible, and contradicts much of contemporary thinking (at least so far as I'm aware). I've proposed a re-write on the talk page - it's not terribly detailed, but I've outlined some of the positions I'd be advocating, and the sources I may use. Please comment on my interpretation of what you've written, and your thoughts on the changed I'd like to make. I plan on reading thought the sections concerning neuroscience in more detail and making changes there as well.  – Mike.lifeguard  | talk 02:18, 15 September 2007 (UTC)

 * Hello Mike.

 * Moral problems and practical problems are both, simply, problems. (With moral problems being defined by the mind of an individual, whereas practical problems are defined by the environment outside of the individual.)

 * To solve any problem “satisfactorily” the solution must achieve the purpose sought. Thus, to send people to Mars, all the practical problems that reality (i.e., the universe) confronts us with have to be solved. And each of these smaller practical problems will have a purpose to be accomplished. I.e., all practical problems are solved by accomplishing/achieving a purpose.

 * Surely “moral” problems must be solved in a similar fashion? Are there any “moral” problems that are solved by not meeting a purpose?

 * But, if the solution to a practical problem is to be “satisfactory,” then it must work within the confines of reality—the universe.

 * However, the solution of a “moral” problem is “satisfactory” (to the individual posing the moral problem) if it works within the confines of the individual’s mind. That individual correctly states that he/she has solved the moral problem (whereas others might agree or disagree, depending upon what they think in their minds).

 * Thus, I do not think that there can be a Universal Morality.

 * “Do you have any basis for asserting that the non-religious (whether subconsciously or consciously) adopt a random metaphysical purpose to live by?”

 * No, I don’t think that a “random metaphysical purpose” would be much use to anyone!

 * But I do think that a carefully worded metaphysical purpose is needed if a global civilization is to survive. I try to give reasons for asserting this in Part Four: Developing a Universal Religion.

 * David Hockey 19:33, 17 September 2007 (UTC)

 * Well, you certainly seem to make the case for that conclusion rather concisely - that people with no religion must adopt "some" (read: "any" or "any random") purpose by which to live. If that's not what you meant, I suggest you rewrite it yourself, since that's how it comes off.
 * Surprisingly, your comments above seem to be implying a sort of moral relativism: "If it's OK in your own mind than that's all that matters." Well, I don't think that's true, and neither would anyone who seriously understands morality. Eichmann may not have been an antisemite, but we still hung him - and with good reason.
 * I may simply start a book on moral philosophy instead of rewriting that section of your book. – Mike.lifeguard  | talk 00:56, 25 September 2007 (UTC)

 * No, Mike, I do not think that people must adopt a purpose by which to live. I am sure that most people do not do this.

 * But I do contend that moral decisions must be solved in the same way that practical decisions are solved. Of course, their “environment” differs (that’s why we try to solve them in different ways.)

 * And I do think that, if one wants a “satisfactory” solution to any problem, moral or practical, then some “satisfactory” result must be obtained. It is this desired result that constitutes the “purpose” one must have.  David Hockey 14:07, 25 September 2007 (UTC)

title: User talk:David Hockey


text:
User:David Hockey

I think that religions can not solve modern moral problems and that a rational way to do this must be invented.

The material has been taken from my book (published in 2004). For Wikibooks the Parts might best be kept in separate locations. These parts are:

 * Part One. Thinking And Moral Problems

 * Part Two. Religions And Their Source

 * Part Three. Purpose

 * Part Four. Developing A Universal Religion

title: User:David Hockey


text:
Openbravo POS

Openbravo POS is a point of sale application designed for touch screens. Supports ESC/POS ticket printers, customer displays and barcode scanners. It is multiuser and has a great backoffice with a product entry form, reports and charts.

Contents

 * /Introduction/
 * /Installation guide/
 * Equipment configuration
 * /Quick tour/
 * /User guide/
 * Administrator guide
 * /Developer guide/
 * /Left Menu/

title: Openbravo POS


text:
Developing A Universal Religion/Introduction to Part One

Why do humans have beliefs and religions? The answer, “to help us solve moral problems and make moral decisions,” only introduces other questions. Why do we have moral problems anyway? Clearly, everyday living requires us to solve many practical problems, but where do moral problems come from?

To understand why humans need beliefs and religions we must first investigate how we think—particularly how we solve practical problems and make practical decisions. Understanding these matters explains why solving abstract problems of morality requires us to invoke beliefs and construct religions. And this, in turn, equips us to examine, with some impartiality, the religions we now employ (we attempt to do this in Part Two, Religions And Their Source).

../Thinking/, tackles the first task. It discusses the brain, moves to the idea of a mind, and ends by exploring what we usually mean when we say we are thinking. We will find that a great deal of our thinking has to do with solving problems.

../Solving Problems/, shows that all problems originate in, and are structured by, the various environments that we inhabit; practical problems devolve from the practical environment, social problems from the social environment, and so on. But moral problems, issues of “right” or “wrong,” originate entirely within our minds, and it is the mind’s lack of an environment (other than the one each of us constructs—more about this in Part Two, Religions And Their Source) that makes these difficult to solve.

../Making Decisions/, discusses decision-making. It points out that the desire to attain a purpose is basic to making any decision, be it practical or moral. Moral judgements are metaphysical judgements, so we must have some metaphysical purpose in mind (and also want to attain it) before we can make moral decisions. Religions provide such purposes. They also provide various metaphysical environments; these create and structure our moral problems, as we shall see.

In short, this part of the book demonstrates that we cannot solve moral problems or make moral decisions without valuing the attainment of some kind of purpose (which can be spiritual or secular). We do not do this because there is (or is not) a god. We do not do this because we follow a religion. We do this, as we will shortly discover, because we try to think rationally when solving important problems and when making important decisions.


text:
Developing A Universal Religion/Thinking

A discussion about thinking must begin by saying a little about the brain and the mind. The first exists in concrete form: it is pinkish-grey in colour, weighs about three pounds, and has the consistency of jelly. It contains about a hundred billion neural cells supported within some trillion neuroglial cells, consumes about twenty percent of the body’s energy, and can be dissected and examined microscopically. But the mind is quite a different kettle of fish. In fact, some neuroscientists deny its very existence. They prefer the simpler explanation that thoughts occur in the brain, and claim that what we call the “mind” does not exist. However, it is simpler to discuss the two separately, and this is how they will be treated in this book.

 * 1) /The Brain/
 * 2) /The Mind/
 * 3) /First- And Second-Level Thinking/
 * 4) /First-Level Thinking—Awareness/
 * 5) /Second-Level Thinking—Association/
 * 6) /Third-Level Thinking And Language/
 * 7) /Language And Uniqueness/
 * 8) /Thinking And The Universe/
 * 9) /Thinking And Intelligence/
 * /Summary/


text:
Developing A Universal Religion/Thinking/The Brain

The brain evolved in animals because there is a strategic advantage in being able to detect and capture food (as in say a mollusc) and later to search and find food and sexual partners. The brain is thus a mechanism for locomotion and for avoiding hazards.

The brain’s chief job therefore is to store and operate the controls that command many inherited (or instinctive) body functions. This section discusses a little of what happens during this process, so that the difference between what the brain does and what is involved when thinking can be made clearer.

Instinctive behaviours are transmitted from one generation to the next through gene codings, as has been demonstrated many times. For instance, fruit flies normally wake up with daylight, nap in the afternoon, then fall asleep at dusk. This behaviour is controlled by a gene, the so-called “period gene.” If this gene is removed from male and female flies which then mate, their descendants sleep at random times. If the gene is then returned to these time-less progeny, they and their offspring will resume regular sleep patterns.

The first, tiny part of this instinctive behaviour started as the result of a mutation eons ago that caused one fly to sleep during the dark, with the concomitant reduced danger of being eaten compared to flies that were sleeping during the day. Surviving and passing this mutation to its descendants, this fly became the progenitor of successive generations that also fell asleep at dusk, so surviving in greater numbers than those lacking this Jonathan Weiner provides an example that nicely illustrates the value of instinctive behaviour in animals larger than fruit flies. He describes an experiment that uses a blackened piece of cardboard or wood cut into a bird-like shape. When this shape is moved in one direction across a light sky or ceiling it appears to be the silhouette of a goose flying; if it is moved in the other direction it resembles a hawk. When newly hatched goslings, raised in an incubator and having had no contact whatsoever with any adult goose, are shown the cut-out moving in the goose-resembling direction, they pay no attention. When the same cut-out is moved in the opposite direction, they scatter and attempt to hide.

Instinctive behaviours, like all others, depend upon the brain recognizing the significance of signals received from body sensors, or from the presence or absence of chemicals in body fluids. The question slowly being answered is, “how does the brain know what to do when it receives such signals?” Neurons in the brain (Hercule Poirot’s “little grey cells”) hold the answer.

Most human neural cells (neurons) resemble minute, spiky blobs with tails. The blob, or body, is called the soma. The tail, a long, thin, branching, tube-like extension, is called the axon. The hundreds of short, spiky structures fringing the soma are called dendrites. When activated, electrical signals in the form of electrically charged chemical ions travel from the dendrites, through the soma, along the axon and its branches (the fanout ), to a number of bubble-like terminating vesicles. Ions arriving at the vesicles cause the discharge of neurotransmitter chemicals into the minute gaps that separate one neuron from another. These chemicals are detected by so-called synaptic knobs on dendrites belonging to neighbouring neurons, where they may start new ion flows within receptive neurons.

Neural networks store information for later use. This is done in a two-step process. First, flows of chemical ions circulating in tiny closed networks of neurons hold data temporarily. Much information from eyes, ears and other sense organs is temporarily stored in such neural loops while being screened for significance. Since the majority of incoming information is of little interest, most of it is discarded. (Cutting off the energizing nutrients prevents the loops from becoming significant.) Second, information having a relationship to other pre-stored or incoming data that is deemed significant can be kept active by constantly re-energizing the loops. This induces the growth of synaptic knobs on dendrites. Additional synaptic knobs facilitate the transmission of neurochemicals across the dendritic gaps and thus build pathways of lowered electro-chemical resistance connecting one neuron to another. These pathways form neural networks that can retain the bytes of information that induced their formation for many years. Millions and millions of neural networks, each storing tiny bits of information, are to be found within everyone’s brain (most laid down during our first few years of life).

The brain analyzes and interprets information coming from the senses by routing it through earlier-formed neural networks. These respond (think “resonate”) to the presence of specific, tiny, chunks of information that match the chunks that earlier caused the network to form. This can be illustrated by electronically tracing what happens to information received by the eye, a well-explored example that helps us to understand what the brain does with data from other body sense organs. Light, reflected from the object we are looking at, enters the eye and falls upon the light-sensitive rods and cones in the eye’s retina. This creates millions of tiny signals, and these travel along the optic nerve to the brain. Key aspects of the component signal, such as information bytes denoting vertical edges, excite existing neural patterns (i.e., tiny memories) of the kinds of objects that have vertical edges. The same “analysis” is done for horizontal edges, relative sizes, colours, shapes (for instance, the vertices of any triangular aspects the object may possess), and so on. This process continues until the brain excites a pattern that matches stored patterns of objects similar to the one being viewed and the object is “recognized.” “Recognition” is complete when additional characteristics, retrieved from other neural networks storing “memories,” can be added.

Memories of objects and events are built up by a reverse process. Early in life, a toddler, staring at a fir tree, for example, would have stored information in his or her brain about its general shape, colour, branch pattern, leaf shape and other characteristics. Each aspect would have been broken into smaller bytes, temporarily then permanently stored and linked by neural pathways to other related bytes (including, but added much later, bytes representing the name of the tree). If more fir trees were noted, neurotransmitting chemicals would continue to induce the formation of synaptic knobs linking and reinforcing stored memories of tree parts and whole trees. Eventually, neural networks storing relatively detailed memories of fir trees would be built. Information received upon seeing a maple tree, having many similar features, would connect into many of the same neural patterns used by the fir tree memory, but would, of course, connect into other quite different ones. (At least, it would for those who had learned the difference between a fir and a maple. Those who had not discovered the similarities and differences would have to make do with a generic tree-memory.)

Whether or not any of this knowledge affects survival would be a matter of circumstance, but it is clear that memories built up through experience do greatly affect what we know, as well as what we come to believe and how we behave. Much more about this later.

Information that depicts frequently seen objects travels along, and reinforces, the same neural pathways, making them evident by the thousands of synaptic knobs (as many as 10,000 or more) that form on the dendrites of neurons along these routes. Such large numbers of synaptic links vastly increase the brain’s sensitivity to similar stimuli, thereby decreasing response time—an important survival feature in potentially dangerous environments. Conversely, seldom-seen objects take more mental effort and may be only slowly recognized. Because our brains can carry out many unconscious functions simultaneously, we experience signal analysis and recognition as though it happens instantaneously. However, information flow along neural axons and across synaptic gaps is slow compared to information flow in computers.

Of course, recognizing the significance of incoming stimuli involves a lot more than described above. To better appreciate how information from our senses is used within our brains, consider what must be happening if, for example, we suddenly notice that we are about to walk into the branch of a tree. Before the brain can induce any action, it must, at the very least, understand the following. First, it must understand the nature of the tree’s relationship to us (e.g., that the tree will do nothing to us if we do not bump into it). Second, the brain—as well as the mind—must have access to, and be able to use, memories of what actions have succeeded in the past (e.g., that we can avoid trouble by simply ducking our head or by stepping sideways). Third, the brain needs to be constantly aware of the body’s abilities and limitations (e.g., it must know that we can’t jump out of the way if, for example, we walk with a cane). All these things, and many more, must be known to the brain just so that it can cause the body to act in a suitable manner.

It is important to note that most of what has been described above is not thinking, for even simple life forms perform many of the same functions. They react to stimuli, and show evidence of possessing memories by using the information stored in these memories when reacting. Amoebae move away from acidic areas. Earthworms sense the void of large holes in the ground and move around them. Spiders feel their web trembling and emerge to envelop prey, and so on. All living entities respond to changes in their environment by sensing stimuli of one kind or another, then acting upon what these stimuli represent to them. These sensing, analyzing and danger-avoiding activities are continually being carried out, even by primitive animals. Advanced animals have inherited these same abilities, most of which occur within the brain. But almost all of these are programmed activities which take place without any thought. They form what may be considered to be a lower level of neural functioning. Although collecting, storing and recognizing signals are important and necessary functions significant to thinking (just as buying and storing tools and materials are important functions in a factory’s operation), they are not “thinking” per se. They are simply operations that trigger the release of action-inducing chemicals. In as much, these functions are similar to many others that support and maintain the body’s welfare. ../First- And Second-Level Thinking/ clarifies this distinction.

 * Return to Thinking, Introduction
 * ../The Mind/


text:
Art Tutorials

Contents

 * 1) /Preface/
 * 2) /Introduction/
 * 3) Concepts
 * 4) Shape
 * 5) Line
 * 6) Color
 * 7) Value
 * 8) Composition
 * 9) Perspective
 * 10) Light and Shadows
 * 11) /General Ideas/
 * 12) Traditional Media Tutorials
 * 13) General Supplies and Tools
 * 14) Drawing
 * 15) Painting
 * 16) Printmaking
 * 17) Sculpture
 * 18) Digital Media Tutorials
 * 19) General Software and Tools
 * 20) Digital Painting
 * 21) Rendering
 * 22) /Photography/
 * 23) General Supplies and Tools
 * 24) Film
 * 25) Digital
 * 26) /Post Processing/
 * 27) /Lighting/
 * 28) /Presentation and Display/
 * 29) Portfolios and Slides
 * 30) Gallery Presentations
 * 31) /Installation Art/
 * 32) /Assignments/
 * 33) Child
 * 34) Beginner
 * 35) Intermediate
 * 36) Advanced
 * 37) /Authors/
 * 38) How to contribute to this book

This is a wiki textbook -- feel free to edit, update, correct, and otherwise increase its teaching potential.

title: Art Tutorials


text:
User:Bjwebb

I am User:Bjwebb (Ben Webb) on this and several other wikis.

 * Meta - meta:User:Bjwebb
 * Wikipedia - w:User:Bjwebb
 * Commons - commons:User:Bjwebb
 * Rodovid.org -
 * Wikitree.org -

Also see my Freedom Dreams blog.

title: User:Bjwebb


text:
Developing A Universal Religion/Thinking/The Mind

The human mind is that part of the brain that is able to imagine, and exists mostly in the forebrain. That is why the foreheads of modern people do not slope backwards as in other primates. This forebrain was probably previously the organ of smell, which for our species uniquely, has evolved in a truly remarkable way. Imagination and communication are so closely related that it is reasonable to aver that the principal purpose of language is really to tell lies!

We will have much to say about the mind, memories and thinking, so these terms should first be defined. It is reasonable, for our purposes, to say that the myriad of neural networks of stored information that we call memories, when considered together, form what we might call a “quiescent” mind—a mind that is ready to handle information, but is not actually doing so. (A person with such a mind would be called “brain dead,” and the kind and amount of information that such a “mind” might be reactivated to handle would vary greatly with circumstances.) An “active” mind would be one where chemical ion flows are carrying information from place to place. All living minds are constantly active.

The term “memories” includes all of an individual’s mentally stored facts, theories, opinions, personal experiences, recallable emotions, past thoughts, ideas, etc. “Thinking,” for most of our purposes, can be defined as the act of seeking relationships between these memories, or between memories and current stimulations being received from body sensors. (What occurs during thinking is examined more thoroughly in the next section.)

Animal behaviour studies suggest that many animals possess rudimentary thinking abilities. Tool making is considered to be evidence of the ability to think and many creatures make and use tools. Racoons pick up and use stones to break open clams. Beavers not infrequently shape wood as they construct dams to hold water to store and preserve food they need during winter. Chimpanzees use rocks or heavy sticks to crack open hard-shelled fruit and nuts; they also fashion drinking cups and rain-sheltering umbrellas from banana leaves, and use sticks to extract insects and grubs from small holes. Birds also make and use tools.

Many animal behaviourists contend that their studies demonstrate animals can think. Hausser declares that animals think, but simply lack the ability to express their many thoughts and emotions to others. Calvin states that animals can assess their environment, consider alternative actions and make decisions—all necessitating the ability to think. That animals can think implies that thinking, like every other biological feature and process, has evolved over the ages. Thinking certainly did not suddenly spring, fully formed, into existence in humans.

The specific content of any mind (animal or human) is currently hidden to investigators because the mind functions only when neural networks are biochemically or electrically activated, and, to date, scientists have no technique precise enough to find out just which memories of the multitude locked in the brain’s neural patterns are being activated at any particular instant. Nevertheless, neural networks are real; they can be seen (and photographed as they develop) increasing in complexity as infants age and learn. (The increasing complexity of an adult’s learning brain is hidden within, and masked by, its multitude of existing neural pathways.) The biochemical flows that retrieve and carry information stored within these neural patterns is also real. In short, neural networks whose paths store memories within the brain constitute the mind, and thinking depends upon biochemical flows activating some or many of these networks, so releasing (and making available for potential use) the information they hold.

 * Return to Thinking, Introduction
 * ../First- And Second-Level Thinking/


text:
User talk:Blainegarrett

Art Tutorials
Can you take a look at WB:NP before continuing with this book. Thanks. - Aya T E C 20:05, 16 August 2005 (UTC)

 * Thanks. I might also recommend just using the page Art Tutorials as a contents page until the book gets large enough to warrant moving it elsewhere. The neat thing about this is that the software will automagically generate a link from each subpage to the contents page, without you having to add it in for each page. - Aya T E C 20:29, 16 August 2005 (UTC)

title: User talk:Blainegarrett


text:
Art Tutorials/Authors

 * Original Author: Blainegarrett

This book may be edited by anyone, but initially will be contributed to mostly by members of the Art Attack Online learning community. Project write up.

This project has the go ahead from the Art Attack board of directors. This project will be allocated people and possibly grant money.

title: Art Tutorials/Authors


text:
Wikibooks:Bad Jokes and Other Deleted Nonsense

If you're looking for the pages that were on Wikibooks Jokebook, please see lollerpedia.

Bad Jokes and Other Deleted Nonsense

I can't believe Wikipedia had the nerve to copy this idea from us. ;-)

From Grand Theft Auto: San Andreas/Missions/Home Coming
Hey this is K.C. from CV gimme an IV of straight coffee and some greens to keep me from goin' crazy, pickin' up this shit all day man my backs 'bout to break me. my friends all think I'm whack when I tell them I'm 'bout to slang some bags filled with this kid's crap. these hippies all want to hit me up for some acid as soon as I try to pass this plastic to them while they're sitting in their cars at the gate waitin' to get in 'cuz they're already late and the best bet to catch the next set would be to hop the fence but then you can guess what happens next. you find yourself at a show called casemaker that infiltrated by all these mutherfuckin fakers the next thing you know you're catchin all these headachs they took your mary jane so you can't stop the achin but whether or not it's bank i'm makin it's hot i'll be there rockin the spot pickin all the rottin shit up, i know you may never touch a maggot in your life but to me it matters i know that it ain't right for you to leave this place with your junk in my face so just bag it, the earth can't handle it the rest of us can't stomach and stand for it. so get up off your ass and pick up all your trash i know that you cats aren't used to all of that but it's what got to happen if you want to fit 6 billion people on this planet but don't fret when i'm out there working a sweat placin a bet on who picks up the next poopy tent cuz nothin excites hypes or sikes me more then seein my own human race disgraced an unnatural form.

From Lothlorien History: Fall 1990 - Summer 1995
July through November 1994: Eric Ongerth needs a place to live after graduating and moving out of room 207. He awakes one summer night with a feverish, chocolate-powered dream of how to suspend a home in the redwood tree. Soon a one-room cabin begins to take shape in the tree right across from the third flor of North House. Working on it six days a week, Eric soon has a place to stay, and lives out a most beautiful year among the birds and squirrels, waking every day to brilliant sunlight, wooden beams, and the grind of traffic at the Prospect/Channing intersection.

By 1995 the treehouse grows infamous within the coop system and those members of other houses who eat the most granola and spend the most time drumming in the forest come and visit. Central maintenance personnel do their best to pretend it doesn't exist. The Daily Cal places the treehouse #1 on a list of "best places for a date".

From Wikiversity:Decision Science
To make decisions, you need to be very smart and think ahead...no, wait....

From Enriquesjokes
Enrique's joke consist of a simple formula. Simply take a racist term, add a profane word, and follow it by some form of excrement. (ie; Wop's like to fuck crap). If this fails, then shout a string of obscenities, grab your penis, or pretend to hump something invisible.

Slim
One of the most respected ranch workers, with strong leadership skills. MOOOOOOOOO!

From Getting a date/Cautionary note
Getting a date, or worse yet, falling in love, can change the way you see the whole world. You may never be able to go back to the way you saw it before. You may even skip against your will, in public, where others can see you. Don't say you weren't warned.

More bad jokes
fr:zh:ar:ms:de:q:ja:wikt:es:simple:m:b:WB:BJ --Kernigh 05:52, 4 March 2006 (UTC)

Excerpt from Wikijunior Languages/Galactic Basic
Galactic Basic uses the "Aurabesh" script of writing. The Aurabesh look very different from standard English letters, but they still sound exactly like English letters. ... In real life, this language is English, but in the fictional Star Wars world, billions of people speak Galactic Basic, which is commonly called "Basic". ... Galactic Basic is spoken just like English. In fact, speaking English is virtually speaking Basic! So any English words you know are also part of Galactic Basic.

The only difference is that they are written in the Aurabesh script.