b'\n_START_ARTICLE_\nAlgoritmo de Grover\n_START_PARAGRAPH_\nEn computaci\xc3\xb3n cu\xc3\xa1ntica, el algoritmo de Grover es un algoritmo cu\xc3\xa1ntico para la b\xc3\xbasqueda en una secuencia no ordenada de datos con N componentes en un tiempo O (N1/2), y con una necesidad adicional de espacio de almacenamiento de O(logN) (v\xc3\xa9ase notaci\xc3\xb3n O). Fue inventado por Lov K. Grover en 1996._NEWLINE_En una b\xc3\xbasqueda normal de un dato, si tenemos una secuencia desordenada se debe realizar una inspecci\xc3\xb3n lineal, que necesita un tiempo de O (N), por lo que el algoritmo de Grover es una mejora bastante sustancial, evitando, adem\xc3\xa1s, la necesidad de la ordenaci\xc3\xb3n previa. La ganancia obtenida es "s\xc3\xb3lo" de la ra\xc3\xadz cuadrada, lo que contrasta con otras mejoras de los algoritmos cu\xc3\xa1nticos que obtienen mejoras de orden exponencial sobre sus contrapartidas cl\xc3\xa1sicas._NEWLINE_Al igual que otros algoritmos de naturaleza cu\xc3\xa1ntica, el algoritmo de Grover es un algoritmo de car\xc3\xa1cter probabil\xc3\xadstico, por lo que produce la respuesta correcta con una determinada probabilidad de error, que, no obstante, puede obtenerse tan baja como se desee por medio de iteraciones.\n_START_SECTION_\nAplicaciones\n_START_PARAGRAPH_\nAunque el prop\xc3\xb3sito del algoritmo es, como ha sido indicado, la b\xc3\xbasqueda en una secuencia, se podr\xc3\xada describir de una manera m\xc3\xa1s adecuada como la "inversi\xc3\xb3n de una funci\xc3\xb3n". As\xc3\xad, si tenemos la funci\xc3\xb3n y=f (x), que puede ser evaluada en un computador cu\xc3\xa1ntico, este algoritmo nos permite calcular el valor de x cuando se nos da como entrada el valor de y. Invertir una funci\xc3\xb3n puede relacionarse con la b\xc3\xbasqueda en una secuencia, si consideramos que la misma es una funci\xc3\xb3n que produce el valor de y como la posici\xc3\xb3n ocupada por el valor x en dicha secuencia._NEWLINE_El algoritmo de Grover tambi\xc3\xa9n se puede utilizar para el c\xc3\xa1lculo de la media y la mediana de un conjunto de n\xc3\xbameros, y para resolver otros problemas de naturaleza an\xc3\xa1loga. Tambi\xc3\xa9n se puede utilizar para resolver algunos problemas de naturaleza NP-completa, por medio de inspecciones exhaustivas en un espacio de posibles soluciones. Esto resulta en una apreciable mejora sobre soluciones cl\xc3\xa1sicas.\n_START_SECTION_\nImplementaci\xc3\xb3n\n_START_PARAGRAPH_\nA continuaci\xc3\xb3n presentamos una implementaci\xc3\xb3n concreta del algoritmo de Grover. Supongamos que tenemos una secuencia de 2\xe2\x81\xbf elementos que vamos a referenciar por su \xc3\xadndice x. Supongamos tambi\xc3\xa9n que disponemos de una funci\xc3\xb3n f (x) que nos dice si el valor almacenado en la posici\xc3\xb3n x es el que estamos buscando. En concreto sea f (x)=1 para el valor buscado y f (x)=0 para el resto.'