Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.02.04;
Скачать: CL | DM;

Вниз

Хранение данных   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.072 c
15-1168618008
Ega23
2007-01-12 19:06
2007.02.04
Товарищи ораклисты!


4-1159123015
Fio
2006-09-24 22:36
2007.02.04
Поиск и регистрация процессов в WinXP


2-1169234347
serko
2007-01-19 22:19
2007.02.04
Посоветуйте...


15-1168460341
ferr
2007-01-10 23:19
2007.02.04
Eagles -- Hotel California (original videoClip)


2-1169060896
Pasha L
2007-01-17 22:08
2007.02.04
Ошибка Stream Read Error