+ Ответить в теме
Страница 2 из 3 ПерваяПервая 123 ПоследняяПоследняя
Показано с 21 по 40 из 53

Тема: Экономика

  1. #21
    Король Аватар для Dr Gobbels


    Регистрация
    11.11.2005
    Адрес
    Вологда-Сидней
    Сообщений
    1,048
    Кстати, Петер, такой вопрос: а как будет новый спрос коррелировать с возможностями предложения?

    Например: человек хочет мяса, но скотоводов в посёлке нет. Что тогда?
    продвинь это сообщение в соцсеть:  
    Деточка, все мы немножко лошади. Каждый из нас по-своему лошадь.

  2. #22
    Варвар

    Аватар для Peter

    Steam
    Mk Z

    Регистрация
    15.10.2005
    Адрес
    Россия, Самара
    Сообщений
    2,580
    проще простого - добавляем в задачу еще одно условие, на количество продукта.

    я сейчас погонял задачу на разных данных, метод градиентного спуска все же плоховато с ней справляется, иногда по 100 и более итераций производит - это безобразие

    я сейчас думаю как лучше оптимизировать функцию полезности. проще всего сделать её линейной, и оптимизировать симплекс-методом, но тогда не понятно как избегать того чтобы чел покупал что-либо кроме товара имеющего лучшее соотношение качество/цена. то есть предельная полезность из-за линейности функции получается неизменной. в общем, я пока подумаю еще. у кого будут идеи - высказывайтесь.

    сейчас предельная полезность меняется: чем больше куплено товара какого-то вида - тем меньше субъективной пользы от покупки еще одной его единицы. поэтому для максимизации субъективной выгоды человек стремится покупать несколько разных товаров вместо какого-то одного. кроме того вычисляется полезность для общего кол-ва еды - максимальная полезность от кол-ва имеет максимум при сумме количества продовольствия равной единице. Кроме этого должны действовать ограничения на сумму затрат потребителя и на наличное количество товара.
    продвинь это сообщение в соцсеть:  
    EC2 - разработка игры
    Мастерская Steam - мои моды для Civilization V
    Last Citadel - сайт игроков Warlords III

  3. #23
    Это все хорошо и интересно.
    Но меня с ходу интересуют возможные оптимизации подобного алгоритма.
    Можно его оформить в виде выборки из таблицы например?
    Чтобы не пересчитывать каждый раз

    А то ведь в игре понадобится куча и других алгоритмов.
    Мы не можем отдать кучу процессорного времени под обсчет функций полезности.
    продвинь это сообщение в соцсеть:  
    "Я слышу, и я забываю. Я вижу, и я запоминаю. Я делаю, и я понимаю."
    Конфуций

  4. #24
    Все расчеты нужно сделать заранее, а в готовую игру подставлять уже полученные значения, например, в виде матрицы.
    продвинь это сообщение в соцсеть:  

  5. #25
    Варвар

    Аватар для Peter

    Steam
    Mk Z

    Регистрация
    15.10.2005
    Адрес
    Россия, Самара
    Сообщений
    2,580
    это понятно и естественно что чем быстрее будет работать алгоритм - тем лучше. вопрос в том как этого достичь. с одной стороны нам нужен реализм а с другой производительность. вопрос в том как совместить одно с другим. сделать более логически адекватную модель, более интересную и интуитивно понятную с одной стороны и не переборщить с вычислениями - с другой.
    продвинь это сообщение в соцсеть:  
    EC2 - разработка игры
    Мастерская Steam - мои моды для Civilization V
    Last Citadel - сайт игроков Warlords III

  6. #26
    Король Аватар для Dr Gobbels


    Регистрация
    11.11.2005
    Адрес
    Вологда-Сидней
    Сообщений
    1,048
    <div class='quotetop'>Цитата(Finansist&#39;s sworn brother * 25.7.2009, 20:47) [snapback]297314[/snapback]</div>
    Все расчеты нужно сделать заранее, а в готовую игру подставлять уже полученные значения, например, в виде матрицы.
    [/b]
    Дык вся соль предложения в том, что предпочтения человека зависят от его финансового положения, т.е. мы здесь не знаем их заранее.

    Примерно то, что ты предлагаешь, изначально было в "Выселках" - там предполагалось, что список потребностей человека однозначно определяется его уровнем богатства (например, нищий ест только дешевую еду (куда относятся товары картошка и хлеб), середняк - дешёвую и хорошую (сыр, мясо, рыба) еду, богач - дешёвую, хорошую и изысканную (специи, кофе, сахар) еду. Это довольно грубое описание реала, но, действительно, довольно быстро считающееся.

    Сейчас, как я понимаю, этот расклад рассматривается как запасной, аварийный вариант, на случай если Петеру не удастся совладать с производительностью своей модели
    продвинь это сообщение в соцсеть:  
    Деточка, все мы немножко лошади. Каждый из нас по-своему лошадь.

  7. #27
    //вопрос в том как совместить одно с другим. сделать более логически адекватную модель

    тут еще та проблема, что модель должна быть цельной, охватывать весь геймплей и давать тот ответ а насколько это будет играбельно.
    покамест такого нет, на сколько я вижу, есть достаточно детальные, но разрозненые части модели, которые не понятно как сливать вместе.

    потому я и повторяю постоянно, о необходимости общения в режиме онлайн конференции. ИМХО, только таким способом можно адекватно обсудить и объеденить разношерстные наши представления...
    продвинь это сообщение в соцсеть:  
    "Я слышу, и я забываю. Я вижу, и я запоминаю. Я делаю, и я понимаю."
    Конфуций

  8. #28
    Варвар

    Аватар для Peter

    Steam
    Mk Z

    Регистрация
    15.10.2005
    Адрес
    Россия, Самара
    Сообщений
    2,580
    нужно будет собрать собрание скажем во второй половине недели. пока все ставим скайп и учимся с ним управляться. обсуждать будем архитектуру игры.

    зы: почему же не понятно как сливать?
    продвинь это сообщение в соцсеть:  
    EC2 - разработка игры
    Мастерская Steam - мои моды для Civilization V
    Last Citadel - сайт игроков Warlords III

  9. #29
    Варвар

    Аватар для Peter

    Steam
    Mk Z

    Регистрация
    15.10.2005
    Адрес
    Россия, Самара
    Сообщений
    2,580

    Насчет спроса: в потребительской функции заменил нелинейные ограничения на линейные, соответственно градиентный метод на симплекс-метод. На 4х товарах расчет выполняется в 1000-1500 раз быстрее. чем больше число товаров, тем больше будет выигрыш в производительности.

    Потребительская функция задается следующим образом:
    k1*x1 + k2*x2 + ... + kn*xn -> max
    Summ(p1*x1..pn*xn) <= M
    Summ(xf) = 1

    x1..n - товары
    k1..n - коэффициенты полезности (выражают субъективную ценность товара для потребителя)
    p1..pn - цены на товары
    xf - продукты питания, подмножество x1..n

    M - наличные средства
    продвинь это сообщение в соцсеть:  
    EC2 - разработка игры
    Мастерская Steam - мои моды для Civilization V
    Last Citadel - сайт игроков Warlords III

  10. #30
    Король Аватар для Dr Gobbels


    Регистрация
    11.11.2005
    Адрес
    Вологда-Сидней
    Сообщений
    1,048


    ЗЫ: а можно исходники посмотреть?
    продвинь это сообщение в соцсеть:  
    Деточка, все мы немножко лошади. Каждый из нас по-своему лошадь.

  11. #31
    <div class='quotetop'>Цитата(Peter * 27.7.2009, 11:17) [snapback]297422[/snapback]</div>
    нужно будет собрать собрание скажем во второй половине недели. пока все ставим скайп и учимся с ним управляться. обсуждать будем архитектуру игры.
    [/b]
    На этой неделе точно не смогу, в лучшем случае на следующей (если на работе все будет гладко).
    продвинь это сообщение в соцсеть:  

  12. #32
    Варвар

    Аватар для Peter

    Steam
    Mk Z

    Регистрация
    15.10.2005
    Адрес
    Россия, Самара
    Сообщений
    2,580
    <div class='quotetop'>Цитата(Dr Gobbels * 27.7.2009, 12:18) [snapback]297429[/snapback]</div>


    ЗЫ: а можно исходники посмотреть?
    [/b]
    сейчас оформлю там всё, и выложу.

    <div class='quotetop'>Цитата(Finansist&#39;s sworn brother * 27.7.2009, 12:58) [snapback]297438[/snapback]</div>
    На этой неделе точно не смогу, в лучшем случае на следующей (если на работе все будет гладко).
    [/b]
    а после работы? из дома скажем вечером между 8 и 10 по москве
    продвинь это сообщение в соцсеть:  
    EC2 - разработка игры
    Мастерская Steam - мои моды для Civilization V
    Last Citadel - сайт игроков Warlords III

  13. #33
    <div class='quotetop'>Цитата(Peter * 27.7.2009, 20:05) [snapback]297463[/snapback]</div>
    а после работы? из дома скажем вечером между 8 и 10 по москве
    [/b]
    у меня интернет повременной дома. Большая разница тратить чужие деньги (причем по безлимитке) на работе или тратить свои дома Обсуждайте пока без меня, потом присоединюсь. Или выложите здесь, до чего договорились.
    продвинь это сообщение в соцсеть:  

  14. #34
    Варвар

    Аватар для Peter

    Steam
    Mk Z

    Регистрация
    15.10.2005
    Адрес
    Россия, Самара
    Сообщений
    2,580
    Привет!
    Предлагаю вернуться к обсуждению концепции спроса. Я тут на прошлой неделе пробовал и так и эдак исхитриться, но что-то концепция не клеится. нужны свежие идеи!

    для начала опишем то как это сейчас реализовано в концепции Гоббельса:

    1. Есть производители различных товаров, каждый товар имеет некоторую фиксированную цену, на которые могут быть назначены надбавки (см. ниже).
    2. На рынке соответственно присутствуют товары по разным ценам в различных количествах. На каждый тип товара имеется только одна цена, то есть нет такого что продают к примеру 5 носков по 20 рублей и 10 носков по 15.
    3. Каждый ход потребитель определяет, какие товары он будет покупать. У потребителя имеются потребности. Они могут быть удовлетворены путем потребления соответствующих товаров.

    Расмотрим потребность в пище ("пища"). Эту потребность удовлетворяют к примеру товары "мясо" и "хлеб", имеющиеся на рынке. Потребитель покупает равные количества мяса и хлеба (в сумме единица). То есть потребитель для удовлетворения каждой потребности покупает определенное суммарное количество альтернативных товаров удовлетворяющих данную потребность в равных пропорциях.
    4. если какого-то товара не хватает на всех, возникает надбавка к его стоимости. механизм этот недостаточно хорошо продуман т.к. существующий код вызывает различные парадоксы вроде обогощающихся и одновременно мрущих от голода собирателей (парадокс собирателей).

    Какую модель потребления предлагал я:

    1. Все виды товаров имеют различную привлекательность (потребительную стоимость, ПС) в глазах потребителя. ПС одного товара может быть разной для различных людей.
    2. Потребитель распределяет имеющиеся у него средства между имеющимися на рынке товарами согласно потребительской функции ПФ, определяющей количества приобретаемых товаров в зависимости от их ПС и стоимостей (меновая стоимость, МС).

    Как это реализовать с технической точки зрения?
    Вариант 1.
    Каждый товар описывается тремя характеристиками:
    1. Цена (за абстрактную единицу товара, для продуктов питания например единица товара это такое его количество, которым может полностью удовлетворить свою потребность в пище человек в течение одного хода).
    2. Привлекательность - число характеризующее потребительскую стоимость данного товара в глазах покупателя.
    3. Насыщение - число, определяющее порог насыщения. При покупке товара в количестве, превышающем данное значение, его удельная привлекательность становится отрицательной.
    Механизм привлекательность/насыщение иллюстрирует закон убывающей полезности (см. википедию). Графически потребительскую функцию товара можно представить как параболу, ветви которой направлены вниз, левая ветвь проходит через точку (0,0), вершина находится в точке (Насыщение,Привлекательность). По оси абсцисс откладывается соответственно количество купленного товара, по оси ординат - субъективная полезность данного количества товара.

    Полная ПФ покупателя - это сумма ПФ по отдельным товарам плюс штрафные слагаемые (например значение ПФ сильно уменьшается если сумма количеств покупаемой пищи меньше единицы).

    Определение затрат потребителя на различные товары осуществляется путем оптимизации ПФ. В моей демонстрационной программе оптимизация осуществляется методом градиентного спуска.

    Недостатки данного варианта состоят в том, что он демонстрирует невысокую производительность. Мы с Гоббельсом прикинули, что ее будет недостаточно. Больше недостатков вроде нет. Возможно этот вариант можно будет реализовать с помощью квадратичного программирования, но я в этом разделе математики не силен. Попробую достать литературу по данному вопросу.

    Второй вариант - для определения количественных характеристик спроса использовать аппарат линейного программирования (симплекс-метод).
    Кардинальное отличие состоит в том, что в данной модели должны использоваться только линейные параметры и ограничения на них, опять же линейные. То есть геометрически от парабол и гиперповерхностей мы переходим к отрезкам прямых и многогранникам.

    В этом случае невозможно сформулировать закон убывающей полезности - человек будет стремиться затариться под завязку самым выгодным товаром по соотношению цена/качество, проигнорировав все остальные товары. В реальности я думаю мало кто питается одними только батонами к примеру.
    Выход состоит в том, чтобы ввести еще одну абстракцию над товарами - "потребительские корзины", ПК. в этом случае спрос определяется следующим образом:
    1. Разбиваем все товары на группы по их стоимости, к примеру: дешевые, средние, дорогие.
    2. Составляем типовые наборы товаров: минимальный - состоящий из одного, самого дешевого продукта (например картошка); экономный - состоящий из продуктов различных типов, при этом для каждого типа (мясные, молочные, овощи, фрукты) выбираются самые дешевые товары (например: рыба, молоко, картошка, бананы); сбалансированный - то же что и предыдущая ПК, но вмето самых дешевых товаров выбираются соответствующие товары скажем первых двух ценовых категорий в равных пропорциях (например: рыба/баранина, молоко/творог, картошка/капуста/морковка, бананы/апельсины); разнообразный - выбираются товары из всех ценовых категорий.
    3. Далее определяем сумму, которую человек тратит на питание. Она равна стоимости единицы самого дешевого продукта + надбавка. Надбавка зависит от менталитета.
    4. Далее составляем симплекс-таблицу и находим решение. Типовое решение будет состоять из товаров двух различных ПК, в сумме - единица: более дорогой и более дешевой корзины. Например, 30% сбалансированной корзины и 70% экономной. Если расходы на еду превышают стоимость самой дорогой корзины, тогда потребитель покупает единицу данной корзины. Если денег недостаточно - единицу или меньше самой дешевой корзины (однопродуктовой).

    Вариант 2 сейчас работает примерно в 1000 раз быстрее. Но с ним возможны проблемы. Сейчас я занимаюсь его доведением до ума и сообщу когда демонстрационная программа будет готова.

    Прошу высказываться.
    продвинь это сообщение в соцсеть:  
    EC2 - разработка игры
    Мастерская Steam - мои моды для Civilization V
    Last Citadel - сайт игроков Warlords III

  15. #35
    Варвар

    Аватар для Peter

    Steam
    Mk Z

    Регистрация
    15.10.2005
    Адрес
    Россия, Самара
    Сообщений
    2,580
    ps: у меня на работе новая аська, 156665975
    продвинь это сообщение в соцсеть:  
    EC2 - разработка игры
    Мастерская Steam - мои моды для Civilization V
    Last Citadel - сайт игроков Warlords III

  16. #36
    Король Аватар для Dr Gobbels


    Регистрация
    11.11.2005
    Адрес
    Вологда-Сидней
    Сообщений
    1,048
    Ага. Ждем демонстрашку

    ЗЫ: А я думаю - куда пропал? Грешным делом травианство заподозрил уже...
    продвинь это сообщение в соцсеть:  
    Деточка, все мы немножко лошади. Каждый из нас по-своему лошадь.

  17. #37
    <div class='quotetop'>Цитата</div>
    Механизм привлекательность/насыщение иллюстрирует закон убывающей полезности (см. википедию). Графически потребительскую функцию товара можно представить как параболу, ветви которой направлены вниз, левая ветвь проходит через точку (0,0), вершина находится в точке (Насыщение,Привлекательность). По оси абсцисс откладывается соответственно количество купленного товара, по оси ординат - субъективная полезность данного количества товара.
    [/b]
    Здесь речь идет об одном товаре? Как будет осуществляться выбор между разными товарами?

    У меня была такая идея. Есть население, различное по возрасту, по полу и по благосостоянию. Задаем стандартные потребности для одного стандартного человека. потребности населения (а именно определенной группы) связываем процентным соотношением с потребностями стандартного человека. Если потребности по определенному товару полностью удовлетворяются и остается остаток товара, то цена на него падает (но его можно продать соседям, если он им нужен). Наоборот, если потребности полностью не удовлетворяются, что цена на товар растет. Соотношение привлекательность/насыщение уже неявно заложена в потребности определенной группы людей (пол, возраст, благосостояние).
    продвинь это сообщение в соцсеть:  

  18. #38
    Варвар

    Аватар для Peter

    Steam
    Mk Z

    Регистрация
    15.10.2005
    Адрес
    Россия, Самара
    Сообщений
    2,580
    <div class='quotetop'>Цитата(der Blutsbruder des Finanzieres * 10.8.2009, 10:31) [snapback]299245[/snapback]</div>
    Здесь речь идет об одном товаре? Как будет осуществляться выбор между разными товарами?[/b]
    путем оптимизации функции полезности, написано же

    <div class='quotetop'>Цитата(der Blutsbruder des Finanzieres * 10.8.2009, 10:31) [snapback]299245[/snapback]</div>
    У меня была такая идея. Есть население, различное по возрасту, по полу и по благосостоянию. Задаем стандартные потребности для одного стандартного человека. потребности населения (а именно определенной группы) связываем процентным соотношением с потребностями стандартного человека.
    [/b]
    можно поподробнее? можно без пола и возраста, только благосостояние.
    что такое стандартные потребности? фиксированные? 1 булочка 1 бивидок? или как
    продвинь это сообщение в соцсеть:  
    EC2 - разработка игры
    Мастерская Steam - мои моды для Civilization V
    Last Citadel - сайт игроков Warlords III

  19. #39
    <div class='quotetop'>Цитата</div>
    можно поподробнее? можно без пола и возраста, только благосостояние.
    что такое стандартные потребности? фиксированные? 1 булочка 1 бивидок? или как[/b]
    Группы благосостояния: отребье, нищие, бедные, средняки, зажиточные, состоятельные, богачи.

    Потребности отребья: плохая пища, лохмотья и ... ну не знаю еще что, палка чтобы собак отгонять.
    ...
    Потребности средняка: средняя пища, средняя одежда и в таком роде.
    ...
    Потребности богача: дорогая пища, дорогая одежда, предметы роскоши, дорогие украшения и т.п.
    продвинь это сообщение в соцсеть:  

  20. #40
    Варвар

    Аватар для Peter

    Steam
    Mk Z

    Регистрация
    15.10.2005
    Адрес
    Россия, Самара
    Сообщений
    2,580


    <div class='quotetop'>Цитата(der Blutsbruder des Finanzieres * 10.8.2009, 10:59) [snapback]299254[/snapback]</div>
    Группы благосостояния: отребье, нищие, бедные, средняки, зажиточные, состоятельные, богачи.

    Потребности отребья: плохая пища, лохмотья и ... ну не знаю еще что, палка чтобы собак отгонять.
    ...
    Потребности средняка: средняя пища, средняя одежда и в таком роде.
    ...
    Потребности богача: дорогая пища, дорогая одежда, предметы роскоши, дорогие украшения и т.п.
    [/b]
    ну так бы и написал, "как в модели Гоббельса"
    этот подход имеет множество минусов
    продвинь это сообщение в соцсеть:  
    EC2 - разработка игры
    Мастерская Steam - мои моды для Civilization V
    Last Citadel - сайт игроков Warlords III

+ Ответить в теме
Страница 2 из 3 ПерваяПервая 123 ПоследняяПоследняя

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
Рейтинг@Mail.ru

free counters