Вот это как-то странно представить. Жил себе человек, не тужил, и тут вдруг раз — и умер от сжигания угля? И только от этого, других причин не было?
Вообще оперировать сухими числами смертей не очень корректно, т.к. смерти бывают очень разные и очень по-разному влияют на жизнь как самого человека так и его близких. Их значимость может отличаться в сотни раз.
Да, всё верно. Для меня 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, гораздо быстрее запустить скомпилированный бинарник, чем интерпретатор, который при запуске грузит либы (сотни файловых операций!) и парсит код. На этом фоне скорость выполнения собственно кода логики скрипта имеет мало значения.
Добавлю, что на фоне общего времени, потраченного на создание сайта, время на разработку этого модуля SCGI — это просто капля в море. Основное время занимают создание макета, нарезка HTML, написание кода на JS и кода функционала бэкенда, локализация, тестирование и т.д.
Описание SCGI в вики занимает страницу текста, чтобы с ней разобраться, достаточно 10 минут. Час-полтора — написать реализацию. После написания и отладки эту инфу можно навсегда выбросить из головы.
Для изучения языка программирования нужно гораздо больше времени. И гораздо больше "памяти" в голове, чтобы запомнить основные стандартные функции.
Что касается PHP, то я его в принципе не рассматривал из-за его репутации. Может быть в современном PHP всё не так, как было раньше, но в памяти отложилось, что с PHP лучше не связываться, т.к. на каждом шагу — то выстрел в ногу, то уязвимость.
В принципе любой интерпретируемый язык, в котором есть eval() — это пороховая бочка.
Логику этой фразы не понял совсем.
Вот это как-то странно представить. Жил себе человек, не тужил, и тут вдруг раз — и умер от сжигания угля? И только от этого, других причин не было?
Вообще оперировать сухими числами смертей не очень корректно, т.к. смерти бывают очень разные и очень по-разному влияют на жизнь как самого человека так и его близких. Их значимость может отличаться в сотни раз.
Ну так если авария — причина эвакуации, значит она же — причина и этих жертв.
Да, всё верно. Для меня 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
Добавлю, что на фоне общего времени, потраченного на создание сайта, время на разработку этого модуля SCGI — это просто капля в море. Основное время занимают создание макета, нарезка HTML, написание кода на JS и кода функционала бэкенда, локализация, тестирование и т.д.
Описание SCGI в вики занимает страницу текста, чтобы с ней разобраться, достаточно 10 минут. Час-полтора — написать реализацию. После написания и отладки эту инфу можно навсегда выбросить из головы.
Для изучения языка программирования нужно гораздо больше времени. И гораздо больше "памяти" в голове, чтобы запомнить основные стандартные функции.
Что касается PHP, то я его в принципе не рассматривал из-за его репутации. Может быть в современном PHP всё не так, как было раньше, но в памяти отложилось, что с PHP лучше не связываться, т.к. на каждом шагу — то выстрел в ногу, то уязвимость.
В принципе любой интерпретируемый язык, в котором есть eval() — это пороховая бочка.