|   |   | 
| 
 | OFF: Нейронка на 1С | ☑ | ||
|---|---|---|---|---|
| 0
    
        maxab72 16.05.25✎ 11:03 | Код нейронки на 1СПроцедура глНачальноеЗаполнениеСлоевИУзлов() Экспорт
	
	НаборЗаписей = РегистрыСведений.Расчет.СоздатьНаборЗаписей();
	НаборЗаписей.Записать(ИСТИНА);
	
	Выборка = Справочники.Узлы.Выбрать();
	Пока Выборка.Следующий() Цикл
	
		текСпрО = Выборка.ПолучитьОбъект();
		текСпрО.ПометкаУдаления = Истина;
		текСпрО.Записать();
	
	КонецЦикла;
	
	Помеченные = НайтиПомеченныеНаУдаление();
	Найденные = Неопределено;
	УдалитьОбъекты(Помеченные, Ложь, Найденные);
	Для каждого Ссылка из Найденные Цикл
		СтрСообщения = "Объект не удален: " + СокрЛП(Ссылка[0]);
		СтрСсылка = ", используется в " + СокрЛП(Ссылка[1]);
		Сообщить (СтрСообщения + СтрСсылка);
	КонецЦикла;
	
	ВсегоСлоев = Константы.Слоев.Получить();
	УзловВСлое = Константы.УзловВСлое.Получить();
	
	// Входящие узлы 0-слоя
	
	НоваяГруппа = Справочники.Узлы.СоздатьГруппу();
	НоваяГруппа.Наименование = "Слой 000";
	НоваяГруппа.Записать();
	
	Группа = НоваяГруппа.Ссылка;
	
	СпсУзловПредыдущегоСлоя = Новый СписокЗначений;
	
	Для счУзлов = 1 По УзловВСлое Цикл
		
		НовыйУзел = Справочники.Узлы.СоздатьЭлемент();
		НовыйУзел.Родитель = Группа;
		НовыйУзел.Наименование = "Узел 000." + Прав("000" + Строка(счУзлов), 3);
		НовыйУзел.Слой = 0;
		НовыйУзел.НомерВСлое = счУзлов;
		НовыйУзел.Записать();
		
		СпсУзловПредыдущегоСлоя.Добавить(НовыйУзел.Ссылка);
		
	КонецЦикла;
	
	// Узлы по слоям расчета
	
	СпсУзловНовогоСлоя = Новый СписокЗначений;
	
	Для счСлоев = 1 По ВсегоСлоев Цикл
		
		НоваяГруппа = Справочники.Узлы.СоздатьГруппу();
		НоваяГруппа.Наименование = "Слой " + Прав("000" + Строка(счСлоев), 3);
		НоваяГруппа.Записать();
		
		Группа = НоваяГруппа.Ссылка;
		
		СпсУзловНовогоСлоя.Очистить();
		
		Для счУзлов = 1 По УзловВСлое Цикл
		
			НовыйУзел = Справочники.Узлы.СоздатьЭлемент();
			НовыйУзел.Родитель = Группа;
			НовыйУзел.Наименование = "Узел " + Прав("000" + Строка(счСлоев), 3) + "." + Прав("000" + Строка(счУзлов), 3);
			НовыйУзел.Слой = счСлоев;
			НовыйУзел.НомерВСлое = счУзлов;
			
			Для каждого ЭлСпс Из СпсУзловПредыдущегоСлоя Цикл
			
				стрВес = НовыйУзел.Веса.Добавить();
				стрВес.Узел = ЭлСпс.Значение;
				стрВес.Вес = 1;
			
			КонецЦикла;
			
			НовыйУзел.Записать();
		
			СпсУзловНовогоСлоя.Добавить(НовыйУзел.Ссылка);
		
		КонецЦикла;
		
		СпсУзловПредыдущегоСлоя.Очистить();
		
		Для каждого ЭлСпс Из СпсУзловНовогоСлоя Цикл
		
			СпсУзловПредыдущегоСлоя.Добавить(ЭлСпс.Значение);
		
		КонецЦикла;
	
	КонецЦикла;
	
	// Узел результата
	
	НовыйУзел = Справочники.Узлы.СоздатьЭлемент();
	НовыйУзел.Родитель = Группа;
	НовыйУзел.Наименование = "Узел результата";
	НовыйУзел.Слой = ВсегоСлоев + 1;
	НовыйУзел.НомерВСлое = 1;
			
	Для каждого ЭлСпс Из СпсУзловПредыдущегоСлоя Цикл
			
		стрВес = НовыйУзел.Веса.Добавить();
		стрВес.Узел = ЭлСпс.Значение;
		стрВес.Вес = 1;
			
	КонецЦикла;
			
	НовыйУзел.Записать();
КонецПроцедуры
Функция локПреобразоватьИзЧислаВДвоичноеЧисло(Знач Значение)
	
	Результат="";
	
	Пока Значение > 0 цикл
		Остаток = Значение % 2;
		Результат1 = Сред("01", Остаток+1, 1);
		Значение = (Значение - Остаток) / 2;
		Результат = Результат1 + Результат;
	КонецЦикла;
	
	Возврат Результат;
КонецФункции
Функция локОбработатьВход(ВходящееЧисло = 0)
	СписокЗначенийВходящий = Новый СписокЗначений;
	
	ЧислоДвоичноеСтрокой = локПреобразоватьИзЧислаВДвоичноеЧисло(ВходящееЧисло);
	
	УзловВСлое = Константы.УзловВСлое.Получить();
	
	ПервыеНули = "0";
	Для ЧЦ = 1 По УзловВСлое Цикл
	
		ПервыеНули = ПервыеНули + "0";
	
	КонецЦикла;
	
	ЧислоДвоичноеСтрокой = Прав(ПервыеНули + ЧислоДвоичноеСтрокой, УзловВСлое);
	
	ДлинаДвоичногоЧисла = СтрДлина(ЧислоДвоичноеСтрокой);
	
	Для ЧЦ = 1 По УзловВСлое Цикл
	
		СписокЗначенийВходящий.Добавить(Сред(ЧислоДвоичноеСтрокой, ЧЦ, 1));
	
	КонецЦикла;
	
	Возврат СписокЗначенийВходящий;
КонецФункции
Функция локНайтиУзелПоСлоюИНомеру(Слой, Номер)
	Ответ = Справочники.Узлы.ПустаяСсылка();
	
	Запрос = Новый Запрос;
	Запрос.Текст = 
	"ВЫБРАТЬ
	|	Узлы.Ссылка КАК Ссылка
	|ИЗ
	|	Справочник.Узлы КАК Узлы
	|ГДЕ
	|	Узлы.Слой = &Слой
	|	И Узлы.НомерВСлое = &Номер
	|	И Узлы.ПометкаУдаления = ЛОЖЬ
	|	И Узлы.ЭтоГруппа = ЛОЖЬ";
	
	Запрос.УстановитьПараметр("Слой", Слой);
	Запрос.УстановитьПараметр("Номер", Номер);
	
	Выборка = Запрос.Выполнить().Выбрать();
	
	Если Выборка.Следующий() Тогда
	
		Ответ = Выборка.Ссылка;
	
	КонецЕсли;
	
	Возврат Ответ;
КонецФункции
Функция глРасчетУзла(Узел) Экспорт
	
	Ответ = Ложь;
	
	Запрос = Новый Запрос;
	Запрос.Текст = 
	"ВЫБРАТЬ
	|	УзлыВеса.Узел КАК Узел,
	|	УзлыВеса.Вес * ЕСТЬNULL(Расчет.Значение, 0) КАК Значение
	|ПОМЕСТИТЬ ТЗУзлы
	|ИЗ
	|	Справочник.Узлы.Веса КАК УзлыВеса
	|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Расчет КАК Расчет
	|		ПО УзлыВеса.Узел = Расчет.Узел
	|ГДЕ
	|	УзлыВеса.Ссылка = &Узел
	|;
	|
	|////////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ТЗУзлы.Узел) КАК КоличествоВходов
	|ПОМЕСТИТЬ ТЗКоличествоВходов
	|ИЗ
	|	ТЗУзлы КАК ТЗУзлы
	|;
	|
	|////////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	СУММА(ТЗУзлы.Значение) КАК СуммаВходов
	|ПОМЕСТИТЬ ТЗСуммаВходов
	|ИЗ
	|	ТЗУзлы КАК ТЗУзлы
	|;
	|
	|////////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	ВЫБОР КОГДА ТЗСуммаВходов.СуммаВходов >= ТЗКоличествоВходов.КоличествоВходов ТОГДА 1 ИНАЧЕ 0 КОНЕЦ КАК Результат
	|ИЗ
	|	ТЗКоличествоВходов КАК ТЗКоличествоВходов,
	|	ТЗСуммаВходов КАК ТЗСуммаВходов";
	
	Запрос.УстановитьПараметр("Узел", Узел);
	
	Выборка = Запрос.Выполнить().Выбрать();
	
	Если Выборка.Следующий() Тогда
	
		Ответ = Выборка.Результат;
	
	КонецЕсли;
	
	Возврат Ответ;
КонецФункции // глРасчетУзла()
Функция глПроизвестиРасчет(ВходящееЧисло = 0) Экспорт
	
	Ответ = 0;
	
	СписокВходящий = локОбработатьВход(ВходящееЧисло);	
	
	ВсегоСлоев = Константы.Слоев.Получить();
	УзловВСлое = Константы.УзловВСлое.Получить();
	
	// Заполняем входящий нулевой слой
	
	Для счУзлов = 1 По УзловВСлое Цикл
	
		текУзел = локНайтиУзелПоСлоюИНомеру(0, счУзлов);
		
		текЗначение = ?(СписокВходящий.Получить(счУзлов - 1) = "1", 1, 0);
		
		НаборЗаписей = РегистрыСведений.Расчет.СоздатьНаборЗаписей();
		НаборЗаписей.Отбор.Узел.Установить(текУзел);
		
		НоваяЗапись = НаборЗаписей.Добавить();
		НоваяЗапись.Активность = Истина;
		НоваяЗапись.Узел = текУзел;
		НоваяЗапись.Значение = текЗначение;
		
		НаборЗаписей.Записать(Истина);
	
	КонецЦикла;
	
	// Включаем думатель
	
	Для счСлоев = 1 По ВсегоСлоев Цикл
		
		Для счУзлов = 1 По УзловВСлое Цикл
		
			текУзел = локНайтиУзелПоСлоюИНомеру(счСлоев, счУзлов);
			
			текЗначение = глРасчетУзла(текУзел);
		
			НаборЗаписей = РегистрыСведений.Расчет.СоздатьНаборЗаписей();
			НаборЗаписей.Отбор.Узел.Установить(текУзел);
			
			НоваяЗапись = НаборЗаписей.Добавить();
			НоваяЗапись.Активность = Истина;
			НоваяЗапись.Узел = текУзел;
			НоваяЗапись.Значение = текЗначение;
			
			НаборЗаписей.Записать(Истина);
		
		КонецЦикла;
	
	КонецЦикла;
	
	// Запускаем анализатор
	
	текУзел = локНайтиУзелПоСлоюИНомеру(ВсегоСлоев + 1, 1);
			
	текЗначение = глРасчетУзла(текУзел);
	
	Ответ = текЗначение;
	
	Возврат Ответ;
	
КонецФункции
Процедура глОбучение(Ответ, ПравильныйОтвет) Экспорт
	
	ВсегоСлоев = Константы.Слоев.Получить();
	СуммаСлоев = ВсегоСлоев * (ВсегоСлоев + 1) / 2;
	
	// Выбираем исправляемые узлы
	
	Запрос = Новый Запрос;
	Запрос.Текст = 
	"ВЫБРАТЬ
	|	Расчет.Узел КАК Узел
	|ИЗ
	|	РегистрСведений.Расчет КАК Расчет
	|ГДЕ
	|	Расчет.Значение = &Ответ";
	
	Запрос.УстановитьПараметр("Ответ", Ответ);
	
	Выборка = Запрос.Выполнить().Выбрать();
	
	Запрос = Новый Запрос;
	Запрос.Текст = 
	"ВЫБРАТЬ
	|	Расчет.Значение КАК Значение
	|ИЗ
	|	РегистрСведений.Расчет КАК Расчет
	|ГДЕ
	|	Расчет.Узел = &Узел";
	
	Пока Выборка.Следующий() Цикл
		
		текУзел = Выборка.Узел.ПолучитьОбъект();
		
		Если текУзел.Слой = 0 ИЛИ текУзел.Слой > ВсегоСлоев Тогда
		
			Продолжить;
		
		КонецЕсли;
	
		Для каждого стрВеса Из текУзел.Веса Цикл
		
			текУзелВход = стрВеса.Узел;
			текРезультат = 0;
			
			Запрос.УстановитьПараметр("Узел", текУзелВход);
			
			ВыборкаРезультат = Запрос.Выполнить().Выбрать();
			
			Если Выборка.Следующий() Тогда
			
				текРезультат = Выборка.Значение;	
			
			КонецЕсли;
			
			Если текРезультат = Ответ Тогда
				
				текДельта = ?(Ответ = ПравильныйОтвет, 1, -1) * текУзел.Слой / СуммаСлоев;
				
				стрВеса.Вес = стрВеса.Вес + текДельта;
			
			КонецЕсли;
		
		КонецЦикла;
		
		текУзел.Записать();
		
	КонецЦикла;
	
КонецПроцедурыУже умеет отличать четные числа от нечетных. Если маленько допилить рашпилем, сможет управлять миром. | |||
| 1
    
        PLUT гуру 16.05.25✎ 10:59 | 
        а следующее простое число умеет искать?     | |||
| 2
    
        maxab72 16.05.25✎ 11:03 | 
        (1) не учил. Отличать простое от не простого может, но пока с ошибками, мало учил.
 и надо переделать анализатор, чтоб выдавал не просто да/нет, а число (увеличить число узлов с 1 до N в этом слое). | |||
| 3
    
        PLUT гуру 16.05.25✎ 11:04 | 
        Наибольшим известным простым числом по состоянию на 2024 год является число Мерсенна 2136 279 841 − 1
 © википедики | |||
| 4
    
        PLUT гуру 16.05.25✎ 11:04 | 
        (3) ну вот как следующее найти, а х. его знает     | |||
| 5
    
        maxab72 16.05.25✎ 11:06 | 
        (4) совсем не сложно, берешь карандаш и лист бумаги и проверяешь все последующие число на делимость...     | |||
| 6
    
        PLUT гуру 16.05.25✎ 11:14 | 
        (5) особенно если не собираешься это делать сам :)     | |||
| 7
    
        Злопчинский 16.05.25✎ 12:15 | 
        (5) хрен ли тут искать?
 1 - простое, +2 =3 - простое, +2 = 5 - простое... методом индукции - к предыдущему простому добавляем +2 - получаем следующее простое. проверяем: 5 - простое, +2 = 7 - простое. Вуаля! | |||
| 8
    
        maxab72 16.05.25✎ 12:17 | 
        (7) пропустил 2 - оно тоже простое. то есть надо прибавлять не по 2, а по 1.     | |||
| 9
    
        PLUT гуру 16.05.25✎ 12:20 | 
        а есть еще треугольные числа
 Любое натуральное число представимо в виде суммы не более трёх треугольных чисел © Гаусс какой-то в 1796 году | |||
| 10
    
        Злопчинский 16.05.25✎ 12:21 | 
        (8)     
 | |||
| 11
    
        Злопчинский 16.05.25✎ 12:23 | 
        (9) вот они     
 | |||
| 12
    
        PLUT гуру 16.05.25✎ 12:58 | 
        (7) 
 Число 1 — не является ни простым, ни составным числом, так как у него только один делитель — 1. Именно этим оно отличается от всех остальных натуральных чисел. Число 2 — первое наименьшее простое, единственное четное, простое число © тырнет | |||
| 13
    
        PR 16.05.25✎ 14:03 | 
        (7) Ну да, 7 + 2 = 9 тоже простое
 Знаменитые простые числа Злопчинского | |||
| 14
    
        Garykom гуру 16.05.25✎ 14:27 | 
        Интересно а существует ли формула/уравнение для простых чисел?
 Чисто теоретически в виде кривой их можно представить, нечто вроде странной "синусоиды" | |||
| 15
    
        PLUT гуру 16.05.25✎ 14:37 | 
        (14) школу прогуливал наверное?
 много умов поломалось с поиском "формулы/функции" нахождения следующего простого числа... множество простых чисел бесконечно! © Евклид какой-то | |||
| 16
    
        Garykom гуру 16.05.25✎ 14:43 | 
        (15) Если ты не понял сути то вероятно прогуливал не я
 wiki:Синусоида тоже бесконечно пересекает ось абцисс для простых чисел чем дальше в стороны тем реже пересечения надо, волны разбегаются понятно речь о некой функции, которая приближенно отражает простые числа или на заданном интервале | |||
| 17
    
        PLUT гуру 16.05.25✎ 14:45 | 
        (16) приближенно это как?
 дроби не просто так существуют :) | |||
| 18
    
        PLUT гуру 16.05.25✎ 14:47 | 
        вот тут про закономерности первая попавшаяся
 https://habr.com/ru/articles/535124/ Риман какой-то формулу приближенную вывел Риман получил приближение, используя интегральный логарифм и нетривиальные нули дзета-функции Римана. Однако, это приближение верно, только если верна гипотеза Римана. Причём если гипотеза Римана верна, то оно является наилучшим. Гипотеза Римана до сих пор не доказана и не опровергнута ©пижжено оттуда | |||
| 19
    
        maxab72 16.05.25✎ 14:48 | 
        (16) гуглите дзета-функцию Римана.     | |||
| 20
    
        Garykom гуру 16.05.25✎ 14:51 | 
        (18) (19) ага интересно
 Также были выдвинуты гипотезы о возможной связи статистических свойств нетривиальных нулей дзета-функции Римана (а значит — и простых чисел) с явлениями квантовой физики, в частности — с квантовым хаосом | |||
| 21
    
        PR 16.05.25✎ 14:54 | 
        (14) Нет     | |||
| 22
    
        Garykom гуру 16.05.25✎ 14:59 | 
        (21)  В 1735 году была установлена связь между простыми числами и π, когда Леонард Эйлер решил знаменитую Базельскую проблему т.е. теоретически через Пи можно практически пока не придумали и не факт что придумают простую даже если придумают будет зависеть от точности некоего расчета | |||
| 23
    
        PLUT гуру 16.05.25✎ 15:05 | 
        (22) криптоёптаграфия на простых числах построена
 что произведение двух простых чисел (больших) известно, а вот результат этого произведения двух простых чисел обратно на два простых множителя разложить - а вот х.й вся надежда на квантовые компуктеры, когда много кубитов будет и скорость параллельных вычислений (ссуть перебор) будет огромной. может быть тогда... | |||
| 24
    
        Злопчинский 16.05.25✎ 16:14 | 
        (13) конечно 9 - простое. Или оно вызывает у вас сложности? ;-)     | |||
| 25
    
        Волшебник 16.05.25✎ 16:26 | 
        >> умеет отличать четные числа от нечетных
 Функция Четное(а) Возврат а % 2 = 0; КонецФункции | |||
| 26
    
        PLUT гуру 16.05.25✎ 16:28 | 
        все простые числа нечётные, кроме одного числа     | |||
| 27
    
        Fish гуру 16.05.25✎ 16:30 | 
        (26) Но далеко не все нечетные числа - простые.     | |||
| 28
    
        PLUT гуру 16.05.25✎ 16:31 | 
        (27) все лохлы - тридварасы, но не все тридварасы - лохлы :)     | |||
| 29
    
        maxab72 16.05.25✎ 16:32 | 
        (25) зато она это делает интеллектуально!     | |||
| 30
    
        hunter76 16.05.25✎ 16:35 | 
        (24) 9 делится на себя, на 1 и на 3     | |||
| 31
    
        Волшебник 16.05.25✎ 16:36 | 
        (29) зато она это делает неточно. Кому нужна нейронка, которая может ошибиться на простой вопрос?     | |||
| 32
    
        maxab72 16.05.25✎ 16:39 | 
        (31) зато со своей нечеткой логикой она (теоретически) может ответить на главный вопрос жизни, вселенной и всего такого.     | |||
| 33
    
        Fish гуру 16.05.25✎ 16:41 | 
        (31) Человек тоже может ошибиться при ответе на простой вопрос. Кому нужны человеки?     | |||
| 34
    
        PLUT гуру 16.05.25✎ 16:43 | 
        (33) врать нельзя, ошибиться можно 
 © цытаты великих | |||
| 35
    
        Fish гуру 16.05.25✎ 16:46 | 
        (34) Кстати, как раз врать нейронки не умеют. Они всегда честны, даже когда несут полную чушь :))     | |||
| 36
    
        Krendel 16.05.25✎ 17:14 | 
        (35) квина, дипсик умеют, грок скорее всего уже тоже     | |||
| 37
    
        Timon1405 16.05.25✎ 18:52 | 
        (14) многочлен Матиясевича wiki:Простое_число     | |||
| 38
    
        maxab72 16.05.25✎ 20:03 | 
        (25) я переучил свою нейронку на умение отличать числа, имеющие в начале цифру 3 от остальных. Теперь переучите без кодирования свою функцию!     | |||
| 39
    
        Волшебник 16.05.25✎ 20:18 | 
        (38) Когда мне запрещают программировать, моя рука тянется к пистолету...     | |||
| 40
    
        maxab72 16.05.25✎ 20:22 | 
        (39) моя нейронка запомнила этот пост...     | |||
| 41
    
        Волшебник 16.05.25✎ 20:41 | 
        (40)       | |||
| 42
    
        VS-1976 17.05.25✎ 15:18 | 
        (25) Ретроград...
 А как же стильно, модно, молодёжно... | |||
| 43
    
        Волшебник 17.05.25✎ 18:06 | 
        (42) Можно и микроскопом гвозди забивать     | |||
| 44
    
        stix2010 19.05.25✎ 10:36 | 
        (0) Что еще нужно для запуска Skynet? Управление терминатором   написано?     | |||
| 45
    
        Волшебник 19.05.25✎ 11:11 | 
        (44) Китайская компания ADA Space совместно с Чжэцзянской лабораторией (Zhejiang Lab), предполагает отказ от традиционных спутников связи и дистанционного зондирования в пользу принципиально нового класса орбитальных платформ — космических суперкомпьютеров с искусственным интеллектом.
 https://habr.com/ru/companies/cloud4y/news/910572/ А вот и Скайнет... | |||
| 46
    
        1Снеговик гуру 19.05.25✎ 11:35 | 
        (45) нафига компьютеры в космос запускать? 
 Они как раз будут целое здание занимать и питаться от АЭС. А обслуживать их как? В Космосе должны быть только датчики/оптика и средства связи. | |||
| 47
    
        Прохожий 19.05.25✎ 11:37 | 
        Остается главный вопрос - что грандиознее. Нейронка на 1С или шахматы от NS.     | |||
| 48
    
        Волшебник 19.05.25✎ 11:38 | 
        (46) В космосе хорошее охлаждение, бесплатное питание от солнечных панелей, недосягаемость для человеков с дубинками, широкий обзор поверхности.     | |||
| 49
    
        PLUT гуру 19.05.25✎ 11:44 | 
        (48) в космосе хреновое охлаждение
 вот тут про станцию Мир и как она перегревалась, хотя казалось бы - "минус" за бортом некислый https://habr.com/ru/companies/timeweb/articles/662457/ | |||
| 50
    
        maxab72 19.05.25✎ 12:15 | 
        (48) нет конвекционной передачи тепла, только излучением. хреновое охлаждение там. Это все равно что засунуть процессор в термос.     | |||
| 51
    
        Злопчинский 23.05.25✎ 18:09 | 
        вот     
 | |||
| 52
    
        mmg 23.05.25✎ 20:40 | 
        (49) Там, где летал Мир 2000 градусов. Трудно назвать минусом , даже в скобках     | |||
| 53
    
        Lama12 24.05.25✎ 20:26 | 
        (0) Лет 10 назад на инфостаре ты выкладывал обработку с нейронкой?     | |||
| 54
    
        maxab72 24.05.25✎ 20:43 | 
        (53) нет.     | |||
| 55
    
        Злопчинский 24.05.25✎ 22:47 | 
        (53) судя по всему вот про это https://infostart.ru/1c/tools/346707/     | |||
| 56
    
        maxab72 25.05.25✎ 11:46 | 
        (55) не, моя проще и примитивнее (например для обучения не используются решения систем линейных уравнений, поскольку ответ всегда да или нет, поэтому я использовал другое, более простое распределение поправок). Я ее на обычных формах без БСП за пару часов слепил поиграться. Пару лет назад я помогал племяннику делать аналогичное для курсовика (но там использовалась готовая библиотека от его профессора) на Си++, так что теорию я знал, и наляпать что-то простенькое по мотивам труда не составило.     | |||
| 57
    
        mmg 25.05.25✎ 12:08 | 
        (56) Добавлю, что (55) в свою очередь гораздо проще трансформера, который сейчас используется во всех языковых моделях     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |