Toutes mes excuses à l'avance si cette question est trop simple.
Fondamentalement, ce que je veux savoir, c'est s'il existe des fonctions avec les propriétés suivantes:
Prenez pour être lorsque le domaine et le domaine de codage sont limités à des chaînes à bits. alorsf ( x ) n
- est injective
- est surjectif
- prend strictement moins de ressources (espace / temps / profondeur de circuit / nombre de portes) pour calculer sous un modèle raisonnable que , où .y = f n ( x )
- La différence de ressources pour vs est une fonction strictement croissante de .n
Je peux trouver des exemples où la fonction est soit surjective soit injective, mais pas les deux, sauf si je recourt à un modèle de calcul artificiel. Si je choisis un modèle de calcul qui permet des décalages à gauche en temps unitaire sur certains anneaux, mais pas des décalages à droite, alors il est bien sûr possible de trouver un linéaire au-dessus de la tête (ou plus si vous considérez une permutation plus compliquée comme une primitive) . Pour cette raison, je ne m'intéresse qu'aux modèles raisonnables, par lesquels je veux dire principalement les machines de Turing ou les circuits NAND ou similaires.
Évidemment, cela doit être vrai si , mais il semblerait que cela soit également possible si , et ne devrait donc pas équivaloir à trancher cette question.
Il est tout à fait possible que cette question ait une réponse évidente ou un obstacle évident à la réponse que j'ai manqué.
la source
Réponses:
On m'a demandé de republier mon commentaire. J'ai souligné cet article de Hastad, qui montre qu'il existe des permutations dans qui sont P-difficiles à inverser:NC0
http://dx.doi.org/10.1016/0020-0190(87)90053-6 (PS)
la source
Pour les circuits booléens sur une base binaire complète (la mesure de complexité étant le nombre de portes dans un circuit minimal), le meilleur rapport connu pour les permutations C ( f - 1C(f) C(f−1)C(f)=const . Pour autant que je sache, la meilleure constante a été obtenue dans ce travail par Hiltgen et est égale à 2.
Éditer. Comme vous voulez que le ratio augmente lorsque augmente, cela ne répond pas à votre question. Cependant, pour les circuits booléens sur une base binaire complète, rien de mieux n'est connu.n
la source
Tout d'abord, je voulais souligner que la surjectivité n'est pas bien définie sans d'abord définir le codomaine de la fonction. Donc, dans ma description ci-dessous, je ferai explicitement référence au domaine de codage sur lequel la fonction est surjective.
Le logarithme discret ou les fonctions RSA sont tous deux des permutations qui sont difficiles à inverser. Ci-dessous, je décrirai la fonction de logarithme discret.
Soit un nombre premier n , et g un générateur du groupe multiplicatif Z ∗ p n . Définissez f n : Z p n → Z p n comme f n ( x ) = g xpn n g Z∗pn Fn: Zpn→ Zpn Fn( x ) = gX( modpn) .
Ensuite, est une fonction dont les propriétés sont telles qu'indiquées dans votre question: elle est à la fois injective et surjective (sur le codomaine Z p n ), elle est calculable en temps polynomial, mais on suppose qu'aucun algorithme efficace ne peut inverser f n sur moyenne.Fn Zpn Fn
la source