Skip to content

Sintaxis primer experimento

salasgar edited this page Apr 28, 2015 · 15 revisions

Propongo que un experimento sea un diccionario. Cada valor puede ser un número o una distribución. Nosotros nos crearemos nuestro paquete de distribuciones.

El objetivo es que al final, si uno dice: organism.speed = experiment_data['organisms']['category_a']'speed'

Entonces organism.speed toma un valor según la distribución adecuada.

Experimento 1

Nota: ¿cómo se hacen indents en la wiki? ¿? No lo sé

He compartido una carpeta de Dropbox para dejar archivos que tengan que ver con el proyecto Ecosystems, pero que no dependan de la rama en la que estemos en ese momento, sino que sean independientes de la rama. Te he dejado un archivo comentando el siguiente código:

{'biotope': {}, 'organisms': {'category_a' : {'category': 'Plants', 'number_of_organisms': fixed(10), 'genes': { 'strength': gaussian(mean=10, variance=2), 'photosynthesis_capacity': gausian(mean=20, variance=10)}, 'status': { 'energy_reserve': 'float'} }, 'category_b' : {'category': 'Animals', 'number_of_organisms': fixed(10), 'genes': { 'strength': gaussian(mean=10, variance=2), 'speed': gaussian(mean=1, variance=1)}, 'status': { 'energy_reserve': 'float'} }

          },

Los 'outlays' es la cantidad de energía que cualquier organismo gasta en cada una de las acciones de su vida

diaria, en función de sus genes:

'outlays': {'hunting': linear_func{ 'terms': [{'parameter': 'strength', 'coefficient': 3.0}, {'parameter': 'speed', 'coefficient': 0.2}, {'parameter': None, 'coefficient': 5.0}]} 'moving': linear_func{ 'terms': [{'parameter': 'strength', 'coefficient': 1.0}, {'parameter': 'photosynthesis_capacity', 'coefficient': 25.0}, {'parameter': 'speed', 'coefficient': 5.0}, {'parameter': None, 'coefficient': 1.0}]} 'procreating': linear_func{ 'terms': [{'parameter': 'strength', 'coefficient': 3.0}, {'parameter': 'photosynthesis_capacity', 'coefficient': 3.0}, {'parameter': 'speed', 'coefficient': 3.0}, {'parameter': None, 'coefficient': 5.0}]}, 'living': linear_func{ # 'living' es la acción que consiste simplemente en mantenerse vivo 'terms': [{'parameter': 'strength', 'coefficient': 1.0}, {'parameter': 'photosynthesis_capacity', 'coefficient': -1.0}, {'parameter': 'speed', 'coefficient': 2.0}, # En las plantas, speed=0 {'parameter': None, 'coefficient': 5.0}]} }, 'constraints': { 'hunting': { 'comparison': { (aquí habría que expresar de alguna manera que la condición para que un bicho se pueda comer a otro es que la fuerza (strength) del primero sea mayor que la del segundo) } }

'mutability': { 'strength': { 'increments': gaussian(mean=0, variance=0.01) 'allowed_interval': [0, 'infinity'] }, 'photosynthesis_capacity': { 'increments': gaussian(mean=0, variance=0.01) }, 'speed': 'increments': gaussian(mean=0, variance=0.001) 'allowed_interval': [0, 'infinity']

	}
}

}

}