1 00: 00: 00,000 -> 00: 00: 02,059 Hola a todos, Jonathan aquí.
2 00: 00: 03,461 -> 00: 00: 05,966 Hoy os voy a mostrar un ejemplo.
3 00: 00: 05,966 -> 00: 00: 10,218 de c�mo podr�as hacer tu Aut�matas celulares muy propios.
4 00: 00: 10,218 -> 00: 00: 11,984 en adelante referido como ECA
5 00: 00: 11,984 -> 00: 00: 12,944 en netlogo.
6 00: 00: 13,779 -> 00: 00: 15,961 Este ejercicio en particular nos pide que
7 00: 00: 15,961 -> 00: 00: 18,300 Homebrew un ECA as�ncrono
8 00: 00: 18,300 -> 00: 00: 21,163 Lo que ver�s sucede muy naturalmente. en este programa,
9 00: 00: 21,163 -> 00: 00: 25,388 desde NetLogo, por defecto, le gusta llamar a los agentes en orden aleatorio.
10 00: 00: 27,118 -> 00: 00: 28,652 Muy bien, entonces,
11 00: 00: 28,652 -> 00: 00: 29,912 Como viste de esta unidad,
12 00: 00: 29,912 -> 00: 00: 32,101 ECAs siendo unidimensional
13 00: 00: 32,101 -> 00: 00: 33,947 se simulan fila por fila,
14 00: 00: 33,947 -> 00: 00: 35,493 una fila a la vez
15 00: 00: 35,493 -> 00: 00: 38,047 Se simula el primer paso en la fila superior.
diecis�is 00: 00: 38,047 -> 00: 00: 40,477 Segundo paso de tiempo Juega en la segunda fila.
17 00: 00: 40,477 -> 00: 00: 42,012 Tercera iteraci�n en la tercera fila,
18 00: 00: 42,012 -> 00: 00: 43,157 etc�tera etc�tera.
19 00: 00: 44,107 -> 00: 00: 46,753 Por lo que nos conviene para configurar el sistema de coordenadas
20 00: 00: 46,753 -> 00: 00: 48,996 de una manera que Facilita esta l�gica.
21 00: 00: 50,026 -> 00: 00: 52,610 Aqu�, note que puse el origen en la parte superior,
22 00: 00: 52,610 -> 00: 00: 55,138 para que la primera fila cuente como coordenada py de cero
23 00: 00: 55,138 -> 00: 00: 58,051 y cuenta hacia abajo menos uno, menos dos, menos tres, y as� sucesivamente
24 00: 00: 58,051 -> 00: 00: 59,552 desde all�.
25 00: 00: 59,552 -> 00: 01: 01,561 Debido a que comienza en la esquina superior izquierda,
26 00: 01: 01,561 -> 00: 01: 04,225 px coordenadas enteras tambi�n pueden ser (inaudible) contar
27 00: 01: 04,225 -> 00: 01: 06,201 desde cero, uno, dos tres, etc.
28 00: 01: 06,201 -> 00: 01: 08,300 que tambi�n podr�a ser agradable si luego decides
29 00: 01: 08,300 -> 00: 01: 10,873 Para ampliar el ancho de las filas.
30 00: 01: 10,873 -> 00: 01: 12,427 Ahora para las grandes preguntas.
31 00: 01: 12,427 -> 00: 01: 13,513 Quieres preguntar:
32 00: 01: 13,513 -> 00: 01: 16,096 �Cu�les son las caracter�sticas esenciales? del modelo ECA?
33 00: 01: 17,836 -> 00: 01: 20,862 Fayal (???) o aut�matas son hecho de c�lulas, por supuesto,
34 00: 01: 20,862 -> 00: 01: 23,619 que en los c�digos NetLogo, son los parches
35 00: 01: 23,619 -> 00: 01: 25,584 Las principales propiedades de los parches. en las ECAs
36 00: 01: 25,584 -> 00: 01: 28,982 son los estados actuales, de los cuales tienen cero o uno,
37 00: 01: 28,982 -> 00: 01: 30,901 y configuraciones de barrio,
38 00: 01: 30,901 -> 00: 01: 33,422 utilizado para determinar la estado posterior de la c�lula.
39 00: 01: 34,862 -> 00: 01: 37,502 Otra caracter�stica importante de la modelo son las reglas,
40 00: 01: 37,502 -> 00: 01: 38,752 que, como ustedes saben,
41 00: 01: 38,752 -> 00: 01: 40,952 es simplemente una lista de estados diciendo a las c�lulas
42 00: 01: 40,952 -> 00: 01: 43,215 que barrios producir que estados.
43 00: 01: 43,215 -> 00: 01: 45,559 Como hemos visto de los diversos Clases de wolfram,
44 00: 01: 45,559 -> 00: 01: 48,290 diferentes reglas pueden producir comportamientos radicalmente diferentes
45 00: 01: 48,290 -> 00: 01: 49,571 a gran escala,
46 00: 01: 49,571 -> 00: 01: 51,905 mientras que las c�lulas individuales pueden tienen sus propios estados,
47 00: 01: 51,905 -> 00: 01: 53,569 y ver diferentes barrios,
48 00: 01: 53,569 -> 00: 01: 56,653 El conjunto de reglas en s� no es espec�fico de las c�lulas individuales,
49 00: 01: 56,653 -> 00: 01: 58,400 sino m�s bien el modelo en su conjunto.
50 00: 01: 58,400 -> 00: 02: 00,766 Por lo tanto, la lista es como una variable global.
51 00: 02: 01,886 -> 00: 02: 05,408 Tampoco queremos olvidar. Los procedimientos obligatorios de Setup and Go.
52 00: 02: 05,408 -> 00: 02: 07,209 para hacer correr el modelo y esas cosas,
53 00: 02: 07,209 -> 00: 02: 09,695 as� que estoy poniendo eso en este momento.
54 00: 02: 11,195 -> 00: 02: 14,116 Para la configuraci�n, es generalmente buena pr�ctica para escribir
55 00: 02: 14,116 -> 00: 02: 15,047 "limpiar todo",
56 00: 02: 15,047 -> 00: 02: 17,299 ya que queremos poder restablecer estos modelos
57 00: 02: 17,299 -> 00: 02: 19,271 y replicar los resultados de forma independiente,
58 00: 02: 19,271 -> 00: 02: 21,600 sin interferencia de ejecuciones anteriores.
59 00: 02: 22,770 -> 00: 02: 25,211 Particular al camino Configur� este modelo,
60 00: 02: 25,211 -> 00: 02: 27,976 Tambi�n estoy reiniciando tales garrapatas de inicializaci�n,
61 00: 02: 27,976 -> 00: 02: 30,361 ya que las garrapatas pueden ser �tiles para seguir la pista
62 00: 02: 30,361 -> 00: 02: 32,822 de que paso del tiempo estamos
63 00: 02: 32,822 -> 00: 02: 35,655 Finalmente, queremos los parches. ordenar ellos mismos
64 00: 02: 35,655 -> 00: 02: 37,284 a una configuraci�n aleatoria inicial
sesenta y cinco 00: 02: 38,124 -> 00: 02: 39,781 as� que voy a pedir los parches
66 00: 02: 39,781 -> 00: 02: 41,638 aunque con un calificador espec�fico,
67 00: 02: 41,638 -> 00: 02: 44,918 parches con pycor igual a cero, para empezar,
68 00: 02: 44,918 -> 00: 02: 46,278 ya que, como ustedes saben,
69 00: 02: 46,278 -> 00: 02: 48,793 queremos celdas en la fila superior al principio.
70 00: 02: 49,493 -> 00: 02: 51,357 Ahora estas c�lulas parcheadas parecen tener
71 00: 02: 51,357 -> 00: 02: 53,044 esos estados establecen al azar.
72 00: 02: 54,014 -> 00: 02: 58,353 Recordemos que cada celda puede estar en Uno de dos estados: cero o uno.
73 00: 02: 58,353 -> 00: 03: 00,210 As� que para nuestros prop�sitos actuales,
74 00: 03: 00,210 -> 00: 03: 01,869 queremos una variable de decisi�n aleatoria,
75 00: 03: 01,869 -> 00: 03: 03,459 con la misma posibilidad de regresar
76 00: 03: 03,459 -> 00: 03: 05,429 Un estado de cero o uno a las celdas.
77 00: 03: 06,309 -> 00: 03: 08,446 Voy a llamar a este "sorteo"
78 00: 03: 08,446 -> 00: 03: 10,806 solo porque me gusta la analog�a de tarjetas de dibujo
79 00: 03: 10,806 -> 00: 03: 14,394 aunque nombrar no es realmente en consecuencia aqu�.
80 00: 03: 14,394 -> 00: 03: 19,187 Por lo tanto, vamos a la variable temporal, "dibujar", ser al azar flotar uno,
81 00: 03: 19,187 -> 00: 03: 21,944 que es cualquier cantidad aleatoria entre cero y uno
82 00: 03: 21,944 -> 00: 03: 23,844 Que la computadora pueda concebir.
83 00: 03: 23,844 -> 00: 03: 25,471 As� que para este "sorteo" al azar,
84 00: 03: 25,471 -> 00: 03: 27,998 Podemos decir si un n�mero elegido entre cero y uno
85 00: 03: 27,998 -> 00: 03: 32,957 est� por debajo de 0,5, que como ustedes saben, es un cincuenta por ciento de posibilidades,
86 00: 03: 32,957 -> 00: 03: 34,867 a continuaci�n, establezca "estado" cero,
87 00: 03: 34,867 -> 00: 03: 36,988 y quieres una cl�usula "else" all� tambi�n
88 00: 03: 36,988 -> 00: 03: 39,460 as� que si el n�mero "empate" pasa a ser m�s grande que .5,
89 00: 03: 39,460 -> 00: 03: 41,760 lo que ocurre el otro cincuenta por ciento del tiempo,
90 00: 03: 41,760 -> 00: 03: 43,651 a continuaci�n, establezca "estado" en 1 en su lugar.
91 00: 03: 44,991 -> 00: 03: 48,940 Tenga en cuenta que "estado" es una variable eso est� almacenado dentro del parche,
92 00: 03: 48,940 -> 00: 03: 51,622 que actualmente no es visible para el usuario humano
93 00: 03: 51,622 -> 00: 03: 52,963 As� que queremos marcar
94 00: 03: 52,963 -> 00: 03: 55,880 a trav�s de un nuevo procedimiento funcional llamado changeColor,
95 00: 03: 55,880 -> 00: 03: 58,750 que es bastante sencillo.
96 00: 03: 58,750 -> 00: 04: 00,526 Entonces, para cambiar de color,
97 00: 04: 00,526 -> 00: 04: 03,495 podr�a ser conveniente usar otra declaraci�n "ifelse".
98 00: 04: 03,495 -> 00: 04: 05,306 Si el estado de la celda es cero,
99 00: 04: 05,306 -> 00: 04: 06,523 conseguimos un color
100 00: 04: 06,523 -> 00: 04: 08,500 De lo contrario, si es un estado diferente,
101 00: 04: 08,500 -> 00: 04: 09,419 ergo uno
102 00: 04: 09,419 -> 00: 04: 10,563 obtenemos un color diferente
103 00: 04: 10,563 -> 00: 04: 12,854 para distinguir estas celulas de cada uno.
104 00: 04: 14,974 -> 00: 04: 17,520 M�s all� de eso, obviamente es hasta el gusto personal
105 00: 04: 17,520 -> 00: 04: 20,213 Que colores queremos usar.
106 00: 04: 20,213 -> 00: 04: 23,390 Voy a decir eso las c�lulas blancas son ceros,
107 00: 04: 23,390 -> 00: 04: 28,295 es decir, establecer pcolor en blanco, si el estado del parche es cero
108 00: 04: 28,295 -> 00: 04: 31,951 A la inversa, si el estado es uno, vamos a hacer que se vea verde en su lugar.
109 00: 04: 32,831 -> 00: 04: 35,426 Personalmente me gusta usar estos colores mas claros para esto,
110 00: 04: 35,426 -> 00: 04: 38,567 sobre todo porque nos ayuda Separa las filas de celdas que est�n hechas.
111 00: 04: 38,567 -> 00: 04: 41,123 de los m�s oscuros Eso no se ha hecho todav�a.
112 00: 04: 41,123 -> 00: 04: 45,289 Con eso, terminamos el procedimiento, y comprueba que no hay nada roto todav�a.
113 00: 04: 48,079 -> 00: 04: 51,212 Voy a poner unos botones, S�lo para probar el modelo hasta ahora,
114 00: 04: 51,212 -> 00: 04: 54,130 y ver si estamos en el camino correcto.
115 00: 04: 54,130 -> 00: 04: 56,691 Tenemos un bot�n de configuraci�n para ejecutar nuestros procedimientos de configuraci�n,
116 00: 04: 56,691 -> 00: 04: 58,118 y un bot�n Ir.
117 00: 04: 58,118 -> 00: 05: 00,505 El bot�n Ir no deber�a hacer algo por el momento,
118 00: 05: 00,505 -> 00: 05: 02,752 pero eventualmente tendr� que estar all�.
119 00: 05: 06,452 -> 00: 05: 08,519 Configurando el modelo ahora.
120 00: 05: 08,519 -> 00: 05: 13,200 Mira, ahora tenemos alrededor de la mitad de las c�lulas blancas. y la mitad de las c�lulas verdes en la fila de inicio,
121 00: 05: 13,200 -> 00: 05: 16,218 Reflejando nuestra probabilidad del cincuenta por ciento de las c�lulas que se vuelven blancas,
122 00: 05: 16,218 -> 00: 05: 18,571 y cincuenta por ciento de probabilidad la celda se siembra verde
123 00: 05: 18,571 -> 00: 05: 20,482 en secuencia aleatoria.
124 00: 05: 20,482 -> 00: 05: 23,741 Las condiciones iniciales se restablecen cada vez. usando este procedimiento,
125 00: 05: 23,741 -> 00: 05: 24,614 lo que ves,
126 00: 05: 24,614 -> 00: 05: 26,159 son completamente aleatorias cada vez,
127 00: 05: 26,159 -> 00: 05: 29,156 pero en t�rminos generales, Tendr�s cincuenta y cincuenta verdes y blancos.
128 00: 05: 29,156 -> 00: 05: 31,064 de media.
129 00: 05: 31,064 -> 00: 05: 34,143 Ve, sorpresa, no hace nada todav�a. porque no puse nada
130 00: 05: 34,143 -> 00: 05: 36,592 fuera en el procedimiento Go, todav�a.
131 00: 05: 38,456 -> 00: 05: 39,315 Siguiente cosa,
132 00: 05: 39,315 -> 00: 05: 43,065 Queremos que las c�lulas interact�en realmente. con y responder a las c�lulas que los rodean,
133 00: 05: 43,065 -> 00: 05: 45,234 y cambiar de acuerdo a reglas especificas,
134 00: 05: 45,234 -> 00: 05: 47,250 con respecto a su barrio configuraci�n.
135 00: 05: 47,250 -> 00: 05: 48,490 �Derecha?
136 00: 05: 48,490 -> 00: 05: 51,498 Hasta ahora, no he definido lo que el los conjuntos de reglas son.
137 00: 05: 51,498 -> 00: 05: 53,988 As� que solo para ver r�pidamente eso en acci�n,
138 00: 05: 53,988 -> 00: 05: 56,404 Voy a inicializar el modelo por ahora,
139 00: 05: 56,404 -> 00: 05: 58,862 con uno de mis conjuntos de reglas favoritas.
140 00: 05: 58,862 -> 00: 06: 01,971 Esta es una de esas reglas con la propiedades interesantes de la
141 00: 06: 01,971 -> 00: 06: 06,029 comportamiento algo ordenado pero ca�tico caracter�stico de, ya sabes,
142 00: 06: 06,029 -> 00: 06: 08,222 Estructuras complejas.
143 00: 06: 08,222 -> 00: 06: 09,319 Con esta regla establecida,
144 00: 06: 09,319 -> 00: 06: 11,089 como titular temporal,
145 00: 06: 11,089 -> 00: 06: 12,986 vamos a especificar el procedimiento Go,
146 00: 06: 12,986 -> 00: 06: 15,748 donde las reglas de la CA entran en juego
147 00: 06: 15,748 -> 00: 06: 18,245 Recuerde, las reglas dictan qu� estado
148 00: 06: 18,245 -> 00: 06: 20,951 las c�lulas cambian a para cada configuraci�n del barrio,
149 00: 06: 20,951 -> 00: 06: 23,494 que requieren cada parche celular para detectar el
150 00: 06: 23,494 -> 00: 06: 25,817 Estado de sus dos vecinos inmediatos.
151 00: 06: 25,827 -> 00: 06: 28,411 as� como su propio estado.
152 00: 06: 28,981 -> 00: 06: 31,250 Mantenerse en los parches superiores por ahora,
153 00: 06: 31,250 -> 00: 06: 33,190 vamos a tener cada actualizaci�n de parche
154 00: 06: 33,190 -> 00: 06: 35,302 y registrar su configuraci�n de barrio.
155 00: 06: 35,302 -> 00: 06: 39,084 Es decir, la combinaci�n de tres estados que incluye al vecino izquierdo de la celda,
156 00: 06: 39,084 -> 00: 06: 41,263 s�, y su pr�jimo derecho.
157 00: 06: 41,263 -> 00: 06: 43,021 Dado que el barrio est� definido por una
158 00: 06: 43,021 -> 00: 06: 44,824 combinaci�n de estados celulares,
159 00: 06: 44,824 -> 00: 06: 46,267 quieres crear una lista,
160 00: 06: 46,267 -> 00: 06: 48,340 que es solo otro vector.
161 00: 06: 49,140 -> 00: 06: 51,937 En este vector, desea incluir como primera entrada,
162 00: 06: 51,937 -> 00: 06: 54,657 El estado binario de la celda izquierda.
163 00: 06: 54,657 -> 00: 06: 57,800 As� que un poco de vocabulario de NetLogo para ustedes.
164 00: 06: 57,800 -> 00: 07: 00,189 "patch-at" se refiere al parche celular
165 00: 07: 00,189 -> 00: 07: 03,313 en una posici�n relativa a la Celular actual llamandolo.
166 00: 07: 04,453 -> 00: 07: 06,540 El primer n�mero es la distancia x
167 00: 07: 06,540 -> 00: 07: 08,779 a la izquierda, oa la derecha.
168 00: 07: 08,779 -> 00: 07: 10,484 El segundo n�mero, y distancia,
169 00: 07: 10,484 -> 00: 07: 12,353 arriba o abajo.
170 00: 07: 12,353 -> 00: 07: 15,245 As� que parche en -1 0
171 00: 07: 15,245 -> 00: 07: 18,627 se refiere a la celda a la izquierda inmediata de la celda actual.
172 00: 07: 22,017 -> 00: 07: 24,127 Ahora, agregue en el estado del parche actual
173 00: 07: 24,127 -> 00: 07: 25,686 llamando a este procedimiento
174 00: 07: 25,686 -> 00: 07: 27,328 que es solo "estado" por defecto
175 00: 07: 27,328 -> 00: 07: 30,932 y finalmente el estado en la celda derecha,
176 00: 07: 30,932 -> 00: 07: 32,901 parche-en 1 0
177 00: 07: 32,901 -> 00: 07: 35,310 Porque ahora estamos mirando hacia la derecha.
178 00: 07: 35,310 -> 00: 07: 37,751 Con eso, tenemos un bloque de comando convincente,
179 00: 07: 37,751 -> 00: 07: 40,303 que voy a cerrar por ahora.
180 00: 07: 41,733 -> 00: 07: 43,130 Vaya, mi mal,
181 00: 07: 46,900 -> 00: 07: 48,517 As� que, para recapitular,
182 00: 07: 48,517 -> 00: 07: 50,801 cada celda est� buscando est� a la izquierda, y a la derecha,
183 00: 07: 50,801 -> 00: 07: 52,069 y dentro de s� mismo,
184 00: 07: 52,069 -> 00: 07: 53,566 para el conjunto actual de estados
185 00: 07: 53,566 -> 00: 07: 55,697 Actualizaci�n en cada paso del tiempo.
186 00: 07: 55,697 -> 00: 07: 59,050 Las c�lulas son, por lo tanto, simplemente almacenar informaci�n cada vez,
187 00: 07: 59,050 -> 00: 08: 00,974 En realidad no haciendo nada con eso,
188 00: 08: 00,974 -> 00: 08: 03,403 y cambiando sus estados de acuerdo.
189 00: 08: 03,403 -> 00: 08: 06,342 De ah�, el comportamiento aparente del modelo. no ha cambiado todavia
190 00: 08: 06,972 -> 00: 08: 09,032 Como puedes ver, haciendo clic en estos botones,
191 00: 08: 10,022 -> 00: 08: 13,212 Obviamente hay varios factores aqu� que se requieren para hacer
192 00: 08: 13,212 -> 00: 08: 14,737 el modelo funciona correctamente.
193 00: 08: 14,737 -> 00: 08: 16,955 Por ejemplo, no podemos ver la manifestaci�n
194 00: 08: 16,955 -> 00: 08: 18,061 del nuevo estado de la c�lula
195 00: 08: 18,061 -> 00: 08: 20,398 sin un cambio de procedimiento de color
196 00: 08: 21,738 -> 00: 08: 23,353 Pero m�s fundamentalmente,
197 00: 08: 23,353 -> 00: 08: 26,652 el modelo se encuentra actualmente perdido Una aplicaci�n de las reglas,
198 00: 08: 26,652 -> 00: 08: 29,269 cuando supuestamente dirigen Comportamiento celular.
199 00: 08: 29,269 -> 00: 08: 30,366 De hecho,
200 00: 08: 30,366 -> 00: 08: 32,493 el vector de la regla inicialista que escog�
201 00: 08: 32,493 -> 00: 08: 34,310 Realmente no est� haciendo nada actualmente.
202 00: 08: 34,310 -> 00: 08: 37,973 As� que necesitamos una manera para que las c�lulas se refieran. A esas reglas en el vector.
203 00: 08: 40,233 -> 00: 08: 43,177 Ahora, hay muchas, muchas maneras para programar esta parte,
204 00: 08: 43,177 -> 00: 08: 46,618 y como estoy seguro los inform�ticos entre ustedes se dar�n cuenta r�pidamente,
205 00: 08: 46,618 -> 00: 08: 49,248 el que estoy mostrando es de ninguna manera lo m�s eficiente.
206 00: 08: 49,248 -> 00: 08: 51,394 Pero algunos de ustedes lo har�n al menos con suerte apreciar
207 00: 08: 51,394 -> 00: 08: 54,961 la simplicidad sint�ctica de mi enfoque aqu�.
208 00: 08: 54,961 -> 00: 08: 57,976 Hasta ahora, tenemos los parches. mirando a los estados vecinos
209 00: 08: 57,976 -> 00: 09: 00,958 y llevar un registro de ellos en cada paso del tiempo
210 00: 09: 00,958 -> 00: 09: 02,963 Ahora queremos que actualicen su estado.
211 00: 09: 02,963 -> 00: 09: 06,364 en funci�n de estos Configuraciones actuales.
212 00: 09: 06,364 -> 00: 09: 09,423 As� que vamos a tener que tener nuestros parches verifican estos estados,
213 00: 09: 09,423 -> 00: 09: 13,112 y buscar el correspondiente correspondiente Estado de respuesta del vector de reglas.
214 00: 09: 14,012 -> 00: 09: 17,088 Por ejemplo, pregunte al parche si su configuraci�n de barrio
215 00: 09: 17,088 -> 00: 09: 19,725 fue cero cero cero.
216 00: 09: 19,725 -> 00: 09: 22,540 Esto corresponde a una barrio de todas las celulas blancas
217 00: 09: 22,540 -> 00: 09: 25,191 En las celdas izquierda, centro y derecha aqu�.
218 00: 09: 25,191 -> 00: 09: 27,370 Si la c�lula en cuesti�n ve este estado,
219 00: 09: 27,370 -> 00: 09: 30,802 Queremos que esta celda establezca el estado. correspondiente al art�culo cero
220 00: 09: 30,802 -> 00: 09: 33,227 de la lista de conjuntos de reglas.
221 00: 09: 33,227 -> 00: 09: 38,659 Esto hace que el parche focal cambie su Estado al primer elemento en el vector de reglas.
222 00: 09: 38,659 -> 00: 09: 40,528 Si bien sabemos de antemano que esto ser�a
223 00: 09: 40,528 -> 00: 09: 42,680 actualmente para establecer el estado a cero
224 00: 09: 42,680 -> 00: 09: 47,995 En �ltima instancia queremos que el parche responda. a cualquier vector de regla binaria arbitraria
225 00: 09: 47,995 -> 00: 09: 49,026 el usuario especifica
226 00: 09: 49,026 -> 00: 09: 52,275 Ese es el de arriba que me invent�.
227 00: 09: 52,275 -> 00: 09: 55,023 Buscando la siguiente posible configuraci�n,
228 00: 09: 55,023 -> 00: 09: 56,502 cero cero uno,
229 00: 09: 56,502 -> 00: 09: 58,762 ergo, un blanco, blanco, verde,
230 00: 09: 58,762 -> 00: 10: 00,458 Queremos que la c�lula cambie de estado.
231 00: 10: 00,458 -> 00: 10: 02,791 al segundo estado de salida en la lista,
232 00: 10: 02,791 -> 00: 10: 04,152 Objeto 1.
233 00: 10: 05,782 -> 00: 10: 09,412 Del mismo modo la tercera configuraci�n. corresponde al �tem 2.
234 00: 10: 09,412 -> 00: 10: 11,480 Cuarta configuraci�n, tres,
235 00: 10: 11,480 -> 00: 10: 13,275 y, tienes la idea
236 00: 10: 15,555 -> 00: 10: 17,948 En un esfuerzo por ahorrar algo de tiempo,
237 00: 10: 17,948 -> 00: 10: 19,876 Solo voy a copiar y pegar aqu�,
238 00: 10: 19,876 -> 00: 10: 23,219 para configurar el restante seis posibles permutaciones.
239 00: 10: 23,219 -> 00: 10: 26,568 Una vez m�s, este no es el Algoritmo m�s conveniente.
240 00: 10: 26,568 -> 00: 10: 27,990 Para ustedes, gente con conocimientos de c�digo,
241 00: 10: 27,990 -> 00: 10: 30,374 definitivamente hay maneras, si usamos bucles "foreach",
242 00: 10: 30,374 -> 00: 10: 33,701 que cuentan y generan cualquier conjunto completo de configuraciones de barrio
243 00: 10: 33,701 -> 00: 10: 35,937 bajo el esquema de pedido de Wolfram,
244 00: 10: 35,937 -> 00: 10: 38,699 para alinear esas configuraciones con el vector de reglas.
245 00: 10: 38,699 -> 00: 10: 40,376 Lo estamos manteniendo simple en este momento,
246 00: 10: 40,376 -> 00: 10: 43,755 as� que al menos tienes una plantilla para jugar un poco con
247 00: 10: 43,755 -> 00: 10: 44,646 Mientras tanto,
248 00: 10: 44,646 -> 00: 10: 48,002 Solo estoy comprobando y completando el restantes configuraciones posibles
249 00: 10: 48,002 -> 00: 10: 49,315 en el siguiente estado de la c�lula,
250 00: 10: 49,315 -> 00: 10: 53,266 correspondiente a la respectiva elementos del conjunto de reglas.
251 00: 10: 53,266 -> 00: 10: 55,465 Y se ve bien.
252 00: 10: 56,565 -> 00: 10: 58,218 Configuraci�n r�pida y listo.
253 00: 10: 58,848 -> 00: 11: 02,551 Ahora vemos alguna interacci�n entre celdas en la primera fila.
254 00: 11: 04,171 -> 00: 11: 06,378 Observe c�mo cada vez que estoy haciendo esto,
255 00: 11: 06,378 -> 00: 11: 08,041 esta actualizando los parches
256 00: 11: 08,041 -> 00: 11: 09,862 basado en sus barrios anteriores,
257 00: 11: 09,862 -> 00: 11: 12,004 e incluso sin que nosotros hagamos el desplegable CA corre,
258 00: 11: 12,004 -> 00: 11: 15,221 eventualmente vamos a entrar en la pr�xima par de revisiones de c�digo,
259 00: 11: 15,221 -> 00: 11: 16,996 se podr�an formular hip�tesis,
260 00: 11: 16,996 -> 00: 11: 19,831 sobre el patr�n sobre observaci�n casual
261 00: 11: 19,831 -> 00: 11: 22,677 �Hay un conjunto espec�fico de ciclos repetitivos presentes?
262 00: 11: 23,827 -> 00: 11: 27,349 O la aparici�n de m�s. complejos meticiclos tortuosos,
263 00: 11: 27,349 -> 00: 11: 29,250 Caracter�stica del caos?
264 00: 11: 29,250 -> 00: 11: 30,793 �O es sobre todo ruido aleatorio,
265 00: 11: 30,793 -> 00: 11: 33,306 jugando trucos en nuestro cerebro?
266 00: 11: 33,306 -> 00: 11: 37,194 Sin embargo, para ver esa imagen m�s grande. evoluci�n del tiempo en una visualizaci�n,
267 00: 11: 37,194 -> 00: 11: 40,602 en realidad queremos habilitar el c�lulas objetivo para desplegar,
268 00: 11: 40,602 -> 00: 11: 42,791 para que podamos ver esta fila llena,
269 00: 11: 42,791 -> 00: 11: 44,132 esta fila
270 00: 11: 44,132 -> 00: 11: 45,051 �ste,
271 00: 11: 45,051 -> 00: 11: 46,073 Etc�tera.
272 00: 11: 46,073 -> 00: 11: 47,662 Felizmente para nosotros,
273 00: 11: 47,662 -> 00: 11: 51,298 NetLogo ya tiene su propio nativo. medios de seguimiento de pasos de tiempo
274 00: 11: 51,298 -> 00: 11: 52,928 llamado "tick".
275 00: 11: 52,928 -> 00: 11: 54,992 Como ya deber�as estar familiarizado con,
276 00: 11: 54,992 -> 00: 11: 58,225 "tick" es una funci�n incorporada que cuenta el n�mero total de veces
277 00: 11: 58,225 -> 00: 11: 59,687 es pasado a trav�s del c�digo
278 00: 11: 59,687 -> 00: 12: 02,995 mantener la cuenta de la corriente la iteraci�n en la que estamos
279 00: 12: 04,095 -> 00: 12: 07,833 As� que esto es lo que nuestro esquema de coordenadas. desde el principio es muy �til.
280 00: 12: 07,833 -> 00: 12: 11,892 Ya que tanto el contador de garrapatas como este sistema de coordenadas p-y comienza en cero,
281 00: 12: 11,892 -> 00: 12: 16,137 literalmente podemos usar el n�mero de garrapatas para determinar qu� fila queremos mostrar
282 00: 12: 16,137 -> 00: 12: 18,625 Los estados celulares pertinentes.
283 00: 12: 18,625 -> 00: 12: 19,546 Tenga en cuenta,
284 00: 12: 19,546 -> 00: 12: 23,466 los valores de p-y cor descienden uno negativo, dos negativo
285 00: 12: 23,466 -> 00: 12: 24,821 tres negativos
286 00: 12: 24,821 -> 00: 12: 27,139 Dado que hacia abajo representa la direcci�n negativa
287 00: 12: 27,139 -> 00: 12: 28,483 en el eje y,
288 00: 12: 28,483 -> 00: 12: 30,631 as� que queremos que p-y cor sea lo negativo
289 00: 12: 30,631 -> 00: 12: 32,618 de la cuenta actual de la garrapata.
290 00: 12: 33,808 -> 00: 12: 35,506 Para futura referencia,
291 00: 12: 35,506 -> 00: 12: 37,594 vamos a referirnos a las celdas en estas filas dadas
292 00: 12: 37,594 -> 00: 12: 39,788 como los parches actuales.
293 00: 12: 39,788 -> 00: 12: 41,637 Con estos parches actuales,
294 00: 12: 41,637 -> 00: 12: 44,125 Primero queremos copiar el �ltima fila en la nueva,
295 00: 12: 44,125 -> 00: 12: 46,103 por lo que las celdas en el paso de tiempo actual
296 00: 12: 46,103 -> 00: 12: 47,792 puede interactuar a lo largo de la nueva fila
297 00: 12: 47,792 -> 00: 12: 51,088 Sin perder su historia previa.
298 00: 12: 51,088 -> 00: 12: 52,080 Para hacer esto,
299 00: 12: 52,080 -> 00: 12: 54,166 establecer estado para cada uno de los parches actuales
300 00: 12: 54,166 -> 00: 12: 55,630 lo mismo que sus c�lulas anteriores
301 00: 12: 55,630 -> 00: 12: 56,765 directamente arriba, con
302 00: 12: 56,765 -> 00: 12: 58,566 patchAt 0 1
303 00: 13: 00,206 -> 00: 13: 01,820 Ahora en esta nueva fila,
304 00: 13: 01,820 -> 00: 13: 04,166 Podemos pedir a las c�lulas que escaneen. sus barrios,
305 00: 13: 04,166 -> 00: 13: 06,083 y actualizar sus estados en consecuencia,
306 00: 13: 06,083 -> 00: 13: 08,084 como lo hac�an antes,
307 00: 13: 08,084 -> 00: 13: 10,294 S�lo ahora en una fila separada.
308 00: 13: 13,464 -> 00: 13: 14,311 �Todo bien!
309 00: 13: 14,311 -> 00: 13: 15,887 Esto es impresionante
310 00: 13: 15,887 -> 00: 13: 20,002 Finalmente llegamos a ver un poco de La evoluci�n temporal en acci�n.
311 00: 13: 21,712 -> 00: 13: 23,801 En nuestra primera carrera oficial del modelo,
312 00: 13: 23,801 -> 00: 13: 25,664 Puedes ver las celdas movi�ndose hacia abajo una fila
313 00: 13: 25,664 -> 00: 13: 27,159 cada paso del tiempo
314 00: 13: 27,159 -> 00: 13: 28,562 Y fren�ndolo un poco,
315 00: 13: 28,562 -> 00: 13: 31,006 puedes ver que son haciendo esto asincronicamente,
316 00: 13: 31,006 -> 00: 13: 32,191 En orden aleatorio,
317 00: 13: 32,191 -> 00: 13: 34,324 como pretend�amos que ellos
318 00: 13: 34,369 -> 00: 13: 36,609 mientras obtenemos fragmentos de grupos familiares,
319 00: 13: 36,609 -> 00: 13: 38,965 apareciendo en varias frecuencias,
320 00: 13: 38,965 -> 00: 13: 41,530 El patr�n de distribuci�n global del verde.
321 00: 13: 41,530 -> 00: 13: 44,454 es demasiado escaso para manifestarse los mismos comportamientos complejos
322 00: 13: 44,454 -> 00: 13: 47,719 como el determinista sincr�nico Versi�n de esta regla.
323 00: 13: 47,719 -> 00: 13: 48,840 De hecho,
324 00: 13: 48,840 -> 00: 13: 51,900 Un an�lisis m�s completo de estos los llamados agrupamientos
325 00: 13: 51,900 -> 00: 13: 55,491 podr�a revelar que no son en realidad ocurriendo a una frecuencia mucho mayor
326 00: 13: 55,491 -> 00: 13: 57,668 de lo que uno esperar�a por mera casualidad,
327 00: 13: 57,668 -> 00: 14: 00,054 dici�ndonos aleatoriedad, no estructura,
328 00: 14: 00,054 -> 00: 14: 02,597 podr�a ser el factor dominante para este conjunto de reglas
329 00: 14: 02,597 -> 00: 14: 05,025 bajo la ECA estoc�stica.
330 00: 14: 05,025 -> 00: 14: 07,032 Pero para tener una verdadera ECA general,
331 00: 14: 07,032 -> 00: 14: 09,264 s�ncrono o no,
332 00: 14: 09,264 -> 00: 14: 12,041 obviamente necesitamos tener la capacidad para cambiar las reglas,
333 00: 14: 12,041 -> 00: 14: 15,827 y compararlos, dentro de la misma interfaz.
334 00: 14: 15,827 -> 00: 14: 16,571 Adem�s,
335 00: 14: 16,571 -> 00: 14: 19,712 Queremos compactar estos largos binarios. vectores de reglas basadas
336 00: 14: 19,712 -> 00: 14: 23,491 en la base taquigr�fica 10 sistema de numeraci�n de reglas para el usuario,
337 00: 14: 23,491 -> 00: 14: 24,601 con designaciones como
338 00: 14: 24,601 -> 00: 14: 28,773 Regla 30, Regla 212, o por lo que acabamos de hacer
339 00: 14: 28,773 -> 00: 14: 30,811 Regla 129.
340 00: 14: 30,811 -> 00: 14: 34,000 As� que nos gusta que el usuario vea estos numeraci�n de reglas coloquiales,
341 00: 14: 34,000 -> 00: 14: 36,598 que se traducen f�cilmente en conjuntos de reglas
342 00: 14: 36,598 -> 00: 14: 38,733 Este programa puede utilizar directamente.
343 00: 14: 38,733 -> 00: 14: 40,998 Para tener un conjunto de reglas que siempre se actualiza,
344 00: 14: 40,998 -> 00: 14: 43,484 basado en lo que el usuario cambia el n�mero a,
345 00: 14: 43,484 -> 00: 14: 46,986 Un reportero puede ser realmente �til.
346 00: 14: 48,056 -> 00: 14: 51,738 As� que primero queremos un n�mero �rabe Entrada del usuario.
347 00: 14: 51,738 -> 00: 14: 54,180 As� que probablemente sea conveniente poner un control deslizante aqu�
348 00: 14: 54,180 -> 00: 14: 56,318 para ajustar el n�mero de la regla.
349 00: 14: 57,098 -> 00: 15: 00,186 Sabemos que este modelo tiene un total de 256 reglas.
350 00: 15: 00,186 -> 00: 15: 03,933 As� que est� numerado del 0 al 255.
351 00: 15: 05,003 -> 00: 15: 08,507 Para probar otro potencialmente interesante. Regla que exhibi� rica complejidad.
352 00: 15: 08,507 -> 00: 15: 10,633 en el ECA original,
353 00: 15: 10,633 -> 00: 15: 14,538 Voy a poner en la regla 90 aqu�.
354 00: 15: 14,538 -> 00: 15: 17,035 As� que vamos a deshacernos de la variable en esta linea,
355 00: 15: 17,035 -> 00: 15: 20,164 lo que es redundante con nuestra nueva par�metro de control deslizante conjunto de reglas.
356 00: 15: 20,164 -> 00: 15: 25,300 Y as� mismo, no necesitamos el conjunto de reglas iniciales y configuraci�n m�s,
357 00: 15: 25,300 -> 00: 15: 29,619 As� nos lleva de nuevo a la tarea de Convertir los n�meros de base 10 a binarios.
358 00: 15: 29,619 -> 00: 15: 30,498 Asi que,
359 00: 15: 30,498 -> 00: 15: 33,190 utilizando el enfoque de conteo d�gito a d�gito,
360 00: 15: 33,190 -> 00: 15: 36,661 dejar que el resto comience como el actual regla n�mero diez base.
361 00: 15: 36,661 -> 00: 15: 38,636 As� que en nuestro caso, el 90,
362 00: 15: 38,636 -> 00: 15: 41,168 y como el resto es en realidad un nombre reservado para una
363 00: 15: 41,168 -> 00: 15: 43,766 Operaci�n matem�tica en NetLogo,
364 00: 15: 43,766 -> 00: 15: 45,958 Solo voy a llamarlo "resto"
365 00: 15: 45,958 -> 00: 15: 47,628 Un poco tiene sentido, espero.
366 00: 15: 47,628 -> 00: 15: 51,584 As� que de nuevo, seamos los que permanezcan n�mero de regla especificado por el usuario.
367 00: 15: 53,234 -> 00: 15: 54,153 Y entonces,
368 00: 15: 54,153 -> 00: 15: 57,311 Aqu� es un buen lugar para usar el funci�n foreach.
369 00: 15: 57,311 -> 00: 16: 01,055 Aqu� es donde nos metemos met�dicamente los d�gitos binarios en el vector de regla,
370 00: 16: 01,055 -> 00: 16: 03,327 donde cada uno lleva equivalente valor de base diez
371 00: 16: 03,327 -> 00: 16: 05,442 es de mayor a menor.
372 00: 16: 05,442 -> 00: 16: 07,122 As� que el primer d�gito significativo es
373 00: 16: 07,122 -> 00: 16: 08,624 dos a la s�ptima potencia,
374 00: 16: 08,624 -> 00: 16: 10,058 ergo 128.
375 00: 16: 10,058 -> 00: 16: 13,703 El siguiente es 64, 32, 16, etc.
376 00: 16: 15,223 -> 00: 16: 18,804 Una vez m�s, hay probablemente innumerables maneras de Deriva y genera este vector.
377 00: 16: 18,804 -> 00: 16: 20,694 sin poner manualmente en todo,
378 00: 16: 20,694 -> 00: 16: 22,728 pero solo estoy siendo pedag�gico-ish.
379 00: 16: 22,728 -> 00: 16: 23,434 Oh si,
380 00: 16: 23,434 -> 00: 16: 24,769 Una cosa m�s aqu�.
381 00: 16: 24,769 -> 00: 16: 27,726 Que haya una variable temporal, Lista de reglas.
382 00: 16: 27,726 -> 00: 16: 30,240 Esto es solo un suplente para una variable de conjunto de reglas,
383 00: 16: 30,240 -> 00: 16: 32,118 que comienza como una lista vac�a,
384 00: 16: 32,118 -> 00: 16: 33,462 pero recoge ceros y unos,
385 00: 16: 33,462 -> 00: 16: 35,195 Hasta que tenga ocho d�gitos binarios.
386 00: 16: 35,195 -> 00: 16: 37,698 e informa de una lista completa como establece la regla.
387 00: 16: 38,858 -> 00: 16: 41,599 Para cada uno de estos valores de d�gitos binarios,
388 00: 16: 41,599 -> 00: 16: 44,463 Vamos a hacer una prueba de comparaci�n.
389 00: 16: 44,463 -> 00: 16: 45,799 As� que voy a decir,
390 00: 16: 45,799 -> 00: 16: 50,243 para el que permanece, si es que permanece menos de el d�gito binario actual,
391 00: 16: 50,243 -> 00: 16: 52,719 ponga este d�gito a cero.
392 00: 16: 52,719 -> 00: 16: 55,156 Por ejemplo, para un n�mero de regla de 90,
393 00: 16: 55,156 -> 00: 16: 56,836 el d�gito principal es cero
394 00: 16: 56,836 -> 00: 16: 58,555 ya que nada con uno en el frente
395 00: 16: 58,555 -> 00: 17: 01,002 va a ser 128 o mayor
396 00: 17: 01,002 -> 00: 17: 02,467 que agregamos a la lista de reglas
397 00: 17: 02,467 -> 00: 17: 03,715 con LPUT.
398 00: 17: 03,715 -> 00: 17: 07,983 LPUT a�adiendo el valor a el �ltimo art�culo en la lista actual.
399 00: 17: 07,983 -> 00: 17: 10,742 Tenemos la oportunidad de utilizar Set para estas funciones.
400 00: 17: 10,742 -> 00: 17: 13,270 que tiene que ver con el camino NetLogo actualiza las listas,
401 00: 17: 13,270 -> 00: 17: 16,432 ya que no pueden editar listas existentes directamente.
402 00: 17: 16,432 -> 00: 17: 19,406 As� que si el n�mero de regla es menor que valor actual del lugar,
403 00: 17: 19,406 -> 00: 17: 21,495 poner el d�gito binario a cero,
404 00: 17: 21,495 -> 00: 17: 24,529 pero de lo contrario, si es igual o m�s grande que este lugar,
405 00: 17: 24,529 -> 00: 17: 27,367 como en el caso de la segundo d�gito significativo,
406 00: 17: 27,367 -> 00: 17: 29,368 donde 90 es mayor que 64,
407 00: 17: 29,368 -> 00: 17: 32,002 establece este d�gito a uno.
408 00: 17: 32,002 -> 00: 17: 34,164 Sin embargo, tenemos que tener en cuenta el hecho
409 00: 17: 34,164 -> 00: 17: 38,422 que ahora se incluye un valor de 64 en el vector de regla actual.
410 00: 17: 38,422 -> 00: 17: 39,950 As� que lo deducimos de los 90,
411 00: 17: 39,950 -> 00: 17: 42,934 dej�ndonos con un resto, o en este c�digo, resto,
412 00: 17: 42,934 -> 00: 17: 44,181 de 26.
413 00: 17: 44,181 -> 00: 17: 48,053 Este algoritmo contin�a corriendo a trav�s de cada uno de los siguientes d�gitos significativos
414 00: 17: 48,053 -> 00: 17: 49,503 de la misma manera,
415 00: 17: 49,503 -> 00: 17: 51,392 ejecutando una prueba de comparaci�n similar,
416 00: 17: 51,392 -> 00: 17: 55,840 y grabando el apropiado D�gitos binarios y sustracciones.
417 00: 17: 56,710 -> 00: 17: 58,967 Y finalmente con la Lista de 8 d�gitos completada,
418 00: 17: 58,967 -> 00: 18: 01,195 Informamos el resultado final,
419 00: 18: 01,195 -> 00: 18: 03,774 permitiendo a NetLogo almacenarlo en nuestro variable de conjunto de reglas.
420 00: 18: 03,774 -> 00: 18: 06,724 Y esta variable es autom�ticamente siendo referenciado y actualizado
421 00: 18: 06,724 -> 00: 18: 08,606 Por el programa a cada paso.
422 00: 18: 08,606 -> 00: 18: 09,898 As� que no necesitas configurarlo
423 00: 18: 09,898 -> 00: 18: 11,396 en cualquier otro lugar.
424 00: 18: 11,396 -> 00: 18: 14,505 Incluso voy a crear un monitor de la conjunto de reglas reales para que pueda ver
425 00: 18: 14,505 -> 00: 18: 16,865 �Cu�l es la regla de vector de NetLogo? en realidad est� usando,
426 00: 18: 16,865 -> 00: 18: 20,890 y que tan instant�neo esto proceso de conversi�n es.
427 00: 18: 38,050 -> 00: 18: 41,516 Ejecutando la regla 90 en el ECA as�ncrono
428 00: 18: 41,516 -> 00: 18: 44,815 tenemos alguna apariencia de Macroestructura emergente.
429 00: 18: 52,625 -> 00: 18: 57,348 Te lo dejo a ti para explorar el resto. de lo que ofrece la ECA as�ncrona:
430 00: 18: 57,348 -> 00: 18: 59,195 que diferencias tiene
431 00: 18: 59,195 -> 00: 19: 01,165 �Qu� propiedades conserva?
432 00: 19: 01,165 -> 00: 19: 03,899 de la ECA s�ncrona ordenada.
433 00: 19: 03,899 -> 00: 19: 06,288 Por supuesto, hay un mont�n de otras caracter�sticas
434 00: 19: 06,288 -> 00: 19: 09,094 puedes agregar a este modelo en la ca�da de un sombrero.
435 00: 19: 09,094 -> 00: 19: 13,069 Por ejemplo, comenzamos con un predeterminado n�mero de parches a lo largo de cada fila,
436 00: 19: 13,069 -> 00: 19: 14,424 que es 33 aqu�,
437 00: 19: 14,424 -> 00: 19: 18,032 Pero podemos disminuir o aumentar esto. N�mero de equipos hasta el m�ximo px cor
438 00: 19: 18,032 -> 00: 19: 21,462 con otro control deslizante, por ejemplo, para cambiar la perspectiva,
439 00: 19: 21,462 -> 00: 19: 24,971 tal vez obtener un ojo de p�jaro m�s amplio Vista de los patrones.
440 00: 19: 24,971 -> 00: 19: 26,802 En esa misma l�nea,
441 00: 19: 26,802 -> 00: 19: 29,104 Tambi�n podr�as cambiar el m�ximo py cor,
442 00: 19: 29,104 -> 00: 19: 32,062 y / o incluso hacer los p�xeles m�s peque�os.
443 00: 19: 33,122 -> 00: 19: 35,104 Puede ser conveniente tener un bot�n Ir
444 00: 19: 35,104 -> 00: 19: 36,628 eso se ejecuta autom�ticamente
445 00: 19: 36,628 -> 00: 19: 39,630 y ve la evoluci�n a diferentes velocidades.
446 00: 19: 39,630 -> 00: 19: 41,856 Quiz�s no necesariamente queramos tener
447 00: 19: 41,856 -> 00: 19: 44,502 50-50 condiciones iniciales para los parches,
448 00: 19: 44,502 -> 00: 19: 46,690 para que puedas ajustar el probabilidad en el c�digo,
449 00: 19: 46,690 -> 00: 19: 47,661 o deslizador,
450 00: 19: 47,661 -> 00: 19: 50,966 o? est nivel de max, o el modelo ECA m�s alto,
451 00: 19: 50,966 -> 00: 19: 54,215 tener un modo de edici�n que te permite elegir Los parches individualmente.
452 00: 19: 54,215 -> 00: 19: 55,562 Toda la gente correcta
453 00: 19: 55,562 -> 00: 19: 57,826 Espero que esta demo fuera esclarecedora. y �til
454 00: 19: 57,826 -> 00: 19: 59,635 Espero que te diviertas con todo.
455 00: 19: 59,635 -> 00: 20: 01,746 Nos vemos m�s tarde.