Lecture Summaries for Polyhedral Computation       2012

Prof. David Avis                          Thursday  8:45 - 10:15        

      also check:  announcements        return to:  course home page


Basic reference:    Komei Fukuda's Polyhedral Computation FAQ



Oct 4: Course outline. We discussed the convex hull problem in two dimensions: convex hull and its solution using Graham's algorithm   notes   CH_alg_en   CH-alg_jp

Exercise: Refer to CH_alg notes (English or Japanese)
(a) Do exercise 2.7
(b) Write out a detailed pseudo-code for the function left(p,q,r)  which is true if and only if the points p,q and r in the plane form a left turn.
(It should be false if p,q and r lie on a straight line.)

Oct 11:  Basic definitions: polyhedron, vertex, face, facet, etc. The vertex enumeration problem. Solution by dictionaries and graph search. If you are not familiar with LP dictionaries, please read this excerpt from Chvatal's Linear ProgrammingEnglish or Japanese          notes     Please review these slides.
Exercise: Use the brute force method of Section 2 of the notes to classify all co-bases of the following system:
-x1 -x2 -x3 ≤ -6,  -x1  -2x3 ≤ -2,  -x2 ≤ -3, -x3 ≤ 2,  x1 +x2 +2x3 ≤  6
Your solution should include (1) a complete classification of all 10 subsets chosen in step 1 (2) a graph like Figure 7 (3) a sketch like Figure 2


Oct 18: The graph search method for vertex enumeration. Details of the adjacency oracle is in part 2 of these  notes
Be sure to read Section 3 on depth first search (DFS) and for more detail see the wiki page.
Exercise: Solve the problem for Oct 11 one more time using the graph search method and DFS. You may start from any of the feasible cobases you discovered doing the Oct 11 exercise.
In your report, you do not need to show every dictionary. However you should show the Adjacency oracle results for each dictionary as described in part 2 of the   notes

Oct 25: Graph search and reverse search. Review slides and this page for more information and history.
Exercises: Read carefully the tutorial especially Section 6 on trees.
1. Draw the reverse search tree corresponding to the output in Figure 6.3. Show the labelled trees at each node of the reverse search tree.
2. Let T be the tree in Figure 6.2 (do not include the dotted edge 15).
(a) Apply the local search function f to find the path from T back to the starting tree T*. Draw each tree along the path to T*.
(b) Work out completely all adjacent trees to T using the oracle Adj(T,i,j)
(c) Work out which, if any, of these adjacent trees are children of T in the reverse search tree.



Exercises for Oct 4,11,18,25  are due in class on Nov 1

Nov 1: Hans Tiwary guest lecture on Extension complexity.   notes
Exercises:  pdf

Nov 8: Hans Tiwary guest lecture on Extension complexity.   notes
Exercises:  pdf

Nov 15: Hans Tiwary guest lecture on polarity.   notes
Exercises: pdf

Nov 22: Kyoto university festival, no classes

Second report covers lectures on Nov 1,8,15 and is due in class on Dec 6

Nov 29:  Two person zero sum games games and Nash equilibria. Read Ch 15 from Chvatal: notes
Exercise: Do exercise 15.4 from the notes.
You should formulate the LPs for both players, and solve them using either lrs or lp_solve (See  announcements  )
Dec 6:  Second report is due. Atsuki Nagao will discuss problems on the first report.
Dec 13: Nash equilibria for general two person games: an application of vertex enumeration.  notes     paper
Exercise: Read the notes carefully, especially the example at the end.
Choose your own 3 X 2 matrices A and B and compute all Nash equilibria by the same method:
1. Compute all vertices of the two related polyhedron using lrs and make a table like that in the middle of page 3. Now choose one of the two vertex lists (shorter one is better) and for each vertex in that list compute the Nash equilibria (if any) using the other vertex list.
2. Check your work by downloading and running program nash from lrslib on your two matrices (see User's guide on lrslib home page for instructions)
Note: (Dec 20)
 I fixed the permissions for the DLL files. You need to run nash etc. from a command prompt (DOS window) found in the accessory folder in start menu.
The cygwin1.dll file must be in the same folder as nash. Please contact me and/or Atsuki Nagao by email in case of problems.

Dec 20: Guest lecture by Takashi Horiyama on folding and unfolding polyhedra.   slides

New Year break
Jan 10:  Guest lecture by Stefan Langerman on the Ham Sandwich Theorem.  slides
Exercise: Refer to slides 17-27 (Crossing free Red-Blue Matching).
1. Write down the algorithm concisely. (Note there are two cases depending on whether the total number of points is divisible by four or not.)
2. Draw a set of 26 points at random on a sheet of paper, and colour a random subset of 13 points red, the others blue.
3. Simulate the algorithm by hand to produce the crossing free red-blue matching.

Third report covers lectures on Nov 29, Dec 13, Jan 10 and is due in class on Jan 17

Jan 17:  Wrap up.  Final report is due.