Descargar

Notas Avanzadas sobre Dinámica Aleatoria (página 2)


Partes: 1, 2

i1

lista

0

2

1

1

1

1

0

2

1

1

1

2

0

2

1

1

1

3

0

2

1

1

1

4

0

2

1

1

1

5

0

2

1

1

1

6

0

2

1

1

1

7

0

2

1

1

1

8

0

2

1

1

1

9

0

2

1

1

1

10

0

2

1

1

1

11

0

2

1

1

1

12

0

2

1

1

1

13

0

2

1

1

1

14

0

2

1

1

1

15

0

2

1

1

1

16

0

2

1

1

1

17

0

2

1

1

1

18

0

2

1

1

1

19

0

2

1

1

1

20

0

2

1

1

1

21

0

2

1

1

1

22

0

2

1

1

1

23

0

2

1

1

1

24

0

2

1

1

1

25

0

2

1

1

1

26

0

2

1

1

1

27

0

2

1

1

1

28

0

2

1

1

1

29

0

2

1

1

1

30

0

2

1

1

1

31

0

2

1

1

1

32

0

2

1

1

1

33

0

2

1

1

1

34

0

2

1

1

1

35

0

2

1

1

1

36

0

2

1

1

1

37

0

2

1

1

1

38

0

2

1

1

1

39

0

2

1

1

1

40

Se nutrió con los primeros 1000 sucesos que arroja La Rutina dato1, veamos;

estado

p2

p1

i2

i1

lista

1

2

1

4

1

1

1

2

1

3

1

2

1

2

1

2

1

3

1

1

2

2

1

4

1

1

2

2

1

5

1

1

2

4

1

6

1

2

1

3

1

7

1

2

1

2

1

8

1

1

2

4

1

9

1

2

1

3

1

10

1

2

1

2

1

11

1

1

2

4

1

12

1

2

1

3

1

13

1

2

1

2

1

14

1

1

2

2

1

15

1

1

2

3

1

16

1

2

1

2

1

17

1

1

2

2

1

18

1

1

2

6

1

19

1

2

1

5

1

20

1

2

1

4

1

21

1

2

1

3

1

22

1

2

1

2

1

23

1

1

2

3

1

24

1

2

1

2

1

25

1

1

2

2

1

26

1

1

2

2

1

27

1

1

2

2

1

28

1

1

2

2

1

29

1

1

2

3

1

30

1

2

1

2

1

31

1

1

2

2

1

32

1

1

2

2

1

33

1

1

2

2

1

34

1

1

2

3

1

35

1

2

1

2

1

36

1

1

2

2

1

37

1

1

2

5

1

38

1

2

1

4

1

39

1

2

1

3

1

40

Obsérvese lo hallado, en la lista 19 se halla el evento más antiguo de La Galería registrándose un índice = 6, con las siguientes listas hasta la 22, que se encuentran en orden correlativo descendente.

Gracias a la Galería Binaria, el índice del evento más antiguo será el menor de todas las otras magnitudes de Galerías de tres o más eventos.

La razón por la cual índice del evento antiguo se incrementa, viene dada por la libre posibilidad que el evento reciente repita.

Resta pues nutrir tres Galerías Binarias G1, G2, G3 y estudiar el límite de cada hito de cada Galería.

Se podría estudiar las serie en la cual se repite alternativamente 1,2,1,2,1,2,1,2,1,2

La serie 1,2,3,1,2,3,1,2,3… Posee más ruido y se puede producir en la Galería de tres eventos, que no es el caso que nos ocupa.

Volvamos brevemente a la Galería ( 0,1,2,3,4,5,6,7,8,9), si el valor de p o v2, son constantes, entonces dentro de la galería, se debe observar un comportamiento diferente al de la variable aleatoria, existe un libro al cual tildan del "más aburrido del mundo" que contiene una enorme cantidad de los dígitos del valor de p, así que se debe nutrir esta Galería con dichos datos y observar…

Se inicializó una Galería Binaria con 1000 Listas y se alimentó con 1000 datos y se obtuvo lo siguiente, a ver;

estado

p2

p1

i2

i1

lista

1

1

2

2

1

83

1

1

2

11

1

84

1

2

1

10

1

85

1

2

1

9

1

86

1

2

1

8

1

87

1

2

1

7

1

88

1

2

1

6

1

89

1

2

1

5

1

90

1

2

1

4

1

91

1

2

1

3

1

92

1

2

1

2

1

93

1

1

2

2

1

94

1

1

2

3

1

95

1

2

1

2

1

96

1

1

2

2

1

97

1

1

2

3

1

98

Nótese, además del ordenamiento del evento 2 que ocupa p2 desde la lista 85 hasta la 93, que sólo pueden suceder dos casos, evaluemos cuando en la lista 83 suceda p2 = evento 1 a ver;

Entonces sucede el evento 2 de p1 en la lista 84 y el índice i2 se incrementa, veamos la porción de galería en este caso;

estado

p2

p1

i2

i1

lista

1

2

1

2

1

83

1

1

2

12

1

84

1

2

1

11

1

85

1

2

1

10

1

86

1

2

1

9

1

87

1

2

1

8

1

88

1

2

1

7

1

89

1

2

1

6

1

90

1

2

1

5

1

91

1

2

1

4

1

92

1

2

1

3

1

93

1

2

1

2

1

94

Cuando en la lista 83 suceda p1 = evento 2 a ver;

Entonces sucede el evento 1 de p1 en la lista 84 y el índice i2 se inicializa con el valor 2.

Veamos la porción de Galería en este caso;

estado

p2

p1

i2

i1

lista

1

1

2

3

1

83

1

2

1

2

1

84

1

1

2

2

1

85

1

1

2

2

1

86

1

1

2

2

1

87

1

1

2

2

1

88

1

1

2

2

1

89

1

1

2

2

1

90

1

1

2

2

1

91

1

1

2

2

1

92

1

1

2

2

1

93

1

1

2

3

1

94

1

2

1

2

1

95

1

1

2

2

1

96

1

1

2

3

1

97

1

2

1

2

1

98

Una gráfica vale más que mil palabras… ¡Orden dentro del DesOrden!

Programación completa en Visual Basic 6.0 adaptada al Conjunto Binario.

Sub pronóstico()

mayor

buscamayor

lectura

End Sub

Sub mayor()

Data1.Recordset.MoveFirst

leer1

While Not Data1.Recordset.EOF

leer2

If Val(Text19) > Val(Text9) Then leer1 'en LN izquierda la L aux más antigua

Data1.Recordset.MoveNext

Wend

End Sub

Sub buscamayor()

Data1.Recordset.MoveFirst

leer2

While Not Val(Text21) = Val(Text22)

Data1.Recordset.MoveNext

leer2

Wend

End Sub

Sub lectura()

leer1 'lectura inversa en La Galería de Listas

d = Val(Text21)

Text27 = 2

If Not d = 1 Then

Data1.Recordset.MoveNext

While Not d = 1

Data1.Recordset.MovePrevious

leer1

d = Data1.Recordset.Fields("lista")

If Val(Text27) = 2 Then

evento = Val(Text4)

Else

evento = Val(Text5)

End If

Text27 = Val(evento) ' acarreo

Wend

Else

Text27 = Val(Text4)

End If

End Sub

Sub proceso()

If Val(Text27) = Val(Text25) Then

guardadata

Text30 = 1

Else

Text30 = Val(Text30) + 1 ' CONTEO DE LOS TIEMPOS FALLIDOS

End If

End Sub

Sub guardadata()

Data4.Recordset.AddNew

Data4.Recordset.Fields("tiempodeespera") = Val(Text30)

Data4.Recordset.Update

End Sub

Sub leer1()

Text23 = Data1.Recordset.Fields("estado")

Text4 = Data1.Recordset.Fields("p2")

Text5 = Data1.Recordset.Fields("p1")

Text9 = Data1.Recordset.Fields("i2")

Text10 = Data1.Recordset.Fields("i1")

Text21 = Data1.Recordset.Fields("lista")

End Sub

Sub leer2()

Text24 = Data1.Recordset.Fields("estado")

Text14 = Data1.Recordset.Fields("p2")

Text15 = Data1.Recordset.Fields("p1")

Text19 = Data1.Recordset.Fields("i2")

Text20 = Data1.Recordset.Fields("i1")

Text22 = Data1.Recordset.Fields("lista")

End Sub

Sub galería()

Data1.Recordset.MoveFirst

While Not Data1.Recordset.EOF

leer1

mover

guardar

Data1.Recordset.MoveNext

Wend

End Sub

Sub mover()

If Val(Text25) = Val(Text4) Then

x = 2

If Val(Text23) = 0 And Val(j) > Val(Text9) Then Text23 = 1 ' esto es para saber si el índice de p5 es real, Estado = 1

Text4 = Val(Text5): Text9 = Val(Text10) + 1

Else

x = 1: Text9 = Val(Text9) + 1

End If

Text5 = Val(Text25): Text25 = Val(x)

End Sub

Sub guardar()

Data1.Recordset.Edit

Data1.Recordset.Fields("p2") = Val(Text4)

Data1.Recordset.Fields("p1") = Val(Text5)

Data1.Recordset.Fields("i2") = Val(Text9)

'Data1.Recordset.Fields("i1") = Val(Text10) ' el valor aquí siempre es 1

Data1.Recordset.Update

End Sub

Sub aleatorio()

dato1

'dato2

'dato3

End Sub

Sub dato1()

' por supuesto, esta asignación de valores a cada subconjunto es arbitraria

Text25 = Int(Rnd * 100): Text26 = Val(Text25)

asignación

End Sub

Sub dato2()

leerpotencia

For jx = 1 To Val(centena)

Rnd

Next

centena = Int(Rnd * 1000)

For jx = 1 To Val(decena)

Rnd

Next

decena = Int(Rnd * 100)

For jx = 1 To Val(unidad)

Rnd

Next

unidad = Int(Rnd * 10)

guardapotencia

Text25 = Int(Rnd * 100): Text26 = Val(Text25)

asignación

End Sub

Sub dato3()

'dato2 'aquí esta rutina #2 es opcional

n = 1

p2 = Int(Rnd * 10) + 1 ' para que el valor sea entre 1 y 10

For u = 0 To Val(p2)

n = n * 10

Next

p1 = Rnd * n * 10

p3 = Int(Val(p1)) – Int(Val(p1) / 100) * 100

Text25 = Val(p3): Text26 = Val(Text25)

asignación

End Sub

Sub asignación()

If Val(Text25) < 50 Then

Text26 = Val(Text25): Text25 = 1 ' menores 1 MAYORES 2

Else

Text26 = Val(Text25): Text25 = 2

End If

End Sub

Sub leerpotencia()

Data2.Recordset.MoveFirst

unidad = Data2.Recordset.Fields("unidad")

decena = Data2.Recordset.Fields("decena")

centena = Data2.Recordset.Fields("centena")

End Sub

Sub guardapotencia()

Data2.Recordset.MoveFirst

Data2.Recordset.Edit

Data2.Recordset.Fields("unidad") = Val(unidad)

Data2.Recordset.Fields("decena") = Val(decena)

Data2.Recordset.Fields("centena") = Val(centena)

Data2.Recordset.Update

End Sub

Private Sub Command1_Click()

End

'programa Más avanzado BINARIO

End Sub

Private Sub Command2_Click()

' la galería no es única, si p2 no empieza en 2 se obtiene otra galería, la correcta empieza en 2

' porque 2 se refiere a la posición del evento más antiguo, demás no está estudiarle,

' estado se refiere a que los índices sean reales puesto que también es única

If Not Data1.Recordset.EOF Then ' máximo ofrece el doble de información,gratuita…

Data1.Recordset.MoveFirst ' mínimo una es función de la otra

While Not Data1.Recordset.EOF

Data1.Recordset.Delete

Data1.Recordset.MoveNext

Wend

End If

For j = 1 To Val(Text28)

Data1.Recordset.AddNew

Data1.Recordset.Fields("estado") = 0

Data1.Recordset.Fields("p2") = 2

Data1.Recordset.Fields("p1") = 1

Data1.Recordset.Fields("i2") = 1

Data1.Recordset.Fields("i1") = 1

Data1.Recordset.Fields("lista") = Val(j)

Data1.Recordset.Update

Next j

If Not Data2.Recordset.EOF Then

Data2.Recordset.MoveFirst

While Not Data2.Recordset.EOF

Data2.Recordset.Delete

Data2.Recordset.MoveNext

Wend

End If

Data2.Recordset.AddNew

Data2.Recordset.Fields("unidad") = 1

Data2.Recordset.Fields("decena") = 10

Data2.Recordset.Fields("centena") = 100

Data2.Recordset.Update

If Not Data4.Recordset.EOF Then

Data4.Recordset.MoveFirst

While Not Data4.Recordset.EOF

Data4.Recordset.Delete

Data4.Recordset.MoveNext

Wend

End If

If Not Data5.Recordset.EOF Then

Data5.Recordset.MoveFirst

While Not Data5.Recordset.EOF

Data5.Recordset.Delete

Data5.Recordset.MoveNext

Wend

End If

Text29 = "fin crear listas binarias"

End Sub

Private Sub Command3_Click()

Text29 = ""

For j = 1 To 1000 ' cantidad de sucesos

Text25 = Val(Text28)

dato1

galería

Next j

Text29 = "Fin Correr Listas Binarias"

End Sub

Private Sub Command4_Click()

Text29 = ""

Text30 = 1

For j = 1 To 100

aleatorio

Text27 = 2

pronóstico

proceso

galería

Text33 = Val(j)

Next j

Text29 = "Fin Macro Prueba I"

End Sub

Private Sub Command5_Click()

If Not Data3.Recordset.EOF Then

Data3.Recordset.MoveFirst

While Not Data3.Recordset.EOF

Data3.Recordset.Delete

Data3.Recordset.MoveNext

Wend

End If

End Sub

Text29 = "Archivo #3 Borrado"

Private Sub Command6_Click()

pronóstico

End Sub

Private Sub Command7_Click()

Text19 = 0

Data1.Recordset.MoveFirst

While Not Data1.Recordset.EOF

leer1

If Val(Text9) > Val(Text19) Then

Text19 = Val(Text9)

Data5.Recordset.AddNew

Data5.Recordset.Fields("i2") = Val(Text9)

Data5.Recordset.Fields("lista") = Val(Text21) ' guarda los hitos de la galería actual

Data5.Recordset.Update ' el último es el mayor

End If

Data1.Recordset.MoveNext

Wend

End Sub

Private Sub Command8_Click()

mayor

End Sub

 

 

Autor:

Martín Emilio Sanchez Sifontes

Partes: 1, 2
 Página anterior Volver al principio del trabajoPágina siguiente