SlideShare una empresa de Scribd logo
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á inconsisten-
tes. Cuando son consistentes, algunas veces dirá consistentes y otras
inconsistentes. Cuando dice consistentes no hay duda. Si dice incon-
sistentes, 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

                  SI                  NO

Respuesta Algoritmo                             Respuesta Algoritmo

     SI           NO                                            NO

         05       05
     ¡




              £




                                                                        10
          ¢




                      ¢




                                                                            ¢
                                    Modelos de Informática TeóricaCapítulo 7 - Algoritmos de MonteCarlo– p.4/20
Aumentando la probabilidad de acertar

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
          




                         ¡




                                                ¢




                                                                    




                                                                        ¤




                                                                             ¢
       P DecirConsistente Consistente                     1            1 2




                                                      ¡




                                                               £
                             Modelos de Informática TeóricaCapítulo 7 - Algoritmos de MonteCarlo– p.5/20
Determinantes Simbólicos

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                                                                   v1

u2                                                                   v2

u3                                                                   v3



un                                                                   vn
             U                                           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




                                                             




                                                                                             ¢
                                  xi j           si ui v j  E




                                                                                                     ¡
                                                                          
              ai j
                          
                                  0              en otro caso
El determinante de AG es
                                                                         n
                         AG            ∑ σ π ∏ ai π i
                     ¡




                              ¡




                                                       




                                                                ¢
                                    




                                                                                                         ¤




                                                                                                             ¥
                                                                                                 £
                                         π                              i 1
                                                                                 ¢




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
                                                   n
                      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 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, enton-




                                                                                                                                                                 
                                                    M 1 m




                                                                                        




                                                                                                                                ¢




                                                                                                                                        ¡




                                                                                                                                                                                    ¢
ces la cantidad de m-tuplas c1        cm    01




                                                                                                                                    ¡




                                                                                                                                                                                £
                                                                                                 




                                                                                                        ¢




                                                                                                            ¢




                                                                                                                    ¢




                                                                                                                             




                                                                                                                                             




                                                                                                                                                 




                                                                                                                                                    ¢




                                                                                                                                                            ¢




                                                                                                                                                                    ¢




                                                                                                                                                                             
                          0 es, a lo más, mdM m 1 .
                            




                                                           ¢
tales que R c1     cm




                                                                                                                                                        ¡
                                                                
                                    




                                       ¢




                                               ¢




                                                   ¢




                                                        




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
que son polinomios en x1     xm 1 .
                                                                    




                                                                       ¢




                                                                           ¢




                                                                                   ¢




                                                                                            




                                                                                                                ¡




                                                                                               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




                                                                                                                                                               ¢
                                  M 1 es M m 1 , en total
                                         ¨




                                                                                                                           ©
    primeras variables en 0 1




                                                                                                                                                       ¤
                                                                                                           ¢
                                             ¦




                                                              ¦§




                                                                   §




                                                                               §




                                                                                   ¦




    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
Algoritmo de MonteCarlo

 Elegir números aleatorios i1                        im entre 0 y M                    1,




                                                                                   £
                                  




                                     ¢




                                         ¢




                                             ¢




                                                  
 donde M 2md.



             
 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.
 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):

                                  mdM m                 1
                                                                 md



                                                    ¡
           




                  ¡




                         ¢




                                                                                   ¤
        P Decir 0 No 0       £
                                                                                1 2




                                                              




                                                                             
                                    Mm                           M



                                 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

     Lema de Fermat: Si N es primo, entonces a                                                                              0 , con




                                                                                                                 




                                                                                                                         
     a N 1 se cumple que aN 1 1 mod N.
          £




                                                                      ¡




                                                                               
                  £




     Algoritmo de MonteCarlo para N compuesto:
     Elegimos 2 a N 1
                                  £




                                                  £




                                                          £
              Si aN           1
                                              1 mod N, entonces N es compuesto
                                      ¡
                          ¡




                                           




              Si aN 1 1 mod N, entonces N es primo
                          ¡




                                           




              (probablemente)
N   2         3       4                       5       6       7           8           9          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 %.


     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

Elegir 2                          a                 N           1.


                          £




                                                £




                                                            £
Si aN         1
                                  1 mod N o existe un entero i tal que 2i N




                                                                                                                                  ¤




                                                                                                                                       




                                                                                                                                                   ¢
                                                                                                                                                 1 y
                  ¡
          ¡




                       




                                                                                                                                             £
                                      ¡




                                                    £
                                          N 1


                                            ¢
                               




                                                                     ¢
1        MCD a                             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

 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
        




            ¡




                ¢




                                          




                                                 ¡




                                                         ¢




                                                                                  ¤
Alg1 P NO1 NO               1 P SI1 SI                                   1 2




                                                                     ¡
                         




                              
        




            ¡




                ¢




                                 ¤




                                              




                                                     ¡




                                                                 ¢
Alg2 P NO2 NO               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


              NP                    CoNP
                                                                BPP
                    ZPP
              RP                   CoRP

                         P
      ?                                                                 ?




                             Modelos de Informática TeóricaCapítulo 7 - Algoritmos de MonteCarlo– p.20/20

Más contenido relacionado

La actualidad más candente

Metodo de integración POR PARTES.
Metodo de integración POR PARTES.Metodo de integración POR PARTES.
Metodo de integración POR PARTES.
JOSE FELIPE RHENALS ALMANZA
 
definición, aplicación e importancia de la transformada de Laplace en la inge...
definición, aplicación e importancia de la transformada de Laplace en la inge...definición, aplicación e importancia de la transformada de Laplace en la inge...
definición, aplicación e importancia de la transformada de Laplace en la inge...
hendrickp
 
Ecuaciones diferenciales lineales con coeficientes indeterminados
Ecuaciones diferenciales lineales con coeficientes indeterminadosEcuaciones diferenciales lineales con coeficientes indeterminados
Ecuaciones diferenciales lineales con coeficientes indeterminados
sheep242
 
Integral por Sustitucion
Integral por SustitucionIntegral por Sustitucion
Integral por Sustitucion
MicrositeWS
 
Formulario de integrales (matefacil)
Formulario de integrales (matefacil)Formulario de integrales (matefacil)
Formulario de integrales (matefacil)
Nobel Samaniego
 
Funciones Logaritmicas Y Exponenciales
Funciones Logaritmicas Y ExponencialesFunciones Logaritmicas Y Exponenciales
Funciones Logaritmicas Y Exponenciales
kijaramillo
 
Regresion Polinomial
Regresion PolinomialRegresion Polinomial
Regresion Polinomial
Diego Egas
 
Métodos de Punto Fijo y Regla Falsa
Métodos de Punto Fijo y Regla FalsaMétodos de Punto Fijo y Regla Falsa
Métodos de Punto Fijo y Regla Falsa
Victor Reyes
 
Fortmulario de Diagrama de bloques
Fortmulario  de  Diagrama de bloquesFortmulario  de  Diagrama de bloques
Fortmulario de Diagrama de bloques
jackvale
 
Aplicaciones ecuaciones =d
Aplicaciones ecuaciones =dAplicaciones ecuaciones =d
Aplicaciones ecuaciones =d
brizeidaandrade
 
Metodo de Runge-kutta
Metodo de Runge-kuttaMetodo de Runge-kutta
Metodo de Runge-kutta
JOSEGREGORIOCASTROLO
 
Algoritmos de busqueda - hash truncamiento
Algoritmos de busqueda - hash truncamientoAlgoritmos de busqueda - hash truncamiento
Algoritmos de busqueda - hash truncamiento
Lutzo Guzmán
 
Metodo de biseccion
Metodo de biseccionMetodo de biseccion
Metodo de biseccion
Omar Eduardo García Gutiérrez
 
Trabajo Range-Kutta
Trabajo Range-KuttaTrabajo Range-Kutta
Trabajo Range-Kutta
José Manuel Escuela Hirsch
 
Slideshare Serie de Taylor
Slideshare Serie de TaylorSlideshare Serie de Taylor
Slideshare Serie de Taylor
JoseLopiccolo
 
Ecuaciones diferenciales homogeneas
Ecuaciones diferenciales homogeneasEcuaciones diferenciales homogeneas
Ecuaciones diferenciales homogeneas
fernandamendozadt
 
Funciones y gráficas en matlab
Funciones y gráficas en matlabFunciones y gráficas en matlab
Funciones y gráficas en matlab
Juan Luis Diaz Cuevas
 
Aplicaciones de las ecuaciones diferenciales lineales de orden
Aplicaciones de las ecuaciones diferenciales lineales de ordenAplicaciones de las ecuaciones diferenciales lineales de orden
Aplicaciones de las ecuaciones diferenciales lineales de orden
luis beltran gomez
 
Origen numero imaginario
Origen numero imaginarioOrigen numero imaginario
Origen numero imaginario
Liz Martinez Martinez
 
Semana 12: Derivada direccional y gradiente
Semana 12: Derivada direccional y gradienteSemana 12: Derivada direccional y gradiente
Semana 12: Derivada direccional y gradiente
Marcelo Valdiviezo
 

La actualidad más candente (20)

Metodo de integración POR PARTES.
Metodo de integración POR PARTES.Metodo de integración POR PARTES.
Metodo de integración POR PARTES.
 
definición, aplicación e importancia de la transformada de Laplace en la inge...
definición, aplicación e importancia de la transformada de Laplace en la inge...definición, aplicación e importancia de la transformada de Laplace en la inge...
definición, aplicación e importancia de la transformada de Laplace en la inge...
 
Ecuaciones diferenciales lineales con coeficientes indeterminados
Ecuaciones diferenciales lineales con coeficientes indeterminadosEcuaciones diferenciales lineales con coeficientes indeterminados
Ecuaciones diferenciales lineales con coeficientes indeterminados
 
Integral por Sustitucion
Integral por SustitucionIntegral por Sustitucion
Integral por Sustitucion
 
Formulario de integrales (matefacil)
Formulario de integrales (matefacil)Formulario de integrales (matefacil)
Formulario de integrales (matefacil)
 
Funciones Logaritmicas Y Exponenciales
Funciones Logaritmicas Y ExponencialesFunciones Logaritmicas Y Exponenciales
Funciones Logaritmicas Y Exponenciales
 
Regresion Polinomial
Regresion PolinomialRegresion Polinomial
Regresion Polinomial
 
Métodos de Punto Fijo y Regla Falsa
Métodos de Punto Fijo y Regla FalsaMétodos de Punto Fijo y Regla Falsa
Métodos de Punto Fijo y Regla Falsa
 
Fortmulario de Diagrama de bloques
Fortmulario  de  Diagrama de bloquesFortmulario  de  Diagrama de bloques
Fortmulario de Diagrama de bloques
 
Aplicaciones ecuaciones =d
Aplicaciones ecuaciones =dAplicaciones ecuaciones =d
Aplicaciones ecuaciones =d
 
Metodo de Runge-kutta
Metodo de Runge-kuttaMetodo de Runge-kutta
Metodo de Runge-kutta
 
Algoritmos de busqueda - hash truncamiento
Algoritmos de busqueda - hash truncamientoAlgoritmos de busqueda - hash truncamiento
Algoritmos de busqueda - hash truncamiento
 
Metodo de biseccion
Metodo de biseccionMetodo de biseccion
Metodo de biseccion
 
Trabajo Range-Kutta
Trabajo Range-KuttaTrabajo Range-Kutta
Trabajo Range-Kutta
 
Slideshare Serie de Taylor
Slideshare Serie de TaylorSlideshare Serie de Taylor
Slideshare Serie de Taylor
 
Ecuaciones diferenciales homogeneas
Ecuaciones diferenciales homogeneasEcuaciones diferenciales homogeneas
Ecuaciones diferenciales homogeneas
 
Funciones y gráficas en matlab
Funciones y gráficas en matlabFunciones y gráficas en matlab
Funciones y gráficas en matlab
 
Aplicaciones de las ecuaciones diferenciales lineales de orden
Aplicaciones de las ecuaciones diferenciales lineales de ordenAplicaciones de las ecuaciones diferenciales lineales de orden
Aplicaciones de las ecuaciones diferenciales lineales de orden
 
Origen numero imaginario
Origen numero imaginarioOrigen numero imaginario
Origen numero imaginario
 
Semana 12: Derivada direccional y gradiente
Semana 12: Derivada direccional y gradienteSemana 12: Derivada direccional y gradiente
Semana 12: Derivada direccional y gradiente
 

Destacado

Montecarlo en matlab
Montecarlo en matlabMontecarlo en matlab
Montecarlo en matlab
Vicente Torres
 
Metodo Montecarlo
Metodo MontecarloMetodo Montecarlo
Metodo Montecarlo
Cris Tenorio
 
Metodo de montecarlo
Metodo de montecarloMetodo de montecarlo
Metodo de montecarlo
Jorge Luis Nava Castillo
 
Simulacion monte carlo
Simulacion monte carloSimulacion monte carlo
Simulacion monte carlo
oscar7675
 
Modelo en cascada jeff
Modelo en cascada jeffModelo en cascada jeff
Modelo en cascada jeff
Jefferson Llerena Carrasco
 
Gradiente descendiente
Gradiente descendienteGradiente descendiente
Gradiente descendiente
ESCOM
 
Exposicion montecarlo
Exposicion montecarloExposicion montecarlo
Exposicion montecarlo
marco
 
Algoritmo de Retropropagación
Algoritmo de RetropropagaciónAlgoritmo de Retropropagación
Algoritmo de Retropropagación
ESCOM
 
Montecarlo de markov
Montecarlo de markovMontecarlo de markov
Montecarlo de markov
Jefferson Llerena Carrasco
 
Algoritmo de Gradiente Conjugado CGBP
Algoritmo de Gradiente Conjugado CGBPAlgoritmo de Gradiente Conjugado CGBP
Algoritmo de Gradiente Conjugado CGBP
ESCOM
 
Metodo o Simulacion de Montecarlo
Metodo o Simulacion de MontecarloMetodo o Simulacion de Montecarlo
Metodo o Simulacion de Montecarlo
Henri Emmanuel Lopez Gomez
 
Los 20 algoritmos matematicos mas importantes de la historia
Los 20 algoritmos matematicos mas importantes de la historiaLos 20 algoritmos matematicos mas importantes de la historia
Los 20 algoritmos matematicos mas importantes de la historia
lyonc357
 
INTRODUCCION A LAS REDES NEURONALES ARTIFICIALES
INTRODUCCION A LAS REDES NEURONALES ARTIFICIALESINTRODUCCION A LAS REDES NEURONALES ARTIFICIALES
INTRODUCCION A LAS REDES NEURONALES ARTIFICIALES
ESCOM
 
REDES NEURONALES Algoritmos de Aprendizaje
REDES NEURONALES Algoritmos  de AprendizajeREDES NEURONALES Algoritmos  de Aprendizaje
REDES NEURONALES Algoritmos de Aprendizaje
ESCOM
 
Generador de números aleatorios, pseudoaleatorios, cuasialeatoricos I
Generador de números aleatorios, pseudoaleatorios, cuasialeatoricos IGenerador de números aleatorios, pseudoaleatorios, cuasialeatoricos I
Generador de números aleatorios, pseudoaleatorios, cuasialeatoricos I
Norlan0987
 
TIC y EDUCACIÓN... ¿Cambiará la escuela?
TIC y EDUCACIÓN... ¿Cambiará la escuela?TIC y EDUCACIÓN... ¿Cambiará la escuela?
TIC y EDUCACIÓN... ¿Cambiará la escuela?
Jaime Olmos
 
Los Algoritmos En La Enseñanza De La Matemáticas
Los   Algoritmos  En La  Enseñanza  De La  MatemáticasLos   Algoritmos  En La  Enseñanza  De La  Matemáticas
Los Algoritmos En La Enseñanza De La Matemáticas
guest21cdf17
 
Algoritmos Voraces (Greedy)
Algoritmos Voraces (Greedy)Algoritmos Voraces (Greedy)
Algoritmos Voraces (Greedy)
luzenith_g
 
Ejemplos de Algoritmos
Ejemplos de AlgoritmosEjemplos de Algoritmos
Ejemplos de Algoritmos
Pepe Xdsasda
 

Destacado (19)

Montecarlo en matlab
Montecarlo en matlabMontecarlo en matlab
Montecarlo en matlab
 
Metodo Montecarlo
Metodo MontecarloMetodo Montecarlo
Metodo Montecarlo
 
Metodo de montecarlo
Metodo de montecarloMetodo de montecarlo
Metodo de montecarlo
 
Simulacion monte carlo
Simulacion monte carloSimulacion monte carlo
Simulacion monte carlo
 
Modelo en cascada jeff
Modelo en cascada jeffModelo en cascada jeff
Modelo en cascada jeff
 
Gradiente descendiente
Gradiente descendienteGradiente descendiente
Gradiente descendiente
 
Exposicion montecarlo
Exposicion montecarloExposicion montecarlo
Exposicion montecarlo
 
Algoritmo de Retropropagación
Algoritmo de RetropropagaciónAlgoritmo de Retropropagación
Algoritmo de Retropropagación
 
Montecarlo de markov
Montecarlo de markovMontecarlo de markov
Montecarlo de markov
 
Algoritmo de Gradiente Conjugado CGBP
Algoritmo de Gradiente Conjugado CGBPAlgoritmo de Gradiente Conjugado CGBP
Algoritmo de Gradiente Conjugado CGBP
 
Metodo o Simulacion de Montecarlo
Metodo o Simulacion de MontecarloMetodo o Simulacion de Montecarlo
Metodo o Simulacion de Montecarlo
 
Los 20 algoritmos matematicos mas importantes de la historia
Los 20 algoritmos matematicos mas importantes de la historiaLos 20 algoritmos matematicos mas importantes de la historia
Los 20 algoritmos matematicos mas importantes de la historia
 
INTRODUCCION A LAS REDES NEURONALES ARTIFICIALES
INTRODUCCION A LAS REDES NEURONALES ARTIFICIALESINTRODUCCION A LAS REDES NEURONALES ARTIFICIALES
INTRODUCCION A LAS REDES NEURONALES ARTIFICIALES
 
REDES NEURONALES Algoritmos de Aprendizaje
REDES NEURONALES Algoritmos  de AprendizajeREDES NEURONALES Algoritmos  de Aprendizaje
REDES NEURONALES Algoritmos de Aprendizaje
 
Generador de números aleatorios, pseudoaleatorios, cuasialeatoricos I
Generador de números aleatorios, pseudoaleatorios, cuasialeatoricos IGenerador de números aleatorios, pseudoaleatorios, cuasialeatoricos I
Generador de números aleatorios, pseudoaleatorios, cuasialeatoricos I
 
TIC y EDUCACIÓN... ¿Cambiará la escuela?
TIC y EDUCACIÓN... ¿Cambiará la escuela?TIC y EDUCACIÓN... ¿Cambiará la escuela?
TIC y EDUCACIÓN... ¿Cambiará la escuela?
 
Los Algoritmos En La Enseñanza De La Matemáticas
Los   Algoritmos  En La  Enseñanza  De La  MatemáticasLos   Algoritmos  En La  Enseñanza  De La  Matemáticas
Los Algoritmos En La Enseñanza De La Matemáticas
 
Algoritmos Voraces (Greedy)
Algoritmos Voraces (Greedy)Algoritmos Voraces (Greedy)
Algoritmos Voraces (Greedy)
 
Ejemplos de Algoritmos
Ejemplos de AlgoritmosEjemplos de Algoritmos
Ejemplos de Algoritmos
 

Similar a Algoritmo de Montecarlo

Lista de precios de automatización 01032012 rev.0
Lista de precios de automatización 01032012 rev.0Lista de precios de automatización 01032012 rev.0
Lista de precios de automatización 01032012 rev.0
Daniel García
 
11 machaut quant en moy
11 machaut quant en moy11 machaut quant en moy
11 machaut quant en moy
alexner
 
Mozart confutatis
Mozart confutatisMozart confutatis
Mozart confutatis
Sah Ya
 
1 10
1 101 10
screen dumps
screen dumpsscreen dumps
screen dumps
crazybananas
 
08 ver pacis conductus
08 ver pacis conductus08 ver pacis conductus
08 ver pacis conductus
alexner
 

Similar a Algoritmo de Montecarlo (6)

Lista de precios de automatización 01032012 rev.0
Lista de precios de automatización 01032012 rev.0Lista de precios de automatización 01032012 rev.0
Lista de precios de automatización 01032012 rev.0
 
11 machaut quant en moy
11 machaut quant en moy11 machaut quant en moy
11 machaut quant en moy
 
Mozart confutatis
Mozart confutatisMozart confutatis
Mozart confutatis
 
1 10
1 101 10
1 10
 
screen dumps
screen dumpsscreen dumps
screen dumps
 
08 ver pacis conductus
08 ver pacis conductus08 ver pacis conductus
08 ver pacis conductus
 

Algoritmo de Montecarlo

  • 1. 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
  • 2. 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
  • 3. 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
  • 4. 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
  • 5. 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á inconsisten- tes. Cuando son consistentes, algunas veces dirá consistentes y otras inconsistentes. Cuando dice consistentes no hay duda. Si dice incon- sistentes, hay duda. Modelos de Informática TeóricaCapítulo 7 - Algoritmos de MonteCarlo– p.3/20
  • 6. 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 SI NO Respuesta Algoritmo Respuesta Algoritmo SI NO NO 05 05 ¡ £ 10 ¢ ¢ ¢ Modelos de Informática TeóricaCapítulo 7 - Algoritmos de MonteCarlo– p.4/20
  • 7. Aumentando la probabilidad de acertar 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   ¡ ¢   ¤ ¢ P DecirConsistente Consistente 1 1 2 ¡ £ Modelos de Informática TeóricaCapítulo 7 - Algoritmos de MonteCarlo– p.5/20
  • 8. Determinantes Simbólicos 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 v1 u2 v2 u3 v3 un vn U V Modelos de Informática TeóricaCapítulo 7 - Algoritmos de MonteCarlo– p.6/20
  • 9. Determinante Consideremos la matriz AG   ¢ ai j   n n   donde   ¢ xi j si ui v j E ¡   ai j   0 en otro caso El determinante de AG es n AG ∑ σ π ∏ ai π i ¡ ¡   ¢   ¤ ¥ £ π i 1 ¢ donde π es una permutación y σ π su signatura.   ¢ Modelos de Informática TeóricaCapítulo 7 - Algoritmos de MonteCarlo– p.7/20
  • 10. Determinante y Acoplamiento n 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 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
  • 11. 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, enton-   M 1 m   ¢ ¡ ¢ ces la cantidad de m-tuplas c1 cm 01 ¡ £   ¢ ¢ ¢       ¢ ¢ ¢   0 es, a lo más, mdM m 1 .   ¢ tales que R c1 cm ¡     ¢ ¢ ¢   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 que son polinomios en x1 xm 1 .   ¢ ¢ ¢   ¡ Modelos de Informática TeóricaCapítulo 7 - Algoritmos de MonteCarlo– p.9/20
  • 12. 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 ¢ M 1 es M m 1 , en total ¨ © primeras variables en 0 1 ¤ ¢ ¦ ¦§ § § ¦ 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
  • 13. Algoritmo de MonteCarlo Elegir números aleatorios i1 im entre 0 y M 1, £   ¢ ¢ ¢   donde M 2md.   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
  • 14. 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 número de valores distintos): mdM m 1 md ¡   ¡ ¢ ¤ P Decir 0 No 0 £ 1 2     Mm M Modelos de Informática TeóricaCapítulo 7 - Algoritmos de MonteCarlo– p.12/20
  • 15. 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
  • 16. Primalidad está en RP Lema de Fermat: Si N es primo, entonces a 0 , con     a N 1 se cumple que aN 1 1 mod N. £ ¡   £ Algoritmo de MonteCarlo para N compuesto: Elegimos 2 a N 1 £ £ £ Si aN 1 1 mod N, entonces N es compuesto ¡ ¡   Si aN 1 1 mod N, entonces N es primo ¡   (probablemente) N 2 3 4 5 6 7 8 9 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 %. 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
  • 17. Test modificado N impar Elegir 2 a N 1. £ £ £ Si aN 1 1 mod N o existe un entero i tal que 2i N ¤   ¢ 1 y ¡ ¡   £ ¡ £ N 1 ¢   ¢ 1 MCD a 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
  • 18. 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 diseñar 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 ¡       ¡ ¢ ¤   ¡ ¢ Alg2 P NO2 NO 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
  • 19. 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
  • 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
  • 21. 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
  • 22. Clases Aleatorias PP NP CoNP BPP ZPP RP CoRP P ? ? Modelos de Informática TeóricaCapítulo 7 - Algoritmos de MonteCarlo– p.20/20