 Ok, donc le sujet de la lecture d'aujourd'hui est la méthode polinomale, qui est une autre méthode pour prouver la banque en quantité de compétences. Elle a été inventée après la méthode hybride que l'on a vu aujourd'hui. Elle utilise des idées différentes que je vais essayer de développer dans la lecture, à moins de la base, et vous verrez une bonne application dans la session de problème. Donc, c'est la focus de cette lecture de haut niveau. Le but sera de prouver comment nous pouvons obtenir des bandes de bas, basées sur l'analyse de la fonction bouleur. Nous ferons une connexion entre ces deux topics. L'analyse de la fonction bouleur est quelque chose qui a été étudié même avant la compétition de quantum, et pour cela, nous savons beaucoup de techniques pour analyser ces types d'objets, et cela va bénéficier à l'analyse de la compétition de la compétition de quantum. Donc, les deux principales messages de cette lecture sont la suivante. La première est que nous verrons que l'algorithme de quantum en compétissant des fonctions F dans cette modèles de quantum peut être transformée dans un certain polinomiel d'un degrés que nous approximerons la fonction que nous essayons de composer. Dans ce polinomiel, il y a des bonnes propriétés. Et ensuite, la deuxième importante ingrédient sera de définir des manières de bas-bandes, les degrés de polinomiels, afin de convertir ces degrés des résultats dans un degrés bas-bandes sur la compétition de la compétition de quantum. Alors, nous allons commencer par donner vous une définition basique sur l'analyse bouleur. Je ne vais pas aller dans trop de détails, juste les basiques. La première est la définition d'un polinomiel multilénaire. Donc, ici, le polinomiel va prendre comme input des variables N. C'est le même genre d'input que ce que nous considérons dans la compétition de quantum. Et le polinomiel est multilénaire si c'est le type suivant. Donc, comme vous pouvez le voir, dans chaque monomiel, chaque XI est pris au moins... vous avez à l'aide d'une XI ou d'une 1 pour chaque position XI. Et vous avez vraiment de coopération. Et le degrés de un polinomiel multilénaire est le size de l'un des plus grands sets S pour lequel la coopération est non-zero. Donc, en particulier, ce degrés est à la fin de la compétition parce que vous avez des variables N. Donc, ce que nous voulons comprendre est comment nous pouvons approximer l'arbitrary Boolean fonction comme la fonction F d'un hypercube à des vrais numéros par des polinomiels multilénaires. Comment pouvons-nous approximer ces types d'objets? Donc, la première réponse à cette question est la suivante, qui est assez simple à voir. Je ne vous donne pas de prouves, mais vous pouvez le faire comme un simple exercice. Ceci dit, pour l'arbitrary Boolean fonction, il existe un polinomiel multilénaire un unique, qui n'est pas pf, qui est toujours equal à la fonction pour tous les valeurs d'input. Parce que de ce résultat unique, nous pouvons définir dans un degré un unique, un degré de la fonction F comme le degré de l'arbitrary multilénaire. Donc, nous pouvons penser que le problème est terminé. Mais cette condition est exactement la même. C'est assez strict. Le but sera de relaxer cette condition afin d'attendre une connexion pour la complexité de quantité de courant. Comment pouvons-nous faire ça? C'est la définition fondamentale de cette lecture. Nous disons que un polinomiel p approximise la fonction F si il satisfait les deux conditions suivantes. Donc, pour tous les valeurs d'input dans l'arbitrary Boolean, vous demandez, d'abord, que l'arbitrary px et la fonction F soient close à l'arbitrary 1³. Et d'ailleurs, vous demandez que l'arbitrary px soit entre 0 et 1. Donc, cette 1³ doit vous rappeler que la condition de succès que nous avons utilisée en définissant le modèle de quantité de courant est une connexion entre les deux choix. Comme vous le verrez en un moment. Donc, c'est important de vous rappeler que cette approximation de polinomiel n'est plus unique qu'à moins de pf. Et donc, nous allons définir l'arbitrary d'approximisation avec cette notation comme le minimum de polinomiel qui approximise la fonction F. Nous minimiserons tout le polinomiel qui approximise la fonction F et c'est la façon qu'on définit l'arbitrary d'approximisation. Donc, ce de l'arbitrary d'approximisation est toujours plus petit que l'arbitrary d'approximisation parce que vous êtes allés à l'approximisation dans la définition. Donc, c'est un premier exemple. Nous allons parler de la fonction ON. Donc, cela prend l'input en bits et l'input en 1 si tout le bit est equal à 1. Pour l'arbitrary d'approximisation c'est assez simple de voir de toutes les variables. Donc, le degré de la fonction ON est equal à N. Et d'autre côté, vous pouvez montrer que l'arbitrary d'approximisation de la fonction ON est seulement equal à √N. Vous pouvez obtenir un degré de quadratic en regardant la définition de l'arbitrary d'approximisation. Ce résultat n'est pas assez simple pour vous donner une idée. Pour constater que vous avez un degré de la fonction ON ou un degré de la fonction ON vous devez jouer avec un degré de la fonction ON et vous devez impliquer une summation de toutes les variables de l'input. Vous pouvez essayer de savoir de quoi les variables de la fonction ON sont. Nous pouvons essayer de obtenir un degré de la fonction ON. Donc, si vous savez un degré de la fonction ON vous devez déjà savoir qu'il y a un degré de la fonction ON qui utilise √N. Pour l'exemple, il y a une même complexité en regardant la complexité de la fonction ON et en regardant l'arbitrary d'approximisation. Le but est de développer cette connexion pour d'autres problèmes et de voir si c'est un phénoménal plus général. Avant de commencer je voudrais mentionner que c'est vraiment bien dans ma opinion si vous voulez savoir plus des analyses de Boolean en général et la connexion pour la computing quantum. Il y a, bien sûr, un livre de Ryan de beaucoup différents topics sur les fonctions de Boolean et un livre par Marc Bern et Justin Taylor qui est plus connecté à la désolation entre la computing quantum d'approximisation et la fonction de Boolean. Alors, let's move la connexion entre l'arbitrary d'approximisation et la complexité de la quantité de la quantité. Ce sont les résultats suivants. Il dit que pour une fonction F que vous essayez de solver dans ce model d'arbitrary d'approximisation la complexité sera toujours au moins de l'arbitrary d'approximisation divided par deux. Alors, en tant que vous savez comment l'arbitrary d'approximisation immédiatement obtenir l'arbitrary d'approximisation je vais prouver ce théorème dans un moment. Le résultat principal que nous avons besoin pour prouver ce théorème est le suivant. Il dit que si vous fixez qu'une algorithma quantum qui fait des t-queries et si vous laissez px dénoncer la probabilité d'arbitrer 1 sur l'input x donc ce sera un numéro réel entre 0 et 1 Ok, donc on va prouver ce résultat et pour cela, je vous remercie d'utiliser une notation que l'on a utilisé hier c'est la façon dont nous défendons ce model quantum Juste un souvenir, nous avons ce circuit que nous alternons entre l'arbitrary et l'arbitrary d'arbitrary et on laisse px dénoncer les states d'intamidation de l'algorithme après que vous faites des t-queries donc pour prouver la proposition nous ferons ça par induction sur le nombre de t-queries on va essayer d'incliner le bord parce qu'il n'y avait pas tout le monde qui pouvait le voir donc ce que nous ferons c'est prouver le résultat par induction en t donc nous voulons prouver que pour tout index i entre 1 et n et pour toutes les valeurs de Boolean c'est ce qu'il y a dans le second registre de la mémoire ce que nous avons c'est que si vous regardez le produit interne entre i, b et le state, psi, x, t après t-queries c'est un polynomial dans x de l'atmosité peut tout le monde voir le bord ? OK je vous suggère de le dire si vous regardez l'amplitude dans le state psi, x, t pour toutes les i, i, b ce sera un polynomial dans x de l'atmosité un polynomial dans x de l'atmosité base case pour le début pour t-queries pour t-queries c'est le plus simple si vous vous souvenez nous avons le premier state psi, x 0 c'est juste u0, appuyé sur 0, 0 c'est indépendant de x c'est un polynomial constant donc ça implique que i, b est un constant donc maintenant comment nous avons changé de t de t plus 1 donc nous défendons le suivant donc nous défendons coefficient a, g, c donc nous avons complexe coefficient et comme ça nous avons la suivante équation donc si vous avez une summation sur tous les a, g, c ce que vous avez c'est la prochaine unité appuyé sur i, b c'est juste notation j'ai utilisé le dagger parce que c'est plus convenant pour la preuve donc quand j'appuie la prochaine unité u, t plus 1 sur un state i, b de la mémoire j'expère ce state dans la base standard donc sur tout g et c un integer entre 1 et n et c va être un Boolean de valeur ok donc c'est comment nous avons défendu ces coefficients ok donc maintenant on prouve les résultats donc ce que nous voulons prouver c'est que si vous regardez un produit entre i, b et psi, x, t plus 1 c'est un polynomial de degrés à plus t plus 1 donc comment vous pouvez écrire cette expression donc d'abord vous pouvez relater x, t plus 1 pour psi, x, t par l'équation que l'on a déjà utilisé ce sera equal à i, b et puis vous appuyez u, t plus 1 ou x le racle et puis psi, x, t ok j'ai juste répliqué psi, x, t plus 1 avec sa définition ok maintenant ce que je peux faire c'est je peux exprimer en utilisant les coefficients a, j, c que j'ai défini ok donc c'est equal à la summation du tout j, c a, j, c ok donc de nouveau ce que j'ai fait c'est juste de répliquer ce i, b, u, t plus 1 par sa expression à la base standard donc c'est maintenant où ça va être intéressant donc on veut comprendre ce qui se passe quand on applique ce x sur un state sur une base state donc la claim que la suivante si vous appliquez le racle sur j, c pour j, c donc par définition c'est equal j, c plus x, i c'est la définition du racle et la façon différente d'écrire cette expression c'est equal donc x, j 1 minus x, j j, c plus x, j j, c plus 1 ok donc c'est vraiment la partie importante de la preuve quand vous faites une quantité quantique vous pouvez exprimer ça comme combinaison de base state qui n'est pas dépendant de x, j la dépendance est displays dans l'amplitude donc vous pouvez juste vérifier que c'est effectivement le cas ok et maintenant si je continue la preuve bien, c'est ce qui est fait parce que maintenant ce que ça veut dire c'est que cet ingénieur va être la summation sur toutes ces quantités ok et ça termine la preuve parce que par l'induction, nos produits sont de de l'amplitude d'atmos t, on multiplie par une coefficient de de l'amplitude 1 donc on obtient quelque chose de de l'amplitude t plus 1 question ? ok donc c'était pour prouver ce statement ok je n'ai pas prouvé la proposition encore ok donc j'ai juste prouvé ce résultat qui était sur l'amplitude ok donc maintenant pour la proposition pourquoi on a ces 2 t c'est parce que qu'est-ce que ça implique donc qu'est-ce que c'est px donc px c'est la probabilité que l'algorithme output 1 donc ce que c'est, on a déjà vu qu'est-ce que c'est equal à projecter un 1 pour le final state psi xt square ok donc c'était vraiment la définition que l'on a vu d'ailleurs ok donc une façon différente de dire c'est de dire que c'est equal à une summation sur tout i de i 1 psi xt square ok donc cette probabilité d'outre c'est la summation sur ces 2 t ok et parce que de cette induction, nous savons que chaque producte est de de l'amplitude d'atmos t pour l'ensemble px est de de l'amplitude d'atmos 2 t ok donc c'est pour la proposition de la proposition donc maintenant, comment on a le théorème donc pour le théorème, il n'y a pas d'essentiel pour prouver tout ce qu'on a besoin donc pour le théorème, si vous avez un algorithme quantum compétuant la fonction f donc si vous avez un algorithm let's say a compétuant f en faisant t queries qu'est-ce que cela implique ? cela implique qu'il existe un polynomial p comme le degré de p est d'atmos 2 t ce qui est px-fx ok donc j'ai écrit ça différemment donc px la probabilité que c'est d'atmos 1 il va être entre 0 et 1 t si fx est equal à 0 et si fx est equal à 1 il va être entre 2 t et 1 le théorème est correct donc c'est exactement ces 3 conditions c'est exactement ce que nous avons besoin d'appliquer cette définition donc cela implique que le degré de p est moins que 2 t et puis si vous mettez ça dans l'autre direction cela signifie que t est au moins degré de p qui est ce que vous avez le principal théorème question sur ça ? encore un peu ? ou des photos vous pouvez trouver les sketches profs sur ma page web maintenant let's try to apply this théorème to obtain some concrete lower bound yes yes go ahead si vous voulez prendre des mesures et un extra workspace vous pouvez juste remplir les mesures by control not operation you have your unitary being applied on a larger space and essentially the proof will follow in a similar way it will just change like you will have to consider a larger space when you apply the unitary but it's not a big deal ok so so now the goal is to find efficient way to lower bound this approximate degree so this is usually something complicated to do because you want to study some polynomial that depends on n variables and so a natural idea is to first try to reduce a number of variables that occur in this polynomial so for that we will see a technique which is called symmetrization it's more like a family of techniques so as I said if you want to analyze multivariate polynomial it's often hard to do and symmetrization gives you a way of reducing the number of variables in your polynomial without increasing the approximate degree and by preserving some good properties that you can then use in the analysis so I would like to show you maybe the most basic type of symmetrization which is sometimes called ski-paper ideally what you would like to obtain at the end is a polynomial with just one or two variables those are the polynomials for which we know how to obtain efficient bound on the approximate degree so you would like to reduce to polynomials with very few variables so let's see how this symmetrization technique works on a particular example so again this is going to be the same as yesterday and at the end of what we will obtain is a polynomial with just a single variable so a univariate polynomial it's not going to be a Boolean function but it's going to be a univariate polynomial so the construction proceeds as follows so first is you partition your hyper cube into n plus 1 buckets denoted by BK and those buckets contain all the n bit strings that have the same hamming weight ok so B0 is going to be just the all zero string and then when you increase K you increase the hamming weight now this is how you define the symmetrized polynomial you define this polynomial denoted by P K as being the expectation value over the input contained K of P of X so this is the definition so it may not seem obvious why it is a polynomial in K of small degree so we will prove two results the first one is that this is indeed a polynomial in K and the degree can only decrease so this is the first lemma that we will show and the second lemma of have similar properties approximation properties to the original polynomial in the following sense when you plug in the value 0 K equals 0 it must give you something which is between 0 and 1 third and if you plug in something which is larger than 0 it should give you something which is between 2 third and 1 ok so this is how it should look like from something very close to 0 then to something very close to 1 and then it should stay close to 1 up to the last value n ok so let's prove those two results it's quite simple so for the first lemma we just have to try to give an exact expression of what is this polynomial so let's compute it so let's first focus on a particular monomial so let's pick S a subset of indices between 1 and n ok and you define XS as the product of the variables whose indices is in S ok so what we would like to compute is the expectation over the bucket BK so when we take X uniform in bucket BK we want to understand what is the expectation of this XS ok so there is a first very simple case which is that this must be equal to 0 if K is less than S ok and otherwise you just have to apply some the right binomial coefficient so essentially if you want it to be non zero it means that you have to sample something that is equal to 1 exactly on the position indexed by I ok so this is equal to n minus size of S choose n minus K divided by n choose K ok so n choose K those are the number of inputs in the bucket BK and here this is the number of inputs for which you will obtain value 1 ok on this quantity you can simplify it so this is going to be something that depends on the product of K K minus 1 etc up to K minus S S plus 1 and then divided by something that does not depend on K ok and as you can see this is a polynomial in K of degree S so this is for a single monomial now if you want to handle the case of a combination of monomials this is also going to be a polynomial of degree at most at most the largest degree in the original polynomial ok so this is for the first lemma now for the second lemma this is straight forward so for the second lemma what we want to show is that this symmetrized polynomial is between zero and one third at value zero and then it jumps to something larger than two thirds so why do we have that well it's just because when you evaluate this polynomial at value zero it's equal to an expectation over all x in B0 of Px and we know that we know that by definition this is between zero and one third ok so if you take an expectation of something between zero and one third you get something which is between zero and one third ok so why is it between zero and one third it's because when the input has hamming weight zero then the output has to be zero this is the value of the or function and the algorithm has to output the correct value with probability two thirds so this Px probability of outputting one should be less than one third ok so this is because the or function evaluated on X is equal to zero for all x in B0 there is actually a single one in B0 ok and now for K larger than one this is the same argument this polynomial is an expectation of values over inputs that all which is between two thirds and one ok because if the hamming weight is at least one then the output of the or function has to be at least one ok so how to conclude the proof well the conclusion you will have to prove it in the problem session but essentially this is how the proof can be concluded one can show by using some nice inequalities that if you have a polynomial that kind of jumps this way very quickly from zero to one then it must be of degree at least square root n ok you cannot find such a polynomial of degree smaller than square root n and in particular because of this fundamental theorem that connects approximate degree on quay complexity it implies that for the or function you have a square root n lower bound ok so this is the conclusion at the end the quay complexity of the or function is at least square root n so it gives you a second proof of what we saw last time using the hybrid method but now by using polynomial and Boolean analysis ok any question yes well it's going to be useful when the symmetrization works fine like it's kind of natural so it's not going to be I mean ok finding this right symmetrization is usually one of the most complicated part so this is one of the simplest symmetrization that you can imagine it works well when the function is symmetric meaning you can permute the input without changing the output but for more complicated function or for like non Boolean function non Boolean input I mean larger alphabets you may have to use more complicated symmetrization techniques ok so this symmetrization technique it was really important to I mean one of the main goal involved in the polynomial but sometimes when you reduce the number of variables you lose too much and at the end you cannot get like an optimal lower bound so there is a second type of method which I think has been studied kind of like more recently and in some sense it does not rely on reducing the number of variables instead it relies on using LP duality so this is called dual polynomial method I will just try to give you a high level description of how it works without going into the details of the proof so for understanding this method it will be more convenient to kind of change a little bit the definition so for Boolean function now we will move to the minus 1 1 domain instead of the 0 1 domain that you can do without loss of generality by just replacing a value let's say xi with 1 minus 2 xi ok so this minus 1 1 domain is just for simplifying the statement of the result so the first observation is that the approximate degree can be formulated as optimization program in the following way so what you want to do is you want to minimize some epsilon it's going to be a real number between 0 and 1 and the minimization is over epsilon and over polynomial p and what you want to do is you want to find px which is epsilon close to the function for which you want to understand the approximate degree so this is the first condition px is at most epsilon in absolute distance for all input x secondly you want the degree of p to be at most d and epsilon has to be at least 0 ok so in some sense a different way of formulating this program is to say that we are looking for the best approximation of f by a polynomial of degree at most d ok so if we go back to the or function for instance what we would like to do is to replace f with or function and then we will take d to be square root n or constant times square root n and then we want to understand if there is a feasible solution of value at most 1 third ok so if you can solve this program then you can know what is approximate degree so when you have a linear program what you often want to do is you want to take the dual so here is what is the dual I am not going to show how you can obtain it but at least you will see that this is indeed a linear program you will see that in the problem session so the dual is formulated as follows so now you take maximization over function phi defined over the boolean cube and you look at this inner product between phi and x and there are two conditions the first one is a kind of normalization condition which say that if you sum up all the absolute value of f of x then it must be equal to 1 and the second condition is if you look at the inner product between this function and any polynomial of degree at most d then it must be equal to 0 ok so in truth you see what it means this kind of product summation you can look at them as being kind of correlation statement and in some sense this maximization should give you the best possible correlation of f with a polynomial phi which has no monomial of degree less than d ok so let's maybe prove this last statement which is that any phi that satisfies this program has no monomial of degree at most d so this will give some intuition about this type of linear program so my claim is that any feasible solution phi has no monomial of degree of degree less than d ok so this is just a one line proof so for the proof we just consider two subset s and t subset of indices ok ok and we look at the corresponding inner product so a summation over all x of xs times xt ok and x is in minus 11 to the n ok so we only need to consider such cases because then when you have a summation of phi xpx you can just by linearity you can extend the result so what is this quantity equal to so you can see that if an index if an index is in the intersection of s and t then the product of xi and xi showing up in the two quantities will give you one so it would kind of disappear so you only care about the elements which are not in the intersection of s and t ok so what you get is a summation of x over the indices which are in t but not in s and then indices that are in s but not in t ok and now what happens so that two cases so either those two set are empty in which case you would obtain the value 2 to the n so this is equal to 2 to the n if s is equal to t and if s is not equal to t then this is equal to 0 ok so the only way that you can obtain something non 0 is by taking two sets which are equal to each order ok so this last condition this summation of phi xpx being 0 for all polynomial of degree at most d is equivalent to having no monomial of degree less than d ok so how can we use this kind of dual this kind of dual program and I will conclude this slide so now we can apply weak duality and it gives us the following statement the kind of following recipe for proving lower bound on the approximate degree and observe that we never reduce the number of variables we really keep all the variables so it say that by weak duality if we can find any function phi so just find one of them that satisfied the following three condition so first you want a high correlation with f of x meaning you want this summation to be at least one third secondly you want to satisfy this normalization constraint that tells you that the summation of the absolute value is equal to 1 and finally you have to satisfy what is called this pure high degree constraint which say that you have no monomial of degree less than d then under those three condition the approximate degree of f has to be at least d ok so if you just construct such a phi you immediately obtain a proof that the approximate degree is lower than something so during the problem session you will prove that those are indeed so those two programs are indeed linear programs and you will see one simple application of this result by proving a lower bound for the parity function so you will be asked to find a polynomial that witness that the parity function has a high approximate degree ok and there will be all the question based also on the symmetrisation technique but for all the kind of application where it's not necessarily based on the means key paper symmetrisation and you will see some application for instance to the to the majority function I think ok so is there any question on this dual polynomials ok so it went shorter than expected um I can maybe start talking about the next method that we will see tomorrow yes of constructing those dual polynomials um so they have some nice properties so for instance they have some nice composition property in certain cases but usually they are quite complicated to construct like even constructing a dual polynomial for the or function for instance a created task so I would say the composition property are maybe more interesting here well you can get some result about the approximate degree of composition so if you know the individual individual approximates if you have feasible solution for different function by composing then you can say something about the composition of the feasible solution well um yeah I mean block composition of functions yeah you want to say something about block composing function like you want f of so each bit of x1 up to xn is obtained by computing some order function so you want to compil the two function let's say the ond function apply on bits which are obtained by applying the or function you see like you could have like trees of and or and so on maybe just give you a flavor of what we'll talk about next time so I will just tell you about the motivation and if you went to the previous talk by Alex you will see that there is some some room for connection I would say so tomorrow we will say a very recent technique so the hybrid method that we saw yesterday and the polynomial method are quite quite old and there is a kind of different method which has been developed recently with some cryptographic motivation by Marc Zandri this is called the recording method or the compressed oracle method and this is kind of related to the hybrid method but in a more more let's say intuitive way so this is just what I want to say to show what will be what will be the focus we will try to look at kind of a framework which often shows up in cryptography and in particular when you try to analyze when you try to give security proof in the random oracle model so the random oracle model in cryptography this is a kind of an ideal setting in which you replace concrete hash functions on a type 3 you replace them with completely uniform random function so how do you represent a uniform random function well you could say I have an input X which now is not over a binary alphabet but instead is over a larger alphabet let's say of size M and in some sense the IS coordinator of the input is the same as evaluating random function on input I ok so you don't care about how the hash function is implemented you just care about like how many times do I have to evaluate this ideal hash function so this is really what is called the random oracle model and quantumly there is a so called quantum random oracle model that allows you to query this input in superposition so this setup usually is considered under some worst case analysis so you are ok if the algorithm can sometimes fail on some input so you could have some input X for which the algorithm will always fail in solving the problem that you are interested in what's important is that on average when you draw the input uniformly at random then on average you want the algorithm to be correct with high probability so this is closer to what you can observe in a concrete cryptographic scenario so this is very close to quantum query complexity I mean to the technique that we saw until now but in order to handle this average case analysis on this large alphabet it may not be the simplest thing to just try to use a polynomial method or the hybrid method or some addressary method that we will see later on and the goal of this recording technique will be to give a very intuitive and very simple way of proving lower bound in this setting and in particular we will show that you can prove lower bound for finding pre-image so for pre-image attack and also for finding collision in hash function so for both problems it will be possible to give the optimal quantum query complexity in a very simple way by using this recording method that we will see tomorrow