perm filename ELEVEN.PUB[BIB,CSR]4 blob sn#576647 filedate 1981-04-06 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00020 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00003 00002	.require  "setup.csr[bib,csr]"  source   file  
C00006 00003	%3STAN-CS-80-828:  
C00008 00004	%3STAN-CS-80-829:  
C00010 00005	%3STAN-CS-80-830:  
C00012 00006	%3STAN-CS-80-831:
C00015 00007	%3STAN-CS-80-832:  
C00017 00008	%3STAN-CS-80-833:
C00020 00009	%3STAN-CS-80-834:
C00023 00010	%3STAN-CS-80-835:
C00026 00011	%3STAN-CS-81-836:  
C00029 00012	%3STAN-CS-81-837:  
C00030 00013	%3STAN-CS-81-838:  
C00032 00014	%3STAN-CS-81-839:  
C00034 00015	%3STAN-CS-81-840:  
C00036 00016	%3STAN-CS-81-841:  
C00037 00017	%3STAN-CS-80-842:
C00039 00018	%3STAN-CS-81-843:
C00044 00019	%3STAN-CS-81-844:
C00046 00020	%3STAN-CS-81-845:
C00049 ENDMK
C⊗;
.require  "setup.csr[bib,csr]"  source   file;  
.once  center   
%3Stanford University Computer Science Reports%1
List Number 11↔April 1981

Listed here are  abstracts of  the most  recent reports  published by  the
Department of Computer Science at Stanford University.

%3Request Reports:%1  Complete the  enclosed order  form, and  return  the
entire order form page (including mailing label) as soon as possible.   In
many cases we can print only a limited number of copies, and requests will
be filled  on a  first come,  first  served basis  as the  reports  become
available.  If the code (FREE) is printed on your mailing label, you  will
not be charged  for hardcopy.   be charged for  hardcopy.  This  exemption
from payment is limited  primarily to university  libraries which have  an
exchange  agreement  with  our  Computer  Science  Library.   Because   of
increased costs, we have had  to reduce the number  of people in the  FREE
category.  (California sales tax will be  added at the time of  invoicing.
%2Please send no money now, wait until you get an invoice.%1)

%3Alternatively:%1 Copies of most Stanford  CS Reports may be obtained  by
writing (about 2 months after the  ''Most Recent CS Reports'' listing)  to
National Technical Information Service, 5285 Port Royal Road, Springfield,
Virginia 22161.   Stanford Ph.D.   theses  are available  from  University
Microfilms, 300 North Zeeb Road, Ann Arbor, Michigan 48106.

%3STAN-CS-80-828:  
%2Breaking Paragraphs Into  Lines%1
by Donald E.  Knuth and Michael F. Plass (66 pages, November 1980)

This paper discusses a new approach to the problem of dividing the text of
a paragraph into lines  of approximately equal  length. Instead of  simply
making decisions one line at a time, the method considers the paragraph as
a whole, so that the final appearance of a given line might be  influenced
by the text on succeeding lines. A system based on three simple  primitive
concepts called 'boxes', 'glue', and  'penalties' provides the ability  to
deal satisfactorily  with a  wide  variety of  typesetting problems  in  a
unified framework,  using  a  single  algorithm  that  determines  optimum
breakpoints. This algorithm avoids backtracking by a judicious use of  the
techniques of  dynamic  programming.  Extensive  computational  experience
confirms that the approach  is both efficient  and effective in  producing
high-quality  output.  The  paper  concludes  with  a  brief  history   of
line-breaking methods,  and an  appendix presents  a simplified  algorithm
that requires comparatively few resources.

%3STAN-CS-80-829:  
%2The Dinner Table Problem%1 
by Bengt Aspvall and Frank Liang (13 pages, December 1980)

This report contains two  papers inspired by  the "dinner table  problem":
If %2n%1 people are seated randomly around a circular table for two meals,
what is the probability that no two people sit together at both meals?  We
show that this probability approaches %2e∩[-2]%1 as %2n → %5α∞%1, and also
give a closed  form.  We  then observe that  in many  similar problems  on
permutations  with  restricted  position,   the  number  of   permutations
satisfying  a  given  number   of  properties  is  approximately   Poisson
distributed.  We generalize our asymptotic argument to prove such a  limit
theorem,  and  mention  applications  to  the  problems  of  derangements,
menages, and the asymptotic number of Latin rectangles.

%3STAN-CS-80-830:  
%2Two Linear-Time Algorithms for Five-Coloring a Planar Graph%1 
by  David Matula,  Yossi  Shiloach and  Robert Tarjan  (23  pages, December 1980)

A "sequential processing" algorithm  using bicolor interchange that  five-
colors an  %2n%1 vertex  planar  graph in  O(%2n%1↑2)  time was  given  by
Matula, Marble, and  Isaacson [MMI 72].   Lipton and Miller  used a  "bach
processing" algorithm with  bicolor interchange for  the same problem  and
achieved an improved O(%2n%1 log %2n%1) time bound [LM 78].  In this  paper
we use  graph contraction  arguments instead  of bicolor  interchange  and
improve both the  sequential processing  and batch  processing methods  to
obtain five-coloring algorithms that operate in  O(%2n%1) time.

%3STAN-CS-80-831:
%2An O(nm log n) Algorithm for Maximum Network Flow%1
by Daniel D. K. Sleator (Thesis, 81 pages, December 1980)

This thesis presents a new algorithm for the maximum network flow problem.
The problem is this:   Given a directed network  of %2m%1 edges and  %2n%1
vertices with two distinguished vertices, a source and a sink, and with  a
nonnegative capacity associated with each edge, find a way of labeling the
edges with nonnegative real numbers representing flow in such a way that:

(1) The flow into each  vertex equals the flow  out (except at the  source
    and sink).  
(2) The flow at each edge does not exceed the capacity at that edge.
(3) The  flow  out  of  the source  is  a  maximum  over-all  flow
    satisfying (1) and (2).

Our algorithm finds a maximum flow  in O(%2nm%1log%2n%1) time, which is  a
factor of  log %2n%1  faster  than the  previous fastest  algorithm.   The
central innovation of our algorithm is a sophisticated data structure that
is used to represent a  certain subset of edges  that form a forest.   The
edges of this forest are further partitioned into two classes: broken  and
solid.  Long paths  of solid edges  are grouped together  and stored in  a
balanced tree data structure called a  biased 2-3 tree.  Each leaf of  the
biased 2-3 tree corresponds to an edge in the path.

%3STAN-CS-80-832:  
%2Scheduling Wide  Graphs%1 
by Danny  Dolev (43  pages, December 1980)

The problem of scheduling a partially ordered set of unit length tasks  on
%2m%1 identical  processors is  known to  be %2NP%1-complete.   There  are
efficient algorithms for only few special cases of this problem.  In  this
paper we explore  the relations  between the structure  of the  precedence
graph (the partial order) and optimal schedules.  We prove that in finding
an optimal schedule for  certain systems it suffices  to consider at  each
step high roots which belong to at most the %2m%1 -1 highest  components
of the precedence graph.  This result reduces the number of cases we  have
to check during the construction of  an optimal schedule.  Our method  may
lead to the development of linear scheduling algorithms for many practical
cases and to better bounds for complex algorithms.  In particular, in  the
case the precedence graph contains only inforest and outforest components,
this result  leads  to  efficient  algorithms  for  obtaining  an  optimal
schedule on two or three processors.

%3STAN-CS-80-833:
%2Graph Separator Theorems and Sparse Gaussian Elimination%1
by John Russell Gilbert (Thesis, 104 pages, December 1980)

Much of  the process  of  making computer  programs consists  of  creating
methods  for  the  manipulation  of  discrete,  finite  objects  such   as
characters,  vectors,  sets,  graphs,  and  permutations.   "Combinatorial
algorithms" is  the  awkward  but  serviceable name  for  this  branch  of
computer science.   Designing efficient  combinatorial algorithms  usually
involves  applying  or  inventing   subtle  data  structures  and   search
techniques, and is often associated with mathematics of significant  depth
and beauty.  This association gives the  subject an appeal beyond that  of
usefulness:  Combinatorial algorithms are fun.

Like most branches of mathematics and science, the study of  combinatorial
algorithms began as a collection of loosely related tricks, constructions,
and special insights.  As the  discipline has matured, unifying ideas  and
principles have begun to  emerge.  One central theme  is the formation  of
complex data structures (together with algorithms for their  manipulation)
out of simpler data structures.  A body of well-known representations  for
basic data  structures  such  as  queues and  graphs  has  grown  up,  and
continues to  expand.  Another  theme is  the use  of such  paradigms  for
algorithm design as divide-and-conquer, search, and dynamic programming.

%3STAN-CS-80-834:
%2Numerical Solution of the Biharmonic Equation%1
by Petter E. Bjorstad (Thesis, 139 pages, December 1980)

The numerical solution of discrete approximations to the first  biharmonic
boundary value problem in rectangular domains is studied.  Several  finite
difference schemes are compared  and a family of  new fast algorithms  for
the solution  of the  discrete systems  is developed.   These methods  are
optimal, having a theoretical computational complexiy of O(N↑2) arithmetic
operations and  requiring  N↑2+O(N)  storage locations  when  solving  the
problem on an N by N grid.  Several practical computer implementations  of
the algorithm are discussed  and compared.  These implementations  require
aN↑2 + bN↑2logN arithmetic operations with b<<a . The algorithms take full
advantage of vector or parallel computers and can also be used to solve  a
sequence of  problems  efficiently.  A  new  fast direct  method  for  the
biharmonic problem on a disk is also  developed.  It is shown how the  new
method of solution is related  to the associated eigenvalue problem.   The
results  of  extensive  numerical  tests  and  comparisons  are   included
throughout the dissertation.

It is believed that the material presented provides a good foundation  for
practical computer implementations and that the numerical solution of  the
biharmonic equation in rectangular domains from now on, will be considered
no more difficult than Poisson's equation.

%3STAN-CS-80-835:
%2Approximation and Optimization of Electron Density Maps%1
by Eric H. Grosse (Thesis, 118 pages, December 1980)

The three-dimensional structure  of proteins is  commonly determined  from
x-ray diffraction  data  by  manually  inspecting  the  electron  density,
displayed  as  a  stack  of  two  dimensional  contour  maps.   A  network
connecting peaks and passes of the density function has been suggested  as
a representation  more suitable  for automatic  interpretation.   However,
locating all critical points of such a complicated function is a difficult
problem.

The solution  proposed here  is to  partition the  domain into  cubes  and
approximate the density  function on each  cube by a  polynomial of  three
variables, chosen so that all first derivatives are continuous across  the
cube boundaries.  Two algorithms are examined for this approximation:  one
is least squares fitting with smooth tent-shaped basis functions (known as
tensor product  B-splines) by  repeated  univariate least  squares  spline
fits, and the other  scales Fourier coefficients  of the electron  density
function.  Critical points can then be sought independently on each  cube.
One variable is  solved for  immediately in terms  of the  other two;  the
resulting two-dimensional  problems  are  approximated on  a  subgrid  and
finally reduced  to  one-dimensional  quadratic  equations.   This  method
locates critical points more accurately than discrete pattern matching and
more quickly than repeated Newton searches.

%3STAN-CS-81-836:  
%2Temporal Verification of Concurrent Programs, Part I: The Temporal Framework
for Concurrent  Programs%1 
by Zohar Manna and  Amir Pnueli (70 pages, January 1981)

This is the  first in a  series of reports  describing the application  of
Temporal  Logic  to  the  specification  and  verification  of  concurrent
programs.

We first introduce Temporal Logic as a tool for reasoning about  sequences
of states.  Models of concurrent programs based both on transition  graphs
and on  linear-text  representations  are presented  and  the  notions  of
concurrent and fair executions are defined.

The general temporal language  is then specialized  to reason about  those
execution states and execution sequences  that are fair computations of  a
concurrent program.   Subsequently,  the  language  is  used  to  describe
properties of concurrent programs.

The set  of  interesting  properties  is  classified  into  %2Invariance%1
(Safety),   %2Eventuality%1   (Liveness),   and   %2Precedence%1   (Until)
properties.  Among  the  properties  studied  are:   Partial  Correctness,
Global Invariance,  Clean Behavior,  Mutual Exclusion,  Deadlock  Absence,
Termination, Total  Correctness, Intermittent  Assertions,  Accessibility,
Starvation Freedom, Responsiveness, Safe Liveness, Absence of  Unsolicited
Response, Fair Responsiveness, and Precedence.

In the following reports of this series, we use the temporal formalism  to
develop proof methodologies for proving the properties discussed here.

%3STAN-CS-81-837:  
%2Research on Expert Systems%1 
by Bruce G. Buchanan (38 pages, February 1981)

All Al programs are  essentially reasoning programs.   And, to the  extent
that they reason well about a problem area, all exhibit some expertise  at
problem solving.   Programs that  solve  the Tower  of Hanoi  puzzle,  for
example, reason about  the goal state  and the initial  state in order  to
find "expert-level" solutions.  Unlike other programs, however, the claims
about  expert  systems  are  related   to  questions  of  usefulness   and
understandability as well as performance.

%3STAN-CS-81-838:  
%2Dynamic Program Building%1 
by Peter Brown (13  pages, February 1981)

This report argues that  programs are better  regarded as dynamic  running
objects rather  than as  static textual  ones.  The  concept of  %2dynamic
building%1, whereby a  program is  constructed as it  runs, is  described.
The report then describes the %2Build%1 system, which is an implementation
of dynamic  building for  an interactive  algebraic programming  language.
Dynamic building aids the locating  of run-time errors, and is  especially
valuable in environments where programs are relatively short but  run-time
errors are frequent and/or costly.

%3STAN-CS-81-839:  
%2Short Waits%1 
by Arthur L. Samuel (37 pages, February 1981)

This is an  introductory manual  describing the  SU-AI timesharing  system
that is available primarily for sponsored research in the Computer Science
Department.  The present manual is written  for the beginner and the  user
interested primarily in the message-handling capability as well as for the
experienced computer user and programmer who either is unfamiliar with the
SU-AI computer or who  uses it infrequently.  References  are made to  the
available hard-copy manuals  and to the  extensive on-line document  files
where more complete information can be obtained.

The principal advantages of this system are:

1) The availability of  a large repertoire of  useful system features;  
2) The large memory; 
3) The large file-storage system; 
4) The ease with which one can access other computers via the ARPA  net; 
5) The file  transfer facilities via the EFTP program and the ETHERNET; 
6) The XGP and the DOVER printers and the large collections of fonts 
   available for them and 
7) The fast and convenient E editor with its macro facilities.

%3STAN-CS-81-840:  
%2Verification of Link-Level  Protocols%1 
by Donald  E. Knuth (6 pages, January 1981)

Stein Krogdahl [1] has given  an interesting demonstration of the  partial
correctness of  a  "protocol  skeleton",  by which  the  validity  of  the
essential aspects of a large variety  of data transmission schemes can  be
demonstrated.  The purpose  of this note  is to present  a simpler way  to
obtain the same  results, by  first establishing  the validity  of a  less
efficient skeleton  and then  "optimizing"  the algorithms.   The  present
approach, which was introduced for a particular protocol by N. V. Stenning
[2],  also  solves  a  wider  class  of  problems  that  do  not   require
first-in-first-out transmissions.

%3STAN-CS-81-841:  
%2Huffman's Algorithm via Algebra%1 
by Donald E.  Knuth (6 pages, March 1981)

The  well-known  algorithm  of  David  A.  Huffman  for  finding   minimum
redundancy codes has found many diverse applications, and in recent  years
it has been extended in a variety of ways.  The purpose of this note is to
discuss a simple algebraic approach that  seems to fit essentially all  of
the applications of Huffman's method that are presently known.

%3STAN-CS-80-842:
%2The Role of Plans In Intelligent Teaching Systems%1
by Michael R. Genesereth (19 pages, November 1980)

One of the keys to effective remedial instruction is information about the
student's beliefs  and  misconceptions.   This information  can  often  be
obtained by  analyzing  the student's  efforts  in solving  problems  that
require knowledge of the subject matter.  In some areas, it is possible to
design diagnostic  tests  that  can  pinpoint  a  student's  misconception
directly from  his answers.   For  example, in  their  work on  the  Buggy
system,  Burton  adn  Brown  developed  a  methodology  for  automatically
generting  diagnostic  tests  that   discoffer  the  underlying   problems
responsible for a  student's errors in  subtraction.  However, in  subject
areas where the student chooses his own problem or when there are  several
ways of  solving  a  problem, it  is  helpful  to consider  not  only  the
student's final answer but also his steps in producing it.  This paper  is
concerned with the process of automatically analyzing a student's steps to
infer his rationale for taking those steps and the use of this information
in providing remediation tailored to the student.

%3STAN-CS-81-843:
%2Temporal Verification of Concurrent Programs, Part II: Proving Invariances%1
by Zohar Manna and Amir Pnueli (30 pages, March 1981)

In this report,  the second  of a series  on the  application of  temporal
logic to concurrent programs, we  concentrate on developing proof  methods
for establishing %2Invariance%1 (Safety) properties.  These are properties
that  remain  true  throughout  a  computation.   Examples  of  invariance
properties are:  Partial Correctness,  Global Invariance, Clean  Behavior,
Mutual Exclusion, and Deadlock Absence.

We formulate  a  single uniform  proof  principle based  on  computational
induction for proving  the invariance of  assertions.  We present  several
sample programs and  the invariant  assertions needed  to establish  their
properties. The assertions are  proved to be  invariant using the  uniform
proof principle.

For a restricted class of concurrent programs we present an algorithm  for
the automatic derivation of invariant assertions.  Finally, we compare our
formulation of the proof principle with other existing methods for proving
invariance.

%3STAN-CS-81-844:
%2Temporal Verification of Concurrent Programs, Part III: Proving Eventualities%1
by Zohar Manna and Amir Pnueli (35 pages, March 1981)

In this report, the third of a series on the application of temporal logic
to concurrent programs,  we concentrate  on developing  proof methods  for
establishing %2Eventuality%1 (Liveness) properties.

In order to establish eventuality properties we present several principles
which  translate  the  structure  of  the  program  into  basic   temporal
statements  about  its  behavior.   These  principles  can  be  viewed  as
providing the temporal  semantics of  the program.   The basic  statements
thus derived are then combined into temporal proofs for the  establishment
of eventuality  properties.   All the  methods  are amply  illustrated  by
examples.

%3STAN-CS-81-845:
%2Temporal Verification of Concurrent Programs, Part IV: The Non-Temporal
Alternative%1
by Zohar Manna and Amir Pnueli (45 pages, March 1981)

In this paper we consider proofs of properties of concurrent programs.  We
use the temporal formalism to state the properties but not to prove  them.
We present proof principles which  are based on convergence functions  and
well-founded structures.

The main goal is to establish properties (%2fair correctness%1) that  hold
for all  fair  computations. For  this  purpose, we  first  develop  proof
principles for the  related notions  of unrestricted,  impartial and  just
correctness, and then state  a proof principle  for fair correctness.  The
principles are illustrated by examples.

ERRATA:

STAN-CS-79-717 (AIM-324), Robert Cartwright and John McCarthy, %2Recursive Programs
as Functions in a First Order Theory%1

STAN-CS-80-817, Jeffrey Scott Vitter (Thesis), %2Analysis of Coalesced Hashing%1

STAN-CS-80-790 (AD-A086 838), Gio Wiederhold, %2Databases in Health Care%1

STAN-CS-80-791, Clark R. Wilcox, Mary L. Dageforde & Gregory A. Jirak,%2MAINSAIL
Language Manual%1