Выпуск 1
ОДЛК и проект RakeSearch с Эдуардом Ватутиным
Эдуард Ватутин отвечает на вопросы Василя Закиева и рассказывает о том, как он пришел к изучению ОДЛК, почему для изучения используются гриды. Что сейчас изучается в сфере латинских квадратов и каковы планы дальнейших исследован
Гость выпуска Эдуард Ватутин – доктор технических наук, доцент кафедры вычислительной техники ЮЗГУ, Курск, Россия.

Транскрибация

Итак, добрый день, меня зовут Василий Закеев, я сегодня разговариваю с Эдуардом Батутиным и пытаюсь разобраться в том, что такое ортогональные, диагональные латинские квадраты, подробнее и про то, чем занимается Эдуард с точки зрения использования распределенных вычислений для того, чтобы продвигать математику дальше. Эдуард, добрый день. Да, добрый день, Василий. Спасибо, что согласились побеседовать. Как бы, я так понимаю, тема интересна и вам, и мне, и многим другим людям, которые принимают участие в проекте. Вот, давайте, как бы, немножко сначала я издалека начну, да, как бы. Значит, я сам, в принципе, учился, да, и сейчас работаю уже довольно давно на кафедре Участия Техники нашего Пускового Государственного Технического Университета, в прошлом теперь называется Юго-Западный Госуниверситет. Вот, то есть, в принципе, я преподаю такие вещи, как программирование, схемотехника, параллельное программирование. То есть, в принципе, все эти вещи мне не без интереса. Это все так или иначе было связано с комбинаторикой. Программирование, комбинаторика, всякие там переборы, потом уже позже появились эвристики, вот. Ну, а, что называется, как бы, туда, как обычно говорится, на ловца и зверь бежит. То есть, там дальше уже начали появляться какие-то практические задачки. Одной из них это вот как раз были квадраты. Вот, я за эту тематику, в принципе, как бы взялся, ну, совершенно случайно. Значит, в Петрозаводске, там есть у них хороший коллектив. Там они организовывали конференцию, которая называлась BoeingFast. И на этой конференции так получилось, что мы там втроем жили вместе. Вот Олег Заикин, который, да, в принципе, сад отдал, проект, в принципе, как бы, да, основной его, где он известен в наших кругах. Ну, и был Алексей Журавлев, который, опять-таки, тоже один раз приезжал, как бы там какое-то время занимался. Ну, и получилось, что я с ними жил. Ну, и, как бы, значит, они, получилось так, что один из вечеров, как раз, Олег уже тогда занимался квадратами. Вот, ну, а Алексей там предложил тоже одну интересную вещь, которую потом, после уже, когда я подключился, мы использовали в своей работе. Вот, ну, и, значит, как бы они очень интересно обсуждали. Эти вещи я так, как бы, не участвовал, ну, где мог, там, пять копеек ставить, обставлял. Вот, но мне стало интересно. Вот, ну, и потом, значит, опять-таки, я ехал обратно в Курск в поезде. Я думал, дай-ка я попробую сесть и набросать какие-то эвристики, вот, для решения задач квадратов. Просто мне было, как бы, интересно, и до сих пор интересно, как проявляют себя разные эвристические методы в разных задачах. Как бы это тоже отдельная большая тема, которая немножко пересекается с квадратами. Эдуард, оперируй на секунду, а что такое эвристика? Какой это раздел математики? Математика, есть, видимо, комбинаторика, и есть часть комбинаторики эвристика. Да, это дискретная математика, то есть там, где мы оперируем, ну, вот, да, какими-то объектами, которые имеют дискретную природу. Графы, там, множество, где, то есть, как бы, там, полтора, там, а где семь, быть не может. То есть, там, или один, или два, там, да, или три. Есть, опять-таки, в комбинаторике раздел, который называется по-английски enumerative combinatorics, где мы что-то перечисляем, то есть считаем какие-то объекты. Ну, и там обычно, как ставится задачка. То есть, у нас есть, ну, не знаю, там, допустим, латинский квадрат, скажем, у него есть размер, там, да, или порядок, да, задачи. Ну, и мы считаем, сколько этих объектов для размера один, там, размера два, три, четыре, пять. То есть, для каждого случая мы получаем некоторое число. Это как раз перечисление, да, enumeration по-английски. Далее число образует некий ряд числовой, да, как бы, есть специально. Тоже мы об этом поговорим, придем к этому, то есть, да, энциклопедии, как бы, там эти ряды коррекционируются. Вот, с какой-то размеростью у нас наступает так званый комбинаторный взрыв. То есть, как бы, ситуация довольно известная, когда, ну, уже, как бы, мы не можем посчитать эти объекты, потому что их становится очень много. То есть, комбинаторика, это, наверное, от слова комбинации, да, и комбинаций становится настолько много, что их просто так уже не посчитаешь простым пересчетом. Тут, значит, нужно делать две вещи. Первое, пытаться как-то код оптимизировать. Вот мы в квадратах, в принципе, этим тоже занимались с самого начала, как бы, ну, и как бы сейчас тоже самое. Любой новый алгоритм, как бы, да, он сначала реализуется, отлаживается, потом оптимизируется. Второе, это распараллеливание, то есть, по до что-то. Вот какой-то класс врачебных систем. То есть, там какие-нибудь ПЛИСы, там видеокарты, многодневные процессоры, кластеры, там, суперкомпьютеры, гриды. Ну, а третье, как бы, когда уже мы и так не можем решить, то есть, мы, значит, применяем эвристики. То есть, есть специальный класс методов, называемых эвристическими, который не гарантирует получение оптимальных решений, то есть, самых лучших, да, вот, но обеспечивает получение неплохих решений. Самый простой пример вот эвристического метода, прям, самый-самый простой, одноклеточный. Карта, там, да, GPS-навигация по строению маршрута. Есть, ну, математически более сложная поставка, например, скажем, есть по-английски, называется Vehicle Routing Problem. То есть, там задача такая. То есть, например, допустим, есть какой-нибудь склад, вот, и есть какая-нибудь машинка, да, которая некие товары должна развести, там, по каким-то точкам. То есть, она не может себя забрать, там, да, ей не хватает, там, вместимости. Все разом она сколько-то набирает, по точкам развозит, возвращается, берет еще, тоже разводит, возвращается. И вот, значит, надо построить, собственно говоря, план этих перевозок. То есть, когда куда ехать, чтобы было кратчайшее расстояние, когда чего брать. Эвристика, получается, помогает не перебирать все возможные варианты, чтобы найти лучший, а при помощи какого-то хака сделать так, чтобы найти good enough, достаточно хорошее решение. Да, допустим, оно будет на 5% хуже оптимума. Опять-таки, где-то мы эти 5% можем оценить, где-то мы не можем оценить, когда оно называется квази-оптимальное или субоптимальное. Но мы говорим, что оно лучше, чем все остальные. Оно, в принципе, неплохое, но для практики этого бывает достаточно. Есть отдельный класс методов, именуемых эвристически. У меня книжка по этому делу все время выходила, потому что на русском языке литературы довольно мало. Она есть, но такая она, кусками, она вот разбросанная. Значит, я приехал в Курск, думаю, дай-ка я набросаю статью по этому делу, что получилось, а что не получилось. На самом деле, получилось не все, как я хотел. Пример был такой, как я и предполагал, что далеко не везде известный метод муравейной колонии работает хорошо. И, собственно говоря, я показал ребятам, они говорят, давай публиковать. Мы публиковали в нашем журнале. И с тех пор, собственно говоря, я занимался квадратами. Тема зацепилась, да? Мы набросали статью, и там показали, что для получения квадрата, там мы взяли 4 метода, случайный перебор, плинтус в нашем случае, хуже этого плинтуса, но ничего не получилось. Взяли полный перебор, который не все квадраты может давать, у нас для больших размеров времени не хватит просто разумного. Ну и, собственно говоря, взяли его 2 модификации, это взвешивание на перебор и муравейную колонию. Померили темп получения квадратов, сделали статью. Вот, собственно говоря, это была первая ласточка. Я только взялся, я не знал специфики именно этой задачи. Оказалось, что она имеет очень такую интересную специфику. Это мы уже позже поняли. Оказалось, что темп составляет примерно около 2 минут на 1 квадрат. В первом случае это доли квадратов в секунду. Дальше оказалось, что надо оптимизировать. Нам удалось за примерно год работы наскоками вот этот темп увеличить на 8 порядков. Это 100 миллионов раз. Это, я считаю, часть везения, я не думал, что так получится. Это как раз за счет применения эвристических методов. Это все в совокупности. Это цепляет еще один семестровой курс, который я читаю в основном в кафедре. Это основа оптимизации программных средств, которые потом переходят в параллельное программирование. Если коротко, то есть 3 уровня оптимизации. Высокоуровневая, алгоритмическая и микроархитектурная. Вот здесь мы только до третьей не добрались, а так первые 2 уровня мы сделали. Всякая динамическая память была убрана, была убрана рекурсия в явном виде. В итоге мы пришли к очень интересной идее. Программистам, возможно, будет более интересно. Классическая рекурсия это когда у нас есть функция, она вызывает саму себя с другими параметрами. Это вещь такая нормальная, но не всегда быстрая. А тут у нас был Алексей. Первая его интересная идея была. Он придумал эту штуку развернуть в кучу вложенных циклов форм. Если мы берем квадрат порядка 10 до 100 ячеек, это будет 100 циклов. Так, конечно, писать это, ну не знаю, большим оригиналом. Мне идея сразу не понравилась. Я, конечно, мазу чуть не стал. Но когда я начал пробовать мерить темп, оказалось, что у него в этой громоздкой реализации темп получался выше. Что бы я ни делал, у него получалось лучше. Но я решил эту идею взять на заметку. Я руками писать не стал. Я сделал программу, которая формировала другую программу, и ту уже запускал. Так я его, в принципе, обогнал. Ну, а потом началась чудеса. Оказалось, что можно менять порядок следований ячеек. Это сильно влияет на темп. Потом на работе подключился Степан Кочемазов, тоже из Иркутска. Он предложил специальные битовые операции, которые позволяют ифы убрать из кода. Это такая штука, которая сбрасывает к конвейеру процессора, то есть мы код замедляем примерно на порядок. Мы совместными усилиями сделали реализацию, которая получила темп рекордный для десятки размерностей 6,6 миллионов в секунду. То есть начинали мы с 0,0,1 примерно, а закончили мы на 6,6 миллионов. То есть 8 порядка. Это просто однопоточная реализация. Ну, а далее мы попробовали, а что бы нам не посчитать DLK порядка 9. Я к этому делу привык. Возможно, кому-то будет непривычно. Это же не 9 цифр на 9 цифр квадрат? 9 на 9, так и есть. Ну и в итоге они с Олегом считали у себя в Иркутске, у них есть там кластер, а я считал в Генагриде, в Герасиме. Ну и в принципе примерно за 3 месяца мы уложились. Сделали совместную статью, которая вышла в неплохом журнале. Это называется Journal of Integer Sequences. В принципе, его автор как раз Уейса, Нил Слоун. Такая довольно неплохая публикация получилась. Вот как бы это была первая ласточка. Далее мы попробовали набраться наглости и добавить эту штуковину в ОЕС. Значит, ОЕС это такая в энциклопедии, которая в себе включает разные числовые ряды. Дискретная математика. Это уже ближе к другому разделу, к теории чисел. Тут я глубоко туда сам не лезу. Я знаю, что этот раздел существует. Я не глубокий специалист, но там есть пересечения. Мы добавили туда числовой ряд. Это уже я занимался этим. У нас его взяли. Я был удивлен, что так довольно просто это все прошло. Далее это открыло сферу для исследования, потому что я думал, что здесь все известно в этой тематике. Когда я начал потихонечку глубже погружаться и смотреть, я понял, что тут далеко не все известно и далеко не все посчитано, тем более дополнительно в ОЕС. Тут скорее даже наоборот. Из того, чем я занимался, буквально 2 или 3 ряда оказались посчитанными. Или совпали с другими передачами известными. А остальные, у нас сейчас их около 60 посчитано всего, они оказались томными. Я их считаю, добавляю туда. Это тоже довольно большая задачка. То есть вы перебираете разные варианты этих диагональных латинских квадратов, находите те из них, в которых какие-то интересные свойства выполняются и добавляете международную базу данных подобных квадратов, чтобы потом математики могли этим пользоваться. Даже не только квадраты, это база в целом по номеротипу комбинаторий, теории чисел, делители чисел, она такая довольно большая. В ней сейчас по-моему 350 тысяч рядов с небольшим хвостиком. То есть она огромная. Там есть ряды, когда просто мы считаем какой-то тип. Просто диагональные квадраты. Нормализованные квадраты, циклические квадраты, симметричные квадраты. Есть ряды, когда мы считаем какую-то числовую характеристику по ним. Например, страшные слова, которые всех пугают. Что такое, например, трансверсали или интеркаляты в этих квадратах. Ну и сейчас последний эксперимент это с спектрами. Когда мы строим множество значений, которые в принципе эта характеристика может принимать. Тоже там есть небольшие особенности в этих спектрах, которые были выявлены, довольно интересно. Тема большая, этим заниматься еще нет. В итоге получилось как? Когда я начал заниматься, я думал, два-три годика я все посчитаю и все будет хорошо. Прошло уже, наверное, лет пять с хвостиком. Я думаю, мне еще лет пять. Надо бы я сейчас точно всю тему закрою по квадратам. Ниточку потянул, на ней что-нибудь еще интересное появилось. Некоторые вещи я для себя узнаю. Например, я знаю, что квадраты очень тесно связаны с теорией групп. Это довольно интересная математика, сложная математика. Это и изоморфизм графов, тоже такая задача весьма интересная, которая связана. Это, как ни странно, физика элементарных частиц. Тоже она имеет связь с некоторыми группами. То есть математика — это единый язык, в том числе и квадраты.
Настало ли время рассказать, что такое диагональные латинские квадраты, почему они ортогональны и что там считать? По определению квадрата такая таблица квадратная размером n на n символов, n меняться может Называется оно порядком квадрат или размерностью задачи Мы имеем какое-то множество объектов, обычно называются алфавитом, есть тоже из n объектов Это могут быть цифры, какие-то предметы, греческие буквы или латинские Например, Эллер делал греческие или латинские буквы Поэтому то, что мы называем ортогональными квадратами, это пара, и у него это называется греч-латинская квадрата Это просто элемент терминологии И нужно заполнить таблицу этими числами по определенным правилам Правила здесь довольно простые У нас не допускается дублирование значений в строках и в столбцах квадрата То есть, скажем, первая строка, обычно мы берем с нуля, 2-1 То есть будет 0, 1, 2, 3, 4, например, до 9, для порядка 10 Эта вещь весьма непростая, потому что можно взять и попробовать руками на бумажке Это не так просто То есть, для порядка 6 уже с нахрапу это сделать не получится А сколько вообще возможных комбинаций того, как могут разместиться числа от 1 до 10 в квадрате 6х6, например, от 0 до 9? Эта вещь сегодня неизвестна точно Но по порядку цифр есть оценки, это примерно где-то в районе 10-18 степеней Плюс-минус То есть огромное количество комбинаций Самое большое, потому что непонимание, почему вообще приходится применять такое большое количество компьютерной мощности для того, чтобы считать диагональные латинские квадраты Потому что 6х6, 36, казалось бы, немного вариантов Есть такая классическая вещь, как перестановки в комбинаторике Берем сколько-то людей и ставим их, чтобы сфотографироваться С какими порядками мы можем встать? Это, например, задача на практике Другой пример Есть задача, известная, о ладьях То есть мы имеем шахматную доску размером n на n клеток, имеем n ладей С какими способами можно расставить ладей на доске? И там, и там будет это факториал То есть огромное число То есть на доске размером 8х8 будет 8 факториал И вот среди этого огромного количества возможных вариантов ищутся интересные Да Например, если мы говорим про числовые характеристики Мы выбираем какое-то число, например, диагональ трансверсали И мы ищем квадрат, у которого минимальное, у которого максимальное количество Вот мы из них выбираем из большого-большого числа два нужных нам Если мы строим спектр, то мы выбираем по одному квадрату, который дает какое-то уникальное значение То есть 66, 67, 70, 100 и так далее Если квадрат диагональный, то у него еще есть дополнительное ограничение, что у него есть две диагонали Главная и побочная Они могут пересекаться в центре для нечетного порядка Вот на них тоже не допускается пересечение значений То есть должны быть по одной диагонали, по другой все разные Только две диагонали или все диагонали должны быть разные? Две То, что вы говорите все, это называется не диагонали, а ломаные диагонали Такие квадраты тоже есть на специальный тип, они называются пандиагональные То есть тоже они есть, исследуются, они не везде известны Если коротко говорить, то они называются циклические квадраты Когда мы берем первую строку и далее строки следующие получаем первым путем циклического сдвига До порядка 11 и меньше все квадраты пандиагональные, они все циклические А вот начиная с порядка 13 и выше, там появляются те, которые не циклические И вот как их получить все, довольно большой вопрос Потому что мы получили небольшую часть, скажем так Там есть некоторые алгоритмы, довольно несложные, которые позволяют получить Но это не все квадраты По всем есть очень старая статья, по-моему, 83-го года, если я правильно помню Там авторы как-то их все получили Но как они их получили, вопрос для меня пока открыт Потому что это довольно тяжелая статья в плане математики, обозначения, описания Там так быстро не сделать Надо садиться, читать, разбираться Но вот довольно старенькие Видимо, что не требуется больших вычислений, требуется глубокая математика Когда с этим разберемся, может быть или у меня, или у кого-то из учеников Попытаемся их пандиагональные вытащить Из них интересно выстраиваются некоторые спектры То, что не получается другого типа квадратов У них есть вполне такая плюная ниша наших исследований То есть латинский квадрат не повторяется в строках в столбцах Диагональный латинский квадрат дополнительно не повторяется в двух диагоналях И ортогональный? Тут немножко сложнее Это на самом деле пара квадратов, это не один квадрат Мы выписываем все элементы Так как факториала нам не хватило, мы решили еще и квадрат все это возвести Чтобы нам пришлось пары искать Факториал это такая верхняя оценка Их меньше, но например n квадрат число ячеек факториал Это огромная величина будет Мы выписываем парами, совершенно верно Скажем, мы берем верхний левый элемент одного квадрата Верхний левый элемент другого квадрата Потом следующие два Следующие, следующие мы получаем пары упорядоченные по два значения Если все эти пары, а их будет n квадрат, получились разные То есть ни одна не повторяется То как раз эта пара не ортогональная Если получились дубли, то это называется частичная ортогональность То есть там считается характеристикой, она называется ХО Сокращённая характеристика ортогональности Чем она больше, тем там где-то бывает тем лучше То есть это пары квадратов, диагональных латинских квадратов Которые не совпадают по ячейкам Нет, они могут совпадать по ячейкам Но именно пара сама, два значения, она у нас уникальна Есть ОЛК, есть ОДЛК ОЛК это латинские квадраты, ортогональные ОДЛК, ортогональные и диагональные То есть и там они есть, и там они не есть Любые ДЛК это подмножество ЛК Латинские И то же самое с ОДЛК, это подмножество ОЛК Если здесь коротко говорить, то тут такая ситуация Опять-таки исторически, это всё идёт с времен Нейлера Предположил, что не существуют эти квадраты, то есть пары ОДЛК Для порядков вида 4К плюс 2 То есть 6, 10, 14, 17 и так далее Если я правильно помню, это 60-е годы 20-го века Есть такой учёный по фамилии Паркер Он на, скажем так, мейнфрейме Суперкомпьютере того времени Закодировал некий алгоритм Который, собственно говоря, ещё к Эйлеру корнями восходит Называется он сегодня метод Эйлера Паркера Он как раз базируется на построении текстовых трансверсалей И из них потом складывается ортогональный квадрат При создании ряда условий Это сильно-сильно быстрее, на многие порядки быстрее Чем пытаться как-то по-другому сложить второй квадрат пары И он показал, что он нашёл первую пару ОДЛК порядка 10 И показал, что Эйлер был неправ в этом вопросе Его гипотеза оказалась неверной То есть для порядка 6 действительно не существует Это было чуть-чуть раньше доказано Я помню, по-моему, это на рубеже 19-го и 20-го века А вот как бы десятку нашёл первый он Ну и далее встал вопрос, который стоит до сих пор Если мы имеем пару, а можно ли построить тройку По парам на ортогональных квадратах То есть либо ЛК, либо ДЛК И вот с тех пор эта задача является такой Открытой, то есть полный перебор решить нельзя Там огромное пространство Пытаются её искать Есть рекорды мировые на эту фактическую ортогональность Мы имеем три квадрата В них у нас как получается? Две пары полностью ортогональны Третья пара частично ортогональна То есть там не все эти пары значения, они уникальны И вот если мы посчитаем, сколько пар у нас будет по парам ортогонально То есть не будет совпадать Оказывается, что максимальная тут 30-я величина Для ДЛК известна такая псевдотройка У неё 291 Тройка этого типа, скажем так Есть другие типа ещё Если я правильно помню, это Ванлис, его группа У нас получилось для ДЛК Получить эту псевдотройку У неё 274 характеристики Мне так кажется, что наверное её уже в классе ДЛК Не получится увеличить Или если и получится, каким-то очень хитрым способом Про который пока мы сегодня не знаем По крайней мере там, где мы её нашли В симметриях, это тоже отдельный большой разговор Там её, мы пытаемся, но уже там видно То, что мы находим сейчас, очень сильно далеко Хуже по характеристике, ниже Поэтому скорее всего она не изменится Вот такая задача Она в математике открытая То есть неизвестно, существует или нет тройка Не могут доказать, что можно её построить Или нельзя построить Поэтому только пробовать Для чего могут использоваться? Я понимаю, что математика имеет ценность сама по себе Чем меня математические проекты в Боинге привлекают В распределённых вычислениях Тем, что если ты вкладываешься в астрономию, например Или в биологию То не факт, что будет какое-то практическое применение Это очень сильно будет зависеть от того, кто задачу ставил В случае с математикой, особенно если результаты попадают В какие-то международные базы Есть ожидание, что в любом случае это будет полезно Потому что математика – это чистое знание Которое когда-нибудь может быть применено Для решения уже конкретных задач Причём совершенно неожиданно И ты как бы вкладываешься в накопление Чистого знания человечества Есть ли понимание, где диагональные латинские квадраты Ортогональные диагональные латинские квадраты Могут применяться сейчас или в будущем? Вопрос, который мне задают Мои друзья, коллеги, кто знает На конференции бывает, они всегда начинают улыбаться Когда я любой доклад заканчиваю На любой конференции, не важно В Переславле, в Москве, в Курске Обычно то, что вы спрашиваете, это первый вопрос Кому нужны ваши квадраты? То, чем занимаемся мы, это такая Действительно чистая фундаментальная математика Это интересно именно математикам Как вы правильно сказали, это интересно В плане накопления знаний Потому что те же самые числовые ряды О которых я раньше говорил У них такая есть особенность приятная Что они могут совпадать Для некоторых разных типов объектов То есть мы считаем, что объекты разные А ряд совпадает А если он совпадает, значит, скорее всего, они разные Одно и то же Просто мы смотрим на этот объект с разных сторон Из разных разделов математики И это здорово Могу привести вот такой пример Очень широко известная функция элера Это у нас в двух словах Она применяется и в криптографии Система RSA криптографически на ней базируется И там много-много-много где Это получается по определению число Если мы берем число n, некоторое целое Вот функция элера это число чисел Которые меньше n и которые с ним взаимно простые То есть не имеют лучших делителей, кроме 1 Есть методы ее вычисления Если научиться ее быстро считать Это позволит сделать еще одну атаку на RSA Ревиз Шамир Адлиман Такая известная именно в мире криптографии Вот в энциклопедии Этот ряд для функции элера Он давно посчитан Он находится под номером 10 То есть это было сделано еще словом в самом начале Этот ряд, как мы смеемся назвать, является ядреным То есть он является ключевым в этой энциклопедии С ним очень много чего связано другого Тысячи буквально публикаций, других рядов Вот когда мы стали квадраты считать Для одного типа, а конкретности говорить У нас получаются циклические латинские квадраты С фиксированной первой строкой Оказалось, что их число равно в точности функции элера Такой был совершенно неожиданный результат Я сам удивился Я полез листать публикации и другие Для этого расчета тут грид не нужен Это можно даже на бумажке посчитать Даже без компьютера То есть уровень тогда, в кавычках, открытия Это примерно где-то в 19-е, может быть, даже раньше Я был удивлен, что, оказывается, этот факт был неизвестен Я сильно был удивлен И мне удалось пропихнуть маленькую приписку К этому описанию функции элера Что в том числе, кроме всего другого прочего Это еще и вот как раз такой тип квадрата Дальше идея какая меня посетила Что, в принципе, если мы можем вот так Считая квадраты такого типа Получать функцию элера А не получится ли ее так считать быстрее? Я полез смотреть, как ее считают В принципе, я сделал маленький обзор Теперь я представляю, как это делается Там есть формулы, которые позволяют Нам было множество из них разложить Эту функцию На данный момент идея следующая Есть у алгоритмов понятие асимптотики То есть если мы размер объекта увеличим Как растет время У меня получился алгоритм с квадратической асимптотикой То есть если было n10, а стало n20 То будет увеличение в два раза В квадрате будет в четыре раза больше вычисления Там асимптотика примерно n логарифм n В тех методах, которые применяются там Но там очень громоздкие вещи А здесь это простейшая реализация То есть там сдвиги и сложения Больше ничего То есть это и простейшая программа будет И простейшее устройство При этом, если мы будем эти вещи реализовывать Поэтому мы в одном проигрываем, в другом выигрываем Вопрос, грубо говоря, что будет лучше Это пример из практического применения Но там некоторые совпали Например, для циклических диагональных квадратов Совершенно неочевидное для меня совпадение С каким-то рядом математическим Как он примерно задается То есть, скажем, есть некое число И вот это число, оно, по-моему, с числом Которое на единицу меньше, на единицу больше Оно взаимопросто И вот почему-то такое определение Опять-таки под него попадают в том числе Такие циклические терморизованные диагональные квадраты Почему, не знаю Это вопрос уже к математике фундаментальной Это за собой тянет такие разделы теорий чисел Которые совершенно бывают неочевидные Такие вот свойства Я, опять-таки, очень благодарен Алексею Савватееву Это такой довольно известный российский ученый Сейчас он занимается популяризацией науки Я с удовольствием смотрю его лекции В том числе по теории групп, по теории чисел И всем рекомендую Это, получается, на ютубе вы как раз можете найти, да? Да, там навалов всего Алексей Савватеев Алексей Савватеев, да Он именно специалист в областях математики И вот у него в лекции такие вещи уникают периодически Почему это существует для такого порядка, а для такого не существует Мои иркутские коллеги его знают Мне бы очень хотелось с ним лично познакомиться Потому что тоже в диалоге что-то бы родилось А так, если говорить полностью, то есть книга Правда, она такая английская, к сожалению То есть не все читают Называется она по-английски Латинское OSMD Applications То есть латинские квадраты, да, их применены Книга большая, страница на 600 Она переиздается авторами там периодически Может раз в 5-7 лет Вот там именно вся книга посвящена тому, где на практике применять квадрат Есть тема, связанная с панирным экспериментом То есть классический пример В Википедии, по-моему, описано все правильно, помню Например, у нас, допустим, есть четыре типа семян Четыре типа почв, четыре типа удобрений, не знаю Ну и четыре типа чего-то еще Нам нужно посмотреть, какая комбинация будет давать Максимально хорошее качество урожая Если мы будем делать в лоб эти эксперименты Нам потребуется N в четвертой степени замера Опыт много А вот если мы эти вещи спланируем Как именно, по-моему, даже пару ортогональных квадратов 5х4х4 То там опытов будет не N в четвертой, а N в квадрате То есть N в квадрат в раз меньше Вот это маленький пример Я, опять-таки, все время занимался еще немножко теорией расписаний И вот там некоторые элементы расписания, такие подрасписания Они очень похожи на латинские квадраты по внешнему виду То есть, например, скажем, мы там с чем-то сталкивались Есть, например, стройфак Какой-нибудь, не знаю, читается у них сопромат Поток лекционный большой, например, 6 групп Потом лабораторные практически Они читаются тем же, кто читает лекции Но в разное время по расписанию Как раз расположение этих перелабораторных и практических Оно представляет собой в течение дня латинский квадрат Как ни странно Потому что не может быть совпадения по преподавателю в одно время Это, например, по строке у нас дублирование запрещается И не может быть одна и та же группа в одно время у разных лекторов находиться Это по столбцу Вот как мы получили такой маленький подквадрат в большом расписании Эти вещи применяются в криптографии Потому что, насколько я по верхам знаю Есть такое понятие критического множества в квадрате Это что такое? Мы взяли целиковый квадрат И часть значения в него сбросили То есть там ячейки пустые оказались Если мы от того, что осталось, такого скелета, квадрата Можем достроить квадрат единственным возможным способом То то, что осталось, это критическое множество И вот эта задача, опять-таки, непополна То есть на ней можно построить систему криптографическую Это задача сложная в плане вычислений То есть так можно кодировать те самые ключи, о которых производится шифрование Есть связь с другими разделами математики Опять-таки, математика для математики Есть магические квадраты Кстати говоря, латинские, они являются подмножеством магических какого-то из типов Там какое определение? Там сумма элементов по строкам, по столбцам Она должна быть одинаковой везде Понятно, что каждая строка или каждый столбец квадрата Если каждый столбец квадрат перестановка Это N элементов, только в разном порядке То сумма у них будет автоматически одинаковая И мы получим квадрат магический Есть такая вещь, как поля Голуа, например Это применяется активно в помехо-стручном кодировании То есть мы данные передаем по Wi-Fi, GPS, связь Любая, совершенно спутниковая Возникают ошибки, часть данных портится То есть мы добавляем дополнительные биты проверочные Чтобы не переписать повторно, как была какая-то вещь А ошибки исправить, ну или хотя бы их идентифицировать Это тоже можно делать, в том числе до математики в полях Голуа Здесь же находится квадрат Ну если люди смогли написать книгу на 600 страниц Про то, как применять То, наверное, там действительно очень много всего
Видимо, есть еще огромный пласт того, как его можно использовать, ну, всю эту теорию, но сама сложность дальнейшего погружения в исследование квадратов достаточно велика, чтобы вы не сильно отвлекались именно от изучения на практическое применение. На самом деле, интересно и то, и это. Тут единственное, что меня лимитирует, ну, это две вещи, на самом деле. Это свободное время и учительные возможности. Где-то одно, где-то другое. То есть, опять-таки, пользуясь случаем, я на форуме, так бывает, пишу время от времени, когда говорят, а почему вы не сделали это, почему вы то не сделали то. Университет – это такое место, где должны, по идее, преподавать и учить студентов. На самом деле, сегодня, к большому сожалению, это место, где мы занимаемся кучей всяких никому не нужных бумаж, на мой взгляд. То есть, на самом деле, конечно, бумажки не нужны, потому что за это дело и закрывают, и специальности лишают, и лицензии, и аккредитации. Но это отнимает огромное количество времени, к большому сожалению. Всякие там рабочие программы, фонды отстаночных средств, там тьма абсолютно всего. И, к сожалению, чем больше бумажек там, тем меньше времени по науке на конкретных квадратах. Такая вот часть работы, которая не видна, то есть, как, в принципе, строится какая-то любая маленькая исследования в этой области. То есть, сначала нужно придумать, что делать. Это тоже бывает не сразу. Допустим, одно из последних, что я сделал, это обобщенная симметрия и поиск в квадратах. Я ходил эту тему, обдумывал, наверное, года полтора. Неспешно, я не только об этом думал, ходил там 24 часа в сутки. И у меня как-то в один момент это все в голове сложилось. То есть, дальше я сел, попробовал, и у меня, в принципе, получилось. То есть, попробовал, что такое, ну, недели три программировал. То есть, я набросал, отладил, оптимизировал. То, что я смогу находить. Дальше, опять-таки, что? Можно ряды посчитать, можно то, можно это. И пошли хотелки в разные стороны. Если бы не получилось, ну, этого бы не было, наверное. Если мы говорим про эксперименты в виде, мы до этого читали Gerasim, сейчас мы читаем Break Search. Другой проект. Значит, нужно написать чего-то. То есть, расчетный модуль написать, сгенерировать задание. Далее туда это забросить. Ну, в идеале это одной кучей делается. Не в идеале, когда много получается. Какими-то маленькими порциями мы кидаем. Там оно считается. Дальше мы забираем. Нужно анализировать. Это все тоже требует времени постоянно. Сейчас, например, у нас работает три, по-моему, проекта, если я правильно помню. Плюс некоторые вещи я считаю в один поток на своей машине. То есть, как бы, это еще четыре. Далее, в нашей сфере принято публиковать статьи, делать выступления на конференциях. Это тоже требует времени. То есть, как бы, статья, например, ну, если вот мы говорим для такого более-менее мирового уровня, это длительный процесс. То есть, как бы, это тоже не день, не два. Это бывает неделями. Ну, а некоторые вещи, да, как бы, они рано или поздно с ростом размера упираются уже в учительные возможности. То есть, как бы, я бы, конечно, ну, как всегда, да, у нас всегда всего мало. Если бы не было грида, да, вот не было проекта, то многие вещи я просто бы не посчитал. То есть, те же самые девятки. Ну, по моим прикидкам, да, вот то, что мы имеем сейчас, как бы, у нас не самые крупные проекты, но есть где-то около тысячи компьютеров, работают как бы так более-менее постоянно. Это дает выигрыш, по моим прикидкам, где-то в 250 раз по отношению к моей домашней машине. То есть, как бы, в 250 раз. Один момент уточню для просто тех, кто может там первый раз знакомиться. Когда мы говорим грид, мы имеем в виду распределенную сеть домашних компьютеров, которые считают ту задачу, которую поставил проект. Одним из таких гридов является Boeing. Давайте, опять-таки, пару этих самых уточнений внесем. Значит, у нас есть сегодня такие два больших деления на два больших класса. То есть, с одной стороны, это кластеры и суперкомпьютеры, а с другой стороны, это гриды. В чем отличие? Отличие в том, что у нас узлы, которые параллельно работают, они либо могут, либо не могут между собой информацией обмениваться. Если это суперкомпьютер или кластер, у него он в одном помещении находится, там обычно собрана быстрая сеть, там как раз решают задачи, которые требуют обмена. Наша комбинаторика не требует обмена. А когда мы говорим про грид, там узлы, как в нашем случае в Boeing, они могут быть один в Австралии, другой, не знаю, в России. Они даже могут включаться в разное время. Такие обмены между узлами, между задачами, они ни к чему хорошему не приведут, они будут все лимитировать. Это с позиции железа. Дальше, если говорить про позицию алгоритма, то есть, не любую задачу можно решить на любом железе. Ну, суперкомпьютеры, это, скажем так, вещь дорогая. То есть, они далеко не везде бывают. У нас, например, в университете такого нет. Я бы очень хотел, чтобы это дело было, но, опять-таки, оно определяется, это все-таки дорогая штуковина, требующее помещение, питание специальное, это не одна розетка, охлаждение, админов, которые будут. То есть, как бы это много. Ну, вообще, это сейчас, как правило, целый машинный зал с огромным количеством стоек, простейшие суперкомпьютеры, которые я видел 10 лет назад, которые тогда уже были старыми и outdated. Это, собственно, целая стойка, которая, когда включена, потребляла порядка 100. Потребляла эта машина, насколько я помню. Требовала специального охлаждения, естественно, и так далее. Ну, современные суперкомпьютеры, это мегаватты, десятки мегаватт энергии. Такие топовые. Ломоносов в МГУ. Какие-нибудь китайские. Тяньфе. Известный фронтир, который сейчас возглавляет. Буквально сегодня читал прогноз АМД, что к 1935 году средний новый суперкомпьютер будет потреблять порядка 500 мегаватт. То есть каждому суперкомпьютеру нужна будет своя атомная электростанция рядом. Ну, об этом говорили давно уже. У нас был на кафедре профессор, типичный Александр Петрович. К сожалению, уже как бы ушел из жизни. Но вот он говорил так, что да. Если так же будет развиваться, то надо будет строить АЭС и около нее строить суперкомпьютер. Так это будет работать в связке. По-другому никак. То есть фактически блок РБМК, да, они у нас есть в Курчатом городе, он будет писать суперкомпьютер. А сам суперкомпьютер в воду поместить, чтобы охлаждался эффективнее, да? Ну, опять-таки, вот мы периодически катаемся в город Переславль-Залезкино. Там есть институт программных систем, Академия наук. И они проводят конференции как раз по суперкомпьютерам. И туда много кого приезжали. И вот есть там команда людей, называется они иммерсфирма. Как раз у них есть такое погруженное охлаждение. Только там не вода, там такое минеральное масло, не электрическое. И прямо там это все погружено, булькает и работает. Вот так это эффективнее, чем воздухом, чем водой. Если мы говорим про СВО, например. Как работать админу, честно, я не представляю себе. Перчатки, вытащить плату, продер ее. У нас пыль, а там масло. Дополнительная квалификация аквалангиста. Да, да. У нас, к сожалению, суперкомпьютеров нет. Опять-таки, вот у Олега Зыркутска, у них есть свой кластер в Сибирском университете Академии наук. Но, опять-таки, он с задачами загружен. То есть, там тоже пробиться туда... У них получается периодически, когда требуется. Были попытки, не буду говорить куда, чтобы никого не обижать, но попытки оказались неудачными. То есть, это не так просто попасть на суперкомпьютер. Не любого желающего. Пустят, говорят, давай будем считать. Тем более, скажем, есть задачи, которые я могу сейчас решить, но мне нужно что? Мне нужен топовый суперкомпьютер на время нескольких месяцев. То есть, разумеется, учитывая, хотя бы даже просто стоимость электроэнергии, которая потребуется для этого, никто не даст. Хотя мы это можем сделать. Код есть, все есть. То есть, только надо остаться на суперкомпьютере. Значит, гриды – это более дешевая альтернатива, более доступная. То есть, здесь, в принципе, что тут сложно, нам только время нужно. То есть, скачать те же самые исходники Боинга, поднять сервер, поднять клиентскую часть, то есть, расчетное приложение. Задачки сформировать и пошли считать. Далее, как бы, людей просто мотивировать. Это, опять-таки, классика. Это все кранчеры знают. Так, собственно говоря, мы и сделали. В свое время, опять-таки, получилось совершенно случайно. Я тогда обитал на форуме на xBit. И где-то с кем-то я зацепился. Я про Боинг тогда еще не знал. С кем-то я пересекся из участника форума на Боинг.ру. Он мне предложил, а попробовать не хотите? Ну, я сказал, давайте попробуем. И тогда мы как раз с Валерием Сергеевичем, который вот сервал, в Герасиме, мы там набросали тоже код, как бы сделали интеграцию в моей части и его части. И запустили первые вещи. То есть, Боинг — это специальное программное обеспечение, которое сделали ребята из Беркли довольно давно для того, чтобы использовать компьютеры добровольцев, которые дают свое компьютерное время для решения разных научных задач. В рамках этого Боинга люди запускают свои проекты. И вот одним из известных, таких древних уже российских проектов был Герасим. И внутри этого проекта вы на их сервере запускали свои задачи. Правильно я понял? Гриды есть, опять-таки, в двух типах. Это Enterprise-гриды и Desktop-гриды. Значит, ну, Грид — да, сеть. Да, слово один из переводов, как бы, да. Enterprise — это когда у нас какая-то организация, ну, более-менее крупная, там, не знаю, IBM, там, Intel. Вот они у себя, там, в рамках здания, там, не знаю, разворачивают как раз такую тоже типы суперкомпьютера. Только по логике организации это Грид. Вот. Есть какие-то специальные, там, да, инструментарии для управления Гридом. То есть есть, там, Globus, Toolkit, там, да, Condor. Есть Boeing. Как бы это разное ПО под разные типы. Вот. Ну, честно говорю, что, как бы, с теми, которые другие, я сам не разбирался лично, как бы, тут все, да, объектно-объектно не получается. Вот. По мнениям слышал, что там сложнее, чем у Boeing. То есть больше возможностей, как бы, ну, и сложнее. Вот. Boeing — это, в принципе, да. Сегодня, как бы, это де-факто стандарт, ну, почти для всего. То есть наиболее крупная такая Грид-платформа. Есть, наверное, вот, ну, сегодня, как бы, два исключения, которые не Boeing. Это известный Folding at Home проект, который тоже, ну... И то он скорее вышел из Boeing в свое время. И есть GIMPS, который, честно говоря, все выначали. Он тоже не Boeing. У него свой клиент, как бы, там, свой сендер. Вот. А в остальном, как бы, да, на Boeing, ну, сколько уже, наверное, в сумме, там, да, больше сотни разных проектов в разное время открывались, закрывались. Порядка сотни там сейчас активных и плюс есть еще проекты типа Yo-Yo, World Community Grid и подобные, которые внутри себя огромное количество более мелких проектов аккумулируют, да. У себя на кафедре, опять же, я читаю курс параллельного программирования. Как бы, я его, ну, после введения, после маленькой истории, начинаю как раз с Boeing. Вот. И я лекции три про это рассказываю. Какие проекты с картинками. Студентам, в принципе, нравится. Если брать российские проекты, то одними из первых это были, как раз, да, вот, Герасим, SAT. SAT — это вот, как раз, коллеги из Иркутска. Да, вот, Олег Зайкин, ну, по большей части, как бы, занимался. А Герасим — это вот, Сергеич Валяев, значит, там это, опять-таки, до меня еще было. Он сделал, фактически, свою серверную часть. То есть, исторически, как появился Boeing вообще, да. То есть, был проект сети, который искал, да, неземной разум. Это такое красивое, такое, маркетинговое название. Если ближе к физике, к математике, что делать, да. То есть, брали сигналы с радиокерескопов, дальше сигнал дробится, там, да, условно говоря, на сетку, ну, как бы, вся наша сфера, да, вот вокруг нас небо, там, на квадратике, да, маленький, там, полуголовым, там, минутам. И дальше по частотам. Строится спектр сигналов, анализируется, если находится сигнал узкой полосы, значит, там что-то есть. То есть, в природе таких сигналов нет. И каждый компьютер выполнял свою маленькую частичку этой задачи, да? Чем больше компьютеров, тем можно сделать более мелкую сетку по пространству, по частоте, вот, ну, и больше проанализировать. Это, вот, рубеж, там, 90-х тысячных годов. Как бы, далее они все это дело выложили в виде open source, то есть, открытые исходники. Ну, сейчас это прямо на гитхабе лежит, и люди... Да, ну, это там уже, да, около 20 лет лежит. Чем интересен Герасим, опять-таки, Сергей Юрьевич Валяев, он сделал сам серверную часть. То есть, такая классическая, она ставится под Linux, как бы, да, готовая, а он сделал под Windows. То есть, там, у него связка ASP.NET, как бы, да, SQL Server, Microsoft. Ну, и, в принципе, как бы, там получилось так, что это в мире такая проблема есть, что, в принципе, как бы, железо есть. Мало задач, которые на нем нужно считать. И он начал предлагать, ну, скажем так, разным ученым, давайте, вот, у меня есть, как бы, возможность, да, вы посчитайте. А потом, вот, случайно мы с ним, как бы, списались, да, ну, и сделали, начали считать. И, в принципе, долгое время мы, как бы, вот, считали. Ну, вот, как бы, это, вот, тоже касается Bullion. То есть, как бы, если бы его не было, то, конечно, задач, ну, мы бы решили гораздо меньшее количество. Ну, потому что пользовались бы, скорее всего, там, своими домашними компьютерами, и, может быть, ждали бы, когда дадут возможность пользоваться суперкомпьютерам. Просто есть такое ощущение, что, якобы, суперкомпьютеров их там все больше и больше. И если задача достаточно там важная, почему там не дают доступ к суперкомпьютерам? Ну, вы ответили, что задач больше, чем суперкомпьютеров, во-первых. Во-вторых, там нужно проходить гораздо более сложную процедуру, видимо, там, бронирования этого времени. И я подозреваю, вот, ну, чисто организационно, что на суперкомпьютере ты получил время, обсчитал, например, да, и потом должен уйти на некий повторный цикл. А в случае с использованием добровольных вычислений, ты можешь, как бы, каждый месяц, вот это дерево возможностей, если оно комбинаторное, эвристическое, скорее всего, у вас в голове есть какое-то дерево возможностей. Копаем сюда, копаем сюда, потом сюда, потом как-то это все соединяем, и вы можете каждый месяц в программистской терминологии, в agile режиме, то есть в гибком режиме, уточнять задачу по мере поступления обратной связи от предыдущих задач. С суперкомпьютером, наверное, такое было бы сложнее. Ну да, там запускается обычно периодами, как бы, есть очередь, то есть там, как бы, обычно это ж не один человек пользуется, это десятки человек, это разные группы, вот, как бы, есть опять-таки, там, да, у кого-то задачи более тяжелые, у кого-то более легкие, там, да, более быстро считающиеся, то есть, как бы, там с кем-то договариваться, это сложно. Плюс, насколько я понимаю, у суперкомпьютеров, у них у всех своя архитектура, и когда пишешь, ну, задачу для суперкомпьютера, тебе приходится ее серьезно адаптировать именно под конкретный суперкомпьютер. А в случае вот с добровольными вычислениями, типа Boeing, ты можешь писать вычислительные модули, которые будут работать на стандартных, там, x86, условно, там, то есть, под Linux, под Windows, под стандартные процессоры, обсчитывать у себя дома, оптимизировать у себя дома под свой компьютер, и потом уже распространять на всех. Это тоже фактор, или я выдумываю? Ну, на самом деле, тут не совсем так, тут идея такая. Суперкомпьютер, как бы, когда мы берем вот его стоимость создания, как бы, это две большие, такие, половинки. Первая — это железо, то есть, там, процессоры, видеокарты, материнки, вот, а вторая — это интерконект, то есть, быстрая сеть. То есть, как бы, вот, опять-таки, отличие кластера суперкомпьютера такой, не очень четкое, что кластер вычислительный — это когда мы берем более-менее дешевое железо, то есть, в принципе, можно из обычных компьютеров там на какой-то кинуть, там, гигабитный интернет, как бы, да, и будет у нас какой-то кластер. А суперкомпьютер не так. То есть, там, обычно, оптика, какой-то инфинитбен, гигабит, то есть, там, между самыми дальними узлами, там, да, время пинга, там, да, это, там, сколько-то, не знаю, там, микросекунда, если я правильно помню, в худшем случае, как бы, ну, это очень быстро. — Для них ограничением является уже просто скорость света. — Ну, фактически, да, и плюс, как бы, небольшая топология. Если мы запускаем наши задачи на суперкомпьютере, то есть, что получается? Мы используем дорогое железо, но мы не используем такой интерконнект. То есть, как бы, он нам не нужен. Поэтому это, скажем так, считается нехорошим тоном, если мы не используем вот такие, да, возможности интерконнекта. Поэтому, как бы, в принципе, не очень принято и приветствуется, если вот такие задачки запускаются на суперкомпьютер. Как бы, это, разумеется, не воспрещается, но, скажем так, наверное, с позиции утилизации ресурсов, их правильнее запускать, где нет такого. — Идея понятна. Не надо забивать гвозди микроскопом, да, то есть, берем хороший молоток, забиваем молотком. — Ну, опять-таки, как бы, если бы это было бы, да, какая-то адаптация софта, в принципе, она додопустима. То есть, переписать то, что есть там под MPI, ну, и, в принципе, теоретически, это можно запускать. У нас в УЗИ, скажем так, этого ничего нет, в Воронеже там у них чего-то есть, но в Москве, опять-таки, там в тот же, например, ВЦ, да, там пробиться довольно тяжело. У меня коллеги пробовали, там получилось не очень здорово. Самое главное, что в идеале, конечно, сюда нужно подтягивать все мощности. То есть, и грид, и видеокарты, там, да, и линукс, и мобильники, и суперкомпьютеры. Вот тем же Максимом Манзюковичом, да, все время был написан некий там набор скриптов, который позволяет запускать боинг-задачи на кластеры. То есть, как бы, там идея такая же, как классический боинг, то есть, там немножко переписывается и дописывается функционал менеджера, который управляет очередью, и он смотрит. Если кластер не догружен, да, то он догружает боинг-задачи. Я знаю, что они как раз делали эту работу вместе с Олегом Звонякиным. Они даже там где-то ее пытались внедрить. Но там полезли проблемы, связанные с тем, что, как бы, когда дали полную нагрузку на кластер, значит, там больше потреблять, больше выделять тепла. Как бы тут админы засуетились, как бы, а вдруг чего. В общем, как бы, то есть, технически это возможно. Поэтому, конечно, возможно было бы здорово подтянуть сюда еще и кластер. Кроме этого, опять-таки, вещь, которая очень давно тоже висит, нужно ее сделать, будет, как бы, рано или поздно, это разработка расчетного модуля под Linux, как минимум. Потому что сегодня, к сожалению, я не могу разрываться, у меня расчетник сделан под винты. То есть, как бы, он там работает прекрасно, все оптимизировано. Нужно немножко времени найти, разобраться, как сделать туда, откомпилировать другими компиляторами, протестировать и заверить. Чтобы лучше работало или что? Потому что у меня UDLK крутится на Ubuntu. Это позволит сюда привлечь машины под Linux. То есть, как бы, пока мы только на Windows сегодня ориентируемся, а это будут другие машины. Ну, как минимум, это будет, может быть, в разы больше.

Значит по поводу видеокарт опять-таки эти вещи мы преподаем у нас такая фигня я с этим более-менее знаком тут проблема вот такая видеокарта это вещь такая весьма специфическая то есть это не процессор там да с многими ядрами где каждое дро полноценное оно запускает свой поток может делать все что угодно есть набор ограничений то есть ну простейшая вещь такая тоже всем берем видеокарт фирмы нвидия у нас ну у обычного компьютера одна память да еще есть регистр там кэш память но оперативка есть аминчестер но в принципе память одна у видеокарты памяти 5 раз по типу то есть есть локальная там текстурная регистровая константная разделяемая то есть нужно понимать как каждый из них работает то есть какая-то кэшируется какая-то не кэшируется какая-то коридор ли это вот одно из ограничений такие же ограничения есть там на условия на параллельное выполнение кусков там да на всякие синхронизации там и так далее поэтому под видеокарту программирует гораздо сложнее это во первых вторых не любой алгоритм можно запустить на любом железе ну и эффективность тоже иногда может наверное упасть да вот чем занимаюсь я это комбинаторика она на видеокарты очень плохо ложится здесь проблем 2 на самом деле первое это условие у нас в коде есть иф да как бы мы идем либо по ветке да и по ветке на алгоритм когда запускается на видеокарте там есть понятие варпа то есть группа потоков если в этой группе потоков срабатывает иф то этот варп должен выполняться два раза один раз по ветке зен часть пошла другой по ветке велся то есть мы теряем 2 раза по эффективности если стоит 2 и по подряд один за одним теряем в 4 раза 3 и в 8 раз то есть это в итоге как бы съедает ну у нас как раз это сплошные там вторая вещь это рекурс потому что опять-таки вызовы вот эти возврата из рекурсии как бы это вещь которая требует стека стек хранится на видеокарте в глобальной памяти это не самая быстрая память 5 говоря вот поэтому это опять-таки еще одна проблема значит видеокарта работает хорошо там где данные однородные операции однородные как бы да и там можно с ними работать примера это например допустим решение дифуров всевозможных на сетках это модельный климата всякие там гидрогазодинамика та физика плазмы много у вас вычисления получается каждый следующий шаг нужно посмотреть что было в предыдущем и в зависимости от этого принять решение именно с этим gpu как правило плохо справляется это в том числе да опять-таки есть одна идея как можно попробовать эту штуку обойти значит опять-таки я один все не успеваю идея давно висит у меня есть сейчас один толковый студент иван я очень надеюсь что у вас все-таки будет наукой заниматься камня как печенье приятное о нем как бы он уже вот какое-то время занимается мной вот ему и значит поставлю если он доберется до реализации как бы я уже ему так контуры объяснил он вроде разбирается но опять-таки он тоже человек работающий к сожалению это тоже большая проблема что студенты уже все практически работают как бы старший курс и бакалаврят и магистратуры то есть как бы сутки 24 часа либо наука либо учеба либо работа или как бы все по чуть-чуть уровня ну это как бы тенденции современности к сожалению образование но я так понимаю на этой теме можно прям диссертацию защитить с таким прицелом и работать я буду только только зависть он это дело как бы сделает и доведет логического конца и защите под моим руководством проекта у длк я никакого отношения не имею рейк сердж ваш мой рейк рейк сердж да совершенно верно если бы коротко говорить то это фактически построение списка как раз тех самых у длк на 30 миллионов длк есть один у длк такая вещь довольно редкая но это порядка 10 далее эти вещи они образуют некие такие маленькие графы да мы их называем структурами комментариями они бывают разных тип простейший когда два квадрата когда они авторитетами друг другу это пара у длк эта вещь которая постоянно находится на как бы там ему на примерно 500 там тире тысячу таких пар начать бывают тройки как линия такая когда один второму второй третьим называется линия 3 структуру бывает когда центральный квадрат один у него три автогональных вокруг этого трешка мы бывают четверг когда центральный дай четыре вор того но вот в этом поиск который работает в проекте у длк в принципе ничего другого как бы просто так молотить я большой смысл не у нас скажем сейчас в рейк сердж и мы ищем по-другому есть такое мнение что как бы в рейк сердж используется более продвинутый алгоритм поиска да который позволяет не молотить лишнего ну скажем так да потому что тем более опять-таки как бы уровень науки да ценится по публикации и мнению сообщества научного об этих публикации в том проекте публикация сколько я знаю нет от слова совсем да к сожалению рейк серджа посчитать не смогу у меня только маки и линукс и пока возможно мы все-таки доберемся как бы до этого самого до расчетного если интересно как мы сейчас ищем но это как бы называется опять-таки коротко ответственности вообще на семинар у нас наш мир весь как бы в этом мире симметрии то есть физика там да и геометрия математика тоже красиво эстетически это мы как раз перешли к теме что сейчас на переднем крае исследование о длк да в том числе да один один уточняющий момент то есть все любят большие числа то есть сейчас и вообще числа это кстати научный факт то есть если хочешь сделать статью маркетинговую более значимой для человека добавь туда пару чисел любых есть мнение стивена хокинга мы не покойного сожалению в одной из его книг популярных значит там было введение написано что любая формула включенная в книгу уменьшает число покупателей ворона во-во-во это как раз все правильно формулы нельзя включать а вот числа надо да вот сколько чисел то есть какие квадраты сейчас на самом переднем краю самые большие ну тут как получается вот мы сделали алгоритм и пошли его потихонечку применять там десятки 11 12 раз рано или поздно где-то он запнется то есть будет слишком долго даже с грифом считать нужно чего-то делать будет момент когда этого алгоритма не хватит да то есть ну он просто не справиться слишком очень долго будет считать там месяцами там гадали то есть мы либо бим его на маленькие кусочки либо как-то упрощая то есть вот опять в сторону юристик разговор то есть как-то его там по-другому спускаем дальше проверяем смотрю какая эффективность вот такая идея то есть например скажем вот если говорить про сдачи по спектру то сейчас мы считаем поляк 13 здесь посчитали 11 посчитали 12 посчитали считаем 13 это мы будем считать наверное еще примерно ну я думаю месяца полтора 2 не меньше думал будет быстрее когда ну такая вещь не быстрая вот посчитаем обработаем дальше посмотрим то есть уже вот на конкретно эта вещь диагонализация так называемая для порядка 14 уже не сработал это будет очень много это будет годами может быть даже и там десятки миллиард даже на гриль поэтому будем как-то упрощать в принципе у меня идеи есть уже как это упростить вот но есть набросать код когда попробовать какая бы эффективность в принципе дальше запускать вот другие задачи как бы они в другую упираются вот поэтому здесь опять таки насколько хватит там до времени желание заниматься всем этим делом пока как бы и то и то есть поэтому потихонечку движемся для разных куда-то бывает разная смесь критическая то есть скажем полно переборные алгоритмы они уже вот ну до до семерки они работают просто простейшая реализация там до более-менее такой ровный полный перебор как бы без косяков написанные как бы да он работает восьмерка там уже долговато значит девятка это уже невозможно без фокусов ну фокусы скажем так опять не забираясь глубоко в математику в дебри это разбиение на класс изоморфизма и счет в этих класс как бы если очень просто скажем у девятки максимальный размер класса 1536 элементов то есть если бы мы считали в лоб то мы должны были все их получить посчитать и потом сделать каждый криминал а так мы делаем как мы один получаем и все а дальше нажав 1536 получаем общее количество вот такая базовая идея то есть мы сокращаем мощность перебора примерно в тысячу раз то есть так в полторы тысячи раз было бы одну тысячу потому что класс есть маленькие большие там они разные по размеру среднем где-то вот на тысячу раз для десятки так уже не получится там классов очень много то есть ну как бы там сам класс размеров 10 раз больше 15 360 максимуме вот но если куда-то в 10 18 ну классов бы 10 14 это опять-таки огромная величина то есть как бы это по моим оценкам примерно где-то около года работы вот но там не знаю того что маломанова можно построить квадрат почти симметрично у него будет небольшое количество ячеек не симметрично остальные симметричные и вот это получается некая такая как бы окрестность этой симметрии с каким-то удалением эмма то есть эмма число симметричных точек если мы потихонечку будем от симметрии уходить дальше дальше дальше как бы вот эти свойства интересные они рано или поздно пропадут и вот как бы сейчас мы собственно говоря довольно давно в эту окрестность залитые там нашли много новых интересных редких структур скажем так у нас есть опять-таки там это все выложено на моей страничке и статьи по этому делу как бы есть такой документ просто такой технический список то есть какая структура какие квадраты как бы опять-таки одно из направлений было бы интересно какие-то новость тур найти которых мы еще не нашли но вот так как делается вода елка я думаю там это мое мнение скептическое потому что то что они делали мы уже давно пробовали как бы и так уже не бил а сейчас мы пошли к симметриям обобщен то есть как бы те которые я говорил до этого они такие геометрические то есть можно нарисовать чертить обобщенный это когда мы то же самое делаем перестановка то есть как бы это уже глазом такую симметрию не видно вот но она существует математически и вот сейчас значит мы что имеем да мы имеем так называемые 6 там срезов парастрофическое страшное слово да как бы там это набор преобразования на самом деле ничего сложного вот в каждом срезе мы имеем матрицу размером 43 на 43 и 42 это комбинация симметрии и вот каждая клеточка она может существовать может не существовать и вот там мы пытаемся что-то искать то есть на данный момент мы прошли два среза полностью 1 3 сейчас мы идем по второму срезу но будет там еще три это вот один из проектов считается то есть там у нас ожидается нахождение вот таких интересных редких структур не гарантирует что они будут как бы но в принципе они попадаются пока по повторным это интересно перспективе скажем на шаг вперед когда мы с этим закончим можно попытаться посмотреть на эту проблему с позиции спектра то есть тоже как бы тематика довольно интересная я ее в своем и так но я понял не знал да на сладко откладывал как бы но вот он дал студенту студент там кое-что сделал выпустился защитил бакалаврскую работу и ушел вот а конкуренты увидели и подхватились я понял что надо как бы мне браться как бы находить время и быстренько закрывать тематику пока ее другие не закрыли вот вот так появились спектр теперь я понимаю что как бы зная как это выглядит графически я понимаю где еще можно поискать то есть как бы опять таки если говорить коротко если мы просто вот формируем случайные квадраты их обрабатываем это получается спектр как узкая полосочку есть метода ее расширения она будет шире и опять-таки возможно вот как бы в этой более широкой высокой поиска мы найдем более интересные вещи так будет или не так не знаю посмотрим но пока идея вот такая задачи которые можно посчитать их сильно больше чем и времени свободного и возможности поэтому будем потихонечку считать то есть если в проект добавить условно там 9000 еще компьютеров примерно таких же то есть увеличить в 10 раз мощность то задачи под них найдутся обязательно посчитаем текущие в 10 раз быстрее так закинем возможно кинем более тяжелым с большим числом числе те же спектр начинаем с порядка 14 они огромные получаются есть оценки 14 мы еще сделали а вот там более старший но там сколько это будет это спектр будет наверное из десятков миллионов квадратов как бы это по размеру на винчесте это там десятки гигабайт то есть как бы если у нас одно задание которыми в гиде считаем у него результат размером 10 гигов даже просто перекачать для клиента на сервер когда это будет тяжелую а сервер там где и хранить и поэтому там мы будем как-то зачку дробить и прощать уже весь спектр не будет получаться возможно будем брать младшую и старшую часть по миллиону оттуда отсюда ну посмотрим это пока мы еще там обликному год доберемся к следующим может ли это не знать как получится поэтому тут как бы задачи на самом деле огромное количество впереди и как бы хочется все по полочку разложить те же самые спектр когда у них есть разные части то есть есть там старшая часть средняя часть младшая часть скорее всего я так подозреваю что эти спектры эти части образованы квадратами разного вида у нас от квадратов с симметриями получается такой довольно широкий спектр это хорошо чем он шире тем интереснее такие квадраты не существует для нечетных порядка то есть там четверка шестерка восьмерка сетка существует а вот 9 11 не существует но спектр там есть как его оттуда вытащить вот оказалось что есть такой тип называется квадраты гергеле гергеле это опять-таки ученый у него есть такая довольно старая статья в ней он показал что квадраты латинские диагональ и существует для всех порядков

То есть он показал метод, который позволяет из квадрата маленького размером n построить большой размером 2n или 2n плюс 1. Оказалось, что от них вырастают весьма интересные спектры для ничего такого. Большие спектры, которые не вырастают от других типов квадратов. Мы это сейчас активно используем. Сейчас у меня считается как бы эксперимент начала на моей машине в один поток. Как раз мы строим один из спектров по такому типу квадрата. Это у меня выполняется будет несколько недель. Я к этому привык совершенно спокойно. Запускаю и считается. Здесь вопросы как раз остались по конфигурации сервера, по коллективу и самый главный вопрос, то есть что сейчас нужно. Понятно, что я проговорю, что там можно подключиться со своим компьютером, но может быть что-то и если есть математическое желание, то можно подключиться к команде для того, чтобы разрабатывать сами алгоритмы вместе с вами или например написать клиент под линукс, вычлительный модуль под линукс. Если желание у людей есть, есть идеи, ты как бы без вопросов. Всегда мы готовы рассмотреть, попробовать. Некоторые люди интересуются. Мы с кем-то общаемся. Бывает так время от времени. В Канаде люди есть, мы так переписываемся иногда. В Гарри Уайте есть. Есть в Европе. Есть француз Гаспау, например, француз. Есть коллектив австралийский, Брэндон Маккей, Джуди Теган и другая компания. Многие эти вещи в принципе до 90-х годов и до появления интернета и более-менее быстрых компьютеров были невозможными. То есть далеко не все можно математически прикинуть заранее. Опять-таки тот же самый уеист. Там идея такая есть, что многие числовые ряды они не имеют форму. То есть можно только перебором посчитать, но не по формуле. Есть очень большая математическая задача, а можно ли в принципе такую формулу найти. Вот, скажем, два примера. Я сегодня уже говорил про задачу о ладьях. То есть доска, n на n, n ладей, мы расставляем, чтобы не атаковали. Для ладей формула известна. Это n! А вот если мы ладей заменяем на ферзей, формула неизвестна. Казалось бы, небольшое изменение, атака по диагоналям и все. Я где-то краем глаза видел, даже какой-то есть набойный проект, как называется, где он работает. Он занимается чем? Он пытается формулы подбирать под известные числовые ряды. А чем люди могут помочь? То есть вам нужно свободное время. Это, наверное, такая довольно стандартная ситуация. Все-таки расчеты в первую очередь. То есть берем свои виндовые компьютеры, CPU. В первую очередь GPU пока не используется. И подключаемся к проекту RayXR через Boeing для того, чтобы считать. По GPU нас там как-то делали. Там получилось быстрее в 6 раз по отношению к процессору. Это, конечно, круто для задач комбинаторных. Потому что у многих не получается вообще ничего. Но потенциал видеокарты где-то в 2000 раз. То есть из 2000 мы получили всего лишь 6. Это слабо. Мы какое-то время считали, потом забросили. Я считаю, так вообще-то это неэффективно использовать видеокарты. Лучше пусть она какой-нибудь Nucleate считает. Что-нибудь другое, где выигрыш действительно гигантский. Я по Linux сделал довольно просто. Я арендовал небольшой VPS для того, чтобы сделать себе там VPN. И взял его чуть мощнее, чем надо. С четырьмя процессорами. И, соответственно, на нем просто накатил, запустил Boeing. Он считает 24 на 7 без всяких проблем. И да, с этой точки зрения Ubuntu может быть полезен. Ну, опять-таки, сейчас в России в связи с внешней политикой у нас та же самая Astra. Linux активно внедряется в разные сферы. И в образовательную, и не только. Туда можно посмотреть. Тоже я планирую. Если говорить про всякие мобильники, андроиды. Тут тоже весь довольно интересно. Этим у меня коллеги в Москве занимаются. Илья Курочкин и его подопечные студенты и коллеги. С мобильниками сложно. Греются жутко. Прямо надо сразу вентилятор цеплять к ним. Мобильник сам по себе дохлый. В плане флопс, который он выдает. В среднем, да. Но зависит от задач. Какие-нибудь задачи нейросетевые, типа Stable Diffusion, у меня мобильник считает быстрее и лучше. Примерно так же, как компьютер. Какая-то хитрая оптимизация. Какие-то блоки, которые там у него есть. Я, честно, глубоко не лезу. Но у него именно это место становится сразу же горячее. Ну, понятно, да. То, что я умею, понимаю, в том числе, преподаю. Это символы, всякие, MMX, CLX. Опять-таки, эти вещи тут мы не можем использовать. Никакой задачи не ложится. Как и с видеокартами. С мобильниками не интересовался. Но мобильников много. Их больше, чем компьютеров. Вот вопрос, что будет больше давать. То есть, мало мощных или много мелких. Возможно, второй перетянет. То есть, в принципе, в перспективе надо бы еще сделать то же самое под андроид. Тоже я хочу. Коллеги в Москве, студентов, как раз у Курочкина или им. Они уже даже что-то сделали. Задачу я им поставил, именно как на месте. И даже что-то там их или считалось, или считается. Я просто пока не видел результатов. Но вообще, боинг-клиент под андроид, он существует, он есть. И люди на нем считают. Как бы, если получится, ну, дальше можно будет скупать, как это водится. Телефоны с битыми экранами там за полцены собирать у себя на работе еще одну стойку, да, и с мобильников. Вот. И на ней считать. Почему бы нет? Может быть, так и получится. Посмотрим. Тут нужно все, опять-таки, время. Вот. Ну, и желание. Желание есть. Какие проекты на боинг еще нравятся? Значит, скажу так, опять-таки. Когда я этим всем начал интересоваться, как бы сама идея у меня в голове сидела, как бы, еще когда я до боинга, как бы, я еще не знал, что существует. Тогда перепробовал, в принципе, все, что было. То есть, у меня считалось как? Я обычно на своих матчах считал два проекта. Один, ну, свой, да, герасимовый, другой какой-то чужой. Чужой я менял. То есть, я попробовал все, которые были. Я все время написал в Википедии там серию статей по проектам, которых тогда не было. Все, ну, как бы там короткое, как бы такое научно-правильное описание. Тогда, думаю, маленький вклад, в принципе, вот вообще в целом в популяризацию направления. Спрашиваю студентов всегда, ребят, как вы думаете, какая наука, ну, наиболее сильно влияет на наше развитие, в принципе, человечества? И потом же его повторяю в конце. Вот как бы, ну, следствие какое? Что это математика и физика, в первую очередь. При том, как бы, ну, дальше уже там всякие, там, айтишные, программирование, там, схемотехника. Но база, в целом, математика и физика. Ну, не зря мать всех наук, может, заезженная такая фраза. Но, действительно, даже если, там, берем проект Folding at Home, да, то есть, который пытается найти лекарства и от ковида, и от прочих других болезней, все равно используются математические методы для того, чтобы посчитать, какие белки подойдут, какие нет. И чем лучше твои методы, тем больше, чем больше ты уже заранее посчитал, и чем больше у тебя есть возможность обратиться к датам, к базам данных, а не высчитывать заранее, тем просто быстрее будут происходить все эти процессы. А таких проектов, которые в сфере медицины, их там тоже десятки. То есть, каждый из них ускоряется за счет того, что кто-то в математике до них посчитал. Ну, лично мне, как бы, все-таки, больше нравится физика, математика. Вот. Не все подряд, разумеется. Как бы, ну, я, как бы, из того, что, прям, я могу рекомендовать, да, там, я знаю, что и Milky Way, то есть, такие крупные проекты интересные, потому что, как бы, те же самые гравитационные волны, там, да, та же самая темная материя, потоки звездные. Это вещь интересная, это передний край физики. Ну, более того, огромный проект в Boeing, это LHS, ну, то есть, большой андронный коллайдер, который тоже выкладывает гигантское количество материалов. Кроме того, что считает на своих суперкомпьютерах ни одном, он еще выкладывает огромное количество задач для грида. Да, они молодцы. У них есть свой грид, LCG. Я знаю, что наши российские, конкретно, я бываю в Дубне, вот тоже в этом году, надеюсь, мы поедем, там, да, будет у нас конференция грид. Ну, там грид, это очень такой большой грид. А Boeing, как бы, это такая маленькая часть нас. Человек 15 нас приезжает. Маленькая секция, вот. И, как раз, вот, Дубна, они входят как какой-то тир, то есть, какой-то уровень этого грида, который, вот, выкладывающийся, да, данные обрабатывает. То есть, там у них довольно много техники учительной, широкие каналы, там можно позавидовать. Так, белые зависти, они молодцы. Вот. Ну, и там, разумеется, данные обрабатываются такие, которые именно, вот, после эксперимента. То есть, там огромное количество тонн скачиваются, да, обрабатываются, закачиваются. В Boeing так не получится. В Boeing считалось, я тоже это поддерживал всеми руками, которые у меня есть, магнитный подсистема. То есть, параметры магнитов, которые позволяют пучок в кольце держать, как бы, на траектории, чтобы он не сходил там, да, не цеплял. Это передний край. Потому что, как бы, то же самое. Я сам физику в науке не пошел, но физику я горячо люблю. Ну, вот пример, да, скажем, если мы, там, на какой-то там век, там, не знаю, семнадцать откатимся, когда еще про электричество ничего толком не было известно, как бы, да, пошли опыты. В итоге, к чему мы пришли сегодня? То есть, все, что нас угрожает, это все электричество. То есть, вот, нас, как бы, это вперед прям рывок. Если мы сейчас вот что-нибудь такое же откроем новое, да, по смыслу, там, как квантовая механика, как я делаю энергию все время, там, какие-то там паровозы, вот, да, это будет чуть раньше. Это будет именно рывок вперед. Ну, та же квантовая механика, ну, тот же базон Хиггса, как бы, такие вещи, которые, как бы, реально, это передний край науки. Там тоже задач огромное количество. Та же самая, там, сверхпроводимость, там, высокотемпература, там, второго рода фирмоники, там, и так далее. То есть, там задач огромное количество. Но сейчас еще есть возможность как раз еще химические элементы собирать сначала в математическом виде и потом уже производить. И я на днях читал некую интерпретацию подхода к квантовой физике. Ну, то есть, есть стандартная такая фраза, заткнись и считай. Иногда невозможно какие-то квантовые эффекты интерпретировать так, чтобы можно было в голове представить, а что в этот момент конкретно происходит. Но есть формула, которая показывает результат взаимодействия, или там, статистическую вероятность того или иного исхода, того или иного события. И, соответственно, в общем-то, выходит так, что все, что касается микромира, это мир математики, который не интерпретируется в неком реальном виде, который мы можем как-то ощутить, представить, понять, но хорошо интерпретируется в виде формул. И это тоже плюс к тому, что чтобы считать математику экстремально важной. Это сложная, да, и интересная сфера физики. Потому что все, что касается квантовой механики, такие вещи вероятностные, как бы у нас в макромире такого не происходит. То есть, если я возьму, у меня бумага на столе лежит, скомкаю туда бумажки и буду кидать их через стекло. Сколько пролетит? Ни одного не пролетит. А там сколько-то пролетит через потенциальный барьер. А некоторые улетят назад. Поэтому это статистика. И заранее нельзя сказать, какая пролетитка не пролетит. Это очень интересно, потому что это позволит опять-таки физику двинуть вперед. Плюс, если говорить про материалы, материаловедение, те же самые полупроводники, тонкие материалы типа графена, трубки. Это тоже сфера огромная и это, скорее всего, выстанет в ближайшие десятилетия. То есть, как бы чего-то точно получится. Потому что наша техника учительная, опять-таки, от Заквеймура, он уже почти перестал работать, может лет пять еще, а может и меньше. То есть, как бы перестанет удваиваться число транзисторов, перестанут бешеными темпами расти параметры смартфонов и всего остального. Нужно будет какой-то другой драйвер сказать. Это же вопрос, что будет. Бьет силикон. Тот же самый отчет АМД пока говорит, что им удается пока удваиваться раз в два года по мощности, не по количеству транзисторов уже, раз в два с половиной года примерно. И они тоже дальше видят примерно, как дальше развиваться. Там речь у них выйдет о том, чтобы процессоры становились все менее плоскими, все более трехмерными. Там есть вопросы с охлаждением связанные. Сразу же вопрос с охлаждением. Вот, есть подходы к решению, попытки метроканалы всякие строить, теплоотводы. Я думаю, технически это сделают. Уже, в принципе, и память можно также сверху тоже самое HBM известную поставить. То есть, длины проводов меньше, сигнал бегает быстрее, поэтому частота выше. Это все, в принципе, интересно. Опять-таки, было бы очень интересно, если бы этим еще и в России занимали. Потому что у нас, конечно, большой провал. И, в принципе, опять-таки, моя часть диссертации докторской была бы с этим связана, с проектирами. То есть, не с квадратами абсолютно. Тоже некий саппорт для проектирования проблем. Похожие задачи, те же юристики. Все это такая чисто уже практическая вещь, не фундаментальная. Но если в России будут делать, как возможно, когда-нибудь кому-нибудь пригодится. Какая задумка? Я хочу сделать книгу, где сначала все это по полочкам разложить. Все это лежит в голове. Что-то написано в статьях, нарисовано. Что-то нету нарисовать. А потом, возможно, по ней сделать такое, как видео. Класс, Эдуард. Спасибо большое. Очень интересный разговор. На самом деле, у меня, в общем-то, вопросы закончились. То есть, получится хороший выпуск, который, мне кажется, вопросы именно латинских квадратов, ортогональных рейксерча и прочего вполне покрывает. Очень приятно познакомиться. И большое спасибо, что согласились и пообщаться, и так подробно все рассказали.

Платформы