Связанные понятия
Мемоизация (запоминание, от англ. memoization (англ.) в программировании) — сохранение результатов выполнения функций для предотвращения повторных вычислений. Это один из способов оптимизации, применяемый для увеличения скорости выполнения компьютерных программ. Перед вызовом функции проверяется, вызывалась ли функция ранее...
Признаковое описание объекта (англ. feature vector) — это вектор, который составлен из значений, соответствующих некоторому набору признаков для данного объекта. Значения признаков могут быть различного, не обязательно числового, типа. Является одним из самых распространённых в машинном обучении способов ввода данных.
Машина вывода — программа, которая выполняет логический вывод из предварительно построенной базы фактов и правил в соответствии с законами формальной логики.
Интеллектуальный анализ текстов (ИАТ, англ. text mining) — направление в искусственном интеллекте, целью которого является получение информации из коллекций текстовых документов, основываясь на применении эффективных в практическом плане методов машинного обучения и обработки естественного языка. Название «интеллектуальный анализ текстов» перекликается с понятием «интеллектуальный анализ данных» (ИАД, англ. data mining), что выражает схожесть их целей, подходов к переработке информации и сфер применения...
Структурное прогнозирование или структурное обучение является собирательным термином для техник обучения машин с учителем, которые вовлекают предвидение структурных объектов, а не скалярных дискретных или вещественных значений.
Предварительное объявление является таким типом объявления, при котором сборщик(компилятор) имеет возможность разрешить ссылки из различных частей программы. Предварительное объявление позволяет программисту ссылаться на объекты, о которых компилятор ещё не знает, но которые будут определены в процессе компиляции позже.
Метамодель в информатике — модель, описывающая другую модель; транзитивное отношение между двумя моделям (например: если модель M1 описывает язык L0, в котором формулируется модель M0, то M1 является метамоделью М0; если же модель M2 описывает язык L1, в котором была сформулирована модель М1, то М2 — это метамодель M1, а M2 является тогда для M0 мета-метамоделью).
Дублирование кода — термин из программирования, под которым понимается, что некоторые участки исходного кода могут встречаться более чем однажды, как внутри одной, так и в нескольких программных сущностях. Дублирование является симптомом так называемого «дурно пахнущего кода». В первую очередь потому, что увеличивается его длина; именно из-за дублирования, а не из-за совпадений. Последовательность дубликатов иногда называют клонами.
Глобальная переменная в программировании — переменная, областью видимости которой является вся программа, кроме специально затенённых областей. Механизмы взаимодействия с глобальными переменными называют механизмами доступа к глобальному окружению или состоянию (англ. global environment, global state). Глобальные переменные могут использоваться для взаимодействия между процедурами и функциями как альтернатива передачи аргументов и возвращения значений.
Грамотное программирование (ГП; англ. Literate Programming) — концепция, методология программирования и документирования, в которой программа состоит из прозы на естественном языке вперемежку с макроподстановками и кодом на языках программирования. Термин и саму концепцию предложил Дональд Кнут в 1981 году при разработке системы компьютерной вёрстки TeX.
Прототипом
функции в языке Си или C++ называется объявление функции, не содержащее тела функции, но указывающее имя функции, арность, типы аргументов и возвращаемый тип данных. В то время как определение функции описывает, что именно делает функция, прототип функции может восприниматься как описание её интерфейса.
В информатике
таблица символов (от англ. symbol table «таблица идентификаторов») — это структура данных, используемая транслятором (компилятором или интерпретатором), в которой каждый идентификатор переменной или функции из исходного кода ассоциируется с информацией, связанной с его объявлением или появлением в коде: типом данных, областью видимости и в некоторых случаях местом в памяти (смещением).
Точка следования (англ. sequence point) — в программировании любая точка программы, в которой гарантируется, что все побочные эффекты предыдущих вычислений уже проявились, а побочные эффекты последующих ещё отсутствуют.
Лингвистический ассоциативный эксперимент — один из методов психолингвистики. Берёт начало в методе свободных ассоциаций, одном из первых проективных методов психологии. З. Фрейд и его последователи предполагали, что неконтролируемые ассоциации — это символическая или иногда даже прямая проекция внутреннего, часто неосознаваемого содержания сознания.
Концептуальное программирование - подход к программированию, описанный Э.Х. Тыугу в одноименной книге . К. программирование предполагает оперирование понятиями (концептами), описанными в терминах предметной области, что позволяет использовать ЭВМ на этапе постановки задачи. Достаточно точное описание задачи позволяет ЭВМ автоматически составлять программы для её решения. Характерными особенностями концептуального программирования являются также использование языка предметной области и использование...
Метод расширения (англ. extension method) в программировании — метод, добавляемый к существующему классу (типу) в месте, отличном от модуля объявления класса. Синтаксический сахар для модуля расширения был введён в C# 3.0 и VB.NET.
Суффиксный массив — лексикографически отсортированный массив всех суффиксов строки. Эта структура данных была разработана Джином Майерсом и Уди Манбером как более экономная альтернатива суффиксному дереву с точки зрения необходимой памяти. Она часто применяется там, где необходим быстрый поиск подстрок, например в преобразовании Барроуза — Уилера (BWT), а также в качестве структуры данных в поисковом индексе.
Итерация в программировании — в широком смысле — организация обработки данных, при которой действия повторяются многократно, не приводя при этом к вызовам самих себя (в отличие от рекурсии). В узком смысле — один шаг итерационного, циклического процесса.
Венге́рская нота́ция в программировании — соглашение об именовании переменных, констант и прочих идентификаторов в коде программ. Своё название венгерская нотация получила благодаря программисту компании Microsoft венгерского происхождения Чарльзу Симони (венг. Simonyi Károly), предложившему её ещё во времена разработки первых версий MS-DOS. Эта система стала внутренним стандартом Майкрософт.
В статистике метод оценки с помощью апостериорного максимума (MAP) тесно связан с методом максимального правдоподобия (ML), но дополнительно при оптимизации использует априорное распределение величины, которую оценивает.
Подробнее: Оценка апостериорного максимума
Архетип — это формальная модель понятия предметной области, являющаяся уточнением эталонной информационной модели, выраженным в виде ограничений, накладываемых на эталонную информационную модель, и представленным с помощью определенного формального аппарата в форме машиночитаемых и, одновременно, понятных человеку выражений.
Алгоритмическая теория информации — это область информатики, которая пытается уловить суть сложности, используя инструменты из теоретической информатики. Главная идея — это определить сложность (или описательную сложность, колмогоровскую сложность, сложность Колмогорова-Хайтина) строки как длину кратчайшей программы, которая выводит заданную строку. Строки, которые могут выводиться короткими программами, рассматриваются как не очень сложные. Эта нотация удивительно глубока и может быть использована...
Недостижимый код часто относят к одному из типов мёртвого кода, такая терминология обычно применяется при рассмотрении исходного кода программ. Однако в теории компиляторов, эти понятия никак не связаны, мёртвым кодом там называют только достижимый, но не влияющий на вывод программы код.
Отделение
содержания от представления (или «разделение формы и содержания») это общепринятая идиома, философия дизайна и методология, применяемая в контексте различных издательских технологических дисциплинах, включая информационный поиск, обработку шаблонов, веб-дизайн, веб-программирование, обработку текста, компьютерную вёрстку и разработку управляемую моделями. Это конкретный случай более общей философии разделения ответственности.
Нейронный машинный перевод Google (GNMT) — это система нейронного машинного перевода (NMT), разработанная компанией Google и представленная в ноябре 2016 года, которая использует искусственную нейронную сеть для повышения беглости и точности перевода в Google Переводчике.GNMT улучшает качество перевода, применяя метод машинного перевода на основе примеров (EBMT), в котором система “обучается на миллионах примеров”. Предлагаемая архитектура системного обучения GNMT была впервые опробована на более...
Сортировка Шелла (англ. Shell sort) — алгоритм сортировки, являющийся усовершенствованным вариантом сортировки вставками. Идея метода Шелла состоит в сравнении элементов, стоящих не только рядом, но и на определённом расстоянии друг от друга. Иными словами — это сортировка вставками с предварительными «грубыми» проходами. Аналогичный метод усовершенствования пузырьковой сортировки называется сортировка расчёской.
Парсер (англ. parser; от parse – анализ, разбор) или синтаксический анализатор — часть программы, преобразующей входные данные (как правило, текст) в структурированный формат. Парсер выполняет синтаксический анализ текста.
Подробнее: Синтаксический анализатор
Забывчивая передача (часто сокращается как OT — oblivious transfer) — в криптографии тип протокола передачи данных, в котором передатчик передает по одной возможные части информации получателю, но не запоминает (является забывчивым), какие части были переданы, если вообще были.
Экранирование символов — замена в тексте управляющих символов на соответствующие текстовые подстановки. Один из видов управляющих последовательностей.
Избыточность — термин из теории информации, означающий превышение количества информации, используемой для передачи или хранения сообщения, над его информационной энтропией. Для уменьшения избыточности применяется сжатие данных без потерь, в то же время контрольная сумма применяется для внесения дополнительной избыточности в поток, что позволяет производить исправление ошибок при передаче информации по каналам, вносящим искажения (спутниковая трансляция, беспроводная передача и т. д.).
Зако́н Амдала (англ. Amdahl's law, иногда также Закон Амдаля-Уэра) — иллюстрирует ограничение роста производительности вычислительной системы с увеличением количества вычислителей. Джин Амдал сформулировал закон в 1967 году, обнаружив простое по существу, но непреодолимое по содержанию ограничение на рост производительности при распараллеливании вычислений: «В случае, когда задача разделяется на несколько частей, суммарное время её выполнения на параллельной системе не может быть меньше времени выполнения...
Стековый язык программирования (англ. stack-oriented programming language) — это язык программирования, в котором для передачи параметров используется машинная модель стека. Этому описанию соответствует несколько языков, в первую очередь Forth и PostScript, а также многие ассемблерные языки (использующие эту модель на низком уровне — Java, C#). При использовании стека в качестве основного канала передачи параметров между словами элементы языка естественным образом образуют фразы (последовательное...
Комбинаторный взрыв — термин, используемый для описания эффекта резкого («взрывного») роста временной сложности алгоритма при увеличении размера входных данных задачи.
Абстрактная модель — это модель, отражающая лишь самые общие характеристики моделируемого явления. Чаще всего абстрактная модель даёт лишь качественные характеристики моделируемого объекта или явления.
Цепочка хешей — результат последовательного применения криптографической хеш-функции к некоторой строке. В компьютерной безопасности цепочка хешей используется для воспроизведения множества одноразовых паролей по одному ключу или паролю. Цепочки хешей используются для реализации неотказуемости путём применения к данным для записи хронологии их существования.
Зацепление , сцепление, сопряжение (англ. coupling) — способ и степень взаимозависимости между программными модулями; сила взаимосвязей между модулями; мера того, насколько взаимозависимы разные подпрограммы или модули.
Компьютерный язык , как и любой другой язык, появляется, когда требуется передать информацию из одного источника другому. Языки программирования способствуют обмену информацией между программистами и компьютерами, языки разметки текста определяют понятную для людей и компьютеров структуру документов (экранных представлений) и т. п.
Взаимодействующие последовательные процессы (англ. communicating sequential processes, CSP) — формальный язык для описания моделей взаимодействия в параллельных системах. Относится к математическим теориям параллелизма, известных как исчисление процессов (или алгебра процессов), основанных на передаче сообщений по каналам. Оказал влияние на разработку языка Оккам, Limbo, Go.
Семанти́ческий ана́лиз — этап в последовательности действий алгоритма автоматического понимания текстов, заключающийся в выделении семантических отношений, формировании семантического представления текстов. Один из возможных вариантов представления семантического представления — структура, состоящая из «текстовых фактов». Семантический анализ в рамках одного предложения называется локальным семантическим анализом.
Атака возврата в библиотеку (англ. Return-to-libc attack) — один из видов компьютерных атак, популярных на x86-совместимых машинах и схожие с ними, связанных с переполнением буфера, когда адрес возврата функции на стеке подменяется адресом иной функции в программе, и в последующую часть стека записываются параметры для вызываемой функции. Эта техника позволяет нападающему выполнить какую-либо существующую функцию без необходимости внедрять вредноносный код в программу.
Сортировка выбором (Selection sort) — алгоритм сортировки. Может быть как устойчивый, так и неустойчивый.
Поток работ (англ. workflow) — графическое представление потока задач в процессе и связанных с ним подпроцессах, включая специфические работы, информационные зависимости и последовательность решений и работ.
Гибри́дная (или комбини́рованная) криптосисте́ма — это система шифрования, совмещающая преимущества криптосистемы с открытым ключом с производительностью симметричных криптосистем. Симметричный ключ используется для шифрования данных, а асимметричный для шифрования самого симметричного ключа, иначе это называется числовой упаковкой.
В программировании,
аргумент по умолчанию является аргументом функции, который при вызове необязательно указывать.
Абстракция в информатике представляет собой технику управления сложностью систем.
В статистике под латентными или скрытыми переменными понимают такие переменные, которые не могут быть измерены в явном виде, а могут быть только выведены через математические модели с использованием наблюдаемых переменных. Скрытые переменные используются во многих областях, включая психологию, экономику, машинное обучение, биоинформатику, обработку естественного языка и социальные науки.
Подробнее: Скрытая переменная
Обобщённый алгебраический тип да́нных (англ. generalized algebraic data type, GADT) — один из видов алгебраических типов данных, который характеризуется тем, что его конструкторы могут возвращать значения не своего типа, связанного с ним. Сконструированы под влиянием работ об индуктивных семействах в среде исследователей зависимых типов.
Метка (англ. label) — символьное имя, идентификатор для более удобного указания данных и кода в языках программирования. Позволяет программисту обходиться без вычисления и пересчёта адресов и смещений внутри программы (эти действия за него выполняет компилятор). Несмотря на то, что большинство языков программирования высокого уровня поддерживают операции с метками, их использование крайне нежелательно, так как программный код становится плохочитаемым, и отладка такой программы занимает большее время...
Хорновский дизъюнкт — дизъюнктивный одночлен с не более чем одним положительным литералом. Изучены Альфредом Хорном (англ. Alfred Horn) в 1951 году в связи с их важной ролью в теории моделей и универсальной алгебре. Впоследствии стали основой для языка логического программирования Пролог, в котором программа являются непосредственно набором хорновских дизъюнктов, а также нашли важные приложения в конструктивной логике и теории сложности вычислений.
Метод критического пути (англ. CPM, Critical path method) — инструмент планирования расписания и управления сроками проекта.