(4) What Are the Mathematics Needed for Pursuing a PhD in Theoretical Computer Science and...

4

Click here to load reader

Transcript of (4) What Are the Mathematics Needed for Pursuing a PhD in Theoretical Computer Science and...

Page 1: (4) What Are the Mathematics Needed for Pursuing a PhD in Theoretical Computer Science and Specifically in Algorithm Research_ - Quora

8/17/2019 (4) What Are the Mathematics Needed for Pursuing a PhD in Theoretical Computer Science and Specifically in Algo…

http://slidepdf.com/reader/full/4-what-are-the-mathematics-needed-for-pursuing-a-phd-in-theoretical-computer 1/4

4/28/2016 (4) What are the mathematics needed for pursuing a PhD in Theoretical Computer Science and specifically in algorithm r…

https://www.quora.com/What-are-the-mathematics-needed-for-pursuing-a-PhD-in-Theoretical-Computer-Science-and-specifically-… 1/4

+3

What are the mathematics needed for pursuing a PhD in

Theoretical Computer Science and specifically in

algorithm research?I appreciate all the answers and I hope a PhD student who actually works in that area

would answer the question. I'd also like to know about the more specific topics for eachbranch of mathematics like for example the Monte Carlo method in Probability theory

mentioned by Obinna.

There's more on Quora...

Pick new people and topics to follow and see the

best answers on Quora.

Update Your Interests

How do I begin research in theoretical computer

science?

If one wants to pursue an essentially theoretical

computer science field, should he do the Mathematics

Subject GRE or the Computer Science one...

What are some interesting topics to pursue in

computer science research?

What are the best universities/faculty for a PhD in

theoretical computer science?

What courses/topics can I teach myself frommaths/physics/theoretical computer science while

pursuing graduate studies in computational neuros...

What are current research areas/problems in

Theoretical Computer Science?

Can you help me decide whether I should get a PhD

in theoretical computer science?

Wrt specific to Computer Science, what is a PhD and

generally what does completing one entail?

What universities are best for pursuing a PhD in

computer science in the US?

Would it be better to major in math or computer

science if one wants to do research in theoreticalcomputer science?

More Related Questions

PhD in Computer Science Computer Science Research

Answer Follow 92 Comment Share DownvoteRequest

8 Ans wers

It varies by your specific topic. I study graph algorithms (in particular, distance sensitivity oracles)

and none of the papers I'm reading use sophisticated math. The most they use is some standardtechniques involving Chernoff bounds* and high-school level probability.

That being said, it's good to have as extensive a math background as possible, since the ideas from

math may inspire your research results.

* I didn't know these before I started, but it was easy to look them up.

Written Apr 27, 2014 • View Upvotes

Jessica Su, Stanford algorithms TA

7.6k Views • Upvoted by Jeff Nelson, Invented Chromebook. Former Googler. and Karthik

Abinav, PhD student in Computer Science from UMD

Most Viewed Writer in Computer Science Research

Upvote Downvote Comments 2+89

EDIT - I recently created a blog on Quora where I post videos related to TCS. You might find it

useful. See Video Lectures In Theoretical Computer Science

If you take a look at STOC, FOCS and SODA papers, one math topic that will probably stand out is

Probability theory. Probability is widely used in theoretical computer science research. I don't

mean elementary probability covered in undergraduate courses, I mean more advanced topics like

monte-carlo, markov chains, martingales, e.t.c. See these books: Randomized Algorithms and

Probability and Computing

Obviously, Linear Algebra, Combinatorics, Graph theory, Data Structures, Combinatorial

Optimization, Approximation Algorithms, Computational Complexity Theory are a must-

learn. Depending on the area you are going into, you might also be interested in topics like Discrete

and Computational Geometry.

Apart from those mentioned above, other useful math topics are:

Note that they are listed in order of importance (in my opinion).

Obinna Okechukwu, Knows a little about algorithms

3.6k Views • Obinna has 30+ answers in Algorithms

1. Abstract Algebra

2. Game Theory

3. Circuit Complexity

4. Matroid Theory

5. Lattice Theory

6. Set Theory

7. Number Theory

8. Algebraic Geometry

Related Questions

Question Stats

92 Followers

18,197 Views

Last Asked Jun 29, 2015

Edits

Ask QuestionAsk or Search Quora Read Answer Notifications Dervin4

Page 2: (4) What Are the Mathematics Needed for Pursuing a PhD in Theoretical Computer Science and Specifically in Algorithm Research_ - Quora

8/17/2019 (4) What Are the Mathematics Needed for Pursuing a PhD in Theoretical Computer Science and Specifically in Algo…

http://slidepdf.com/reader/full/4-what-are-the-mathematics-needed-for-pursuing-a-phd-in-theoretical-computer 2/4

4/28/2016 (4) What are the mathematics needed for pursuing a PhD in Theoretical Computer Science and specifically in algorithm r…

https://www.quora.com/What-are-the-mathematics-needed-for-pursuing-a-PhD-in-Theoretical-Computer-Science-and-specifically-… 2/4

Basically, any math you can pick up along the way will help you a lot. The more math you are able

to learn, the better for you.

Disclaimer - I am an undergraduate student, and not a phd student, so my answer might not be

totally correct. I hope some phd student can make some corrections to this answer.

Updated Mar 15, 2014 • View Upvotes

Upvote Downvote Comment32

Probability is used a lot, over and over again. There is a lot of linear algebra (ring, field theory) in

Cryptography, and Quantum. There is quite a bit of calculus, but also very specific tricks. Theory

CS uses a lot of math, but the skills are more of a specific kind. Being a Math major in a TCS PhD,

I feel inadequate most of the time because the pure math subjects I know, aren't directly applied

anywhere. They however help me to learn the math tools used in TCS faster and better.

Written Jan 19, 2014 • View Upvotes • Answer requested by Anurag Bishnoi

Shikha Singh, Pursuing a PhD in Computer Science3.6k Views • Upvoted by Jessica Su, CS PhD student at Stanford and Karthik Abinav, PhD

student in Computer Science from UMD

Upvote Downvote Comment 131

One that I haven't seen mentioned, but is very handy to know something about:

Convex analysis and optimization.

A surprisingly large fraction of computer science (both upper and lower bounds) can be framed as

instantiations of convex optimization problems, or invocations of the min-max theorem or another

form of duality. (e.g. the classic min-cut = max-flow theorem, Yao's min-max principle for proving

lower bounds on randomized algorithms, the equivalence of weak and strong learnability, the hard

core lemma in complexity theory, and many other things are really just applications of Lagrangian

duality)

Also, as others have said, probability is a workhorse... If you want to learn the most relevant stuff, I

recommend the book "Concentration of Measure for the Analysis of Randomized Algorithms" by

Dubhashi and Panconesi.

Written Oct 14, 2014 • View Upvotes

Aaron Roth, I am a professor of theoretical computer science.

1.8k Views • Upvoted by Jessica Su, CS PhD student at Stanford and Justin Rising

Upvote Downvote Comment21

The three pillars of TCS ( at least the math part ) are

As you grow as a researcher you pick up other different topics befitting your orientation. They are

not must but they will immensely help you. Most of the topics are already mentioned in Obinna's

answer.

Written Jan 28, 2014 • View Upvotes

Sagnik Mukhopadhyay, PhD In Theoretical Computer Science, TIFR

1.8k Views

1. Probability. You need to have good idea about Markov chains, CLT, convergence and if

possible, martingales. But I seldom saw application of continuous measures in the TCS.

2. Linear algebra. I cannot emphasis more. This is a must. Probability is used mainly as a tool set

for analysis, but linear algebra, more of than not, gives you idea of improvement.

3. Combinatorics. Classic and vintage. And used left and right in almost all the legs of TCS.

Upvote Downvote Comment38

I'm doing my PhD in theoretical CS, studying solution algorithms for stochastic games. I need lots

and lots of mathematics. Here is roughly a list of topics that I use:

Clemens Wiltsche, PhD at Oxford in Computer Science, Game Theory

1k Views

Game theory :-)

Linear algebra

Geometry

Boolean algebra

Measure theory and probability theory

Page 3: (4) What Are the Mathematics Needed for Pursuing a PhD in Theoretical Computer Science and Specifically in Algorithm Research_ - Quora

8/17/2019 (4) What Are the Mathematics Needed for Pursuing a PhD in Theoretical Computer Science and Specifically in Algo…

http://slidepdf.com/reader/full/4-what-are-the-mathematics-needed-for-pursuing-a-phd-in-theoretical-computer 3/4

4/28/2016 (4) What are the mathematics needed for pursuing a PhD in Theoretical Computer Science and specifically in algorithm r…

https://www.quora.com/What-are-the-mathematics-needed-for-pursuing-a-PhD-in-Theoretical-Computer-Science-and-specifically-… 3/4

It is always useful to have a large set of tools in mind. The key, however, is to know how to use the

tools from mathematics. First, one needs to know how to write down a formal proof. For example,

in natural language it is easy to mess up the order of quantifiers, so every step has to be very

carefully stated. Then, of course the proof itself needs to be found. This is the part where research

comes in, because it requires insight. Then proofs look a bit like this: (from Abstruse Goose |

Obvious , CC BY-NC 3.0 US)

Written Sep 30, 2015 • View Upvotes

Optimisation and convex analysis

Topology

Descriptive set theory

Complexity theory

Graph theory

Upvote Downvote Comment6

It really varies tremendously depending on what you're going to study.

Background: I'm currently waiting for my adviser to approve my PhD dissertation; if he does I'll be

defending in a few weeks. My research is in graph algorithms. Prior to my PhD I did a research-

based Master's, also in the area of graph theory.

As an undergrad, I had quite a bit of math - since my major was computer science, I was pretty

much required to minor in math. Since I started grad school, I've used algebra, graph theory, and

logarithms.

That's it. I did take a few semesters of combinatorics and audited linear algebra, but I never actually

used them for my research (although a few problems from my combinatorics class did come up inmy phd-level algorithms class). Since my specialty is algorithms, I needed to be able to calculate

runtimes, which requires basic algebra and logarithms, and since I'm specifically working on graph

algorithms I obviously needed to know graph theory. If you don't understand big-Oh notation, sit

down with Cormen et al until you do; you MUST understand how asymptotic runtime works.

But even if it's not directly applicable, what about background material? No matter what topic you

choose, you need to know how to do mathematical proof. That means you need to take discrete

math - it might have another name (my undergraduate university originally called it Algorithms) but

it'll be a course that teaches you how to do proofs. The class that was responsible for me deciding to

go to grad school (and which I later ended up teaching for three years) is Foundations of Computer

Science, which covers finite automata, Turing machines, etc, but most importantly teaches you to

prove things, and more importantly, how NOT to "prove" things - how to a avoid sloppy thinking.

So definitely start by learning to do proofs. After that, find a professor who specializes in the areayou'd like to work in, and ask him or her what kind of background you need. Theoretical computer

science is a huge field, and it's not possible for you to have the background for everything - find out

what you're interested in and specialize.

But understand algebra, algorithms. and proofs.

William Springer, PhD in Computer Science, former TA for Foundations ofComputer Science, author

1.1k Views

Page 4: (4) What Are the Mathematics Needed for Pursuing a PhD in Theoretical Computer Science and Specifically in Algorithm Research_ - Quora

8/17/2019 (4) What Are the Mathematics Needed for Pursuing a PhD in Theoretical Computer Science and Specifically in Algo…

http://slidepdf.com/reader/full/4-what-are-the-mathematics-needed-for-pursuing-a-phd-in-theoretical-computer 4/4

4/28/2016 (4) What are the mathematics needed for pursuing a PhD in Theoretical Computer Science and specifically in algorithm r…

https://www.quora.com/What-are-the-mathematics-needed-for-pursuing-a-PhD-in-Theoretical-Computer-Science-and-specifically-… 4/4

3 Answers Collapsed (Why?)

Written Oct 14, 2014 • View Upvotes

Upvote Downvote Comment 16

I'd say: U have to necessarily know EVERYTHING in

. If not at the start of your PhD, you MUST be familiar with the contents of all the chapters

in this book at least an year into your PhD.

This book is the first step towards any study in Algorithms / Theoretical Computer Science and is

followed by professors in most part of the world.

The book extensively covers:

Besides, if any of the polynomial algorithms that you came across in your undergrad has urged to

do your PhD, be aware that most tractable algorithms have already been found and it is immensely

hard to get any work published in the area of polynomial-time algorithms - unless of course

someone proves P=NP and throws the whole field wide open, crashing sooo many cryptographic

algorithms based out of this premise.

Current areas of work in Theory may include combinatorial optimization, randomized schemes,

approximation algorithms, parameterized complexity etc.

Written Jan 18, 2014 • View Upvotes

Anonymous

580 Views

Introduction to Algorithms: Thomas H.

Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein: 9780262033848: Amazon.com:

Books

Asymptotic analysis

Sorting algorithms

Lower bound analysis

Dynamic programming

Greedy algorithms

Basic graph algorithms (shortest paths, spanning trees etc.)

Network flow (ford-fulkerson, edmond-karp etc)

Basic + advanced data structures including red-black trees, fibonacci and binomial heaps.

Amortized analysis.

Number theoretic algorithms (chinese remainder, euclid types)

Basic notion of NP-Completeness, reductions and approximation algorithms.

Geometric algorithms (convex hull etc.)

Upvote Downvote Comment 14

Top Stories from Your Feed

Answer written • Apr 21

Who is the smartest human being

that's ever lived?

Angelino Desmet, Philomath

811.4k Views • Upvoted by John

Lagoutaris, SAT 99th percentile and

Debojyoti Das, Avid Reader of History and

Controversy.

Popular on Quora

What happens if you stop using

shampoo on your hair for a year?

'

Wendi Tibbets, Unhairy person, with

quite the head of hair.

504.7k Views

Popular on Quora

Which country is the most difficult

to invade?

Sam Montgomery, I live in a Country

and am a citizen of two.

242k Views • Most Viewed Writer in

Countries

Read In Feed Read In Feed Read In Feed