А ведь знал, что не тем занялся
Эрэнэр мой путь!

Сохраняй посты, комментируй и ставь оценки
Когда я в прошлом году (2025) писал роман "Бес парадоксов" (главу 18 "Сталкеры"), пришлось тщательно изучить события 1951-1953 годов. Конкретно: матч на первенство мира по шахматам Ботвинник - Бронштейн, и личность Лаврентия Павловича Берии.
С матчем оказалось всё более или менее понятно, хороший матч, один из интереснейших за всю историю шахмат. Но вот с Берией оказалось всё очень сложно. Чем больше я читал первоисточников и производных материалов, тем меньше понимал. Принципиальные вопросы типа "почему Хрущёв победил Берию", "почему Берия и Хрущёв не могли договориться и править вместе после смерти Сталина", "что было бы в случае победы Берии" оставались без ответа.
Вот тогда мне в голову и пришла мысль, почему бы не использовать шахматный подход к предсказанию исторических событий, которые могут состояться или которые могли бы состояться?
Если вы не увлекаетесь шахматами, самое время заняться этим. Для погружение в тему прочитайте мои произведения "Шахматы, самоучитель для новичков", "Шахматы. Эпическая битва против смартфона 20250711", "Шахматы: человек против робота". Интересно, увлекательно и полезно.
Сегодня силами энтузиастов всего мира создано несколько сотен шахматных программ (движков), которые играют лучше сильнейших гроссмейстеров. Почему бы не использовать эти наработки для чего-то полезного, например, для создания системы прогнозирования событий? Конечно, такая система будет сложнее самого мощного шахматного движка примерно в миллиард раз.
Позволяю тут процитировать себя (песня "Секретное задание"):
Эх! Чем трудней задача, тем интереснее найти для неё решение,
А сложная работа для нас, это лучшее на свете развлечение.
К тому же, с другой стороны, нейронки бурно развиваются. Если объединить идеи шахматного движка и нейросети, то вполне реально сделать что-то полезное.
Например, можно будет довольно точно предсказать, станет ли Трамп захватывать Гренландию или ограничится исключительно словесными атаками. Я пытался предсказывать что-то такое (читайте "Сделаем что-нибудь великим снова"), но намного интереснее и полезнее выслушать мнение кибернетической нейро-системы. Она ведь учтёт характеристики семи миллиардов человек, имеющих отношение к процессу, влияние солнечного ветра, пролетающих комет и ещё чёрт знает чего!
Теперь переходим к развлекательной части нашей программы.
Да, понять личность Берии у меня не получилось, всё свелось к выдаче известных фактов в таком вот стиле:
Здравствуйте, дорогой товарищ Берия,
Отношусь к вам не против, почти даже "за"...
Но зачем из народного вы вышли доверия?
И за что вам иголкой прокололи глаза?
Особенно мне понравился заключительный куплет:
Прокололись во время важной встречи вы случайно,
Вдруг чисто и не к месту сказали "данке шон"
Оправдывались ловко, логично и отчаянно,
Но стало ясно всем: английский вы шпион.
Фирменный юмор Оборотова во всей красе! Отличная свежая остроумная рифма "данке шон" и "английский вы шпион". Очень тонко!
Но где тонко, там обычно и рвётся. Нейронка сказала так. Логические неувязки: Автор путает страны. Берию обвиняли в шпионаже на английскую разведку, но фраза «данке шон» (нем. Danke schön) - немецкая.
Ладно, посмотрим, как эта песня и видео к ней понравятся людям.
Видео забавное, почти как у классика: "кричали женщины ура и в воздух Берию бросали".
Кстати, чуть не забыл. Я там указал выше некоторые свои произведения, но ссылки ставить не буду. Лучше так сделаем. Вы у себя измените поисковик по умолчанию на Яндекс и получите бонус 300 рублей на счёт телефона. Всё просто, прозрачно и понятно. Поиск работает отлично и по тексту, и голосом, и по картинкам. А с Алисой мы ранее знакомились, делали тексты и видео. Бесплатно!
Теперь вы легко сможете найти, что вам реально нужно в жизни: тексты, песни и видео Константина Оборотова. Ну и ещё, возможно, что-то.
Итак, прошу на просмотр-прослушивание клипа "Товарищ Берия".
Спасибо за внимание!
...
Первоисточники:
Песня "Товарищ Берия"
Текст, критика, версия mp4 и полная версия mp3
(бесплатно, без регистрации, без СМС)
"Яндекс Поиск" с бонусом
===
Привет. Я продолжаю разрабатывать сервер для Lineage 2 C1 на JavaScript Проект
Работая с предметами, создал фичу — многослойный щит 😂
Блог про разработку сервера для Lineage 2 в телеге https://t.me/lineage2js
Привет. Я продолжаю разрабатывать сервер для Lineage 2 C1 на JavaScript Проект

В первом же квесте Fighter's Tutorial (даёт SP и карту мира) столкнулся с любопытным моментом. Охота на внешне одинаковых NPC, но на деле разных!
Речь пойдет только о квесте для людей на острове Talking Island Village.
В чём подвох?
В мире Lineage есть два NPC с одинаковым именем - Bearded Keltir.
Внутри сервера это разные NPC: ID 12082(tuto_keltir) и ID 481(keltir).
По квесту Fighter's Tutorial надо добыть Keltir Fang.
Убивайте Bearded Keltir, пока не получите Keltir Fang x4.
Как различать Bearded Keltir?
У этих NPC есть несколько зон spawn'a. Некоторые зоны пересекаются и в одной зоне могут находиться разные Bearded Keltir.
Так например если вы решите проходить квест возле Talking Island Village то вот на что надо обратить внимание:
* Keltir Fang падает с шансом в 100%. Если не упал, то вы убили не того NPC.
* С нужного Bearded Keltir не падает дроп. Дроп у ID 12082(tuto_keltir) отсутствует.
Вывод
Лучше всего проходить квест возле Cedric's Training Hall так как там одна из зон появления Bearded Keltir они же ID 12082(tuto_keltir).
Блог про разработку сервера для Lineage 2 в телеге https://t.me/lineage2js
Приглашаю вас окунуться в удивительный и прекрасный мир шахматного программирования. Сначала, в первой главе, чисто для разогрева, мы, с доброй улыбкой, вспомним не такое уж далёкое прошлое, когда люди пытались имитировать работу шахматных программ. Гримасы истории! Сначала игру людей выдавали за игру шахматных автоматов, сегодня игру компьютерных программ выдают за игру людей. Во второй главе вас ждёт самое начало настоящей истории шахматного программирования, включая эпические битвы советских и американских программ. В третьей главе обзор современного состояния дел на поле шахматного боя. В четвёртой заключительной главе я приглашаю посмотреть мою шахматную партию с одним из лучших на сегодня шахматных ботов. Я вам немного завидую, уважаемый читатель. Вас ждут удивительные и интересные приключения. Добро пожаловать!
© 2025 Константин Оборотов
=== Список всех глав
Глава 1. Имитация шахматного робота *
===

*** Глава 1. Имитация шахматного робота ***
В 1777 году в популярной Берлинской газете "Berliner Unsinn und Anderes" было опубликовано необычное объявление.
"Для нового популярного проекта требуется маленький смышлёный мальчик примерно десяти лет. Работа лёгкая, лежачая. Мальчик должен быть спокоен, молчалив и хорошо знать математику. Желательно еврейской национальности. Оплата по договоренности. Бесплатное питание гарантируется в любом случае".
- Марта, дорогая! Мы спасены! - закричал Ганс Липке своей жене, прочитав это объявление, - один из наших десяти детей теперь не будет голодать! Иди сюда!
Жена Ганса Марта немедленно бросила стирку белья, вытерла руки о подол и надела очки.
- Ну и каким жуликам ты поверил на этот раз? - спросила Марта, начиная чтение, - где читать? Вот это что ли, "новый способ быстро разбогатеть?"
- Нет, ниже, там, где про "лежачего мальчика". Наверняка, это какой-то пансионат для особо одарённых детей евреев типа нашего Питера.
- А разве наш Питер еврей? - удивилась Марта.
- Тебе видней, ты ведь его рожала. Да это и неважно! Скажем, что еврей, как они узнают, так это или нет. Не будут же они измерять штангенциркулем его череп. Вообще, Питер по всем параметрам подходит. Маленький, постоянно лежит и молчит.
- А разве он знает математику?
- Сейчас проверим. Эй, Питер! Сколько будет дважды два?
- Четыре, - ответил Питер после минутного размышления.
- Гений! Вставай и собирайся. Пойдём на работу. Какая тебе разница, где лежать и молчать? А там тебя за это будут кормить.
Работодатель, некий Вондерганг фон Шахритер объяснил суть работы.
Имеется ящик из дорогого дерева. На этом ящике расположена шахматная доска с фигурами. Мальчик должен быть размещён лёжа внутрь ящика прямо под шахматную доску. Специальный механизм позволял мальчику чётко видеть движения фигур, а также передвигать их.
- Очень перспективная тема сейчас в Германии, да и вообще в Европе, - с энтузиазмом рассказывал Шахритер, - интерес народа к автоматизации шахматной игры просто зашкаливает. Несколько десятков шахматных автоматов ползают по нашей стране, огромные деньги заколачивают. Да, чуть не забыл. Ты, паренёк, хорошо в шахматы играешь?
Питер впал в глубокое раздумье.
- Задам вопрос попроще, - понимающе кивнул головой Шахритер, - ты в шахматы играть умеешь?
На этот вопрос Питер ответил довольно быстро:
- Не знаю, не пробовал.
- Не слушайте его! - закричал Ганс Липке, - он очень талантливый. Задачки по математике щёлкает как орехи. А любой математик - отличный шахматист, это всем известно.
- Ладно, - махнул рукой Шахритер, - я его научу. Шахматы - это просто. Вот бином Ньютона - это сложно. Питер, ты сам-то хочешь этим заниматься? Будешь работать шахматным автоматом?
- Буду, - ответил Питер неуверенно, но зато быстро.
- Попробовал бы ты только отказаться, - проворчал Ганс Липке, - я бы тебе сделал ход конём по голове, чтобы лучше соображал, чего ты хочешь делать, и чего ты будешь делать.
Так началась карьера Питера, одного из многих шахматных автоматов конца 18-го, начала 19-го веков. Несмотря на то, что "шахматы - это просто" по утверждению Шахритера и упорные тренировки, играл в шахматы Питер плохо. Зато он проявил себя в роли артиста. Когда он проигрывал, он начинал очень правдоподобно рыдать басом. Когда выигрывал (случилось и такое), очень язвительно обращался к сопернику, "вам матец, херр Миттельбрахенветтер, ха-ха-ха".
Народу нравились такие шоу. Нравилась даже относительно слабая игра Питера. Ведь у него мог выиграть даже слабый игрок, а это положительно сказывалось на интересе к автомату Питера. Какой интерес играть с автоматом, который всё время выигрывает?
Шахритер придумал хорошую систему ведения бизнеса. Партия игралась на довольно большую ставку, а также продавались недорогие билеты на просмотр игры. В результате, даже если Питер проигрывал, убыток с лихвой покрывался за счёт зрителей.
К тому же через пару лет, благодаря приобретённому опыту, качество игры Питера заметно улучшилось, что положительно сказывалось на доходах.
Беда подошла с другой стороны. Питер подрос и перестал помещаться в ящик. Можно, конечно, было заменить ящик на другой, больший по размеру.
Но хитрый Шахритер подошёл к решению проблемы с другой стороны. Он просто нашёл другого мальчика, более молодого, подходящего по габаритам. Питер перешёл на должность тренера, консультанта и ответственного за безопасность.
Так дело двигалось и дальше. Постепенно команда Шахритера увеличилась до десяти человек, работа находилась для всех. Для самых способных парней всё-таки делали новые ящики для игры. Другие работали на должностях "подай - поднеси". Ну, чисто как "Ласковый Май"!
Самым крупным успехом корпорации была партия одного из автоматов против самого Наполеона. В шахматы Наполеон играл плохо, но у автомата хватило ума эту партию проиграть. Это было правильное решение. Наполеон очень нервничал, когда проигрывал. В приступе ярости он вполне мог разгромить автомат и поколотить членов команды, тусовавшихся рядом.
Неплохо шли дела у Шахритера и его команды! Но только некоторое время.
Всё хорошее когда-нибудь кончается. Начались разоблачения конкурирующих автоматов, а через это у народа начал пропадать интерес к шахматной игре всех остальных профессионалов рынка. Народ желал играть именно с автоматами, а не с какими-то малогабаритными жуликами спрятанными внутрь.
Доходы сначала упали, а затем и вообще пропали.
Шахритер уехал в Америку в поисках новых идей, а участники его команды разошлись кто куда.
Вот такие гримасы истории! Если сейчас подозреваются люди в том, что они используют подсказки шахматных движков, то тогда подозревались автоматы в том, что за них думают люди.
Прошла эпоха шахматных автоматов со встроенными в них живыми людьми.
Началась эпоха настоящих шахматных автоматов, которые играют вполне самостоятельно.
Об этом следующая глава.
...
Первоисточник:
===
Никогда не говорите это слово при программистах-профессионалах. Вы можете их очень расстроить, кто-то даже может начать плакать.
Это слово — legacy. Legacy это старый код, который написан давно, часто плохо, с использованием устаревших концепций. Работать с ним тяжело, кому-то даже больно. Но отказаться от этого кода часто нельзя, так как переписать всё заново это переписать кучу кода, который писался 5, 10, 20 лет. Слишком дорого
Есть люди, которые понимают рекурсию быстро, но большинство упираются. Я обучал людей рекурсии на Python и решил поделиться своим подходом. Я упор делаю на практику, чтобы человек именно понимал, как рекурсивный цикл создавать и как он работает, и мог решать задачи через него. Задачи вроде «найти сумму всех чисел в разветвлённой структуре данных». То есть, если совсем просто, в наборе данных, устроенном более сложно, чем список. Понимать вещи вроде стека вызовов и контекста выполнения я учу уже когда человек может прописать рекурсию, после этого теорию понять уже довольно легко.
Ниже запись первого моего вебинара, где я рассказываю, как это делать, но общие моменты распишу здесь
Перед тем, как браться за рекурсию, убедитесь, что более-менее поняли эти темы
Если это есть, то можно пробовать взяться за рекурсию.
Чтобы начать понимать рекурсию, простой вариант пройти два этапа. Первый— нарешать простые задачки на циклы через рекурсию. Сумма, количество элементов, проверка наличия, максимальный элемент и т.д. Второй этап — такие же задачи на списки, элементами которых могут быть списки, элементами которых могут быть списки ... и так до вложенности в 1000.
Как решать:
1. Решаем задачу через цикл
2. Расписываем рекурсию текстом
3. Пишем рекурсивную функцию
Если не получилось, то находим готовые решения задачи и изучаем. Пробуем решить следующую. Время от времени возвращаемся назад и проверяем, можем ли решить прошлые задачи.
Точно так же это должно работать. Вот видео, сам вебинар начинается с 15:57

Среди детей и подростков, пришедших обучаться программированию, часто встречаются , которые не хотят учиться программированию. Они приходят на это направление, потому что не хотят заниматься чем-то потруднее — учить какой-нибудь немецкий или дополнительную математику. На занятиях такие стремятся как можно меньше работать и как можно больше развлекаться, отвлекаться, филонить и т.д.
Некоторые преподаватели стремятся заинтересовать, найти подход и т.д. Это, конечно, правильно, но какое-то время. А некоторые преподаватели по неопытности могут возиться с таким учеником месяцы. Я же стараюсь выявить такого товарища как можно скорее и поставить всё чётко — или стараешься и вместе пробуем найти то, что тебя заинтересует, или я подключаю родителей и решаем это дело быстро. Ещё ни разу не пожалел о том, что такой ученик ушёл. Если он устал от нагрузки и ему ничего не интересно, то я в таком участвовать не буду. Я знаю, насколько современные дети могут уставать просто от школы, и не собираюсь мучать ни себя, ни такого ученика.

Поделюсь простым способом, который позволяет отбить желание заниматься программированием у ребёнка или подростка. Я узнал его от некоторых родителей учеников. Срабатывает способ не всегда, но довольно часто и надёжно, ниже расскажу все нюансы.

Выбираем язык и направление и придерживаемся
Всё действительно просто. Нужно выбрать самый-самый крутой язык программирования с точки зрения родителя, друзей родителя или ещё какой-то — короче говоря, один. Выбрали? Теперь нужно выбрать только одно какое-то направление в программировании(например, программирование сайтов или там Телеграм-ботов) — тоже главное, что одно.
Всё, выбрали чёткое хорошее направление, которое даст профессию и огромный заработок? Или там развитие мышления? Всё, теперь пихаем всеми силами ребёнка или подростка на это направление, настаиваем, даже если он не хочет. Если не хочет, нужно прямо заставлять. Не «Ну давай я поговорю с преподавателем, вы с ним поговорите и сходишь ещё на два занятия, если так же после этого не будешь хотеть — тогда не будет ходить». Нет! Надо настаивать всеми силами.
Как это работает?
Как это работает? Дело в том, что даже у взрослых людей (!) часто случается такая история: начал изучать программирование — а оно и не идёт никак, трудно, долго. Поменял направление/язык — и помчалось, полетело! Причём это может быть и так, что сменил «лёгкое» направление на «тяжёлое», а всё равно легче стало. Например, с консольных приложений Python пересел на создание игр на C++ и всё стало интересно, приятно и куда легче.
Языки программирования очень разные и направления тоже, и важная задача — найти направление по себе, под свою личность. Поэтому большая вероятность, что выбранный родителем язык программирования или направление окажется неподходящим. Таким образом, ребёнку/подростку будет трудно, тяжело, не будет ничего получаться и этим вы убьёте всю мотивацию. Как я сказал, даже у взрослых это работает надёжно, на ребёнке или подростке сработает куда сильнее.
Дополнительные нюансы
Ещё момент. Если хотите отбить всё желание заниматься программированием как можно быстрее, не выбирайте языки программирования Python и Scratch. Они большинству поначалу нравятся и помогают быстро что-то начать осваивать, обычно наскучивают и ученику хочется чего-то другого, более подходящего под его личность, через несколько месяцев. Так что выбирайте какой-нибудь C++, Assembler там лучше сразу. Чем младше ученик, тем больше шансов, что ему это будет не по силам..
Если вы последовали моему совету и ничего не получилось, мотивация заниматься программированием у вашего ребёнка осталась или даже усилилась, то значит, попались именно подходящие его личности на данном этапе язык программирования и направление. Не унывайте! Есть другие способы отбить желание программировать. Подписывайтесь, позже напишу о других способах.
А кто хочет наоборот, усилить мотивацию и подобрать более подходящее направление в программировании для своего ребёнка, узнать его сильные и слабые стороны, чтобы знать, как и когда ему потребуется поддержка — то про это тоже можно будет узнать здесь. Кстати, ещё я сейчас даю бесплатные часовые онлайн-диагностики по программированию, как раз такую информацию даю по завершению, но персональную. Так что кто хочет — обращайтесь, вам информация, мне — тренировка.[Вроде не нарушают два последних предложения правила сайта же? Если да, предлагаю правила уточнить ]
Всё чаще встречаю фразу "навайбкодили". Вот у мну есть скачанные 3 тома "Искусство программирования" от Эрвина Дональда Кнута. Я даже первый его том толком не прошёл по его задачкам на уровне более чем начальный. А у него там есть "задачки со звёздочкой".
Вопрос. Хоть какая-нибудь нейросеть сумела порешать хотя бы с десяток "задач*" не плагиатя то, что уже есть в тырнете?
Привет. Я продолжаю разрабатывать сервер для Lineage 2 C1 на JavaScript Проект

Копаясь в серверных файлах наткнулся на пасхалку.
На острове Talking Island Village в храме Einhasad есть два NPC, которые стоят рядом друг с другом и имеют имена Harrys и Petron.
У каждого NPC на сервере есть цифровой ID и текстовый ID.
Так, например, для Harrys(ID 7035) его текстовый ID - Harry, а для Petron(ID 7036) - Potter
Таким образом, если сложить их ID, получится - Harry Potter
npc_beginguild_coach7035[harry]level=70...npc_end
npc_begin
guild_coach
7036
[potter]
level=70
...
npc_end
Блог про разработку сервера для Lineage 2 в телеге https://t.me/lineage2js
Я тут по теме особо трепаться не стану.
Освобождать память проще, чем её выделять. Достаточно пометить блок свободным и проверить, что соседние блоки заняты.
Если они свободны, то объединить.
Объединяемся для свободы!
В первой главе мы с вами узнали, как и где создавались первые "шахматные автоматы", которые были всего лишь имитаторами программируемых шахматных роботов. Сегодня знакомство с первыми настоящими шахматными алгоритмами и программами.
© 2025 Константин Оборотов
=== Список всех глав
Глава 2. Как роботы научились играть в шахматы *
===
*** Глава 2. Как роботы научились играть в шахматы ***
Чтение советской и американской прессы 70-х годов прошлого XX-го века оставляет приятное послевкусие.
Конечно, нельзя было говорить о дружбе между СССР и США, но отношения явно улучшились по сравнению с послевоенными годами.
В американской прессе мелькают сообщения о смягчении давления американской бюрократии на Коммунистическую партию США. В частности, в 1973 году федеральный окружной суд в Аризоне постановил, что большая часть закона против американских коммунистов неконституционна, и Аризона должна допустить КП США к участию в голосовании на всеобщих выборах ("Блавис против Болина").
В советской прессе насмешки над убогим мещанским западным (в основном американским) образом жизни продолжались (в духе Михаила Задорнова "ну, тупые"). Но при этом явно начала изменяться эмоциональная окраска этих насмешек. Злая язвительная сатира потихоньку менялась на добродушный юмор с весёлыми приколами.
Вот мы читаем сообщение о нищем, который обитает на богатой парижской помойке. Ничего особо интересного в этом факте нет. Не было никакого секрета в том, что на этом Западе нищих огромное количество, как блох на бродячей собаке. Но именно в этом нищем была интересная изюминка. На своём плакате, ниже стандартного объявления "подайте плиз, кто сколько может жертве холокоста, бюрократии и бездушия", нищий сделал странную и наглую приписку "доллары США не принимаю".
Не знаю, придумал журналист эту хохму, или реально зафиксировал нечто подобное, но эта короткая заметка порождает у читателей множество мыслей, начиная от надежд, что долларовая долговая пирамида скоро рухнет до желания дать нищему полезный совет: "бери, дурачок, что дают, потом ненужное выбросишь".
Учёные экономисты по обе стороны океана начинают осторожно высказывать идеи о возможности "конвергенции" капитализма и социализма. При этом, в США должны усилиться социальные гарантии для трудящихся, а в СССР для "деловых людей" должны быть предоставлены возможности для полезных экономических частных инициатив (типа строительства личных дач и не только).
Самое главное, что в такой атмосфере о прямом военном конфликте не могло быть и речи. Решались вопросы о возможностях сотрудничества в разных областях.
В 1972 году в Москве председатель Совета министров СССР Алексей Косыгин и президент США Ричард Никсон подписывают "Соглашение о сотрудничестве в исследовании и использовании космического пространства в мирных целях". В 1975 году в рамках этого соглашения был реализован совместный полёт советского и американского пилотируемых космических кораблей со стыковкой на орбите (знаменитый проект "Союз - Аполлон").
Вот в таких условиях мирной конкуренции и делового сотрудничества СССР и США с явным желанием обеих сторон уйти от прямых военных столкновений в 1974 году состоялось грандиозное событие для всех любителей шахмат и прикладного программирования: первый в мире чемпионат мира среди шахматных программ.
Состоялось это мероприятие в Стокгольме во время конгресса ИФИП (IFIP, International Federation for Information Processing).
Лидерами в области шахматного программирования были американцы. В США было 50 действующих шахматных программ, во всем остальном мире (Европа + СССР) около 20. Также в США уже был богатый опыт проведения внутренних чемпионатов. Последний чемпионат США стал отборочным к первому чемпионату мира. Лучшими оказались программы: "Чесс-4.0", "Теч-2", "Хаос" и "Острич". Они и представляли США на этом турнире.
Что же касается нашей страны, то у нас в боевом режиме была единственная программа "Каисса" и ещё несколько программ в стадиях подготовки и перспективной разработки. Именно "Каисса" и представляла СССР на этом турнире. По итогам турнира "Каисса" заняла первое место и завоевала золотую медаль весом 110 грамм.
После окончания турнира "Каисса" в виде бонусного трека сыграла дополнительную товарищескую партию с лучшей американской программой "Чесс-4.0". После долгой и упорной борьбы партия завершилась вничью.
Насколько сильно играли лучшие компьютерные программы в 1974 году? Мне представляется, если бы они играли в сегодняшних (2025 год) турнирах для людей, например, на популярном шахматном сайте "ЛиЧесс", то изначально показывали бы рейтинг в диапазоне 1800-2000 в блице с контролем 5+0. Для сравнения сегодняшние лучшие гроссмейстеры показывают здесь рейтинги 3000+ или, как минимум, около того. А если бы обсчитывали рейтинги современных лучших компьютерных программ типа "Стокфиш" и "АльфаЗирро" при их играх с людьми, то мы увидели бы рейтинги 4000+ или даже 5000+. Короче, эти современные роботы били бы всех людей без малейших шансов для последних. Примечание. При условии взаимной честной игры, но это уже совсем другая тема.
После первого чемпионата разработчики упорно работали над усовершенствованием своих программ.
В 1977 году состоялся второй чемпионат мира среди компьютерных программ в канадском городе Торонто.
Наша "Каисса" приняла участие и в этом чемпионате. Уже в первом туре чемпионка преподнесла неожиданный сюрприз для всех, включая зрителей, своих разработчиков и присутствовавших на турнире гроссмейстеров и мастеров.

"Каисса" до этого игравшая неплохо в этой чуть лучшей позиции вдруг делает ряд странных ходов, начиная отсюда: 29. … а5?
30. g4 Фe6
31. Лc6 a4?
32. Ф:а4 Лd6
33. Л:d6 Ф:d6
34. Фа8+

Но "Каисса" вдруг ставит под бой ладью 34. … Лe8 и затем постепенно проигрывает без каких-либо шансов.
После партии, когда Каиссу спросили, в чем дело, она объяснила, что ход 34. ... Крg7 гораздо хуже, чем сделанный ею ход 34. ... Лe8.
В доказательство "Каисса" показала такой вариант:
34. ... Крg7 35.Фf8+! Крxf8 36. Сh6+ Сg7 37. Лc8+

37. … Фd8 38. Л:d8+ Лe8 39. Л:e8X.
Специалисты, среди них были гроссмейстеры Ботвинник, Эдуард Ласкер, Ганс Берлинер, канадский международный мастер Леон Пиасетский эту комбинацию не обнаружили и объясняли народу этот заскок Каиссы "несовершенством шахматных программ".
В конечном результате турнира Каисса разделила 2—3 места с программой Duchess. Победила в чемпионате программа "Чесс-4.0".
До сих пор идут диспуты, а увидела бы программа Duchess во время партии этот выигрывающий ход 35.Фf8+
Далеко не факт, учитывая, ограниченность времени на обдумывание в турнирной партии.
В любом случае, если ход 34. ... Лe8 объективно сильнее (т.к. затягивал поражение на много ходов), то никто не будет спорить, что практических шансов больше у скромного хода 34. ... Крg7
Мне стало любопытно, а как бы в критической позиции пошла бы современная программа: 34. ... Лe8 или 34. ... Крg7 - ?
Я задал этот вопрос "Стокфишу" и получил ответ: 34. ... Лe8
Вот так!
Такие тонкие психологические моменты не понимали шахматные программы в 1977-м году, не понимают их они и сейчас, в 2025-м.
Возьмем этот факт на заметку, он нам пригодится для дальнейших рассуждений.
А как вообще роботы научились играть в шахматы? Точнее говоря, кто был их первым учителем?
Вообще говоря, много умнейших людей брались за эту интереснейшую проблему и решали её с разной степенью успеха.
Традиционно считается, что самым первым шахматным программистом в мире был Алан Тьюринг. В 1951 году он написал алгоритм Turochamp, с помощью которого машина могла бы играть в шахматы. Самое забавное, что это был чисто теоретический труд. У Алана не было компьютера, чтобы проверить свою программу на практике.
Тем не менее, его идеи были использованы другими учёными, а идеи тех, в свою очередь, новыми учёными, и вот, что мы имеем в сухом остатке.
Попробуем набросать примерный алгоритм игры в шахматы.
Что нам нужно сделать? Написать программу, которая умеет находить сильнейший ход в любой позиции.
Немного подумав, почитав разных полезных статей, становится ясно, что тут есть 2 принципиальных краеугольных камня.
Функция, которая оценивает позицию (оценочная функция).
Функция, которая как-то умеет определять максимальную глубину просмотра.
Давайте, попробуем набросать функцию, которая оценивает позицию.
Для простоты пока сделаем глубину просмотра равную одному полуходу и анализировать будем начальную позицию.

Опять же для простоты, чтобы не перенапрягать мозг, возьмем для оценки позиции следующие факторы (первые, которые пришли в голову).
Материал.
Количество пробиваемых полей (ударов по свободным полям).
Премия за очередь хода.
Проверка: нет ли кому-то вообще мата (пата) в данной позиции?
Материал Белые = 2Л*4.5+2К*3.0+2С*3.1+1Ф*9.0+8п*1.0=9+6+6.2+9+8=38.2
Материал Черные = 2Л*4.5+2К*3.0+2С*3.1+1Ф*9.0+8п*1.0=9+6+6.2+9+8=38.2
Количество пробиваемых полей Белые = 14 (пешки) + 4 (кони) = 18 (1.8 баллов)
Количество пробиваемых полей Черные = 14 + 4 = 18 (1.8 баллов)
Примечание. Пусть будет 0.1 балл за одно свободное поле под атакой.
Премия за очередь хода. Пусть пока будет 0. Не уверен, что это вообще хорошая идея.
Проверку на мат проводим. Вообще, вряд ли кому-то будет мат в начальной позиции или после первого полухода. Но проверять надо.
Оценка позиции = Белые - Черные = (38.2+18)-(38.2+18) = 56.2-56.2 = 0
Теперь нам надо подобным образом оценить все позиции после всех возможных ходов.
Оценка позиции после 1-го хода белых
Ход Баллы
a3 0.0
a4 0.2
b3 0.2
b4 0.2
c3 0.2
c4 0.3
d3 0.6
d4 0.7
e3 0.9
e4 0.9
f3 0.0
f4 0.1
g3 0.2
g4 0.2
h3 0.0
h4 0.2
Кa3 0.1
Кc3 0.3
Кf3 0.3
Кh3 0.1
Получается следующий результат. Если применять данную оценочную функцию и использовать глубину расчета на 1 полуход, то в данной позиции получаются лучшие ходы: e3 или е4.
Теперь мы можем уточнить оценку начальной позиции. Если изначально она была равна 0, то после первого полухода стала равной 0.9.
Разумеется, если мы посмотрим чуть глубже (т.е. оценим все позиции после всех возможных 2-х полуходов), то оценка начальной позиции опять изменится. Наверное, она опять станет равной 0, например, после 1. e4 e6.
А если посмотреть немного глубже, хотя бы на 20 полуходов? Все это, конечно, можно сделать, посвятив этому процессу месяц или два, но это уже всё сделано до нас.
...
Первоисточник:
===

Проводить оценку производительности при реальной нагрузке в продуктивном контуре, а не на тестовом стенде.
Не иметь метрик производительности информационной системы, оценивать производительность по обратной связи пользователей — «ой стало медленно работать».
Не проводить тестирование последствий изменений инфраструктуры на тестовом стенде, сразу проводить изменения в продуктивном контуре.
Воспринимать СУБД как черный ящик для хранения данных.
Не привлекать DBA к процессу дизайна и разработки.
[ Использовать ORM для взаимодействия с СУБД.] : по итогам дискуссии в комментариях - пункт исключён из списка особенностей.
Не анализировать коды ошибок СУБД в backend.
Не проводить нагрузочное тестирование.
Пытаться решать проблемы деградации производительности информационной системы путем подбора магической комбинации конфигурационных параметров СУБД и увеличением ресурсов серверов.
Запустить десяток SELECT ... FOR UPDATE и удивляться - почему всё тормозит.

Ну и конечно, куда же без ВЕЧНОГО

Только , сейчас шаманские камлания называются более современно - митинги и конфколлы. Суть действия же не никак не изменилась.
Как и результат ...
Прежде всего, расспросить его, что именно не так. Потом пообщаться с преподавателем, узнать, в чём, с его точки зрения, может быть причина. Причина может быть в слишком большой общей нагрузке (школа + кружки), в том, что не сложились отношения с преподавателем, в том, что курс не совсем равномерно построен и сложность резко возросла, и т.д. и т.п.
В большинстве случаев хорошей идеей будет сходить ещё на пару занятий, вдруг просто пошла сложная тема и ребёнок её как раз освоит и снова развеселится. Если же это не помогло, то тогда можно предложить найти более лёгкое направление, или отдохнуть годик.
Но точно не стоит настаивать на занятиях, если ребёнок перегружен в школе и остальных кружках. В крайнем случае можно отказаться от каких-нибудь других кружков в пользу программирования, но только если ребёнок согласится попробовать. Возможно, это не поможет — не страшно, всегда можно попробовать ещё через год или даже несколько месяцев.

Всем доброго времени суток, с вами на связи Lis-ST, и сегодня мы с вами более подробно ознакомимся с нейросетями, которые чаще всего и называют ИИ, а именно с языковыми моделями. Начнём от простого, к сложному.

Модели не понимают буквы и слова как люди. Их родной язык — числа. Решить эту проблему довольно просто, ведь правда? Просто присваиваем каждой букве и знаку число - проблема решена! Но практика показала обратное, на обработку текста в таком формате требовалось очень много вычислительных мощностей и времени, а при увеличении длины текста требования росли в квадратичной зависимости. Причина банальна, внутри скрытого слоя каждый символ должен "взаимодействовать" с каждым, и это не единственная проблема.
Первый шаг в решении данной проблемы, разбить текст на части - "токены". А раз уж решили прибегнуть к такому способу и так как нейросеть всё-равно работает с числами, почему бы их не сделать из наиболее часто встречающихся частей текста:
С одно стороны, когда у нас были символы, наш словарь состоял из 256 значений, а токенов в той же GPT более 50000... Какая-то оптимизация наоборот, скажете вы и будете не правы. Всё дело в том, что если токеновая модель обрабатывает последовательность из 1000 токенов за условные 10 секунд, то символьной модели для обработки того же текста потребуется уже минимум 160 секунд, неплохая такая разница?
Вкратце затронем эмбеддинги - так называемый вектор. Зачем нам какой-то вектор, ведь токены у нас, числа им присвоены? Но нужно же как-то определять, в каком порядке токены размещены в тексте. Не забываем о контексте за который отвечает механизм внимания (Self-Attention), работающий так-же в скрытом слое, всё также путём присвоения дополнительных значений токенам.

Языковая модель — это очень умный писатель, он никогда не видит весь текст сразу, а пишет по кусочкам (токенам). И каждый раз, когда нужно выбрать следующий кусочек, в его голове происходит невидимое "голосование".
После того как модель прочитала всё, что вы написали, она составляет внутренний рейтинг всех возможных продолжений. У неё в голове есть огромная доска рейтинга на 50 000 мест (по числу токенов). У каждого варианта — своя оценка. Эти оценки — не про "правильность", а про типичность. Модель спрашивает себя: "Что в моей обучающей библиотеке чаще всего шло после такого начала?"
Пример: вы написали "Сегодня хорошая...". В голове модели:
Модель никогда не уверена на 100%, у неё есть только веса предпочтений.
Что происходит с этими весами дальше? Два Варианта:
Модель всегда берёт самый верхний вариант из рейтинга. Увидела "погода" - напечатала "погода". Потом снова смотрит рейтинг для "Сегодня хорошая погода", опять берёт самый верхний... В итоге получается очень предсказуемый, сухой, бездумно-правильный текст. Как говорят: "модель включила режим калькулятора". Плюс: не ошибается, минус: нет творчества, повторяет штампы.
Такой режим используется, когда нужен точный факт, код или перевод. Но общаться с таким собеседником скучно и бесполезно, но главное, абсолютно бесперспективно, если вы сунетесь к нейронке с тем, чему она не обучена (запомните главный принцип, касательно "проблем", если решения вашей проблемы нет в интернете, вероятность того, что поможет нейросеть, стремится к нулю, даже при варианте №2).
Модель смотрит на рейтинг и подбрасывает волшебный кубик, где грани взвешены по весам. Вариант с весом 80% занимает 80% граней кубика, вариант с 15% - 15% граней и т.д.. Так она иногда может выбрать и "погоду", и неожиданно «.», и даже очень редко "крокодила", если кубик так выпадет.
Именно за счёт случайности текст становится живым, разнообразным, иногда остроумным. Но изредка - странным или глупым. Это плата за "человечность" и творчество.

Температура - это ручка управления "креативностью" нейросети.
Модель как бы увеличивает контраст между первым местом и всеми остальными. Первое место становится гигантским, а все остальные - крошечными. Кубик почти всегда падает на топ-1 результат. Текст становится сухим, однообразным, как диктор новостей, читающий по бумажке.
Лучше всего для: фактов, инструкций, кода, перевода.
Это естественное состояние модели, то, чему её обучили. Разница между первым и вторым местом естественная. Кубик отражает реальные статистические веса. Текст получается похожим на обычную человеческую речь - с предсказуемыми, но иногда слегка неожиданными поворотами.
Лучше всего для: обычного чата, деловых писем, новостей.
Модель сглаживает оценки: первое место уже ненамного выше второго, а сотый вариант получает заметный шанс. Кубик становится "расслабленным" - он может выбросить редкое слово, необычную конструкцию, даже неуклюжий, но свежий оборот. Текст получается творческим, иногда странным, иногда гениальным, иногда бредовым.
Лучше всего для: стихов, шуток, креативных идей.
Все варианты становятся почти равноправными. "Погода" и "крокодил" получают почти одинаковые шансы. Кубик выпадает практически случайно. Текст превращается в бессмысленный словесный шум - связные слова, но нелепые сочетания ("Сегодня хорошая крокодил на завтрак"). Полезно разве что для демонстрации того, как модель ломается.
Есть ещё более умные настройки, дополняющие температуру, но статья и так уже не маленькая, а это плохо.

Чтобы задать нейросети нужный "настрой" или стиль, используют два главных инструмента: ручки температуры (о которых мы говорили) и волшебные слова в начале диалога (промпты).
Представьте, что вы нанимаете актёра. Вы не просто говорите "говори", а даёте вводную о роли:
"Ты - научный популяризатор, который объясняет сложные вещи на пальцах. Ты не используешь формулы и термины, если без них можно обойтись. Ты любишь метафоры, примеры из жизни и немного юмора. Твой стиль - как у хорошего учителя или ведущего научно-популярного шоу."
В GPT это называется system prompt (системное сообщение). В других моделях - просто первое сообщение, которое задаёт контекст.
Что ещё можно прописать в настройку:
Это самый мощный способ изменить стиль, потому что модель начинает "вживаться" в роль.
Вот несколько самых интересных примеров того, на что способен системный промпт за пределами привычных сценариев:
Нейронка по умолчанию старается быть вежливой и соглашаться. Но промпт может превратить её в беспристрастного критика, задача которого - найти слабые места в вашем бизнес-плане или проекте, чтобы вы могли его улучшить.
Попросите нейросеть представить себя журналистом, который задаст вам каверзные вопросы. Это поможет вам заранее подготовиться к разговору с реальным экспертом.
В этом промпте каждое слово стихотворения должно строго соответствовать цифрам числа Пи (3,14,15…), где первое слово - из трёх букв, второе - из одной, третье - из четырёх и т.д.

А теперь можно вернуться к вопросу, существует ли ИИ на сегодняшний день? Но чтоб разобраться в данном вопросе, нужно в первую очередь понять, что такое ИИ.
Исходя из словосочетания, ИИ, это интеллект, но искусственный, а интеллект - это качество психики, состоящее из способности осознавать новые ситуации, способности к обучению и запоминанию на основе опыта, пониманию и применению абстрактных концепций, и использованию своих знаний для управления средой обитания человека.
Да, это сухое, весьма размытое определение, которое не даёт чёткого представления о том, что-же это такое. Если же посмотреть на то, с помощью чего он реализуется, всё становится на свои места: способности познавать, обучаться, мыслить логически, систематизировать информацию путём её анализа, определять её применимость, находить в ней связи, закономерности и отличия, ассоциировать её с подобной информацией, оценивать её достоверность, актуальность и многое другое...
И опять вернёмся непосредственно к вопросу, являются ли нейросети - искусственным интеллектом? На все 100% нет, и даже близко ничего общего с ним не имеют. По своей сути нейронки - поисковик, работающий на глюках.
У Лисёнка голова бобо. Тут хотел написать в рифму к первому предложению, но видимо ещё не совсем.
Всем спасибо за внимание, с вами был Lis - Silver Tail. Ссылка на первый пост об основах нейросетей ниже.(блин, это же ещё всё вычитывать...(здесь был смайлик))
Привет. Я продолжаю разрабатывать сервер для Lineage 2 C1 на JavaScript Проект
При добавлении SoulShot функционала не добавил проверку не только на наличие оружия, но и кто атакует — игрок или NPC. Как итог теперь все атакуют с помощью SoulShot.
Блог про разработку сервера для Lineage 2 в телеге https://t.me/lineage2js
Совиной почтой в магическом мире Гарри Поттера можно было слать письма, но не только — можно было послать и некоторые другие вещи. Можно было послать и разные предметы — например, Гарри получал таким образом подарки вроде набора по уходу за метлой от Гермионы.
Вот и в программировании один кусочек данных, значение, может быть не только текстом, но и целым числом, числом с дробной частью, логическим значением(«да» или «нет») и т.д.

Но вы можете обнаружить, что в некоторых языках сразу несколько типов данных для того же целого числа. Целое число может быть и int, и short, и byte, и long и т.д. Почему так?
Потому что числа бывают разных размеров и под некоторые числа хватает одной ячейки памяти(байт), для некоторых надо две, а для некоторых и 4! В каких-то языках программирования сам компьютер следит за тем, сколько байт выделяется для значения переменной. А где-то нужно указывать.
Совы в мире Гарри Поттера, похоже, могут тащить посылку любого размера и веса, но представим, что у них есть какие-то ограничения. Больше какого-то веса одна сова не может нести, и тогда подключаются другие совы.
Представим, что человек изначально прикидывает вес посылки и сколько сов потребуется, и заказывает нужное количество сов для доставки. Тогда тем и отличаются типы данных. Целое число типа byte — там один байт. int — два байта. long — 4 байта.
Если вернуться к совам, то byte это одна сова, небольшой вес, int — две совы, посылка потяжелее, long — 4 совы. Тяжёлая большая посылка.
Язык программирования нельзя выучить. Его можно только усвоить. К чему я это? К тому, что бесполезно что-то учить, бесполезно смотреть видео, если вы это не будете тут же использовать. Посмотрели видео о том, как решать какую-то задачу? Хотя бы перепишите код, потом поэкспериментируйте над ним, попробуйте поменять его и посмотреть, что будет. Попробуйте немного изменить задачу и переделать код, чтобы эту задачу он решал.
И каждая тема, которую вы выучили — чтобы усвоить, нужно довольно много практики. Многие новички утыкаются в стену и не могут продвинуться в изучении дальше не потому, что столкнулись с особо непонятной темой. Тема-то понятная, они просто предыдущие поняли недостаточно. И надо не биться головой в стену, а вернуться, больше пописать код по предыдущим темам, и потом возвращаться назад.
