Однозначность¶
Однозначность — свойство объекта, понятия, операции или системы быть определённым, не допускающим двойного толкования. В математике, логике, информатике и лингвистике термин описывает ситуацию, когда каждому элементу области соответствует ровно один элемент области результата (или одно значение), а не несколько. Противоположность однозначности — многозначность (полисемия, неоднозначность).
¶Математика и логика
¶Однозначные функции
Функция $f: A \to B$ называется однозначной (или просто функцией в строгом смысле), если каждому элементу $x \in A$ соответствует ровно один элемент $y \in B$. Это базовое определение функции в современной математике: если бы одному $x$ соответствовало несколько значений, объект называл бы не функцией, а многозначным отображением или соотношением.
Пример однозначной функции: $f(x) = 2x$ — каждому числу $x$ соответствует ровно одно значение $2x$.
Пример многозначного соотношения: $y^2 = x$ — при $x = 4$ возможны два значения $y = 2$ и $y = -2$. Чтобы получить из него однозначную функцию, вводят дополнительные условия (например, ветвь корня с неотрицательными значениями).
¶Обратные функции
Для того чтобы у функции существовала обратная однозначная функция, исходная должна быть не только однозначной, но и всюду определённой на области значений и взаимно однозначной (биективной): разным элементам области должны соответствовать разные элементы области результата. Пример: $f(x) = x^3$ обратима, а $f(x) = x^2$ на всей области вещественных чисел — нет, поскольку $f(2) = f(-2) = 4$.
¶Однозначность разрешения уравнений
Уравнение называется однозначно разрешимым, если оно имеет ровно одно решение. Линейное уравнение $ax = b$ при $a \neq 0$ однозначно разрешимо: $x = b/a$. Квадратное уравнение в общем случае имеет два корня, но при нулевом дискриминанте корень один — решение становится однозначным.
¶Информатика и программирование
¶Однозначное кодирование
В теории кодирования и информатике однозначность означает, что каждому сообщению (символу, состоянию) соответствует ровно один код, и наоборот. Кодирование называется префиксным (однозначно декодируемым), если ни один код не является началом другого. Благодаря этому свойству поток закодированных символов разбивается без маркеров-разделителей.
Пример: в азбуке Морзе буква «А» — «·−», и ни один другой символ не начинается с этого сочетания, поэтому сообщение читается однозначно.
¶Однозначность в программировании
В языках программирования однозначность — требование к синтаксису: конструкция не должна допускать более одного разбора. Нарушение этого требования приводит к сдвигу синтаксического разбора (dangling else, неоднозначность вложенности операторов). Большинство современных языков (Python, Java, C#) разрешают такие конфликты правилами приоритета и ассоциативности.
В логике программирования однозначность относится к детерминированности: программа однозначна, если при одном и том же входном состоянии она всегда переходит в одно и то же выходное состояние.
¶Лингвистика
¶Полисемия и омонимия
В языке однозначность противопоставляется многозначности слова. Слово считается однозначным, если имеет одно лексическое значение. Большинство слов естественного языка многозначны (полисемия): «голова» — часть тела, вершина чего-либо, руководитель, начало чего-то. Полностью однозначны преимущественно термины и заимствования.
¶Термины
Термин — специализированный знак, который по норме должен быть однозначным: в рамках одной отрасли знания термину соответствует одно понятие. Нарушение этой нормы (полисемия термина) считается недостатком научного стиля. Именно поэтому в нормативных документах, стандартах и законах определения формулируются так, чтобы исключить двойное толкование.
¶Философия и теория познания
В философии однозначность связана с проблемой интерпретации и смысла. Позитивистская традиция (Р. Карнап, Л. Витгенштейн ранний) стремилась к однозначному, «логически ясному» языку науки, где каждому предложению соответствует одна процедура верификации. Поздний Витгенштейн и прагматизм, напротив, показали, что однозначность — идеал, который в естественном языке недостижим, а многозначность является его нормальным свойством.
¶Применение
Требование однозначности предъявляется:
- к нормативным документам (законы, стандарты, ГОСТы) — формулировки не должны допускать двойного толкования;
- к протоколам и форматам данных — однозначность сериализации обеспечивает совместимость систем;
- к базам данных — ключи (первичные и внешние) обеспечивают однозначную идентификацию записей;
- к интерфейсам — элемент управления должен однозначно указывать на своё назначение.
¶См. также
- Многозначность
- Биекция
- Префиксный код
- Полисемия
- Детерминизм
¶Источники
- Куратовский К., Мостовский А. Теория множеств. — М.: Мир, 1970.
- Клайн М. Математика. Поиск истины. — М.: Наука, 1988.
- Успенский В. А. Лекции о вычислимых функциях. — М.: Наука, 1974.
- Апресян Ю. Д. Избранные семантические исследования. — М.: Школа «Языки русской культуры», 1995.
- Карнап Р. Философия и логический синтаксис. — М.: Прогресс, 1977.
