%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%   Monte Carlo Go      by Bernd Bruegmann, 3/93               %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
%
%
% The following is a LaTeX file with figures appended in PostScript:
% Look for the text `\end{document}', extract the remainder and print as  
% PostScript.
%
%
\documentstyle[twocolumn,11pt]{article}
\voffset=-3cm
\hoffset=-1.5cm
\addtolength{\textheight}{5.5cm}
\addtolength{\textwidth}{3cm}
\setlength{\columnsep}{10mm}



 
\begin{document}

\title{Monte Carlo Go}
\author{
       Bernd Br\"ugmann \\
       Physics Department, Syracuse University \\
       Syracuse, NY 13244, USA \\
       E-mail: bruegman@npac.syr.edu
}
\date{March 29, 1993}
\maketitle



\subsection*{Abstract}

We present an algorithm for the board game go which attempts to find
the best move by simulated annealing. Remarkably, without including
any go knowledge beyond the rules, our implementation leads to a
playing strength of about 20--25 kyu on a 9x9 board.




\subsection*{Introduction}

The board game go is one of the grand challenges of game related
artificial intelligence.  While go is a finite, perfect information
game, its game tree is prohibitively large for tree searches. The
situation in go is perhaps best compared with that in chess, which has
been called ``the drosophila of artificial intelligence'',
meaning that a multitude of key problems of artificial intelligence
appear in chess and can be studied there.  Currently, the best chess
playing programs rely heavily on large scale tree searches and use a
comparatively small amount of chess knowledge. In go it is the other
way round, i.e. the quality of the go knowledge is the determining
factor. The development of strong go programs emphasizes much more the
human way of thinking about go rather than brute force methods for
which computers are ideal, and from this point of view one could argue
that go is a much more interesting problem than chess. Many important
advances have been made in go regarding the application of
rule based knowledge representations, pattern recognition and machine
learning. For a recent, lucid review of computer go see \cite{DErbach}.

In this article we want to look at go from a completely different
angle: {\em How would nature play go}?  This is not the starting point
of a metaphysical discussion. This is an attempt to learn from physics
about a method of optimization which nature applies very successfully
and ``naturally''.  We will consider simulated annealing
\cite{numrec,SKirkpatrick,dobbs}, which under surprisingly general
circumstances is able to find approximations to the extrema of a
mathematical function.  Our topic will be the question of how to
formulate the task of finding a good move as a problem in
extremization which is tailored to the strengths of simulated
annealing.

Perhaps it is worthwhile to describe the main idea right away in very
simple terms to indicate the direction in which we are heading. There
are essentially three ingredients in computer programs for playing
games like go: (i) look-ahead where different sequences of moves are
tried, (ii) evaluation where the value of a position is computed
without explicitly performing moves, and (iii) an overall scheme for
how (i) and (ii) are combined. Here is our proposal:
\begin{verse}
(i) moves are performed randomly with probabilities assigned by the method of
simulated annealing, 
\\
(ii) the value of a position in which the game is
over is defined by counting, and
\\
(iii) to find the best move in a
given position play the game to the very end as suggested by (i) and
then evaluate as in (ii); play many such random games, and the best
move will be the one which does best on average.
\end{verse}

Let me quickly point out the obvious. The above idea is certainly
simple, and I believe that any good idea can be stated simply.
However, not every simple idea is a good one, and at first sight the
above one may sound ridiculous.  The main portion of this article is
dedicated to convince the reader that at least this is not necessarily
a bad idea. Furthermore, one may suspect that when considered in detail,
(i), (ii), and (iii) are not has harmless as they seem. Let me just
state that the actual implementation in the go program described below
is still quite simple, but one can hope that the more sophisticated the
design, the better the results.

The paper is organized as follows. First, we introduce some background
of simulated annealing. Then we discuss how it can be applied to the
problem at hand, in particular we discuss why our approach could work
in principle. In the next section a computer implementation, Gobble,
is presented together with some examples for what kind of strengths
and weaknesses Gobble displays in games on the 9x9 board. We conclude
with a general discussion.








\subsection*{Simulated annealing, a Monte Carlo method for combinatorial
optimization}

\subsection*{Monte Carlo methods in physics}

At the heart of most topics in theoretical physics is a variational
principle. Given the phase space of a system, i.e. the space of
possible configuration and momentum variables, the dynamics of the
system is contained in the definition of the action. The action is a
functional on phase space, and the equations of motion are obtained
from it by the condition that the path in phase space which the system
follows corresponds to an extremum of the action. All the fundamental
classical theories like mechanics, thermodynamics, electromagnetism
and general relativity are conveniently defined in terms of the
action. In fact, given the action one can often construct the
corresponding quantum theory straight-forwardly with so called
path-integrals. All this we only point out to emphasize how
fundamental extremization procedures are in physics.  

Monte Carlo methods have their origin in an anology with statistical
physics.  A statistical system consists typically of a large number of
particles, and we are interested in its configuration, say the
position and velocity of the particles, and in how it evolves in time.
Key aspect of the evolution is that some quantity like the action or
the energy is minimized. Let us give a concrete example.  Consider a
metal near its transition from a liquid to a solid state.  A
configuration is described by giving the position and velocity of each
atom in the metal. The atoms do not move around freely but experience
forces due to the combined electric potential created by all atoms.
At high enough temperatures, the atoms move around quite randomly, but
as the metal is cooled, the atoms move less, and when the metal
becomes solid, the atoms are essentially fixed in place by their
mutual electromagnetic forces. This process is called annealing. The
energetically most favourable configuration for the solid state is
that of a regular, crystalline structure.
 
The surprising fact is that in experiments nature is able to come
extremely close to this minimum in energy, i.e. billions of atoms form
a perfectly regular lattice --- if enough time is allowed for the
cooling process. Imagine the atoms moving around in the electric
potential like balls on a surface with many dents and bumps. At the
minimal energy every atom/ball has come to rest at a place where the
potential has a local minimum. If the atoms are slowed down too
quickly, however, they probably have not found the smallest local
minima possible, i.e. the metal solidifies in a less regular,
amorphous state in which the total potential energy is larger than in
a crystal.

In Monte Carlo simulations one simulates the evolution of a
statistical system on a computer \cite{KBinder}. One does not attempt
to solve the terribly complicated equations of motion for each
particle exactly, but follows a probabilistic evolution that stays
close to but not exactly at the minimum of the action.  First of all,
one chooses a suitable description of all possible system
configurations. Second, one needs a set of elementary moves which are
ergodic, that is, changes in the configurations which enable one to
cover the space of all configurations step by step. Third, for a given
configuration moves are suggested completely randomly. Finally, the
physically correct evolution is approximated by accepting a suggested
random move with a probability that depends on whether the move
increases or decreases the action.

So let us give an example for what these probabilities should be for a
system in thermal equilibrium. In this case the temperature is the
same everywhere and the energy is constant.  Notice that even
if the total energy or the temperature is fixed, individual particles
may behave differently. In many cases the probability $p(E)$ that a
single particle has energy $E$ when the system is in thermal
equilibrium at temperature $T$ is given by the Boltzmann probability
distribution,
\begin{equation} 
p(E) \sim \exp(-E/kT),
\end{equation}
where $k$ is Boltzmann's constant. For such systems the probabilistic
evolution can be given by the following rules (Metropolis et al. 1953
\cite{Metropolis}). If a proposed move lowers the energy, it is accepted. If a
proposed move raises the energy by $\Delta E > 0$, it is accepted with
probability $p = \exp(-\Delta E/kT)$ (i.e. $1>p>0$). Note that every
move, even very 'bad' ones, have non-vanishing probability.

Simulated annealing is special in that 'cooling' is introduced
\cite{numrec}. The
temperature is lowered towards 0, and in that limit moves that raise
the energy are almost never accepted by the Metropolis algorithm.
Again, if the system is cooled very slowly so that it is effectively
always in thermal equilibrium, the system is also close to its minimal
energy. If cooling happens too quickly, many particles are caught after
moves away from the minimum and the total energy is not minimal.
What we have to add to the prescription for Monte Carlo simulations of
systems in thermal equilibrium is an ``annealing schedule'' which
defines how fast the temperature is lowered.

Let us end our discussion of physical systems at this point. Monte
Carlo simulations are widely and successfully used in the physics of
statistical systems. They are that successful, in fact, that
non-statistical theories like QCD (quantum chromo dynamics), the
theory of elementary particles, has been turned into a statistical
theory to make it tractable. In the context of physics let us mention
that the idea of influence potentials has already been applied
successfully in go \cite{DErbach,potentials}.


\subsection*{Simulated annealing for mathematical problems}

We now want to focus on the features of simulated annealing which make
it a successful method of extremization for many mathematical problems
\cite{numrec}. Consider an arbitrary function of several variables. If
the function is simple enough and depends only on a small number of
variables, there are very efficient exact numerical methods to find
its local minima. They all are based on essentially the same
principle. Pick initial values for each variable and compute the
function. Change the variables slightly in such a way that the
function value decreases. Repetition allows one to come arbitrarily
close to a local minimum. Different algorithms have been invented to
optimize the progress at each iteration for different classes of
functions.

Whenever one of these methods is applicable, e.g. find the minimum of
$f(x) = x^2$, it usually works much better than simulated annealing,
but there are several types of problems where there is virtually no
alternative to simulated annealing. As it turns out, these exact
algorithms are 'greedy' by design, that is given a starting point they
greedily walk downhill (following the steepest descent) until they
have found a local minimum. But if one is looking for a global minimum
among many local ones, and if one does not know before-hand where to
look for it, one will never find it. Simulated annealing does much
better in finding at least an approximate solution to a global minimum
since it allows uphill moves. Another area were exact numerical
methods fail is when the function depends on a large number of
variables. Finally, simulated annealing works equally well for
non-differentiable (even discontinuous) functions while exact methods
often require the existence of the derivative of the function.

Perhaps the reader feels that already far too much as been said about
the physical and mathematical background of simulated annealing. After
all, consider the simple prescription for simulated annealing to find
the minimum of a function of many variables that can be distilled from
the above. Given is a space of configurations described by some
variables and a function which assigns a number to each configuration.
To approximate the global minimum we perform small random moves in
configuration space. If the function decreases, we accept the move. If
the function increases, we accept the move with a probability which
decreases exponentially with the increase in the function and also
decreases exponentially with the inverse of the temperature. The
temperature is decreased according to our annealing schedule which
should leave enough time for proper thermalization.  The reason I gave
so much background is that even though the procedure of simulated
annealing may look trivial, it should not be underestimated.

We conclude this section with two examples from combinatorial
optimization, which is in many ways similar to our goal, to analyze
game trees. Simulated annealing has, as far as practical applications
are concerned, solved the famous 'traveling salesman problem' 
\cite{numrec,SKirkpatrick}. The
problem is to find the shortest path that connects $N$ cities. The
same type of problem arises when one wants to optimize the layout of
integrated circuits, or in a phone system with several possibilities
to locate the switches. This problem is an example for combinatorial
optimization since the configuration space on which a function (length
of path) is to be minimized is a discrete, factorially large space. In
the traveling salesman problem, there are $N! = N*(N-1)*\ldots*1$
possibilities to make an ordered list of $N$ cities. The computation
time to find the solution by an exhaustive search increases
exponentially with $N$, that is, the traveling salesman problem is
NP-complete.  Simulated annealing achieves a good approximation to the
optimal solution in computing time which grows with $N$ only as a
small power of $N$. The procedure starts with an arbitrary path. Two
types of local changes are performed. One move is to reverse the order
of several cities which are next to each other on the path, and the
other move is to remove several neighboring cities from the list and
move them to a different position in the list.  

For a second example see \cite{dobbs}, where the problem is to
find the arrangements of 25 playing cards in a 5x5 tableau such that
the value of the rows, columns, and diagonals interpreted as hands for
poker is maximized.  Again, simulated annealing is successful and much
faster and simpler than other methods.








\subsection*{Simulated annealing for tree searches}

\subsection*{The problem}

After having gained some intuition about simulated annealing, let us
now try to apply our knowledge to tree searches \cite{nolit}. Given a game
position, we are looking for the best move. Tree searches are similar
to combinatorial optimization problems in that an extremely large
number of alternatives has to be considered for an exhaustive search.

Let us first focus on aspects of tree searches which lead to the
failure of some natural suggestions for the implementation of
simulated annealing before we argue why the suggestion given in the
introduction could work in principle. Faced with a game tree which is
far to large for complete exploration, some sort of pruning becomes
essential. There are different algorithmical techniques which allow
one to ignore parts of the game tree, for example, $\alpha$-$\beta$
pruning.  In fact, the evaluation function which is invoked at the
deepest level of the tree to find the value of a position is also some
sort of pruning. The outcome of the remainder of the tree is estimated
by applying game heuristics. For example, certain patterns are good
because they have been proven to be so in previous games, and to
increase one's influence on the board is advantageous because
experience shows that influence helps in the long run (down the tree).
A first proposal could therefore be to apply simulated annealing to
pruning. At each branching, evaluate the move possibilities from go
knowledge but pursue moves only with a certain probability. This is
actually an old idea, and I do not believe that the exponential
probabilities from simulated annealing would give anything useful. The
main problem is that the game tree of go is still far too large even
if only two moves are considered at each level. Go knowledge remains
essential.

Getting back to combinatorial optimization where simulated annealing
succeeded in optimizing long lists of objects, to find the best move
really means to find the best move considering optimal play of both
players, i.e. we want to optimize a sequence of moves.  Maybe we can
consider {\em entire games} as the object of optimization?
This would make the evaluation trivial, since at the end of a game
counting gives a precise value.

Game trees are, however, profoundly different from the traveling
salesman problem because there are two competing parties playing the
game (trees are not paths). This fact makes it impossible to find
local moves in the configuration space of the type used in the
traveling salesman problem. We are really dealing with the
optimization of two sequences of moves, one for Black, one for White.
The problem is that any local change in the order of moves that Black
makes has a {\em non-local} effect on the game tree. For any move that
Black chooses at a given point in the game over another, the optimal
play for both players will in general have changed completely for the
remainder of the game.  Think of the value of a move for Black as a
function of the order in which Black intends to play his moves. For a
numbered list of such orderings, the value for ordering $1,2,\ldots$
is likely to look like a sequence of random numbers because of the
different, optimal responses by White.  It seems that simulated
annealing cannot be applied in this case since there are no local
moves and under changes in the list of moves the value function
behaves so discontinuously.




\subsection*{One possible solution}

The question is, can anything be learned from playing random games?
The answer is yes for the following reason.  There will be some moves
which are good {\em no matter when they are played}, if a player
actually gets to play them.  For example, if a certain move of Black
makes a group of Black stones live, but if White prevents that move,
Black's group dies, the average result of the games differs by the
corresponding value.

A general rule taught to novices in go is to ``always look for the
biggest move on the board''. One separates the situation on the go
board into local move exchanges and assigns to the move initiating
play in a region the estimated benefit explicitly in the number of
points gained or lost. The suggestion is to play the move with the
best value first. Of course, this can only be a rule of thumb because
often the moves are not completely independent of each other.
Furthermore, it is important which player will have the initiative
after a sequence of moves (sente), i.e. a smaller move which does not
loose sente can be played first. For our goal it is of interest that
go nevertheless allows such localization to a high degree, much more
so than it is for example the case in chess.

Under these circumstance, playing random games to the end is not a
wasted effort since good moves may be detected. To identify good
moves whenever they happen in a game tree is also a
standard tool of pruning. The $\alpha$-$\beta$ algorithm needs the
minimal number of moves if at each branching the best move is tried
first. The so-called killer heuristic suggests to try those moves
first which are currently the best moves anywhere in the tree, and
significant improvements can be achieved \cite{PFrey}. 

For these reasons we adopt the following strategy for playing random
games.  Each player decides beforehand in what order he wants to play
his moves (taking into account that pieces may be played several times
onto the same field after captures).  A game is played to the end such
that if a move in the predetermined list is not possible, the next one
is used.  Each move is assigned the average value of all the games in
which it was played. This value is updated after every game.  After
every update the moves are ordered according to their average values.
The strategy is therefore that moves which are most successful on
average are deemed most important to be played first.  After a large
number of games both Black and White will have settled on a sequence
of moves which are most successful with regard to the other. The best
move for the one to move first is the first one in his list.

As described so far, we are considering a greedy algorithm which will
tend to remain at local extrema. The modification for simulated
annealing is to introduce a finite probability for a move to be played
out of order which depends on the exponential of the value difference
divided by a parameter playing the role of temperature. As before,
when the temperature becomes zero, we have frozen all deviations from
the greedy strategy.

The algorithm given in the introduction provides the framework for
several variations of this idea. 
The above construction could be called the zeroth order approach in
the following sense. Obviously, there are some moves which are only
good as answers to particular other moves. To incorporate such
interdependencies one can store not just the average value of each move but
the average value after a particular other move was played first. This
could be called the first order approach, and there clearly is a
generalization to $n$-th order. In the limit of large $n$ the complete
game information has been stored and the method becomes equivalent to
an exhaustive tree search. This means that in the limit the method works
perfectly (if inefficiently). 

The principle limitation is that the more information we want to use
from the games that are played, the more games have to be played to
make this information meaningful. A general fact about the statistics
of the data is that the error in the average value $\Delta v$ is
typically proportional to one over the square root of the number of
games $n$,
\begin{equation}
\Delta v \sim \frac{1}{\sqrt{n}}.
\end{equation}
(Other numerical methods work usually much better.)  This implies that
to determine the value of a move to within 1 point when the value in
the random games fluctuates by $100$ we have to play on the order of
10000 games! For the actual tests presented below a few hundred games
turned out to be feasible. Therefore, higher order considerations have
to be postponed.

What our algorithm is expected to accomplish is to play {\em perfect}
games against {\em dumb} opponents. The games can be made perfect by
collecting enough statistics (cooling slowly enough). How dumb the
opponent is depends on how much information can be extracted from the
games.  Playing a large number of games against a strong, perhaps
human opponent would let the algorithm play a better game against any
opponent. The problem is, of course, that the only opponent available
is the algorithm itself.

This concludes our motivation for the algorithm introduced in the
introduction. The crucial point of our proposal for applying simulated
annealing to tree searches in go is to replace the strict move order
(as familiar from combinatorial optimization) by the concept of
timeliness or priority of each possible move. Hopefully, this
representation of a tree search leads to changes of configuration that
simulated annealing can manage.  The other novel aspect (as far as
computer go is concerned) is to try to utilize the strengths of
simulated annealing by playing complete games as a substitute for go
heuristics. Enough of theoretical musings, does it work in practice?







\subsection*{Gobble: a program plays Monte Carlo go}


In this section we present results obtained with the computer program
Gobble (version 1.0) that plays go on the 9x9 board using simulated
annealing to find ``the best'' move. The point is that nothing more
than simulated annealing is implemented on top of the bare go playing
rules to allow us to study the method.

We will not describe the program in detail, since this would obscure
rather than help the general discussion. Anyone with some experience
in programming will agree that an implementation of the algorithm
should be straightforward.  One technical issue we have to mention is
how we define the end of a game (recall that we want to play games
routinely to the very end). On first sight this is at least
intuitively clear to human players, but while the rules for playing
moves in go are elegant and simple, rules for when the game ends and
how the result is to be counted are surprisingly complex. The latter
two issues are related, and there are in fact different (Japanese,
Chinese, ...) rules which in rare cases like a multilple ko or special
seki give slightly different results.

We adopt for the moment the following prescription. The computer only
passes if either no legal move is available or all legal moves reduce
the eye space of one of its groups from two to one.  The (over-)
simplification lies in the definition of an eye, which is defined to
be a field whose direct neighbors are all of the same color and whose
diagonal neighbors contain no more than 1 stone of the opposite color
(0 for border and corner fields). The reader may convince himself that
this definition of an eye is correct for most situations, excluding
sekis. When both sides have to pass, the game is over and the result is
determined via Chinese counting. These are standard rules except that
the computer player does not realize that stones in a seki are alive.
Sekis can be dealt with once passing is allowed as an option, but we
leave it at that for simplicity and speed.

Let us also mention a few points about the probabilistic aspects of
the program and the annealing schedule. Determination of a good
annealing schedule is a matter of experimentation \cite{numrec}, here
is what we found useful. First we order the moves strictly by value,
which corresponds to a probability of 1 that a move with better value
is played first. Then we sweep over the list once from best to worst
move and switch the order of two neighboring moves with probability 
$p_{swap}$. The probability $p(n)$ that a move is shifted $n\geq 1$ 
steps down the list is 
\begin{eqnarray}
p(n) &=& (p_{swap})^n = \exp (-n/T), \\ 
T    &=& -1/ \ln p_{swap} \geq 0.
\end{eqnarray}
The annealing schedule is to lower $p_{swap}$ to 0 linearly with the
number of games and set $p_{swap} = 0$ (i.e. $T = 0$) for a few games
at the end to settle in the nearest local extremum. Notice that this
is not the Metropolis algorithm (which is not the only choice possible
anyway). We found that for the few games we play it didn't seem to
matter whether $p_{swap}$ depends on the value difference or not.  In
addition a few percent of all moves are performed completely randomly
to avoid infinite (or long) loops. Further experimentation in conjunction
with a measure of how well the annealing process works is needed.

Gobble was developed on a 286/16 PC, which translates into very slow
and powerless by todays workstation standards. We restrict our
attention to the 9x9 board. One important aspect of statistical
methods like simulated annealing is that some minimal amount of data
is needed to find the signal in the noise. Let us denote by strategy A
the algorithm of order 0 described in the previous section. Strategy A
requires several hundred games to be played before the data is
reasonably reliable which takes on the order of 1 minute on the PC and
a few seconds on a IBM/RISC workstation. (Typical physics applications
in Monte Carlo are allowed to run for days or weeks, but we have game
play with humans in mind.)



\subsection*{A simple example}

Here is our first example! Figure 1 shows a timeless beautiful
position: the empty board, Black to move. After playing 10000 random
games, Gobble assigned to each field a number, ranging from 0.9 to 5.3
in this case. These values are the average game results for all games
in which Black was the first to move onto a field. For example, if
Black was the first to take the center field, whether it is in move 5
or 50, all such games resulted in an average point count at the end of
the game of 5.2 points. In particular, 5.2 is not the average value
for games with Black's first move at the center. 

The main feature is that moves near the center give better results
than moves onto the border and corners. This result is non-trivial,
indicating that strategy A is able to find one of go's simple rules of
thumb. The absolute worth of the first move amounts to about 5 points,
which is lower than it should be, but remember, these 5 points are
just the advantage that Gobble knows to derive from the first move.
During the computation it is nice to watch how the average value of
all games increases steadily as Gobble becomes smarter and tries better
moves. 

This one example already gives an impression of the statistical errors
involved. The board is symmetric, but equivalent moves do not get
exactly the same values (consider the corners, for example). An
estimate for the error could be $\Delta v = \pm 0.6$. The values near
the center are more evenly distributed because good moves are more
often tried at the beginning of games which leads to more consistent
results. Bad moves are played near the end of the game when they tend
to be irrelevant and less correlated with the outcome of the game.
 



\subsection*{Test results for games on the 9x9 board}

To determine the strength of Gobble we had it play several games on
the 9x9 board against Many Faces of Go, the excellent go program by
David Fotland. Many Faces of Go has earned a 12 kyu rating in hundreds
of games against human opponents on the Internet Go Server.  In
1986 \cite{DFotland}, Fotland writes, ``I would love to have other
computer programs to compete with. ... It is hard for me to tell how
good it really is.'' To have Many Faces of Go available (public
domain, xgo.s800, rev. 7.34) has been very helpful since it provides a
strong, unvarying opponent. Table 1 shows the results of twenty games
with Gobble playing Black at different handicaps and Many Faces of Go
playing White at level 10 (medium strength).

For strategy A, Gobble played 500--1000 games to find its moves.
Strategy B is an extension of strategy A to the first halfmove. In the
left column for strategy B, 400 games were played and then the 4 best
moves performed and evaluated with another 400 games each. In the
rightmost column, games 1 to 3 were played with 500 games per
evaluation and 3 trial moves, and for games 4 and 5 the number of
games was doubled.  Handicap stones are placed on the star points.

One should keep in mind that such a small sample can only give a rough
overview. The sample is representative in the sense that except for a
few test games used to adjust the parameters all games the author had
time to play are shown. The scores vary a lot because the players are
weak by human standards, and the boardsize is small.  Nevertheless,
there is clear and perhaps unexpected evidence that {\em Gobble plays
respectable novice computer go.} Gobble's strength for strategy B
seems to be in the 20 to 25 kyu range.

Strategy A requires three handicap stones to have a chance against
Many Faces of Go, but although this is a huge advantage, Gobble
displays a basic capability to stay alive and also to kill its
opponent.  Strategy B brings an improvement of about one handicap
stone.  Gobble's strategy, stated in general terms, is to build a
strong center, while Many Faces of Go tries to increase its influence
along the borders. Gobble only wins a game if it succeeds in cutting
off and killing one of its opponents groups. Otherwise, Many Faces of
Go wins because of its superior territorial skills.



\subsection*{Analysis of a game between Many Faces of Go and Gobble}

It is instructive to analyze one of the games in detail to get a
feeling for Gobble's non-human, probalistic way of ``thinking''.
Computer go is usually not pretty, even to the eyes of the author who
is a 13 kyu, but there are some interesting observations to be made.
Remember that Gobble lacks even the simplest go heuristics, and any
signs of go understanding produced by our algorithm are
therefore of interest.

Figures 2 and 3 show the game record of one of the games played with
strategy B and a two stone handicap. Black wins by 9 points.

Move 2. Figure 4 shows the board after White moved onto 2. To give an
impression of how Gobble evaluates the position, the six highest and
lowest values according to strategy A are shown.  Border moves are
considered bad by Gobble while moves somewhere in the center or near
White 2 are preferred. Incidentally, a move onto the field now occupied
by White,i.e. after White's stone has been captured, is worth about 40
points.

Let us again emphasize that there are noticable random fluctuations in
the result, although 2000 random games were played.  Figure 5 shows
exactly the same position for a second evaluation. Notice that the
average value has shifted by 2 points and only one move made it into
the top six twice, and for some reason the idea to attack White's
stone does not play a role. The lesson is that there may be many moves
which cannot be differentiated by Gobble.  However, among the top six
there always seems to be one or two good moves on an objective scale,
which is remarkable in itself. The challenge is to find them, which is
one motivation for strategy B. As with human go players, many will
recognize that a move should be played ``somewhere in the center'',
fewer are able to pinpoint the best move.

Move 4. White has knowledge about fuseki.

Move 5. Definitely much too tight. We tried to reproduce this move
with strategy A, but failed. 400 games per move in strategy B may
allow to much randomness. Also see moves 9 and 11.

Move 6, 7, 8. Nice shape.

Move 9, 11. These moves look good to Gobble because on average a
connected group with many liberties is more likely to survive than
separate stones. 

Move 12. Defends territory.

Move 13. If connected pieces are strong, a cut produces a weakness.

Move 14--24. White defends its territory while Black is cluttering the
center.

Move 25. Having one eye under all circumstances is another feature
which is valuable on average, and this move is sente.

Move 26. By now White has a big advantage and it is still open whether
Black is capable of making a second eye.

Move 27, 28. Black tries to make territory for the first time, White
takes it away at the other end of the board.

Move 29, 30. A futile invasion.

Move 31. Black probably considers White's stones 
in the lower right corner as half dead, simply because with a
probabilistic algorithm there is always a chance that a player does
not notice an atari. This chance may be slim, but if the gain involved
is large enough, such a move will be played.

Move 32. Uncharacteristically poor move for White, the loosing move.

Move 33. Black is able to take advantage of White's mistake.

Let us pause here for a moment and consider the values strategy A
would assign to this position. Figure 6 shows that Black 33 clearly 
stands out as the best move for Black with 20.2 points (gained by
starting from this position). The worst move is worth 12.2 points.
There is a large number of moves worth about 15 points. The difference
of 5 points between these moves and the best move can only
mean that Black wrongly considers part of White's stones in the lower right
corner as dead. 

Figure 7 shows the situation before White 32. That the best move is
the one worth 5.7 points (for White, the lower the value the better)
indicates that Gobble is consistent in that he makes the same mistake
as in the evaluation for Black 33. Still, this move is much
better than White 32 which scores a 10.5.  The move values in the
upper left corner suggest that Gobble does not understand the position
that Many Faces of Go has build. We return to the game.

Move 47 (figure 3). This move should of course be played at 51. The
bonus from an oversight by White must have outweight the territorial
loss in the upper right corner. The single most important reason that
Gobble looses in the endgame are such nonsense threats, while
defending the borders is consistently underrated. 

Move 49, 51. More meaningless ataris.

Move 57, 59, 61, 65. Meaningless.

Move 63, 69, 71, 73. At times when no competing flawed goals
exist, Gobble's statistic is good enough to detect even small gains.

The remaining moves are not shown since they do not affect the outcome
of the game.

Let us summarize what we have learned from this example. Gobble
displays its own brand of typical computer go: surprising (relative)
strengths in some areas and glaring weaknesses in others. Examples are
life-death and territorial evaluations, respectively. Based on these
observations there certainly are many natural suggestions for
improvement of Gobble's strategy, some of which are mentioned in the
following discussion.




\subsection*{Discussion and Conclusion}

First we pointed out that there is a powerful optimization scheme in
nature, known on the computer as simulated annealing, which has not
been applied in computer go. We proceeded to adapt simulated annealing
to the problem of finding the best move in the game tree of go. The
adaptation is based on the observation that there is a certain move
reorder invariance in go. There are two key elements to our proposal:
1) We suggest that the timeliness of a move is a good objective
function for simulated annealing; 2) Playing games to the very end can
substitute for go heuristics. Finally, we presented first test results
of a computer implementation of our algorithm that plays go clearly
above the absolute beginner's level of 30 kyu.

Since the idea seems to work in practice, we would like to point out
several interesting avenues for further exploration. First let us
comment about the relevance of the algorithm for two features of
computer go, tree searches and evaluation functions. A lot of research
has been done on $\alpha$-$\beta$ pruning and related algorithms. One
should perform a quantitative study of how simulated annealing
performs for the different orders of implementation (one move, two
move, ... sequences), and find out how well the method can do in
practice (see Chs. 1--3 of \cite{parallel}).  Recall that for the
traveling salesman problem the computational effort was reduced
tremendously. Here we face the additional problem that our objective
function for tree searches is an approximation. 

As far as evaluation functions are concerned, an age old dream of game
related artificial intelligence is to tell the machine the rules, and
nothing else, and have it play a perfect game. Although Gobble plays
very poorly by human standards, whatever ``understanding'' of go
Gobble has was not fed in by humans in the form of go heuristics.  The
fact that points are best counted when the game is over apparently is
important enough to matter even through the haze of random games and
poor statistics. It is open whether this phenomenon can be utilized,
for example, on larger boards.

So far we have studied simulated annealing in its pure form only to
identify its characteristica. We definitely do not want to suggest
that this is the best way to program go. Strong go programs like Many
Faces of Go succeed because they apply a collection of ideas like
pattern matching, tactical analysis and influence potentials. The most
difficult problem is to combine all methods into one well-rounded
computer go player. Just because Gobble shows some aptitude in tree
searches and evaluation does not mean that this is the optimal
strategy under all circumstances. Whenever exact methods are
available, say local or small scale tactical searches (e.g. for
ladders), they are much superior to statistical methods.

For example, we noticed that Gobble is particularly weak when it comes
to defending its territory near borders. The correct moves are
elementary patterns most good programs know. Indeed, one promising way
to improve Gobble could be the addition of a pattern library. This
could be implemented on the top level of the move tree for
alternatives which are hard to distinguish. The same applies to all
standard techniques.  A pattern library might have an advantage over
other methods if pattern matching is sufficiently fast to allow its
inclusion {\em at all stages} of the random games.  The stronger the
computer player is that plays the random games, the more
representative the final results are.

On the technical side, let us mention that simulated annealing is
well-suited for special computer hardware. Computers are good at
simple repetitive tasks, which is in contrast to the requirements of
many applications in artificial intelligence where the main problem is
programming and manipulating complicated structures, e.g. in expert
systems for go. Monte Carlo simulations are a prime example for number
crunching. Simulated annealing is easily implemented on parallel
computers \cite{parallel}, which are the most powerful and affordable
computing resource today. Another approach to increase the raw
computing speed in Gobble combined with a pattern library is dedicated
hardware. In fact, there is an ongoing project to design a fast VLSI
chip which incorporates precisely the two functions which are most
time consuming in such an algorithm, move generation and pattern
matching \cite{VLSI}.

To summarize, simulated annealing seems to be a promising idea about
how to approach computer go from a new direction. Simulated annealing
is certainly not a magic wand which resolves all the profound problems
related to computer go. But we believe it is quite possible that
simulated annealing could become an integral part of the go
programmer's repertoire.







\begin{thebibliography}{99}

\bibitem{DErbach}
D. Erbach, Computers and Go, in The Go Player's Almanac, ed. R. Bozulich
(The Ishi Press, 1992) 205--17

\bibitem{numrec}
W. Press, B. Flannery, S. Teukolsky, and W. Vetterling, Numerical
Recipes in C (Cambridge University Press, 1988)

\bibitem{SKirkpatrick}
S. Kirkpatrick, Optimization by simulated annealing: quantitative
studies, J. Stat. Phys. 34 (1984) 975--86

\bibitem{dobbs}
M.P. McLaughlin, Simulated annealing: This algorithm may be one of the
best solutions to the problem of combinatorial optimization, Dr.
Dobb's Journal (Sept. 1989) 26--37, 88--91

\bibitem{KBinder}
K. Binder, D. Heermann, Monte Carlo simulation in statistical physics:
an introduction (Springer, 1992)

\bibitem{potentials}
To determine the influence of stones on a
board, a potential function can be computed very much like the electric
potential due to charged conductors. This is a good anology, since all
connected parts of a perfect conductor are always at the same
potential, very much like in go where each stone of a chain of stones
has the same number of liberties assigned to it. Physics may be able
to teach as more about how such potentials are computed.

\bibitem{Metropolis}
N. Metropolis, A. Rosenbluth, M. Rosenbluth, A. Teller, and E. Teller,
Equations of state calculations by fast computing machines, J. Chem.
Phys. 22 (1953) 1087-92 

\bibitem{PFrey}
P.W. Frey, The alpha-beta algorithm: Incremental uptdating, well
behaved evaluation functions, and non-speculative forward pruning, in
Computer Game Playing: Theory and Practice, ed. M.A. Bramer (Ellis
Horwood Ltd., 1983) 285--289

\bibitem{nolit}
The author is not aware of any previous attempts to apply simulated
annealing to game trees as they are present in go. There is an isolated comment
in \cite{numrec} about random number generators suitable for ``Monte Carlo
exploration of binary trees''. Any references are welcome!

\bibitem{DFotland}
D. Fotland, The program G2, Computer Go 1 (1986) 10--6

\bibitem{parallel}
R. Azencott (ed.), Simulated annealing: parallelization techniques
(Wiley, 1992)

\bibitem{VLSI}
Rob H. Tu, Developing a VLSI go game processor, a Berkeley class
project (newsreader post 3/93)


\end{thebibliography}


\end{document}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% End of LaTeX
% Figures in PostScript follow starting with the NEXT line.
%!PS-Adobe-2.0
%%Creator: dvips 5.493 Copyright 1986, 1992 Radical Eye Software
%%Title: figures.dvi
%%CreationDate: Tue Mar 30 13:23:35 1993
%%Pages: 2
%%PageOrder: Ascend
%%BoundingBox: 0 0 612 792
%%EndComments
%DVIPSCommandLine: dvips figures -o
%DVIPSSource:  TeX output 1993.03.29:1431
%%BeginProcSet: tex.pro
%!
/TeXDict 250 dict def TeXDict begin /N{def}def /B{bind def}N /S{exch}N /X{S N}
B /TR{translate}N /isls false N /vsize 11 72 mul N /@rigin{isls{[0 -1 1 0 0 0]
concat}if 72 Resolution div 72 VResolution div neg scale isls{Resolution hsize
-72 div mul 0 TR}if Resolution VResolution vsize -72 div 1 add mul TR matrix
currentmatrix dup dup 4 get round 4 exch put dup dup 5 get round 5 exch put
setmatrix}N /@landscape{/isls true N}B /@manualfeed{statusdict /manualfeed
true put}B /@copies{/#copies X}B /FMat[1 0 0 -1 0 0]N /FBB[0 0 0 0]N /nn 0 N
/IE 0 N /ctr 0 N /df-tail{/nn 8 dict N nn begin /FontType 3 N /FontMatrix
fntrx N /FontBBox FBB N string /base X array /BitMaps X /BuildChar{
CharBuilder}N /Encoding IE N end dup{/foo setfont}2 array copy cvx N load 0 nn
put /ctr 0 N[}B /df{/sf 1 N /fntrx FMat N df-tail}B /dfs{div /sf X /fntrx[sf 0
0 sf neg 0 0]N df-tail}B /E{pop nn dup definefont setfont}B /ch-width{ch-data
dup length 5 sub get}B /ch-height{ch-data dup length 4 sub get}B /ch-xoff{128
ch-data dup length 3 sub get sub}B /ch-yoff{ch-data dup length 2 sub get 127
sub}B /ch-dx{ch-data dup length 1 sub get}B /ch-image{ch-data dup type
/stringtype ne{ctr get /ctr ctr 1 add N}if}B /id 0 N /rw 0 N /rc 0 N /gp 0 N
/cp 0 N /G 0 N /sf 0 N /CharBuilder{save 3 1 roll S dup /base get 2 index get
S /BitMaps get S get /ch-data X pop /ctr 0 N ch-dx 0 ch-xoff ch-yoff ch-height
sub ch-xoff ch-width add ch-yoff setcachedevice ch-width ch-height true[1 0 0
-1 -.1 ch-xoff sub ch-yoff .1 add]{ch-image}imagemask restore}B /D{/cc X dup
type /stringtype ne{]}if nn /base get cc ctr put nn /BitMaps get S ctr S sf 1
ne{dup dup length 1 sub dup 2 index S get sf div put}if put /ctr ctr 1 add N}
B /I{cc 1 add D}B /bop{userdict /bop-hook known{bop-hook}if /SI save N @rigin
0 0 moveto /V matrix currentmatrix dup 1 get dup mul exch 0 get dup mul add
.99 lt{/FV}{/RV}ifelse load def pop pop}N /eop{SI restore showpage userdict
/eop-hook known{eop-hook}if}N /@start{userdict /start-hook known{start-hook}
if pop /VResolution X /Resolution X 1000 div /DVImag X /IE 256 array N 0 1 255
{IE S 1 string dup 0 3 index put cvn put}for 65781.76 div /vsize X 65781.76
div /hsize X}N /p{show}N /RMat[1 0 0 -1 0 0]N /BDot 260 string N /rulex 0 N
/ruley 0 N /v{/ruley X /rulex X V}B /V{}B /RV statusdict begin /product where{
pop product dup length 7 ge{0 7 getinterval dup(Display)eq exch 0 4
getinterval(NeXT)eq or}{pop false}ifelse}{false}ifelse end{{gsave TR -.1 -.1
TR 1 1 scale rulex ruley false RMat{BDot}imagemask grestore}}{{gsave TR -.1
-.1 TR rulex ruley scale 1 1 false RMat{BDot}imagemask grestore}}ifelse B /FV{
gsave transform round exch round exch itransform moveto rulex 0 rlineto 0
ruley neg rlineto rulex neg 0 rlineto fill grestore}B /a{moveto}B /delta 0 N
/tail{dup /delta X 0 rmoveto}B /M{S p delta add tail}B /b{S p tail}B /c{-4 M}
B /d{-3 M}B /e{-2 M}B /f{-1 M}B /g{0 M}B /h{1 M}B /i{2 M}B /j{3 M}B /k{4 M}B
/w{0 rmoveto}B /l{p -4 w}B /m{p -3 w}B /n{p -2 w}B /o{p -1 w}B /q{p 1 w}B /r{
p 2 w}B /s{p 3 w}B /t{p 4 w}B /x{0 S rmoveto}B /y{3 2 roll p a}B /bos{/SS save
N}B /eos{SS restore}B end
%%EndProcSet
%%BeginProcSet: special.pro
%!
TeXDict begin /SDict 200 dict N SDict begin /@SpecialDefaults{/hs 612 N /vs
792 N /ho 0 N /vo 0 N /hsc 1 N /vsc 1 N /ang 0 N /CLIP 0 N /rwiSeen false N
/rhiSeen false N /letter{}N /note{}N /a4{}N /legal{}N}B /@scaleunit 100 N
/@hscale{@scaleunit div /hsc X}B /@vscale{@scaleunit div /vsc X}B /@hsize{/hs
X /CLIP 1 N}B /@vsize{/vs X /CLIP 1 N}B /@clip{/CLIP 2 N}B /@hoffset{/ho X}B
/@voffset{/vo X}B /@angle{/ang X}B /@rwi{10 div /rwi X /rwiSeen true N}B /@rhi
{10 div /rhi X /rhiSeen true N}B /@llx{/llx X}B /@lly{/lly X}B /@urx{/urx X}B
/@ury{/ury X}B /magscale true def end /@MacSetUp{userdict /md known{userdict
/md get type /dicttype eq{userdict begin md length 10 add md maxlength ge{/md
md dup length 20 add dict copy def}if end md begin /letter{}N /note{}N /legal{
}N /od{txpose 1 0 mtx defaultmatrix dtransform S atan/pa X newpath clippath
mark{transform{itransform moveto}}{transform{itransform lineto}}{6 -2 roll
transform 6 -2 roll transform 6 -2 roll transform{itransform 6 2 roll
itransform 6 2 roll itransform 6 2 roll curveto}}{{closepath}}pathforall
newpath counttomark array astore /gc xdf pop ct 39 0 put 10 fz 0 fs 2
F/|______Courier fnt invertflag{PaintBlack}if}N /txpose{pxs pys scale ppr
aload pop por{noflips{pop S neg S TR pop 1 -1 scale}if xflip yflip and{pop S
neg S TR 180 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0
get neg sub neg TR}if xflip yflip not and{pop S neg S TR pop 180 rotate ppr 3
get ppr 1 get neg sub neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get
neg TR}if}{noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop
pop 90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get
neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr 1 get
neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr 2 get ppr 0
get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4 -1 roll add 2 div 3
1 roll add 2 div 2 copy TR .96 dup scale neg S neg S TR}if}N /cp{pop pop
showpage pm restore}N end}if}if}N /normalscale{Resolution 72 div VResolution
72 div neg scale magscale{DVImag dup scale}if 0 setgray}N /psfts{S 65781.76
div N}N /startTexFig{/psf$SavedState save N userdict maxlength dict begin
/magscale false def normalscale currentpoint TR /psf$ury psfts /psf$urx psfts
/psf$lly psfts /psf$llx psfts /psf$y psfts /psf$x psfts currentpoint /psf$cy X
/psf$cx X /psf$sx psf$x psf$urx psf$llx sub div N /psf$sy psf$y psf$ury
psf$lly sub div N psf$sx psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy
psf$sy div psf$ury sub TR /showpage{}N /erasepage{}N /copypage{}N /p 3 def
@MacSetUp}N /doclip{psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll
newpath 4 copy 4 2 roll moveto 6 -1 roll S lineto S lineto S lineto closepath
clip newpath moveto}N /endTexFig{end psf$SavedState restore}N /@beginspecial{
SDict begin /SpecialSave save N gsave normalscale currentpoint TR
@SpecialDefaults count /ocount X /dcount countdictstack N}N /@setspecial{CLIP
1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs neg 0 rlineto closepath
clip}if ho vo TR hsc vsc scale ang rotate rwiSeen{rwi urx llx sub div rhiSeen{
rhi ury lly sub div}{dup}ifelse scale llx neg lly neg TR}{rhiSeen{rhi ury lly
sub div dup scale llx neg lly neg TR}if}ifelse CLIP 2 eq{newpath llx lly
moveto urx lly lineto urx ury lineto llx ury lineto closepath clip}if
/showpage{}N /erasepage{}N /copypage{}N newpath}N /@endspecial{count ocount
sub{pop}repeat countdictstack dcount sub{end}repeat grestore SpecialSave
restore end}N /@defspecial{SDict begin}N /@fedspecial{end}B /li{lineto}B /rl{
rlineto}B /rc{rcurveto}B /np{/SaveX currentpoint /SaveY X N 1 setlinecap
newpath}N /st{stroke SaveX SaveY moveto}N /fil{fill SaveX SaveY moveto}N
/ellipse{/endangle X /startangle X /yrad X /xrad X /savematrix matrix
currentmatrix N TR xrad yrad scale 0 0 1 startangle endangle arc savematrix
setmatrix}N end
%%EndProcSet
TeXDict begin 40258431 52099146 1000 300 300
(/tmp_mnt/home/centauri/bruegman/papg/fig/figures.dvi) @start
/Fa 53 122 df<001F83E000F06E3001C078780380F8780300F030070070000700700007007000
07007000070070000700700007007000FFFFFF8007007000070070000700700007007000070070
000700700007007000070070000700700007007000070070000700700007007000070070000700
70000700700007007000070070007FE3FF001D20809F1B>11 D<003F0000E0C001C0C00381E007
01E00701E0070000070000070000070000070000070000FFFFE00700E00700E00700E00700E007
00E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E007
00E07FC3FE1720809F19>I<0020004000800100020006000C000C001800180030003000300070
00600060006000E000E000E000E000E000E000E000E000E000E000E000E0006000600060007000
300030003000180018000C000C000600020001000080004000200B2E7DA112>40
D<800040002000100008000C00060006000300030001800180018001C000C000C000C000E000E0
00E000E000E000E000E000E000E000E000E000E000C000C000C001C00180018001800300030006
0006000C00080010002000400080000B2E7DA112>I<70F8FCFC74040404080810102040060E7C
840D>44 D<FFC0FFC00A027F8A0F>I<70F8F8F87005057C840D>I<03F0000E1C001C0E00180600
380700700380700380700380700380F003C0F003C0F003C0F003C0F003C0F003C0F003C0F003C0
F003C0F003C0F003C0F003C0F003C07003807003807003807807803807001806001C0E000E1C00
03F000121F7E9D17>48 D<018003800F80F3800380038003800380038003800380038003800380
0380038003800380038003800380038003800380038003800380038007C0FFFE0F1E7C9D17>I<
03F0000C1C00100E00200700400780800780F007C0F803C0F803C0F803C02007C00007C0000780
000780000F00000E00001C0000380000700000600000C0000180000300000600400C0040180040
1000803FFF807FFF80FFFF80121E7E9D17>I<03F0000C1C00100E00200F00780F807807807807
80380F80000F80000F00000F00000E00001C0000380003F000003C00000E00000F000007800007
800007C02007C0F807C0F807C0F807C0F00780400780400F00200E001C3C0003F000121F7E9D17
>I<000600000600000E00000E00001E00002E00002E00004E00008E00008E00010E00020E0002
0E00040E00080E00080E00100E00200E00200E00400E00C00E00FFFFF0000E00000E00000E0000
0E00000E00000E00000E0000FFE0141E7F9D17>I<1803001FFE001FFC001FF8001FE000100000
10000010000010000010000010000011F000161C00180E001007001007800003800003800003C0
0003C00003C07003C0F003C0F003C0E00380400380400700200600100E000C380003E000121F7E
9D17>I<007C000182000701000E03800C07801C0780380300380000780000700000700000F1F0
00F21C00F40600F80700F80380F80380F003C0F003C0F003C0F003C0F003C07003C07003C07003
803803803807001807000C0E00061C0001F000121F7E9D17>I<4000007FFFC07FFF807FFF8040
010080020080020080040000080000080000100000200000200000400000400000C00000C00001
C00001800003800003800003800003800007800007800007800007800007800007800007800003
0000121F7D9D17>I<03F0000C0C00100600300300200180600180600180600180700180780300
3E03003F06001FC8000FF00003F80007FC000C7E00103F00300F806003804001C0C001C0C000C0
C000C0C000C0C000806001802001001002000C0C0003F000121F7E9D17>I<03F0000E18001C0C
00380600380700700700700380F00380F00380F003C0F003C0F003C0F003C0F003C07007C07007
C03807C0180BC00E13C003E3C0000380000380000380000700300700780600780E00700C002018
001070000FC000121F7E9D17>I<70F8F8F8700000000000000000000070F8F8F87005147C930D>
I<7FFFFFE0FFFFFFF0000000000000000000000000000000000000000000000000000000000000
0000FFFFFFF07FFFFFE01C0C7D9023>61 D<000100000003800000038000000380000007C00000
07C0000007C0000009E0000009E0000009E0000010F0000010F0000010F0000020780000207800
0020780000403C0000403C0000403C0000801E0000801E0000FFFE0001000F0001000F0001000F
00020007800200078002000780040003C00E0003C01F0007E0FFC03FFE1F207F9F22>65
D<FFFFE0000F80380007801E0007801F0007800F0007800F8007800F8007800F8007800F800780
0F8007800F0007801F0007801E0007803C0007FFF00007803C0007801E0007800F0007800F8007
800780078007C0078007C0078007C0078007C0078007C00780078007800F8007800F0007801F00
0F803C00FFFFF0001A1F7E9E20>I<FFFFE0000F803C0007801E000780070007800380078003C0
078001E0078001E0078001F0078000F0078000F0078000F8078000F8078000F8078000F8078000
F8078000F8078000F8078000F8078000F8078000F0078000F0078000F0078001E0078001E00780
03C0078003800780070007800E000F803C00FFFFE0001D1F7E9E23>68 D<FFFFFF000F800F0007
800300078003000780010007800180078000800780008007800080078000800780800007808000
07808000078080000781800007FF80000781800007808000078080000780800007808000078000
00078000000780000007800000078000000780000007800000078000000FC00000FFFE0000191F
7E9E1E>70 D<000FE0200078186000E004E0038002E0070001E00F0000E01E0000601E0000603C
0000603C0000207C00002078000020F8000000F8000000F8000000F8000000F8000000F8000000
F8000000F8007FFCF80003E0780001E07C0001E03C0001E03C0001E01E0001E01E0001E00F0001
E0070001E0038002E000E0046000781820000FE0001E217D9F24>I<FFF8FFF80F800F8007800F
0007800F0007800F0007800F0007800F0007800F0007800F0007800F0007800F0007800F000780
0F0007800F0007FFFF0007800F0007800F0007800F0007800F0007800F0007800F0007800F0007
800F0007800F0007800F0007800F0007800F0007800F0007800F000F800F80FFF8FFF81D1F7E9E
22>I<FF80001FF80F80001F800780001F0005C0002F0005C0002F0005C0002F0004E0004F0004
E0004F000470008F000470008F000470008F000438010F000438010F000438010F00041C020F00
041C020F00041C020F00040E040F00040E040F00040E040F000407080F000407080F000407080F
000403900F000403900F000401E00F000401E00F000401E00F000E00C00F001F00C01F80FFE0C1
FFF8251F7E9E2A>77 D<FFFF80000F80F0000780780007803C0007801E0007801E0007801F0007
801F0007801F0007801F0007801E0007801E0007803C00078078000780F00007FF80000781C000
0780E0000780F0000780700007807800078078000780780007807C0007807C0007807C0007807C
0407807E0407803E040FC01E08FFFC0F10000003E01E207E9E21>82 D<07E0800C198010078030
0380600180600180E00180E00080E00080E00080F00000F000007800007F00003FF0001FFC000F
FE0003FF00001F800007800003C00003C00001C08001C08001C08001C08001C0C00180C00380E0
0300F00600CE0C0081F80012217D9F19>I<7FFFFFE0780F01E0600F0060400F0020400F0020C0
0F0030800F0010800F0010800F0010800F0010000F0000000F0000000F0000000F0000000F0000
000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F00
00000F0000000F0000000F0000000F0000001F800007FFFE001C1F7E9E21>I<FFF07FF81FF01F
800FC007C00F00078003800F00078001000F0007C00100078007C00200078007C00200078007C0
020003C009E0040003C009E0040003C009E0040003E010F00C0001E010F0080001E010F0080001
F02078080000F02078100000F02078100000F0403C10000078403C20000078403C20000078C03E
2000003C801E4000003C801E4000003C801E4000001F000F8000001F000F8000001F000F800000
1E00078000000E00070000000E00070000000C000300000004000200002C207F9E2F>87
D<1FE000303000781800781C00300E00000E00000E00000E0000FE00078E001E0E00380E00780E
00F00E10F00E10F00E10F01E10781E103867200F83C014147E9317>97 D<0E0000FE00000E0000
0E00000E00000E00000E00000E00000E00000E00000E00000E00000E3E000EC3800F01C00F00E0
0E00E00E00700E00700E00780E00780E00780E00780E00780E00780E00700E00700E00E00F00E0
0D01C00CC300083E0015207F9F19>I<03F80E0C1C1E381E380C70007000F000F000F000F000F0
00F00070007000380138011C020E0C03F010147E9314>I<000380003F80000380000380000380
00038000038000038000038000038000038000038003E380061B801C0780380380380380700380
700380F00380F00380F00380F00380F00380F003807003807003803803803807801C07800E1B80
03E3F815207E9F19>I<03F0000E1C001C0E00380700380700700700700380F00380F00380FFFF
80F00000F00000F000007000007000003800801800800C010007060001F80011147F9314>I<00
7C00C6018F038F07060700070007000700070007000700FFF00700070007000700070007000700
070007000700070007000700070007000700070007007FF01020809F0E>I<0000E003E3300E3C
301C1C30380E00780F00780F00780F00780F00780F00380E001C1C001E380033E0002000002000
003000003000003FFE001FFF800FFFC03001E0600070C00030C00030C00030C000306000603000
C01C038003FC00141F7F9417>I<0E0000FE00000E00000E00000E00000E00000E00000E00000E
00000E00000E00000E00000E3E000E43000E81800F01C00F01C00E01C00E01C00E01C00E01C00E
01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C0FFE7FC16207F9F19>I<
1C003E003E003E001C000000000000000000000000000E007E000E000E000E000E000E000E000E
000E000E000E000E000E000E000E000E000E000E00FFC00A1F809E0C>I<0E0000FE00000E0000
0E00000E00000E00000E00000E00000E00000E00000E00000E00000E0FF00E03C00E03000E0200
0E04000E08000E10000E30000E70000EF8000F38000E1C000E1E000E0E000E07000E07800E0380
0E03C00E03E0FFCFF815207F9F18>107 D<0E00FE000E000E000E000E000E000E000E000E000E
000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E00
0E00FFE00B20809F0C>I<0E1F01F000FE618618000E81C81C000F00F00E000F00F00E000E00E0
0E000E00E00E000E00E00E000E00E00E000E00E00E000E00E00E000E00E00E000E00E00E000E00
E00E000E00E00E000E00E00E000E00E00E000E00E00E000E00E00E00FFE7FE7FE023147F9326>
I<0E3E00FE43000E81800F01C00F01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01
C00E01C00E01C00E01C00E01C00E01C00E01C0FFE7FC16147F9319>I<01F800070E001C038038
01C03801C07000E07000E0F000F0F000F0F000F0F000F0F000F0F000F07000E07000E03801C038
01C01C0380070E0001F80014147F9317>I<0E3E00FEC3800F01C00F00E00E00E00E00F00E0070
0E00780E00780E00780E00780E00780E00780E00700E00F00E00E00F01E00F01C00EC3000E3E00
0E00000E00000E00000E00000E00000E00000E00000E0000FFE000151D7F9319>I<0E78FE8C0F
1E0F1E0F0C0E000E000E000E000E000E000E000E000E000E000E000E000E000E00FFE00F147F93
12>114 D<1F9030704030C010C010C010E00078007F803FE00FF00070803880188018C018C018
E030D0608F800D147E9312>I<020002000200060006000E000E003E00FFF80E000E000E000E00
0E000E000E000E000E000E000E000E080E080E080E080E080610031001E00D1C7F9B12>I<0E01
C0FE1FC00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01
C00E01C00E01C00E03C00603C0030DC001F1FC16147F9319>I<FF83F81E01E01C00C00E00800E
00800E008007010007010003820003820003820001C40001C40001EC0000E80000E80000700000
700000700000200015147F9318>I<FF9FE1FC3C0780701C0300601C0380200E0380400E038040
0E03C0400707C0800704C0800704E080038861000388710003C8730001D0320001D03A0000F03C
0000E01C0000E01C0000601800004008001E147F9321>I<7FC3FC0F01E00701C0070180038100
01C20000E40000EC00007800003800003C00007C00004E000087000107000303800201C00601E0
1E01E0FF07FE1714809318>I<FF83F81E01E01C00C00E00800E00800E00800701000701000382
0003820003820001C40001C40001EC0000E80000E8000070000070000070000020000020000040
00004000004000F08000F08000F100006200003C0000151D7F9318>I E
end
%%EndProlog
%%BeginSetup
%%Feature: *Resolution 300dpi
TeXDict begin

%%EndSetup
%%Page: 1 1
1 0 bop 48 214 a
 11188078 10740543 0 0 20392345 19734528 startTexFig
 48 214 a
%%BeginDocument: emptystat1.ps
%!
%%Title: /tmp/xfig-export026685
%%Creator: fig2dev
%%CreationDate: Fri Mar 26 15:37:20 1993
%%For: bruegman@sccs.syr.edu (Bernd Bruegmann)
%%BoundingBox: 0 0 310 300
%%Pages: 0
%%EndComments
/$F2psDict 6400 dict def 
$F2psDict begin
$F2psDict /mtrx matrix put
/l {lineto} bind def
/m {moveto} bind def
/s {stroke} bind def
/n {newpath} bind def
/gs {gsave} bind def
/gr {grestore} bind def
/clp {closepath} bind def
/graycol {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
4 -2 roll mul setrgbcolor} bind def
/col-1 {} def
/col0 {0 0 0 setrgbcolor} bind def
/col1 {0 0 1 setrgbcolor} bind def
/col2 {0 1 0 setrgbcolor} bind def
/col3 {0 1 1 setrgbcolor} bind def
/col4 {1 0 0 setrgbcolor} bind def
/col5 {1 0 1 setrgbcolor} bind def
/col6 {1 1 0 setrgbcolor} bind def
/col7 {1 1 1 setrgbcolor} bind def
 /DrawEllipse {
	/endangle exch def
	/startangle exch def
	/yrad exch def
	/xrad exch def
	/y exch def
	/x exch def
	/savematrix mtrx currentmatrix def
	x y translate xrad yrad scale 0 0 1 startangle endangle arc
	savematrix setmatrix
	} def newpath 0 0 0 0 0 1 DrawEllipse stroke

	end
/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
/$F2psEnd {$F2psEnteredState restore end} def
%%EndProlog

$F2psBegin
0 setlinecap 0 setlinejoin
-132 60 translate
0.0 300.0 translate 0.900 -0.900 scale
0.500 setlinewidth
% Ellipse
n 239 159 2 2 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 239 319 2 2 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 399 319 2 2 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 399 159 2 2 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
% Polyline
n 159 119 m 479 119 l  479 119 l  clp gs col-1 s gr
% Polyline
n 159 199 m 479 199 l  clp gs col-1 s gr
% Polyline
n 159 239 m 479 239 l  clp gs col-1 s gr
% Polyline
n 159 279 m 479 279 l  clp gs col-1 s gr
% Polyline
n 159 319 m 479 319 l  clp gs col-1 s gr
% Polyline
n 159 359 m 479 359 l  clp gs col-1 s gr
% Polyline
n 199 79 m 199 399 l  clp gs col-1 s gr
% Polyline
n 319 79 m 319 399 l  clp gs col-1 s gr
% Polyline
n 359 79 m 359 399 l  clp gs col-1 s gr
% Polyline
n 399 79 m 399 399 l  clp gs col-1 s gr
1.000 setlinewidth
% Polyline
n 159 79 m 159 399 l  clp gs col-1 s gr
% Polyline
n 159 79 m 479 79 l  479 79 l  clp gs col-1 s gr
0.500 setlinewidth
% Polyline
n 239 79 m 239 399 l  clp gs col-1 s gr
% Polyline
n 159 159 m 479 159 l  clp gs col-1 s gr
% Polyline
n 439 79 m 439 399 l  clp gs col-1 s gr
1.000 setlinewidth
% Polyline
n 479 79 m 479 399 l  clp gs col-1 s gr
% Polyline
n 159 399 m 479 399 l  clp gs col-1 s gr
0.500 setlinewidth
% Polyline
n 279 79 m 279 399 l  clp gs col-1 s gr
/Helvetica findfont 18.00 scalefont setfont
159 79 m 
gs 1 -1 scale (0.9) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
199 79 m 
gs 1 -1 scale (3.0) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
239 79 m 
gs 1 -1 scale (2.9) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
279 79 m 
gs 1 -1 scale (3.2) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
319 79 m 
gs 1 -1 scale (2.3) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
359 79 m 
gs 1 -1 scale (3.2) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
399 79 m 
gs 1 -1 scale (2.5) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
439 79 m 
gs 1 -1 scale (2.6) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
479 79 m 
gs 1 -1 scale (2.1) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
159 119 m 
gs 1 -1 scale (3.2) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
199 119 m 
gs 1 -1 scale (3.3) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
239 119 m 
gs 1 -1 scale (3.8) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
279 119 m 
gs 1 -1 scale (3.8) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
319 119 m 
gs 1 -1 scale (4.3) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
359 119 m 
gs 1 -1 scale (4.6) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
399 119 m 
gs 1 -1 scale (4.3) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
439 119 m 
gs 1 -1 scale (3.3) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
479 119 m 
gs 1 -1 scale (2.8) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
159 159 m 
gs 1 -1 scale (3.1) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
199 159 m 
gs 1 -1 scale (3.7) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
239 159 m 
gs 1 -1 scale (4.8) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
279 159 m 
gs 1 -1 scale (4.6) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
319 159 m 
gs 1 -1 scale (4.9) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
359 159 m 
gs 1 -1 scale (4.5) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
399 159 m 
gs 1 -1 scale (4.6) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
439 159 m 
gs 1 -1 scale (3.5) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
479 159 m 
gs 1 -1 scale (1.5) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
159 199 m 
gs 1 -1 scale (2.7) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
199 199 m 
gs 1 -1 scale (4.2) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
239 199 m 
gs 1 -1 scale (4.7) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
279 199 m 
gs 1 -1 scale (5.0) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
319 199 m 
gs 1 -1 scale (5.2) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
359 199 m 
gs 1 -1 scale (4.9) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
399 199 m 
gs 1 -1 scale (4.9) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
439 199 m 
gs 1 -1 scale (4.6) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
479 199 m 
gs 1 -1 scale (2.5) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
159 239 m 
gs 1 -1 scale (3.4) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
199 239 m 
gs 1 -1 scale (4.1) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
239 239 m 
gs 1 -1 scale (4.9) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
279 239 m 
gs 1 -1 scale (5.1) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
319 239 m 
gs 1 -1 scale (5.2) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
359 239 m 
gs 1 -1 scale (5.3) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
399 239 m 
gs 1 -1 scale (4.9) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
439 239 m 
gs 1 -1 scale (4.7) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
479 239 m 
gs 1 -1 scale (2.1) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
159 279 m 
gs 1 -1 scale (2.1) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
199 279 m 
gs 1 -1 scale (4.3) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
239 279 m 
gs 1 -1 scale (4.8) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
279 279 m 
gs 1 -1 scale (5.0) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
319 279 m 
gs 1 -1 scale (5.1) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
359 279 m 
gs 1 -1 scale (5.0) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
399 279 m 
gs 1 -1 scale (4.8) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
439 279 m 
gs 1 -1 scale (4.3) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
479 279 m 
gs 1 -1 scale (2.2) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
159 319 m 
gs 1 -1 scale (2.1) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
199 319 m 
gs 1 -1 scale (3.8) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
239 319 m 
gs 1 -1 scale (4.6) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
279 319 m 
gs 1 -1 scale (4.5) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
319 319 m 
gs 1 -1 scale (5.1) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
359 319 m 
gs 1 -1 scale (4.8) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
399 319 m 
gs 1 -1 scale (4.6) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
439 319 m 
gs 1 -1 scale (4.1) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
479 319 m 
gs 1 -1 scale (1.8) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
159 359 m 
gs 1 -1 scale (1.8) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
199 359 m 
gs 1 -1 scale (2.2) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
239 359 m 
gs 1 -1 scale (4.1) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
279 359 m 
gs 1 -1 scale (3.9) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
319 359 m 
gs 1 -1 scale (4.4) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
359 359 m 
gs 1 -1 scale (4.5) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
399 359 m 
gs 1 -1 scale (3.6) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
439 359 m 
gs 1 -1 scale (3.2) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
479 359 m 
gs 1 -1 scale (1.6) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
159 399 m 
gs 1 -1 scale (1.3) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
199 399 m 
gs 1 -1 scale (2.7) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
239 399 m 
gs 1 -1 scale (1.9) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
279 399 m 
gs 1 -1 scale (2.5) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
319 399 m 
gs 1 -1 scale (1.5) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
359 399 m 
gs 1 -1 scale (1.8) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
399 399 m 
gs 1 -1 scale (2.4) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
439 399 m 
gs 1 -1 scale (1.7) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
479 399 m 
gs 1 -1 scale (1.5) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
$F2psEnd
%%EndDocument

 endTexFig
 -112 992 a Fa(Figure)12 b(1:)17 b(Blac)o(k)12 b(to)e(mo)o(v)o(e.)18
b(The)11 b(n)o(umerical)i(v)m(alues)f(rang-)-112 1049 y(ing)20
b(from)e(0.9)g(to)h(5.3)f(denote)h(the)g(a)o(v)o(erage)f(v)m(alue)i(of)e(all)
-112 1105 y(games)11 b(in)i(whic)o(h)f(Blac)o(k)h(w)o(as)d(the)i(\014rst)f
(to)g(mo)o(v)o(e)g(on)o(to)g(that)-112 1162 y(\014eld.)p -112
1802 1345 2 v -113 1859 2 57 v -87 1842 a(White:)21 b(Man)o(y)14
b(F)l(aces)h(of)g(Go)p 1232 1859 V -113 1915 V -87 1898 a(Blac)o(k:)21
b(Gobble)p 1232 1915 V -112 1917 1345 2 v -113 1973 2 57 v
-87 1956 a(Strategy)p 241 1973 V 253 w(A)p 461 1973 V 186 w(A)p
682 1973 V 188 w(B)p 902 1973 V 243 w(B)p 1232 1973 V -113
2030 V -87 2013 a(Handicap)p 241 2030 V 241 w(3)p 461 2030
V 197 w(2)p 682 2030 V 197 w(2)p 902 2030 V 148 w(0)15 b(\(no)f(k)o(omi\))p
1232 2030 V -113 2086 V -87 2069 a(Random)i(games)p 241 2086
V 100 w(500)p 461 2086 V 140 w(1000)p 682 2086 V 116 w(5x400)p
902 2086 V 77 w(4x500,)d(4x1000)p 1232 2086 V -112 2088 1345
2 v -113 2144 2 57 v -87 2127 a(1.)20 b(Game)p 241 2144 V 192
w(W)15 b(b)o(y)g(4)p 461 2144 V 80 w(B)g(b)o(y)g(7)p 682 2144
V 68 w(W)g(b)o(y)g(25)p 902 2144 V 105 w(W)g(b)o(y)g(21)p 1232
2144 V -113 2201 V -87 2184 a(2.)p 241 2201 V 329 w(W)g(b)o(y)g(4)p
461 2201 V 61 w(W)g(b)o(y)g(41)p 682 2201 V 68 w(B)g(b)o(y)h(9)p
902 2201 V 123 w(W)f(b)o(y)g(11)p 1232 2201 V -113 2257 V -87
2240 a(3.)p 241 2257 V 337 w(B)g(b)o(y)g(1)p 461 2257 V 80
w(W)f(b)o(y)i(1)p 682 2257 V 72 w(W)f(b)o(y)g(9)p 902 2257
V 123 w(B)g(b)o(y)g(81)p 1232 2257 V -113 2314 V -87 2297 a(4.)p
241 2314 V 318 w(W)g(b)o(y)g(81)p 461 2314 V 49 w(W)g(b)o(y)g(81)p
682 2314 V 68 w(B)g(b)o(y)h(9)p 902 2314 V 123 w(W)f(b)o(y)g(11)p
1232 2314 V -113 2370 V -87 2353 a(5.)p 241 2370 V 325 w(B)h(b)o(y)f(22)p
461 2370 V 56 w(W)g(b)o(y)g(37)p 682 2370 V 57 w(B)g(b)o(y)g(17)p
902 2370 V 123 w(W)g(b)o(y)g(9)p 1232 2370 V -112 2372 1345
2 v -16 2449 a(T)l(able)h(1:)j(Game)c(results)h(for)e(the)h(9x9)g(b)q(oard.)p
eop
%%Page: 2 2
2 1 bop 48 -56 a
 11188078 11188078 0 0 20063436 20063436 startTexFig
 48 -56 a
%%BeginDocument: ex9.1n.ps
%!
%%Title: /tmp/xfig-export026685
%%Creator: fig2dev
%%CreationDate: Fri Mar 26 15:38:52 1993
%%For: bruegman@sccs.syr.edu (Bernd Bruegmann)
%%BoundingBox: 0 0 305 305
%%Pages: 0
%%EndComments
/$F2psDict 6400 dict def 
$F2psDict begin
$F2psDict /mtrx matrix put
/l {lineto} bind def
/m {moveto} bind def
/s {stroke} bind def
/n {newpath} bind def
/gs {gsave} bind def
/gr {grestore} bind def
/clp {closepath} bind def
/graycol {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
4 -2 roll mul setrgbcolor} bind def
/col-1 {} def
/col0 {0 0 0 setrgbcolor} bind def
/col1 {0 0 1 setrgbcolor} bind def
/col2 {0 1 0 setrgbcolor} bind def
/col3 {0 1 1 setrgbcolor} bind def
/col4 {1 0 0 setrgbcolor} bind def
/col5 {1 0 1 setrgbcolor} bind def
/col6 {1 1 0 setrgbcolor} bind def
/col7 {1 1 1 setrgbcolor} bind def
 /DrawEllipse {
	/endangle exch def
	/startangle exch def
	/yrad exch def
	/xrad exch def
	/y exch def
	/x exch def
	/savematrix mtrx currentmatrix def
	x y translate xrad yrad scale 0 0 1 startangle endangle arc
	savematrix setmatrix
	} def newpath 0 0 0 0 0 1 DrawEllipse stroke

	end
/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
/$F2psEnd {$F2psEnteredState restore end} def
%%EndProlog

$F2psBegin
0 setlinecap 0 setlinejoin
-127 72 translate
0.0 305.0 translate 0.900 -0.900 scale
0.500 setlinewidth
% Ellipse
n 239 159 2 2 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 399 319 2 2 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 399 159 2 2 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
% Polyline
n 199 79 m 199 399 l  clp gs col-1 s gr
% Polyline
n 319 79 m 319 399 l  clp gs col-1 s gr
% Polyline
n 399 79 m 399 399 l  clp gs col-1 s gr
1.000 setlinewidth
% Polyline
n 159 399 m 479 399 l  clp gs col-1 s gr
% Polyline
n 479 79 m 479 399 l  clp gs col-1 s gr
0.500 setlinewidth
% Polyline
n 439 79 m 439 399 l  clp gs col-1 s gr
% Polyline
n 159 159 m 479 159 l  clp gs col-1 s gr
1.000 setlinewidth
% Polyline
n 159 79 m 479 79 l  479 79 l  clp gs col-1 s gr
% Polyline
n 159 79 m 159 399 l  clp gs col-1 s gr
0.500 setlinewidth
% Polyline
n 359 79 m 359 399 l  clp gs col-1 s gr
% Polyline
n 239 79 m 239 399 l  clp gs col-1 s gr
% Polyline
n 279 79 m 279 399 l  clp gs col-1 s gr
% Polyline
n 159 319 m 479 319 l  clp gs col-1 s gr
% Polyline
n 159 279 m 479 279 l  clp gs col-1 s gr
% Polyline
n 159 239 m 479 239 l  clp gs col-1 s gr
% Polyline
n 159 199 m 479 199 l  clp gs col-1 s gr
% Polyline
n 159 119 m 479 119 l  479 119 l  clp gs col-1 s gr
% Polyline
n 159 359 m 479 359 l  clp gs col-1 s gr
1.000 setlinewidth
% Ellipse
n 399 239 18 18 0 360 DrawEllipse gs 1.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 359 319 18 18 0 360 DrawEllipse gs 1.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 319 319 18 18 0 360 DrawEllipse gs 1.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 319 359 18 18 0 360 DrawEllipse gs 1.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 399 359 18 18 0 360 DrawEllipse gs 1.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 439 359 18 18 0 360 DrawEllipse gs 1.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 199 359 18 18 0 360 DrawEllipse gs 1.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 439 279 18 18 0 360 DrawEllipse gs 1.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 159 319 18 18 0 360 DrawEllipse gs 1.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 239 159 18 18 0 360 DrawEllipse gs 1.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 279 199 18 18 0 360 DrawEllipse gs 1.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 199 119 18 18 0 360 DrawEllipse gs 1.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 319 159 18 18 0 360 DrawEllipse gs 1.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 319 119 18 18 0 360 DrawEllipse gs 1.00 setgray fill gr
gs col-1 s gr
0.500 setlinewidth
% Ellipse
n 239 319 19 19 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 319 399 19 19 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 279 159 19 19 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 399 159 19 19 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 359 119 19 19 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 359 159 19 19 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 359 199 19 19 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
1.000 setlinewidth
% Ellipse
n 199 199 18 18 0 360 DrawEllipse gs 1.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 399 279 18 18 0 360 DrawEllipse gs 1.00 setgray fill gr
gs col-1 s gr
0.500 setlinewidth
% Ellipse
n 439 319 19 19 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 399 319 19 19 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 359 359 19 19 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 279 359 19 19 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 279 319 19 19 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 359 279 19 19 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 319 279 19 19 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 319 239 19 19 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 279 239 19 19 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 239 239 19 19 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 239 279 19 19 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
/Helvetica findfont 24.00 scalefont setfont
399 289 m 
gs 1 -1 scale (2) dup stringwidth pop 2 div neg 0 rmoveto  col-1 show gr
/Helvetica findfont 24.00 scalefont setfont
239 169 m 
gs 1 -1 scale (4) dup stringwidth pop 2 div neg 0 rmoveto  col-1 show gr
/Helvetica findfont 24.00 scalefont setfont
319 329 m 
gs 1 -1 scale (6) dup stringwidth pop 2 div neg 0 rmoveto  col-1 show gr
/Helvetica findfont 24.00 scalefont setfont
359 329 m 
gs 1 -1 scale (8) dup stringwidth pop 2 div neg 0 rmoveto  col-1 show gr
/Helvetica findfont 24.00 scalefont setfont
319 129 m 
gs 1 -1 scale (10) dup stringwidth pop 2 div neg 0 rmoveto  col-1 show gr
/Helvetica findfont 24.00 scalefont setfont
199 209 m 
gs 1 -1 scale (12) dup stringwidth pop 2 div neg 0 rmoveto  col-1 show gr
/Helvetica findfont 24.00 scalefont setfont
199 129 m 
gs 1 -1 scale (16) dup stringwidth pop 2 div neg 0 rmoveto  col-1 show gr
/Helvetica findfont 24.00 scalefont setfont
399 369 m 
gs 1 -1 scale (14) dup stringwidth pop 2 div neg 0 rmoveto  col-1 show gr
/Helvetica findfont 24.00 scalefont setfont
399 249 m 
gs 1 -1 scale (18) dup stringwidth pop 2 div neg 0 rmoveto  col-1 show gr
/Helvetica findfont 24.00 scalefont setfont
439 369 m 
gs 1 -1 scale (20) dup stringwidth pop 2 div neg 0 rmoveto  col-1 show gr
/Helvetica findfont 24.00 scalefont setfont
319 169 m 
gs 1 -1 scale (22) dup stringwidth pop 2 div neg 0 rmoveto  col-1 show gr
/Helvetica findfont 24.00 scalefont setfont
439 289 m 
gs 1 -1 scale (24) dup stringwidth pop 2 div neg 0 rmoveto  col-1 show gr
/Helvetica findfont 24.00 scalefont setfont
319 369 m 
gs 1 -1 scale (26) dup stringwidth pop 2 div neg 0 rmoveto  col-1 show gr
/Helvetica findfont 24.00 scalefont setfont
159 329 m 
gs 1 -1 scale (28) dup stringwidth pop 2 div neg 0 rmoveto  col-1 show gr
/Helvetica findfont 24.00 scalefont setfont
279 209 m 
gs 1 -1 scale (30) dup stringwidth pop 2 div neg 0 rmoveto  col-1 show gr
/Helvetica findfont 24.00 scalefont setfont
199 369 m 
gs 1 -1 scale (32) dup stringwidth pop 2 div neg 0 rmoveto  col-1 show gr
/Helvetica findfont 24.00 scalefont setfont
359 209 m 
gs 1 -1 scale (3) dup stringwidth pop 2 div neg 0 rmoveto  col7 show gr
/Helvetica findfont 24.00 scalefont setfont
359 169 m 
gs 1 -1 scale (5) dup stringwidth pop 2 div neg 0 rmoveto  col7 show gr
/Helvetica findfont 24.00 scalefont setfont
359 289 m 
gs 1 -1 scale (7) dup stringwidth pop 2 div neg 0 rmoveto  col7 show gr
/Helvetica findfont 24.00 scalefont setfont
239 289 m 
gs 1 -1 scale (9) dup stringwidth pop 2 div neg 0 rmoveto  col7 show gr
/Helvetica findfont 24.00 scalefont setfont
239 249 m 
gs 1 -1 scale (11) dup stringwidth pop 2 div neg 0 rmoveto  col7 show gr
/Helvetica findfont 24.00 scalefont setfont
399 329 m 
gs 1 -1 scale (13) dup stringwidth pop 2 div neg 0 rmoveto  col7 show gr
/Helvetica findfont 24.00 scalefont setfont
319 289 m 
gs 1 -1 scale (15) dup stringwidth pop 2 div neg 0 rmoveto  col7 show gr
/Helvetica findfont 24.00 scalefont setfont
319 249 m 
gs 1 -1 scale (17) dup stringwidth pop 2 div neg 0 rmoveto  col7 show gr
/Helvetica findfont 24.00 scalefont setfont
439 329 m 
gs 1 -1 scale (19) dup stringwidth pop 2 div neg 0 rmoveto  col7 show gr
/Helvetica findfont 24.00 scalefont setfont
279 249 m 
gs 1 -1 scale (21) dup stringwidth pop 2 div neg 0 rmoveto  col7 show gr
/Helvetica findfont 24.00 scalefont setfont
359 369 m 
gs 1 -1 scale (23) dup stringwidth pop 2 div neg 0 rmoveto  col7 show gr
/Helvetica findfont 24.00 scalefont setfont
279 329 m 
gs 1 -1 scale (25) dup stringwidth pop 2 div neg 0 rmoveto  col7 show gr
/Helvetica findfont 24.00 scalefont setfont
359 129 m 
gs 1 -1 scale (27) dup stringwidth pop 2 div neg 0 rmoveto  col7 show gr
/Helvetica findfont 24.00 scalefont setfont
279 169 m 
gs 1 -1 scale (29) dup stringwidth pop 2 div neg 0 rmoveto  col7 show gr
/Helvetica findfont 24.00 scalefont setfont
279 369 m 
gs 1 -1 scale (31) dup stringwidth pop 2 div neg 0 rmoveto  col7 show gr
/Helvetica findfont 24.00 scalefont setfont
319 409 m 
gs 1 -1 scale (33) dup stringwidth pop 2 div neg 0 rmoveto  col7 show gr
$F2psEnd
%%EndDocument

 endTexFig
 -112 751 a Fa(Figure)21 b(2:)29 b(First)20 b(part)f(of)h(game)f(b)q(et)o(w)o
(een)h(Gobble)h(and)-112 807 y(Man)o(y)15 b(F)l(aces)g(of)g(Go.)48
914 y
 11188078 11188078 0 0 21247508 21247508 startTexFig
 48 914 a
%%BeginDocument: ex9.2n.ps
%!
%%Title: /tmp/xfig-export026685
%%Creator: fig2dev
%%CreationDate: Fri Mar 26 15:39:36 1993
%%For: bruegman@sccs.syr.edu (Bernd Bruegmann)
%%BoundingBox: 0 0 323 323
%%Pages: 0
%%EndComments
/$F2psDict 6400 dict def 
$F2psDict begin
$F2psDict /mtrx matrix put
/l {lineto} bind def
/m {moveto} bind def
/s {stroke} bind def
/n {newpath} bind def
/gs {gsave} bind def
/gr {grestore} bind def
/clp {closepath} bind def
/graycol {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
4 -2 roll mul setrgbcolor} bind def
/col-1 {} def
/col0 {0 0 0 setrgbcolor} bind def
/col1 {0 0 1 setrgbcolor} bind def
/col2 {0 1 0 setrgbcolor} bind def
/col3 {0 1 1 setrgbcolor} bind def
/col4 {1 0 0 setrgbcolor} bind def
/col5 {1 0 1 setrgbcolor} bind def
/col6 {1 1 0 setrgbcolor} bind def
/col7 {1 1 1 setrgbcolor} bind def
 /DrawEllipse {
	/endangle exch def
	/startangle exch def
	/yrad exch def
	/xrad exch def
	/y exch def
	/x exch def
	/savematrix mtrx currentmatrix def
	x y translate xrad yrad scale 0 0 1 startangle endangle arc
	savematrix setmatrix
	} def newpath 0 0 0 0 0 1 DrawEllipse stroke

	end
/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
/$F2psEnd {$F2psEnteredState restore end} def
%%EndProlog

$F2psBegin
0 setlinecap 0 setlinejoin
-126 54 translate
0.0 323.0 translate 0.900 -0.900 scale
0.500 setlinewidth
% Ellipse
n 239 159 2 2 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 239 319 2 2 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 399 319 2 2 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 399 159 2 2 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
1.000 setlinewidth
% Polyline
n 479 79 m 479 399 l  clp gs col-1 s gr
0.500 setlinewidth
% Polyline
n 439 79 m 439 399 l  clp gs col-1 s gr
% Polyline
n 159 159 m 479 159 l  clp gs col-1 s gr
1.000 setlinewidth
% Polyline
n 159 79 m 479 79 l  479 79 l  clp gs col-1 s gr
% Polyline
n 159 79 m 159 399 l  clp gs col-1 s gr
0.500 setlinewidth
% Polyline
n 399 79 m 399 399 l  clp gs col-1 s gr
% Polyline
n 359 79 m 359 399 l  clp gs col-1 s gr
% Polyline
n 319 79 m 319 399 l  clp gs col-1 s gr
% Polyline
n 279 79 m 279 399 l  clp gs col-1 s gr
% Polyline
n 199 79 m 199 399 l  clp gs col-1 s gr
% Polyline
n 159 359 m 479 359 l  clp gs col-1 s gr
% Polyline
n 159 319 m 479 319 l  clp gs col-1 s gr
% Polyline
n 159 279 m 479 279 l  clp gs col-1 s gr
% Polyline
n 159 239 m 479 239 l  clp gs col-1 s gr
% Polyline
n 159 199 m 479 199 l  clp gs col-1 s gr
% Polyline
n 159 119 m 479 119 l  479 119 l  clp gs col-1 s gr
1.000 setlinewidth
% Polyline
n 159 399 m 479 399 l  clp gs col-1 s gr
0.500 setlinewidth
% Polyline
n 240 79 m 240 399 l  clp gs col-1 s gr
1.000 setlinewidth
% Ellipse
n 439 279 18 18 0 360 DrawEllipse gs 1.00 setgray fill gr
gs col-1 s gr
0.500 setlinewidth
% Ellipse
n 279 159 19 19 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
1.000 setlinewidth
% Ellipse
n 399 359 18 18 0 360 DrawEllipse gs 1.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 399 239 18 18 0 360 DrawEllipse gs 1.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 439 359 18 18 0 360 DrawEllipse gs 1.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 159 319 18 18 0 360 DrawEllipse gs 1.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 199 199 18 18 0 360 DrawEllipse gs 1.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 239 159 18 18 0 360 DrawEllipse gs 1.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 199 359 18 18 0 360 DrawEllipse gs 1.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 199 119 18 18 0 360 DrawEllipse gs 1.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 319 119 18 18 0 360 DrawEllipse gs 1.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 279 199 18 18 0 360 DrawEllipse gs 1.00 setgray fill gr
gs col-1 s gr
0.500 setlinewidth
% Ellipse
n 319 399 19 19 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
1.000 setlinewidth
% Ellipse
n 319 199 18 18 0 360 DrawEllipse gs 1.00 setgray fill gr
gs col-1 s gr
0.500 setlinewidth
% Ellipse
n 239 199 19 19 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
1.000 setlinewidth
% Ellipse
n 279 119 18 18 0 360 DrawEllipse gs 1.00 setgray fill gr
gs col-1 s gr
0.500 setlinewidth
% Ellipse
n 359 239 19 19 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
1.000 setlinewidth
% Ellipse
n 479 319 18 18 0 360 DrawEllipse gs 1.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 319 159 18 18 0 360 DrawEllipse gs 1.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 199 239 18 18 0 360 DrawEllipse gs 1.00 setgray fill gr
gs col-1 s gr
0.500 setlinewidth
% Ellipse
n 439 199 19 19 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
1.000 setlinewidth
% Ellipse
n 199 279 18 18 0 360 DrawEllipse gs 1.00 setgray fill gr
gs col-1 s gr
0.500 setlinewidth
% Ellipse
n 199 319 19 19 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 399 159 19 19 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 359 319 19 19 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
1.000 setlinewidth
% Ellipse
n 279 79 18 18 0 360 DrawEllipse gs 1.00 setgray fill gr
gs col-1 s gr
0.500 setlinewidth
% Ellipse
n 239 119 19 19 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
1.000 setlinewidth
% Ellipse
n 439 79 18 18 0 360 DrawEllipse gs 1.00 setgray fill gr
gs col-1 s gr
0.500 setlinewidth
% Ellipse
n 199 159 19 19 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
1.000 setlinewidth
% Ellipse
n 239 79 18 18 0 360 DrawEllipse gs 1.00 setgray fill gr
gs col-1 s gr
0.500 setlinewidth
% Ellipse
n 399 79 19 19 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
1.000 setlinewidth
% Ellipse
n 399 119 18 18 0 360 DrawEllipse gs 1.00 setgray fill gr
gs col-1 s gr
0.500 setlinewidth
% Ellipse
n 439 159 19 19 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
1.000 setlinewidth
% Ellipse
n 439 119 18 18 0 360 DrawEllipse gs 1.00 setgray fill gr
gs col-1 s gr
0.500 setlinewidth
% Ellipse
n 159 359 19 19 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
1.000 setlinewidth
% Ellipse
n 159 399 18 18 0 360 DrawEllipse gs 1.00 setgray fill gr
gs col-1 s gr
0.500 setlinewidth
% Ellipse
n 199 79 19 19 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
1.000 setlinewidth
% Ellipse
n 479 159 18 18 0 360 DrawEllipse gs 1.00 setgray fill gr
gs col-1 s gr
0.500 setlinewidth
% Ellipse
n 159 239 19 19 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
1.000 setlinewidth
% Ellipse
n 479 119 18 18 0 360 DrawEllipse gs 1.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 359 79 18 18 0 360 DrawEllipse gs 1.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 159 199 18 18 0 360 DrawEllipse gs 1.00 setgray fill gr
gs col-1 s gr
0.500 setlinewidth
% Ellipse
n 479 199 19 19 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
1.000 setlinewidth
% Ellipse
n 239 359 18 18 0 360 DrawEllipse gs 1.00 setgray fill gr
gs col-1 s gr
0.500 setlinewidth
% Ellipse
n 159 159 19 19 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
1.000 setlinewidth
% Ellipse
n 159 119 18 18 0 360 DrawEllipse gs 1.00 setgray fill gr
gs col-1 s gr
0.500 setlinewidth
% Ellipse
n 239 399 19 19 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 279 399 19 19 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 199 399 19 19 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 359 119 19 19 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 359 159 19 19 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 359 199 19 19 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 439 319 19 19 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 399 319 19 19 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 359 359 19 19 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 279 359 19 19 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 279 319 19 19 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 359 279 19 19 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 319 279 19 19 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 319 239 19 19 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 279 239 19 19 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 239 239 19 19 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 239 279 19 19 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
1.000 setlinewidth
% Ellipse
n 399 279 18 18 0 360 DrawEllipse gs 1.00 setgray fill gr
gs col-1 s gr
0.500 setlinewidth
% Ellipse
n 319 79 19 19 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 239 319 19 19 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 159 279 19 19 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
/Helvetica findfont 24.00 scalefont setfont
239 209 m 
gs 1 -1 scale (35) dup stringwidth pop 2 div neg 0 rmoveto  col7 show gr
/Helvetica findfont 24.00 scalefont setfont
359 249 m 
gs 1 -1 scale (37) dup stringwidth pop 2 div neg 0 rmoveto  col7 show gr
/Helvetica findfont 24.00 scalefont setfont
359 329 m 
gs 1 -1 scale (39) dup stringwidth pop 2 div neg 0 rmoveto  col7 show gr
/Helvetica findfont 24.00 scalefont setfont
439 209 m 
gs 1 -1 scale (41) dup stringwidth pop 2 div neg 0 rmoveto  col7 show gr
/Helvetica findfont 24.00 scalefont setfont
199 329 m 
gs 1 -1 scale (43) dup stringwidth pop 2 div neg 0 rmoveto  col7 show gr
/Helvetica findfont 24.00 scalefont setfont
319 89 m 
gs 1 -1 scale (45) dup stringwidth pop 2 div neg 0 rmoveto  col7 show gr
/Helvetica findfont 24.00 scalefont setfont
239 129 m 
gs 1 -1 scale (47) dup stringwidth pop 2 div neg 0 rmoveto  col7 show gr
/Helvetica findfont 24.00 scalefont setfont
199 169 m 
gs 1 -1 scale (49) dup stringwidth pop 2 div neg 0 rmoveto  col7 show gr
/Helvetica findfont 24.00 scalefont setfont
399 89 m 
gs 1 -1 scale (51) dup stringwidth pop 2 div neg 0 rmoveto  col7 show gr
/Helvetica findfont 24.00 scalefont setfont
439 169 m 
gs 1 -1 scale (53) dup stringwidth pop 2 div neg 0 rmoveto  col7 show gr
/Helvetica findfont 24.00 scalefont setfont
159 369 m 
gs 1 -1 scale (55) dup stringwidth pop 2 div neg 0 rmoveto  col7 show gr
/Helvetica findfont 24.00 scalefont setfont
199 89 m 
gs 1 -1 scale (57) dup stringwidth pop 2 div neg 0 rmoveto  col7 show gr
/Helvetica findfont 24.00 scalefont setfont
159 249 m 
gs 1 -1 scale (59) dup stringwidth pop 2 div neg 0 rmoveto  col7 show gr
/Helvetica findfont 24.00 scalefont setfont
159 289 m 
gs 1 -1 scale (61) dup stringwidth pop 2 div neg 0 rmoveto  col7 show gr
/Helvetica findfont 24.00 scalefont setfont
479 209 m 
gs 1 -1 scale (63) dup stringwidth pop 2 div neg 0 rmoveto  col7 show gr
/Helvetica findfont 24.00 scalefont setfont
159 169 m 
gs 1 -1 scale (67) dup stringwidth pop 2 div neg 0 rmoveto  col7 show gr
/Helvetica findfont 24.00 scalefont setfont
239 409 m 
gs 1 -1 scale (69) dup stringwidth pop 2 div neg 0 rmoveto  col7 show gr
/Helvetica findfont 24.00 scalefont setfont
279 409 m 
gs 1 -1 scale (71) dup stringwidth pop 2 div neg 0 rmoveto  col7 show gr
/Helvetica findfont 24.00 scalefont setfont
199 409 m 
gs 1 -1 scale (73) dup stringwidth pop 2 div neg 0 rmoveto  col7 show gr
/Helvetica findfont 24.00 scalefont setfont
159 129 m 
gs 1 -1 scale (68) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 24.00 scalefont setfont
239 369 m 
gs 1 -1 scale (64) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 24.00 scalefont setfont
159 209 m 
gs 1 -1 scale (62) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 24.00 scalefont setfont
479 129 m 
gs 1 -1 scale (60) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 24.00 scalefont setfont
479 169 m 
gs 1 -1 scale (58) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 24.00 scalefont setfont
159 409 m 
gs 1 -1 scale (56) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 24.00 scalefont setfont
439 129 m 
gs 1 -1 scale (54) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 24.00 scalefont setfont
399 129 m 
gs 1 -1 scale (52) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 24.00 scalefont setfont
239 89 m 
gs 1 -1 scale (50) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 24.00 scalefont setfont
439 89 m 
gs 1 -1 scale (48) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 24.00 scalefont setfont
279 89 m 
gs 1 -1 scale (46) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 24.00 scalefont setfont
359 89 m 
gs 1 -1 scale (44) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 24.00 scalefont setfont
199 289 m 
gs 1 -1 scale (42) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 24.00 scalefont setfont
199 249 m 
gs 1 -1 scale (40) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 24.00 scalefont setfont
479 329 m 
gs 1 -1 scale (38) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 24.00 scalefont setfont
279 129 m 
gs 1 -1 scale (36) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 24.00 scalefont setfont
319 209 m 
gs 1 -1 scale (34) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
$F2psEnd
%%EndDocument

 endTexFig
 -112 1721 a Fa(Figure)h(3:)j(Second)e(part)d(of)h(game)g(b)q(et)o(w)o(een)g
(Gobble)h(and)-112 1777 y(Man)o(y)f(F)l(aces)g(of)g(Go.)k(65=61,)14
b(66=59,)g(70=55,)g(72=65.)48 1885 y
 11188078 10740543 0 0 20392345 19734528 startTexFig
 48 1885 a
%%BeginDocument: ex9pos2.ps
%!
%%Title: /tmp/xfig-export026685
%%Creator: fig2dev
%%CreationDate: Fri Mar 26 15:36:51 1993
%%For: bruegman@sccs.syr.edu (Bernd Bruegmann)
%%BoundingBox: 0 0 310 300
%%Pages: 0
%%EndComments
/$F2psDict 6400 dict def 
$F2psDict begin
$F2psDict /mtrx matrix put
/l {lineto} bind def
/m {moveto} bind def
/s {stroke} bind def
/n {newpath} bind def
/gs {gsave} bind def
/gr {grestore} bind def
/clp {closepath} bind def
/graycol {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
4 -2 roll mul setrgbcolor} bind def
/col-1 {} def
/col0 {0 0 0 setrgbcolor} bind def
/col1 {0 0 1 setrgbcolor} bind def
/col2 {0 1 0 setrgbcolor} bind def
/col3 {0 1 1 setrgbcolor} bind def
/col4 {1 0 0 setrgbcolor} bind def
/col5 {1 0 1 setrgbcolor} bind def
/col6 {1 1 0 setrgbcolor} bind def
/col7 {1 1 1 setrgbcolor} bind def
 /DrawEllipse {
	/endangle exch def
	/startangle exch def
	/yrad exch def
	/xrad exch def
	/y exch def
	/x exch def
	/savematrix mtrx currentmatrix def
	x y translate xrad yrad scale 0 0 1 startangle endangle arc
	savematrix setmatrix
	} def newpath 0 0 0 0 0 1 DrawEllipse stroke

	end
/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
/$F2psEnd {$F2psEnteredState restore end} def
%%EndProlog

$F2psBegin
0 setlinecap 0 setlinejoin
-132 60 translate
0.0 300.0 translate 0.900 -0.900 scale
0.500 setlinewidth
% Ellipse
n 239 159 2 2 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 239 319 2 2 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 399 319 2 2 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 399 159 2 2 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
1.000 setlinewidth
% Polyline
n 159 79 m 159 399 l  clp gs col-1 s gr
0.500 setlinewidth
% Polyline
n 159 159 m 479 159 l  clp gs col-1 s gr
% Polyline
n 279 79 m 279 399 l  clp gs col-1 s gr
% Polyline
n 159 119 m 479 119 l  479 119 l  clp gs col-1 s gr
% Polyline
n 159 199 m 479 199 l  clp gs col-1 s gr
% Polyline
n 159 239 m 479 239 l  clp gs col-1 s gr
% Polyline
n 159 279 m 479 279 l  clp gs col-1 s gr
% Polyline
n 159 319 m 479 319 l  clp gs col-1 s gr
% Polyline
n 159 359 m 479 359 l  clp gs col-1 s gr
% Polyline
n 199 79 m 199 399 l  clp gs col-1 s gr
% Polyline
n 319 79 m 319 399 l  clp gs col-1 s gr
1.000 setlinewidth
% Polyline
n 159 79 m 479 79 l  479 79 l  clp gs col-1 s gr
0.500 setlinewidth
% Polyline
n 359 79 m 359 399 l  clp gs col-1 s gr
% Polyline
n 399 79 m 399 399 l  clp gs col-1 s gr
% Polyline
n 239 79 m 239 399 l  clp gs col-1 s gr
1.000 setlinewidth
% Polyline
n 159 399 m 479 399 l  clp gs col-1 s gr
0.500 setlinewidth
% Polyline
n 439 79 m 439 399 l  clp gs col-1 s gr
1.000 setlinewidth
% Polyline
n 479 79 m 479 399 l  clp gs col-1 s gr
% Ellipse
n 399 279 18 18 0 360 DrawEllipse gs 1.00 setgray fill gr
gs col-1 s gr
0.500 setlinewidth
% Ellipse
n 239 319 19 19 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 399 159 19 19 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
/Helvetica findfont 18.00 scalefont setfont
479 399 m 
gs 1 -1 scale (8.5) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
159 399 m 
gs 1 -1 scale (9.6) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
199 399 m 
gs 1 -1 scale (9.3) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
159 79 m 
gs 1 -1 scale (9.6) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
479 119 m 
gs 1 -1 scale (9.5) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
479 279 m 
gs 1 -1 scale (9.5) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
274 199 m 
gs 1 -1 scale (14.2) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
354 159 m 
gs 1 -1 scale (13.9) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
354 199 m 
gs 1 -1 scale (13.8) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
354 279 m 
gs 1 -1 scale (13.9) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
354 319 m 
gs 1 -1 scale (14.3) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
434 279 m 
gs 1 -1 scale (13.9) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
$F2psEnd
%%EndDocument

 endTexFig
 -112 2663 a Fa(Figure)g(4:)k(Blac)o(k)c(to)e(mo)o(v)o(e.)18
b(The)c(highest)f(and)g(lo)o(w)o(est)g(six)-112 2719 y(v)m(alues)k(are)e(sho)
o(wn.)1194 -29 y
 11188078 10740543 0 0 20392345 19734528 startTexFig
 1194 -29 a
%%BeginDocument: ex9pos4.ps
%!
%%Title: /tmp/xfig-export026685
%%Creator: fig2dev
%%CreationDate: Fri Mar 26 15:35:21 1993
%%For: bruegman@sccs.syr.edu (Bernd Bruegmann)
%%BoundingBox: 0 0 310 300
%%Pages: 0
%%EndComments
/$F2psDict 6400 dict def 
$F2psDict begin
$F2psDict /mtrx matrix put
/l {lineto} bind def
/m {moveto} bind def
/s {stroke} bind def
/n {newpath} bind def
/gs {gsave} bind def
/gr {grestore} bind def
/clp {closepath} bind def
/graycol {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
4 -2 roll mul setrgbcolor} bind def
/col-1 {} def
/col0 {0 0 0 setrgbcolor} bind def
/col1 {0 0 1 setrgbcolor} bind def
/col2 {0 1 0 setrgbcolor} bind def
/col3 {0 1 1 setrgbcolor} bind def
/col4 {1 0 0 setrgbcolor} bind def
/col5 {1 0 1 setrgbcolor} bind def
/col6 {1 1 0 setrgbcolor} bind def
/col7 {1 1 1 setrgbcolor} bind def
 /DrawEllipse {
	/endangle exch def
	/startangle exch def
	/yrad exch def
	/xrad exch def
	/y exch def
	/x exch def
	/savematrix mtrx currentmatrix def
	x y translate xrad yrad scale 0 0 1 startangle endangle arc
	savematrix setmatrix
	} def newpath 0 0 0 0 0 1 DrawEllipse stroke

	end
/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
/$F2psEnd {$F2psEnteredState restore end} def
%%EndProlog

$F2psBegin
0 setlinecap 0 setlinejoin
-132 60 translate
0.0 300.0 translate 0.900 -0.900 scale
0.500 setlinewidth
% Ellipse
n 239 159 2 2 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 239 319 2 2 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 399 319 2 2 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 399 159 2 2 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
1.000 setlinewidth
% Polyline
n 159 79 m 159 399 l  clp gs col-1 s gr
0.500 setlinewidth
% Polyline
n 159 159 m 479 159 l  clp gs col-1 s gr
% Polyline
n 279 79 m 279 399 l  clp gs col-1 s gr
% Polyline
n 159 119 m 479 119 l  479 119 l  clp gs col-1 s gr
% Polyline
n 159 199 m 479 199 l  clp gs col-1 s gr
% Polyline
n 159 239 m 479 239 l  clp gs col-1 s gr
% Polyline
n 159 279 m 479 279 l  clp gs col-1 s gr
% Polyline
n 159 319 m 479 319 l  clp gs col-1 s gr
% Polyline
n 159 359 m 479 359 l  clp gs col-1 s gr
% Polyline
n 199 79 m 199 399 l  clp gs col-1 s gr
% Polyline
n 319 79 m 319 399 l  clp gs col-1 s gr
1.000 setlinewidth
% Polyline
n 159 79 m 479 79 l  479 79 l  clp gs col-1 s gr
0.500 setlinewidth
% Polyline
n 359 79 m 359 399 l  clp gs col-1 s gr
% Polyline
n 399 79 m 399 399 l  clp gs col-1 s gr
% Polyline
n 239 79 m 239 399 l  clp gs col-1 s gr
1.000 setlinewidth
% Polyline
n 159 399 m 479 399 l  clp gs col-1 s gr
0.500 setlinewidth
% Polyline
n 439 79 m 439 399 l  clp gs col-1 s gr
1.000 setlinewidth
% Polyline
n 479 79 m 479 399 l  clp gs col-1 s gr
0.500 setlinewidth
% Ellipse
n 399 159 19 19 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 239 319 19 19 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
1.000 setlinewidth
% Ellipse
n 399 279 18 18 0 360 DrawEllipse gs 1.00 setgray fill gr
gs col-1 s gr
/Helvetica findfont 18.00 scalefont setfont
159 399 m 
gs 1 -1 scale (8.2) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
159 79 m 
gs 1 -1 scale (8.0) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
399 79 m 
gs 1 -1 scale (7.8) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
479 79 m 
gs 1 -1 scale (7.3) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
479 159 m 
gs 1 -1 scale (8.0) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
359 399 m 
gs 1 -1 scale (8.1) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
234 199 m 
gs 1 -1 scale (11.9) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
314 199 m 
gs 1 -1 scale (12.2) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
314 239 m 
gs 1 -1 scale (12.5) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
314 279 m 
gs 1 -1 scale (12.1) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
274 319 m 
gs 1 -1 scale (12.1) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
354 159 m 
gs 1 -1 scale (12.1) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
$F2psEnd
%%EndDocument

 endTexFig
 1035 749 a Fa(Figure)g(5:)20 b(Blac)o(k)c(to)e(mo)o(v)o(e.)20
b(Di\013eren)o(t)15 b(statistics)g(for)g(the)1035 806 y(p)q(osition)h(in)g
(\014gure)f(4.)1194 967 y
 11188078 10516783 0 0 20984381 19734528 startTexFig
 1194 967 a
%%BeginDocument: ex9pos1.ps
%!
%%Title: /tmp/xfig-export026685
%%Creator: fig2dev
%%CreationDate: Fri Mar 26 15:35:57 1993
%%For: bruegman@sccs.syr.edu (Bernd Bruegmann)
%%BoundingBox: 0 0 319 300
%%Pages: 0
%%EndComments
/$F2psDict 6400 dict def 
$F2psDict begin
$F2psDict /mtrx matrix put
/l {lineto} bind def
/m {moveto} bind def
/s {stroke} bind def
/n {newpath} bind def
/gs {gsave} bind def
/gr {grestore} bind def
/clp {closepath} bind def
/graycol {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
4 -2 roll mul setrgbcolor} bind def
/col-1 {} def
/col0 {0 0 0 setrgbcolor} bind def
/col1 {0 0 1 setrgbcolor} bind def
/col2 {0 1 0 setrgbcolor} bind def
/col3 {0 1 1 setrgbcolor} bind def
/col4 {1 0 0 setrgbcolor} bind def
/col5 {1 0 1 setrgbcolor} bind def
/col6 {1 1 0 setrgbcolor} bind def
/col7 {1 1 1 setrgbcolor} bind def
 /DrawEllipse {
	/endangle exch def
	/startangle exch def
	/yrad exch def
	/xrad exch def
	/y exch def
	/x exch def
	/savematrix mtrx currentmatrix def
	x y translate xrad yrad scale 0 0 1 startangle endangle arc
	savematrix setmatrix
	} def newpath 0 0 0 0 0 1 DrawEllipse stroke

	end
/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
/$F2psEnd {$F2psEnteredState restore end} def
%%EndProlog

$F2psBegin
0 setlinecap 0 setlinejoin
-123 60 translate
0.0 300.0 translate 0.900 -0.900 scale
0.500 setlinewidth
% Ellipse
n 239 159 2 2 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 239 319 2 2 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 399 319 2 2 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 399 159 2 2 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
% Polyline
n 159 119 m 479 119 l  479 119 l  clp gs col-1 s gr
% Polyline
n 159 239 m 479 239 l  clp gs col-1 s gr
% Polyline
n 439 79 m 439 399 l  clp gs col-1 s gr
% Polyline
n 159 159 m 479 159 l  clp gs col-1 s gr
% Polyline
n 239 79 m 239 399 l  clp gs col-1 s gr
1.000 setlinewidth
% Polyline
n 159 79 m 479 79 l  479 79 l  clp gs col-1 s gr
% Polyline
n 159 79 m 159 399 l  clp gs col-1 s gr
0.500 setlinewidth
% Polyline
n 399 79 m 399 399 l  clp gs col-1 s gr
% Polyline
n 359 79 m 359 399 l  clp gs col-1 s gr
% Polyline
n 319 79 m 319 399 l  clp gs col-1 s gr
% Polyline
n 279 79 m 279 399 l  clp gs col-1 s gr
% Polyline
n 199 79 m 199 399 l  clp gs col-1 s gr
% Polyline
n 159 359 m 479 359 l  clp gs col-1 s gr
% Polyline
n 159 319 m 479 319 l  clp gs col-1 s gr
% Polyline
n 159 279 m 479 279 l  clp gs col-1 s gr
1.000 setlinewidth
% Polyline
n 159 399 m 479 399 l  clp gs col-1 s gr
0.500 setlinewidth
% Polyline
n 159 199 m 479 199 l  clp gs col-1 s gr
1.000 setlinewidth
% Polyline
n 479 79 m 479 399 l  clp gs col-1 s gr
% Ellipse
n 439 279 18 18 0 360 DrawEllipse gs 1.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 399 239 18 18 0 360 DrawEllipse gs 1.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 359 319 18 18 0 360 DrawEllipse gs 1.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 319 319 18 18 0 360 DrawEllipse gs 1.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 319 359 18 18 0 360 DrawEllipse gs 1.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 399 359 18 18 0 360 DrawEllipse gs 1.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 439 359 18 18 0 360 DrawEllipse gs 1.00 setgray fill gr
gs col-1 s gr
0.500 setlinewidth
% Ellipse
n 279 159 19 19 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
1.000 setlinewidth
% Ellipse
n 199 359 18 18 0 360 DrawEllipse gs 1.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 199 199 18 18 0 360 DrawEllipse gs 1.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 239 159 18 18 0 360 DrawEllipse gs 1.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 279 199 18 18 0 360 DrawEllipse gs 1.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 199 119 18 18 0 360 DrawEllipse gs 1.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 319 159 18 18 0 360 DrawEllipse gs 1.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 319 119 18 18 0 360 DrawEllipse gs 1.00 setgray fill gr
gs col-1 s gr
0.500 setlinewidth
% Ellipse
n 239 319 19 19 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 399 159 19 19 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 359 119 19 19 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 359 159 19 19 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 359 199 19 19 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 439 319 19 19 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 399 319 19 19 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 359 359 19 19 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 279 359 19 19 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 279 319 19 19 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 359 279 19 19 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 319 279 19 19 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 319 239 19 19 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 279 239 19 19 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 239 239 19 19 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
1.000 setlinewidth
% Ellipse
n 159 319 18 18 0 360 DrawEllipse gs 1.00 setgray fill gr
gs col-1 s gr
0.500 setlinewidth
% Ellipse
n 239 279 19 19 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
1.000 setlinewidth
% Ellipse
n 399 279 18 18 0 360 DrawEllipse gs 1.00 setgray fill gr
gs col-1 s gr
/Helvetica findfont 18.00 scalefont setfont
314 399 m 
gs 1 -1 scale (20.2) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
354 399 m 
gs 1 -1 scale (15.0) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
394 399 m 
gs 1 -1 scale (15.6) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
434 399 m 
gs 1 -1 scale (15.5) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
474 359 m 
gs 1 -1 scale (15.5) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
274 399 m 
gs 1 -1 scale (15.4) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
474 319 m 
gs 1 -1 scale (15.3) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
474 279 m 
gs 1 -1 scale (15.3) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
434 239 m 
gs 1 -1 scale (15.3) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
194 279 m 
gs 1 -1 scale (15.3) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
234 79 m 
gs 1 -1 scale (12.2) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
394 79 m 
gs 1 -1 scale (15.2) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
434 119 m 
gs 1 -1 scale (15.0) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
394 199 m 
gs 1 -1 scale (15.2) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
354 239 m 
gs 1 -1 scale (15.2) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
474 199 m 
gs 1 -1 scale (15.2) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
474 159 m 
gs 1 -1 scale (15.1) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
194 239 m 
gs 1 -1 scale (15.1) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
154 279 m 
gs 1 -1 scale (15.2) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
$F2psEnd
%%EndDocument

 endTexFig
 1035 1731 a Fa(Figure)e(6:)19 b(Blac)o(k)13 b(to)g(mo)o(v)o(e.)18
b(The)c(b)q(est)f(mo)o(v)o(e)g(stands)f(out.)1194 1893 y
 11188078 10181143 0 0 20721254 18945146 startTexFig
 1194
1893 a
%%BeginDocument: ex9pos3.ps
%!
%%Title: /tmp/xfig-export026685
%%Creator: fig2dev
%%CreationDate: Fri Mar 26 15:36:19 1993
%%For: bruegman@sccs.syr.edu (Bernd Bruegmann)
%%BoundingBox: 0 0 315 288
%%Pages: 0
%%EndComments
/$F2psDict 6400 dict def 
$F2psDict begin
$F2psDict /mtrx matrix put
/l {lineto} bind def
/m {moveto} bind def
/s {stroke} bind def
/n {newpath} bind def
/gs {gsave} bind def
/gr {grestore} bind def
/clp {closepath} bind def
/graycol {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
4 -2 roll mul setrgbcolor} bind def
/col-1 {} def
/col0 {0 0 0 setrgbcolor} bind def
/col1 {0 0 1 setrgbcolor} bind def
/col2 {0 1 0 setrgbcolor} bind def
/col3 {0 1 1 setrgbcolor} bind def
/col4 {1 0 0 setrgbcolor} bind def
/col5 {1 0 1 setrgbcolor} bind def
/col6 {1 1 0 setrgbcolor} bind def
/col7 {1 1 1 setrgbcolor} bind def
 /DrawEllipse {
	/endangle exch def
	/startangle exch def
	/yrad exch def
	/xrad exch def
	/y exch def
	/x exch def
	/savematrix mtrx currentmatrix def
	x y translate xrad yrad scale 0 0 1 startangle endangle arc
	savematrix setmatrix
	} def newpath 0 0 0 0 0 1 DrawEllipse stroke

	end
/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
/$F2psEnd {$F2psEnteredState restore end} def
%%EndProlog

$F2psBegin
0 setlinecap 0 setlinejoin
-127 72 translate
0.0 288.0 translate 0.900 -0.900 scale
0.500 setlinewidth
% Ellipse
n 239 159 2 2 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 239 319 2 2 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 399 319 2 2 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 399 159 2 2 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
1.000 setlinewidth
% Polyline
n 479 79 m 479 399 l  clp gs col-1 s gr
0.500 setlinewidth
% Polyline
n 439 79 m 439 399 l  clp gs col-1 s gr
% Polyline
n 159 159 m 479 159 l  clp gs col-1 s gr
% Polyline
n 239 79 m 239 399 l  clp gs col-1 s gr
1.000 setlinewidth
% Polyline
n 159 79 m 479 79 l  479 79 l  clp gs col-1 s gr
% Polyline
n 159 79 m 159 399 l  clp gs col-1 s gr
0.500 setlinewidth
% Polyline
n 399 79 m 399 399 l  clp gs col-1 s gr
% Polyline
n 359 79 m 359 399 l  clp gs col-1 s gr
% Polyline
n 319 79 m 319 399 l  clp gs col-1 s gr
% Polyline
n 279 79 m 279 399 l  clp gs col-1 s gr
% Polyline
n 199 79 m 199 399 l  clp gs col-1 s gr
% Polyline
n 159 359 m 479 359 l  clp gs col-1 s gr
% Polyline
n 159 319 m 479 319 l  clp gs col-1 s gr
% Polyline
n 159 279 m 479 279 l  clp gs col-1 s gr
% Polyline
n 159 239 m 479 239 l  clp gs col-1 s gr
% Polyline
n 159 199 m 479 199 l  clp gs col-1 s gr
% Polyline
n 159 119 m 479 119 l  479 119 l  clp gs col-1 s gr
1.000 setlinewidth
% Polyline
n 159 399 m 479 399 l  clp gs col-1 s gr
% Ellipse
n 439 279 18 18 0 360 DrawEllipse gs 1.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 399 239 18 18 0 360 DrawEllipse gs 1.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 359 319 18 18 0 360 DrawEllipse gs 1.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 319 319 18 18 0 360 DrawEllipse gs 1.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 319 359 18 18 0 360 DrawEllipse gs 1.00 setgray fill gr
gs col-1 s gr
0.500 setlinewidth
% Ellipse
n 279 159 19 19 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
1.000 setlinewidth
% Ellipse
n 399 359 18 18 0 360 DrawEllipse gs 1.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 159 319 18 18 0 360 DrawEllipse gs 1.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 199 199 18 18 0 360 DrawEllipse gs 1.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 239 159 18 18 0 360 DrawEllipse gs 1.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 279 199 18 18 0 360 DrawEllipse gs 1.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 199 119 18 18 0 360 DrawEllipse gs 1.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 439 359 18 18 0 360 DrawEllipse gs 1.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 319 119 18 18 0 360 DrawEllipse gs 1.00 setgray fill gr
gs col-1 s gr
0.500 setlinewidth
% Ellipse
n 399 159 19 19 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 359 119 19 19 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 359 159 19 19 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 359 199 19 19 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 439 319 19 19 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 399 319 19 19 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 359 359 19 19 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 279 359 19 19 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 279 319 19 19 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 359 279 19 19 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 319 279 19 19 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 319 239 19 19 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 279 239 19 19 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 239 239 19 19 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
% Ellipse
n 239 279 19 19 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
1.000 setlinewidth
% Ellipse
n 399 279 18 18 0 360 DrawEllipse gs 1.00 setgray fill gr
gs col-1 s gr
0.500 setlinewidth
% Ellipse
n 239 319 19 19 0 360 DrawEllipse gs 0.00 setgray fill gr
gs col-1 s gr
1.000 setlinewidth
% Ellipse
n 319 159 18 18 0 360 DrawEllipse gs 1.00 setgray fill gr
gs col-1 s gr
/Helvetica findfont 18.00 scalefont setfont
194 359 m 
gs 1 -1 scale (10.5) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
479 319 m 
gs 1 -1 scale (5.7) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
319 399 m 
gs 1 -1 scale (8.8) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
359 399 m 
gs 1 -1 scale (8.9) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
479 399 m 
gs 1 -1 scale (8.8) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
359 239 m 
gs 1 -1 scale (8.9) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
399 199 m 
gs 1 -1 scale (8.8) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
439 199 m 
gs 1 -1 scale (7.7) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
319 199 m 
gs 1 -1 scale (8.0) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
279 119 m 
gs 1 -1 scale (8.3) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
239 119 m 
gs 1 -1 scale (8.3) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
239 199 m 
gs 1 -1 scale (7.0) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
199 159 m 
gs 1 -1 scale (8.0) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
199 239 m 
gs 1 -1 scale (8.7) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
/Helvetica findfont 18.00 scalefont setfont
199 279 m 
gs 1 -1 scale (8.9) dup stringwidth pop 2 div neg 0 rmoveto  col0 show gr
$F2psEnd
%%EndDocument

 endTexFig
 1035 2636 a Fa(Figure)17 b(7:)24 b(White)18 b(to)f(mo)o(v)o(e.)26
b(The)18 b(10.5)e(mo)o(v)o(e)h(is)h(not)f(in)1035 2692 y(con)o(ten)o(tion)e
(for)f(b)q(est)i(mo)o(v)o(e.)p eop
%%Trailer
end
userdict /end-hook known{end-hook}if
%%EOF

