Algoritmo Karp-Rabin
Es un Algoritmo de búsqueda de subcadenas simple enunciado por Michael Oser Rabin y Richard Manning Karp en 1987.[1] Este algoritmo se basa en tratar cada uno de los grupos de m caracteres del texto (siendo m el número de símbolos del patrón) del texto como un índice de una tabla de valores hash (la llamaremos tabla de dispersión), de manera que si la función hash de los m caracteres del texto coincide con la del patrón es posible que hayamos encontrado un acierto.para verificarlo hay que comparar el texto con el patrón, ya que la función hash elegida puede presentar colisiones.es un número primo grande que será el tamaño de la tabla de dispersión yse calcula de la forma indicada más abajo.que en el planteamiento original coincide con el tamaño del alfabeto.correspondiente a la subcadena de textoxi+1=xi×B-Ci×Bm+Ci+m Es decir, si la cadena es un número en base B, el nuevo valor será el resultado de multiplicar por la base el valor anterior eliminado el dígito de mayor peso (ya que no está en la cadena) y añadiendo como componente de menor peso el valor del nuevo símbolo.Siguiendo este planteamiento, y dependiendo de la longitud del patrón, elpodría superar el rango de enteros representable por el computador.Para que esto no suceda se usa la función módulo (resto de la división).U Politécnica de Valencia