Soit une fonction. Nous voulons estimer la moyenne de ; c'est-à-dire: .f E [ f ( n ) ] = 2 - n ∑ x ∈ { 0 , 1 } n f ( x )
NOTE: In the OP, the range of f was [0,1]. I changed this a bit for technical reasons. (This should simplify the problem; if not, forget it!)
Soit l'algorithme d'estimation (randomisé). Supposons que ait accès à la boîte noire à . Nous désignons cela par .E f E f
Il y a deux conditions:
1) Temps d'exécution de l'estimateur: Il existe un seul polynôme tel que pour tout et tout , le temps d'exécution de est délimité par .n f E f ( 1 n ) p ( n )
2) Précision de l'estimateur avec confiance : Il existe un seul polynôme , tel que pour tout et tout , on a avec probabilité au moins \ delta .n f 1δ
NOTE: The confidence δ was not in the OP. The parameter δ is in (0,1), and may depend on n. For instance, it may be 1-1/2^n.
De tels estimateurs existent-ils?
Contexte et motivation
Je n'ai pas mentionné ma motivation au début car elle nécessite beaucoup de connaissances de base. Quoi qu'il en soit, pour les passionnés, je le décris brièvement: Le besoin de tels estimateurs se pose dans le contexte des «preuves de capacité», telles que définies dans l'article suivant:
Mihir Bellare, Oded Goldreich. Proving Computational Ability , 1992. Manuscrit non publié.
Plus précisément, au bas de la page 5, les auteurs ont implicitement supposé l'existence de tels estimateurs (il n'y a aucune mention de précision, et le temps d'exécution n'est pas défini avec précision; mais le contexte définit clairement tout.)
Ma première tentative a été de lire « Un échantillon d'échantillonneurs --- Une perspective informatique sur l'échantillonnage ». Il s'agit d'un problème très similaire, mais la probabilité d'erreur définie est additive, tandis que la nôtre est multiplicative. (Je n'ai pas entièrement lu le document, peut-être qu'il mentionne ce dont j'ai besoin quelque part.)
EDIT (selon la demande de Tsuyoshi): En fait, la définition de "preuves de capacité de calcul" nécessite l'existence d'un "extracteur de connaissances" dont le temps d'exécution (prévu) est de . Puisque nous ne connaissons pas , nous voulons l'estimer; cependant, cela ne doit pas modifier considérablement le temps de fonctionnement: il doit le changer jusqu'à un facteur polynomial. La condition de précision tente de capturer une telle exigence. E[f(n)]
la source
Réponses:
EDIT: Cela résout la version du problème où f ne produit que 0 ou 1. Mais je pense que la solution peut être adaptée pour la faire fonctionner pour le cas plus général.
J'ai peut-être mal compris la question, mais cela ne semble pas trop difficile.
Au lieu d'estimer la moyenne, pensons à estimer le nombre de 1 et appelons ce nombre k. Soit . La moyenne est donc k / N. Vous voulez estimer cela dans un facteur multiplicatif polynomial dans le temps O (N polylog (N) / k).N= 2n
Je pense que cela peut être fait à l'intérieur de tout facteur multiplicatif constant aussi. Par exemple, supposons que vous souhaitiez estimer cela à un facteur égal à 2. Ainsi, la sortie de l'algorithme sera comprise entre k / 2 et 2k.k′
Je vais esquisser un algorithme, qui devrait avoir le temps d'exécution approprié. Vérifiez d'abord si k est compris entre N / 2 et N. C'est facile, il suffit d'échantillonner quelques valeurs aléatoires et si vous obtenez plus de la moitié des 1, alors c'est dans cet intervalle. Vous avez donc une approximation 2. Sinon, vérifiez s'il se situe entre N / 4 et N / 2. Etc. Chaque fois que vous réduisez l'intervalle, il est plus coûteux d'estimer si k se situe dans cette plage. Mais le coût est inversement proportionnel à la taille de l'intervalle.
Par exemple, si vous vérifiez si k est compris entre et 2 N / 2 q , alors vous devez effectuer environ O ( 2 q ) requêtes. Quoi qu'il en soit, après avoir répété cette procédure suffisamment de fois, vous devriez obtenir l'intervalle dans lequel se trouve k. Disons que k se situe entre N / 2 q et 2 N / 2 q . Alors k est approximativement N / 2 q . Donc 2 qN/ 2q 2 N/ 2q O ( 2q) N/ 2q 2 N/ 2q N/ 2q 2q est d'environ k / N. Donc, dans cette étape, nous dépenserions des requêtes O (k / N). Mais pour arriver à cette étape, il fallait q d'autres étapes, mais ce n'est qu'un facteur polylog (N) supplémentaire. Le temps de fonctionnement global est donc O (N polylog (N) / k), pour une approximation 2.
(Il faudrait en fait faire une amplification d'erreur pour obtenir une précision décente à chaque étape. Mais ce n'est qu'un facteur polylog supplémentaire.)
La raison pour laquelle j'aime à y penser dans ce processus en plusieurs étapes, c'est qu'il met en évidence le processus comme une supposition et une vérification. Si quelqu'un vous a dit que est compris entre N / 2 q et 2 n / 2 q , alors vous pourriez l'estimer avec une précision encore meilleure en sachant ce fait, dans le délai promis. Nous devons donc éliminer l'étape consistant à donner une estimation de k . Cela se fait par une recherche binaire sur tous les intervalles possibles de ce type.k N/ 2q 2 n / 2q k
Pour que cela fonctionne pour le cas des sorties non booléennes, au lieu de compter le nombre de 1, additionnez simplement les valeurs vues. Je vais essayer de trouver une référence pour montrer que cela fonctionne rigoureusement.
la source
Soit désignent les valeurs de f appliquées à une séquence infinie d'échantillons aléatoires (avec remplacement) de { 0 , 1 } n . Soit k le nombre entier le moins positif tel que ∑ k i = 1 f i ≥ M pour une valeur M , peut-être M = p o l y l o g ( n ) . Je suppose que l'estimateur M /F1, f2, … F { 0 , 1 }n k ∑ki = 1Fje≥ M M M= p o l yl o g( n ) devrait accomplir ce que vous voulez.M/ k
Pour l'analyse, vous ne pouvez pas appliquer les limites de Chernoff directement à la variable aléatoire mais il y a une astuce pour vous permettre d'utiliser quand même Chernoff. Soit μ la valeur de l'espérance inconnue E ( f ) . Trouver les constantes k l o w et k h i g h (fonctions de μ ) de sorte qu'avec une probabilité d'au moins 1 - δ nous avons ∑ k l o w i = 1 f i < M et ∑ k hk μ E( f) kl o w kh i gh μ 1 - δ ∑kl o wi = 1Fje< M . Ces sommes defis peuvent être limitées à l'aide de Chernoff. Il s'ensuit queklow<k<khighavec une probabilité d'au moins1-δet donc l'estimateurM/kest bien concentré.∑khi ghi = 1Fje> M Fje kl o w< k < kh je gh 1 - δ M/ k
la source