Está en la página 1de 21
4418 Iniroduccién ala tora de autématas,lenguajes y computacion euidadosos en lo que respecta« lo que significa para la MT aceptar una entrada, ya que es posible que una MT con aleatoriedad no acepteningtn lenguaj. El problema es que cuando consideramos lo que una MT con aleatoriedad M proporciona como respuesta @ una entrada Ww, tenemos que considerar dicha maquina M con todos los contenidos posibles para la cinta sleatoria. Es muy posible que M acepte algunas cadenas aleatorias, y rechace otras; en realidad, para que Ia MT con aleatoriedad sea mas eficiente que una MT determinsta, es esencial que diferentes contenidos de la cinta aleatorizada lleven @ comportamientos distintos.S Supongamos que una MT con aleatoriedad acepta por estado final. al igual que una MT convencional, entonces cada entrada w ala MT con aleatoriedad M tiene cierta probabilidad de ser aceptada, que es la fraccién correspondiente a los contenidos posibles de la cinta aleatoria que llevan a la aceptaciGn, Dado que existe un riimero infinito de posibles contenidos de lacinta, debemos ser cuidadosos la hora de calcula esta probabilidad. Sin embargo, cualquier secuencia de movimientos que leve a la aceptacién se fija s6lo en una parte fnita dela cinta aleatoria, por lo que todo lo que se haya leo tend. una probabilidad finita igual a2-" si mes el niimero de casillas de la cinta aleatoria que se han explorado y que han intervenido en al menos un movimiento de la MT. El siguiente ejemplo ilustra el eflculo en un caso muy sencilo EJEMPLO 11.13 La MT con aleatoriedad M tiene la funcién de transicién mostrada en Ia Figura 11.7..M s6lo utiliza una cinta de entrada y la cinta aleatoria. Se comporta de una forma muy simple: nunca cambia un simbolo de ninguna cinta ¥y mueve sus cabezas s6lo hacia la derecha (direcciGn R) o las mantiene estacionarias(direceién S). Aunque n0 hemos definido una notacién formal para las transiciones de una MT con aleatoricdad, las entradas de la Figura 11.7 son ficiles de comprender. Cada fila se corresponde con un estado y cada columna con un par de simbolos XY, donde X es el simbolo explorado de la cinta de entrada e ¥ es el simbolo explorado de la cinta aleatoria. La entrada en la tabla de la forma qUVDE indica que la MT entra en el estado g, escribe U en la cinta de entrada, escribe V en la cinta aleatoria y mueve la cabeza de la cinta de entrada en la direccién Dy la cabeza de la cinta aleatoria en la direccién E. 00 1 lo u Bo Bl qOORSqs01SRqalORS qslISR as | q,00RS 2508S a nl0RS qa ROSS 43 | q300RR Qs1IRR quBOSS qsBISS “a Figura 11.7. La funci6n de transicién de una méquina de Turing con aleatoriedad. He aqui un resumen de e6mo se comporta M pare una cadena de entrada w formada por ceros y unos, En el estado inicial qo, M mira el primer bit aleatorio, y hace una de las dos comprobaciones relacionadas con w ependiendo de si dicho bit aleatorio es 0 0 1 Sil bit aleatorio es 0, entonces IM comprueba si w esté formada 0 no por un tinico simbolo (0 6 1). En este caso, M1 Ya no mira mas bis alestorios, ¥ mantiene estacionaria a cabeza de 1a segunda cinta. Si el primer bit de w es 0, entonces M pasa al estado qi. En este estado, M se mueve hacia la derecha pasando por encima de Ios ceros, y deja de funcionar si encuentra un 1, Si M alcanza el primer espacio en blanco de Ia cinta de en- trada estando en elestado gy, pasaal estado qa, el estado de aceptaci6n. De forma similar, siel primerbitde wes I, “Tenga ea cuenta que lu MT con alenoieda desea en el Eemplo 11.12 noes una MT que econozca leagues. En lugar de ello, relia una ransformaci desu enrada ysl Sempo deeecucion de Ia wansarmacin, no el revula, depends e To ue bier en ina alana CCaptulo 11 Otas cases ae problemas 419 ¥ el primer bit aleatorio es 0, M pasa al estado qa: en este estado, comprueba si Tos bits restantes de w son 1, y ‘acepta en dicho caso. ‘Ahora vamos a considerar lo que hace M si cl primer bit aleatorio es 1. Compara w con el segundo y los subsiguientes bits aleatorios, aeeptando slo si son iguales. Por tanto, en el estado qo, al leer un | en la segunda cinta, M pasa al estado qs. Observe que al hacer esto, M mueve la cabeza de la cinta aleatoria hacia la derecha, porlo que puede leer un nuevo bit aleatorio, mientras mantiene estacionaria Ia cabeza de Ia cinta de entrada de modo que la cadena completa w’ se comparard con los bits aleatorios. En el estado qs, M compara las dos cintas, moviendo amas cabezas hacia la derecha. Si encuentra un bit diferente en algn punto, se para y no acepta, ‘mientras que si alcanza ua espacio en blanco en la cinta de entrada, acepta. ‘Ahora calculamos la probabilidad de aceptacién de determinadas entradas. En primer lugar, consideramos uuna entrada homogénea, una que esti formada sélo por un simbolo, por ejemplo O* para algén # > 1. Con ‘probabilidad 1/2, el primer bit aleatorio serd 0, si es asi, entonces la comprobacién relativa a la homogeneidad tendré éxito, y 0 Finalmente serd aceptado. Sin embargo, también con probabilidad 1/2 el primer bit aleatorio ‘puede ser 1, En este caro, 0! send acoptado al y lo si loo doo probabilidad 2~, Por tanto, la probabilidad total de aceptacién de 0! es: wweloatorion ai | 1 gon todos 0. Esto oourre con l privet Bie rh wie CConsideremos ahora e] caso de una entrada hetereogénea w, es decit, una entrada que consta de ceros y ‘unos, como por ejemplo, 00101. Esta entrada nunca serd aceptada si el primer bit aleatorio es 0. Si el primer bit aleatorio es 1, entonces su probabilidad de aceptacién es 2~', donde é es la longitud de la entrada. Por tanto, la probabilidad total de aceptacién de una entrada hetereogénea de longitud i es 2"). Por ejemplo, la probabilidad de aceptacién de 00101 es 1/64. o La conclusién a la que se llega es que podemos calcular la probabilidad de aceptacién de cualquier cadena dada mediante cualquier MT con aleatoriedud dada, El que la cadena pertenezca o no al lenguaje depende de como se haya defnido la “pertenencia” al lenguaje de Ia MT con aleatoriedad, En las siguientes secciones proporcionaremos dos definiciones distintas de aveptacién, levando cada una de ellas a una clase diferente de Tenguajes. 11.4.4 Laclase RP La base de la primera clase de lenguajes, denominada RP (“random polynomial”, polinémica aleatoria) es que para pertenecer a RP, un lenguaje L.tiene que ser aceptado por una MT con aleatoriedad en el sentido siguiente: 1. Siw no pertenece a Z, entonces la probabilidad de que M acepte w es 0. 2. Siw perteneve a L, entonces la probabilidad de que M acepte w es, como minimo, 1/2 3. Existe un polinomio T(n) tal que si la entrada w tiene una Jongitud n, entonces todas las ejecuciones de M, independientemente del contenido de la cinta uleatoria, se paran después de, como méximo, 7 (1) pasos. ‘Observe que Ia definicidn de RP trata dos euestiones independientes. Los puntos (1) y (2) definen una ‘miquina de Turing con aleatoriedad de un tipo especial, que en oeasiones recibe el nombre de algoritmo de Monte-Cario. Esdecir.independientemente del tiempo deejecucién, podemos deci que una MT con aleatoriedad es de tipo “Monte-Carlo” si bien acepta con probabilidad 0, 0 acepta con probabilidad igual o mayor que 1/2, sin casos intermedios. El punto (3) simplemente hace referencia al tiempo de ejecucién, que es independiente de sila MT es de tipo “Monte-Carlo” o no. 420 Intreduesin ala terla de autbmatas,lengueles y computacion No determinismo y aleatoriedad Existen algunas similitudes superficiales entre una MT con aleatoriedad y una MT no determinista, Po- demos imaginar que las opciones no deterministas de una MTN son controladas por una cinta con bits aleatarios, y que cada vez que la MTN elige un movimiento, consulta la cinta aleatoria y selecciona de centre las posibles opciones de igual probabilidad. Sin embargo, si interpretamos una MTN de esta manera, centonces Ia regla de aceptacién tiene que ser diferente de la regla que hemos empleado para RP. Una entrada serfa rechazada si su probabilidad de aceptacién fuera 0 y serfa aceptada si su probabilidad de aceplaciGn fuera cualquier valor mayor que 0, independientemente de To pequeo que pueda ser, EJEMPLO 11.14 Considere Ia MT con aleatoriedad del Bjemplo 11.13. la cual satisface 1a condicién (3), ya que su tiempo de ejecucisn es O(n) independientemente del contenido de la cinta aleatoria. Sin embargo, no acepta ningin lenguaje, en el sentido requerido por la definicién de RP. La raz6n de ello es que, mientras que las entradas ‘omogéneas como 00 son aceptadas con una probabilidad que es como mfnimoigual a 1/2, por tanto satisfacen el punto (2), existen otras entradas, como 001, que son aceptadas con wna probabilidad que no es ni 0 ni como ‘minimo 1/2; por ejemplo, 001 es aceptada con una probabilidad de 1/16 o EJEMPLO 11.15, Vamos a describirinformalmente una MT con alestoriedad que opera en tiempo polinémico y que es de tipo Monte-Carlo, y que por tanto acepta un lenguaje de RP. Interpretaremos la entrada como un grafoy la cuesti6n es determinar si el grafo contiene un tridngulo, es decir, tes nodos en los que todos los pares esti conectados ‘mediante areos. Las entradas que contienen un trigagulo pertenecen al lenguaje y las demas no El algoritmo de Monte-Carlo selecciona repetidamente un arc (x.y) aleatoriamente y un nodo s istnto de xe y; también de forma aleatria, Cada eleccién se determina buscando algunos de Tos nuevos bits aleatorios dela cinta aleatoria Para cada. yy zseleecionados, laMMT comprucbasi la entrada contiene arcos(x,2) (3). y sies asi declara que el grafo de entrada contiene un tridagulo. Se reatizan un total de & eleceiones de un arco y un nodo. La MT acepta si cualquiera de ella resulta ser wn tridngulo,y en caso contrario, termina y no acepta, Si el grafo no contiene un tridngulo, entonces noes posible «que una de las elecciones sea un tringulo, por lo que la condicién (1) dela definicign de RP se cumple: sila entrada no pertenece al lengua, la probabil de aeptaciin es 0 Supongamos que el grafo tiene n nodos y ¢ arcos. Si el graf tiene al menos un trngulo,entonces la probabitidad de que sus tes nodos sean seleccionados en cuslguierexperimento es (3)( 43). Es decir, es de Jos ¢ arcos estén en el tingulo y si cualquiera de estos tres es seleccionado, entonees la probabilidad de que el tercer nodo tumbin sea seleesionado es igual x /(n— 2). Esta probabilidad es baja, peso el experimento se repitek veces. La probabilidad de que ninguno de los & experimentos proporcione un ting es pe ane ws a3 Existe una aproximacién comiinmente utilizada que establece que para x pequefo, (1 ~x)* es aproximada- ‘mente igual a e~®, donde e = 2.718--- es la base de los logaritmos naturales. Por tanto, si elegimos k tal que kex= I, por ejemplo, e* serd significativamente menor que 1/2 y 1 —e~** seré signifieativamente mayor que 1/2, aproximadamente 0.63, para ser precisos. Por tanto, podemos elegir k = e(n~2)/3 conel fn de garantizar aT Captulo 11 Oras clases de problemas 421 Es especial la fraccién 1/2 en la definicién de RP? Aunque hemos definido RP con el requisito de que la probabilidad de aceptacién de wna cadena w de L sea como minimo 1/2, podriamos haber definido RP empleando cualquier constante definida entre 0 y | en lugar de 1/2. El Teorema 11.16 establece que, repitiendo el experimento que realiza M el niimero apropiado de veces, podriamos aumentar la probabilidad de aceptacién tanto como desedramos, sin Iegar a 1. Ademds, la misma técnica para disminuir la probabilidad de no aceptacién de una cadena de que utilizamos en Ia Seecién 11.4.5 nos permitirfa partir de una MT con aleatoriedad con cualquier probabilidad mayor que 0 de aceptar w de L e inerementar dicha probabilidad a 1/2 repitiendo el experimento un niimero constante de veces. | ‘Vamos a contnuarrequiriendo que la probabilidad de aeptacin en In defnicion de RP sea 12, pero ebemos ser conscients de que basta con emplear cualquier probabilidad dstnta de cero en la defiicin dla lace AP, Por oto lado, el cambiar la conatants de 1/220 modiicaré el lenguajedefinido por una TM con aleatoriedad determinada. Por ejemplo, tfese en el Ejemplo 11-14 emo disminur la probabiidad requerida a 1/16 pora hacer que la cadena O01 perenecier al lenguaje dela MT con alestoriedad que se utiaba al {que la probabilidad de aceptacién de un grafo con un triéngulo, de acuerdo con la Ecuacién 11.4, es como ‘minimo 1/2. Luego el algoritmo descrito es de Monte-Carlo. Ahora debemos tener en cuenta el tiempo de ejecueidn de la MT. Tanto e como n no son mayores que Ja longitud de entrada, y K se ha seleccionado para no ser mayor que el cuadrado de la longitud, ya que es pproporcional al producto de ¢ por n. Cada experimento es lineal con respecto a la longitud de entrada, ya que explora la entrada como maximo cuatro veces (para seleccionarel arco y el nodo aleatorios, y comprobar después Ja presencia de dos arcos més). Por tanto, la MT se para después de un tiempo que es alo sumo ctibico respecto de la longitud de entrada; es decir, la MT tiene un tiempo de ejecucién polinémico y, por tanto, satisface la tercera y ltima condieién para que un lenguaje pertenezea a RP. ‘Concluimos que el lenguaje de lo« grafos que contienen un tidngulo pertenece a la clase RP. Observe que este lenguaje tambign pertenece a P, ya que se podria realizar una bisqueda sistematica de todas las posibilidades de existencia de tiingulos. Sin embargo, como hemos mencionado al principio de la Secci6n 11.4, realmente es complicado encontrar ejemplos que parezcan pertenecer a RP— P. a 11.4.5 Reconocimiento de los lenguajes de KP ‘Supongamos ahora que disponemos de una méquina de Turing de tipo Monte-Carlo que trabaja en tiempo ppolinémico M para reconocer un Ienguaje L, Tenemos una cadena w, y queremos saber si w pertenece a L. Si ejecutamos M para L,utilizando el método de Lanzar monedas o algtin otro dispositive de generacién de nimeros aleatorios para simular la creacién de bits aleatorios. sabemos que: 1, Siwno pertenece a L, entonces la ejecucién seguramente no levaré ala aceptacién de w 2, Siw pertenece a L, existe al menos una probabilidad del SO‘ de que w sea aceptada, Sin embargo, si simplemente tomamos cl resultado de esta cjeeucién como definitive, cn ocasiones reeha- zatemos cadenas w que deberian ser aceptadas (un resultado falso negativo), aunque nunca las aceptaremos ‘cuando no se debe (un resultado falso positivo). Por tanto, tenemos que distinguir entre la propia MT con alea- toriedad y el algoritmo que utilicemos para decidir si w pertenece o no a L. Nunca podremos evitar todos los 422 noduecién ala teora de aurématae, lenguajeey computacién falsos negativos, aunque repetiendo la prueba muchas veces, podemos reducir Ia probabilidad de obiener un fulso negativo hasta valores tan bajos como deseemos. Por ejemplo, si queremos que 1a probabilidad de obtener un falso negativo sea uno entre mil millones, ppodemos ejecutar la prucha treinta veces. Siw pertenece a Z, entonces la probabilidad de que las treinta pruebas fallen en llevar ala aceptacign no es mayor que 2-°, lo que es menor que 10~®, es decir uno entre mil millones. En general, i deseamos una probabilidad de obtener un falso negativo menor que c > O, tendremos que ejecutar Ja prueba logy(1/c) veces. Dado que este néimero es una constante sic lo es, y puesto que una ejecucidn de la [MT con aleatoriedad M tarda un tiempo polinémico, porque se supone que L pertenece a RP, sabemos que la prucba repetida también tarda un tiempo que es polinémico. El resultado de estas consideraciones se enuncia a ‘continuaciGn en forma de teorema. | ‘TEOREMA 11.16 Si L pertenece a RP, entonces para cualquier constante c > 0, independientemente de lo pequeiia que sea, ‘existe un algoritmo con aleatoriedasd sn tiempo polinémico que decide si wne entreda dada. pertencee a L, sin ‘generar errores de falso-positivo, y parael que la probabilidad de cometer errores de falso-negativo no es mayor que e a 11.4.6 Laclase zPP La segunda clase de lenguajes con aleatoriedad que vamos a ver se denominan ZPP (zero-error, probabilistic, ‘polynomial, polin6micos, probabilisticos, con error cero). Esta clase se basa en una MT con aleatoriedad que siempre se para y que tiene un tiempo esperado de parada que es polinGmico con respecto a la longitud de la entrada, Esta MT acepta la entrada si pasa a un estado de aceptaci6n (y por tanto se para en dicho instante), y rechaza la entrada si se para sin aceptarla, Por tanto, Ia definicién de la clase ZPP es casi la misma que la ‘definiciOn de P, excepto en que ZPP permite que la MT utilce la aleatoriedad y se mide el tiempo de ejecucién cesperado en lugar del tiempo de ejecucién del caso peor. ‘Una MT que siempre proporciona la respuesta correcta, pero cuyo tiempo de ejecucién varia dependiendo 4delos valores de algunos bits aleatorios, en acasiones, se denomina méquina de Turing de Las-Vegas6 algoritmo de Las-Vegas, Podemos entonces interpretar Ia clase ZPP como los lenguajes aceptados por las méquinas de ‘Turing de Las-Vegas en las que el tempo de ejecucisn esperado es polinsmico, 11.4.7. Relaciones entre RP y ZPP Existe una relaccn simpleentre las dos clases con aleatoriedad que hemosdefinido, Para enunuciaresteteorema, primero tenemos que determinar los complementarios de las clases, Debe estar claro que siL pertenece a ZPP, | entonces Z tambign pertenece. La razén de esto es que, siL es aceptado por una MT de Las-Vegas M con un | tiempo de ejecucidn esperado polindmico, entonces es aceptado por una modificacién de M en la que hacemos ‘que M se pare sin aceptar cuando antes se detenta aceptando, y vieevers. ‘Sinembargo, no resulta obvio que RP sea cerrado para la complementacién, ya que ladefinicién de méguina ‘de Turing de Monte-Carlo rata de forma asimStrica a aceptacién yelrechazo. Portanto, definimoslaclaseco-RP | ‘de modo que seael conjunto de los lenguajes L tales que pertenece a RP: es decir, co-RP es cl complementario de Tos lenguajes que pertenecen a RP. 01.201 basen Rau andatnDOnOOnOOBESDED HOD ggHHRPYSENOIOSSOSESRISNIS/SISIPUNRISTONIONEE zPP. P coe RP. DEMOSTRACION. En primer lugar, demostramos que RP © co-RP C ZPP. Supongamos que L pertenece a RPV \co-RP. Fs decir, tanto Z como T. son reconocides en tiempo polinsmico por una MT de Monte-Carlo, eee eed Capitulo 11 Otas cases de problemas 423, Suponemos que p(n) es un polinomio de grado Io suficientemente grande como para limitar los tiempos de ejecucién de ambas miquinas. Diseflamos una MT de Las-Vegas Mf para L como sigue. 1. jecutamos la MT de Monte-Carlo para L; si acepta, entones M acepta y se para 2. $i no, ejecutamos la MT de Monte-Carlo para Z. Si dicha MT acepta,entonces M se para sin aeepta. En aso gontririo, M vuelve al pas0 (1), Estd claro que M s6lo acepta una entrada w si w pertenece aL, y s6lo rechaza w si w no pertenece a L. El tiempo de ejecucidn esperado de una iteracidn (una ejecueién de los pasos 1 y 2) es 2p(n). Ademis, la probabilidad de que cualquier iteracisn resuelva el problemaes, como minimo, 1/2. Siw pertenece aL, entonces el paso (1) tiene una probabilidad del 50% de Hevar a M a un estado de aceptaciGn, y si w no pertenece a L, entonces el paso (2) tiene una probabilidad del 50°% de que M Ia rechace. Por tanto, el tiempo de ejecucién esperado de M no es mayor que: 2p(n)+ 2p(n) + 2p(n) += 4p(n) Consideremos ahora la situaci6n inversa: suponemos que L pertenece a ZPP y queremos demostrar que L pertenece a RP y a co-RP. Sabemos que Les aceptado por la MT Las-Vegas Mj, cuyo tiempo de ejecucién ‘esperado es un polinomio p(n). Construimos una MT de Monte-Carlo My para L como sigue, Mj simula M, durante 2p(n) pasos. Si M, acepta durante este tiempo, también lo hace My; en cuso contrario, My rechaza, Supongamos que la entrada w de longitud » no pertenece a L. Entonees Mj no aceptard w y, por tanto, Mz tampoco. Supongamos ahora que w pertenece a FM; aceptaré finalmente w, pero puede hacerio o no en como maximo 2p(n) pasos. Sin embargo, hemos afirmado que la probabilidad de que Mj acepte w en como méximo 2p(n) pasos es como :minimo 1/2. Supongamos que la probabilidad de aceptacién de w por parte de M; en un tiempo 2p(1) fuera la constante c < 1/2. Entonces el tiempo de ejecucién esperado de Mj para al entrada w es al menos (1~c)2p(n}, ya gue | — ces la probabilidad de que M, tarde mds de 2p(n). Sin embargo, sic < 1/2, entonces 2(1—e) > 1 ¥yel tempo de ejecucién esperado de M; para w es mayor que p(n). Hemos legado a una contradiceién de Ia firmacién que hemos hecho de que M; tiene un tiempo de ejcucién esperado de camo maximo p(n) y podemos coneluir por tanto que la probabilidad de que Mz acepte es como minimo 1/2. Por tanto, M; es un MT de Monte-Carlo con un tiempo de ejecucién polinémica limitado, lo que demuestra que L pertenece a RP. Para demostrar que L también pertenece a co-RP, utilizamos bésicamente la misma construcciGn, pero complementamos el resultado de Mz. Es decir, para aceptar Z, Mz tiene que aceptar cuando M, rechaza en un tiempo menor o igual que 2p(n). mientras que Ms rechaza en cualquier otro caso, Ahora, Mz es una MT de ‘Monte-Carlo cuyo tiempo de ejecucién es polinémico y esta limitado para L. a 11.4.8 Relaciones de las clases P y NP EI Teorema 1.17 establece que ZPP C RP. Podemos incluir estas clases entre P y NP mediante los siguientes teoremas. TROREMA 11.18, DEMOSTRACION. Cuzlquier MT determinista que funcione en tiempo polinémico limitado también es una MT de Las-Vegas que funciona en tiempo polinémico limitado, que no utiliza su capacidad para realizar elecciones aleatorias. c 424 Inirodvocién ala teoria de autématas, longus y computacion TEOREMA 1.9 RP CNP. DEMOSTRACION. Supongamos que disponemos de una MT de Monte-Carlo que funciona en tiempo potinsmico limitado M; para un lenguaje L. Podemos construir una MT no determinista M; para L con el mismo limite de tiempo. Cuando M; examina un bitaleatorio por primera vez, Mz selecciona, no de manera determinista, los dos posibles valores paca dicho bit, y Io escribe en una de sus cintas que simula la cinta aleatoria de My. Mz acepta ‘cuando Mj acepta, ¥ no acepta en cualquier otro caso. Supougamus que w perteucce « Z, Eutuuces, day que Mf tiene wury anfuiny wna prubebitidad del 50% de aceptar Ww, tiene que existir alguna secuencia de bits en su cinta aleatoria que lleva a Ia aceptacién de w. Mz seleccionard dicha secuencia de bits, entre otras, y por tanto también acepta cuando se hace dicha eleccién. Por tanto, w pertenece a L(™Mz). Sin embargo, si ww no pertenece a Z, entonces ninguna secuencia de bits aleatorios hard que M; acepte y, por tanto, ninguna secuencia de opeiones hace que M; acepte. Por tanto, w no pertenece als) 0 La Figura 11.8 muestra las relaciones entre las clases que hemos presentado y las otras clases “proximas”. 11.5 La complejidad de la prueba de primalidad Enesta secci6n, vamos a ver un problema concreto: comprobar si un niimero entero es primo. Vamos a explicar por qué los niimeros primos y la prueba de primalidad son ingredientes fundamentales de los sistemas de lad de las computadoras. Demostraremos entonces que los mimeros primos pertenecen a NP y a co-NP. RP. Figura 11.8, Relaciones de ZPP y RP con otras clases. Capitulo 11 Otras cases de problemas 425, 11.5.1. La importancia de la prueba de primalidad Un entero p es primo si s6lo es divisible por 1 y por sf mismo (p). Si un entero no es primo, se dice que es compuesto. Todo niimero compuesto puede escribirse como el producto de nimeros primos de una tinica forma, excepto por lo que respeeta al orden de Tos factores. EJEMPLO 11.20. Los primeros niimeros primos son 2, 3, 5, 7, 11, 13 y 17. El entero 504 es compuesto y su descomposici ractores primos es 2° x 3? x I u Existen una serie de técnicas que mejoran la seguridad de las computadoras, para las que la mayor parte de los métodos comunes que se usan actualmente se basan en la suposicién de que es dificil descomponer en factores los miimeros, es decir, dado un nsimero compuesto, determinar sus factores primos. En particular, estos esquemas, basudos en los eddigos RSA (R. Rivest, A. Shamir y L. Adelman, los inventores de esta técnica) utilizan enteros de, por ejemplo, 128 bits que son el producto de dos nimeros primos, cada uno de aproximadamente 64 bits. He agut dos escenarios en los que Tos nmeros primos desempefian un papel importante. Criptografia de clave piiblica ‘Suponga que desea comprar un libro en una lirerfa de Internet El vendedor le solicit el niimero de su tarjeta de crédito, pero es demasiado arriesgado escribir el nimero en un formulario y enviar dicho formulario a través de las lneas telefnieas o de Internet. La raz6n esque alguien podrfa pinchar su linea ointerceptar los paquets ue viajan por Internet Para evtar que un espla pueda leer el nimera de su tarjeta de crédito, el vendor enviaa su explorador una clave k,quizé el producto de 128-bits de dos nsimeros primos, que la omputadoradel vendedorha generados6lo para ste propésito. Suexplorador utiliza una funcién y= f(x) que tomalla clave k y ls datosx que se nevestan para realizar el cifrado. La funcién f, que es parte del esquema RSA, generalmente puede ser conoeida incluso por los potenciales espas, pero sino se conoce la descomposiisn en fatores de k, la funciGn inversa ff! tal dave ¥ = fc"(9) na se mwedecalenlar en un tiempo que sea menor que un tiempo exponencial respecto de la Tongitud de k Por tanto, incluso aunque un espfa veayy sepa cémo funciona f, sin resolver primero qué es ky descompo- nigndola luego en factores, el espfa no puede recuperar x, que en este caso es el nlimero de su tarjeta de crédito. Sin embargo, el vender, que conoce la descompoxicién en factores de la clave k porque la ha generado, puede aplicar féilmente fy recuperarx de y Firmas de clave publica El escenario original para el que se desarrollaron los e6digos RSA es el siguiente. Imagine que pudiera “firmar” stis carrens electréniens de manera que los receptones pusdieran determinar ficilmente que dicho correo es suyo, y que nadie pueda “falsificar” su firma, Por ejemplo, desea firmar el mensaje x = “Prometo pagar a Sara Lépez 10 curas”, pero no quiere que Sara pueda crear ella misma ese mensaje firmado, ni que tampoco una tercera persona cree tal mensaje firmado sin su conocimiento. Para dar soporte a estos objetivos, selecciona una clave &, cuya descomposicién en factores primos s6lo usted connce. Hace piihliea In clave . por ejemplo en su sitio weh. de modo que cualquiera pueda ani funcién f; a cualquier mensaje, Si desea firmar el mensaje x anterior y envisrselo a Sara, calcula y= f'(x) y enviayy en lugar del mensaje a Sara. Sara puede conseguir f, su clave piblica, de su sitio web y conellacalcular ‘fa()). Por tamto, Sara sabe que usted ha prometido pagarle los 10 euros. an | 426 Introduccién ala teorfa de automata, lenguales y computacion Si usted negara haber enviado ef mensaje y. Sara pucde argumentar ante un juez que slo usted conoce ta funcidn fc", y seria “imposible” que ella o cualquier otra persona haya deseubieto esa funcién, Por tanto, s6lo usted podria haber creado y. Este sistema se basa en la suposicién muy probable pero no probada de que «3 extremadamente dificil descomponer en Factores los mimcros que son cl producto de dos nsimeres primos sgrandes, Requisitos relativos complejidad de la prueba de primalidad Los dos escenarios anteriores funcionan y son seguros, en el sentido de que realmente tardan un tiempo expo- nencial en descomponer en factores el producto de dos niimeros primos grandes. La teoria de la complejidad {que hemos estudiado aqui y en el Capitulo 10 tiene que ver con el estudio de la seguridad y la criptogragia de dos maneras: 1. La construccién de claves pUiblicas requiere que seamos capaces de determinar répidamente niimeros pprimos grandes. Es un hecho bésico de la teoria de nlimeros que la probabilidad de que un miimero de inbits sea primo es del orden de 1/n. Por tanto, si tuviéramos un algoritmo que comprobase en tiempo polinémico (en n, no respecto del valor del propio niimero primo) si un mimero de n-bits es primo, podrfamos seleccionar nimeros al azar, comprobarlos y parar al encontrar uno que fuera primo, Esto ros proporcionaria un algoritmo de Las- Vegas que opera en tiempo polinémico para descubrir miimeros primos, ya que el niimero esperado de mimeros que hay que comprobar antes de encontrar un ncimero primo de n bits es de aproximadamente n, Por ejemplo, si buscamos primos de 64-bits, tendremos que ‘comprobar aproximadamente 64 enteros por término medio, aunque con muy mala suerte podriamos tener que probar una cantidad infinitamente mayor. Lamentablemente, no parece exisitir una prueba en tiempo polinémico garantizada para localizar niimeros primos, aunque esté disponible un algoritmo de Monte-Carlo que trahaja en tiempo polinémico. coma hemas visio en Ia Seceién 11.5.4. La seguridad ¢e la criptografia basada en RSA depende de que no exista ninguna forma polindmica (respeeto al nero de bits dela clave) de descomponer en factores en general, yen particular ninguna forma de descomponerenfactores un mimera que se sabe que s el producto de exaetamente dos mimeros primos grandes. Serfamos felices si pudigramos demostrar que el conjunto de los nimeros primos es un Tenguaje NP-Loinplet v inctasy que el eunjunty de lus nics wuupucstus &» NP-vomplew, parque entonces, un algoritmo de descomposicisn en factores en tiempo polinémico demostraria que P = NP. ya «que proporcionaria pruebas en tiempo polinémico para ambos tipos de lenguajs. Sin embargo, veremos, nla Seccién 11.5.5 que tanto los mimeros primos como los miimeros compuesto pertenecen a NP. Dado «que son complementarios entre sf, si uno fuera NP-completo, se deducirla que NP = c0-NP, Jo que es dudoso, Ademés, el hecho de que el conjunta de los niimeros primos pertenezea a RP significa que Si pudiramos demostrar que el conjunto de los nimeros primos es NP-completo, entonces podrfamos concluir que RP = NP, lo que también es muy improbable. 11.5.2 Introduccion a la aritmética modular Antes de considerar Ios algoritmos que permiten reconacer el conjunto de los niimeros primos, vamos a pre- sentar algunos conceptos bisicos relacionados con la ariimética modular, es decir, ls operaciones aritméticas habitwales ejecutadas tomando el médulo de alin entero, a menudo un primo. Sea p cualquier entero. Los enteros médulo p S00 0, 1,...,P— 1 Podemos definir la suma y la multiplicacién médulo p para aplicarlas6lo a este conjunto de p enteros realizando el cdleulo ordinarioy obteniendo el resto de dividir entre pel resultado. La suma es muy sencilla ya aque la suma bien es menor que p, en euyo caso no hay nada mis que hacer, o se encuentra entre p y 2p —2,en cuyo caso restamos p para obtener un entero perteneciente al rango 0|,....p—1. La suma modular sigue las leyes algebraicas habituales; es conmutativa, asociativa y su elemento identidad es 0. La rest es In operacién TE Capitulo 11 Ovas eases de problemas 427 inversa de la suma y podemos calcular la diferencia modular xy restando como siempre, y sumando p si cl resultado es menor que 0. La negacién de x, que es —x, ¢s lo mismo que 0 —-x, igual que en la aritmética ondinaria, Por tanto, -0 = 0, y six #0, entonces —xes igual a px EJEMPLO 11.21 ‘Supongamos que p = 13. Entonces 3+5=8 y 7+ 10 =4. En el ultimo caso, observe que en Ia aritmética ordinaria, 7 +10 = 17, que no es menor que 13. Por tanto, restamos 13 para obtener el resultado correcto, que es 4, El valor de 5 médulo 13 es 13 —5, es decir 8. La diferencia Il —4 médulo 13 es 7, mientras que la diferencia 411 es 6. En este cltimo caso, en la ariumética ordinaria, 4~ 11 = —7, por lo que tenemos que sumar 13 para obtener 6. a La multplicacién médulo p se realiza multiplicando como si fueran aimeros ordinarios y luego se toma el resto del resultado dividido entre p. La multiplicacién también satisfuce las leyes algebraicas usuales; es conmutativa y asociativa, I cs el elemento neutro, 0s el elemento nulo y es distributiva respecto de Ia suma, ‘Sin embargo, la divisién por valores distintos de cero es més complicada e incluso la existencia de inversos para Ios enteros médulo p depende de si p es 0 no primo. En general, six es uno de los enteros médulo p, es deci 1 existe, tal que xy = I médulo p. +0 1/axes dicho niimero y, 0

También podría gustarte