Игры компьютеров

Тема в разделе "Машинное отделение", создана пользователем Pingvin, 6 ноя 2013.

  1. roman57 Учаcтник

    • Участник
    Рег.:
    23.09.2017
    Сообщения:
    110
    Симпатии:
    12
    Репутация:
    1
    Оффлайн
    Согласен , но играть без уровней невозможно , движок постоянно перебирает свои варианты или можно дать ему сутки для выбора хода а затем самому искать ход сутки а можно и неделю если есть желание , программа упорядочивает действия движка , причём позволяя ему обдумывать свой ход во время хода соперника (если создавать тепличные условия для движка , то и для себя нужно создавать условия)
  2. sovaz1997 Учаcтник

    • Участник
    Рег.:
    30.08.2016
    Сообщения:
    352
    Симпатии:
    43
    Репутация:
    3
    Оффлайн
    Просто ставите 1 секунду на ход и играете с гораздо более сильным противником. Также, есть опция Ponder (думать во время соперника). Я уверен, что вы не обыграете Stockfish, даже если он будет тратить на ход 1/100 секунды. Также, существует режим турнира и режим с фиксированной глубиной (его не рекомендую использовать для игры).
  3. roman57 Учаcтник

    • Участник
    Рег.:
    23.09.2017
    Сообщения:
    110
    Симпатии:
    12
    Репутация:
    1
    Оффлайн
    1-секундный режим Stockfish8 в программе "шахматы-тактика и стратегия" проходится даже в классическом дебюте (если и не с первого раза , то с десятого точно -проверено) , а на видео предложены варианты сыгранные в 10-секундном режиме , например вариант "Дежавю" - по игре заметно как движок заходит на атаку , но затем просчитывает мат в 10 ходов и отказывается от неё , в итоге теряет позицию и проигрывает , всё свободно повторяется , почему вы боитесь попробовать?
  4. sovaz1997 Учаcтник

    • Участник
    Рег.:
    30.08.2016
    Сообщения:
    352
    Симпатии:
    43
    Репутация:
    3
    Оффлайн
    Вы попробуйте обыграть Stockfish 8 на 1 секунде не в программе "шахматы-тактика и стратегия", а в программе Arena с помощью движка Stockfish 8 на 1-секундном режиме.У меня просто Android нет, но я в виртуалке пробовал сравнивать Zevra и Chess Genis 12lvl. Моя программа начала проигрывать (потеря в пешку) спустя 60 ходов, Stockfish обычно к 30-40 ходу ставил мат. Stockfish мат в 10 ходов увидит мгновенно, я вам точно говорю. В общем, у Chess Genius ~2200-2400 рейтинг, что на 1000-1200 слабее Stockfish.

    А вот человек пишет, что ваша "Шахматы. Тактика и стратегия" играет на уровне КМС: https://4pda.ru/forum/index.php?s=&showtopic=720304&view=findpost&p=46493852 . В общем, не вижу смысла дальше объяснять, попробуйте своей системой обыграть не 2200-2500, а 3400 и напишите свои впечатления.
  5. KEV81 Учаcтник

    • Участник
    Рег.:
    06.03.2017
    Сообщения:
    529
    Симпатии:
    130
    Репутация:
    1
    Оффлайн
    Качество глубины у всех разное.
  6. sovaz1997 Учаcтник

    • Участник
    Рег.:
    30.08.2016
    Сообщения:
    352
    Симпатии:
    43
    Репутация:
    3
    Оффлайн
    Фиксированная глубина - это больше для тестирования движка на начальном этапе разработки (на этапе, когда все отсечения математически точные - сортировка ходов + alpha-beta, без LMR/Null Move), для проверки оценочной функции и т. д. Для игры против движка нет смысла.
  7. KEV81 Учаcтник

    • Участник
    Рег.:
    06.03.2017
    Сообщения:
    529
    Симпатии:
    130
    Репутация:
    1
    Оффлайн
    Я знаю все это.
    sovaz1997 нравится это.
  8. roman57 Учаcтник

    • Участник
    Рег.:
    23.09.2017
    Сообщения:
    110
    Симпатии:
    12
    Репутация:
    1
    Оффлайн
    Понял , ну тогда даже и не пробуйте обыграть Stockfish8 - это не ваше!
    --- добавлено: 2 окт 2017, опубликовано: 2 окт 2017 ---
    У меня нет стремления обыграть все программы , а арену под андроид пока не встретил , на обычном РС с ареной играл в шахматы 960 - один раз выиграл наверно на уровне 1800 , будет время и настрой - конечно поиграю с ней и в свою систему
  9. sovaz1997 Учаcтник

    • Участник
    Рег.:
    30.08.2016
    Сообщения:
    352
    Симпатии:
    43
    Репутация:
    3
    Оффлайн
    @roman57 я говорю про то, что ваша система не сработает с топовыми движками. Не надо играть со всеми.
  10. roman57 Учаcтник

    • Участник
    Рег.:
    23.09.2017
    Сообщения:
    110
    Симпатии:
    12
    Репутация:
    1
    Оффлайн
    Я так понял , что никакая система не сработает с топовыми движками , можно голову сунуть в песок , а можно искать решение , если истина в единственном правильном решении , значит нужно его опубликовать , и изучать только ветви этого решения , а пока идёт только поиск этого решения , например мои поиски в режиме КМС , у вас вообще никаких поисков нет , программы в игре между собой истину пока тоже не нашли , но мой вариант против программы работает на том уровне - на котором мне пока не удалось переиграть программу в классических дебютах . Очень хотелось бы увидеть поражение Stockfish8 от человека в классическом дебюте хотя бы на максимальном уровне личесс (конечно доступное для повторения)
    sovaz1997 нравится это.
  11. sovaz1997 Учаcтник

    • Участник
    Рег.:
    30.08.2016
    Сообщения:
    352
    Симпатии:
    43
    Репутация:
    3
    Оффлайн
    Движки не всегда выдают один и тот же ход из-за хеш таблиц или многопоточности, даже при фиксированной глубине Но я понял, что вы имели ввиду. Я понимаю, что в программах с уровнями это может работать, но не со всеми движками. Нужно проверять, в общем, при каких условиях это сработает.
  12. roman57 Учаcтник

    • Участник
    Рег.:
    23.09.2017
    Сообщения:
    110
    Симпатии:
    12
    Репутация:
    1
    Оффлайн
    Где то читал , что круг выбора дебютов ведущими движками сузился до единиц , то есть движки не играют заранее проигрышные дебюты , например в открытых дебютах на максимальном уровне в личесс я постоянно попадаю в ловушки , ничьи пока получались только в Ферзевом гамбите , конечно я не очень настойчив , да и в напряг такие игры , мне больше нравятся программы позволяющие комбинировать , например так - как в гамбите Хэллоуин http://kasparovchess.crestbook.com/threads/3521/page-3 , с "вяленой рыбой" это невозможно
    sovaz1997 нравится это.
  13. KEV81 Учаcтник

    • Участник
    Рег.:
    06.03.2017
    Сообщения:
    529
    Симпатии:
    130
    Репутация:
    1
    Оффлайн
    Уже давно проводят турниры дебютных книг. Движок один, а книги разные.
    sovaz1997 нравится это.
  14. roman57 Учаcтник

    • Участник
    Рег.:
    23.09.2017
    Сообщения:
    110
    Симпатии:
    12
    Репутация:
    1
    Оффлайн
    Установил Droidfish , в общем интересная программа , быстрая , очень много настроек , установил Stockfish8 - проверил , отметка на 100% , конечно получилась забавная игра (выложу её у себя в видео) , но по моему уровень игры ниже чем у личесс и "шахматы-тактика и стратегия" , я даже хочу попробовать классические дебюты с этой программой , она показалась мне довольно мягкой , ниже приложил позицию из игры , которую стокфиш не просчитал в игре (может в uci настройках можно чего нить усилить - подскажите) , ход белых МАТ в 9 ходов (забавно , но дроидфиш купился на ФЕРЗЯ) - проверьте сами!

    Вложения:

  15. sovaz1997 Учаcтник

    • Участник
    Рег.:
    30.08.2016
    Сообщения:
    352
    Симпатии:
    43
    Репутация:
    3
    Оффлайн
    Можете дать скриншот настроек? Может, там доп. параметры какие-то надо настраивать.
  16. roman57 Учаcтник

    • Участник
    Рег.:
    23.09.2017
    Сообщения:
    110
    Симпатии:
    12
    Репутация:
    1
    Оффлайн
    У меня на планшете наверно не установлен СКРИНШОТ , мне проще написать , что и как установлено , я ничего не изменял , только установил программу и проверил движок-sockfich8 и его силу игры-100% , а видео игры я у себя выложил и назвал его "D00 ПРОРВЁМСЯ"
  17. roman57 Учаcтник

    • Участник
    Рег.:
    23.09.2017
    Сообщения:
    110
    Симпатии:
    12
    Репутация:
    1
    Оффлайн
    Может всё же проще самому повторить один из примеров и убедиться в актуальности системы или вы только программист и с шахматами не дружите? Сейчас хочу попробовать подключить вашу программу к дроидфишу , у вас сказано о поддержке uci , наверно должно получиться , если подскажете как это сделать быстрее - было бы здорово!
  18. sovaz1997 Учаcтник

    • Участник
    Рег.:
    30.08.2016
    Сообщения:
    352
    Симпатии:
    43
    Репутация:
    3
    Оффлайн
    Говорю же, у меня Android нет, на виртуалке неудобно. А играю я не очень - 1500 на lichess. Мою программу подключить вряд ли получится, если только старую версию (какой-то человек скомпилировал под Android): http://chesstroid.blogspot.ru/2017/06/new-android-uci-engine-zevra-14ach.html . Но у нее старая оценочная функция. Играет примерно на уровне 1800-1900 эта версия.
  19. roman57 Учаcтник

    • Участник
    Рег.:
    23.09.2017
    Сообщения:
    110
    Симпатии:
    12
    Репутация:
    1
    Оффлайн
    Не смог найти ваш движок , может у него там другое название , поточнее бы ссылку и желательно прямую , что бы зайти с планшета и скачать да и с английским у меня посредственно , а почему нет вашего обсуждения на Чpda ?
    --- добавлено: 4 окт 2017 ---
    Неправильный пример ошибки дроидфиша для анализа выложил выше , нужно вот так ХОД БЕЛЫХ , по моему атака очевидна , по крайней мере фигуру стокфиш точно проиграл , возможно программа от безысходности решила проиграть красиво

    Вложения:

  20. sovaz1997 Учаcтник

    • Участник
    Рег.:
    30.08.2016
    Сообщения:
    352
    Симпатии:
    43
    Репутация:
    3
    Оффлайн
  21. Michael-13 Господин

    • Участник
    Рег.:
    18.11.2011
    Сообщения:
    2.470
    Симпатии:
    705
    Репутация:
    20
    Оффлайн
  22. roman57 Учаcтник

    • Участник
    Рег.:
    23.09.2017
    Сообщения:
    110
    Симпатии:
    12
    Репутация:
    1
    Оффлайн
    Скачал , буду пробовать , а мне не удалось установить зевру в 32-х битный комп , оказалось она только под 64бита , если есть под под 32 - дай ссылку и почему то арена пишет разработчик Мануэль Диаз Испания ? Сегодня наблюдал за игрой рыбки с финном , очень понравилась комбинация с двойной жертвой , похожие комбинации я показываю в своих видео , но у меня всё начинается с дебюта и при игре белыми , а тут рыбка провёл чёрными похожую комбинацию , мне очень понравилось - запомнил и буду пробовать применить похожее в своей игре , тем более движок с рейтингом 2800 не видит подобную тактику
  23. sovaz1997 Учаcтник

    • Участник
    Рег.:
    30.08.2016
    Сообщения:
    352
    Симпатии:
    43
    Репутация:
    3
    Оффлайн
    Да, я делаю только 64-битные версии. Я попробую сделать 32-битную
  24. roman57 Учаcтник

    • Участник
    Рег.:
    23.09.2017
    Сообщения:
    110
    Симпатии:
    12
    Репутация:
    1
    Оффлайн
    Посмотрел вашу программу на андроид планшете , ну ничего так , главное играет , уровень на мой взгляд 1400 , я пробовал увеличить память под хеш таблицы и уровень на максимум установлен , попробую ещё в другую программу подключить движок может посильнее будет , я не знаю как пишутся программы , но в 80-х годах все программы так играли , потом постепенно усилились , современные программы запоминают свои поражения и даже пробуют использовать приобретённые тактики против первоисточника , если pgn моих игр поможет усилить вашу программу , то могу их переслать , мне даже понравилась такая весёлая игра движка , где то в школах будут нужны несильные программы , я в этом уверен
  25. Rom Учаcтник

    • Участник
    Рег.:
    12.02.2012
    Сообщения:
    485
    Симпатии:
    173
    Репутация:
    21
    Оффлайн
    Даже самые лучшие программы наших дней используют те же принципы, что и программы 80-х, добавилась только пара новых подходов. Да что там говорить, уже Каисса образца 1972 года по своей структуре напоминает вполне современную программу. Кстати, в этом отношении она наверное была самой передовой программой начала 70-х.

    Современные программы не запоминают проведенные партии. Совсем. Хотя конечно, при желании, можно организовать пополнение дебютной книги или сохранение хэш-таблиц между партиями, но толку от этого будет чуть.
  26. Challenger Spy Технический специалист

    • Команда форума
    Рег.:
    29.01.2011
    Сообщения:
    3.547
    Симпатии:
    2.063
    Репутация:
    190
    Оффлайн
    sovaz1997, roman57, Пожалуйста, сокращайте цитирование до нужной фразы/сообщения
    sovaz1997 нравится это.
  27. roman57 Учаcтник

    • Участник
    Рег.:
    23.09.2017
    Сообщения:
    110
    Симпатии:
    12
    Репутация:
    1
    Оффлайн
    Я точно знаю , что 15 лет назад выиграв один раз затем можно было выигрывать по этой схеме сколько угодно раз , а с современными программами этот номер не проходит , то есть программы стараются обойти неудобные варианты вплоть до полной переустановки и затем все успешные прохождения можно повторять снова
  28. Rom Учаcтник

    • Участник
    Рег.:
    12.02.2012
    Сообщения:
    485
    Симпатии:
    173
    Репутация:
    21
    Оффлайн
    За 15 лет ничего не изменилось. По прежнему самый простой способ обыграть программу, это повторять ходы ранее сыгранной партии. :)

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

    Почему обязательно необходима фиксированная глубина и одно ядро/поток? Насколько я знаю, основные причины придающие вариативность выбору движка, следующие:

    1. Невозможность точного отсчета времени. Отсюда, в режиме игры с контролем по времени, после каждого хода хэш-таблица движка немного отличается от предыдущей партии, и каждый следующий ход движок начинает в несколько иных условиях. Разница небольшая, но постепенно она накапливается, особенно если речь идёт о блице. Поэтому в какой-то момент движок может выбрать другой ход, не такой как в предыдущей партии.

    2. В многоядерном режиме, для обмена данными, несколько потоков движка ведущих параллельные вычисления, опираются в основном на общую хэш-таблицу. Это особенно справедливо для последних лет, когда ведущие движки перешли на метод распараллеливания Lazy SMP. Так вот, каждая запись в хэш-таблицу одного из потоков может резко изменить направление дальнейшего поиска для других. Потоки часто пишут в хэш-таблицу. Чем больше потоков, тем больше вероятность того, что один из них при записи случайно опередит другой (например из-за влияния посторонних фоновых процессов), и поиск пойдёт в совершенно ином направлении. Кроме того, завершение вычислений одним потоком, может вообще прервать вычисления других потоков, а какой из них успеет раньше завершиться, ещё вопрос. Отсюда и большой элемент случайности.
    Комсюк нравится это.
  29. roman57 Учаcтник

    • Участник
    Рег.:
    23.09.2017
    Сообщения:
    110
    Симпатии:
    12
    Репутация:
    1
    Оффлайн
    То есть , все движки одинаковы , разница лишь в величине хэш таблиц ( как бы игровой практики ) , и чем больше движки играют между собой , тем выше их рейтинг и мастерство . Например в чём разница между движком Zevra и Stockfish8 ?
  30. Rom Учаcтник

    • Участник
    Рег.:
    12.02.2012
    Сообщения:
    485
    Симпатии:
    173
    Репутация:
    21
    Оффлайн
    Хэш-таблицы после каждой партии обнуляются. В процессе наших с ними игр движки не обучаются, но программист в процесс написания движка может провести несколько миллионов тестовых партий для подгонки "весов" в оценочной функции.

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

    В поиске у более слабых движков может использоваться меньше основных техник (для упрощения кода). Сами техники могут быть проще реализованы. Наконец, очень трудно их правильно скомпоновать, то есть заставить работать слаженно. Оптимизация кода тоже решает. Кроме того, вроде бы незаметные мелкие улучшения могут постепенно накапливаясь привести к значительной прибавке в силе, итд, итп... Например, с 2005 года не могу отметить появления ни одного нового "фундаментального" метода в поиске, тем не менее код понемногу улучшается и движки играют уже намного лучше чем тогда.

    Я думаю, "о буднях" программирования вам лучше расскажут те, кто реально писал движки, особенно сильные. Как например WinPooh. Мне лишь доводилось немного изменять существующие, написанные другими людьми.
  31. roman57 Учаcтник

    • Участник
    Рег.:
    23.09.2017
    Сообщения:
    110
    Симпатии:
    12
    Репутация:
    1
    Оффлайн
    Спасибо , но значит ли это , что система с помощью которой мне удаётся обыгрывать ведущие движки сохранит эту способность и в будущем или всё же будет внедрён в движки определённый код противодействия ?
  32. Rom Учаcтник

    • Участник
    Рег.:
    12.02.2012
    Сообщения:
    485
    Симпатии:
    173
    Репутация:
    21
    Оффлайн
    Разработчики обычно не стремятся решить все проблемы движка. Главное, чтобы он играл сильнее. То есть набирал большее эло. Даже оценка лишь побочный продукт. Например, решение проблемы крепостей мало кого волнует - слишком редко они влияют на результат. Если конечно найдётся явный баг в коде, тогда и будут решать... Ну или хотя бы Накамура начнет выигрывать у движка :). А то уже с лишним конем сливает.
  33. roman57 Учаcтник

    • Участник
    Рег.:
    23.09.2017
    Сообщения:
    110
    Симпатии:
    12
    Репутация:
    1
    Оффлайн
    Бесспорно движки играют очень сильно , мне удаётся переигрывать их только при определённой последовательности ходов в дебюте , в остальных случаях обычно проигрываю , просто по оценке движков один из моих ходов является ошибкой , полагаю именно на этом мне удаётся получить пару темпов для подготовки к атаке , надеюсь в будущем будут найдены другие промежуточные позиции позволяющие успешно атаковать программы
  34. roman57 Учаcтник

    • Участник
    Рег.:
    23.09.2017
    Сообщения:
    110
    Симпатии:
    12
    Репутация:
    1
    Оффлайн
    Вчерашняя ничья тексета с чайкой на 7-м ходе это редкое явление и при игре с человеком такое тоже возможно ?
    sovaz1997 нравится это.
  35. Rom Учаcтник

    • Участник
    Рег.:
    12.02.2012
    Сообщения:
    485
    Симпатии:
    173
    Репутация:
    21
    Оффлайн
    Да, возможно. И кстати, один из способов сыграть с компьютером вничью (конечно требуется определенная квалификация). Компьютер же не знает, какого уровня игрок выступает против него. И поэтому относится к любому сопернику как к равному (один нюанс - Contempt, в настройках, желательно установить в 0). Я полагаю, если подготовить определенные дебютные варианты, с выходом на небольшой минус с точки зрения движка, то компьютер вполне может согласиться на троекратное повторение.
    roman57 нравится это.

Поделиться этой страницей