Форум: "Начинающим";
Текущий архив: 2007.02.04;
Скачать: [xml.tar.bz2];
ВнизХранение данных Найти похожие ветки
← →
Rembo (2007-01-14 15:01) [0]Привет! Делаю игру (Bantumi, была в мобиле Nokia 3310) и решил попробывать сделать самообучающийся ии таким образом: если человек побеждает компьютер, то ходы человека записываються в файл (базовый ии включает в себя несколько простых проверок: "можно ли походить 2 раза", "можно ли украсть очки у противника" и т.д). В записи в файле представляют собой массив из 14 байт (12 байт - состояние игры, 13-ый - количество очков с которыми выиграл человек, 14 отвечает за сам ход), И столкнулся с проблемой: игровой стол представляет собой массив из 12 чисел 0..25. Всего возможных состояний 26^12, перемножив на 12 байт, получаеться что полный файл будет весить ~ОЧЕНЬ ОЧЕНЬ МНОГО TB. Собственно вопрос: как уменшить размер записи? Есть ли варианты? Или я пошел по неверному пути?
← →
Rembo (2007-01-14 15:07) [1]Вот пришла в голову мысль: вместо того чтоб хранить весь массив 12 байт, делать из него хеш, получаеться 4 байта +2 : 30^12*6= бесконечность =(
← →
Rembo (2007-01-14 19:56) [2]Мда, перенесли, а тут тем более никто не ответит!
← →
ors_archangel © (2007-01-15 02:27) [3]Оставляй только сколько-то хороших примеров - остальные - удаляешь, эволюция! - выживает сильнейший.
Сдеалть пакетную запись ходов: некоторое состояние - триггер: цепочка ходов, - не надо будет записывать состояние перед каждым ходом, но затрудняется поиск по примерам, хотя если цепочек много, то не страшно.
Обучать нейросеть, предсказывающую ход в зависимости от состояния на примерах, где человек победил, да и на примерах, где комп победил то же. Размер нейросети ограничить несложно, и она может находить сложные закономерности.
Реорганизовать хранение: вместо отображения состояние -> ход использовать сколько возможно ходов списков, в которых будут храниться состояния: состояния храним в сжатом виде, например сортируем их и почленно сжимаем RLE или ещё как-нибудь, даже zlib может хорошо сжимать: в надежде, что один и тот же ход происходит из похожих позиций, только в случае со сжатием поиск придётся дополнительно усложнять: разжатие там всякое и т.д.
Вообще, обычно (а вообще не знаю) делают функцию оценки позиции и просчитывают свои/чужие ходы в будущее по разным ветвям и выберают лучший путь, т.е. глубокий перебор возможных ходов для поиска максимально выйгрышного состояния - вообще ничего хранить не надо, хотя можно какие-нибудь интересные случаи и сохранить.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.02.04;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.055 c