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