PP (clase de complejidad)

clase de complejidad

En teoría de la complejidad computacional PP, que quiere decir tiempo polinomial probabilístico, es una clase de problema de decisión resoluble por una máquina de Turing probabilística ( diferente de la máquina de Turing general o determinista, en que las transiciones entre estados tienen la misma probabilidad de ocurrencia) con un error de probabilidad de menos de 1/2 para todas las instancias.[1]

Ejemplos

editar

Un ejemplo de algoritmo con esta clase de complejidad es el Test de Solovay-Strassen que permite determinar si un número es primo o compuesto. El algoritmo tiene tiempo polinomial sobre la magnitud de la entrada. El algoritmo se basa en que si el número m de entrada es primo, entonces la salida es primo, pero si m es compuesto, la salida puede ser primo con probabilidad a lo más un medio. El algoritmo puede ser repetido cualquier número de veces con resultados independientes. Así, si la respueta alguna vez es compuesto, sabemos que es compuesto, mientras que si la respuesta es siempre primo, después de un número i de veces, entonces podemos decir sin apenas riesgo de equivocarnos que es primo, dado que fijado un compuesto cualquiera m, la probabilidad de que se diera ese resultado es menor que  [2]

Otro ejemplo es el algoritmo Berlekamp, para factorizar un polinomio f sobre el cuerpo de los campos de Galois.[2]

Referencias

editar
  1. Complexity Theory and Cryptology: An Introduction to Cryptocomplexity. pp 270. Jörg Rothe. Springer 2005
  2. a b Complejidad Algorítmica Archivado el 5 de marzo de 2017 en Wayback Machine.. Juan Luis Castro Peña. 1996 Depto. Ciencias de la Computación e Inteligencia Artificial. Universidad de Granada