Потестируем!
Для теста я взял массив
ages_in_stratas_in_cities:array[1..100,1..20,1..200] of integer;
Приняв 100 возрастов, 20 социальных групп и 200 городов.
По нажатию кнопки пробегается этот массив, и в файл пишется фраза "Возраст i социального слоя j в городе k обработан" и значение выражения (i+j+k)^2.
У меня это занимает от 1,6 до 2,1 секунды, Sempron 3000, 1024 МБ ОЗУ
http://general.civfanatics.ru/soft/M...r/Measurer.exe
Забыл добавить обращение к самому массиву. Но даже если по кнопке инициализировать массив случанйми числами, а затем в файл писать значение (i+j+k+ages_in_stratas_in_cities[i,j,k])^2, время колеблется между 1,7 и 2,4 секунды.
2 Генерал
Можно было и не париться с написание программы, а просто посчитать операции и вычислить быстродействие
Вопрос не в этом. Любая нетривиальная модель требует значительных вычислений, если она предполагает межатомные связи, то объем вычислений возрастает на 1-2 порядка.
Мне приходилось сталкиваться с реализацией грануляционных моделей в теплотехнике и гидродинамике (ну лопатки мы считали для водометов). Было это конечно достаточно давно, но тогда меня поразило, что "простенький" алгоритмик вешает намертво импортную цифродроблику... почти как в том анекдоте "ну них... сказала японская лесопилка"
Так что надо понимать, что на ПК можно делать ТОЛЬКО игрушки, проверять какие-то идеи и не более. Для серьезных задач надо организовывать grid-вычисления или выходить на университетские вычислительные мощности (благо сейчас появилась такая возможность хотя бы в принципе).
Я сейчас весь в гуглевании... пару лет назад мне удалось содрать описание функционала с тасисовской ИАС по управлению регионом, вот сейчас не могу найти, откуда я это спер. Пока наибольшая похожесть на спертое найдено на Алтае![]()
В принципе, файлик с конспектом спертого у меня сохранился, могу запостить отдельноСуть собственно не в этом, просто я хотел показать - до чего можно дойти, если требовать от игрушки полного реализма: 4000 показателей, и отдельные Управления по 100 чиновников, чтобы это обсчитывать и раз в квартал выдавать результат. Причем заметьте, что в условиях Москвы или Питера даже подобные монструозные проги не работают, не по масштабу задачка.
Зато там есть действительно ВСЕ!
<div class='quotetop'>Цитата(Joshua Bakh * 14.7.2009, 0:40) [snapback]295219[/snapback]</div>1) Да не за что2 Teddy
Спасибо на добром слове, оно как известно и кошке приятно
предлагаю присоединяться к конструктивному диалогу. Кстати, как относитесь к идее обособленного сайда для развития проекта, а то работа в режиме форума на общем сайте превращается во флудильню.
Ничего не имею против civfanatics, только он на другую тему. Так что "кесарю кесарево, а слесарю слесарево". Если строить коммуникацию "по уму", то мы тут половину сайта загадим своими ветками. Невежливо как-то
[/b]
2) К идее обособленного сайта пока никак не отношусь. Конечно, по-хорошему нужно дождаться Гостя, чтобы выяснить отношение Высших Сил к нашей флудильне - но поверьте, здесь столько флудят по поводу и без, что одним топиком больше, одним меньше... а с точки зрения наш-фанатиковского патриотизма так это даже здорово, если в результате этих разговоров родится что-то достойное![]()
<div class='quotetop'>Цитата(Joshua Bakh * 14.7.2009, 1:02) [snapback]295222[/snapback]</div>Зря они в Пиратию ударились, вот что2 Teddy
Ну Тропико grand respect и уважуха, вот только жаль, что серия загнулась на номере 2. Как вы думаете почему? Когда всякие СимСити и т.д. плодятся, плодятся и плодятся.
[/b]Был отличный симулятор реального управления небольшим государством, а стало какое-то невнятное и антиисторичное похабство, прошу прощения.
<div class='quotetop'>Цитата(Joshua Bakh * 14.7.2009, 1:02) [snapback]295222[/snapback]</div>А по-моему это не слишком сложно сделать. По Тропиковскому подобию:По вопросу "можно ли удалить из модели атомы...", можно, но это будет совсем другая модель.
В Тропико обсчитываются функторы по каждому человечку, а потом агрегируются по фракциям. У самих фракций никаких функторов по сути нет. Влияние, которое игрок оказывает на фракции, просто транслируется на всех её участников (действительно, чтобы не бегать по всему острову за каждым), но не более. А если "атомы убрать", нам надо будет моделировать функторы группы.
[/b]
1) в случае социальной группы:
а) берем количественные принадлежности к группе, делим по терциям "полностью относятся к группе" - "относятся в достаточной степени" - "минимально относятся",
б) задаем функционалы количественных переходов между терциями и притока/оттока извне (какие внешние события влияют)... кстати, даже сложнее получается, чем в Тропико - мне кажется, что там граждане своих политических пристратий не меняли в течение жизни
в) задаем базовый (стартовый) уровень отношения группы к личности правителя,
г) задаем функционалы изменения этого базового уровня (опять-таки судя по внешним событиям).
В случае каждой группы - разные события, разные функционалы... предлагаю, чтобы не рвать связь с Тропикой, ограничиться всего 6 социальными группами, наиболее общими. Какими - вопрос к Генералу![]()
В случае интегральных показателей немного сложнее. Но тут нужно договориться, что такое у нас поселение - это квадратик на экране, как в цив, или пространственный объект, как в Тропико. В первом случае, к примеру - больница, построенная в городе, влияет сразу на весь город. Во втором случае нужно рассчитывать ее влияние исходя из ее пропускной способности и района расположения (т.е. если я живу на Юго-Западе, то постройка больницы на Северо-Востоке на мне никак не отражается).
Общая идея, если в Ваших терминах - интегрировать по начальному значению и знанию производной, которая определяется нашими действиями.
Ну хорошо, много всего интересного сказано, не буду думать об этом сегодня, подумаю об этом завтра
2 Teddy
на счет различных бюджетных мониторингов - это чистая лесопилка, чтобы деревянные пилить.
Знаю, так как сам участвовал в паре проектов. Материться так хочется, что аж скулы сводит![]()
Людям реально жрать было нечего, а этимиллионы вбухивали во всякую лажу (ну в том же Кузбасе, например). Короче, поубивав бы
![]()
Про Пиратию согласен. но это их издатель принудил идти в модный сеттинг, а получилась полная лажа.
Мысли про терции до конца не догнал, видимо в два часа ночи все-таки лучше уже спать![]()
Хотя в целом, хорошая модель или плохая определяется ТОЛЬКО соответствием её результатов задаче моделирования, а у нас, как я уже говорил её пока нет (в виде четкой постановки).
Вот я и предлагаю завтра на свежую голову об этом подумать (это скорее 2 all)
<div class='quotetop'>Цитата(Joshua Bakh * 14.7.2009, 1:52) [snapback]295228[/snapback]</div>Я так только в одном, зато в масштабах Москвы. Чистее лесопилки не было - все попилили, ничего не внедрили2 Teddy
на счет различных бюджетных мониторингов - это чистая лесопилка, чтобы деревянные пилить.
Знаю, так как сам участвовал в паре проектов. Материться так хочется, что аж скулы сводит![]()
Людям реально жрать было нечего, а этимиллионы вбухивали во всякую лажу (ну в том же Кузбасе, например). Короче, поубивав бы
![]()
[/b]Но у меня с тех пор все же сохранилась какая-то смутная надежда, что - вот, где-то пусть и пилят, но хоть что-то же внедряют!
<div class='quotetop'>Цитата(Joshua Bakh * 14.7.2009, 1:52) [snapback]295228[/snapback]</div>Оки. В личку только отвечу, и спокойной всем ночиМысли про терции до конца не догнал, видимо в два часа ночи все-таки лучше уже спать![]()
Хотя в целом, хорошая модель или плохая определяется ТОЛЬКО соответствием её результатов задаче моделирования, а у нас, как я уже говорил её пока нет (в виде четкой постановки).
Вот я и предлагаю завтра на свежую голову об этом подумать (это скорее 2 all)
[/b]![]()
учет соотношения полов в виде коэффициента:
для группы имеем коэф. S0 = отношение м/ж. Имеем количество группы N0.
Забрали на войну M мужчин. S1 = (S0*N0-M)/N0 = S0 - M/N0.
Допустим, их всех убили, никто не вернулся. В конце хода определяем прирост населения N1 = N0 + F(N0, S1)
пересчитываем соотношение м/ж: S2 = S1*N0+(N1-N0)/2N1
подобным образом можно рассчитывать распределение возрастов (вводим вектор градиент), количество иждивенцев, в т.ч. детей и прочие демографические показатели (если это понадобится)
PS: Как вижу здесь пошла речь о том, учитывать ли население по 1 человеку или группами.
Выскажу свои соображения:
учет по 1 челу:
+ относительная простота разработки. в случае с делением по полу (я против этого), профессии, менталитету просто назначаем соответствующие атрибуты отдельным людям, или включаем их в соответствующие списки. в случае с группами сложнее, так как они будут перекрываться - я тут с ходу не назову простого решения этой проблемы.
- проблемы с производительностью. как следствие из этого: придется оперировать абстрактными людьми и вместо реальных чисел в тысячи/миллионы население будет измеряться десятками/сотнями абстрактных человекоединиц. мне больше по душе такая система в силу ее большей наглядности и простоте. однако она входит в конфликт с боевой системой Аку-Аку (нужно будет с ней, кстати, ознакомиться), так как она оперирует тысячами человек, их можно делить по-всякому и собирать в армии/дивизии/полки различной численности. преобразование 1 абстракточеловек = M солдат Аку-Аку не устраивает.
EC2 - разработка игры
Мастерская Steam - мои моды для Civilization V
Last Citadel - сайт игроков Warlords III
2 Peter
Я пытался проиллюстрировать Генералу нереально адекватного моделирования социально-демографических процессов средствами обычного ПК даже в виде групп, а вы предлагаете обсчитывать с точностью до человека.
В социологии есть понятия микрогруппа, группа и социум. Вот социум начинается с порядков 10^4. Т.е. все что меньше, это не социология, а психология групп. С демографией еще хуже. Разнообразие вид Homo Sapience обеспечивается на уровне 10^5 (эту границу принято считать численностью населения земли на момент зарождения цивилизации).
Нехитрый подсчет показывает, что моделирование таких задач неподъёмно по вычислительным ресурсам. Даже не говоря об обсчете интеркоммуникаций между элементами.
<div class='quotetop'>Цитата(Joshua Bakh * 14.7.2009, 11:50) [snapback]295268[/snapback]</div>не до одного человека, а до абстракточеловека. и абстракточеловек будут не миллионы а максимум сотни. опять же незачем городить вложенные циклы и в них определять эффекты взаимодействия единиц населения друг с другом - можно производить расчет на основе численных коэффициентов (где это возможно), как я показал выше. прожорливость программы (в смысле оперативной памяти особенно) сокращается при таком подходе на порядок.2 Peter
Я пытался проиллюстрировать Генералу нереально адекватного моделирования социально-демографических процессов средствами обычного ПК даже в виде групп, а вы предлагаете обсчитывать с точностью до человека.
[/b]
<div class='quotetop'>Цитата(Joshua Bakh * 14.7.2009, 11:50) [snapback]295268[/snapback]</div>это просто цифры. поделить их на тысячу - и будет 10 и 100.В социологии есть понятия микрогруппа, группа и социум. Вот социум начинается с порядков 10^4. Т.е. все что меньше, это не социология, а психология групп. С демографией еще хуже. Разнообразие вид Homo Sapience обеспечивается на уровне 10^5 (эту границу принято считать численностью населения земли на момент зарождения цивилизации).
[/b]
<div class='quotetop'>Цитата(General * 14.7.2009, 0:18) [snapback]295223[/snapback]</div>пол забылages_in_stratas_in_cities:array[1..100,1..20,1..200] of integer;
Приняв 100 возрастов, 20 социальных групп и 200 городов.
[/b]![]()
EC2 - разработка игры
Мастерская Steam - мои моды для Civilization V
Last Citadel - сайт игроков Warlords III
<div class='quotetop'>Цитата(General * 13.7.2009, 22:19) [snapback]295200[/snapback]</div>Что-то ссылка не работает. Может, тема перемещена - я уже столкнулся с этим, движок форума вроде не пересчитывает ссылки при этом.Порылся, нашёл пост, чего я хочу от игры
[/b]
<div class='quotetop'>Цитата(Yorick * 14.7.2009, 13:21) [snapback]295285[/snapback]</div><div class='quotetop'>Цитата(General * 13.7.2009, 22:19) [snapback]295200[/snapback]Что-то ссылка не работает. Может, тема перемещена - я уже столкнулся с этим, движок форума вроде не пересчитывает ссылки при этом.Порылся, нашёл пост, чего я хочу от игры
[/b]
[/b][/quote]
у меня работает)
EC2 - разработка игры
Мастерская Steam - мои моды для Civilization V
Last Citadel - сайт игроков Warlords III
<div class='quotetop'>Цитата(General * 5.11.2008, 20:57) [snapback]267266[/snapback]</div>"Стимулятор" - это ты хорошо придумал, пусть наши идеи стимулируют мир, желательно к лучшему!И вот, что я хочу: стимулятор мира, который бы развивался по историческим законам, и который можно было бы просто созерцать, наблюдая, как различные стартовые условия отражаются на его судьбе. Я хочу, как Бенедикт, принц Амбера, иметь возможность прослеживать, как будут, к примеру, проходить великие битвы при различных условиях. Стимулятор Демиурга, мир, развивающийся по законам объективной истории, инструмент для моделирования и прогнозирования реальных и альтернативных исторических тенденций – вот, что я хочу.
А насчёт финансирования – если модель будет работать, можно под неё огромные правительственные гранты получить, причём от любого правительства.
[/b]
Созерцать - думаю, мало желающих найдется, Цива как раз и захватывает управлением игрока, причем ИМХО чрезмерным управлением: Демиург - это и нереалистично, и главная причина микроменеджмента, замахаешься юнитов, мэров, советников и пр. дергать.
А вот непрямое управление, т.е. игра не "от бога", а "от правительства" и реалистичнее, и интереснее (ПКМ мне), и микромен-та меньше. И как раз на симулятор я бы не стал сильно упирать: если это будет слишком точное, строго предопределенное моделирование, если мало будет рандома - то это действительно уже не игра будет, а "инструмент для моделирования и прогнозирования".
<div class='quotetop'>Цитата(Peter * 14.7.2009, 12:14) [snapback]295265[/snapback]</div>Группа -- это условность. За 1 ход 1 раз прогоняешь 1 цикл по возрастам, ну максимум 100 раз? Я не понимаю: в чем сложности???Как вижу здесь пошла речь о том, учитывать ли население по 1 человеку или группами.
[/b]
<div class='quotetop'>Цитата(Finansist's sworn brother * 14.7.2009, 16:40) [snapback]295318[/snapback]</div>они не сдавали вычислительные методы матричного анализаЗа 1 ход 1 раз прогоняешь 1 цикл по возрастам, ну максимум 100 раз? Я не понимаю: в чем сложности???
[/b]
Носителем суверенитета и единственным источником власти в Российской Федерации является её многонациональный народ. Гл.1, ст.3. Конституции РФ
- Папа, а у царей бывает мания величия? - Иногда бывает. - А кем они тогда себя мнят? - Народом.
Я взрослая женщина - и я семь лет читала форумы. Настя
Если царь говорит, что чем ниже цена рубля, тем больше доход, то удивляться последствиям его правления не приходится. lada
На данном этапе развития страны считаю наиболее важным отстранить от управления бездарей-троечников в пользу тех людей, которые могут мыслить системно хотя бы на год вперёд. Винни
Многие склонны путать два понятия: «Отечество» и «Ваше превосходительство». Салтыков-Щедрин
С плохими законами и хорошими чиновниками вполне можно править страной. Но если чиновники плохи, не помогут и самые лучшие законы. Бисмарк
Как только дети, жены и любовницы начинают заниматься бизнесом - жди беды. Лукашенко
Т.к. ремоторизацию Ан-2 наладить не удалось, принято решение построить десяток Звезд Смерти для секторального захвата галактики. Рогозин
Это было не падение, Маск показал всем красненькую пипирку. Павел Чичиков 5-jan-2021 inv-ing
<div class='quotetop'>Цитата(Гость * 14.7.2009, 17:09) [snapback]295336[/snapback]</div><div class='quotetop'>Цитата(Finansist's sworn brother * 14.7.2009, 16:40) [snapback]295318[/snapback]они не сдавали вычислительные методы матричного анализаЗа 1 ход 1 раз прогоняешь 1 цикл по возрастам, ну максимум 100 раз? Я не понимаю: в чем сложности???
[/b]
[/b][/quote]
Там в ссылке есть надпись: параллельные вычисления. Прямо в точку! Так в чем сложности?
говорююююю же - ОНИ ФИДОШНИКИ
Носителем суверенитета и единственным источником власти в Российской Федерации является её многонациональный народ. Гл.1, ст.3. Конституции РФ
- Папа, а у царей бывает мания величия? - Иногда бывает. - А кем они тогда себя мнят? - Народом.
Я взрослая женщина - и я семь лет читала форумы. Настя
Если царь говорит, что чем ниже цена рубля, тем больше доход, то удивляться последствиям его правления не приходится. lada
На данном этапе развития страны считаю наиболее важным отстранить от управления бездарей-троечников в пользу тех людей, которые могут мыслить системно хотя бы на год вперёд. Винни
Многие склонны путать два понятия: «Отечество» и «Ваше превосходительство». Салтыков-Щедрин
С плохими законами и хорошими чиновниками вполне можно править страной. Но если чиновники плохи, не помогут и самые лучшие законы. Бисмарк
Как только дети, жены и любовницы начинают заниматься бизнесом - жди беды. Лукашенко
Т.к. ремоторизацию Ан-2 наладить не удалось, принято решение построить десяток Звезд Смерти для секторального захвата галактики. Рогозин
Это было не падение, Маск показал всем красненькую пипирку. Павел Чичиков 5-jan-2021 inv-ing
<div class='quotetop'>Цитата(Finansist's sworn brother * 14.7.2009, 15:40) [snapback]295318[/snapback]</div><div class='quotetop'>Цитата(Peter * 14.7.2009, 12:14) [snapback]295265[/snapback]Группа -- это условность. За 1 ход 1 раз прогоняешь 1 цикл по возрастам, ну максимум 100 раз? Я не понимаю: в чем сложности???Как вижу здесь пошла речь о том, учитывать ли население по 1 человеку или группами.
[/b]
[/b][/quote]
там не один цикл а N.
по городам
по возрастам
по полу
по профессиям
по благосостоянию
по менталитету
по .... что там еще придумаем
это не очень удобно прямо скажем!
EC2 - разработка игры
Мастерская Steam - мои моды для Civilization V
Last Citadel - сайт игроков Warlords III
ещё один зацикленный...
Носителем суверенитета и единственным источником власти в Российской Федерации является её многонациональный народ. Гл.1, ст.3. Конституции РФ
- Папа, а у царей бывает мания величия? - Иногда бывает. - А кем они тогда себя мнят? - Народом.
Я взрослая женщина - и я семь лет читала форумы. Настя
Если царь говорит, что чем ниже цена рубля, тем больше доход, то удивляться последствиям его правления не приходится. lada
На данном этапе развития страны считаю наиболее важным отстранить от управления бездарей-троечников в пользу тех людей, которые могут мыслить системно хотя бы на год вперёд. Винни
Многие склонны путать два понятия: «Отечество» и «Ваше превосходительство». Салтыков-Щедрин
С плохими законами и хорошими чиновниками вполне можно править страной. Но если чиновники плохи, не помогут и самые лучшие законы. Бисмарк
Как только дети, жены и любовницы начинают заниматься бизнесом - жди беды. Лукашенко
Т.к. ремоторизацию Ан-2 наладить не удалось, принято решение построить десяток Звезд Смерти для секторального захвата галактики. Рогозин
Это было не падение, Маск показал всем красненькую пипирку. Павел Чичиков 5-jan-2021 inv-ing
<div class='quotetop'>Цитата(Гость * 14.7.2009, 16:32) [snapback]295355[/snapback]</div>по существу может напишешь что нибудьещё один зацикленный...
[/b]
модератор - а только флудильню разводит. какой пример подаете пользователям!
EC2 - разработка игры
Мастерская Steam - мои моды для Civilization V
Last Citadel - сайт игроков Warlords III