Связанные понятия
Долгая краткосрочная память (англ. Long short-term memory; LSTM) — разновидность архитектуры рекуррентных нейронных сетей, предложенная в 1997 году Сеппом Хохрайтером и Юргеном Шмидхубером. Как и большинство рекуррентных нейронных сетей, LSTM-сеть является универсальной в том смысле, что при достаточном числе элементов сети она может выполнить любое вычисление, на которое способен обычный компьютер, для чего необходима соответствующая матрица весов, которая может рассматриваться как программа. В...
Неблокирующая синхронизация — подход в параллельном программировании на симметрично-многопроцессорных системах, в котором принят отказ от традиционных примитивов блокировки, таких, как семафоры, мьютексы и события. Разделение доступа между потоками идёт за счёт атомарных операций и специальных, разработанных под конкретную задачу, механизмов блокировки.
Метод обратного распространения ошибки (англ. backpropagation) — метод вычисления градиента, который используется при обновлении весов многослойного перцептрона. Впервые метод был описан в 1974 г. А. И. Галушкиным, а также независимо и одновременно Полом Дж. Вербосом. Далее существенно развит в 1986 г. Дэвидом И. Румельхартом, Дж. Е. Хинтоном и Рональдом Дж. Вильямсом и независимо и одновременно С.И. Барцевым и В.А. Охониным (Красноярская группа). Это итеративный градиентный алгоритм, который используется...
Пото́к выполне́ния (тред; от англ. thread — нить) — наименьшая единица обработки, исполнение которой может быть назначено ядром операционной системы. Реализация потоков выполнения и процессов в разных операционных системах отличается друг от друга, но в большинстве случаев поток выполнения находится внутри процесса. Несколько потоков выполнения могут существовать в рамках одного и того же процесса и совместно использовать ресурсы, такие как память, тогда как процессы не разделяют этих ресурсов. В...
Доказательство активности с ограниченным доверием (англ. Limited Confidence Proof-of-Activity (LCPoA)) — метод защиты цепочки блоков в блокчейн системах, основанный на модификации алгоритма Proof-of-Work, в сторону уменьшения расхода вычислительных ресурсов — требуется подбор хеша блока, но в качестве дополнительного значения nonce используется текущая метка времени .
Программирование потоков данных (англ. dataflow programming) — подход к программированию, при котором программа моделируется в виде ориентированного графа потока данных между операциями, подобного диаграмме потока данных. Развивается в программной инженерии с 1970-х годов.
Оптимизация — модификация системы для улучшения её эффективности. Система может быть одиночной компьютерной программой, цифровым устройством, набором компьютеров или даже целой сетью, такой как Интернет.
Атака по сторонним (или побочным) каналам (англ. side-channel attack) — класс атак, направленный на уязвимости в практической реализации криптосистемы. В отличие от теоретического криптоанализа, атака по сторонним каналам использует информацию о физических процессах в устройстве, которые не рассматриваются в теоретическом описании криптографического алгоритма. Хотя подобные атаки были хорошо известны уже в 1980-х годах, они получили широкое распространение после публикации результатов Полом Кохером...
Алгоритм динамической трансформации временно́й шкалы (DTW-алгоритм, от англ. dynamic time warping) — алгоритм, позволяющий найти оптимальное соответствие между временными последовательностями. Впервые применен в распознавании речи, где использован для определения того, как два речевых сигнала представляют одну и ту же исходную произнесённую фразу. Впоследствии были найдены применения и в других областях.
Оптимизирующий компилятор — компилятор, в котором используются различные методы получения более оптимального программного кода при сохранении его функциональных возможностей. Наиболее распространённые цели оптимизации: сокращение времени выполнения программы, повышение производительности, компактификация программного кода, экономия памяти, минимизация энергозатрат, уменьшение количества операций ввода-вывода.
Сопрограммы (англ. coroutines) — методика связи программных модулей друг с другом по принципу кооперативной многозадачности: модуль приостанавливается в определённой точке, сохраняя полное состояние (включая стек вызовов и счётчик команд), и передаёт управление другому. Тот, в свою очередь, выполняет задачу и передаёт управление обратно, сохраняя свои стек и счётчик.
Подробнее: Сопрограмма
Цикломати́ческая сло́жность програ́ммы (англ. cyclomatic complexity of a program) — структурная (или топологическая) мера сложности компьютерной программы. Мера была разработана Томасом Дж. Маккейбом в 1976 году.
Линейное зондирование — это схема в программировании для разрешения коллизий в хеш-таблицах, структурах данных для управления наборами пар ключ – значение и поиска значений, ассоциированных с данным ключом. Схему придумали в 1954 Джин Амдал, Элейн Макгроу и Артур Сэмюэл, а проанализировна она была в 1963 Дональдом Кнутом.
Поточный алгоритм (англ. streaming algorithm) — алгоритм для обработки последовательности данных в один или малое число проходов.
Асинхро́нная ло́гика — разновидность взаимодействия логических элементов цифровых устройств. Отличается от синхронной тем, что её элементы действуют асинхронно, не подчиняясь глобальному генератору тактовых импульсов.
Задача характеризации
элементов микросхем заключается в получении зависимостей функциональных параметров библиотечного элемента или блока от длительности фронтов сигналов на входе и от величины нагрузочных емкостей для заданных наборов этих величин. В коммерческих системах характеризации (SiliconSmart , Virtuoso Liberate Characterization Solution , Virtuoso Variety Statistical Characterization Solution , Virtuoso Liberate MX Memory Characterization Solution , Kronos Characterizer Plus ) такие зависимости...
В информатике параллели́зм — это свойство систем, при котором несколько вычислений выполняются одновременно, и при этом, возможно, взаимодействуют друг с другом. Вычисления могут выполняться на нескольких ядрах одного чипа с вытесняющим разделением времени потоков на одном процессоре, либо выполняться на физически отдельных процессорах. Для выполнения параллельных вычислений разработаны ряд математических моделей, в том числе сети Петри, исчисление процессов, модели параллельных случайных доступов...
Ту́рбокод — параллельный каскадный блоковый систематический код, способный исправлять ошибки, возникающие при передаче цифровой информации по каналу связи с шумами. Синонимом турбокода является известный в теории кодирования термин — каскадный код (англ. concatenated code) (предложен Д. Форни в 1966 году).
Параллельные вычисления — способ организации компьютерных вычислений, при котором программы разрабатываются как набор взаимодействующих вычислительных процессов, работающих параллельно (одновременно). Термин охватывает совокупность вопросов параллелизма в программировании, а также создание эффективно действующих аппаратных реализаций. Теория параллельных вычислений составляет раздел прикладной теории алгоритмов.
Распознавание по голосу — одна из форм биометрической аутентификации, позволяющая идентифицировать личность человека по совокупности уникальных характеристик голоса. Относится к динамическим методам биометрии. Однако, поскольку голос человека может меняться в зависимости от возраста, эмоционального состояния, здоровья, гормонального фона и целого ряда других факторов, не является абсолютно точным. По мере развития звукозаписывающей и воспроизводящей техники, технология распознавания применяется с...
Счётчик числа импульсов — устройство, на выходах которого получается двоичный (двоично-десятичный) код, определяемый числом поступивших импульсов. Счётчики могут строиться на двухступенчатых D-триггерах, T-триггерах и JK-триггерах.
Полный перебор (или метод «грубой силы», англ. brute force) — метод решения математических задач. Относится к классу методов поиска решения исчерпыванием всевозможных вариантов. Сложность полного перебора зависит от количества всех возможных решений задачи. Если пространство решений очень велико, то полный перебор может не дать результатов в течение нескольких лет или даже столетий.
Кодогенерация — часть процесса компиляции, когда специальная часть компилятора, кодогенератор, конвертирует синтаксически корректную программу в последовательность инструкций, которые могут выполняться на машине. При этом могут применяться различные, в первую очередь машинно-зависимые оптимизации. Часто кодогенератор является общей частью для множества компиляторов. Каждый из них генерирует промежуточный код, который подаётся на вход кодогенератору.
Итеративный алгоритм ближайших точек (англ. Iterative Closest Point — ICP) — алгоритм, использующийся для сведения к минимуму разницы между двумя облаками точек. ICP часто используется для восстановления двухмерных (2D) или трёхмерных (3D) поверхностей из разных сканов, для определения местоположения роботов и планирования оптимального их пути (особенно когда одометрия колеса ненадежна из-за скользкого ландшафта), регистрации модели кости и т.д.
Полностью гомоморфное шифрование — шифрование, позволяющее для данного шифротекста π1,…,πt любому (не только держателю ключа) получить шифротекст любой желаемой функции f(π1,…,πt), до тех пор, пока данная функция может быть эффективно вычислена.
В криптографии
атака по энергопотреблению является одной из форм атак по сторонним каналам, при которой криптоаналитик изучает потребляемую мощность устройства, выполняющего криптографические задачи (как например смарт-карта, устойчивый к взлому «черный ящик», интегральная схема и тому подобное). С помощью такой атаки возможно извлечь криптографические ключи или другую секретную информацию из устройства, не оказывая на него непосредственного воздействия.
Нейрокриптография — раздел криптографии, изучающий применение стохастических алгоритмов, в частности, нейронных сетей, для шифрования и криптоанализа.
Обнаружение столкновений (англ. Collision detection) — вычислительная проблема обнаружения пересечений между собой двух или больше объектов. Тема чаще всего связана с её использованием в физических движках, компьютерной анимации и робототехнике. В дополнение к определению, столкнулись ли два объекта, системы обнаружения столкновений могут вычислить время воздействия и сообщить о коллекторе контакта (набор пересечения точек). Ответ на столкновение (что происходит, когда столкновение обнаружено) зависит...
Многопото́чность — свойство платформы (например, операционной системы, виртуальной машины и т. д.) или приложения, состоящее в том, что процесс, порождённый в операционной системе, может состоять из нескольких потоков, выполняющихся «параллельно», то есть без предписанного порядка во времени. При выполнении некоторых задач такое разделение может достичь более эффективного использования ресурсов вычислительной машины.
Клэйтро́ника — абстрактная концепция будущего, состоящая в объединении наномасштабных роботов и информатики с целью создания индивидуальных компьютеров атомных размеров, называемых клэйтронными атомами или к-атомами. Они могут вступать в контакт друг с другом и создавать материальные 3-D объекты, с которыми может взаимодействовать пользователь. Эта идея входит в более общую идею создания программируемой материи. Многочисленные исследования и эксперименты с клэйтроникой проводятся группой учёных в...
Состояние гонки (англ. race condition), также конкуренция — ошибка проектирования многопоточной системы или приложения, при которой работа системы или приложения зависит от того, в каком порядке выполняются части кода. Своё название ошибка получила от похожей ошибки проектирования электронных схем (см. Гонки сигналов).
Чрезвычайная параллельность (чрезвычайно параллельная задача, англ. embarrassingly parallel) — тип задач в системах параллельных вычислений, для которых не требуется прилагать больших усилий при разделении на несколько отдельных параллельных задач (распараллеливании). Чаще всего не существует зависимости (или связи) между этими параллельными задачами, то есть их результаты не влияют друг на друга.Чрезвычайно параллельные задачи практически не требуют согласования между результатами выполнения отдельных...
В компьютерных технологиях,
программная транзакционная память (англ. software transactional memory, SТМ) представляет собой механизм управления параллелизмом, аналогичный механизму транзакций баз данных для управления доступом к совместно используемой памяти в параллельных вычислениях. Это альтернатива для синхронизации на основе блокировки. Транзакция в этом контексте является частью кода, который выполняет считывание и запись в разделяемую (совместно используемую) память. Считывание и запись логически...
Фьютекс (англ. futex, сокращение от англ. fast userspace mutex) — в программировании способ реализации семафоров и мьютексов POSIX в Linux. Впервые введены в ядро Linux с версии 2.5.7 (development); выработана стабильная семантика с 2.5.40; включаются в стабильные версии серии 2.6.x.
Система управления реляционными потоками данных (англ. — relational data stream management system (RDSMS)) — это распределенная система управления потоками данных в памяти (data stream management system (DSMS)) которая предназначена для использования SQL-запросов, совместимых со стандартами, для обработки неструктурированных и структурированных потоков данных в режиме реального времени. В отличии от SQL-запросов выполняемых в традиционной RDBMS, которые возвращают результат и завершают работу, SQL-запросы...
Параллельные вычислительные системы — это физические компьютерные, а также программные системы, реализующие тем или иным способом параллельную обработку данных на многих вычислительных узлах.Например, для быстрой сортировки массива на двухпроцессорной машине можно разделить массив пополам и сортировать каждую половину на отдельном процессоре. Сортировка каждой половины может занять разное время, поэтому необходима синхронизация.
Алгоритм Деккера — первое известное корректное решение проблемы взаимного исключения в параллельном программировании. Эдсгер Дейкстра ссылается на голландского математика Т. Деккера как на автора данного алгоритма в своей работе о межпроцессном взаимодействии. Он позволяет двум потокам выполнения совместно использовать неразделяемый ресурс без возникновения конфликтов, используя только общую память для коммуникации.
В теории компиляторов удалением мёртвого кода (англ. dead code elimination, DCE) называется оптимизация, удаляющая мёртвый код. Мёртвым кодом (так же бесполезным кодом) называют код, исполнение которого не влияет на вывод программы, все результаты вычисления такого кода являются мёртвыми переменными, то есть переменными, значения которых в дальнейшем в программе не используются.
Подробнее: Удаление мёртвого кода
Эффективность алгоритма — это свойство алгоритма, которое связано с вычислительными ресурсами, используемыми алгоритмом. Алгоритм должен быть проанализирован с целью определения необходимых алгоритму ресурсов. Эффективность алгоритма можно рассматривать как аналог производственной производительности повторяющихся или непрерывных процессов.
Обучение признакам или обучение представлениям — это набор техник, которые позволяют системе автоматически обнаружить представления, необходимые для выявления признаков или классификации исходных (сырых) данных. Это заменяет ручное конструирование признаков и позволяет машине как изучать признаки, так и использовать их для решения специфичных задач.
Алгоритм (сжатия) Любачевского — Стилинжера (Lubachevsky-Stillinger compression algorithm, ЛС алгоритм, ЛСА, ЛС протокол) — вычислительная процедура, которая имитирует процесс механического сжатия набора твёрдых частиц.
Трассировка пути (англ. path tracing) — методика рендеринга в компьютерной графике, которая стремится симулировать физическое поведения света настолько близко к реальному, насколько это возможно. Трассировка пути является обобщением традиционной трассировки лучей (англ. ray tracing), алгоритм которой трассирует лучи в направлении от виртуальной камеры сквозь пространство; луч «отскакивает» от предметов до тех пор, пока полностью не поглотится или рассеется. Качество изображений, получаемых при помощи...
Нейроуправление (англ. Neurocontrol) — частный случай интеллектуального управления, использующий искусственные нейронные сети для решения задач управления динамическими объектами. Нейроуправление находится на стыке таких дисциплин, как искусственный интеллект, нейрофизиология, теория автоматического управления, робототехника. Нейронные сети обладают рядом уникальных свойств, которые делают их мощным инструментом для создания систем управления: способностью к обучению на примерах и обобщению данных...
Метод внутренней точки — это метод позволяющий решать задачи выпуклой оптимизации с условиями, заданными в виде неравенств, сводя исходную задачу к задаче выпуклой оптимизации.
Самоорганизу́ющаяся ка́рта Ко́хонена (англ. Self-organizing map — SOM) — нейронная сеть с обучением без учителя, выполняющая задачу визуализации и кластеризации. Идея сети предложена финским учёным Т. Кохоненом. Является методом проецирования многомерного пространства в пространство с более низкой размерностью (чаще всего, двумерное), применяется также для решения задач моделирования, прогнозирования, выявление наборов независимых признаков, поиска закономерностей в больших массивах данных, разработке...
Квантовая криптография — метод защиты коммуникаций, основанный на принципах квантовой физики. В отличие от традиционной криптографии, которая использует математические методы, чтобы обеспечить секретность информации, квантовая криптография сосредоточена на физике, рассматривая случаи, когда информация переносится с помощью объектов квантовой механики. Процесс отправки и приёма информации всегда выполняется физическими средствами, например, при помощи электронов в электрическом токе, или фотонов в...
Модульное тестирование , или юнит-тестирование (англ. unit testing) — процесс в программировании, позволяющий проверить на корректность отдельные модули исходного кода программы, наборы из одного или более программных модулей вместе с соответствующими управляющими данными, процедурами использования и обработки.
Перемежитель (Интерливер от англ. Interleaver) — блок, реализующий перемежение - один из способов борьбы с ошибками. Предназначен для борьбы с пакетированием ошибок путём их разнесения во времени. Использует перемешивание (перемежение) символов передаваемой последовательности на передаче и восстановление её исходной структуры на приёме.