COMPUTER SCIENCE 511 DESIGN AND ANALYSIS OF ALGORITHMS FALL 2015 G ENERAL I NFORMATION Description. A study of basic algorithm design and analysis techniques. Emphasis is on learning to formulate algorithmic problems and on developing problemsolving skills. Prerequisites. CS 311 (undergraduate design and analysis of algorithms) or equivalent. A strong background in programming, discrete mathematics, and elementary probability theory is essential. Time and Place. MWF 12:10 pm – 1:00 pm, Carver 205. Web Page. Course material will be available though Blackboard, http://bb. its.iastate.edu. Instructor. David Fernández-Baca, 111 Atanasoff, fernande@iastate.edu, 2942168. Office hours are by appointment, but students may drop in whenever the instructor’s door is open. Teaching Assistants. We have three TAs, listed below. Adam T. Case Donald Stull Xiang Huang adamcase@iastate.edu dstull@iastate.edu huangx@iastate.edu TA office hours will be held in Atanasoff B0004; times will be posted later. References. We will use material from a variety of books, some of which have accompanying websites (see the footnotes). The instructor will also post lecture notes on certain topics. There is no official textbook for this class. Our two main references are the following. Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest and Clifford Stein, Introduction to Algorithms (3rd edition), MIT Press, 2009.1 Jon Kleinberg and Éva Tardos, Algorithm Design, Addison-Wesley, 2006.2 Two additional references that may be useful for various parts of the course are 1http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/ 6-046j-introduction-to-algorithms-sma-5503-fall-2005/index.htm and http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/ 6-046j-design-and-analysis-of-algorithms-spring-2012/index.htm. The material on these web pages provides a good review of the prerequisites for ComS 511. 2 http://www.cs.princeton.edu/∼wayne/kleinberg-tardos/ 1 2 COMPUTER SCIENCE 511 DESIGN AND ANALYSIS OF ALGORITHMS FALL 2015 Sanjoy Dasgupta, Christos Papadimitriou, and Umesh Vazirani, Algorithms, McGraw-Hill 2007. Luca Trevisan. Combinatorial Optimization: Exact and Approximate Algorithms. Lecture notes from CS261: Optimization and Algorithmic Paradigms, Stanford University, 2011. http://theory. stanford.edu/∼trevisan/books/cs261.pdf A good reference on approximation algorithms is David P. Williamson and David B. Shmoys, The Design of Approximation Algorithms, Cambridge University Press, 2012.3 Two references on parameterized algorithms are Jörg Flum and Martin Grohe, Parameterized Complexity Theory. Springer, 20064. Rolf Niedermeier, Invitation to Fixed-Parameter Algorithms, volume 31 of Oxford Lecture Series in Mathematics and its Applications. Oxford University Press, Oxford, 2006.5 T OPICS (1) (2) (3) (4) Flows and cuts (Kleinberg & Tardos, Chapter 7). Linear programming (Cormen et al, Chapter 29). NP-completeness (Kleinberg & Tardos, Chapter 8). Fixed-parameter algorithms (Kleinberg & Tardos, Chapter 10; Flum & Grohe; Niedermeier). (5) Approximation algorithms (Kleinberg & Tardos, Chapter 11; Williamson & Shmoys). (6) Randomized algorithms (Kleinberg & Tardos, Chapter 13). If time permits, we will cover one additional topic. (7) Advanced data structures (Cormen et al., Chapters 17 and 19). G RADING Our grading scheme is summarized below. Weight Homework Exam 1 Exam 2 Final 15% 25% 25% 35% Tentative Date Time Every 1.5–2 weeks September 25 noon–1:00 p.m. October 30 noon–1:00 p.m. December 17 12:00-2:00 p.m. All exams will be held in our classroom, Carver 205. 3http://www.designofapproxalgs.com/download.php 4 http://www2.informatik.hu-berlin.de/logik/lehre/SS10/Para/index.html#log An early version is at http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.2. 9618 5 COMPUTER SCIENCE 511 DESIGN AND ANALYSIS OF ALGORITHMS FALL 2015 3 C OURSE O BJECTIVES AND O UTCOMES Objectives. This course introduces students to graduate-level topics in the design and analysis of computer algorithms. These include • basic concepts in combinatorial optimization, including network flows, linear programming, and integer linear programming, • polynomial-time reductions among computational problems, • tractability, intractability, and the class NP, • identifying special tractable cases of NP-hard problems, and, • approximation algorithms using linear programming, randomization, and specialized techniques. Outcomes. Students who complete Computer Science 511 will have demonstrated the ability to • express combinatorial problems as maximum flow / minimum cut problems, as linear programs, or as integer linear programs, • perform reductions to prove NP-completeness, • explain what NP-completeness mean and does not mean, • devise algorithms that solve NP-complete problems on restricted classes of graphs, and • use linear programming to obtain approximation algorithms for certain optimization problems. P OLICY ON ACADEMIC M ISCONDUCT Students enrolled in Computer Science courses at ISU are expected to maintain the highest standards of academic integrity. Suspected cases of academic misconduct will be pursued fully in accordance with university policies. Here we provide information to help you avoid unintentional misconduct. For further details, please consult ISU’s policy on academic dishonesty6. Problem Sets. The primary purpose of assignments is to clarify and enhance the understanding of the concepts covered in class. T HE F UNDAMENTAL RULE : You must write up each problem solution by yourself, without assistance. We expect you to thoroughly understand the solutions that you submit. This means that, if called upon to do so by a member of the course staff, you should be able to orally explain each one of your problem solutions. Our experience shows that learning is enhanced by collaboration. Thus, we encourage discussion of general concepts and questions concerning the homework assignments among classmates. If you do collaborate with classmates, however, you must identify your collaborators. If you work with no one, you should write “Collaborators: none.” If you obtain a solution through research (e.g., on the web), acknowledge your source, but write up the solution in your own words. Examples of allowed collaboration are the following: 6http://catalog.iastate.edu/academiclife/regulations/#academicdishonestytext 4 COMPUTER SCIENCE 511 DESIGN AND ANALYSIS OF ALGORITHMS FALL 2015 • Discussing the material presented in class or included in the assigned readings that is needed for solving assigned problems. • Assisting other students in understanding the statement of the problem (e.g., by translating some English phrases unfamiliar to that student). The following are examples of activities that are prohibited: • Sharing solutions or fragments of solutions (via email, whiteboard, handwritten or printed copies, etc.). • Posting solutions or fragments of solutions in a location that is accessible to others. • Using solutions or fragments of solutions provided by other students (including students who had taken the course in the past). • Using solutions or solution fragments obtained on the Internet or from solution manuals for textbooks. • Using material from textbooks, reference books, or research articles without properly acknowledging and citing the source. Exams. The primary purpose of exams is to test the understanding of the concepts covered in class. Exam solutions must be entirely your own work. The following is a non-exhaustive list of activities that amount to cheating on an test. • Copying someone else’s solutions. • Using notes or reference materials (unless instructed otherwise). • Altering an exam for re-grading. • Getting an advance copy of the exam. • Having someone else write the exam. S TUDENTS WITH D ISABILITIES Iowa State University complies with the American with Disabilities Act and Section 504 of the Rehabilitation Act. Any student who may require an accommodation under such provisions should contact the instructor as soon as possible. No retroactive accommodations will be provided in this class. D EAD W EEK P OLICY This class follows the Iowa State University Dead Week policy as noted in Section 10.6.4 of the Faculty Handbook. H ARASSMENT AND D ISCRIMINATION Iowa State University strives to maintain our campus as a place of work and study for faculty, staff, and students that is free of all forms of prohibited discrimination and harassment based upon race, ethnicity, sex (including sexual assault), pregnancy, color, religion, national origin, physical or mental disability, age, marital status, sexual orientation, gender identity, genetic information, or status as a U.S. veteran. Any student who has concerns about such behavior should contact his/her instructor, Student Assistance at 515-294-1020 or email COMPUTER SCIENCE 511 DESIGN AND ANALYSIS OF ALGORITHMS FALL 2015 5 dso-sas@iastate.edu, or the Office of Equal Opportunity and Compliance at 515-294-7612. R ELIGIOUS ACCOMMODATION If an academic or work requirement conflicts with your religious practices and/or observances, you may request reasonable accommodations. Your request must be in writing, and your instructor or supervisor will review the request. You or your instructor may also seek assistance from the Dean of Students Office or the Office of Equal Opportunity and Compliance.