<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>polynomial-time on S Anand</title>
    <link>https://www.s-anand.net/blog/tag/polynomial-time/</link>
    <description>Recent content in polynomial-time on S Anand</description>
    <generator>Hugo -- 0.164.0</generator>
    <language>en-us</language>
    <lastBuildDate>Sat, 26 Oct 2002 12:00:00 +0000</lastBuildDate>
    <atom:link href="https://www.s-anand.net/blog/tag/polynomial-time/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Tetris is NP-Hard</title>
      <link>https://www.s-anand.net/blog/tetris-is-np-hard/</link>
      <pubDate>Sat, 26 Oct 2002 12:00:00 +0000</pubDate>
      <guid>https://www.s-anand.net/blog/tetris-is-np-hard/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://slashdot.org/article.pl?sid=02/10/24/2251234&amp;amp;mode=thread&amp;amp;tid=127&#34;&gt;Tetris is NP-Hard&lt;/a&gt;. Let me explain, in English, what that means.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The toughness of problems is how much time it takes to solve them.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Adding two 3-digit number takes less time than adding two 30-digit numbers, and hence is easier. Similarly, figuring out if a 3-digit number is prime or not is easier than a 30-digit number.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Some problems grow tough very quickly.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Adding two 30-digit numbers is 10-times slower than adding two 3-digit numbers. But checking if a 30-digit number is prime is &lt;strong&gt;several trillions&lt;/strong&gt; of times slower than checking a 3-digit number. That is because, to check if a number is prime, you need to repeatedly divide it by numbers smaller than it. For a 3-digit number, you need to divide by around 1,000 numbers. For a 30 digit number, it&amp;rsquo;s several trillions.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Problems that grow tough at a constant rate are &amp;lsquo;P&amp;rsquo;.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;What this means is: if you keep on doubling the number of digits, the problem repeatedly becomes twice as tough (or 3 times as tough, or whatever &amp;ndash; some constant rate). Adding of numbers is an example. (&amp;lsquo;P&amp;rsquo; stands for polynomial time.)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Problems that grow tough at a constant rate &lt;strong&gt;if you already know how to solve them&lt;/strong&gt; are &amp;lsquo;NP&amp;rsquo;.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;For instance, to check if a 30-digit number is a prime, you needn&amp;rsquo;t check with &lt;strong&gt;all numbers&lt;/strong&gt; below the number. You just need to check with &lt;strong&gt;all primes&lt;/strong&gt; below the number. That takes about 10-times as much time as for a 3-digit number. Hence, if you knew which primes were below the number, it would be &amp;lsquo;P&amp;rsquo;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&amp;lsquo;P&amp;rsquo; is a subset of &amp;lsquo;NP&amp;rsquo;.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The real question is, are there any problems that are &amp;lsquo;NP&amp;rsquo; and not &amp;lsquo;P&amp;rsquo;. That is, are there problems for which you &lt;strong&gt;really&lt;/strong&gt; need to know how to solve the problem to be able to solve them in polynomial time? Or is it that we&amp;rsquo;ve just not been smart enough to come up with solutions that are fast enough? We don&amp;rsquo;t know. The first step is to make a list of &lt;a href=&#34;http://www.nada.kth.se/~viggo/problemlist/compendium.html&#34;&gt;NP problems that are not obviously in &amp;lsquo;P&amp;rsquo;&lt;/a&gt;. Then, we try converting these problems into each other in polynomial time.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;NP problems that can be converted into each other in polynomial time are &amp;lsquo;NP-hard&amp;rsquo;.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;So, if you solve any one of these &amp;lsquo;NP-hard&amp;rsquo; problems in polynomial time, you can solve all NP-hard problems in polynomial time. Figuring out the right moves in Tetris is one such problem.&lt;/p&gt;
</description>
    </item>
    <item>
      <title>Polynomial-time computability of prime numbers</title>
      <link>https://www.s-anand.net/blog/polynomial-time-computability-of-prime-numbers/</link>
      <pubDate>Tue, 27 Aug 2002 12:00:00 +0000</pubDate>
      <guid>https://www.s-anand.net/blog/polynomial-time-computability-of-prime-numbers/</guid>
      <description>&lt;p&gt;Progress on the &lt;a href=&#34;http://www.wired.com/news/technology/0,1282,54613,00.html&#34;&gt;polynomial-time computability of prime numbers&lt;/a&gt;.&lt;/p&gt;
</description>
    </item>
    <item>
      <title>Polynomial time test for primality</title>
      <link>https://www.s-anand.net/blog/polynomial-time-test-for-primality/</link>
      <pubDate>Fri, 09 Aug 2002 12:00:00 +0000</pubDate>
      <guid>https://www.s-anand.net/blog/polynomial-time-test-for-primality/</guid>
      <description>&lt;p&gt;Prof. Manindra Agarwal and his students at IIT-K have figured out a &lt;a href=&#34;http://www.cse.iitk.ac.in/news/primality.html&#34;&gt;polynomial time test for primality&lt;/a&gt;. It was an &lt;a href=&#34;http://www.vacets.org/articles/primality.html&#34;&gt;unsolved problem&lt;/a&gt;. The RSA algorithm assumes that this is impossible. (&lt;a href=&#34;http://www.nytimes.com/2002/08/08/science/08MATH.html&#34;&gt;NYTimes&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;Of course, &lt;a href=&#34;http://www.meganet.com/news/press/pressrelease12-30-98.htm&#34;&gt;others&lt;/a&gt; have claimed the same. To my knowledge, none is conclusively proven.&lt;/p&gt;
&lt;p&gt;What if they&amp;rsquo;re true? Well, in a few years, our cryptography algorithms will be useless. So it&amp;rsquo;s back to the drawing board, with security-related dot-coms from Univs popping up.&lt;/p&gt;
</description>
    </item>
  </channel>
</rss>
