Capítulo 7 - Departamento de Ciencias de la Computación e IA

Anuncio
Modelos de Informática Teórica
Capítulo 7 - Algoritmos de MonteCarlo
Serafín Moral Callejón
Departamento de Ciencias de la Computación
Universidad de Granada
Modelos de Informática TeóricaCapítulo 7 - Algoritmos de MonteCarlo– p.1/20
Contenido
Los algoritmos de Monte-Carlo se aplican a la resolución
de problemas de decisión NP-difíciles. Son algoritmos
polinómicos, pero algunas veces no dan la respuesta
correcta.
Problema de la consistencia
Raíces 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 Informática TeóricaCapítulo 7 - Algoritmos de MonteCarlo– p.2/20
Algoritmos de MonteCarlo
Son algoritmos, en general no deterministas, para problemas
de decisión que, a veces, no dan la respuesta correcta.
Modelos de Informática TeóricaCapítulo 7 - Algoritmos de MonteCarlo– p.3/20
Algoritmos de MonteCarlo
Son algoritmos, en general no deterministas, para problemas
de decisión que, a veces, no dan la respuesta correcta.
Un algoritmo de MonteCarlo para el problema de la consistencia:
1.
Comenzamos con una asignación de valores de verdad
cualquiera T
2.
Si para T se satisfacen todas las cláusulas, entonces hay
consistencia
3.
En otro caso, elegir una cláusula falsa, cambiar el valor de
verdad de algunas de sus variables.
4.
Si ya hemos realizado r cambios, terminar, diciendo que
hay inconsistencia. En otro caso, ir al paso 2.
Modelos de Informática TeóricaCapítulo 7 - Algoritmos de MonteCarlo– p.3/20
Algoritmos de MonteCarlo
Son algoritmos, en general no deterministas, para problemas
de decisión que, a veces, no dan la respuesta correcta.
Un algoritmo de MonteCarlo para el problema de la consistencia:
1.
Comenzamos con una asignación de valores de verdad
cualquiera T
2.
Si para T se satisfacen todas las cláusulas, entonces hay
consistencia
3.
En otro caso, elegir una cláusula falsa, cambiar el valor de
verdad de algunas de sus variables.
4.
Si ya hemos realizado r cambios, terminar, diciendo que
hay inconsistencia. En otro caso, ir al paso 2.
Este algoritmo, si las cláusulas 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 Informática TeóricaCapítulo 7 - Algoritmos de MonteCarlo– p.3/20
Teorema
Teorema: Si este algoritmo se aplica a n cláusulas de
longitud 2 y r 2n2 , entonces si las cláusulas son
consistentes, la probabilidad de encontrar una asignación
verdadera es mayor o igual que 1/2.
Respuesta Correcta
Respuesta Algoritmo
05
05
NO
SI
NO
Respuesta Algoritmo
NO
10
SI
Modelos de Informática TeóricaCapítulo 7 - Algoritmos de MonteCarlo– p.4/20
Aumentando la probabilidad de acertar
1 2
1
P DecirConsistente Consistente
Si podemos demostrar que la probabilidad de encontrar
una asignación 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
k
Modelos de Informática TeóricaCapítulo 7 - Algoritmos de MonteCarlo– p.5/20
Determinantes Simbólicos
u1
v1
u2
v2
u3
v3
un
vn
U
Sea un problema del acoplamiento de parejas:
G
U V E donde
U
u 1 u2
un V
v1 v2
vn E U V .
V
Modelos de Informática TeóricaCapítulo 7 - Algoritmos de MonteCarlo– p.6/20
Determinante
Consideremos la matriz
AG
ai j
n n
donde
si ui v j
E
en otro caso
ai j
xi j
0
El determinante de AG es
∑ σ π ∏ ai π i
π
i 1
AG
n
donde π es una permutación y σ π su signatura.
Modelos de Informática TeóricaCapítulo 7 - Algoritmos de MonteCarlo– p.7/20
Determinante y Acoplamiento
∑ σ π ∏ ai π i
π
i 1
AG
n
G tiene un acomplamiento si y solo si este determinante
no es identicamente igual a 0.
Un acoplamiento lleva asociado una permutación π.
π i es el índice del compañero de ui : uu vπ i están en el
acoplamiento.
Un acoplamiento da lugar a un factor que es distinto de
cero y que no puede compensarse con ningún 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 Informática TeóricaCapítulo 7 - Algoritmos de MonteCarlo– p.8/20
Polinomios Iguales a 0
Si las variables se sustituyen por números, entonces el
determinante se puede calcular en tiempo O n3 .
Sea R x1
xm un polinomio, no idénticamente 0, tal que
en cada variable el grado es lo más 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 más, mdM m 1 .
Demostración: La haremos por inducción sobre m. Para
m 1 es trivialmente cierto porque un polinomio de grado
d tiene a lo más d ceros.
Supongámoslo cierto para m 1 variables y vamos a
demostrarlo para m variables.
Escribamos R como un polinomio en xm con coeficientes
xm 1 .
que son polinomios en x1
Modelos de Informática TeóricaCapítulo 7 - Algoritmos de MonteCarlo– p.9/20
Demostración
Este polinomio pueder ser 0 en c1 c2
cm en dos
situaciones distintas:
a) El coeficiente de más alto grado de xm es cero. Aplicando
la hipótesis de inducción, para cada valor fijo xm cm , esto
puede ocurrir, a lo más, en m 1 dM m 2 casos distintos.
Como los valores de xm son, a lo más M, tenemos
m 1 dM m 1 situaciones distintas.
b) El coeficiente de más alto grado de xm es distinto de cero.
Entonces, fijando x1 c1
xm 1 cm 1 , tenemos un
polinomio de grado menor o igual a d, que tendrá, a lo
más, d raíces. 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 Informática TeóricaCapítulo 7 - Algoritmos de MonteCarlo– p.10/20
im entre 0 y M
Elegir números aleatorios i1
donde M 2md.
Algoritmo de MonteCarlo
1,
Evaluar el polinomio para estos números.
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 Informática TeóricaCapítulo 7 - Algoritmos de MonteCarlo– p.11/20
Propiedades
Si el polinomio es igual a cero, responderá que es
igual a cero.
P Decir 0 No 0
mdM m
Mm
1
md
M
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 número de valores
distintos):
1 2
Modelos de Informática TeóricaCapítulo 7 - Algoritmos de MonteCarlo– p.12/20
La clase RP
La clase RP es la clase de los problemas de decisión para
los que existe un algoritmo de MonteCarlo polinómico 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
Dificultad: Es una clase semántica. No toda máquina de
Turing define un lenguaje de RP, tiene que cumplir una
condición adicional.
Es muy difícil encontrar problemas RP-completos.
Modelos de Informática TeóricaCapítulo 7 - Algoritmos de MonteCarlo– p.13/20
Primalidad está en RP
0 , con
Si aN
1
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
1 mod N, entonces N es compuesto
6
7
8
9
10
11
12
% 100 % 100 % 33.3 % 100 % 20 % 100 % 14.3 % 25 % 11 % 100 % 9.1 %
5
4
3
2
N
Si aN 1 1 mod N, entonces N es primo
(probablemente)
561 ..
100 % .
Para 561 el porcentaje es de nuevo del 100 %.
Números de Carmichael: Para todo p divisor primo
de N, p 1 divide a N 1.
Modelos de Informática TeóricaCapítulo 7 - Algoritmos de MonteCarlo– p.14/20
Test modificado N impar
1.
1 y
1 mod N o existe un entero i tal que 2i N
N
a
1
Si aN
Elegir 2
MCD a
1
N 1
2i
1N
N entonces N es compuesto.
En caso contrario, N es primo.
Modelos de Informática TeóricaCapítulo 7 - Algoritmos de MonteCarlo– p.15/20
La clase ZPP: Algoritmos de las Vegas
1 2
Alg2 P NO2 NO
1 P SI1 SI
Alg1 P NO1 NO
La clase de problemas ZPP o problemas con un algoritmo
de las Vegas, es el conjunto RP CoRP.
Para estos problemas podemos diseñar un algoritmo que
a veces no responda, pero si lo hace siempre acierta.
Por estar en RP y CoRP, podemos encontar
1 2 P SI2 SI
1
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.
También es una clase semántica.
Modelos de Informática TeóricaCapítulo 7 - Algoritmos de MonteCarlo– p.16/20
La clase PP
Una lenguaje L está en PP si y solo si existe una Máquina
de Turing no determinista polinómica en tiempo tal que
x L si y solo si más de la mitad de las opciones de la
máquina de Turing aceptan.
Es una clase sintáctica. Cada Máquina de Turing No
Determista define un lenguaje (distinto criterio de
aceptación 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 Informática TeóricaCapítulo 7 - Algoritmos de MonteCarlo– p.17/20
Ejemplo
Problema MAJSAT: ¿Más de la mitad de las asignaciones
de verdad a las variables hacen que se satisfagan todas
las cláusulas?
El problema es que estos algoritmos no tienen valor
práctico. ¿Cómo sabemos si una palabra está en L si el
número de opciones de aceptación es similar al de
opciones de rechazo?
Modelos de Informática TeóricaCapítulo 7 - Algoritmos de MonteCarlo– p.18/20
La clase BPP
Problemas L para los que existe una Máquina no
Determinista M que funciona en tiempo polinómico 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 semántica
No se sabe si BPP NP.
Pero si se sabe RP BPP
PP y BPP = Co BPP.
Modelos de Informática TeóricaCapítulo 7 - Algoritmos de MonteCarlo– p.19/20
Clases Aleatorias
PP
CoNP
NP
BPP
ZPP
CoRP
RP
?
P
?
Modelos de Informática TeóricaCapítulo 7 - Algoritmos de MonteCarlo– p.20/20
Descargar