Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Моделирование Виртуальной Вычислительной Системы.


Информационный Канал Subscribe.Ru

Моделирование Виртуальной Вычислительной Системы.
 
Выпуск N23
home URL
автор рассылки: noonv (noonv[AT]narod[.]ru)
"Когда же мы переходим в царство живой природы, мы видим такую изощренность и сложность во взаимодействии "соучастников", что только привычка и спасительная нелюбознательность позволяет нам жить и заниматься своими делами. Иначе бы мы только созерцали и размышляли. Даже знакомство с самым элементарным актом записи, хранения и считывания генетической информации пробуждает религиозное чувство. Как могло это чудо возникнуть из каких-то случайных скоплений азотистых веществ, какой-то слизи, методом проб и перебора? Разве могло для создания этого механизма через простую эволюцию хватить времени у Вселенной?"
С. Кара-Мурза Манипуляция сознанием

Приветствую вас, уважаемые читатели!

Перечитайте эпиграф к выпуску ещё раз. Может с последним вопросом я не вполне уверен, а вот с остальной частью согласен целиком и полностью. Ей-богу это действительно интересно!
Помолимся и продолжим...

Посмотрите, что содержимое файла definitions.h, который будет включаться во все файлы проекта. Всё непонятные коэффициенты пока пропускайте, а обратите внимание на абстракции, объявляемые с помощью ключевого слова typedef.
К числу таких абстракций относятся: температура, энергия, и т.д.
Между прочим "энергия" уже сама по себе достаточно абстрактное понятие, а в нашем случае тем более :(
Обратите внимание так же на такую конструкцию комментария: //## - таким образом будут помечаться участки кода, которые в будущем требуют пересмотра и исправления.



//////////////////////////////////////////////////////////////////////
//
// definitions.h
//
// for define global variables
//
//
//                                                    XIII
//////////////////////////////////////////////////////////////////////

#ifndef _DEFINITIONS_H_
#define _DEFINITIONS_H_


//#define LINUX 1
#define GETOPT__ 1
#define OGL__ 1
//#define DEBUG__
//#define TEST__ 1

#include <assert.h>

#include "config.h"
#include "types.h"
#include "util/utils.h"

//---------- STL -------------------
#define STL__

#ifdef STL__
#include <list>
using namespace std;
#endif //STL__
//----------------------------------

// default size of the world
#define DEFAULT_X_SIZE 80
#define DEFAULT_Y_SIZE 20
#define DEFAULT_Z_SIZE 1


// Energy Quantum
#define EQ      1//6.64E-34
// Boltzmann constant
#define BK      1//1.38E-23

// default cell energy
#define DEFAULT_CELL_ENERGY  EQ*1000
// energy for motion
#define MOTION_ENERGY   EQ*10
// max cell energy
#define MAX_CELL_ENERGY   EQ*1000000
// max energy
#define MAX_ENERGY    EQ*1431655765//3342387
// skeleton energy
#define SKELETON_ENERGY   EQ*200

// default temperature
#define DEFAULT_TEMPERATURE  20
// default illuminance
#define DEFAULT_ILLUMINANCE  8

// for cell evolution
#define BIRTH   2
#define DEATH   6
#define MUTATION  8
#define MOTION   10
#define NUTRITION  12 //food

// neighbourhood
#define NEIGHBOUR_1D  3
#define NEIGHBOURHOOD  9
#define NEIGHBOURHOOD_3D 27

// coefficients for generation of configurations 
// (use in generate_configuration() function)
// FOOD_COEF must be larger than CELL_COEF !
#define CELL_COEF   2
#define NUTRIENT_COEF  10
// coefficients for cell
#define COVER_COEF   0.2
#define MUSCLE_COEF   0.5
#define SENSOR_COEF   1
#define ABSORB_COEF   0.1
#define REPROD_COEF   4
#define MOBILITY_COEF  5  // ! integer !

// coefficients for inorganic
#define FRICTION_COEF  0.1

#ifdef _WIN32
typedef unsigned long int uint; //## redefinition in Linux :(
#endif //#ifdef _WIN32
typedef unsigned char uchar;

typedef FILE* CFG_FILE;

// temperature Celsius //##(Kelvin ??)
typedef float Temperature;

// energy
typedef float Energy;

// chromosome
typedef uint Chromosome;

// field size
typedef uint FSize;

// cell size
typedef uchar CSize;

// cell's propertys
typedef uchar CCover;
typedef uchar CMuscle;
typedef uchar CSensor;
typedef uchar CAbsorb;

// cell's connecting points
typedef uchar ConnPoint;

typedef uint CMessage;

// object's identifier
typedef uchar ID;


#endif //#ifndef _DEFINITIONS_H_




Опять же напоминаю, что проект развивается и ничего вечного нет :) ,поэтому впоследствии содержимое может меняться и иногда координально =)

Если у вас есть замечания или предложения по проекту смело скидывайте на ящик проекта: cellix[AT]mail[.]ru

Удачи!

[noonv@volodia noonv]$ logout

XIII

Рейтинг@Mail.ru

http://subscribe.ru/
http://subscribe.ru/feedback/
Адрес подписки
Отписаться

В избранное