Límites inferiores de cálculo de una función de un conjunto

9

Teniendo un conjunto de n elementos, digamos que quiero calcular una función f ( A ) que es sensible a todas las partes de la entrada, es decir, depende de un miembro muy de A (es decir, es posible cambiar cualquier miembro de A a algo de lo contrario, para obtener una nueva entrada, A ' st valor de f en A y A ' son diferentes).Anf(A)AAAfAA

Por ejemplo, podría ser la suma o el promedio.f

¿Hay algún resultado que demuestre que, en algunas condiciones, el tiempo necesario para que una máquina de Turing determinista calcule será Ω ( n ) ?fΩ(n)

Виталий Олегович
fuente
Tenga en cuenta que si es una secuencia con acceso aleatorio, y el supuesto de sensibilidad se debilita, esto no siempre se cumple. Por ejemplo, ( i , x 1 , ... , x n ) x i se puede calcular con dos consultas, aunque no sea una junta. A(i,x1,,xn)xi
sdcvvc
@sdcvvc tu ejemplo me recuerda la enseñanza de idiomas C V[i]. ¿Cuál es la definición de junta ?
Виталий Олегович
2
Una junta es una función booleana que depende solo de k argumentos, es decir, hay un conjunto A { 1 , 2 , ... , n } de tamaño k tal que para cualquier x , y , si x e y difieren solo en las posiciones fuera de A , entonces f ( x ) = f ( y ) . Abuse de este término para referirme a una función que no depende de todos los argumentos. kkA{1,2,,n}kxyxyAf(x)=f(y)
sdcvvc
Si está tratando de encontrar soporte para su respuesta al problema de distancia promedio en math.se, desafortunadamente, esto no funcionará.
Aryabhata
@Aryabhata, la primera intención fue encontrar apoyo para mi respuesta a esta pregunta: math.stackexchange.com/questions/129969/… , pero lo único que dirá este resultado es que si hay vértices en el gráfico, el algoritmo calcular la distancia promedio será Ω ( n ) , lo cual es bastante obvio. He eliminado mi respuesta allí, porque como escribiste no probé nada. nΩ(n)
Виталий Олегович

Respuestas:

7

Debe especificar el modelo de cálculo y las propiedades de . En el siguiente argumento expondré los supuestos que necesito. Puede generalizarse un poco más, pero creo que debería ser suficiente para darle la idea.f

Suponga que la máquina nunca lee el valor de uno de los miembros de A (un conjunto fijo, y A se da como una lista). Suponga además que A es una entrada tal que cambiar el valor de su i- ésimo miembro no cambia la respuesta de M. Suponga además que f es sensible a todas las partes de la entrada, es decir, depende del mismo miembro de A (es decir, es posible cambiar cualquier miembro de A a otra cosa para obtener un nuevo valor de entrada A ' st de f en A y A ' son diferentes).MAAAiMfAAAfAA

Podemos usar un argumento adverso para mostrar que la máquina no puede calcular la respuesta correcta cambiando el valor de ese miembro de para obtener A ', de lo contrario, el valor de f es diferente. El valor de M en estos dos conjuntos es el mismo, por lo que uno de ellos debe ser falso y, por lo tanto, M no puede calcular f correctamente.AAfMMf

Por lo tanto, cualquier máquina que calcule f necesitará leer toda la entrada que toma pasos de Ω ( n ) .MfΩ(n)

(Por otro lado, suponga que tenemos una máquina de acceso aleatorio no determinista, y queremos calcular OR de los bits en la entrada. Podemos adivinar un bit de manera no determinista y verificar si es 1, si es 1, sacamos 1 . Esta máquina lee solamente un único bit de la entrada en pasos y respuestas correctamente el problema. Así que sin suposiciones sobre M y F el resultado no se mantiene.)O(lgn)Mf

Kaveh
fuente
Lo siento, olvidé escribir que mi modelo de cálculo era la máquina determinista de Turing.
Виталий Олегович
+1 para argumentos adversarios, que es una excelente manera de comenzar a comprender los límites inferiores.
Joe