Вы находитесь на странице: 1из 22

Modelos de Informtica Terica Captulo 7 - Algoritmos de MonteCarlo

Serafn Moral Callejn Departamento de Ciencias de la Computacin Universidad de Granada

Modelos de Informtica TericaCaptulo 7 - Algoritmos de MonteCarlo p.1/20

Contenido
Los algoritmos de Monte-Carlo se aplican a la resolucin de problemas de decisin NP-difciles. Son algoritmos polinmicos, pero algunas veces no dan la respuesta correcta. Problema de la consistencia Races de un polinomio y acoplamiento por parejas La clase RP Algoritmos de las Vegas: clase ZPP Clases PP y BPP Estructura de clases

Modelos de Informtica TericaCaptulo 7 - Algoritmos de MonteCarlo p.2/20

Algoritmos de MonteCarlo
Son algoritmos, en general no deterministas, para problemas de decisin que, a veces, no dan la respuesta correcta.

Modelos de Informtica TericaCaptulo 7 - Algoritmos de MonteCarlo p.3/20

Algoritmos de MonteCarlo
Son algoritmos, en general no deterministas, para problemas de decisin que, a veces, no dan la respuesta correcta. Un algoritmo de MonteCarlo para el problema de la consistencia: 1. 2. 3. 4. Comenzamos con una asignacin de valores de verdad cualquiera T Si para T se satisfacen todas las clusulas, entonces hay consistencia En otro caso, elegir una clusula falsa, cambiar el valor de verdad de algunas de sus variables. Si ya hemos realizado r cambios, terminar, diciendo que hay inconsistencia. En otro caso, ir al paso 2.

Modelos de Informtica TericaCaptulo 7 - Algoritmos de MonteCarlo p.3/20

Algoritmos de MonteCarlo
Son algoritmos, en general no deterministas, para problemas de decisin que, a veces, no dan la respuesta correcta. Un algoritmo de MonteCarlo para el problema de la consistencia: 1. 2. 3. 4. Comenzamos con una asignacin de valores de verdad cualquiera T Si para T se satisfacen todas las clusulas, entonces hay consistencia En otro caso, elegir una clusula falsa, cambiar el valor de verdad de algunas de sus variables. Si ya hemos realizado r cambios, terminar, diciendo que hay inconsistencia. En otro caso, ir al paso 2.

Este algoritmo, si las clusulas son inconsistentes, dir inconsistentes. Cuando son consistentes, algunas veces dir consistentes y otras inconsistentes. Cuando dice consistentes no hay duda. Si dice inconsistentes, hay duda. Modelos de Informtica TericaCaptulo 7 - Algoritmos de MonteCarlo p.3/20

Teorema
Teorema: Si este algoritmo se aplica a n clusulas de longitud 2 y r 2n2 , entonces si las clusulas son consistentes, la probabilidad de encontrar una asignacin verdadera es mayor o igual que 1/2.

Respuesta Correcta SI Respuesta Algoritmo SI 05


NO Respuesta Algoritmo NO 10

NO 05

Modelos de Informtica TericaCaptulo 7 - Algoritmos de MonteCarlo p.4/20

Aumentando la probabilidad de acertar


Si podemos demostrar que la probabilidad de encontrar una asignacin consistente es mayor o igual que 1/2, entonces la podemos hacer tan cercana a uno como queramos. Si repetimos el mismo algoritmo k veces, y decimos que es consistente si en una de las k veces resulta consistente, entonces P DecirConsistente Consistente 1 1 2
k

Modelos de Informtica TericaCaptulo 7 - Algoritmos de MonteCarlo p.5/20

Determinantes Simblicos
Sea un problema del acoplamiento de parejas: G U V E donde U u 1 u2 un V v1 v2 vn E U V .

u1 u2 u3

v1 v2 v3

un U V

vn

Modelos de Informtica TericaCaptulo 7 - Algoritmos de MonteCarlo p.6/20

Determinante
Consideremos la matriz AG donde

ai j

n n

ai j

xi j 0

si ui v j E en otro caso

El determinante de AG es AG

ai i

i 1

donde es una permutacin y su signatura.

Modelos de Informtica TericaCaptulo 7 - Algoritmos de MonteCarlo p.7/20

Determinante y Acoplamiento
AG

ai i

i 1

G tiene un acomplamiento si y solo si este determinante no es identicamente igual a 0. Un acoplamiento lleva asociado una permutacin . i es el ndice del compaero de ui : uu v i estn en el acoplamiento. Un acoplamiento da lugar a un factor que es distinto de cero y que no puede compensarse con ningn otro factor. Si no est asociado a un acoplamiento, al menos, uno de los factores que se multiplica es 0, y el producto es cero. Si no hay un acoplamiento todos los sumandos son cero.

Modelos de Informtica TericaCaptulo 7 - Algoritmos de MonteCarlo p.8/20

Polinomios Iguales a 0
Si las variables se sustituyen por nmeros, entonces el determinante se puede calcular en tiempo O n3 . Sea R x1 xm un polinomio, no idnticamente 0, tal que en cada variable el grado es lo ms d, y sea M 0, entonces la cantidad de m-tuplas c1 cm 01 M 1 m tales que R c1 cm 0 es, a lo ms, mdM m 1 .

Demostracin: La haremos por induccin sobre m. Para m 1 es trivialmente cierto porque un polinomio de grado d tiene a lo ms d ceros. Supongmoslo cierto para m 1 variables y vamos a demostrarlo para m variables. Escribamos R como un polinomio en xm con coecientes xm 1 . que son polinomios en x1

Modelos de Informtica TericaCaptulo 7 - Algoritmos de MonteCarlo p.9/20

Demostracin

Este polinomio pueder ser 0 en c1 c2 cm en dos situaciones distintas: a) El coeciente de ms alto grado de xm es cero. Aplicando

la hiptesis de induccin, para cada valor jo xm cm , esto puede ocurrir, a lo ms, en m 1 dM m 2 casos distintos. Como los valores de xm son, a lo ms M, tenemos m 1 dM m 1 situaciones distintas.

b) El coeciente de ms alto grado de xm es distinto de cero.


Entonces, jando x1 c1 xm 1 cm 1 , tenemos un polinomio de grado menor o igual a d, que tendr, a lo ms, d races. Como los valores posibles de las m 1 primeras variables en 0 1 M 1 es M m 1 , en total tenemos M m 1 d situaciones distintas.

La suma de los casos posibles en ambas situaciones, da la cota deseada mdM m 1 .

Modelos de Informtica TericaCaptulo 7 - Algoritmos de MonteCarlo p.10/20

Algoritmo de MonteCarlo
Elegir nmeros aleatorios i1 donde M 2md.

im entre 0 y M

1,

Evaluar el polinomio para estos nmeros. Si es cero responder que el polinomio es cero probablemente Si es distinto de cero, responder que el polinomio es distinto de cero con seguridad

Modelos de Informtica TericaCaptulo 7 - Algoritmos de MonteCarlo p.11/20

Propiedades
Si el polinomio es igual a cero, responder que es igual a cero. Si el polinomio es distinto de cero, a veces, responder que es distinto de cero y, en otras ocasiones, responder que es igual a cero. La probabilidad de responder 0 si es distinto de cero est acotada por (M m es el nmero de valores distintos): P Decir 0 No 0 mdM m Mm
1

md M

1 2

Modelos de Informtica TericaCaptulo 7 - Algoritmos de MonteCarlo p.12/20

La clase RP
La clase RP es la clase de los problemas de decisin para los que existe un algoritmo de MonteCarlo polinmico en el que, Si la respuesta es NO, el algoritmo responde NO So la respuesta es SI, responde SI con probabilidad mayor o igual a 1/2. La probabilidad de responder SI se puede hacer tan cercana a 1 como queramos. Tenemos duda cuando responde NO. Tenemos que P RP NP Dicultad: Es una clase semntica. No toda mquina de Turing dene un lenguaje de RP, tiene que cumplir una condicin adicional. Es muy difcil encontrar problemas RP-completos.

Modelos de Informtica TericaCaptulo 7 - Algoritmos de MonteCarlo p.13/20

Primalidad est en RP
Lema de Fermat: Si N es primo, entonces a a N 1 se cumple que aN 1 1 mod N. Algoritmo de MonteCarlo para N compuesto: Elegimos 2 a N 1

0 , con

Si aN

1 mod N, entonces N es compuesto

Si aN 1 1 mod N, entonces N es primo (probablemente)

10

11

12

561 ..

% 100 % 100 % 33.3 % 100 % 20 % 100 % 14.3 % 25 % 11 % 100 % 9.1 %

100 % .

Para 561 el porcentaje es de nuevo del 100 %.

Nmeros de Carmichael: Para todo p divisor primo de N, p 1 divide a N 1.


Modelos de Informtica TericaCaptulo 7 - Algoritmos de MonteCarlo p.14/20

Test modicado N impar


Elegir 2 Si aN 1

1.

1 mod N o existe un entero i tal que 2i N


N 1 2i

1 y

MCD a

1N

N entonces N es compuesto.

En caso contrario, N es primo.

Modelos de Informtica TericaCaptulo 7 - Algoritmos de MonteCarlo p.15/20

La clase ZPP: Algoritmos de las Vegas


La clase de problemas ZPP o problemas con un algoritmo de las Vegas, es el conjunto RP CoRP. Para estos problemas podemos disear un algoritmo que a veces no responda, pero si lo hace siempre acierta. Por estar en RP y CoRP, podemos encontar

Alg1 P NO1 NO

1 P SI1 SI

1 2 1

Alg2 P NO2 NO

1 2 P SI2 SI

Podemos ejecutar los dos algoritmos, si dan la misma respuesta, estamos seguros de que es correcta. Si dan distinta, entonces decimos no se. Podemos repetir los dos algoritmos hasta obtener cual es la respuesta. Tambin es una clase semntica.

Modelos de Informtica TericaCaptulo 7 - Algoritmos de MonteCarlo p.16/20

La clase PP
Una lenguaje L est en PP si y solo si existe una Mquina de Turing no determinista polinmica en tiempo tal que x L si y solo si ms de la mitad de las opciones de la mquina de Turing aceptan. Es una clase sintctica. Cada Mquina de Turing No Determista dene un lenguaje (distinto criterio de aceptacin que el habitual). NP PP: Si L es aceptado por M no determinista por el criterio usual, construimos M que hace un movimiento inicial en el que con probabilidad 1/2 acepta y, en caso contrario, funciona como M.

Modelos de Informtica TericaCaptulo 7 - Algoritmos de MonteCarlo p.17/20

Ejemplo
Problema MAJSAT: Ms de la mitad de las asignaciones de verdad a las variables hacen que se satisfagan todas las clusulas? El problema es que estos algoritmos no tienen valor prctico. Cmo sabemos si una palabra est en L si el nmero de opciones de aceptacin es similar al de opciones de rechazo?

Modelos de Informtica TericaCaptulo 7 - Algoritmos de MonteCarlo p.18/20

La clase BPP
Problemas L para los que existe una Mquina no Determinista M que funciona en tiempo polinmico tal que Si x L, entonces M acepta con probabilidad mayor que 3/4 Si x L, entonces M rechaza con probabilidad mayor que 3/4 Es una clase semntica No se sabe si BPP NP. Pero si se sabe RP BPP

PP y BPP = Co BPP.

Modelos de Informtica TericaCaptulo 7 - Algoritmos de MonteCarlo p.19/20

Clases Aleatorias
PP CoNP BPP ZPP RP ? P CoRP ?

NP

Modelos de Informtica TericaCaptulo 7 - Algoritmos de MonteCarlo p.20/20

Вам также может понравиться