Расстояние Хэмминга — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
(Доказательство неравенства треугольника)
Строка 20: Строка 20:
 
{{Утверждение
 
{{Утверждение
 
|statement=<tex>~d(x,y) \le d(x,z) + d(z,y)</tex>
 
|statement=<tex>~d(x,y) \le d(x,z) + d(z,y)</tex>
|proof='''Доказательство №1'''
+
|proof=
  
 
Пусть слова <tex>x</tex> и <tex>y</tex> отличаются в некоторых позициях. Тогда какое бы слово <tex>z</tex> мы ни взяли, оно будет отличаться в каждой из этих позиций по крайне мере от одного из слов <tex>x</tex> и <tex>y</tex>. Следовательно, суммируя в правой части <tex>d(x, z)</tex> и <tex>d(z, 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>z</tex> мы ни взяли, оно будет отличаться в каждой из этих позиций по крайне мере от одного из слов <tex>x</tex> и <tex>y</tex>. Следовательно, суммируя в правой части <tex>d(x, z)</tex> и <tex>d(z, y)</tex>, мы обязательно учтем все позиции, в которых различались слова <tex>x</tex> и <tex>y</tex>. Т.е. получается, что <tex>~d(x,y) \le d(x,z) + d(z,y)</tex>.
 
 
'''Доказательство №2 (с помощью математической индукции)'''
 
 
I. Все позиции независимы.
 
 
II. Рассмотрим два варианта, когда <tex>x = y</tex> (1) и <tex>x \ne y</tex> (2):
 
#Пусть <tex>x = y</tex>, тогда <tex>d = 0</tex> (по свойству №1), так как <tex>d(x,z)</tex> и <tex>d(z,y)</tex> не могут быть меньше нуля, значит их сумма также неотрицательна <tex>(0 \le d(x,z) + d(z,y))</tex>, следовательно, неравенство <tex>~d(x,y) \le d(x,z) + d(z,y)</tex> выполняется.
 
#Пусть <tex>x \ne y</tex>.
 
а) ''База индукции:'' Пусть слова <tex>x</tex> и <tex>y</tex> отличаются в некоторой позиции. Тогда какое бы слово <tex>z</tex> мы не взяли оно будет отличатся хотя бы от одного из слов <tex>x</tex> или <tex>y</tex>. А это означает, что неравенство <tex>~d(x,y) \le d(x,z) + d(z,y)</tex> выполняется.
 
 
б) Пусть неравенство <tex>~d(x,y) \le d(x,z) + d(z,y)</tex> выполняется при <tex>~d(x,y) = k</tex>. <tex>(*)</tex> Докажем, что оно верно для <tex>~d(x,y) = k + 1</tex>. Для <tex>k</tex> позиций из <tex>k + 1</tex> общее количество отличий слова <tex>x</tex> от <tex>z</tex> и слова <tex>y</tex> от <tex>z</tex>, благодаря предположению <tex>(*)</tex>, не меньше, чем количество отличий слова <tex>x</tex> от <tex>y</tex>. Рассмотрим оставшуюся позицию, в которой отличаются слова <tex>x</tex> и <tex>y</tex>. Так как какое бы слово <tex>z</tex> мы не взяли оно, в этой позиции, будет отличатся хотя бы от одного из слов <tex>x</tex> или <tex>y</tex>, то неравенство <tex>~d(x,y) \le d(x,z) + d(z,y)</tex> для <tex>~d(x,y) = k + 1</tex> выполняется.
 
 
Индуктивное предположение верно, значит, неравенство <tex>~d(x,y) \le d(x,z) + d(z,y)</tex> выполняется для любого натурального <tex>k</tex> (<tex>k</tex> {{---}} количество отличий слова <tex>x</tex> от <tex>y</tex>).
 
 
}}
 
}}
 
  
 
== См. также ==
 
== См. также ==

Версия 02:58, 12 января 2012

Определение:
Расстояние Хэмминга (Hamming distance) — число позиций, в которых различаются соответствующие символы двух строк одинаковой длины.

В более общем случае расстояние Хэмминга применяется для строк одинаковой длины любых k-ичных алфавитов и служит метрикой различия (функцией, определяющей расстояние в метрическом пространстве) объектов одинаковой размерности.

3-битный бинарный куб для нахождения расстояния Хэмминга

Пример

  • [math]d(10{\color{Blue}1}1{\color{Blue}1}01, 10{\color{Red}0}1{\color{Red}0}01)=2[/math]
  • [math]d(15{\color{Blue}38}1{\color{Blue}24}, 15{\color{Red}23}1{\color{Red}56})=4[/math]
  • [math]d(h{\color{Blue}i}ll, h{\color{Red}o}ll)=1[/math]

Свойства

Расстояние Хэмминга обладает свойствами метрики, так как удовлетворяет ее определению.

  1. [math]~d(x, y) = 0 \iff x = y[/math] (Если расстояние от [math]x[/math] до [math]y[/math] равно нулю, то [math]x[/math] и [math]y[/math] совпадают ([math]x = y[/math]))
  2. [math]~d(x,y)=d(y,x)[/math] (Объект [math]x[/math] удален от объекта [math]y[/math] так же, как объект [math]y[/math] удален от объекта [math]x[/math])
  3. [math]~d(x,y) \le d(x,z) + d(z,y)[/math] (Расстояние от [math]x[/math] до [math]y[/math] всегда меньше или равно расстоянию от [math]x[/math] до [math]y[/math] через точку [math]z[/math]. Это свойство обычно называют неравенством треугольника за его естественную геометрическую аналогию: сумма двух сторон треугольника всегда больше третьей стороны.)

Доказательство неравенства треугольника

Утверждение:
[math]~d(x,y) \le d(x,z) + d(z,y)[/math]
[math]\triangleright[/math]
Пусть слова [math]x[/math] и [math]y[/math] отличаются в некоторых позициях. Тогда какое бы слово [math]z[/math] мы ни взяли, оно будет отличаться в каждой из этих позиций по крайне мере от одного из слов [math]x[/math] и [math]y[/math]. Следовательно, суммируя в правой части [math]d(x, z)[/math] и [math]d(z, y)[/math], мы обязательно учтем все позиции, в которых различались слова [math]x[/math] и [math]y[/math]. Т.е. получается, что [math]~d(x,y) \le d(x,z) + d(z,y)[/math].
[math]\triangleleft[/math]

См. также

Ссылки