identify phase transitions in problem hardness leverage randomization in computation
DESCRIPTION
Combinatorial Problems in Cooperative Control: Complexity and Scalability Carla P. Gomes and Bart Selman Cornell University Muri Meeting June 2002. Overview. Overall Approach. Goal. Identify Phase Transitions In Problem Hardness Leverage Randomization In Computation. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Identify Phase Transitions In Problem Hardness Leverage Randomization In Computation](https://reader035.vdocument.in/reader035/viewer/2022062500/56814fe7550346895dbdb2ad/html5/thumbnails/1.jpg)
1
Combinatorial Problems in Cooperative Control:
Complexity and Scalability
Carla P. Gomes and
Bart Selman
Cornell UniversityMuri MeetingJune 2002
Combinatorial Problems in Cooperative Control:
Complexity and Scalability
Carla P. Gomes and
Bart Selman
Cornell UniversityMuri MeetingJune 2002
![Page 2: Identify Phase Transitions In Problem Hardness Leverage Randomization In Computation](https://reader035.vdocument.in/reader035/viewer/2022062500/56814fe7550346895dbdb2ad/html5/thumbnails/2.jpg)
2
Analysis of Actions & Tradeoffs
Constrai ntAnalysis
ProblemDescription
ProblemFormula tor
Constraints
ProblemSolver
ProblemSolver
Problem Reformulator
Constraints’ Structure/Critic alityMonitor / Estimator
Problem Reformulator
Phase Transitions in hardness
•Identify Phase Transitions In Problem Hardness• Leverage Randomization In Computation
Develop procedures that recognize and react to Structure in Problem Hardness
Goal
Principled dynamic control of communication and computational resources in large distributed autonomous systems, allowing for:
•Scalability•Time critical applications •Robustness guarantees
-
Overview
Overall Approach
Use findings in both the design and operation of complex (distributed)
systems
Hardness Aware Systems(Computationally)
![Page 3: Identify Phase Transitions In Problem Hardness Leverage Randomization In Computation](https://reader035.vdocument.in/reader035/viewer/2022062500/56814fe7550346895dbdb2ad/html5/thumbnails/3.jpg)
3
OutlineOutline
ROBOFLAG Drill – Computational Issues
Capturing Structure in Combinatorial Problems
Randomization and Approximations
Conclusions
![Page 4: Identify Phase Transitions In Problem Hardness Leverage Randomization In Computation](https://reader035.vdocument.in/reader035/viewer/2022062500/56814fe7550346895dbdb2ad/html5/thumbnails/4.jpg)
4
ROBOFLAG Drill ROBOFLAG Drill
Problem is hybrid, combining discrete and continuous components, with multiple
constraints.
Overall the Roboflag control problem provides an
excellent test bed for the development of scalable
techniques for complex optimization.
![Page 5: Identify Phase Transitions In Problem Hardness Leverage Randomization In Computation](https://reader035.vdocument.in/reader035/viewer/2022062500/56814fe7550346895dbdb2ad/html5/thumbnails/5.jpg)
5
Problem RepresentationProblem Representation
ROBOFLAG Drill Formulation by Raff D’Andrea and Matt Earl.
• Represented as a mixed logical system (MLD) in which the objective is to compute optimal control policies that minimize the total score of the game.
Mathematical Formulation of the Optimization Problem Mixed Integer Linear Program
![Page 6: Identify Phase Transitions In Problem Hardness Leverage Randomization In Computation](https://reader035.vdocument.in/reader035/viewer/2022062500/56814fe7550346895dbdb2ad/html5/thumbnails/6.jpg)
6
.
We are investigating how to scale up solutionsof the ROBOFLAG Drill focusing on:
- Mixed Integer Program (MIP) formulations- Randomization and Approximation methods- Combining MIP and constraint search
techniques.- Portfolios of Algorithms
![Page 7: Identify Phase Transitions In Problem Hardness Leverage Randomization In Computation](https://reader035.vdocument.in/reader035/viewer/2022062500/56814fe7550346895dbdb2ad/html5/thumbnails/7.jpg)
7
Scaling Up Mixed Integer Linear Program Formulations (MILP)
Scaling Up Mixed Integer Linear Program Formulations (MILP)
Standard approach for solving MILP:
Branch and Bound
How can we improve upon Branch and Bound strategies?
Ideas:
Different search strategies for node selection
Randomization
Portfolios of algorithms
![Page 8: Identify Phase Transitions In Problem Hardness Leverage Randomization In Computation](https://reader035.vdocument.in/reader035/viewer/2022062500/56814fe7550346895dbdb2ad/html5/thumbnails/8.jpg)
8
Branch & Bound:Depth First vs. Best bound
Branch & Bound:Depth First vs. Best bound
Critical to performance of Branch & Bound is the way
in which the next node to be expanded is selected.
Standard approach:
Best-bound --- select the node with the best LP bound
Alternative:
Depth-first --- often quickly reaches an integer solution
(may take longer to produce an overall optimal value)
Tradeoffs between these choices depend on underlying
problem stucture (Gomes et al. 2001).
![Page 9: Identify Phase Transitions In Problem Hardness Leverage Randomization In Computation](https://reader035.vdocument.in/reader035/viewer/2022062500/56814fe7550346895dbdb2ad/html5/thumbnails/9.jpg)
9
ROBOFLAG TestbedROBOFLAG Testbed
Hybrid node selection - Best Bound and Depth First
Depth First search works well.
Problems that could not be solved before with best bound using were solved with depth first.
Current largest problem solved with CPLEX using Depth First Search (8 attackers and 3 defenders):
• Integer variables = 4040
• Continuous variables 400
• Constraints - 13580 constraints
• Time - 244 secs
(Matt Earl 2002)
![Page 10: Identify Phase Transitions In Problem Hardness Leverage Randomization In Computation](https://reader035.vdocument.in/reader035/viewer/2022062500/56814fe7550346895dbdb2ad/html5/thumbnails/10.jpg)
10
Much room for improvement…Much room for improvement…
We are not yet using other problem formulations,
Nor are we yet exploiting randomization and parallelism.
Doing so should allow us to solve problems at
least one or two orders of magnitude larger.
(100,000 to 500,000 vars and 1,000,000+
constraints)
Also, we should be able to include more complex constraints.
![Page 11: Identify Phase Transitions In Problem Hardness Leverage Randomization In Computation](https://reader035.vdocument.in/reader035/viewer/2022062500/56814fe7550346895dbdb2ad/html5/thumbnails/11.jpg)
11
Capturing Structure in Combinatorial Problems
the importance of problem representation…
Capturing Structure in Combinatorial Problems
the importance of problem representation…
![Page 12: Identify Phase Transitions In Problem Hardness Leverage Randomization In Computation](https://reader035.vdocument.in/reader035/viewer/2022062500/56814fe7550346895dbdb2ad/html5/thumbnails/12.jpg)
12
Completing Latin Squares:An Abstraction for Real World Applications
Completing Latin Squares:An Abstraction for Real World Applications
Latin Square(Order 4)
32% preassignment
Gomes and Selman 96
A Latin Square is an n-by-n matrix such that each row and column is a permutation of the same n colors
![Page 13: Identify Phase Transitions In Problem Hardness Leverage Randomization In Computation](https://reader035.vdocument.in/reader035/viewer/2022062500/56814fe7550346895dbdb2ad/html5/thumbnails/13.jpg)
13
Switches in Fiber Optic NetworksSwitches in Fiber Optic Networks
Dynamic wavelength routing in Fiber Optic Networks can be directly mapped into the Latin Square Problem.
(Barry and Humblet 93, Cheung et al. 90, Green 92, Kumar et al. 99)
•each channel cannot be repeated in the same input port (row constraints);• each channel cannot be repeated in the same output port (column constraints);
CONFLICT FREELATIN ROUTER
Inp
ut
po
rts
Output ports
3
1
2
4
Input Port Output Port
1
2
43
![Page 14: Identify Phase Transitions In Problem Hardness Leverage Randomization In Computation](https://reader035.vdocument.in/reader035/viewer/2022062500/56814fe7550346895dbdb2ad/html5/thumbnails/14.jpg)
14
LP Based Formulations
![Page 15: Identify Phase Transitions In Problem Hardness Leverage Randomization In Computation](https://reader035.vdocument.in/reader035/viewer/2022062500/56814fe7550346895dbdb2ad/html5/thumbnails/15.jpg)
15
Assignment FormulationAssignment Formulation
Cubic representation of QCP
Columns
Rows
Colors
![Page 16: Identify Phase Transitions In Problem Hardness Leverage Randomization In Computation](https://reader035.vdocument.in/reader035/viewer/2022062500/56814fe7550346895dbdb2ad/html5/thumbnails/16.jpg)
16
QCPAssignment Formulation
QCPAssignment Formulation
}1,0{ijkx
....,,2,1,,1,
nkjii ijkx
kj
....,,2,1,,1,, nkjik ijkxji
....,,2,1,,1,
nkjij ijkx
ki
Row/color line
Column/color line
Row/column line
kijPLStskjikji
x ..,,
1,,
nijkxnn
j ki 1 11
max
....,,2,1,,;, nkjikcolorhasjicellijkx
Max number of colored cells
![Page 17: Identify Phase Transitions In Problem Hardness Leverage Randomization In Computation](https://reader035.vdocument.in/reader035/viewer/2022062500/56814fe7550346895dbdb2ad/html5/thumbnails/17.jpg)
17
Using a MIP formulation and Branch and Bound we can only find solutions for Latin Squares up to Order 15 (15 x 15)
we can do better, even with an LP based formulation using a less obvious encoding
![Page 18: Identify Phase Transitions In Problem Hardness Leverage Randomization In Computation](https://reader035.vdocument.in/reader035/viewer/2022062500/56814fe7550346895dbdb2ad/html5/thumbnails/18.jpg)
18
Packing formulationPacking formulation
Max number of colored cells in the selected patterns
s.t. one pattern per family
a cell is covered at most by one pattern
Families of patterns
(partial patterns are not shown)
Gomes and Shmoys 2002
![Page 19: Identify Phase Transitions In Problem Hardness Leverage Randomization In Computation](https://reader035.vdocument.in/reader035/viewer/2022062500/56814fe7550346895dbdb2ad/html5/thumbnails/19.jpg)
20
QCPPacking Formulation
QCPPacking Formulation
MkMky
,},1,0{
,
1,
kMM Mk
yk one pattern per color
at most one pattern covering each cell
kMM MkyMn
k ,||1
max
1),:( ,1
,
Mji
kMM Mk
yn
kji
Max number of colored cells
![Page 20: Identify Phase Transitions In Problem Hardness Leverage Randomization In Computation](https://reader035.vdocument.in/reader035/viewer/2022062500/56814fe7550346895dbdb2ad/html5/thumbnails/20.jpg)
21
Any feasible solution to the packing LP relaxation is
also a solution to the assignment LP relaxation
The value of the assignment relaxation is at least the bound implied by the packing formulation => the packing formulation provides a tighter upper bound than the assignment formulation
Limitation – size of formulation is exponential in n. (one may apply column generation techniques)
k
MM Mky
ijkx
,
![Page 21: Identify Phase Transitions In Problem Hardness Leverage Randomization In Computation](https://reader035.vdocument.in/reader035/viewer/2022062500/56814fe7550346895dbdb2ad/html5/thumbnails/21.jpg)
22
ApproximationBased on Packing Formulation
ApproximationBased on Packing Formulation
Randomization scheme:
for each color K choose a pattern with probability (so that some matching is selected for each color)
As a result we have a pattern per color.
Problem: some patterns may overlap, even though in expectation, the constraints imply that the number of matchings in which a cell is involved is 1.
*,Mk
y
![Page 22: Identify Phase Transitions In Problem Hardness Leverage Randomization In Computation](https://reader035.vdocument.in/reader035/viewer/2022062500/56814fe7550346895dbdb2ad/html5/thumbnails/22.jpg)
23
Packing formulationPacking formulation
0.8
0.2
1
1 1
Max number of colored cells in the selected patterns
s.t. one pattern per family
a cell is covered at most by one pattern
![Page 23: Identify Phase Transitions In Problem Hardness Leverage Randomization In Computation](https://reader035.vdocument.in/reader035/viewer/2022062500/56814fe7550346895dbdb2ad/html5/thumbnails/23.jpg)
24
(1-1/e)- ApproximationBased on Packing Formulation
(1-1/e)- ApproximationBased on Packing Formulation
Let’s assume that the PLS is completable
Z*=h
What is the expected number of cells uncolored by our randomized procedure due to overlapping conflicts?
From we can compute
So, the desired probability corresponds to the probability of a cell not be colored with any color, i.e.:
*,Mk
y
kMM
Mky
ijkx
*
,*
)*1()*2
1)(*1
1()1
*1( ijnxijx
ijx
n
k ijkx
![Page 24: Identify Phase Transitions In Problem Hardness Leverage Randomization In Computation](https://reader035.vdocument.in/reader035/viewer/2022062500/56814fe7550346895dbdb2ad/html5/thumbnails/24.jpg)
25
(1-1/e)- ApproximationBased on Packing Formulation
(1-1/e)- ApproximationBased on Packing Formulation
This expression is maximized when all the
are equal therefore:
So the expected number of uncolored cells is at most at least holes are expected to be filled by this technique.
*ijkx
)*1()*2
1)(*1
1()1
*1( ijnxijx
ijx
n
k ijkx
enn
n
k ijkx 1)11()
1*1(
eh he)11(
1- 1/e ~ 0.632 - This is a very good guaranteefor a polynomial time algorithm!
![Page 25: Identify Phase Transitions In Problem Hardness Leverage Randomization In Computation](https://reader035.vdocument.in/reader035/viewer/2022062500/56814fe7550346895dbdb2ad/html5/thumbnails/25.jpg)
26
Another Formulation
Constraint Satisfaction Problem
![Page 26: Identify Phase Transitions In Problem Hardness Leverage Randomization In Computation](https://reader035.vdocument.in/reader035/viewer/2022062500/56814fe7550346895dbdb2ad/html5/thumbnails/26.jpg)
27
QCP as a CSPQCP as a CSP
• Variables -
• Constraints -
}...,,2,1{, njix
....,,2,1,;,, njijicellofcolorjix
....,,2,1);,,...,2,
,1,
( ninixix
ixalldiff
....,,2,1);,,...,,2
,,1
( njjnxjx
jxalldiff
)2(nO
)(nO
row
column
kijPLStsjikjix ..,,
![Page 27: Identify Phase Transitions In Problem Hardness Leverage Randomization In Computation](https://reader035.vdocument.in/reader035/viewer/2022062500/56814fe7550346895dbdb2ad/html5/thumbnails/27.jpg)
28
Exploiting Structure for Domain Reduction
Exploiting Structure for Domain Reduction
• A very successful strategy for domain reduction in CSP is to exploit the structure of groups of constraints and treat them as global constraints.
Example using Network Flow Algorithms:
• All-different constraints
![Page 28: Identify Phase Transitions In Problem Hardness Leverage Randomization In Computation](https://reader035.vdocument.in/reader035/viewer/2022062500/56814fe7550346895dbdb2ad/html5/thumbnails/28.jpg)
29
Exploiting Structure in QCPALLDIFF as Global Constraint
Two solutions:
we can update the domains of the column
variables
Analogously, we can update the domains of the other variables
Matching on a Bipartite graph
All-different constraint
![Page 29: Identify Phase Transitions In Problem Hardness Leverage Randomization In Computation](https://reader035.vdocument.in/reader035/viewer/2022062500/56814fe7550346895dbdb2ad/html5/thumbnails/29.jpg)
30
Pure CSP approaches solve QCP instances up
to order 33 (1089 variables) relatively well.
(LP based – only up to order 15 – 125 variables)
![Page 30: Identify Phase Transitions In Problem Hardness Leverage Randomization In Computation](https://reader035.vdocument.in/reader035/viewer/2022062500/56814fe7550346895dbdb2ad/html5/thumbnails/30.jpg)
31
We are exploring more direct encodings for the ROBOFLAG DRILL
Representations avoiding discretization based on time.
constraint based abstractions closer to the physical system, e.g., based movements / trajectories.
![Page 31: Identify Phase Transitions In Problem Hardness Leverage Randomization In Computation](https://reader035.vdocument.in/reader035/viewer/2022062500/56814fe7550346895dbdb2ad/html5/thumbnails/31.jpg)
32
Randomization
![Page 32: Identify Phase Transitions In Problem Hardness Leverage Randomization In Computation](https://reader035.vdocument.in/reader035/viewer/2022062500/56814fe7550346895dbdb2ad/html5/thumbnails/32.jpg)
33
BackgroundBackground
Stochastic strategies have been very successful in the area of local search.
Simulated annealing
Genetic algorithms
Tabu Search
Walksat and variants.
Limitation: inherent incomplete nature of local search methods.
![Page 33: Identify Phase Transitions In Problem Hardness Leverage Randomization In Computation](https://reader035.vdocument.in/reader035/viewer/2022062500/56814fe7550346895dbdb2ad/html5/thumbnails/33.jpg)
34
Randomized variable and/or value selection – lots of different ways.
Example: randomly breaking ties in variable and/or value selection.
Compare with standard lexicographic tie-breaking.
Note: No problem maintaining the completeness of the algorithm!
Randomized backtrack searchRandomized backtrack search
![Page 34: Identify Phase Transitions In Problem Hardness Leverage Randomization In Computation](https://reader035.vdocument.in/reader035/viewer/2022062500/56814fe7550346895dbdb2ad/html5/thumbnails/34.jpg)
35
Sa
mp
le m
ea
nErratic Behavior of Mean
Number runs
Empirical Evidence of Heavy-TailsEmpirical Evidence of Heavy-Tails
(*) no solution found - reached cutoff: 2000Time: (*)3011 (*)7
Easy instance – 15 % preassigned cells
Gomes et al. 97
500
2000
3500
Median = 1!
![Page 35: Identify Phase Transitions In Problem Hardness Leverage Randomization In Computation](https://reader035.vdocument.in/reader035/viewer/2022062500/56814fe7550346895dbdb2ad/html5/thumbnails/35.jpg)
36
Decay of DistributionsDecay of Distributions
Standard
Exponential Decay
e.g. Normal:
Heavy-Tailed
Power Law Decay
e.g. Pareto-Levy:
0,]Pr[ 2
CsomeforxCexX
Pr[ ] ,X x Cx x 0
Power Law Decay
Standard Distribution(finite mean & variance)
Exponential Decay
Infinite variance, infinite mean
![Page 36: Identify Phase Transitions In Problem Hardness Leverage Randomization In Computation](https://reader035.vdocument.in/reader035/viewer/2022062500/56814fe7550346895dbdb2ad/html5/thumbnails/36.jpg)
37
Exploiting Heavy-Tailed BehaviorExploiting Heavy-Tailed Behavior
Heavy Tailed behavior has been observed in several domains: QCP, Graph Coloring, Planning, Scheduling, Circuit synthesis, Decoding, etc.
Consequence for algorithm design:
Use restarts or parallel / interleaved runs to exploit the extreme variance performance.
Restarts provably eliminate heavy-tailed behavior (Gomes et al. 2000)
70%unsolved
1-F
(x)
Un
solv
ed f
ract
ion
Number backtracks (log)
250 (62 restarts)
0.001%unsolved
![Page 37: Identify Phase Transitions In Problem Hardness Leverage Randomization In Computation](https://reader035.vdocument.in/reader035/viewer/2022062500/56814fe7550346895dbdb2ad/html5/thumbnails/37.jpg)
38
Using randomization and restarts we can solve considerably larger instances up to order QCP instances up to order 40 (1600 variables).
Note: this problem is highly exponential – instances of order 40 are much more difficult than instances of order 33!
We are also experimenting with randomization in the ROBOFLAG DRILL
![Page 38: Identify Phase Transitions In Problem Hardness Leverage Randomization In Computation](https://reader035.vdocument.in/reader035/viewer/2022062500/56814fe7550346895dbdb2ad/html5/thumbnails/38.jpg)
39
Hybrid MIP/CSP Approaches
![Page 39: Identify Phase Transitions In Problem Hardness Leverage Randomization In Computation](https://reader035.vdocument.in/reader035/viewer/2022062500/56814fe7550346895dbdb2ad/html5/thumbnails/39.jpg)
40
CSP Model
LP Model + LP Randomized Rounding
Heavy-tails
We want to maintain completeness
How do we combine all these ingredients?
A HYBRID COMPLETE CSP/LP RANDOMIZED ROUNDING BACKTRACK SEARCH
![Page 40: Identify Phase Transitions In Problem Hardness Leverage Randomization In Computation](https://reader035.vdocument.in/reader035/viewer/2022062500/56814fe7550346895dbdb2ad/html5/thumbnails/40.jpg)
41
HYBRID CSP/LP RANDOMIZED ROUNDING BACKTRACK SEARCH
HYBRID CSP/LP RANDOMIZED ROUNDING BACKTRACK SEARCH
Central features of algorithm:
• Complete Backtrack search algorithm
• It maintains two formulations
• CSP model
• Relaxed LP model
• LP Randomized rounding for setting values at the top of the tree
• CSP + LP inference
![Page 41: Identify Phase Transitions In Problem Hardness Leverage Randomization In Computation](https://reader035.vdocument.in/reader035/viewer/2022062500/56814fe7550346895dbdb2ad/html5/thumbnails/41.jpg)
42
Variable setting
controlled by LP Randomized
RoundingCSP & LP Inference
Search & Inferencecontrolled by CSP
%LP
Interleave-LP
HYBRID CSP/LP RANDOMIZED ROUNDING BACKTRACK SEARCH
HYBRID CSP/LP RANDOMIZED ROUNDING BACKTRACK SEARCH
•Populate CSP Model• Perform propagation
•Populate LP solver•Solve LP
Adaptive CUTOFF
![Page 42: Identify Phase Transitions In Problem Hardness Leverage Randomization In Computation](https://reader035.vdocument.in/reader035/viewer/2022062500/56814fe7550346895dbdb2ad/html5/thumbnails/42.jpg)
44
Empirical Results
![Page 43: Identify Phase Transitions In Problem Hardness Leverage Randomization In Computation](https://reader035.vdocument.in/reader035/viewer/2022062500/56814fe7550346895dbdb2ad/html5/thumbnails/43.jpg)
45
Time PerformanceTime Performance
Order 35
![Page 44: Identify Phase Transitions In Problem Hardness Leverage Randomization In Computation](https://reader035.vdocument.in/reader035/viewer/2022062500/56814fe7550346895dbdb2ad/html5/thumbnails/44.jpg)
46
PerformancePerformance
With the hybrid strategy we also solve instances of order 40 in critically constrained area – out of reach for pure CSP;
We even solved a few balanced instances of order 50 in the critically constrained order!
• more systematic experimentation is required to better understand limitations and strengths of approach.
![Page 45: Identify Phase Transitions In Problem Hardness Leverage Randomization In Computation](https://reader035.vdocument.in/reader035/viewer/2022062500/56814fe7550346895dbdb2ad/html5/thumbnails/45.jpg)
47
Conclusions
![Page 46: Identify Phase Transitions In Problem Hardness Leverage Randomization In Computation](https://reader035.vdocument.in/reader035/viewer/2022062500/56814fe7550346895dbdb2ad/html5/thumbnails/46.jpg)
48
ConclusionsConclusions
Approximations based on LP randomized rounding (variable/value setting) + constraint propagation --- very powerful.
Combatting heavy-tails of backtrack search through randomization.
Consequence: New ways of designing algorithms ---
aim for strategies which have highly asymmetric distributions that can be exploited using restarts, portfolios of algorithms, and interleaved/parallel runs.
General approach --- holds promise for a range of hard combinatorial problems.
![Page 47: Identify Phase Transitions In Problem Hardness Leverage Randomization In Computation](https://reader035.vdocument.in/reader035/viewer/2022062500/56814fe7550346895dbdb2ad/html5/thumbnails/47.jpg)
49
Scaling up ROBOFLAG - Other Formulations for Solving the Control Optimization Problem
Scaling up ROBOFLAG - Other Formulations for Solving the Control Optimization Problem
Encodings that provide “tighter” relaxations for the LP problem.
Approximate representations using abstractions (“synthesize larger movements / trajectories”). Avoid discretization based on time. Less compact representations may allow for more propagation and scale up better.
Constraint Satisfaction Problem (CSP) formulations.Hybrid CSP/LP formulations.Approximations based on LP randomized rounding.
Goal: At least two orders of magnitude scale-up over current state-of-the-art.
![Page 48: Identify Phase Transitions In Problem Hardness Leverage Randomization In Computation](https://reader035.vdocument.in/reader035/viewer/2022062500/56814fe7550346895dbdb2ad/html5/thumbnails/48.jpg)
50
www.cs.cornell.edu/gomes
Check also:
www.cis.cornell.edu/iisi
www.cs.cornell.edu/gomes
Check also:
www.cis.cornell.edu/iisi
Demos, papers, etc.