COMPUTER SCIENCE 511 DESIGN AND ANALYSIS OF ALGORITHMS FALL 2015 G

advertisement
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.
Download