{"id":927,"date":"2005-05-31T11:23:28","date_gmt":"2005-05-31T18:23:28","guid":{"rendered":"http:\/\/dabacon.org\/pontiff\/?p=927"},"modified":"2005-05-31T11:23:28","modified_gmt":"2005-05-31T18:23:28","slug":"pigeons-and-discrete-log","status":"publish","type":"post","link":"https:\/\/dabacon.org\/pontiff\/2005\/05\/31\/pigeons-and-discrete-log\/","title":{"rendered":"Pigeons, Discrete Log, and Entropy"},"content":{"rendered":"<p>The pigeon hole principle states that if you put m pigeons into n&#060;m holes, then there are at least two pigeons in one hole.  Consider, for example, the following problem<br \/>\nGiven a list [tex]$a_1,dots,a_n$[\/tex] of residues mod [tex]$p$[\/tex] and suppose [tex]$n&gt;log_2 p$[\/tex], find two distinct subsets [tex]$S_1,S_2 subset {1,2,dots,n}$[\/tex] so that [tex]$prod_{i in S_1} a_i =prod_{i in S_2}a_j~{rm mod}~p$[\/tex].<br \/>\nHere we have said &#8220;find&#8221;, but how do we even know that two subsets which solve this problem exist?  The pigeon hole principle!  The number of possible subsets of [tex] {1,2,dots,n}$[\/tex] is [tex]$2^n$[\/tex] (because each element either is or is not in the subset, and &#8220;is&#8221; and &#8220;is not&#8221; is binary, and so we have a binary string of length [tex]$n$[\/tex].)  But [tex]2^n&gt;p[\/tex], so we are putting more objects into our &#8220;holes&#8221; which run from [tex]$0$[\/tex] to [tex]$p-1$[\/tex].  Thus by the pigeon hole principle there must be two distinct subsets (two pigeons) whose product is the same.<br \/>\nIn computational complexity the above problem belongs to a class of search problems called PPP, which, according to the <a href=\"https:\/\/complexityzoo.uwaterloo.ca\/Complexity_Zoo\">complexity zoo<\/a>, stands for &#8220;Polynomial Pigeonhole Principle.&#8221;  These are problems where we are searching for a solution to an instance of a problem, this solution can be verified to be a solution in polynomial time, and the existence of a solution is guaranteed by a pigeon hole argument.  The second of these should be familiar from the class NP, and the first of these is what you&#8217;re doing when you go beyond decision problems and actually want to find a solution.<br \/>\nPPP is interesting for various reasons, but one of the reasons I know of it is because it is at least as hard as the discrete log problem.  In the discrete log problem is given two elements [tex]$a,b in {mathbb Z}_p$[\/tex] find the smallest [tex]$s$[\/tex] such that [tex]$a^s=b~{rm mod}~p$[\/tex].   One of the neat things about a quantum computer is that it can efficiently solve the discrete log problem, whereas there is no known efficient classical algorithm.<br \/>\n So what do we know about the power of quantum computers to solve problems in PPP?  Well we know a little.  We know that a naive approach to solving these problems will fail.  Suppose that we try to solve the above PPP problem by querying the function [tex]$f_{a_1,dots,a_n}(b_1,dots,b_n)=a_1^{b_1} a_2^{b_2} dots a_n^{b_n}$[\/tex], where [tex]$b_i in {mathbb Z}_2[\/tex].  Then a result by Scott Aaronson says that using a quantum algorithm requires [tex]$Omega((2^n)^{1\/5})$[\/tex] queries of this function (later improved to [tex]$Omega((2^n)^{1\/3})$[\/tex] by Yaoyun Shi) to solve this problem.  So this naive approach to attacking problems in PPP fails.  An interesting open question remains, however, whether there is a more sophisticated approach to efficiently solving problems in PPP using a quantum computer.<br \/>\nInterestingly, the problem Scott and Yaoyun work on is also relavent to a physicist in the lab.  The problem they consider is called the collision problem.  Suppose you have a function [tex]$f$[\/tex] from [tex]${mathbb Z}_N$[\/tex] to [tex]${mathbb Z}_N$[\/tex] which is promised to be either 1-to-1 or 2-to-1 and the problem is to distinguish between these two cases.  Scott and Yaoyun&#8217;s result says that if you do this you need to query this function [tex]$Omega((2^n)^{1\/3})$[\/tex] times (and, it turns out that there is a quantum algorithm which uses this number of queries) to distinguish between these two cases.  Now how does this have relevance to a physicist?  Suppose we follow the standard query method and query the function to produce the state [tex]$N^{-1\/2} sum_{x in {mathbb Z}_N} |x&gt;|f(x)&gt;$[\/tex].  Discarding the second register produces a mixed state of rank [tex]$N$[\/tex] if [tex]$f$[\/tex] is 1-to-1 but of rank [tex]$N\/2$[\/tex] if [tex]$f$[\/tex] is 2-to-1.  The entropy of these states is thus either [tex]$log_2 N$[\/tex] or [tex]$log_2 N-1$[\/tex] respectivally.  Now suppose you are a physicist in the lab and you want to measure the entropy of a quantum state which you can prepare multiple copies of.  You might be interested in how many copies you will need to measure this entropy.  Scott and Yaoyun&#8217;s result then imply that you will need to perform a number of experiments which is at least [tex]$Omega(d^{1\/3})$[\/tex] such experiments to measure the entropy, where [tex]$d$[\/tex] is the dimension of your quantum states.  This is bad news if you really want to measure the entropy of a many-qubit system!  In a related manner one can think of the period finding function of Shor&#8217;s algorithm as a method for determining the entropy for special class of states which have a particular promise (that they are periodic).<br \/>\nDiscrete log is a pigeon problem, naive quantum algorithms for pigeon problems fail, and pigeon problems put limits on how efficiently we can measure the entropy of a system.  It&#8217;s topics like these, which spread from computer science all the way to relevance for a experimental physics, which make me happy to be working in quantum information science.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The pigeon hole principle states that if you put m pigeons into n&#060;m holes, then there are at least two pigeons in one hole. Consider, for example, the following problem Given a list [tex]$a_1,dots,a_n$[\/tex] of residues mod [tex]$p$[\/tex] and suppose [tex]$n&gt;log_2 p$[\/tex], find two distinct subsets [tex]$S_1,S_2 subset {1,2,dots,n}$[\/tex] so that [tex]$prod_{i in S_1} a_i &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/dabacon.org\/pontiff\/2005\/05\/31\/pigeons-and-discrete-log\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Pigeons, Discrete Log, and Entropy&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[20,53,63],"tags":[],"class_list":["post-927","post","type-post","status-publish","format-standard","hentry","category-computer-science","category-physics","category-quantum"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/dabacon.org\/pontiff\/wp-json\/wp\/v2\/posts\/927","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dabacon.org\/pontiff\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dabacon.org\/pontiff\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dabacon.org\/pontiff\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dabacon.org\/pontiff\/wp-json\/wp\/v2\/comments?post=927"}],"version-history":[{"count":0,"href":"https:\/\/dabacon.org\/pontiff\/wp-json\/wp\/v2\/posts\/927\/revisions"}],"wp:attachment":[{"href":"https:\/\/dabacon.org\/pontiff\/wp-json\/wp\/v2\/media?parent=927"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dabacon.org\/pontiff\/wp-json\/wp\/v2\/categories?post=927"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dabacon.org\/pontiff\/wp-json\/wp\/v2\/tags?post=927"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}