Хорошая новость, коллеги.
При заказе летом 2026 года (т.е. сейчас и до конца августа) дарим купоны с бонусами от 10 до 20 % от суммы заказа трём вашим друзьям.
Летние бонусыХорошая новость, коллеги.
При заказе летом 2026 года (т.е. сейчас и до конца августа) дарим купоны с бонусами от 10 до 20 % от суммы заказа трём вашим друзьям.
Летние бонусыВ наш интернет магазин теперь можно зайти через телеграм-бот.
С 1 февраля 2025 года появился пока что предварительный, но уже достаточно полный стандарт от технического комитета по киберфизическим системам (да, и такой есть).
Сколько коллег ни спрашивал, многие не в теме. Да и я, можно сказать, почти что проморгал это движение.
Итак, стандарт. ПРИМС. «Программирование расширенных иерархических машин состояний».
Идея в том (насколько я понял после прочтения), что с помощью некоторого расширения нотации BPMN описывать физические, химические, да и просто производственные процессы. В целом и BPMN на это годен. Но чтобы избежать слишком широкой трактовки и задавать в индустрии стандарты на такие расширения — вот нам стандарт, каким образом выполнять работы по внедрению BPMN, чтобы ценности знаний переносились между предприятиями и системами, формируя область знаний.
Качественные внедрения ПРИМС дадут возможность снизить порог вхождения в программирование для людей из науки и инженерии, давая возможность участвовать в т.н. No-Code или Low-Code подходах. А это и роботизация, и возможность более широкого применения т.н. ИИ.
Итак, ещё раз. Новый стандарт на киберфизические системы от технического комитета ТК 194 «Киберфизические системы»:
«Программирование расширенных иерархических машин состояний»
И сразу ссылочка на документ. https://docs.cntd.ru/document/1310904414
Ну и, не проходите мимо, я с коллегами всегда поможем вам применить этот стандарт. https://ipshmykov.ru/ 🙂
Содержание других частей.
Это последний этап активного проектирования в ICONIX перед вехой поставки готовой системы. Седьмой этап называется рецензирование окончательного проекта. На этом этапе проверяется, что все ответы на вопрос «как», указанные в диаграммах последовательности и связанных диаграммах классов, которые делались на шестом этапе, связаны с ответами на вопрос «что» в модели прецедентов, которая могла претерпевать изменения на предыдущих этапах.
На этапе 7 в ходе рецензирования окончательного проекта проверяется, что проектирование отвечает стандартам предприятия. Проверяют порядок применения шаблонов проектирования и стандартных для данного предприятия фреймворков. На этом этапе работают исключительно проектировщики и разработчики.
Для всех прецедентов должны быть диаграммы последовательности, созданные на шестом этапе, для всех сценариев прецедентов, как главных, так и альтернативных. Все переходы на диаграммах последовательности должны представляться конкретными методами соответствующих классов. Соответственно и сигнатуры этих методов должны быть ясны, и структуры данных, передаваемые в качестве параметров методов также надо отразить на соответствующих диаграммах классов.
В силу применения шаблонов проектирования на текущем этапе также могут выделиться абстрактные структуры, делающие применение выбранных парадигм программирования более правильным. Если раньше у нас объекты должны были отражать существующие в реальности понятия, то сейчас мы можем себе позволить подойти к проектированию чисто с точки зрения программирования. Многие программисты и рассматривают проектирование как только лишь текущий этап. Но мы с вами видим, сколько работы надо проделать до того, чтобы проектирование связанное с исходным кодом программного обеспечения было привязано к требованиям.
Вот самые распространённые ошибки при рецензировании окончательного проекта.
Вот мы и завершили описание применения RUP/ICONIX на ваших проектах. Осталось лишь несколько ремарок.
Прошу рассматривать ICONIX как инструмент, решающий задачи на вашем проекте. Если задача простая и не требует проектирования, т.е. нет тех сложностей, ради которых надо выполнять вехи и этапы в них, то можно обойтись и поверхностными ответами на многие вопросы проектирования. Критерий применимости простой. Ценность проектирования должна быть выше затрат на работы. ICONIX даёт понимание о структуре работ, из которой должно быть примерно понятно, какие оценки трудозатрат надо учитывать в вашем конкретном случае.
Сам по себе RUP/ICONIX существует давно, и уже слышатся голоса, что «UML умер». Описание, данное в этом цикле статей, указывает лишь на способ ответа на вопрос «что» и привязке к ответам на вопрос «как» с выводом результатов на этап реализации (кодирования). В любом процессном фреймворке должны существовать ответы на эти вопросы с достаточным количеством связей, чтобы применять в работе. Соответственно спросите ваших «UML умер»альщиков, чем они способны заменить элементы ICONIX в своём понимании о процессе разработки, и как правило не услышите ничего особо вразумительного. В достаточно сложном проекте от того, что отказались от чего-то, необходимость в выполнении определённых ролей не отпадает, т.к. со сложностью всё равно надо что-то делать. Часто «UML умер»альщики это просто несостоявшиеся проектировщики, отрицающие инструмент, т.к. не освоили его, и считают, что и в проекте он не нужен. В этом случае либо задача простая, либо персонал проекта не соответствует поставленным задачам. На мой взгляд на данный момент хорошей альтернативы RUP/ICONIX и проектированию на UML/SysML в проектах средней сложности до 1 млн. строк кода или аналогам — не имеется, а то, что по сложности меньше порядка 100 тыс. строк кода — как правило в таком проектировании и не нуждается, т.к. мало сложностей, и соответственно ценность проектирования будет меньше затрат на него. В иных случаях затраты на проектирование вполне оправданы, и его отсутствие лишь удорожит разработку, т.к. не были применены нужные инструменты. Тоже часто встречающаяся ситуация, т.к. правильно проектировать ещё не научились, и точка зрения, что можно обойтись без проектирования, легко побеждает.
Поборникам Agile и процессных фреймворков на основе Scrum или аналогов также можно использовать ICONIX, т.к. в рамках итераций также можно выполнять работы из ICONIX и работать с его артефактами. Только итерации будут часто месячные, а не недельные. Если двигаетесь недельками, то либо задачи нетяжёлые, либо кто-то уже их качественно для вас поставил, и сложности не мешают формировать бэклог понятным образом без больших переделываний своей работы вновь и вновь. Если всё же переделываний много, то это как раз случай, когда не применяются все необходимые для проектирования инструменты, из-за чего стоимость разработки выше возможной. Высокую цену тоже можно себе позволить, если рынок этого требует. Но я слишком часто вижу, как рынком просто прикрывают свою некомпетентность. Слишком много «специалистов по рынку» развелось, чтобы просто проигнорировать их попытки поучаствовать в обсуждении важных вещей для проекта.
PS: те из вас, кто хотел бы создать или укрепить свою компетенцию аналитиков — пожалуйста обращайтесь. Для вас хорошо подойдут эти услуги: раз, два, три, четыре.
Содержание других частей.
Начинается новая веха ICONIX — окончательный проект. Веха предварительного проекта завершилась на этапе 5. На текущем этапе номер 6 наступает очередь детального проектирования. Откройте проект Sparx EA, в которым работали на предыдущих этапах, и добавьте модель для диаграмм последовательностей.

В новой модели для последовательностей решаются следующие задачи.
В ICONIX диаграммы последовательности это основной инструмент детального проектирования. Для каждого прецедента модели предметной области и соответственно каждой диаграмме пригодности (т.к. тоже создавались на каждый прецедент на этапе 4) в новой модели для диаграмм последовательности добавьте диаграмму, на которой изобразите основные последовательности и альтернативные последовательности прецедента. Диаграммы последовательности можно организовывать по-разному, но рекомендуется следующий порядок.
Рекомендуемый порядок, расписанный более подробно, при конструировании последовательности такой.
В ходе детальной проработки последовательностей допускают следующие ошибки.
Таким образом на этапе 6 все прецеденты у вас превратятся в детальные последовательности и добавятся детальные диаграммы классов с методами и детализированными связями. С этим уже будет удобно работать при оформлении детального окончательного проекта на следующем этапе, где вы уже чётко будете понимать, какие конкретно класссы с какими конкретно методами. Появятся мысли по корректной упаковке классов в пакеты соответственно применяемому фреймворку, выбранному для реализации.
PS: те из вас, кто хотел бы создать или укрепить свою компетенцию аналитиков — пожалуйста обращайтесь. Для вас хорошо подойдут эти услуги: раз, два, три, четыре.
Содержание других частей.
Пятый этап ICONIX рецензирует преварительный проект перед началом следующей вехи — окончательного проекта. На прошлом этапе в отдельной модели выполнялся анализ пригодности. Рецензирование предварительного проекта на этом этапе включает в себя проверку, что модель с диаграммами пригодности соответствует всем текстам прецедентов. Отдельно проверяют, что все сущностные объекты представлены в диаграмме пригодности и расписаны взаимодействия с ними. Откройте проект Sparx EA, с которым работали на предыдущих этапах.
На этом этапе рецензирования предварительного проекта проверяют по ходу потока данных от граничных объектов на диаграммах пригодности до сущностных объектов, что все данные, которые вводит пользователь, осядают либо в виде отдельных сущностных объектов, либо в их атрибутах (полях классов). Все экранные формы на прототипах должны соответствовать граничным объектам. Выделяют классы и добавляют в них поля, как правило приватные для обеспечения должной инкапсуляции. Иногда уже на этапе рецензирования предварительного проекта может выясниться, что забыли какие-то классы сущностей. Тогда и предыдущие этапы надо будет учесть, если такая сущность добавится.
Рецензирование предварительного проекта хорошо проводить с представителем заказчика, т.к. в ICONIX это последний этап перед тем, как заказчику на текущей итерации разрешено вносить изменения. В ходе рецензирования все участвующие лица должны выполнить следующее:
Таким образом поведение всех прецедннтов будет классифицировано при помощи преполагаемых управляющих объектов-контроллеров. Следует отдельно подчеркнуть, что контроллеры на этапе предварительного проекта не обязаны ещё присутствовать на диаграмме классов. Не все контроллеры будут инкапсулировать взаимодействие граничных объектов и сущностных, т.к. часть такого взаимодействия будет простой и не достойной на отдельного класса. Принимать решение, какие методы должны войти в граничные и сущностные объекты, а также о том, какие контроллеры станут настоящими управляющими объектами мы не можем на этом этапе, т.к. не обладаем достаточной информацией об этом. Мы можем на этом этапе выбрать фреймворки и библиотеки для реализации, и многое из сказанного будет уже напрашиваться. Но бежать впереди процесса не стоит, чтобы лишний раз не переделывать работу. Это делается на этапе работы с диаграммами последовательности, т.е. на следующем этапе.
На текущем этапе рецензирования хорошо проверяется единый стиль написания прецедентов и их сценариев, если текстовки писались несколькими людьми.
Стоит отметить, что стрелки на диаграммах пригодности напрямую не означают сообщения, отправляемые и получаемые объектами. Это коммуникативные ассоциации, которые на следующем этапе как раз превратятся в сообщения и методы. Рецензирование предварительного проекта обязательно должно пройти через архитектора программного обеспечения и системного архитектора, т.к. выбранные на этом этапе фреймворки должны перекликаться с диаграммами пригодности.
Этап рецензирования предварительного проекта это конечный пункт перед работой над окончательным проектом. Вот распространённые ошибки на этапе рецензирования предварительного проекта.
Таким образом на этапе предварительного проекта вы проходите с заказчиком на детальный окончательный проект — следующую веху, где поведение системы в проекте нельзя менять. Это будет слишком дорого.
PS: те из вас, кто хотел бы создать или укрепить свою компетенцию аналитиков — пожалуйста обращайтесь. Для вас хорошо подойдут эти услуги: раз, два, три, четыре.
Содержание других частей.
Этап 4 начинает вторую веху проектирования после первой вехи, где подготовили требования. Вторая веха называется «предварительный проект». И начинается он — с анализа пригодности, 4-го этапа проектирования.
В проект Sparx EA, где работали на предыдущих этапах, добавьте модель для ведения анализа пригодности. Sparx EA называет её моделью с диаграммами коммуникации, а мы будем это называть как полагается в ICONIX — анализом пригодности.

Модель для проведения анализа пригодности в рамках вехи предварительного проекта связывает статическую модель предметной области и динамическую модель прецедентов. Анализ пригодности отвечает на вопрос — какие объекты из модели предметной области нужны для каждого прецедента. Ранее, создавая матрицу отношений модели предметной области и модели прецедентов мы поверхностно отвечали на этот вопрос, но лишь для того, чтобы проверить себя, не забыли ли что в каждой из моделей.
Диаграммы пригодности — это по существу диаграммы классов UML, но с проставленными стереотипами классов. Классы классифицируются по 3 видам:

Анализ пригодности служит звеном, позволяющим переходить от вопросов «что» к вопросам «как». В вехе предварительного проектирования ICONIX уже начинают задумываться о возможных альтернативных стратегиях реализации и архитектурах, выбор которых зависит от применяемых технологий. Выбор ещё не осуществлён, но анализ пригодности сужает поиск и подсказывает с выбором. В ходе анализа пригодности мы в прецедентах уже имеем описания сценариев, изложенных с учётом требований заказчика. В ходе анализа пригодности уточняются и тексты прецедентов, и модель предметой области. Классификация объектов на граничные, сущностные и управляющие может заставить добавить недостающие классы. Анализ пригодности связывает объекты, но уже накладывает ограничения на связи. Далее это сильно поможет при проектировании последовательностей в окончательном проекте.
Для каждого прецедента в модели пригодности создайте отдельную диаграмму. Диаграмма пригодности должна показать какие объекты как взаимодействуют, чтобы реализовать сценарии прецедента. На диаграммах пригодности размещают актёров, которые в модели прецедентов размещались на диаграммах вариантов использования и взаимодействуют с анализируемым прецедентом. На диаграммах пригодности размещают прецеденты, с которыми взаимодействует анализируемый прецедент. Связи на диаграммах пригодности являются направленными и означают, что один объект обращается к другому. Если есть 2 связи в обе стороны, то вместо них можно создать одну двунаправленную. Для диаграммы пригодности есть 4 правила.
Граничные и сущностные объекты надо называть существительными, а контроллеры — глаголами. Таким образом правила легче запомнить как «существительные не общаются с сущетвительными напрямую, только через глаголы».

В результате анализа пригодности могут подвергнуться серъёзным уточнениям модели первой вехи: модели предметной области (выявятся новые сущности, старые сущности притерпят изменения), модели прецедентов (сценарии перепишутся, т.к. для реализации некоторых более выгодны будут другие глаголы и сущетвительные; часть прецедентов будет дисквалифицирована, поделена или объединена), и как следствие модель требований также потребует изменений, что может повлиять на согласования, проведённые на этапе рецензии требований. Но если на этапе анализа пригодности поменялись требования, то повторно утверждать их на этом этапе не надо — надо подождать окончательного проекта (т.е. позже).
В ходе анализа пригодности часто совершают следующие ошибки.
Выполняйте анализ пригодности качественно, чтобы на следующем этапе при анализе операций не выполнять слишком много правок.
PS: те из вас, кто хотел бы создать или укрепить свою компетенцию аналитиков — пожалуйста обращайтесь. Для вас хорошо подойдут эти услуги: раз, два, три, четыре.
Содержание других частей.
Третьим этапом завершается первая веха проектирования — рецензирование требований. В ICONIX этих вех всего 4
При описании этапов вехи намеренно пропущены, чтобы не загромождать повествование. Третьим (текущим) этапом завершается первая веха.
Задача этого этапа — выяснить и явно зафиксировать, что модель предметной области и модель прецедентов соответствует всем требованиям заказчика. В проект Sparx EA, где на прошлых этапах мы добавили модель предметной области и модель прецедентов, добавьте модель требований.

В модели требований необходимо решить несколько задач.
Каждый элемент (1) структуры (2) трассируйте на элементы предметной области и элементы прецедентов. Должно получиться 2 новые матрицы, где нет пробелов по строкам и столбцам. Спецификация требований должна выгружаться в документ (4) и быть хорошо читаемым заказчиком. Вообще, заказчик может вообще не знать, что вы применяете ICONIX в работе. Но каждый элемент требований желательно делать самостоятельным, ёмким и атомарным.
Когда будете трассировать элементы модели требований на элементы модели прецедентов — выполняйте грамматический анализ текстов прецедентов (названий и связанных с ними словесных описаний сцераниев). Рекомендуется использовать действительный залог (активный), а не страдательный (пассивный) для формулировки действий пользователя.
В ходе этого этапа избегайте следующих ошибок.
Названия «этап», «веха» могут оттолкнуть от методологии ICONIX. Но несмотря на названия вы не обязаны выполнять эти этапы и вехи длительное время затрачивая большие ресурсы. Как раз ICONIX позволит выполнить работу качественнее и быстрее, делая проектирование инструментом, уменьшающим риски на ранних этапах проекта.
PS: те из вас, кто хотел бы создать или укрепить свою компетенцию аналитиков — пожалуйста обращайтесь. Для вас хорошо подойдут эти услуги: раз, два, три, четыре.
Содержание других частей.
Вторым этапом ICONIX является моделирование прецедентов. В существующий проект с моделями Sparx EA, в котором работали на первом этапе , надо добавить модель прецедентов.

Работа системы зависит от того, как к ней обращаются и что хотят добиться. В моделировании прецедентов двигаются снаружи внутрь: рассматривают внешних по отношению к системе актёров и те действия, которые эти актёры производят с системой. Подчеркну, что на прошлом этапе при создании модели предметной области движение было изнутри наружу: определяли ключевые объекты внутри системы и их отношения с объектами, с которыми они взаимодействуют. Начали мы с модели предметной области, со статической части, для того, чтобы в контексте этой статической части работать с динамической частью — с моделью прецедентов. При этом обновляться и уточняться при моделировании прецедентов могут обе модели если обнаружится, что забыли какие-то моменты.
Важно на этапе моделирования прецедентов начинать представлять границу нашей системы, для которой проектируется программное обеспечение. Актёры не являются частью нашей системы. Это могут быть как люди, так и системы, с которыми взаимодействует наша.
Продумайте, какие имеются актёры, внешние по отношению к проектируемой системе, взаимодействующие с ней. В модели прецедентов создайте диаграмму прецедентов, добавьте туда своих актёров и связанные с ними прецеденты. Старайтесь называть прецеденты 1-2 словами, точно и емко. Подробные словесные описания в Sparx EA можно составлять при помощи описания словесных сценариев, связанных с этими прецедентами.
Подобно элементам модели предметной области, элементы модели прецедентов также надо делать с одной стороны ёмкими, а с другой повторно используемыми, атомарными. Некоторые варианты использования вашей системы могут повторно пригодиться при работе с несколькими разными актёрами. Переходы в один и тот же прецедент возможен из разных других прецедентов, и т.д.. Таким образом у вас образуется структура прецедентов, объединённая в модель. У каждого прецедента в модели будет словесное описание в виде сценария. Сценарии очень похожи на пользовательские требования. Если от заказчика у вас имеются материалы, содержащие такие требования — их как раз нужно структурировать при моделировании прецедентов.
Главный принцип при выявлении прецедентов — их тесная связь с будущим руководством пользователя. Связь каждого прецедента и соответствующим разделом будущего руководства должна быть очевидной. Модель прецедентов это та часть проекта системы, которая базируется на восприятии её пользователями. Таким образом если в проекте системы на этом этапе есть прототипы пользовательских интерфейсов, например в Figma, то это будет большим подспорьем. На этом этапе аналитик и дизайнер максимально продуктивны в проектировании как внешнего вида, так и поведения будущей системы и её программного обеспечения.
Сценарии в основе словесного описания прецедентов должны состоять из утверждений по форме «существительное-глагол-существительное». Вы уже наверняка догадались, что эти существительные — это классы модели предметной области, а глаголы это связи между ними. Если в ходе описания прецедентов появляются существительные, не описываемые какими-либо классами модели предметной области — уточняйте эту модель, внося туда классы и корректируя существующие. Со связями аналогично.
Когда описываете сценарии для прецедентов, учитывайте не только основные последовательности, но и альтернативные, связанные как правило с разными нештатными ситуациями и ошибками. При моделировании прецедентов учитывают не только то, что происходит при нормальной работе системы, но и все возможные ошибки и соответствующую реакцию системы на них.
В модели прецедентов таким образом наберётся существенное количество прецедентов и связей между ними. То, каким образом можно корректно их связывать между собой через отношения включения или расширения UML — решать вам. Но выбрав один раз способ построения связей — не путайте этот способ с другими, например со связями типа вызова и предшествования, которые тоже будут в меню выбора типов связей. Далее прецеденты нужно будет объединить в пакеты, чтобы облегчить себе работу с ними. Хорошим кандидатом на помещение очередного прецедента в пакет с другими прецедентами будет прецедент, сильно связанный с остальными прецедентами из этого пакета.
Не стремитесь изобразить все прецеденты на одной диаграмме. Если система достаточно сложная, то различные её грани вариантов использования удобно располагать на различных диаграммах прецедентов. В идеале, каждый пакет прецедентов соответствует главе или разделу будущего руководства пользователя.
Для того, чтобы проверять взаимное соответствие модели предметной области и модели прецедентов, в Sparx EA есть инструмент под названием «матрица отношений», на которой можно просталвять связи между элементами как одной модели, так и элементами разных моделей. Таким образом матрица соответствия модели предметной области и модели прецедентов со связями типа «реализует» должна быть без пробелов по строкам и столбцам.
Переходить к следующему этапу проектирования следует только после того, как будут достигнуты цели модели прецедентов:
Вот распространённые ошибки в моделировании прецедентов.
PS: те из вас, кто хотел бы создать или укрепить свою компетенцию аналитиков — пожалуйста обращайтесь. Для вас хорошо подойдут эти услуги: раз, два, три, четыре.
В этой статье предложу метод фильтрации полезной информации про ныне модные темы искусственного интеллекта и нейронных сетей. Аудиторией статьи считаю людей с образованием, достаточным для понимания пары формул. Должен признать, что без такового люди очень внушаемы, и никакие слова их не уберегут от недобросовестных предложений на «рынке ИИ». Постараюсь быть кратким. Начало — страшное душнилово, но необходимое для слитного повествования. Если хотите, читайте с фразы «но если есть классические численные методы, то зачем все эти нейронки».
Давайте мысленно представим себя на месте проектировщика, когда на основе дискретного набора данных вам надо вывести решение, либо представить набор таких решений (класс решений с регуляризацией), если задача некорректная. В случае некорректной задачи далее выбирают из класса решений наиболее подходящее по какой-либо метрике.
Простой пример. Пусть надо создать софт, который по входному набору картинок сгенерирует видеоролик с сюжетами из них. Массив файлов изображений будет входным набором данных. Т.к. для данного набора картинок существует бесконечное множество роликов, подходящих под сюжеты в них, то автор такого софта некоторые параметры, влияющие на решение, выведет в настройки, с которыми даст играться пользователям (а что-то намеренно не выведет). Эти настройки и будут задавать регуляризацию этой некорректной задачи, чтобы получить единственное решение.
Для того, чтобы не душить и не копипастить тематику — ускорюсь. Подобные задачи, как в примере выше, сводятся к задачам на применение численных методов вычисления приближений к функциям и их классам. Тогда входные данные из примера трактуются как измерения значений исследуемой функции, которую надо приближенно вычислить. Приведу сразу ссылку для ознакомления. Важную роль тут играют несколько моментов. Первое — достаточно ли данных, чтобы точно приблизить своё решение, и если недостаточно, то до каких пор и каким образом добывать новые данные, чтобы всё-таки получить решение.
Для читателя, который не погружался в тематику нейронных сетей, полезно ознакомиться с их обзором. Не фундаментальный труд, но для первого раза достаточно.
Таким образом применение нейронных сетей также входит в вышеобозначенную постановку. Это тоже численный метод. Нейронку надо обучить, чтобы с помощью неё получить решение или некоторый их класс. Точное. Решение. Т.е. численный метод на основе нейронной сети должен сходиться. Увеличение количества данных, скармливаемое сети, должно приводить к уточнению решения, не уводя в сторону. Иначе это не работа профессионала, а гадание на кофейной гуще без гарантии на получение результата. Все речевые и языковые модели Open AI ChatGPT и аналоги в заметной своей части (да, это не целиком нейронные сети) это обученные заранее нейронные сети, которые на прямом прогоне выдают решения или их классы с возможностью выбрать для себя во фронтенде.
В вышеобозначенной постановке для получения точного решения для массива данных с элементами размерности N согласно теореме Колмогорова-Арнольда необходима лишь полносвязная двухслойная нейронная сеть с 2N+1 нейронами на каждом слое. Теорема Цыбенко даже уменьшает оценку. Только процесс обучения таких сетей будет неоптимально долгим. Для получения обученной нейронки, являющейся по сути решением некоего нужного класса задач, надо уметь её обучать. Т.е. покрыть множество предполагаемых решений примерами, и настроить свободные параметры сети. Но не перенастроить, чтобы не переучить (чтобы для некорректных задач получать не слишком узкие и тем самым неточные классы решений). При этом набор данных надо правильно делить на тот, которым обучаем и тот, на котором проверяем обученность. Это вообще большая область, иногда называется «глубокое обучение».
Но если есть классические численные методы, то зачем все эти нейронки. Обучать ещё их зачем-то. Для сложных задач объём необходимых данных для получения решения может оказаться неподъёмным. Количество степеней свободы у сложных задач велико, и для получения решения непонятно, где ещё подмерить, какие данные ещё получить, чтобы заметно улучшить решение по ходу его получения. Это ключевое. Здесь и нужны нейронки, которые обучены получать класс решений, и дальше по входным данным они ещё немного могут доуточниться, чтобы сойтись к решению по выбору пользователя. Именно поэтому им надо быть обученными это раз, но не переобученными это два.
Поэтому в задачах, где вы можете всегда получить достаточный массив данных измерений (примеров, если угодно) и заранее знать, что точное решение получается понятным образом увеличивая этот объём данных (например делая его более плотным), то в этом случае никакие нейронки не нужны. Точка.
Теперь про ИИ. Нейронки сами по себе никаким ИИ не являются. Это просто градиентные численные методы. Не надо покупаться на болтовню, что если у нас решение постепенно приближается к искомому, то это вследствие некоего интеллекта. Нет, не следствие. Так любой градиентный метод работает. И нейронки это тоже они (тут чтобы быстро найти примеры надо чуть уметь искать, поэтому раз и два, для начала). Поэтому не давайте запудрить себе мозги тем, как нейронки к чему-то там подстраиваются. И не захватят они мир. Как не захватит мир растянутая резинка, стремящаяся вернуться в исходное положение.
Ещё про ИИ. В конструктивном плане (а не в философском для поговорить) ИИ это рациональный агент, см. обстоятельное введение Норвига и Рассела, ну или хотя бы это. ИИ существует. Например современные боевые роботы в известной своей части это ИИ. Хорошие роботы пылесосы тоже. Будущие автономные такси тоже. Но всегда эти рациональные агенты снабжены моделью, за пределами которой действия бессмысленны, и поэтому с энергетической точки зрения ничем не обусловлены. Подробный экскурс в ИИ как рациональный агент м.б. предметом следующей статьи. Поэтому закругляюсь и подхожу к выводу.
Читая очередной опус про чудеса ИИ пожалуйста проверяйте себя на необходимые и достаточные причины применимости ИИ или нейронки (ещё раз — нейронка это НЕ ИИ) в решении задачи. Не позволяйте очередным имитаторам запудрить себе мозги своей гуманитарной постановкой проблемы. Старайтесь дойти до формального описания задачи, чтобы уже после этого выбрать наиболее подходящий метод её решения.