Designing Algorithms for Expected Performance


Yuri Gurevich


July 16, 1999



1.  Reservations


This talk is a tribute to Eric's persuasion.

There were good reasons for me not to talk.


1a.  I have moved to Volume B computer science.


1b.  All my work on average case complexity was "negative"

with one exception:


 Y. Gurevich and S. Shelah,

 ``Expected computation time for Hamiltonian Path Problem",

 SIAM J. on Computing 16:3 (1987), 486--502.


Notice, however, the great practicality of negative results [GJ].



2.  Search problems


A search problem is similar to a decision problem, but you are

required to produce a justification of your answer, a witness.


Consider for example SAT.  A positive witness is a satisfying

assignment.  A negative witness is e.g. a proof of the negation in

some calculus.  Alternatively, a computation establishing the

non-satisfyability can be itself a negative witness.  Notice that

negative witnesses may not be long.



3.  3-Colorability Search Problem


Consider the following algorithm


 x := min {k>1 : 1 E k};


 y := min {k>x : 1 E k & x E k};


 z := min {k>y : 1 E k & x E k & y E k}


which fails if any of the three sets is empty

(in which case you may start a "real algorithm" for 3-colorability),

and which outputs "NO" otherwise.


If the probability distribution is uniforme,

the expected # of steps is bounded;

I leave it to you to compute the bound.



4.  The Fuzzy Analogy


Fuzzy logic is one of many non-classical logic;

nothing deep about it.


They say, however, that fuzzy control theory has successes.

My mathematical control theory friends hate it:

"Cheating.  Optimization requires solving hard mathematical problem."

I disagree:  Your application, not its mathematical model,

is the center of interest.


Mathematics is driven by aesthetics, but business by the bottom line.


It is common to analize the average case behavior of a beautiful

algorithm with respect to the given probability distribution.

Alternatively, start with a probability distribution and seek

an appropriate algorithm.



5.  The Hamiltonian-Path Search Problem


That is exactly what we did, when we realized that HP with the uniform

distribution is not going to be complete for the average case.  We

designed a cascade of three algorithms.


HPA1, quick and dirty, seeks a path.


HPA2, the working horse, seeks a path or

a witness of nonexistence of a path.


HPA3, linear-space relatively fast exhaustive search.


It is harder to analyse a cascade of algorithms.  Some events become

known and thus the input is not quite the pristine random structure it




6.  Feasible vs. polynomial time


Neither implication is correct.



7.  The trouble with complexity theory


It is all assymptotical.