Limites inférieures du calcul d'une fonction d'un ensemble

9

Ayant un ensemble de n éléments, disons que je veux calculer une fonction f ( A ) qui est sensible à toutes les parties de l'entrée, c'est-à-dire qui dépend de chaque membre de A (c'est-à-dire qu'il est possible de changer n'importe quel membre de A en quelque chose sinon pour obtenir une nouvelle entrée A st les valeurs de f sur A et A sont différentes).Anf(A)AAAfAA

Par exemple, pourrait être la somme ou la moyenne.f

Y a-t-il un résultat qui prouve que, dans certaines conditions, le temps nécessaire à une machine de Turing déterministe pour calculer sera Ω ( n ) ?fΩ(n)

Виталий Олегович
la source
Notez que si est une séquence à accès aléatoire et que l'hypothèse de sensibilité est affaiblie, cela ne se vérifie pas toujours. Par exemple, ( i , x 1 , , x n ) x i peut être calculé avec deux requêtes, même s'il ne s'agit pas d'une junte. A(i,x1,,xn)xi
sdcvvc
@sdcvvc votre exemple me rappelle l'instruction en langage C V[i]. Quelle est la définition de la junte ?
Виталий Олегович
2
Une junta est une fonction booléenne qui ne dépend que de k arguments, c'est-à-dire qu'il existe un ensemble A { 1 , 2 , , n } de taille k tel que pour tout x , y , si x et y ne diffèrent que sur les positions en dehors de A , alors f ( x ) = f ( y ) . J'ai abusé de ce terme pour désigner une fonction qui ne dépend pas de tous les arguments. kkA{1,2,,n}kxyxyAf(x)=f(y)
sdcvvc
Si vous essayez de trouver un support pour votre réponse au problème de distance moyenne sur math.se, malheureusement, cela ne fonctionnera pas.
Aryabhata
@Aryabhata la première intention était de trouver un support pour ma réponse à cette question: math.stackexchange.com/questions/129969/… , mais la seule chose que ce résultat dira est que s'il y a sommets dans le graphique, l'algorithme calculer la distance moyenne entre eux sera Ω ( n ) , ce qui est assez évident. J'ai supprimé ma réponse parce que, comme vous l'avez écrit, je n'ai rien prouvé. nΩ(n)
Виталий Олегович

Réponses:

7

Vous devez être spécifier le modèle de calcul et les propriétés de . Dans l'argument suivant, j'énoncerai les hypothèses dont j'ai besoin. Elle peut être généralisée un peu plus loin mais je pense qu'elle devrait suffire à vous donner l'idée.f

Supposons que la machine ne lit jamais la valeur de l'un des membres de A (un ensemble fixe, et A est donné sous forme de liste). On suppose en outre que A est une entrée de telle sorte que la modification de la valeur de sa i ième élément ne change pas M réponse de. Supposons en outre que f soit sensible à toutes les parties de l'entrée, c'est-à-dire qu'il dépend de chaque membre de A (c'est-à-dire qu'il est possible de changer n'importe quel membre de A en quelque chose d'autre pour obtenir une nouvelle entrée A st valeur de f sur A et A sont différents).MAAAiMfAAAfAA

On peut utiliser un argument adversaire pour montrer que la machine ne peut pas calculer la bonne réponse en changeant la valeur de ce membre de pour obtenir A sinon st la valeur de f est différente. La valeur de M sur ces deux ensembles est la même, donc l'un d'eux doit être faux et donc M ne peut pas calculer f correctement.AAfMMf

Par conséquent, toute machine qui calcule f devra lire l'intégralité de l'entrée qui prend des pas Ω ( n ) .MfΩ(n)

(D'un autre côté, supposons que nous avons une machine à accès aléatoire non déterministe, et que nous voulons calculer OU des bits dans l'entrée. Nous pouvons deviner de manière non déterministe un bit et vérifier si c'est 1, s'il est 1, nous émettons 1 . Cette machine ne lit qu'un seul bit de l'entrée en étapes et répond correctement au problème. Donc, sans hypothèses sur M et f, le résultat ne tient pas.)O(lgn)Mf

Kaveh
la source
Désolé d'avoir oublié d'écrire que mon modèle de calcul était la machine déterministe de Turing.
Виталий Олегович
+1 pour l'argument de l'adversaire, ce qui est un excellent moyen de commencer à comprendre les limites inférieures.
Joe