Спасибо за подробный ответ! Думаю попробовать aiogram, как раз надо небольшого бота написать.
python-telegram-bot тоже фреймворк. Полноценной FSM в нем нет, но какое-то подобие в виде ConversationHandler есть. И диалог с помощью него в принципе можно написать. Я как раз почему-то думал что aiogram небольшая библиотечка, основной плюс которой, то что он написан на asyncio. A python-telegram-bot здоровый фреймворк типа джанги, где есть куча всего
Код на asyncio более легко писать и дебажить по сравнению с кодам на потоках. Так как разработчик сам определяет места, где происходит переключение контекста. Плюс потоки потребляют больше памяти чем корутины(можно конечно взять зеленые потоки, но это еще более сложно дебажить, чем просто потоки). Если же так важна производительность(при том что не понятно почему на потоках должно получаться значительно быстрее чем на asyncio), то может лучше выбрать не Пайтон? Пайтон все же больше про скорость разработки и понятный код.
Ну я думал, если не указано иного, то речь и идет о CPython.
А как потоками можно загрузить несколько ядер одновременно, если GIL не дает выполняться больше чем одному потоку в один момент времени?
В сети есть бенчмарки на всякие hello word. В них сейчас разница в 1,5-2 раза в зависимости от версии Sanic и aiohttp.
Мы свой проект нагружали, там разница не такая большая, но Sanic побольше нагрузку держит.
Ну и если на то пошло, самые крутые бенчмарки сейчас у vibora, но для продакшена это фреймворк не гоов, а когда будет готов, то еще неизвестно какие цифры будут.
Sanic побыстрей чем aiohttp, но зато последний релиз был в декабре 2017. Когда будет новый релиз не понятно. В том релизе который есть, даже версии зависимостей не зафиксированы, из-за чего словили тут баг, когда websocket обновились.
В итоге aiohttp выглядит постабильней и поддержка лучше. Sanic побыстрей, но разница уже уменьшается.
Ну вообще задачи на жизнь и смерть программы решать довольно хорошо умеют. Их же можно решить просто перебором всех возможныз комбинаций, начиная с точек формы. И в партиях с Фаном были такие примеры.
Кстати занимая углы АльфаГо только в одном случае из 10 занаяла не пункт 4-4. Считается что при розыгрыше с этими пунктами позиция более проще. Интересно программа сама выбирает эти пункты для начала пратии или это выбор людей.
А гле можно посмотреть партии против других программ? Тот же zen например играет на KGS и кстати недавно в блице(10 секунд на ход) обыграл Павла Лисего — европейского про.
Фань играл очень слабо даже для своего уровня. ОН допускал очень грубые ошибки и не наказывал Альфу за грубые ошибки. Следствие чего это — денег, плохой формы или еще чего каждый решает сам.
Программа использовала меньше времени чем Фань, насколько я знаю, так что больший контроль скорее на руку человеку. Другой вопрос, что есть мнение что не для про больше полутора часов времени просто не нужно, так как оно будет просто лишним. А вот про намного более полезно расходуют время.(Я не считаю Фаня про по силе игры, так как он уже давно не играет в про турнирах постоянно и намного больше играет с европейскими любителями, что не могло сказаться на его уровне.)
Новичкам лучше не играт с ботами. Из-за того, что слабые боты очень сильно тупят и делают очень глупые ходы, которые не делает даже человек такого же уровня, можно криво обучиться. Зато они правда считают хорошо локальные ситуации.
Ли Седоль вряд ли будет играть что-то уж совсем необычное. Если только поймет что при обычном фусеки шансов выиграть нет т надо пробовать что-то другое.
gogameguru.com
Тут можно почитать новости и посмотреть разбор партии профессионалом.
Так же там есть разборы партий между профи. Таких грубых ошибок как в партии Фана и AlphaGo нет. И часто одна микроскопическая ошибка решает партию. Кто-то захватывает преимущество и не отдает в течении всей последующей игры.(Этим особенно молодые китайцы славятся.)
Если программа будет играть так же как с Фаном у нее нет ни одного шанса даже партию зацепить у Ли Седоля. Другой овпрос насколько она будет лчше играть к марту.
Ну мы тут все же более высокий уровень обсуждаем. Где около доски не тусуется куча народа.
Потом в большинстве правил по Го нет ничьи и есть байоми, так что на флаг играть нельзя. А про эмоции посмотрите записи партий на Ютубе. В большинстве своем лица игроков не выражают никаких эмоций.
И опять же профи знают/могут быстро просчитать все основные варианты. Для них незнакомый вариант не такая критичная проблема как для любителя.
Спасибо за подробный ответ! Думаю попробовать aiogram, как раз надо небольшого бота написать.
python-telegram-bot тоже фреймворк. Полноценной FSM в нем нет, но какое-то подобие в виде ConversationHandler есть. И диалог с помощью него в принципе можно написать. Я как раз почему-то думал что aiogram небольшая библиотечка, основной плюс которой, то что он написан на asyncio. A python-telegram-bot здоровый фреймворк типа джанги, где есть куча всего
А чем aiogram лучше чем python-telegram-bot? Из-за того что python-telegram-bot пока только переезжает на asyncio?
А как потоками можно загрузить несколько ядер одновременно, если GIL не дает выполняться больше чем одному потоку в один момент времени?
Распараллеливается же с помощью multiprocessing, треды тут никак не могут помочь.
Мы свой проект нагружали, там разница не такая большая, но Sanic побольше нагрузку держит.
Ну и если на то пошло, самые крутые бенчмарки сейчас у vibora, но для продакшена это фреймворк не гоов, а когда будет готов, то еще неизвестно какие цифры будут.
В итоге aiohttp выглядит постабильней и поддержка лучше. Sanic побыстрей, но разница уже уменьшается.
Фань играл очень слабо даже для своего уровня. ОН допускал очень грубые ошибки и не наказывал Альфу за грубые ошибки. Следствие чего это — денег, плохой формы или еще чего каждый решает сам.
Программа использовала меньше времени чем Фань, насколько я знаю, так что больший контроль скорее на руку человеку. Другой вопрос, что есть мнение что не для про больше полутора часов времени просто не нужно, так как оно будет просто лишним. А вот про намного более полезно расходуют время.(Я не считаю Фаня про по силе игры, так как он уже давно не играет в про турнирах постоянно и намного больше играет с европейскими любителями, что не могло сказаться на его уровне.)
Тут можно почитать новости и посмотреть разбор партии профессионалом.
Так же там есть разборы партий между профи. Таких грубых ошибок как в партии Фана и AlphaGo нет. И часто одна микроскопическая ошибка решает партию. Кто-то захватывает преимущество и не отдает в течении всей последующей игры.(Этим особенно молодые китайцы славятся.)
Если программа будет играть так же как с Фаном у нее нет ни одного шанса даже партию зацепить у Ли Седоля. Другой овпрос насколько она будет лчше играть к марту.
Потом в большинстве правил по Го нет ничьи и есть байоми, так что на флаг играть нельзя. А про эмоции посмотрите записи партий на Ютубе. В большинстве своем лица игроков не выражают никаких эмоций.
И опять же профи знают/могут быстро просчитать все основные варианты. Для них незнакомый вариант не такая критичная проблема как для любителя.