Science Coffee HouseA science and mathematics enthusiast club
http://13.127.158.59:4000//
Roth's Theorem<p>Roth’s theorem is a special case of Szemeredi’s theorem, which loosely states that every dense enough subset of the integers must have a non-trivial arithmetic progression of length 3. In this talk, the speaker covered the historical background for this theorem and its many proofs, and discussed some proof ideas.</p>
<p>A detailed and more formal version of the proof demonstrated in the talk can be found <a href="https://anuragsahay.github.io/mth392.pdf">here</a>.</p>
<p>Unfortunately, no video recording is available for this talk.</p>
Thu, 25 Jan 2018 18:52:00 +0000
http://13.127.158.59:4000//2018/01/25/roth/
http://13.127.158.59:4000//2018/01/25/roth/Quanta on Quantum Computation<p>I am currently working on quantum complexity, with a working title of ‘adversarial and polynomial methods in quantum query complexity’. If I come across something interesting, I plan to write on it as I guess it will sharpen my understanding of things, and maybe you, the reader, will find it cool too. This is meant as an introduction to the field itself.</p>
<p>Some background, then. Quantum computing can be said to have begun with Feynman thinking about the difficulty of simulating quantum systems on a classical computer, a difficulty arising out of the form of the governing equations. The question is that, if nature can achieve a (classical) computationally difficult task while evolving the world quantum mechanically, <strong>can we harness the power to accomplish some tasks quicker than what we can do with classical computers?</strong></p>
<p>Now, David Deutsch came up with a problem in 1985, that he showed could be solved by quantum computers faster than any classical algorithm, (Deutsch’s problem). This sparked some interest in the field, which increased when in 1992, Deutsch and Richard Jozsa gave a variation of the problem (Deutsch-Jozsa problem) and an algorithm to solve the problem that gave a stronger separation between classical and quantum computers (look at the appendix for more). This provided inspiration for some truly groundbreaking work later in the decade, with Shor’s factoring algorithm and Grover’s unstructured search algorithm, that provided clear separations between classical and quantum algorithms in problems of great practical importance.</p>
<p>The original question, however, has proved a little difficult to answer. Quantum algorithms like Grover’s and Shor’s, have been proposed that are faster than any known classical algorithm but we cannot just yet say that quantum computers are in general ‘better’ than classical computers. There are some questions that need to be answered first.</p>
<p>So, what are these questions?</p>
<p>First, the model. Many of the better known statements about ‘running-time’ of algorithms in classical computing depend on something called the Turing Machine model, but ‘running-time’ of quantum algorithms is different from the classical concept. Then, comparing between the two is like comparing apples and oranges. Not quite, though, because the oracle model can be used to prove certain lower bounds about the same problem in the Turing machine model, but we must at least be careful when making statements like ‘Problem X is easier on a quantum computer than a classical computer’.</p>
<p>There’s another model issue here. The laws of quantum mechanics forbid the perfect copying of an arbitrary quantum state (<em>the no-cloning theorem</em>), which is obviously not true classically (think of where these words came from!<sup id="fnref:1"><a href="#fn:1" class="footnote">1</a></sup>). This therefore does place a restriction on the sort of things we are allowed to do. Also, quantum computing must be <em>reversible</em> in the absence of measurements, which is not necessary for classical computation, but this can be shown to not make much of a difference in the conclusions that can be drawn (I am skipping several details here though!).</p>
<blockquote>
<p><strong>Aside #1 - The Turing Machine Model -</strong> The Turing Machine model is an abstraction of what we mean by a classical computer running an algorithm. We endow a computer with infinite memory (certainly an abstraction!), in the form of a tape. This tape is segmented into boxes, and initially has the input on it, in the form of symbols in the boxes. It is fed to the Turing Machine, which then moves around on and manipulates symbols on the tape according to certain rules (the algorithm). When it stops, the tape is said to hold the output of the algorithm. This can be taken to be the most basic description of what an algorithm <em>means</em>. This was a revolutionary concept introduced by Alan Turing that changed the way we think about computation, and has wide ranging implications in computer science and mathematics. Running time of algorithms in this model is defined as the number of steps taken for the algorithm to stop. There are simplifications here, of course. For example, what if the algorithm doesn’t stop? Since this isn’t a course, I will pretend I didn’t notice that!</p>
</blockquote>
<blockquote>
<p><strong>Aside #2 - The Oracle Model -</strong> The Query model is a different type of model of computation. Here, we don’t assume the input to be given to the computer. However, the computer has access to an oracle, to which it can query the value of specific bits in the input. For example, if the input is a sequence of <script type="math/tex">100</script> <script type="math/tex">0</script>’s and <script type="math/tex">1</script>’s, the computer may ask the value of the <script type="math/tex">61</script><sup>st</sup> number in the sequence. This is, however, the classical version, and in the quantum version we can use a superposition of queries to ‘query’ multiple bits at the same time. Again, I have ignored subtleties (‘Does that mean we can learn everything about all the input bits at once?’).</p>
</blockquote>
<p>Treating quantum computing in the Turing Machine model is difficult (proof by authority, bigger people think so!), so for the time being let’s talk about classical computing also in the query model. Now can we compare classical and quantum computers? Let’s first see an example.</p>
<p>Suppose there’s a string of bits (<script type="math/tex">0</script>’s and <script type="math/tex">1</script>’s), of length <script type="math/tex">n</script>. You only know that there are just two possibilities, either all the bits are <script type="math/tex">0</script> or there is just one <script type="math/tex">1</script>. You need to tell which one it is. Classically, we need to look at all the bits in the string, because we don’t know where the <script type="math/tex">1</script> is, which seems intuitively true <sup id="fnref:2"><a href="#fn:2" class="footnote">2</a></sup>. So we require about n queries to the oracle to answer the question (this can be mathematically proven). However, ‘quantumly’ (and this is Grover’s algorithm), we can show that only about <script type="math/tex">O(\sqrt{n})</script> queries are sufficient. In this case, then, we know that the quantum algorithm is better.</p>
<p>Now think of a hypothetical example, where we have an algorithm that does better than any known classical algorithm, but it hasn’t been proven that there cannot exist a classical algorithm that can do better. Here, we cannot conclude that a quantum computer is better! This is an issue with a certain class of problems called the hidden subgroup problem, which is too technical to discuss here.</p>
<p>Another question can now arise : Can a quantum algorithm do better than Grover’s search given the same problem?</p>
<p>These are questions that <strong>quantum complexity theory</strong> basically seeks to answer. For example, given a problem (like the search problem mentioned above), what is a lower bound on the number of queries to an oracle that is required to solve the problem? An answer to a question like this allows us to determine in some sense ‘the best we can do’ to solve a given problem, and I find it pretty interesting! Answering this question for more and more problems is one of the ultimate aims for research in the area and I hope to make some contributions in the effort :D</p>
<h4 id="appendix---deutschs-problem">Appendix - Deutsch’s problem</h4>
<p>The Deutsch’s problem is the following.</p>
<blockquote>
<p>Given a function <script type="math/tex">f : \{0,1\} \rightarrow \{0,1\}</script>, and the promise that the function is either constant (same for both <script type="math/tex">0</script> and <script type="math/tex">1</script>) or balanced (<script type="math/tex">0</script> for <script type="math/tex">1</script> and <script type="math/tex">1</script> for <script type="math/tex">0</script> or vice versa), tell which of the two possibilities is actually the case. Since we want the computation to be reversible and without any arbitrary copying, we consider a black-box that takes two inputs, <script type="math/tex">x</script> and <script type="math/tex">y</script>, and outputs <script type="math/tex">x</script> and <script type="math/tex">f(x) \oplus y</script>. Here <script type="math/tex">\oplus</script> is the classical XOR (<script type="math/tex">1</script> if <script type="math/tex">x</script> and <script type="math/tex">y</script> are different, <script type="math/tex">0</script> otherwise). It can easily be checked that this is reversible (given the outputs, we can uniquely arrive at the inputs).</p>
</blockquote>
<p>What is the quantum and classical solution for this problem? Classically, we need to use the black-box twice, but quantumly we can do it in one use! How? There’s too much background that I need to get into to provide a sensible answer to that here, so I will take the easy way out and refer you <a href="https://www.cse.iitk.ac.in/users/rmittal/prev_course/f17/reports/intro.pdf">here</a> for details. It is a link to the lecture notes from the very first lecture of a course (that I did!) on Quantum Computation by Dr Rajat Mittal (Computer Science and Engineering, IIT-Kanpur), and should be accessible to most readers!</p>
<hr />
<div class="footnotes">
<ol>
<li id="fn:1">
<p>Shamelessly quoting the Bible of Quantum Computation, Nielsen-Chuang! <a href="#fnref:1" class="reversefootnote">↩</a></p>
</li>
<li id="fn:2">
<p>For an example where even classically you do not need to look at everything, consider a problem where you are given a binary string of length n, and you know that it is <em>sorted</em>, ie all zeros appear at the beginning and all 1’s appear at the end. You need to find the position of the first 1. Classically, you only require only <script type="math/tex">O(\log{n})</script>, using binary search. <a href="#fnref:2" class="reversefootnote">↩</a></p>
</li>
</ol>
</div>
Sun, 21 Jan 2018 18:52:00 +0000
http://13.127.158.59:4000//2018/01/21/quantum-computation/
http://13.127.158.59:4000//2018/01/21/quantum-computation/Infinities and Infinitesimals<p>In our first talk by a faculty member this year, Prof Amit Kuber of the Department of Mathematics and Statistics, IIT Kanpur, introduced non-standard analysis, more specifically the concept of hyperreals. This allows us to formalize notions like infinity and infinitesimal numbers in analysis which often simplifies several proofs. It has been shown that these methods are equivalent to standard methods in analysis.</p>
<p>The only pre-requisites? Some knowledge of real numbers as taught in an introductory undergraduate level real analysis course (MTH101 here at IITK) and an open mind to learn more mathematics.</p>
Sat, 04 Nov 2017 18:52:00 +0000
http://13.127.158.59:4000//2017/11/04/infinities/
http://13.127.158.59:4000//2017/11/04/infinities/Goodstein's Theorem<p>More cool math! In the first talk by the newly entered Y17s, those in attendance were introduced to cardinality, ordinal numbers, all building up to a proof of Goodstein’s theorem. The abstract of the talk is given below.</p>
<blockquote>
<p>Can infinity be used to prove finitary results? Indeed sometimes it becomes necessary to use it. We’ll see how a set theoretic idea of infinite ordinals makes it possible to decipher the properties of a rather strange sequence of natural numbers.</p>
</blockquote>
Fri, 03 Nov 2017 18:52:00 +0000
http://13.127.158.59:4000//2017/11/03/goodstein/
http://13.127.158.59:4000//2017/11/03/goodstein/Solving Language and Solving AI<p>This talk focuses on drawing parallels between the problems in artificially generating/understanding natural languages and the problems in general AI tasks. The hypothesis of the talk is that if we can ‘solve’ natural language, we also cover a lot of ground in solving major AI problems. The talk mainly focuses on the main problems in AI - sensing and recognition, understanding and exploration, communication and dialogue, and strategy and hypothesis testing and how similar problems are also encountered when thinking about natural language processing.</p>
<p>Find an overview of the talk <a href="/resources/prannay_language-ai.pdf">here</a> along with slides of the <a href="/resources/lang_ai_pres.pdf">presentation</a>.</p>
Thu, 14 Sep 2017 18:52:00 +0000
http://13.127.158.59:4000//2017/09/14/language-ai/
http://13.127.158.59:4000//2017/09/14/language-ai/The Halting Problem<p>Why should we study the Halting Problem?
Because a lot of really practical problems are the halting problem in disguise. A solution to them solves the halting problem. Here are some examples.</p>
<ul>
<li>You want a compiler that finds the fastest possible machine code for a given program. Actually the halting problem.</li>
<li>You have JavaScript, with some variables at a high-security level, and some at a low-security level. You want to make sure that an attacker can’t get at the high-security information. This is also just the halting problem.</li>
<li>You have a parser for your programming language. You change it, but you want to make sure it still parses all the programs it used to. Actually the halting problem.</li>
<li>You have an anti-virus program, and you want to see if it ever executes a malicious instruction. Actually just the halting problem.
See more on the CS-StackExchange <a href="https://cs.stackexchange.com/a/32853">here</a>.</li>
</ul>
<p>The speaker introduced foundations of computability theory and recursive functions through this talk, finally building up to the halting problem.</p>
Fri, 18 Aug 2017 18:52:00 +0000
http://13.127.158.59:4000//2017/08/18/halting-problem/
http://13.127.158.59:4000//2017/08/18/halting-problem/And you thought you knew infinity<blockquote>
<p>‘Obvious’ is the most dangerous word in mathematics. [E. T. Bell]</p>
</blockquote>
<p>Keeping in mind the quote above, one should always remember that (especially in Mathematics) that something that appears obvious or even trivial may not be so easy after all. In this talk, the speaker gives an idea of why this is true, leading a tour through the concept of cardinality, sets and the well-known rational and real numbers, which turn out to be harbouring some hidden secrets.</p>
Sat, 12 Aug 2017 18:52:00 +0000
http://13.127.158.59:4000//2017/08/12/infinity/
http://13.127.158.59:4000//2017/08/12/infinity/