0% found this document useful (0 votes)
47 views

DiscreteOptimization2023 Homework1

This document provides instructions for homework 1 of the Discrete Optimization 2023/2024 course. It outlines that the graded exercises are exercises 1-3 and 1-4, which are due on September 18, 2023. Students must complete the graded exercises in teams of three. It also provides details on submitting solutions and using the online forum for questions. Finally, it lists the four exercises, including proving properties of matroids and providing algorithms related to minimum spanning trees.

Uploaded by

tirelli.alice
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
47 views

DiscreteOptimization2023 Homework1

This document provides instructions for homework 1 of the Discrete Optimization 2023/2024 course. It outlines that the graded exercises are exercises 1-3 and 1-4, which are due on September 18, 2023. Students must complete the graded exercises in teams of three. It also provides details on submitting solutions and using the online forum for questions. Finally, it lists the four exercises, including proving properties of matroids and providing algorithms related to minimum spanning trees.

Uploaded by

tirelli.alice
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

Discrete Optimization 2023/2024

Homework 1
Graded exercises: 1 – 3 and 1 – 4
Deadline for submission: Monday September 18 (2023), 13:15

General Instructions (please read!)


In general in solving the questions, when a proof is asked1 , please provide a mathematically sound argument,
short but precise. Please use it also as a practice for concise and precise writing. A rule of thumb: The
solutions to the graded questions usually fit on one A4. When an algorithm is asked, please describe it using
well readable and natural language, no python, nor C, C++, Java, etc.

Each week there will be only few graded questions. Solutions will be provided later, but for all questions
including the ones that are not graded. The graded questions must be done in teams of three students,
in exceptional cases two. It is fine to distribute work among yourselves to keep workload low, but discuss
your solutions among yourselves. Please use the ELO forum Searching Homework Partner in order to find
teammates, and another forum to inform me of teams that have been formed, namely here. Once you post
your team (names) there, I can enter it into the system, so that you can submit homework as a team. (Note
that the links only work once you are logged into elo.mastermath.nl.)

In contrast to previous years, we have no Zulip server to discuss question related to the content of the course,
which works well as a replacement of a tutorial session. We instead use the ELO course website this year;
it is a bit clumsier compared to Zulip, but should hopefully do the job, too. I created a forum called ”Open
Q&A Forum” for that purpose. The most important thing to know when using it, is that one can also type
LATEX, by embracing the LATEX code by \( and by \). There is also an example online. If you want to use
a displayed formula, as usual in LATEX, you can use the double $$ to embrace it.

Upload of the solutions to the graded exercises (and only these) happens via elo.mastermath.nl, prior to the
due date. Uploads of homework exercise solutions can only be done as a homework group; please do not
submit otherwise. Please submit your solutions in one pdf only. Use a pdf converter if you take pictures
of handwritten solutions, which is fine; no need to waste much time on LATEX’ing).

All exercises are relevant in the sense that exam question are comparable, usually easier. Hence it is
recommended to work on exercises on a weekly basis, not only the graded ones, and not only about a
week prior to the exam.

Exercise 1 − 1, O( ) Notation Just if you feel unfamiliar with O( ), Ω( ) and Θ( ) notation, the following
is a nice exercise: Show that log(n!) ∈ Θ( n log n ). (That is, show that log(n!) ∈ O( n log n ), and show that
log(n!) ∈ Ω( n log n ).)

Exercise 1 − 2, Spanning Trees


(a) Not hard yet also nontrivial, as it forces you to think how to express being “spanning” and “acyclic”:
Give an integer linear programming formulation for the MST problem for graph G = (V, E) and edge
weights c : E 7→ R. Make sure to first state what the decision variables are. You do not need to give
it in standard form Ax ≤ b, but may choose a “natural” formulation of the linear constraints, such as,
for example, minimize < this >, subject to < bla > for all v ∈ V , < blub > for all e ∈ E, . . . .

1 Expressions such as “show that”, “argue that” or other synonyms are just the same as “prove that”.
Discrete Optimization (DO 2023/24) Exercises Week 1 page 2

(b) Prove the following characterization for MSTs: T ⊆ E is a minimum spanning tree for G = (V, E, c)
if and only if for all u, v ∈ V there exists a unique path PT (u, v) ⊆ T between u and v, and for all
e = {u, v} ̸∈ T , we have c(e) ≥ c(f ) for all edges f ∈ PT (u, v).
[Hint for “if”: Consider T , fulfilling the condition, and MST T ∗ , with maximal |T ∩ T ∗ |, and assume
for contradiction that T ̸= T ∗ .]

Exercise 1 − 3 (Spanning Trees, 5 points, plus 2 bonus) Consider an edge-weighted undirected and
connected graph G = (V, E), with edge weights c : E → R≥0 , |V | = n and |E| = m. For this problem, you
may assume that a standard graph search algorithm (breadth first search) is available, with computation
time O( |V | + |E| ) for a given graph G = (V, E).

(a) (1 point, 2 bonus) For a given spanning tree T , suggest an efficient algorithm that computes for each
pair u, v ∈ V , the maximum cost edge, call it emax (u, v), on the unique {u, v}-path PT (u, v) in (V, T ).
[2 bonus points if you can give an algorithm with total computation time O( n2 ). Hint: Consider the
vertices u, v ∈ V in order of some rooted breadth first search tree.]
(b) (3 points) Suppose we have computed a minimum spanning tree T , but are interested in a second
cheapest spanning tree T ′ ̸= T (where c(T ′ ) = c(T ) is possible). Show that a second cheapest spanning
tree T ′ can be obtained from T by exchanging just a single edge e ∈ T with an edge e′ ∈ E \ T .
[Hint: Consider a second cheapest spanning tree T ∗ ̸= T fulfilling the desired property, and compare it,
and its cost, to a second cheapest spanning tree T̃ ̸= T not necessarily fulfilling the desired property.]
(c) (1 point) Using the results above, suggest an O( n2 ) algorithm that computes, for given MST T , a
second cheapest spanning tree T ′ ̸= T . Briefly argue about correctness and computation time.

Exercise 1 − 4 (Matroids, 5 points) Prove or disprove that the following independence systems are
matroids. No need to verify that these are independence systems. Only prove or disprove the matroid
property.

(a) Let G = (V, E) be a directed graph2 . A branching B ⊆ E of G is a subset of the edges of G so that
there is at most one ingoing edge for each vertex v ∈ V , and moreover, the corresponding undirected
(multi-)graph 3 Gu (B) := (V, {{u, v} | (u, v) ∈ B}) is acyclic. (As two parallel edges between u, v ∈ V
are a cycle, too, that implies that not both (u, v) and (v, u) can be in B.)
Let M = (E, I), where I = {B ⊆ E : B is a branching of G}.

(b) Given is an undirected graph G = (V, E). Then a subset F ⊆ V is called a stable set or independent
set of G if for all u, v ∈ F , we have that {u, v} ̸∈ E.
Let M = (V, I), where I = {F ⊆ V : F stable set of G}.
(c) Let G = (A ∪ B, E) be a bipartite graph.4 An A-sided matching of G is a subset F ⊆ E such that each
vertex v ∈ A has at most one edge from F incident to it, that is, |δ(v) ∩ F | ≤ 1.
Let M = (E, I), where I = {F ⊆ E : F is an A-sided matching of G}.

2 That means, between any two vertices u, v ∈ V , we may have two directed edges (u, v), (v, u) ∈ E, instead of one undirected

edge {u, v} ∈ E.
3 That means that two copies of the same edge {u, v} are allowed.
4 That means that A ∩ B = ∅, and each edge e ∈ E connects a vertex from A with a vertex from B, or in other words, for

all e ∈ E, |e ∩ A| = |e ∩ B| = 1.

You might also like