Русский
Русский
English
Статистика
Реклама

Машинное обучение. нейросети

Честные глаза плагиатора, или еще один взгляд на будущее систем обнаружения заимствований

01.04.2021 10:10:31 | Автор: admin

Развивать систему, созданную 16 лет назад, конечно, не подвиг, но вообще что-то героическое в этом есть (с). От пользователей регулярно прилетают вопросы: что будете делать дальше? Каким будет Антиплагиат через несколько лет? Все правильно, все верно нельзя позволять рутине себя засасывать настолько, чтобы не оставалось времени подумать о далеком, о жестоком, ну вы поняли о будущем.


Действительно, начало весны (отчетность закончилась, а сессия еще не началась) самое удобное время для стратегических планов. Ну а заодно и для удовлетворения любопытства наших пользователей.


Не могу сказать, что описываю совсем уж ближайшее будущее. Какие-то идеи пока находятся в обработке у наших исследователей, какие-то и вовсе пока еще варятся в головах. Но тем не менее, описанный ниже сценарий развития системы Антиплагиат сейчас наиболее вероятен.
Картинку даю, слегка опережая события. Она имеет непосредственное отношение к теме статьи, но, чтобы обо всем рассказать, нужно чуть больше места.



Кадр из а/ф Шрек (англ. Shrek), DreamWorks Pictures, 2001 год



Нам хотелось бы решить проблему подстройки пользователей под систему если не раз и навсегда, то, по крайней мере, надолго. Нужно сделать так, чтобы мы были готовы к любым новым хитростям со стороны тех, кому потенциально интересно выдать чужой текст за свой. Для того, чтобы изложить суть моей идеи, нужно для начала изложить три предпосылки.


Предпосылка первая


Любая контролирующая система будет оставаться эффективной только в случае непрерывного развития. Должно быть что-то, в чем она опережает тех, кто пытается ее обмануть. Иначе окружающая среда, мотивированная на преодоление системы Антиплагиат, сожрет ее с потрохами найдет слабые места и придумает, как эти слабые места эксплуатировать. Информация и о том, и о другом становится достоянием общественности очень быстро.


До определенной степени можно продержаться, используя принцип Security through obscurity, то есть скрывая архитектуру и детали алгоритмов. Но, как показывает практика, принцип хорошо работает в том случае, если вы никому_не_нужный_неуловимый_Джо. Если же (как в нашем случае) систему ежедневно используют десятки или сотни тысяч пользователей, то ваша таинственность идет вам, как Соеву пенсе помогает очень ограничено.


Предпосылка вторая


Если рассматривать обнаружение заимствований как задачу информационного поиска, то не покидает ощущение легкой нечестности происходящего. В классическом поиске субъект (т.е. пользователь) заинтересован в получении хорошего результата. Он может не иметь нужного навыка, но уж если он ищет, допустим, пластиковые окна или рефераты по экономике, то рассчитывает получить максимально полезные для себя результаты. В ситуации с заимствованиями же можно уверенно говорить, что большая часть пользователей хотела бы, чтобы вне зависимости от объективной реальности не было найденоничего. И очень многие из этих пользователей готовы прикладывать те или иные усилия, чтобы приблизиться к такому идеальному результату. Перефразировка, перевод, скрытый текст, незаметные пробелы, встроенные объекты, миллион вариантов повышения оригинальности. Естественно, мы совершенствуем систему и чем дальше идем в этом направлении, тем сложнее становится именно повышать. Но между изобретением нового способа улучшения результата и изменением в системе (будь то хотфикс или новая функциональность) всегда проходит время и иногда достаточно большое.


Предпосылка третья


Качество работы поиска это всегда баланс. Во-первых, это баланс между тем, чтобы не сигнализировать о проблемах тогда, когда их нет, и тем, чтобы упустить явное заимствование, когда оно есть. Как говорится, и овцы целы, и волки сыты, что бы это ни значило. Во-вторых, это баланс затрачиваемых ресурсов на обработку документа. Мы не должны потратить слишком много (времени, процессорного времени, памяти, трафика), если нет дополнительных предпосылок к тому, что нужно поискать повнимательнее. Дополнительные ресурсы лягут на пользователей увеличением стоимости использования сервиса, а деньги все считать умеют.


А теперь, собственно, Идея


Идея, если коротко, состоит в следующем: использовать априорную информацию об учебной работе, чтобы помочь системе Антиплагиат выбрать нужную степень паранойи при анализе конкретной работы.


То есть, если система будет знать, что к той или иной работе нужно присмотреться повнимательнее, то это позволит анализировать зону риска более тщательно, не затрачивая ресурсы на проверку других работ.



Кадр из к/ф Место встречи изменить нельзя, Одесская киностудия, 1979 год


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


Способ первый спросить преподавателя


В системе Антиплагиат.ВУЗ преподаватель при создании задания сразу может отметить тех студентов, чьим работам следует уделить внимание. Примерно так:



Источник картинки: компания Антиплагиат


У этого способа есть несколько особенностей. Во-первых, очевидно, что преподаватели не будут использовать его массово. Слишком много отклонений от простого варианта: Next, Next, Next, Finish.


Во-вторых, этот способ может нести риски стимулирования коррупции. Для нейтрализации этого риска необходимо будет использовать перекрестный контроль.


Наконец, в-третьих, накапливаемые данные можно будет использовать для обучения классификатора. Чтобы преподаватели не жестили, будет введено ограничение на количество и долю студентов, которых можно подозревать в рамках одного задания.


Способ второй API


Второй способ является упрощенным вариантом первого. Нужно отдать во внешние системы возможность управления уровнем паранойи. Типичная внешняя система СДО Moodle, для которой уже есть сертифицированная интеграция с Антиплагиат.ВУЗ.


Реализация этого способа проста до невозможности. Расширяем параметр CheckDocParams метода CheckDocument:



параметром паранойи системы:



Остальное остается на откуп партнерам, которые реализовали интеграцию.


В чем проблема этих двух способов? В том, что они не работают без человека, который может быть предвзят, которому может быть просто лень или некогда, который, наконец, может просто ошибаться.


Конечно, можно было бы организовать предсказательную систему так, как, например, было предложено в фильме Особое мнение.



Кадр из к/ф Особое мнение (англ. Minority Report), 20th Century Fox, DreamWorks Pictures, Amblin Entertainment, Blue Tulip Productions, 2002 год


Но до тех пор, пока наш HR занимается заполнением открывшихся вакансий провидцев, нам придется полагаться на возможности AI.


Способ третий искусственный интеллект


Итак, о третьем способе на основе машинного обучения. Нужно оценить априорную склонность студента к использованию чужого текста. В современных условиях всеохватывающей дистанционки этот способ отлично работает в условиях видео- и аудиопотока. Каждый студент так или иначе взаимодействует со своим вузом онлайн. Самый распространенный вариант это Zoom. Звучит слегка безумно, но нам нужно оценить шансы на то, что студент прибегает к плагиату, посредством видеочата с этим самым студентом.


Первым для оценки склонности к плагиату будет использован анализ движения зрачков студента на онлайн занятиях. По этой теме, есть как научные работы с анализом методов извлечения и анализа траектории движения зрачка (например, Christian Hirt et al, Maria K. Eckstein et al, Yujin Jung et al), так и готовые библиотеки (тот же PyGaze), которые можно использовать для промышленных задач.


Таким образом, перед нами обычная задача классификации с двумя классами. Этапы решения задачи вполне традиционные:


  1. Предобработка видеопотока
  2. Получение трека движения взгляда
  3. Выделение признаков
  4. Решение задачи классификации

Примечательно то, что данные для обучения классификатора можно собирать на действующей системе: нам достаточно сделать программного агента, собирающего признаки через Zoom API, после чего сопоставить результаты сбора признаков с результатами проверки документов этого пользователя в режиме максимальной паранойи.


Дополнительно планируется использовать данные:


  • о положении тела (движения головы, рук, позы),
  • мимике,
  • наличии в кадре посторонних объектов (графин с водой, булочка),
  • речи (в тех случаях, когда у студента включен микрофон).

Проведенные нами предварительные эксперименты показывают, что можно рассчитывать на достаточно высокое качество решения задачи. Оценочно количество работ, которые отклоняются из-за плагиата, может вырасти на несколько процентов. Такой вклад существенно превышает разовое влияние на качество поиска других способов.


У использования такого метода, конечно, есть свои нюансы. Первый это возможность не включать камеру на занятия, ссылаясь на различные обстоятельства: отсутствует/сломалась камера, не убрана комната, небритое лицо, шастающий кот. Но уже сейчас во многих учебных заведениях включение камеры является обязательным, и при выключенной камере может быть просто засчитана неявка на занятие.


Вторая это использование студентами различных техник, позволяющих обмануть AI по примеру обмана полиграфа (детектора лжи). Здесь важны два момента: обманывать полиграф на потоке могут разве что тренированные сотрудники спецслужб; в нашей ситуации будет трудно разработать типичные паттерны обмана и обучиться, так как результаты оценивания скрыты внутри сервиса и студенту не предъявляются.



Кадр из фильма День, когда Земля остановилась (англ. The Day the Earth Stood Still), 20th Century Fox, 2008 год


Кроме того, есть еще один важный фактор. Сначала технология априорного оценивания склонности к плагиату будет применяться для выделения зоны риска, и по умолчанию уровень чувствительности алгоритма проверки будет сохраняться на обычном уровне. Но с определенного момента уровень по умолчанию будет изменен на параноидальный, а вот положительные оценки технологии априорного оценивания станут основанием для использования обычного поискового алгоритма.


Но и это еще не все. Сейчас обсуждаются идеи по обогащению широко распространенных стилометрических методов поиска плагиата (см. например, методы выявления внутреннего плагиата и авторской диаризации) информацией, снимаемой при наборе текста.


Наконец, самый серьезный шаг, который, вероятно, решит проблему комплексно это предварительное тестирование общей склонности студента к обману. Само собой, что это сложный и ответственный шаг, к которому нужно подходить с особой подготовкой. Мы ожидаем, что подготовка к данному этапу займет два-три года. Но уже сейчас очевидно, что он неизбежен.



Кадр из фильма Матрица (англ. The Matrix), Warner Bros., Village Roadshow Pictures, 1999 год


Поверили?


Расслабьтесь! Шутим мы. Мы не планируем реализацию описанной выше технологии, а решили развлечь вас описанием не такого уж невозможного будущего, как, например, мы делали в прошлом году. Большое спасибо, что дочитали до этого момента. Интересно, удалось ли вам сохранить веру в описываемое до сих пор, или в какой-то момент подавление недоверия перестало работать? Напишите в комментариях.


Огромное спасибо коллегам, которые приняли участие в подготовке статьи: Олегу Бахтееву (Oleg_Bakhteev), Андрею Ивахненко (andyray), Александру Кильдякову (vainah76), Анастасии Чернышовой (chernnasty).


Всех с праздником! На всякий случай повторю, что реализация описанного метода не планируется.


Пока.

Подробнее..

Водитель, вы слабое звено новая разработка Honda

18.11.2020 18:12:16 | Автор: admin
image

Пока современные мировые автогиганты инвестируют миллиарды долларов в то, чтобы первыми приблизиться к созданию автономных самоуправляемых автомобилей, Honda Motor Co. вышла вперёд в этой ожесточенной технической гонке, заявив, что разработала первую в мире модель беспилотного автомобиля 3-го уровня eyesoff.

image

Презентация Honda Legend Traffic Jam Pilot.

В апреле 2020-го министерство земли, инфраструктуры, транспорта и туризма (MLIT) Японии внесло частичные поправки в закон о дорожных транспортных средствах, благодаря чему автомобили 3-го уровня автономии с системой Traffic Jam Pilot (новая модель Honda Legend как раз об этом) получили возможность выйти на рынок и в скором времени будут украшать скоростные трассы и многополосовые магистрали страны восходящего солнца.


На самом деле разработка компании Honda вряд ли стала большим инфоповодом для автоспециалистов, т.к. об аналогичных разработках уже сообщали другие крупные автопроизводители в прошлом. Например, модель Audi A8 2017-го года позволила бы передвигаться в беспилотном режиме как раз благодаря системе Traffic Jam Pilot (здесь с громкими заявлениями о своем первом в мире продукте Honda погорячилась). Однако, есть одна загвоздка. Дело в том, что государства накладывают на эксплуатацию автомобилей 3-го уровня автономии законодательные ограничения, в результате чего систему не внедряют во флагманские модели и не допускают до массового производства. И тот факт, что власти Японии узаконили данную технологию беспилотного вождения, является значимой новостью как для компании Honda, так и для будущего беспилотных автомобилей в целом.

Да что такое этот ваш беспилотник?


image

Чтобы понять, какие возможности вождения подарит своему владельцу новая модель Honda, стоит разобраться, по какому принципу определяется уровень автономности и что вообще понимается под словом автономность в контексте возможностей автомобиля.
Беспилотный автомобиль оснащён программным обеспечением, руководящим работой всех систем автомобиля, и сенсорами, собирающими информацию о пространстве. Этот симбиоз позволяет передвигаться без участия человека.

Система сенсоров (датчиков) включает в себя:
  • несколько камер, в т.ч. инфракрасные для ночного видения
  • лидар (сканирование местности с помощью лазерных лучей)
  • радар (определяет расположение объектов через радиоволны)
  • GPS
  • датчики одометрии (прибор для измерения оборотов колес)


Безусловно, технология построена на алгоритмах ИИ, которые по мере получения большего количества данных обучаются, подмечают ошибки и повышают свою эффективность. В процессе эксплуатации система накапливает информацию о ситуациях дорожного движения и сообщает ее в удаленный центр обработки. Он, в соответствии с извлеченными уроками обновляет все другие системы, встроенные в авто данной модели.

Как стать автономным автомобилем: пошаговая инструкция


image

Классификация беспилотных транспортных средств разработана всемирной ассоциацией SAE International, в которую входят более 128000 инженеров и технических экспертов. SAE выделяет шесть уровней автоматизации.
Уровень 0 здесь водитель полностью принимает на себя рулевое управление, регулирование скорости, определение момента смены полосы, поворота и т.д. Водитель сам контролирует свой автомобиль и мониторит проезжую часть, реагирует на различные нестандартные ситуации, например, при слиянии дорог.
Автомобили 1-го уровня могут самостоятельно регулировать скорость в зависимости от того, как движутся соседние автомобили и осуществлять торможение. SAE не относит авто данного уровня в разряду беспилотных, т.к. основные задачи вождения все равно лежат на плечах водителя.

image

Может показаться, что уровень 2 это и есть полноценный автопилот, однако согласно SAE это все же частичная автоматизация. Рассмотрим возможности 2-го уровня на примере Autopilot в Tesla и Super Cruise в General Motors. Автомобили могут самостоятельно менять скорость, тормозить, управлять рулем. Однако, системы несовершенны, есть ряд обстоятельств, при которых система не способна правильно считывать внешние условия и самостоятельно управлять транспортом. В обеих моделях водитель должен быть начеку и в любую секунду перенять управления на себя в случае необходимости.
Для того, чтобы сохранять внимание водителя на дороге, даже тогда, когда кажется, что автомобиль полностью самостоятелен, разработчики идут на различные ухищрения. Например, Tesla просит, чтобы руки водителя всегда находились на руле автомобиля и контролирует это через специальные датчики. Если водитель уберет руки более чем на 30 минут, последуют визуальные и звуковые предупреждение, если водитель никак не отреагирует, система остановится. Система в General Motors не требует от водителя держать руки всегда на руле. Вместо этого система определяет расположение головы водителя. Если его взгляд направлен не на дорогу, система активирует предупреждения: мигание лампочки на руле, акустические сигналы и вибрация кресла.

image

Теперь предлагаем рассмотреть возможности 3-го уровня автономии, который представляется наиболее актуальным в контексте современной новостной повестки. Корректно ли причислять такую систему к разряду беспилотного транспорта? Как бы не так Во 2-ом уровне требуется постоянное внимание водителя, по-настоящему автоматизированными SAE называет системы 4-го уровня, а 3-й знаменует собой как бы переход: система может взять на себя управление при движении в дорожной пробке или медленном потоке транспортных средств на скорости до 60 км/ч, в то время как водитель будет находится в резерве и может спокойно убрать ногу с педали, а руки с рулевого колеса и отвлечь свое внимание, например, на бортовое телевиденье автомобиля или свой смартфон.
Подобные модели сталкиваются с ограничениями не только со стороны законодательства разных стран. Юристы многих автокомпаний опасаются, что если авто с 3-м уровнем автопилота окажется в ДТП, бремя ответственности в любом случае ляжет на производителя (именно по этой причине Volvo отказалась от подобных разработок).

Система Traffic Jam Pilot, которая интегрирована как в Audi A8, так и в новую модель Honda Legend заключает в себе серию проверок безопасности:
  • наблюдение за водителем, система считывает количество поворотов головы и морганий; если у мозга машины возникнут подозрения, что водитель спит, она разбудит его с помощью различный акустических сигналов, в противном случае автомобиль остановится.
  • оперативная обработка особенностей трассы, таких как маркировка дороги, обочин и боковых барьеров (избыточное количество датчиков и камер сканируют на все 360).

Система 4-го уровня автономии mind off позволяет водителю и вовсе покинуть свое место и лечь спать, например. Если система предвидит, что окажется в районах, где не способна управлять автомобилем, она заранее оповестит об этом водителя. Как ни удивительно, подобные разработки уже есть (от Google, Uber или отечественного Yandex). Однако, прототипы 4-го уровня автономии столкнулись с рядом проблем. Один из главных: передвижение подобных автомобилей строго ограничено заданным маршрутом система может передвигаться только по местности, где она этому обучена, с которой она хорошо знакома.

image
Беспилотник от Yandex.

5-й уровень полностью автоматическая система управления. Предполагается, что единственная задача, которая будет стоять перед водителем: ввести данные адреса в навигационную систему, а умный автомобиль, не смотря на погодные условия, обстановку на дороге и т.д., доставит пассажиров до пункта назначения. Рули, педали и прочее в данном транспорте будет отсутствовать по причине отсутствия утилитарной пользы.
Небезызвестный Илон Маск выступил с заявлением, что базовая функциональность к подобному беспилотному транспорту будет готова уже к этому году. Многие аналитики крайне пессимистично отнеслись к этому заявлению и считают, что на пути к полному беспилоту стоят еще годы исследований.

image

Страны не готовы к такому повороту


Новый автомобиль Honda Legend будет доступен к продажам 31 марта 2021 года. Его цена составит 10 млн йен это $95 000, что на 40% выше, чем аналогичная модель без возможностей автопилота. На данный момент сообщается, что его можно будет приобрести только в Японии.
Одним из главных препятствий к широкому распространению беспилотников 3-го уровня, является отсутствие четко регламентированных правил безопасности, которые эти автомобили должны соблюдать. Более 50 стран, включая Германию, Канаду, страны Европейского союза, Южную Корею и Японию подписали соглашения, которые будут регулировать, где и на каких условиях разрешены автономные транспортные средства. Но на данный момент только Япония готова начать применять составленные правила на практике.

Как вы думаете, к каким проблемам на дороге могут привести беспилотные автомобили? Хотели бы вы приобрести беспилотную Honda?

Список литературы:
  1. Rosevear J. Self-Driving Cars: Understanding the 6 Autonomous Levels [Электронный ресурс]. URL: www.fool.com/investing/2018/09/06/self-driving-cars-understanding-6-autonomous-level.aspx
  2. Автопилот для пробок как работает Audi AI traffic jam pilot [Электронный ресурс]. URL: www.computerra.ru/228867/avtopilot-dlya-probok-kak-rabotaet-audi-ai-traffic-jam-pilot
  3. Автопилот от 0 до 5. Гид по уровням беспилотных автомобилей [Электронный ресурс]. URL: truesharing.ru/tp/22173
  4. Audi отказалась от продвинутого автопилота в A8 [Электронный ресурс]. URL: motor.ru/news/audi-autopilot-28-04-2020.htm
  5. Honda cleared to begin selling first Level 3 autonomous cars [Электронный ресурс]. URL: futurism.com/the-byte/honda-cleared-begin-selling-first-level-3-autonomous-cars
Подробнее..

Машинное обучение (часть 1) нейронный сети, общая теоретическая часть

26.08.2020 00:05:55 | Автор: admin
При классическом программировании разработчик описывает на конкретном языке программирования определённый жестко заданный набор правил, которые были определены на основании его знаний в конкретной предметной области и которые в первом приближении описывают процессы, происходящие в человеческом мозге при решении аналогичной задачи. Например, может быть запрограммирована стратегия игры в крестики-нолики, шахмат и другое (рисунок 1).


Рисунок 1 Классический подход решения задач

В то время как алгоритмы машинного обучения могут определять набор правил для решения задач без участия разработчика, а только на базе наличия тренировочного набора данных. Тренировочный набор это какой-то набор входных данных ассоциированный с набором ожидаемых результатов (ответами, выходными данными). На каждом шаге обучения, модель за счет изменения внутреннего состояния, будет оптимизировать и уменьшать ошибку между фактическим выходным результатом модели и ожидаемым результатом (рисунок 2)


Рисунок 2 Машинное обучение

2. Нейронные сети

Долгое время учёные, вдохновляясь процессами происходящими в нашем мозге, пытались сделать реверс-инжиниринг центральной нервной системы и попробовать сымитировать работу человеческого мозга. Благодаря этому родилось целое направление в машинном обучении нейронные сети.

На рисунке вы можете увидеть сходство между устройством биологического нейрона и математическим представлением нейрона, используемого в машинном обучении (рисунок 3).


Рисунок 3 Математическое представление нейрона

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

3. Персептрон

Математическая модель нейронной сети, состоящего из одного нейрона, который выполняет выполняет две последовательные операции (рисунок 4):

  • вычисляет сумму входных сигналов с учетом их весов (проводимости или сопротивления) связи

    ${sum=\ \vec{X}}^T\vec{W}+\vec{B}=\sum_{i=1}^{n}{x_iw_i}+b$



  • применяет активационную функцию к общей сумме воздействия входных сигналов.

    $out=\varphi(sum)$



Рисунок 4 Математическая модель персептрона

В качестве активационной функции может использоваться любая дифференцируемая функция, наиболее часто используемые приведены в таблице 1. Выбор активационной функции ложиться на плечи инженера, и обычно этот выбор основан или на уже имеющемся опыте решения похожих задач, ну или просто методом подбора.

Заметка:

Однако есть рекомендация что если нужна нелинейность в нейронной сети, то в качестве активационной функции лучше всего подходит ReLU функция, которая имеет лучшие показатели сходимости модели во время процесса обучения.

Таблица 1 - Распространенные активационные функции
Имя Формула График
Linear function

$\varphi\left(x\right)=x$

.
Sigmoid function

$\varphi\left(x\right)=\frac{1}{1+e^{-x}}$


Softmax function

$\varphi\left(x_j\right)=\frac{e^{x_j}}{\sum_{i} e^{x_i}}$

$\varphi \left ( \begin{bmatrix} 1.2\\ 0.9\\ 0.4 \end{bmatrix} \right ) = \begin{bmatrix} 0.46\\ 0.34\\ 0.20 \end{bmatrix} $


Используется для задач классификации (где количество классов более 2)
Hyperbolic Tangent function

$\varphi\left(x\right)=\frac{e^x-e^{-x}}{e^x-e^{-x}}$



Сжимает входной сигнал в интервале [-1, 1]. Применяется в скрытых слоях нейронной сети, так как центрирует выходной сигнал относительно нуля, что ускоряет процесс обучения
Rectified Linear Unit (ReLU)

$\varphi\left(x\right)=\max(0,x)$



Используется в скрытых слоях нейронной сети, имеет лучшую сходимость, чем sigmoid и tanh функции
Leaky ReLU

$\varphi\left(x\right)=\max(0.01x,x)$



Лишен недостаток ReLU функции в интервале отрицательных выходных сигналов, где частичная производная равна 0

Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru