{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "(grover)=\n", "# Introducción\n", "\n", "```{index} Grover (algoritmo)\n", "```\n", "El **algoritmo de grover** es uno de los algoritmos más utilizados en el mundo de la computación cuántica, y su finalidad explicada a grandes pinceladas es la siguiente: Supongamos que tenemos un conjunto desordenado de elementos y nos interesa reconocer uno de ellos. Con la computación clásica iríamos uno a uno viendo si es elemento que buscamos o no. Entonces con este método tardaríamos una media de N/2 (N es el número de elementos que tenemos). Pues bien con el algoritmo de Grover podemos reducir considerablemente ese número de intentos a $\\sqrt{N}$. Es decir si N=100, con un computador clásico en media hay que hacer 50 intentos, mientras que con este algoritmo, se reducirá a $\\sqrt{100}=10$ intentos.\n", "\n", "Para una explicación algo más detallada de esto se recomiendo ver Este vídeo , en el cual además de explicar de una forma muy intuitiva el algorimo, también tiene un documento que lo demuestra de una forma más técnica. Este documento lo podemos encontrar en este enlace .\n", "\n", "Si bien entender lo que hace el algoritmo es muy interesante, también es importante su implementación, para ello, se aconseja al lector igualmente ver este vídeo y el documento que explica esta implementación también se puede ver aquí. \n", "\n", "No obstante en este apartado vamos a profundizar con mayor grado de talle en este importante algoritmo para la computación cuántica. El esquema que define de una forma más técnica este algoritmo es el siguiente:\n", "\n", "