La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Solución 4, como la ecuación del círculo es por lo que Aplicando algoritmo probabilista, el áera A de un cuarto de círculo r=1 A= funcion calculapi(n:entero):real.

Presentaciones similares


Presentación del tema: "Solución 4, como la ecuación del círculo es por lo que Aplicando algoritmo probabilista, el áera A de un cuarto de círculo r=1 A= funcion calculapi(n:entero):real."— Transcripción de la presentación:

1 Solución 4, como la ecuación del círculo es por lo que Aplicando algoritmo probabilista, el áera A de un cuarto de círculo r=1 A= funcion calculapi(n:entero):real variables suma,x:real;i:entero inicio suma:=0.0; para i:=1 hasta n hacer x:=uniforme(0,1); suma:=suma+raiz(1-x*x) fin-para devuelve 4*(b-a)*(suma/n) fin Solución 5, si es 0.6 correcto, entonces es correcto. Se quiere un 99.9%, por lo tanto 0.999 correcto. Basta resolver la ecuación Por lo que con 8 iteraciones se cumple

2 Solución 6, la diferencia es que el primero puede fallar con cierta probabilidad, sin indicar la falla, mientras que el segundo al fallar, indica que falla. Solución 7, la divisón por 2 debe ser ahora un entero aleatorio Procedure qsort(L,R:index); Var i,j:index;w,x:item; BEGIN i:=L;j:=R; x:= d[uniforme_entero(L,R)] REPEAT WHILE d[i] < x DO i:=i+1; WHILE d[j] > x DO j:=j-1; Solución 8 Implementación Sea G[1..n,1..n] grafo con valor distancia en G[i,j]=G[j,i], 0 en caso G[i,i]. Sea S conjunto de nodos visitados y C conjunto de nodos por visitar Sea d distancia del tour. FUNCION TSP(G[1..n,1..n]):distancia d:=0 S:={1} ; C:={2....n}; v:=1 MIENTRAS NOT S contiene n nodos HACER Elegir aleatoriamente w en C distmin:=G[v,w] c:=w S:=S {c} ; C:=C-{c}; v:=c; d:=d+ distmin; FIN –Mientras d:=d+ G[1,v] //la solución esta asegurada la optimalidad no Retorne distancia

3 Implementación encriptación Sea mo[1..n] de palabras o strings, mensaje orignal Sea llave.priv archivo con un número aleatorio por palabra (llave simétrica) Sea me[1..n] de palabras o strings, mensaje encriptado FUNCION genllave(ent mo[1..n], sal me[1..n]):archivo de números inicio Variables i,j,r:entero;llave.priv: archivo; abrir(llave.priv,escritura) DESDE i:=1 A n HAHCER r:= uniforme_entero(1,50) escribir(llave.priv,r) DESDE j:=1 A largo(mo[i]) HACER me[i][j]:=ASCCI(mo[i][j])+r FIN-DESDE Retorne llave.priv Fin Implementación desencriptación Sea mo[1..n] de palabras o strings, mensaje orignal Sea llave.priv archivo con un número aleatorio por palabra (llave simétrica) Sea me[1..n] de palabras o strings, mensaje encriptado FUNCION genllave(sal mo[1..n], ent me[1..n],ent llave.priv:archivo) inicio Variables i,j,r:entero; abrir(llave.priv,lectura) DESDE i:=1 A n HAHCER leer(llave.priv,r) DESDE j:=1 A largo(me[i]) HACER mo[i][j]:=ASCCI(me[i][j])-r FIN-DESDE Retorne mo Fin Ejercicio 9, visto en clases. Solución 10:

4 Implementación verificación TSP Sea sol[1..n+1] los nodos de la solución Sea G[1..n,1..n] grafo con valor distancia en G[i,j]=G[j,i], 0 en caso G[i,i]. Sea S conjunto de nodos visitados Sea d distancia del tour. FUNCION TSP(G[1..n,1..n],d,sol[1..n+1]):boolean Inicio variables dist,i:entero; circuito:boolean dist:=0;i:=1;circuito :=true; S:=sol[i] ; MIENTRAS i <= n and circuito HACER v:=sol[i];w:=sol[i+1] SI sol[i+1] NOT en S or sol[1]=sol[i+1] ENTONCES dist := dist +G[v,w] S:=S + {w} i:=i+1 SINO circuito:=FALSE FIN-SI FIN –Mientras Retorne circuito AND dist <= d Fin La verificación se hace en tiempo polinomial aprox Ejercicio 11, visto en clases. Solución 12:

5 Implementación verificación Problema SAT, asumiendo FNC Sea sol[1..n] de tipo booleano, dobde cada s[i] corresponde al valor de una variable o literal de sat Sea SAT[1..n,1..k] donde n son las variables y k cláusulas, donde 1 variable normal, 0 variable negada,-1 variable no participa Devuelve verdadero si es satisfacible, para los valores de la solución sol FUNCION AlSAT(SAT[1..n,1..k],r,sol[1..n]):boolean Inicio variables i,j:entero; clausulaOK:boolean clausulaOK :=FALSE; DESDE i = 1 A k HACER clausulaOK :=FALSE DESDE j = 1 A n HACER {para una clausula se revisan todas las posibles variables} clausulaOK :=FALSE SI SAT[i,j]=1 ENTONCES var=sol[j] FIN-SI SI SAT[i,j]=0 ENTONCES var=NOT sol[j] FIN-SI clausulaOK := clausulaOK OR var FIN-DESDE SI NOT clausulaOK ENTONCES i=k+1 FIN-SI FIN-DESDE Retorne clausulaOK Fin La verificación se hace en tiempo polinomial aprox Ejercicio 13 :

6 Implementación transformación Cricuito Hamiltoniano a TSP Sea H[1..n,1..n] grafo original sin distancias G[i,j]=G[j,i], 0 en caso G[i,i]. 1 en caso de arco Sea G[1..n,1..n] grafo con transformado, con distancias 1 arcos de H y 2 nuevos arcos, en G[i,j]=G[j,i], 0 en caso G[i,i]. Sea S conjunto de nodos visitados Sea d distancia del tour. FUNCION GenTSP(ent H[1..n,1..n],sal G[1..n,1..n]) Inicio variables i,j:entero; DESDE i = 1 A n HACER DESDE j = 1 A n HACER SI i=j ENTONCES G[i,j]=0 SINO SI H[i,j]=1 ENTONCES G[i,j]=H[i,j] SINO G[i,j]=2 FIN-SI FIN-DESDE Retorne G[1..n,1..n] Fin La transformación se hace en tiempo polinomial aprox Ejercicio 14 : Ejercicio 15 : al ser 1.5(10) aproximado, significa r(10)=1.5, F(I)/F*(I)=F(I)/200 <=1.5 Por lo que en el mejor de los casos F(I)=300 Ejercicio 16: absoluto F(I)=5, un problema de minimización F*(I)= 5-2=3 es el óptimo.


Descargar ppt "Solución 4, como la ecuación del círculo es por lo que Aplicando algoritmo probabilista, el áera A de un cuarto de círculo r=1 A= funcion calculapi(n:entero):real."

Presentaciones similares


Anuncios Google