Расстояние Хэмминга — различия между версиями
Whiplash (обсуждение | вклад) |
Whiplash (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
{{Определение | {{Определение | ||
|definition= | |definition= | ||
− | '''Расстояние Хэмминга (Hamming distance)''' {{---}} число позиций, в которых соответствующие символы двух строк одинаковой длины | + | '''Расстояние Хэмминга (Hamming distance)''' {{---}} число позиций, в которых различаются соответствующие символы двух строк одинаковой длины. }} |
В более общем случае расстояние Хэмминга применяется для строк одинаковой длины любых k-ичных алфавитов и служит [[Метрическое пространство#def1 | метрикой]] различия (функцией, определяющей расстояние в метрическом пространстве) объектов одинаковой размерности. | В более общем случае расстояние Хэмминга применяется для строк одинаковой длины любых k-ичных алфавитов и служит [[Метрическое пространство#def1 | метрикой]] различия (функцией, определяющей расстояние в метрическом пространстве) объектов одинаковой размерности. | ||
[[Файл:Hamming.JPG|thumb|180px|3-битный бинарный куб для нахождения расстояния Хэмминга]] | [[Файл:Hamming.JPG|thumb|180px|3-битный бинарный куб для нахождения расстояния Хэмминга]] | ||
Строка 15: | Строка 15: | ||
#<tex>~d(x, y) = 0 \iff x = y</tex> ''(Если расстояние от <tex>x</tex> до <tex>y</tex> равно нулю, то <tex>x</tex> и <tex>y</tex> совпадают (<tex>x = y</tex>))'' | #<tex>~d(x, y) = 0 \iff x = y</tex> ''(Если расстояние от <tex>x</tex> до <tex>y</tex> равно нулю, то <tex>x</tex> и <tex>y</tex> совпадают (<tex>x = y</tex>))'' | ||
#<tex>~d(x,y)=d(y,x)</tex> ''(Объект <tex>x</tex> удален от объекта <tex>y</tex> так же, как объект <tex>y</tex> удален от объекта <tex>x</tex>)'' | #<tex>~d(x,y)=d(y,x)</tex> ''(Объект <tex>x</tex> удален от объекта <tex>y</tex> так же, как объект <tex>y</tex> удален от объекта <tex>x</tex>)'' | ||
− | #<tex>~d(x,y) \le d(x,z) + d(z,y)</tex> ''(Расстояние от <tex>x</tex> до <tex>y</tex> всегда меньше или равно расстоянию от <tex>x</tex> до <tex>y</tex> через | + | #<tex>~d(x,y) \le d(x,z) + d(z,y)</tex> ''(Расстояние от <tex>x</tex> до <tex>y</tex> всегда меньше или равно расстоянию от <tex>x</tex> до <tex>y</tex> через третий объект <tex>z</tex> (равенство достигается только в том случае, если объект <tex>z</tex> лежит между объектами <tex>x</tex> и <tex>y</tex> на прямой, которая их соединяет). Это свойство обычно называют неравенством треугольника за его естественную геометрическую аналогию: сумма двух сторон треугольника всегда больше третьей стороны.)'' |
== Доказательство неравенства треугольника == | == Доказательство неравенства треугольника == |
Версия 04:40, 15 декабря 2011
Определение: |
Расстояние Хэмминга (Hamming distance) — число позиций, в которых различаются соответствующие символы двух строк одинаковой длины. |
В более общем случае расстояние Хэмминга применяется для строк одинаковой длины любых k-ичных алфавитов и служит метрикой различия (функцией, определяющей расстояние в метрическом пространстве) объектов одинаковой размерности.
Пример
Свойства
Расстояние Хэмминга обладает свойствами метрики, так как удовлетворяет ее определению.
- (Если расстояние от до равно нулю, то и совпадают ( ))
- (Объект удален от объекта так же, как объект удален от объекта )
- (Расстояние от до всегда меньше или равно расстоянию от до через третий объект (равенство достигается только в том случае, если объект лежит между объектами и на прямой, которая их соединяет). Это свойство обычно называют неравенством треугольника за его естественную геометрическую аналогию: сумма двух сторон треугольника всегда больше третьей стороны.)
Доказательство неравенства треугольника
Утверждение: |
Доказательство №1 Пусть слова и отличаются в некоторых позициях. Тогда какое бы слово мы ни взяли, оно будет отличаться в каждой из этих позиций по крайне мере от одного из слов и . Следовательно, суммируя в правой части и , мы обязательно учтем все позиции, в которых различались слова и . Т.е. получается, что .
I. Все позиции независимы. II. Рассмотрим два варианта, когда (1) и (2):
а) База индукции: Пусть слова и отличаются в некоторой позиции. Тогда какое бы слово мы не взяли оно будет отличатся хотя бы от одного из слов или . А это означает, что неравенство выполняется.б) Пусть неравенство Индуктивное предположение верно, значит, неравенство выполняется при . Докажем, что оно верно для . Для позиций из общее количество отличий слова от и слова от , благодаря предположению , не меньше, чем количество отличий слова от . Рассмотрим оставшуюся позицию, в которой отличаются слова и . Так как какое бы слово мы не взяли оно, в этой позиции, будет отличатся хотя бы от одного из слов или , то неравенство для выполняется. выполняется для любого натурального ( — количество отличий слова от ). |