CS 121 Homework Zero: Fall 2019: Course Syllabus
CS 121 Homework Zero: Fall 2019: Course Syllabus
1
Questions
Please solve the following problems. Some of these might be harder than the
others, so don’t despair if they require more time to think or you can’t do them
all. Just do your best. Also, you should only attempt the bonus questions if
you have the time to do so. If you don’t have a proof for a certain statement,
be upfront about it. You can always explain clearly what you are able to prove
and the point at which you were stuck. Also, for a non bonus question, you can
always simply write “I don’t know” and you will get 15 percent of the credit
for this problem.
The Piazza board for this course will be active even before the course starts. If
you are stuck on this problem set, you can use Piazza to send a private message
to all instructors under the e-office-hours folder.
This problem set has a total of 50 points and 11 bonus points. A grade of
50 or more on this problem set is considered a perfect grade. If you get stuck
in any questions, you might find the resources in the CS 121 background page
helpful.
Problem 0 (5 points): Read fully the Mathematical Background Chap-
ter ( pdf format html format ) from the textbook on the website https://intr
otcs.org. This is probably the most important exercise in this problem set!!
Solution 0: (Write “I certify that I fully read the mathematical background
chapter”.)
2
Question 3: In this question, you need to describe in words sets that are
defined using a formula with quantifiers. For example, the set 𝑆 = {𝑥 ∈ ℕ ∶
∃𝑦∈ℕ 𝑥 = 2𝑦} is the set of even numbers.
Question 3.1 (3 points): Describe in words the following set 𝑆:
Solution 3.2:
Question 4: This question deals with sets, their cardinalities, and one to one
and onto functions. You can cite results connecting these notions from the
course’s textbook, MIT’s “Mathematics for Computer Science” or any other
discrete mathematics textbook.
Question 4.1 (4 points): Define 𝑆 = {0, 1}6 and 𝑇 as the set
{𝑛 ∈ [100] | 𝑛 is prime }. Prove or disprove: There is a one to one
function from 𝑆 to 𝑇 .
Solution 4.1:
Question 4.2 (4 points): Let 𝑛 = 100, 𝑆 = [𝑛] × [𝑛] × [𝑛] and 𝑇 = {0, 1}𝑛 .
Prove or disprove: There is an onto function from 𝑇 to 𝑆.
Solution 4.2:
3
Question 4.3 (4 points): Let 𝑛 = 100, let 𝑆 = {0, 1}𝑛 and 𝑇 be the set of
all functions mapping {0, 1}𝑛 to {0, 1}. Prove or disprove: There is a one to
one function from 𝑆 to 𝑇 .
Solution 4.3:
Question 5.1 (5 points): Prove that for every finite sets 𝐴, 𝐵, 𝐶, |𝐴∪𝐵∪𝐶| ≤
|𝐴| + |𝐵| + |𝐶|.
Solution 5.1:
Question 5.2 (5 points bonus): Prove that for every finite sets 𝐴, 𝐵, 𝐶,
|𝐴 ∪ 𝐵 ∪ 𝐶| ≥ |𝐴| + |𝐵| + |𝐶| − |𝐴 ∩ 𝐵| − |𝐵 ∩ 𝐶| − |𝐴 ∩ 𝐶|.
Solution 5.2:
3
Graphs
Thee following two questions assume familiarity with basic graph theory. If you
need to look up or review any terms, the CS 121 background page contains
several freely available online resources on graph theory. This material also
appears in Chapters 13,14,16 and 17 of the CS 20 textbook “Essential Discrete
Mathematics for Computer Science” by Harry Lewis and Rachel Zax.
Question 6.1 (5 points): Prove that if 𝐺 is a directed acyclic graph (DAG)
on 𝑛 vertices, if 𝑢 and 𝑣 are two vertices of 𝐺 such that there is a directed path
of length 𝑛 − 1 from 𝑢 to 𝑣 then 𝑢 has no in-neighbors.1
Solution 6.1:
Question 6.2 (5 points): Prove that for every undirected graph 𝐺 of 1000
vertices, if every vertex has degree at most 4, then there exists a subset 𝑆 of at
least 200 vertices such that no two vertices in 𝑆 are neighbors of one another.
Solution 6.2:
Big-O Notation
Question 7: For each pair of functions 𝑓, 𝑔 below, state whether or not 𝑓 =
𝑂(𝑔) and whether or not 𝑔 = 𝑂(𝑓).
Question 7.1 (3 points): 𝑓(𝑛) = 𝑛(log 𝑛)3 and 𝑔(𝑛) = 𝑛2 .
Solution 7.1:
Question 7.2 (3 points): 𝑓(𝑛) = 𝑛log 𝑛 and 𝑔(𝑛) = 𝑛2 .
Solution 7.2:
𝑛
Question 7.3 (3 points bonus): 𝑓(𝑛) = (⌈0.2𝑛⌉ ) (where (𝑛𝑘) is the number of
𝑘-sized subsets of a set of size 𝑛) and 𝑔(𝑛) = 20.1𝑛 .2
Solution 7.3:
1 Hint: You can use the topological sorting theorem shown in the mathematical background
chapter.
2 Hint: one way to do this is to use Stirling’s approximation.