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

pgcs2015

The document outlines the entrance examination for the M.Sc. / Ph.D. Programme in Computer Science at Chennai Mathematical Institute, held on May 18, 2015. It consists of two parts: Part A with 10 questions worth 3 marks each and Part B with 7 questions worth 10 marks each, totaling 100 marks. The questions cover various topics in mathematics and computer science, including twin primes, graph theory, algorithms, and language theory.

Uploaded by

Kshitij Soni
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views

pgcs2015

The document outlines the entrance examination for the M.Sc. / Ph.D. Programme in Computer Science at Chennai Mathematical Institute, held on May 18, 2015. It consists of two parts: Part A with 10 questions worth 3 marks each and Part B with 7 questions worth 10 marks each, totaling 100 marks. The questions cover various topics in mathematics and computer science, including twin primes, graph theory, algorithms, and language theory.

Uploaded by

Kshitij Soni
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

CHENNAI MATHEMATICAL INSTITUTE

M.Sc. / Ph.D. Programme in Computer Science


Entrance Examination, 18 May 2015

This question paper has 5 printed sides. Part A has 10 questions of 3 marks each. Part B has
7 questions of 10 marks each. The total marks are 100. Answers to Part A must be filled in
the answer sheet provided.

Part A
1. Twin primes are pairs of numbers p and p+2 such that both are primes—for instance, 5
and 7, 11 and 13, 41 and 43. The Twin Prime Conjecture says that there are infinitely
many twin primes.
Let TwinPrime(n) be a predicate that is true if n and n+2 are twin primes. Which
of the following formulas, interpreted over positive integers, expresses that there are
only finitely many twin primes?

(a) ∀m. ∃n. m ≤ n and not(TwinPrime(n))


(b) ∃m. ∀n. n ≤ m implies TwinPrime(n)
(c) ∀m. ∃n. n ≤ m and TwinPrime(n)
(d) ∃m. ∀n. TwinPrime(n) implies n ≤ m

2. A binary relation R ⊆ (S × S) is said to be Euclidean if for every a, b, c ∈ S, (a, b) ∈ R


and (a, c) ∈ R implies (b, c) ∈ R. Which of the following statements is valid?

(a) If R is Euclidean, (b, a) ∈ R and (c, a) ∈ R, then (b, c) ∈ R, for every a, b, c ∈ S.


(b) If R is reflexive and Euclidean, (a, b) ∈ R implies (b, a) ∈ R, for every a, b ∈ S.
(c) If R is Euclidean, (a, b) ∈ R and (b, c) ∈ R, then (a, c) ∈ R, for every a, b, c ∈ S.
(d) None of the above.

3. Suppose each edge of an undirected graph is coloured using one of three colours —
red, blue or green. Consider the following property of such graphs: if any vertex is
the endpoint of a red coloured edge, then it is either an endpoint of a blue coloured
edge or not an endpoint of any green coloured edge. If a graph G does not satisfy this
property, which of the following statements about G are valid?

(a) There is a red coloured edge.


(b) Any vertex that is the endpoint of a red coloured edge is also the endpoint of a
green coloured edge.
(c) There is a vertex that is not an endpoint of any blue coloured edge but is an
endpoint of a green coloured edge and a red coloured edge.
(d) (a) and (c).

1
4. A college prepares its timetable by grouping courses in slots A, B, C, . . . All courses in a
slot meet at the same time, and courses in different slots have disjoint timings. Course
registration has been completed and the administration now knows which students
are registered for each course. If the same student is registered for two courses, the
courses must be assigned different slots. The administration is trying to compute the
minimum number of slots required to prepare the timetable.
The administration decides to model this as a graph where the nodes are the courses
and edges represent pairs of courses with an overlapping audience. In this setting, the
graph theoretic question to be answered is:

(a) Find a spanning tree with minimum number of edges.


(b) Find a minimal colouring.
(c) Find a minimum size vertex cover.
(d) Find a maximum size independent set.

5. An undirected graph has 10 vertices labelled {1, 2, . . . , 10} and 37 edges. Vertices
1, 3, 5, 7, 9 have degree 8 and vertices 2, 4, 6, 8 have degree 7. What is the degree of
vertex 10?
(a) 5 (b) 6 (c) 7 (d) 8

6. Suppose we have constructed a polynomial time reduction from problem A to problem


B. Which of the following can we infer from this fact?

(a) If the best algorithm for B takes exponential time, there is no polynomial time
algorithm for A.
(b) If the best algorithm for A takes exponential time, there is no polynomial time
algorithm for B.
(c) If we have a polynomial time algorithm for A, we must also have a polynomial
time algorithm for B.
(d) If we don’t know whether there is a polynomial time algorithm for B, there cannot
be a polynomial time algorithm for A.

7. You arrive at a snack bar and you can’t decide whether to order a lime juice or a lassi.
You decide to throw a fair 6-sided die to make the choice, as follows.

• If you throw 2 or 6 you order a lime juice.


• If you throw a 4, you order a lassi.
• Otherwise, you throw the die again and follow the same algorithm.

What is the probability that you end up ordering a lime juice?


1 1 2 3
(a) 3
(b) 2
(c) 3
(d) 4

2
8. How many times is the comparison i ≥ n performed in the following program?

int i=85, n=5;


main() {
while (i >= n) {
i=i-1;
n=n+1;
}
}

(a) 40 (b) 41 (c) 42 (d) 43

9. Let L1 and L2 be languages over an alphabet Σ such that L1 ⊆ L2 . Which of the


following is true:

(a) If L2 is regular, then L1 must also be regular.


(b) If L1 is regular, then L2 must also be regular.
(c) Either both L1 and L2 are regular, or both are not regular.
(d) None of the above.

10. The school athletics coach has to choose 4 students for the relay team. He calculates
that there are 3876 ways of choosing the team if the order in which the runners are
placed is not considered. How many ways are there of choosing the team if the order
of the runners is to be taken into account?
(a) Between 12,000 and 25,000 (b) Between 30,000 and 60,000
(c) Between 75,000 and 99,999 (d) More than 100,000

3
Part B
1. Let Σ = {a, b}. Given a language L ⊆ Σ∗ and a word w ∈ Σ∗ , define the languages:

Extend(L, w) := { xw | x ∈ L }
Shrink(L, w) := { x | xw ∈ L }

Show that if L is regular, both Extend(L, w) and Shrink(L,w) are regular.

2. Consider a social network with n persons. Two persons A and B are said to be
connected if either they are friends or they are related through a sequence of friends:
that is, there exists a set of persons F1 , . . . , Fm such that A and F1 are friends, F1 and
F2 are friends, . . . , Fm−1 and Fm are friends, and finally Fm and B are friends.
It is known that there are k persons such that no pair among them is connected. What
is the maximum number of friendships possible?

3. A cook has a kitchen at the top of a hill, where she can prepare rotis. Each roti costs
one rupee to prepare. She can sell rotis for two rupees a piece at a stall down the hill.
Once she goes down the steep hill, she can not climb back in time make more rotis.

(a) Suppose the cook starts at the top with R rupees. What are all the possible
amounts of money she can have at the end?
(b) Suppose the cook can hitch a quick ride from her stall downhill back to the kitchen
uphill, by offering a paan to a truck driver. If she starts at the top with P paans
and 1 rupee, what is the minimum and maximum amount of money she can have
at the end?

4. You are given n positive integers, d1 ≤ d2 ≤ . . . ≤ dn , each greater than 0. Design


a greedy algorithm to test whether these integers correspond to the degrees of some
n-vertex simple undirected graph G = (V, E). (A simple graph has no self-loops and
at most one edge between any pair of vertices.)

5. An airline runs flights between several cities of the world. Every flight connects two
cities. A millionaire wants to travel from Chennai to Timbuktu by changing at most
k − 1 flights. Being a millionaire with plenty of time and money, he does not mind
revisiting the same city multiple times, or even taking the same flight multiple times
in his quest. Can you help the millionaire by describing how to compute the number
of ways he can make his journey? How many steps does your procedure take if there
are n cities and he can change flights at most k − 1 times. You can assume that the
procedure can add or multiply two numbers in a single operation.

4
6. Consider the code below, defining the functions f and g:

f(m, n) {
if (m == 0) return n;
else {
q = m div 10;
r = m mod 10;
return f(q, 10*n + r);
}
}

g(m, n) {
if (n == 0) return m;
else {
q = m div 10;
r = m mod 10;
return g(f(f(q, 0), r), n-1);
}
}

(a) Compute g(3, 7), g(345, 1), g(345, 4) and g(345, 0).
(b) What does g(m, n) compute, for nonnegative numbers m and n?
(c) How much time does it take to compute f (m, n) and g(m, n)?

7. There is a thin, long and hollow fibre with a virus in the centre. The virus occasionally
becomes active and secretes some side products. The fibre is so thin that new side
products secreted by the virus push the old products along the fibre towards its ends.
The possible actions of the virus are as follows

(a) Produce an acid molecule to its left and a base molecule to its right.
(b) Produce a base molecule to its left and an acid molecule to its right.
(c) Divide into two viruses, each of which continues to behave like its ancestor.
(d) Die.

You are given a sequence of acid and base molecules from one end of the fibre to the
other end. Design an algorithm to check if a single virus could possibly have produced
the given sequence. Use dynamic programming, checking smaller subsequences before
checking bigger subsequences.

You might also like