Связанные понятия
Итерация в программировании — в широком смысле — организация обработки данных, при которой действия повторяются многократно, не приводя при этом к вызовам самих себя (в отличие от рекурсии). В узком смысле — один шаг итерационного, циклического процесса.
Сортировка Шелла (англ. Shell sort) — алгоритм сортировки, являющийся усовершенствованным вариантом сортировки вставками. Идея метода Шелла состоит в сравнении элементов, стоящих не только рядом, но и на определённом расстоянии друг от друга. Иными словами — это сортировка вставками с предварительными «грубыми» проходами. Аналогичный метод усовершенствования пузырьковой сортировки называется сортировка расчёской.
Мемоизация (запоминание, от англ. memoization (англ.) в программировании) — сохранение результатов выполнения функций для предотвращения повторных вычислений. Это один из способов оптимизации, применяемый для увеличения скорости выполнения компьютерных программ. Перед вызовом функции проверяется, вызывалась ли функция ранее...
В статистике метод оценки с помощью апостериорного максимума (MAP) тесно связан с методом максимального правдоподобия (ML), но дополнительно при оптимизации использует априорное распределение величины, которую оценивает.
Подробнее: Оценка апостериорного максимума
Структурное прогнозирование или структурное обучение является собирательным термином для техник обучения машин с учителем, которые вовлекают предвидение структурных объектов, а не скалярных дискретных или вещественных значений.
Избыточность — термин из теории информации, означающий превышение количества информации, используемой для передачи или хранения сообщения, над его информационной энтропией. Для уменьшения избыточности применяется сжатие данных без потерь, в то же время контрольная сумма применяется для внесения дополнительной избыточности в поток, что позволяет производить исправление ошибок при передаче информации по каналам, вносящим искажения (спутниковая трансляция, беспроводная передача и т. д.).
Псевдопреобразова́ние Адама́ра (англ. Pseudo-Hadamard Transform, PHT) — обратимое преобразование битовых строк, используемое в криптографии для обеспечения диффузии при шифровании. Количество бит на входе преобразования должно быть чётным, чтобы было возможным разделение строки на две части равной длины. Создателем преобразования является французский математик Жак Адамар.
Парсер (англ. parser; от parse – анализ, разбор) или синтаксический анализатор — часть программы, преобразующей входные данные (как правило, текст) в структурированный формат. Парсер выполняет синтаксический анализ текста.
Подробнее: Синтаксический анализатор
Метамодель в информатике — модель, описывающая другую модель; транзитивное отношение между двумя моделям (например: если модель M1 описывает язык L0, в котором формулируется модель M0, то M1 является метамоделью М0; если же модель M2 описывает язык L1, в котором была сформулирована модель М1, то М2 — это метамодель M1, а M2 является тогда для M0 мета-метамоделью).
Интеллектуальный анализ текстов (ИАТ, англ. text mining) — направление в искусственном интеллекте, целью которого является получение информации из коллекций текстовых документов, основываясь на применении эффективных в практическом плане методов машинного обучения и обработки естественного языка. Название «интеллектуальный анализ текстов» перекликается с понятием «интеллектуальный анализ данных» (ИАД, англ. data mining), что выражает схожесть их целей, подходов к переработке информации и сфер применения...
Коди́рование — процесс написания программного кода, скриптов, с целью реализации определённого алгоритма на определённом языке программирования.
Матрица расстояний — это квадратная матрица типа «объект-объект» (порядка n), содержащая в качестве элементов расстояния между объектами в метрическом пространстве.
Язык спецификаций — формальный язык, предназначенный для декларативного описания структуры, связей, свойств данных и способов их преобразований, (в отличие от активных языков) без явного упоминания порядка выполняемых действий и использования конкретных значений данных.
Алгоритмическая теория информации — это область информатики, которая пытается уловить суть сложности, используя инструменты из теоретической информатики. Главная идея — это определить сложность (или описательную сложность, колмогоровскую сложность, сложность Колмогорова-Хайтина) строки как длину кратчайшей программы, которая выводит заданную строку. Строки, которые могут выводиться короткими программами, рассматриваются как не очень сложные. Эта нотация удивительно глубока и может быть использована...
Комбинаторный взрыв — термин, используемый для описания эффекта резкого («взрывного») роста временной сложности алгоритма при увеличении размера входных данных задачи.
В информатике
объединение (англ. union) представляет собой значение или структуру данных, которое может иметь несколько различных представлений.
В информатике
таблица символов (от англ. symbol table «таблица идентификаторов») — это структура данных, используемая транслятором (компилятором или интерпретатором), в которой каждый идентификатор переменной или функции из исходного кода ассоциируется с информацией, связанной с его объявлением или появлением в коде: типом данных, областью видимости и в некоторых случаях местом в памяти (смещением).
Стековый язык программирования (англ. stack-oriented programming language) — это язык программирования, в котором для передачи параметров используется машинная модель стека. Этому описанию соответствует несколько языков, в первую очередь Forth и PostScript, а также многие ассемблерные языки (использующие эту модель на низком уровне — Java, C#). При использовании стека в качестве основного канала передачи параметров между словами элементы языка естественным образом образуют фразы (последовательное...
Гибри́дная (или комбини́рованная) криптосисте́ма — это система шифрования, совмещающая преимущества криптосистемы с открытым ключом с производительностью симметричных криптосистем. Симметричный ключ используется для шифрования данных, а асимметричный для шифрования самого симметричного ключа, иначе это называется числовой упаковкой.
Веду́щие нули ́ в записи числа при помощи позиционной системы счисления — последовательность из одного или более нулей, занимающая старшие разряды. Понятие ведущих нулей возникает при использовании представлений чисел, имеющих фиксированное количество разрядов. В остальных случаях, как правило, ведущие нули не пишутся.
Хеш-деревом, деревом Меркла (англ. Merkle tree) называют полное двоичное дерево, в листовые вершины которого помещены хеши от блоков данных, а внутренние вершины содержат хеши от сложения значений в дочерних вершинах. Корневой узел дерева содержит хеш от всего набора данных, то есть хеш-дерево является однонаправленной хеш-функцией. Дерево Меркла применяется для эффективного хранения транзакций в блокчейне криптовалют (например, в Bitcoin'е, Ethereum'е). Оно позволяет получить «отпечаток» всех транзакций...
Подробнее: Дерево хешей
Функциональный объект (англ. function object), также функтор, функционал и функционоид — распространённая в программировании конструкция, позволяющая использовать объект как функцию. Часто используется как callback, делегат.
Би (вторая буква английского алфавита — B) — интерпретируемый язык программирования, разработанный в AT&T Bell Telephone Laboratories. Является потомком языка BCPL и непосредственным предшественником Си. Би был в основном произведением Кена Томпсона при содействии Денниса Ритчи и был опубликован в 1969 году.
В теории вычислимости
алгоритмически неразрешимой задачей называется задача, имеющая ответ да или нет для каждого объекта из некоторого множества входных данных, для которой (принципиально) не существует алгоритма, который бы, получив любой возможный в качестве входных данных объект, останавливался и давал правильный ответ после конечного числа шагов.
Признаковое описание объекта (англ. feature vector) — это вектор, который составлен из значений, соответствующих некоторому набору признаков для данного объекта. Значения признаков могут быть различного, не обязательно числового, типа. Является одним из самых распространённых в машинном обучении способов ввода данных.
Абстракция в информатике представляет собой технику управления сложностью систем.
Стиль о́тступов (индентация) — правила форматирования исходного кода, в соответствии с которыми отступы программных блоков проставляются в удобочитаемой манере.
Подробнее: Отступ (программирование)
Семанти́ческий ана́лиз — этап в последовательности действий алгоритма автоматического понимания текстов, заключающийся в выделении семантических отношений, формировании семантического представления текстов. Один из возможных вариантов представления семантического представления — структура, состоящая из «текстовых фактов». Семантический анализ в рамках одного предложения называется локальным семантическим анализом.
Взаимодействующие последовательные процессы (англ. communicating sequential processes, CSP) — формальный язык для описания моделей взаимодействия в параллельных системах. Относится к математическим теориям параллелизма, известных как исчисление процессов (или алгебра процессов), основанных на передаче сообщений по каналам. Оказал влияние на разработку языка Оккам, Limbo, Go.
Метка (англ. label) — символьное имя, идентификатор для более удобного указания данных и кода в языках программирования. Позволяет программисту обходиться без вычисления и пересчёта адресов и смещений внутри программы (эти действия за него выполняет компилятор). Несмотря на то, что большинство языков программирования высокого уровня поддерживают операции с метками, их использование крайне нежелательно, так как программный код становится плохочитаемым, и отладка такой программы занимает большее время...
Черепа́шья гра́фика — принцип организации библиотеки графического вывода, построенный на метафоре Черепахи, воображаемого (а в некоторых экспериментах и реального) роботоподобного устройства, которое перемещается по экрану или бумаге и поворачивается в заданных направлениях, при этом оставляя (или, по выбору, не оставляя) за собой нарисованный след заданного цвета и ширины.
Экранирование символов — замена в тексте управляющих символов на соответствующие текстовые подстановки. Один из видов управляющих последовательностей.
Группа Григорчука — первый пример конечнопорождённой группы промежуточного роста (то есть её рост быстрее полиномиального, но медленнее экспоненциального).
О́браз объе́кта — воспроизведение объекта, информация о нём или его описание, структурно сходное, но не совпадающее с ним.
Компьютерный язык , как и любой другой язык, появляется, когда требуется передать информацию из одного источника другому. Языки программирования способствуют обмену информацией между программистами и компьютерами, языки разметки текста определяют понятную для людей и компьютеров структуру документов (экранных представлений) и т. п.
Анализ формальных понятий (АФП) (англ. Formal Concept Analysis, FCA) — ветвь прикладной алгебраической теории решёток. Традиционно АФП относят к области концептуальных структур в искусственном интеллекте.
Сортировка выбором (Selection sort) — алгоритм сортировки. Может быть как устойчивый, так и неустойчивый.
Цепочка хешей — результат последовательного применения криптографической хеш-функции к некоторой строке. В компьютерной безопасности цепочка хешей используется для воспроизведения множества одноразовых паролей по одному ключу или паролю. Цепочки хешей используются для реализации неотказуемости путём применения к данным для записи хронологии их существования.
Перебор делителей (пробное деление) — алгоритм факторизации или тестирования простоты числа путём полного перебора всех возможных потенциальных делителей.
Прототипом
функции в языке Си или C++ называется объявление функции, не содержащее тела функции, но указывающее имя функции, арность, типы аргументов и возвращаемый тип данных. В то время как определение функции описывает, что именно делает функция, прототип функции может восприниматься как описание её интерфейса.
Недостижимый код часто относят к одному из типов мёртвого кода, такая терминология обычно применяется при рассмотрении исходного кода программ. Однако в теории компиляторов, эти понятия никак не связаны, мёртвым кодом там называют только достижимый, но не влияющий на вывод программы код.
Алгоритм Джонсона — позволяет найти кратчайшие пути между всеми парами вершин взвешенного ориентированного графа. Данный алгоритм работает, если в графе содержатся рёбра с положительным или отрицательным весом, но отсутствуют циклы с отрицательным весом.
Глобальная переменная в программировании — переменная, областью видимости которой является вся программа, кроме специально затенённых областей. Механизмы взаимодействия с глобальными переменными называют механизмами доступа к глобальному окружению или состоянию (англ. global environment, global state). Глобальные переменные могут использоваться для взаимодействия между процедурами и функциями как альтернатива передачи аргументов и возвращения значений.
Дублирование кода — термин из программирования, под которым понимается, что некоторые участки исходного кода могут встречаться более чем однажды, как внутри одной, так и в нескольких программных сущностях. Дублирование является симптомом так называемого «дурно пахнущего кода». В первую очередь потому, что увеличивается его длина; именно из-за дублирования, а не из-за совпадений. Последовательность дубликатов иногда называют клонами.
Лине́йная интерполя́ция — интерполяция алгебраическим двучленом P1(x) = ax + b функции f, заданной в двух точках x0 и x1 отрезка . В случае, если заданы значения в нескольких точках, функция заменяется кусочно-линейной функцией.
Обобщённый алгебраический тип да́нных (англ. generalized algebraic data type, GADT) — один из видов алгебраических типов данных, который характеризуется тем, что его конструкторы могут возвращать значения не своего типа, связанного с ним. Сконструированы под влиянием работ об индуктивных семействах в среде исследователей зависимых типов.
Поиск подстроки в строке — одна из простейших задач поиска информации. Применяется в виде встроенной функции в текстовых редакторах, СУБД, поисковых машинах, языках программирования и т. п.