Да, там всё сложно, поэтому нужно разбираться, а не просто сравнивать числа.
Если я в этом ничего не понимаю — это не значит, что это невозможно использовать.
Люди постоянно умирают и это нормально. Вот если сотня человек погибла в авиакатастрофе или в результате теракта — объявляют национальный траур. Тысячи человек погибли от ковида — люди пошумели, но в целом ничего страшного. Десятки тысяч умерли от гриппа — и это вообще никого не парит. А ещё больше людей просто умирает. И ничего. Хотя у каждого есть какая-то причина или скорее комплекс причин. И каждый сам влияет на свою жизнь и на своё здоровье. Хочешь чистый воздух — живи в Сибири, хочешь большую зарплату и последний айфон — приходится дышать смрадом мегаполиса. Вот только основная часть загрязнения городского воздуха — от автотранспорта, а не от электростанций. Может быть в Китае иначе, но речь шла про Европу.
Вот это как-то странно представить. Жил себе человек, не тужил, и тут вдруг раз — и умер от сжигания угля? И только от этого, других причин не было?
Вообще оперировать сухими числами смертей не очень корректно, т.к. смерти бывают очень разные и очень по-разному влияют на жизнь как самого человека так и его близких. Их значимость может отличаться в сотни раз.
Да, всё верно. Для меня Perl — это "язык, похожий на C", где не нужно компилировать, и для которого можно найти модуль на CPAN практически для всего, что касается Веба.
Мне не очень понятно как (и зачем) писать большие проекты на Perl, но раз люди пишут — значит, видимо, смысл есть. Ну и стоит отметить, что популярность Перла в сайтостроении ещё в 2000-х конкретно снизилась, хотя на PHP активно пишут до сих пор.
Согласен, я тоже не рекомендую его изучать — рекомендую писать своё. В программировании, как и в математике, самому решать задачи полезнее, чем изучать чужие решения.
За 0x88 отдельное спасибо :) У меня положение на поле как раз хранится в виде 0bYYYYXXXX.
Пешка пошла с h2 в h4. Потом слон с e6 на h3.
А потом я вижу отсутствие пешки на h4! Слон её съел? А каким волшебством?
Дык взятие на проходе.
AI играет той стороной, которая вверху. Если перевернуть доску — он будет играть белыми.
А ошибки, конечно, есть. Код после доработок сырой. И по-хорошему надо ещё разок отрефакторить и оттестировать. Но это выльется в ещё пару дней работы, результат которой лично для меня никакой ценности уже не составит.
Захват центра — через небольшой бонус за количество полей под боем, за 7 горизонталь тоже.
Но тут есть проблема: вся эта куча параметров — как их определить: на глаз, по ощущениям?
Это работает пока AI играет на таком уровне, что очевидно где решение правильное, а где — ошибка. А дальше уже нужны другие методы типа генетической оптимизации. В шахматах это нелегко, из-за того, что партии длятся долго и провести миллион партий для оптимизации параметров — дело затратное.
Осмелюсь предположить, что код с поиском в ширину — достаточно уникален. Кто ж станет такое писать. Зато он позволяет прочувствовать как именно играет AI с полным перебором на фиксированную глубину. Если бы его не написал — это осталось бы загадкой :)
Кстати, первый коммит в репозитории — как-раз старая версия, которая играет детерминированно и думает только на своём ходу. В этом нетрудно убедиться.
Ну надо где-то брать оценки для отображаемой ветки. Пускай позиций отображается немного, но их оценка формируется из большого количества листьев. Может быть с альфа-бетой посчитать их "на лету" было бы достаточно быстро, не знаю. Я выбрал простой вариант.
В Turbo Vision не видел, но видел OWL Chess — довольно хорошая программа на Borland Pascal под Win 3.1 Исходники доступны. Но задача изначально стояла написать с нуля, а не изучать другие движки. Изучение чужих движков практически не даёт опыта решения задач, возникающих в процессе работы над AI других игр.
Как-то странно это всё выглядит. Есть же личный кабинет, куда человек может зайти и выполнить смену администратора. А вместо этого ответственная операция, фактически отчуждение собственности — проводится просто на основании заявления, т.е. без привязки к аккаунту. Да ещё и без уведомления. Несерьезно.
Медленный скорее сам CGI, а не Perl (из-за создания процесса). Но даже в случае CGI, гораздо быстрее запустить скомпилированный бинарник, чем интерпретатор, который при запуске грузит либы (сотни файловых операций!) и парсит код. На этом фоне скорость выполнения собственно кода логики скрипта имеет мало значения.
Полураспад урана — миллиарды лет, он малоактивный. А вот то, что образуется в реакторе и содержится в отходах — в миллионы/миллиарды раз активнее.
Люди постоянно умирают и это нормально. Вот если сотня человек погибла в авиакатастрофе или в результате теракта — объявляют национальный траур. Тысячи человек погибли от ковида — люди пошумели, но в целом ничего страшного. Десятки тысяч умерли от гриппа — и это вообще никого не парит. А ещё больше людей просто умирает. И ничего. Хотя у каждого есть какая-то причина или скорее комплекс причин. И каждый сам влияет на свою жизнь и на своё здоровье. Хочешь чистый воздух — живи в Сибири, хочешь большую зарплату и последний айфон — приходится дышать смрадом мегаполиса. Вот только основная часть загрязнения городского воздуха — от автотранспорта, а не от электростанций. Может быть в Китае иначе, но речь шла про Европу.
Вот такая логика.
Логику этой фразы не понял совсем.
Вот это как-то странно представить. Жил себе человек, не тужил, и тут вдруг раз — и умер от сжигания угля? И только от этого, других причин не было?
Вообще оперировать сухими числами смертей не очень корректно, т.к. смерти бывают очень разные и очень по-разному влияют на жизнь как самого человека так и его близких. Их значимость может отличаться в сотни раз.
Ну так если авария — причина эвакуации, значит она же — причина и этих жертв.
Да, всё верно. Для меня Perl — это "язык, похожий на C", где не нужно компилировать, и для которого можно найти модуль на CPAN практически для всего, что касается Веба.
Мне не очень понятно как (и зачем) писать большие проекты на Perl, но раз люди пишут — значит, видимо, смысл есть. Ну и стоит отметить, что популярность Перла в сайтостроении ещё в 2000-х конкретно снизилась, хотя на PHP активно пишут до сих пор.
О как, не знал! :(
Согласен, я тоже не рекомендую его изучать — рекомендую писать своё. В программировании, как и в математике, самому решать задачи полезнее, чем изучать чужие решения.
За 0x88 отдельное спасибо :) У меня положение на поле как раз хранится в виде 0bYYYYXXXX.
Дык взятие на проходе.
AI играет той стороной, которая вверху. Если перевернуть доску — он будет играть белыми.
А ошибки, конечно, есть. Код после доработок сырой. И по-хорошему надо ещё разок отрефакторить и оттестировать. Но это выльется в ещё пару дней работы, результат которой лично для меня никакой ценности уже не составит.
Никак — вводил ходы вручную.
Захват центра — через небольшой бонус за количество полей под боем, за 7 горизонталь тоже.
Но тут есть проблема: вся эта куча параметров — как их определить: на глаз, по ощущениям?
Это работает пока AI играет на таком уровне, что очевидно где решение правильное, а где — ошибка. А дальше уже нужны другие методы типа генетической оптимизации. В шахматах это нелегко, из-за того, что партии длятся долго и провести миллион партий для оптимизации параметров — дело затратное.
Хм, тогда непонятно в чём суть претензии, что я начал с поиска в ширину, если все с этого начинают :-)
Осмелюсь предположить, что код с поиском в ширину — достаточно уникален. Кто ж станет такое писать. Зато он позволяет прочувствовать как именно играет AI с полным перебором на фиксированную глубину. Если бы его не написал — это осталось бы загадкой :)
Кстати, первый коммит в репозитории — как-раз старая версия, которая играет детерминированно и думает только на своём ходу. В этом нетрудно убедиться.
Ну надо где-то брать оценки для отображаемой ветки. Пускай позиций отображается немного, но их оценка формируется из большого количества листьев. Может быть с альфа-бетой посчитать их "на лету" было бы достаточно быстро, не знаю. Я выбрал простой вариант.
В Turbo Vision не видел, но видел OWL Chess — довольно хорошая программа на Borland Pascal под Win 3.1 Исходники доступны. Но задача изначально стояла написать с нуля, а не изучать другие движки. Изучение чужих движков практически не даёт опыта решения задач, возникающих в процессе работы над AI других игр.
А как его визуализировать, если не хранить?
А код на гитхабе, видимо, сам-собой возник? :-)
Как-то странно это всё выглядит. Есть же личный кабинет, куда человек может зайти и выполнить смену администратора. А вместо этого ответственная операция, фактически отчуждение собственности — проводится просто на основании заявления, т.е. без привязки к аккаунту. Да ещё и без уведомления. Несерьезно.
Медленный скорее сам CGI, а не Perl (из-за создания процесса). Но даже в случае CGI, гораздо быстрее запустить скомпилированный бинарник, чем интерпретатор, который при запуске грузит либы (сотни файловых операций!) и парсит код. На этом фоне скорость выполнения собственно кода логики скрипта имеет мало значения.
Поставил 3.3.1/2.1 — работает хорошо! Спасибо :)
https://github.com/Cooler2/ApusGameEngine/blob/master/Base/Database.pas