| Автор | Стоимости боя артефактов и оа | 
|---|
			
| для FireSwarm: Зачем? Попробовать отсеять заранее невыгодные арты? Дык тут не угадать, по большей части. Хотя, такой анализ мог бы существенно уменьшить кол-во переборов.
 "Жадный" алгоритм такой.
 Считаем для всех артов отношение цена/ОА.
 Выбираем арт с минимальным отношением.
 Пихаем, удаляем из списка и повторяем процедуру для оставшегося ОА.
 Оптимума не гарантирует, но приемлемый вариант найдет.
 Возможны модификации.
 | 
| спасибо | 
| для Monsieur: Жадным алгоритмом можно и без скрипта всё проверить)) К тому же, он очень редко даёт требуемый результат.
 Если уж заморачиваться, то нужно генетический использовать, он как раз для таких случаев и придуман.
 Но в моём случае идёт тупая сортировка огромной таблицы. И проблема только в размере этой таблицы. И в данном случае если оптимизировать - то стоимость ОА это самая эффективная штука.
 | 
| для FireSwarm: нужно генетический использовать - а можно поподробнее?
 | 
| для FireSwarm: Генетический не надо, достаточно динамического программирования.
 Если представить, что есть всего 2 слота (щит и меч) и надо 10ОА.
 Делаем цикл по ОА от 1 до 10.
 1. Ищем самый дешевый меч на (ОА).
 2. Выбираем щит на 10-(ОА).
 Запоминаем стоимость.
 3. ОА++
 Повторяем, выбираем минимальный.
 
 С 9ю слотами все то же самое, перебираем мечи и делаем рекурсию по оставшимся 8 слотам по тому же принципу.
 | 
| для CHernoknizhnik: Можно как-нить, но не в этой теме))
 
 для Monsieur:
 И получился у тебя полный перебор. С учётом, что 3 вложенных цикла считается предвестником катастрофы, 9 я даже пробовать не буду.
 | 
| для FireSwarm: Это НЕ полный перебор. Это динамическое программирование, которое в данном случае похоже на метод ветвей и границ.
 | 
| для Monsieur: Точно, не совсем догнал сразу...
 Но всё равно генетика тут рулить будет, по моему.
 | 
| Если в другом порядке делать. Обозначим через ОА(х) оптимальное решение на х ОА.
 Кодируем как вектор из 9 элементов, соответствующих слотам.
 
 Сначала находим оптимальное решение на 1ОА.
 Это тривиально - самый дешевый меч.
 
 Теперь 2ОА.
 Функция Беллмана
 ОА(2) = мин(Меч(2), любой слот(1)+ОА(1)).
 
 И продолжаем в том же духе.
 
 ОА(3) = мин(Меч(3), самый дешевый арт на (1)+ОА(2), самый дешевый арт на 2+ОА(1))
 
 и т.д.
 | 
| Делаем цикл по ОА от 1 до 10. 1. Ищем самый дешевый меч на (ОА).
 2. Выбираем щит на 10-(ОА).
 Запоминаем стоимость.
 3. ОА++
 Повторяем, выбираем минимальный.
 ГоТошник чертов =), кошернее все арты в табличку и группировку по слоту, и функцией min() определить по заданному ОА (сколько на выходе надо), нету функции? пишется в 5 строк.
 | 
| Точнее, не совсем так. Меч должен быть обязательно.
 Обозначим ОА8(х) ОА минимальной стоимости на х очков в оставшихся 8 слотах.
 ОА(1) = самый дешевый меч.
 ОА8(1) = самый дешевый арт на остальные 8 слотов.
 ОА(2) = мин(меч(2), меч(1)+ОА8(1))
 ОА(3)=мин(меч(3), меч(2)+ОА8(1), меч(1)+ОА8(2))
 ОА(4)=мин(меч(4), меч(3)+ОА8(3), меч(2)+ОА8(2), меч(1)+ОА8(1))
 
 а для ОА8 та же схема.
 | 
| Делаем цикл по ОА от 1 до 10. 1. Ищем самый дешевый меч на (ОА).
 2. Выбираем щит на 10-(ОА).
 Запоминаем стоимость.
 3. ОА++
 Повторяем, выбираем минимальный.
 
 А можно такой сервис на стоимость стата сделать?
 
 С функцией заполнения вручную стоимости артов повышенной прочки.
 | 
| Спосибо | 
| на больших левелах мин оа вообще не актуально, тупо некуда в нем ходить. | 
| для SpiritHorse: Если кто-то скрипт напишет.
 Я могу на Матлабе написать, но для сообщества ГВД от этого будет мало пользы, а скриптописанию в НТМL, увы, не обучен :(
 | 
| в ГВ всегда ходят | 
| а скриптописанию в НТМL, увы, не обучен тут поиск данных в массиве по заданным параметрам, причем тут ХЭТЭМЭЭЛ? пишется на любом языке или в любой СУБД, но "если умеешь что-то, никогда не делай это бесплатно" (с) Джокер
 в ГВ всегда ходят
 Да ладно! xD
 | 
| для The Emperor: То, что ты описываешь - это как раз жадный алгоритм.
 Подбор ОА на самом деле несколько более сложная задача.
 | 
| То, что ты описываешь - это как раз жадный алгоритм. Подбор ОА на самом деле несколько более сложная задача.
 инженер решил поспорить с финансистом про, по сути, финансовую тему? =); ну да, для инженера Подбор ОА на самом деле несколько более сложная задача я же вижу её обыденным поиском наиболее дешевого решения бизнес процесса.
 | 
| для The Emperor: я же вижу её обыденным поиском наиболее дешевого решения бизнес процесса.
 Только это решение будет неоптимальным. То, о чем ты говоришь - это жадный алгоритм из поста 61.
 |