|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
09.11.2012, 16:22 | #21 |
Старожил
Регистрация: 21.03.2009
Сообщений: 2,193
|
Ну как раз ИИ в шахматах - это последнее, что надо делать. Сначала достаточно реализовать игру Player vs Player, а потом можно без проблем снаружи накрутить ИИ, предоставив ему такой же интерфейс, что и игроку. Логика его будет самой нетривиальной частью всех шахмат, а вот взаимодействие этой логики с прочим кодом - довольно простой. Так что не стоит за это прежде времени убиваться.
Кстати, лично я бы начал с отрисовки поля и фигур - всегда приятно, когда как можно раньше удается посмотреть и потрогать игру, а потом уже можно и логику понемногу реализовывать.
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта Тема на форуме, посвященная ему же |
09.11.2012, 19:22 | #22 |
Форумчанин
Регистрация: 07.08.2011
Сообщений: 576
|
Это точно.
Я так думаю для начала надо не только гуи не рассматривать, но и любой язык программирования. По какому алгоритму должен действовать противник-компьютер? Вы сами когда играете в шахматы какому алгоритму следуете? Лично мне на этот вопрос сложно ответить? Можно конечно использовать много известных комбинаций, взять из турниров гросмейстеров например и сохранить как-то в файл. Но думаю на это у вас уйдет много, много................. времени и вы забьете на это. А вот второй вариант в начале комп действует очень простому алгоритму, например сохранить фигуры, и само собой проигрывает. Но все пройгрышные комбинации сохраняет в файл и в последующих играх их не использует. Получается как-бы самообучение, конечно примитивное, но все-же. Я как-то обдумывал такой вариант, но все архи-сложно получается |
09.11.2012, 20:17 | #23 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Никогда и не пытался шахматы делать, но представляю себе, что ИИ и есть основа и изюминка любой шахматной проги. Отображение, перемещение фигур и т.п. сложно, но решаемо, если не сразу, то со временем, набив руку, а вот ИИ и есть базис и надстройка, ради чего и стоит заниматься подобными задачами. Не?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
09.11.2012, 21:30 | #24 | ||||||
Старожил
Регистрация: 22.05.2007
Сообщений: 9,085
|
Цитата:
Цитата:
Излишнее абстрагирование ни к чему хорошему не приводит. Цитата:
Поясняю: для совершения хода, проверяются все возможные ходы себя и противника на n ходов вперёд. Выбирается тот ход, который приводит к лучшему положению, согласно оценочной функции. Конец партий уже кодируют более жестко используя "заготовки" эндшпилей. Цитата:
Цитата:
поэтому так обычно не делают Цитата:
|
||||||
10.11.2012, 20:39 | #25 |
Форумчанин
Регистрация: 17.12.2011
Сообщений: 111
|
Что ж, у каждого свой подход, я высказал свой.
В крайности бы я не кидался как вы, цитируя всё и вся Ведь никто не знает идеальный подход, с чего и как начинать. Это ж программирование |
11.11.2012, 13:37 | #26 |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,085
|
Он был заведомо неправильный, т.к. нельзя начать с середины.
Мне скучно и одиноко. Я знаю идеальный подход и всё здесь предложенное совсем не идеально. |
26.11.2012, 10:17 | #27 | ||
Форумчанин
Регистрация: 07.05.2011
Сообщений: 169
|
pu4koff, жжете! :D
Цитата:
Поэтому, я соглашусь с Громом, что пощупать программу хочется в первую очередь Цитата:
я не профессиональный игрок в шахматы, но играю на уровне среднее между "новичок-любитель". У меня есть знакомые\друзья, кто занимается этим не 1 десяток лет и если у меня будут возникать какие-то вопросы по поводу игры, именно тактик и как разыграть - я могу в любое время спросить у них. То есть, "как играть" не думаю, что это самый страшный и главный вопрос)) мне бы хоть сделать программу, которая всё двигала, знала куда можно двигать, и что конь буквой "Г")) Компьютер-противник будет просто ходить. Пока что это будет "безмозглая программа". Вы меня простите, но я не на столько крутой программист, который может с ходу с лёту написать ИИ. Я даже понятия до сих пор не имею про классы, а вы мне "как будет играть?" - да будет, будет он как-нибудь играть)) И да - откуда такая уверенность. что забью? Исключений не бывает?)) Я пишу эту программу для того, чтобы получить какой-то опыт и знания - более резкий, более сложный; постоянно улучшать и улучшать код. И вопрос про ИИ мне тоже интересен)) Аватар, ИИ - да. это ж мозг в любом деле. Давайте буду объяснять на примерах биологии: сначала был бульон. Ну так вот, в этом бульоне появились бактерии. Потом микроорганизмы. Микроорганизмы = функции имеют, мозгов нет. Они реагируют на свет\температуру\хим.состав, имеют агрессивность даже (то есть, нападение на кого-либо). Мозгов нет. Потом там были организмы покрупнее, потом трилобиты, потом рыбки ещё всякие, а, после трилобитов пошли пресмыкающиеся, а ещё динозавры и прочие животные. Где-то там появился и человек. Если так философски посмотреть, то все делают примерно где-то с "динозавры\животные" и выше. Мне такого не надо. Мне надо начать с "мирового бульона"))) А в ходе эволюции, он сам себе мозг сделает. Я вам тут такие фантастические идеи рассказываю, а ж самой не верится))) pu4koff, чтобы понять как всё работает (массивы, проверка, переходы по массиву и так далее), я решила взять игру чуть-чуть попроще - игрок против игрока, 1 компьютер, "Морской бой")) правда, у меня не получается один момент. Именно тот, когда идёт расстановка корабликов он совсем что-то не то выдаёт. Причина может быть либо в глобальных переменных, либо это магия, над которой я думаю неделю! :D Может, мне ещё сделать тему? - именно про морской бой, примитивный морской бой, который я сама сделаю)) |
||
26.11.2012, 11:44 | #28 | |||
Старожил
Регистрация: 22.05.2007
Сообщений: 9,085
|
Цитата:
Цитата:
Цитата:
ИИ - это точно отдельная тема и строится там всё не как у людей. Часто бывает, что больше разработчики заморачиваются на тему подобия ИИ мышлению человека. Сами алгоритмы поиска решения строятся на основе какой-либо математической модели, а потом корректируются с целью "очеловечивания". Например, поиск кратчайшего пути в играх может искать не совсем кратчайший, а тот, по которому пошел бы человек. |
|||
26.11.2012, 14:33 | #29 | ||
Участник клуба
Регистрация: 21.11.2007
Сообщений: 1,690
|
Для написания ИИ порекомендую литературу:
http://www.ozon.ru/context/detail/id/7107485/ (советую взять за основу) http://www.ozon.ru/context/detail/id/5040102/ (много интересных решений и подходов) http://www.ozon.ru/context/detail/id/2476937/ (тут достаточно только первых четырех глав, для усвоения многослойных НС) Цитата:
Цитата:
И еще вот, весьма достойная статья. Очень близкие темы это "Исследование операций" и "Методы оптимизации". Последний раз редактировалось Kostia; 26.11.2012 в 15:40. |
||
26.11.2012, 17:25 | #30 |
Форумчанин
Регистрация: 07.05.2011
Сообщений: 169
|
Kostia! Большое вам спасибо!
Когда я всё-таки доберусь до ИИ, обязательно перечитаю эти книги\ресурсы!))) pu4koff я тут как-то наблюдала некоторые темы про морской бой, но вся проблема в том, что я пошла каким-то дремучем путём и была даже удивлена, когда увидела код, скажем, на строчек 40-50. Хотя у меня примерно столько же (это если выкинуть всякие вводные части), думаю, проще сделать тему и начать разбираться что к чему Думаю, там всё-таки была проблема в функциях и переменных. проще было бы всё сделать в одном месте, а так хотелось выпендриться и сделать: если ты ходишь, то тебе в эту функцию, если то, то в эту функцию :D |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Создание игры "Крестики нолики" на php | Loki1993 | PHP | 4 | 20.09.2012 20:33 |
Создание игры "Змейка" | asmars | C++ Builder | 6 | 23.10.2011 15:20 |
PHP как язык для обучения программированию "с нуля"? | DooM1k | Свободное общение | 10 | 31.03.2008 17:58 |
Создание игры "Крестики-нолики" | Cubar | Помощь студентам | 9 | 22.01.2008 23:07 |