Р2ТВ - вычисления и алгоритмы - Общий подфорум по серии Total War [Тотальная Война] - TWoW.Games - Сообщество любителей умных игр Перейти к содержанию
TWoW.Games - Сообщество любителей умных игр

Р2ТВ - вычисления и алгоритмы


Рекомендуемые сообщения

Почитал я тут посты о том, что может делать ИИ в смысле перемещения и зачем нужна именно коридорная карта, а не со штрафами за бездорожье и понял две вещи:

1. ИИ слаб, ибо не видит возможностей, появляющихся из-за неполного использования дальности перемещения армии и "мышеловок" с маленькой армией игрока для выманивания и большой для добивания. Ну так тут коридорная карта - ИИ не подмога.

2. Есть сомнения, что ИИ способен управиться со штрафами за перемещение. В связи с этим вспомнил, что ещё в средней школе в теме "Производная" у меня была задача типа "Велосипедист едет по шоссе вдоль пашни со скоростью Х км/ч. На расстоянии 1 км от него, в 200м от дороги стоит столб. через сколько метров велосипедист должен свернуть с дороги и поехать к столбу напрямик по полю, если его скорость по пашне У км/ч и он хочет добраться до столба как можно быстрее?" Задача решалась через составление несложного уравнения и нахождение производной. Если восьмиклассники могли с этим справиться, то неужели программёр ИИ этого не сможет? Тем более, что дифференцирование, в отличие от нахождения первообразной, никаких неоднозначностей не предусматривает. Так может быть только при условии, что ИИ в СА вообще какие-то дегенераты пишут.

Ссылка на комментарий

2Dino

2. Есть сомнения, что ИИ способен управиться со штрафами за перемещение. В связи с этим вспомнил, что ещё в средней школе в теме "Производная" у меня была задача типа...

Немного не та у вас задача. Она скорее звучит так: "Велосипедист едет по шоссе вдоль пашни со скоростью Х км/ч, изменяющейся, в зависимости от поверхности, по параметрам [Y(1),..., Y(n)]. На расстоянии 1 км от него, в 200м от дороги стоит столб. Столб двигается со временем по произвольной траектории, в зависимости от намерений столба, со скоростью S км/ч( изменяющейся, в зависимости от поверхности, с параметрами [Z(1),..., Z(n)]). Через сколько метров велосипедист должен свернуть с дороги и поехать к столбу напрямик по полю при условии, что из траектории движения столба известно первые 2 минуты маршрута, если он хочет добраться до столба как можно быстрее?"

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

Изменено пользователем SpiritElef
  • Что?! 1
Ссылка на комментарий

2SpiritElef

Да нет ведь "контрольные точки" как операции так и битвы заданы заранее. Они неподвижны. Так что вариант именно первый.

Ссылка на комментарий

2Dino

Есть сомнения, что ИИ способен управиться со штрафами за перемещение. В связи с этим вспомнил, что ещё в средней школе в теме "Производная" у меня была задача типа "Велосипедист едет по шоссе вдоль пашни со скоростью Х км/ч. На расстоянии 1 км от него, в 200м от дороги стоит столб. через сколько метров велосипедист должен свернуть с дороги и поехать к столбу напрямик по полю, если его скорость по пашне У км/ч и он хочет добраться до столба как можно быстрее?" Задача решалась через составление несложного уравнения и нахождение производной. Если восьмиклассники могли с этим справиться, то неужели программёр ИИ этого не сможет? Тем более, что дифференцирование, в отличие от нахождения первообразной, никаких неоднозначностей не предусматривает. Так может быть только при условии, что ИИ в СА вообще какие-то дегенераты пишут.

 

Я тут уже предлагал одному знатоку того как надо программировать ознакомиться с теорией игр. Тебе предложу ознакомится с тем что такое алгоритм и что такое сложность. Может тогда не будет бреда про дифферинцирование и т.п.

 

Очевидно что для "знатоков" будет сюрпризом тот факт, что на компьютере все вычисления являются приближенными, что операции типа дифференцирования и т.п. реализуются только через численные методы, что аналитические методы не используются практически.

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

Что касаемо поиска пути и штрафов, то это классическая задача поиска оптимального пути (чему тебя, как экономиста должны были вообще-то учить) и алгоритмов имеется достаточное число. И 146% что какой-то из них в TW реализован. Именно потому, кстати, и странное поведение ИИ при некоторых перемещениях - это происходит из-за того, что условий оптимальности несколько и одни и них могут вступить в противоречие с другими. Человек способен к аналитическому мышлению и может выбрать что выгоднее, а вот ИИ на аналитическое мышление не способен, и выбранный вариант может оказаться весьма странным с точки зрения человеческой логики, но при этом он просто может попадать под какое-то из условий оптимальности.

 

ЗЫ: Вообще меня радует что тут есть люди которые ругают TW за все что ни попадя и при том хвалят другие стратегии. Ну так идите и играйте в них! Особо забавно, когда TW ругают за неправильны хват копья у гоплита и при этом восхваляют Циву, ну да там историчность так и прет :D

Ссылка на комментарий
что операции типа дифференцирования и т.п. реализуются только через численные методы, что аналитические методы не используются практически.
"

Эх, ностальгические воспоминания...это прямо тема моей диссертации "нейросетевые методы решения дифференциальных уравнений" :)

 

Особо забавно, когда TW ругают за неправильны хват копья у гоплита и при этом восхваляют Циву, ну да там историчность так и прет

 

Так дело в том, что Цива не претендует на историческую игру, что там происходит практически не имеет ничего общего к истории. А рим 2 позиционируется как "историческая стратегия", отсюда и требования...

Ссылка на комментарий

2Alexxius

Я тут уже предлагал одному знатоку того как надо программировать ознакомиться с теорией игр. Тебе предложу ознакомится с тем что такое алгоритм и что такое сложность. Может тогда не будет бреда про дифферинцирование и т.п.

1. Предположим, что я знаю, что такое алгоритм.

2. В чем бред? В том что подобную задачу можно решать через производную?

Очевидно что для "знатоков" будет сюрпризом тот факт, что на компьютере все вычисления являются приближенными, что операции типа дифференцирования и т.п. реализуются только через численные методы, что аналитические методы не используются практически.

А также тот простой факт, что компьютеру во многих случаях проще тупо перебрать возможные варианты и найти наилучший.

Брехня. Один мой знакомый рассказывал, что они в каких-то там тысячудевятьсотзатёртых годах работали над алгоритмом для низколетящих крылатых ракет на базе процессора, сопоставимого с Интел-86. Задача, не решаемая простым перебором в принципе (с учётом ресурсных ограничений). Другое дело, что выгоднее поднять планку требований к железу, чем работать над оптимизацией алгоритма.
Что касаемо поиска пути и штрафов, то это классическая задача поиска оптимального пути (чему тебя, как экономиста должны были вообще-то учить)
Экономисты прекрасно обходятся и без этого. Тем более, что все эти задачи на сетях - сугубо технические и пусть ими занимаются логисты.
алгоритмов имеется достаточное число. И 146% что какой-то из них в TW реализован.
Весь предыдущий истерический текст от начала поста и до значка "%" можно было смело пропустить. Единственная его ценность в том, что он объясняет истоки Вашей тяги к приближённым вычислениям, давшим вам вероятность на уровне 146%. Между тем всё проще. Достаточно кликнуть мышью на фигурке армии, чтобы появилось цветное пятно, размер и форма которого недвусмысленно указывают, что всё поле побито на гексы (как, например, в пятой Циве), каждой ячейке прописан свой коэффициент проходимости и компьютер просчитывает все возможные варианты использования оставшегося запаса хода, формируя массив возможных конечных "ячеек назначения". Отличия от Цивы только в длинне хода. И без всяких приближённых вычислений и оценок вероятности.
Вообще меня радует что тут есть люди которые ругают TW за все что ни попадя и при том хвалят другие стратегии. Ну так идите и играйте в них!
Ну так и играем же. А что у Вас за проблема? Хотите об этом поговорить?
Ссылка на комментарий

2Dino

2. В чем бред? В том что подобную задачу можно решать через производную?

 

В том что это "проще чем найти первообразную". Для компьютера - скорее наоборот, в любом случе будут применены численные методы .

 

Брехня. Один мой знакомый рассказывал, что они в каких-то там тысячудевятьсотзатёртых годах работали над алгоритмом для низколетящих крылатых ракет на базе процессора, сопоставимого с Интел-86. Задача, не решаемая простым перебором в принципе (с учётом ресурсных ограничений). Другое дело, что выгоднее поднять планку требований к железу, чем работать над оптимизацией алгоритма.

 

В чем брехня? В том что везде численные методы. Это чистая правда. Компьютер не способен к аналитическим методам решения.

Или речь о переборе? Так читай внимательнее - я написал "во многих случаях". Есть еще такой момент, что каждая задача имеет определенную сложность. И на небольших сложностях перебор работает быстрее оптимизационных алгоритмов. А вот когда сложность задачи вырастает, тогда и алгоритмы опримизации показывают себя в полный рост.

 

 

Экономисты прекрасно обходятся и без этого. Тем более, что все эти задачи на сетях - сугубо технические и пусть ими занимаются логисты

 

Да видел я таких "экономистов", которые считали, что им не нужны ни мат.моделирование, ни теория оптимизации. Отмазка для тех кто в универе пары пропускал и с математикой не дружит.

 

Весь предыдущий истерический текст от начала поста и до значка "%" можно было смело пропустить. Единственная его ценность в том, что он объясняет истоки Вашей тяги к приближённым вычислениям, давшим вам вероятность на уровне 146%. Между тем всё проще

 

Еще раз для тех у кого "рация на бронетранспортере" - ВСЕ вычисления на компьютере являются приближенными. Вообще все. Вне зависимости от того чему тебя недоучили в твоем универе.

И еще раз повторю - алгоритмы оптимизации в ТВ реализованы. И нужные параметры они обсчитывают. Иди и учи матчасть, тогда поймешь почему это именно так.

Ссылка на комментарий
Компьютер не способен к аналитическим методам решения.
OMG. А если просто запустить mathcad, или аналогичную софтину?
ВСЕ вычисления на компьютере являются приближенными. Вообще все.
Даже 2+2, да? Месье ничего не слышал про целочисленную арифметику?

 

Может, не стоит делиться сведениями в той области, в которой ни хрена не смыслишь?

Ссылка на комментарий

2Alexxius

В том что это "проще чем найти первообразную". Для компьютера - скорее наоборот, в любом случе будут применены численные методы .
Где в комментируемом посте сказано, что для компьютера?
ВСЕ вычисления на компьютере являются приближенными. Вообще все. Вне зависимости от того чему тебя недоучили в твоем универе.
Разному учили. Например, что в двоичной системе счисления 01+01=10. Причём точно 10, без округлений. Или и тут округлённые подсчёты?
Иди и учи матчасть
Матчасть чего? И главное зачем?

 

P.S. И всё-таки, откуда столько батхёрта, изливаемого в приличном обществе? С работы выгнали? Хулиганы обидели? Девушка не дала? Такими постами Вы к себе не сочувствие вызовете, а презрение и брезгливость окружающих. Оно того стОит?

 

IMHO, за формулировочки стОило бы извиниться.

Ссылка на комментарий

2MUTbKA

OMG. А если просто запустить mathcad, или аналогичную софтину?

 

Внутренности будут численными. Кстати именно по MathCAD у меня была книга с подробным описанием тех алгоритмов, которые там используются.

 

Даже 2+2, да? Месье ничего не слышал про целочисленную арифметику?Может, не стоит делиться сведениями в той области, в которой ни хрена не смыслишь?

 

Слышал.

А вот 2*2 будет уже 3.9999999999999999999

Я как раз смыслю, а вот ты похоже нет если не понял о чем я писал.

 

2agnez

Хм, это кто вам такое сказал? Вообще то на "ты" тут обращаются преимущественно те, кто разрешил это, или люди знающие друг друга с десяток лет.

 

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

Ссылка на комментарий

2Dino

 

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

 

2. Есть сомнения, что ИИ способен управиться со штрафами за перемещение. В связи с этим вспомнил, что ещё в средней школе в теме "Производная" у меня была задача типа "Велосипедист едет по шоссе вдоль пашни со скоростью Х км/ч. На расстоянии 1 км от него, в 200м от дороги стоит столб. через сколько метров велосипедист должен свернуть с дороги и поехать к столбу напрямик по полю, если его скорость по пашне У км/ч и он хочет добраться до столба как можно быстрее?" Задача решалась через составление несложного уравнения и нахождение производной. Если восьмиклассники могли с этим справиться, то неужели программёр ИИ этого не сможет? Тем более, что дифференцирование, в отличие от нахождения первообразной, никаких неоднозначностей не предусматривает. Так может быть только при условии, что ИИ в СА вообще какие-то дегенераты пишут.

 

Теперь ты говоришь:

Цитата (Моя) В том что это "проще чем найти первообразную". Для компьютера - скорее наоборот, в любом случе будут применены численные методы .

Где в комментируемом посте сказано, что для компьютера?

 

Налицо имеем либо забывчиость либо увиливание. Выбери сам.

 

Матчасть чего? И главное зачем?

Я написал чего. Могу повторить - того как ищется оптимальный путь. Этому на экономических факультетах учат. Тогда проще будет понять почему ИИ именно такой и критиковать по существу.

 

P.S. И всё-таки, откуда столько батхёрта, изливаемого в приличном обществе? С работы выгнали? Хулиганы обидели? Девушка не дала? Такими постами Вы к себе не сочувствие вызовете, а презрение и брезгливость окружающих. Оно того стОит?IMHO, за формулировочки стОило бы извиниться.

 

И не надейтесь, у меня все замечательно. Или ты свои проблемы проецируешь на меня? ;)

Единственная неприятность в том, что некоторые люди занимаются критикой того в чем не особо разбираются.

Я кстати вашу дискуссию в Историческом с интересом читаю, однако не вмешиваюсь же, ибо и в истории и в экономике я всего лишь любитель. Советую поступить также в случае с обсуждением алгоритмов.

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

А подколки твои работают слабо, над этим тебе тоже стоит поработать. Либо троль толсто, как некий профессор :)

Ссылка на комментарий

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

Еще раз для тех у кого "рация на бронетранспортере" - ВСЕ вычисления на компьютере являются приближенными. Вообще все. Вне зависимости от того чему тебя недоучили в твоем универе.

И еще раз повторю - алгоритмы оптимизации в ТВ реализованы. И нужные параметры они обсчитывают. Иди и учи матчасть, тогда поймешь почему это именно так.

Есть процессоры с плавующей точкой, а есть целочисленные. Вторые считаются более дешевыми (но на них реализовать математику с плавающей точкой сложно).

В любом программировании есть типы данных. Есть целочисленные типы, есть плавающие. Умножение целочисленных не даст ничего, кроме целочисленных.

Для меня просто несколько глупо звучит утверждение, что все вычисления являются приближенными...

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

 

По Риму 2 - лучше все равно ничего не будет, поэтому куплю Рим 2. Охота за этрусков поиграть -)

Ссылка на комментарий
Внутренности будут численными.

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

А вот 2*2 будет уже 3.9999999999999999999

Да? Возьмем Intel 8086.

 

Mov ax, 2

add ax, 2

 

что же будет в AX после этого?

Изменено пользователем MUTbKA
Ссылка на комментарий

2Dino

Есть сомнения, что ИИ способен управиться со штрафами за перемещение. В связи с этим вспомнил, что ещё в средней школе в теме "Производная" у меня была задача типа "Велосипедист едет по шоссе вдоль пашни со скоростью Х км/ч. На расстоянии 1 км от него, в 200м от дороги стоит столб. через сколько метров велосипедист должен свернуть с дороги и поехать к столбу напрямик по полю, если его скорость по пашне У км/ч и он хочет добраться до столба как можно быстрее?" Задача решалась через составление несложного уравнения и нахождение производной. Если восьмиклассники могли с этим справиться, то неужели программёр ИИ этого не сможет? Тем более, что дифференцирование, в отличие от нахождения первообразной, никаких неоднозначностей не предусматривает. Так может быть только при условии, что ИИ в СА вообще какие-то дегенераты пишут

Конкретно данная проблема и не проблема вовсе. Уще начиная с первого рима комп всегда рисует маршруты в зависимости от типа местности.

Ссылка на комментарий

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

В место того что бы говорить о возможностях СА создать адекватный ИИ, лучше бы привели в пример, хоть одну игру с таким ИИ. Но таких игр - нет. Повсюду ИИ стоит на костылях. Только в Тотал Варе который вы изьездили в доль и поперек, вы замечаете эти костыли, а в других играх можете не заметить.

Ссылка на комментарий

Последний пост в этой теме, больше её не читаю.

Могу повторить - того как ищется оптимальный путь. Этому на экономических факультетах учат.
На экономических факультетах учат другому. Например, тому, что прежде всего нужно сформулировать задачу, найти её решение в общем виде, а уж затем браться за составление алгоритмов, написание должностных инструкций, реализацию технических решений и т.д. И методы решения на каждом этапе отнюдь не одинаковые.
Налицо имеем либо забывчиость либо увиливание.
...либо неумение держать в поле зрения контекст поста. Непосредственно перед моим постом в теме про Рим2 - пара страниц дискуссии о том, что страткарта обязательно должна быть коридорной, так как ИИ не справится с вычислением оптимального пути. Смысл моего поста в том, что данное опасение необоснованно, так как в общем виде задача решается очень просто и в СА не может быть таких бестолковых игроделов, чтобы с этим не справились. О конкретной реализации на уровне программного кода я не сказал ни слова.
Я кстати вашу дискуссию в Историческом с интересом читаю
И там кто-то кому-то "тычет"?

 

За сим откланиваюсь в этой теме.

Ссылка на комментарий

2Dino

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

проблема не в вычислении пути, а в выборе точки куда будем двигаться. Коридорные карты сильно упрощают этот выбор

Ссылка на комментарий

Как уже говорили - при выделении отряда показывается вся территория, которой может он достичь. Так что проблем с расчетом маршрута в игре нет 100%. И весь вопрос только в том, как заставить ИИ идти в конкретные точки, особенно с прогнозированием хотя бы на несколько ходов.

Изменено пользователем Archi
Ссылка на комментарий

2Lottarend

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

 

Соглашусь. Все-таки под "все" имелось в виду не "вообще все", а вычисления в той предметной области о которой шла речь.

 

2MUTbKA

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

 

Вот тут советую почитать мануал по Маткаду. У меня он как раз и был. Правда это был 6-й маткад лет 15 назад, но в нем была прекрасная заключительная глава с описанием того что и как внутри реализована.

 

По поводу целочисленных операций читай мой ответ выше.

И не хвались знанием ассемблера, не ты один его знаешь ;)

В какой области работаешь, кстати? Или еще учишься?

Ссылка на комментарий

2WiSt

проблема не в вычислении пути, а в выборе точки куда будем двигаться. Коридорные карты сильно упрощают этот выбор

 

2Archi

Как уже говорили - при выделении отряда показывается вся территория, которой может он достичь. Так что проблем с расчетом маршрута в игре нет 100%. И весь вопрос только в том, как заставить ИИ идти в конкретные точки, особенно с прогнозированием хотя бы на несколько ходов.

 

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

При этом еще и неизвестно куда точно идет игрок ;) Вполне может и не к ИИ в гости.

Ссылка на комментарий

Так весело вас читать...

Вы серьезно полагаете, что в Риме(или любой другой игре с нахождением пути) для подсчета маршрута используется что-то кроме А* или Дейкстры(которые по сути - вариации жадного алгоритма)? Если да - то эти измышления про "плавающие точки" и "велосипедистов и пашню" будут интересны скорее психиаторам, чем программистам. :)

Ссылка на комментарий

2Alexxius

муки выбора

Это самое сложное в программировании ИИ. ПРИНЯТИЕ РЕШЕНИЯ - вокруг этого все шашки ломаются. Именно ответ на вопрос "что делать?" ставит в тупик ИИ, с ответом на вопрос "как это делать?" проблем нет

Ссылка на комментарий

2Archi

И весь вопрос только в том, как заставить ИИ идти в конкретные точки, особенно с прогнозированием хотя бы на несколько ходов.

Судя по Танкам - с этим то человек 90 из 100 не справляются.

 

2SlipJ

Так весело вас читать...

ты не хихикай, а обскажи как тебе видится.

Ссылка на комментарий

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
×
×
  • Создать...

Важная информация

Политика конфиденциальности Политика конфиденциальности.