From Wikipedia, the free encyclopedia
در تئوری اطلاعات فاصلهٔ همینگ برای دو رشته با طول مساوی، برابر تعداد مکانهایی است که سمبلهای متناظر متفاوت هستند. به عبارت دیگر، کمترین تعداد جایگزینی هایی است که یک رشته به یک رشته دیگر تغییرپیدا کند، یا تعداد خطاهایی که یک رشته به رشته دیگر تبدیل گردد.
فاصله همینگ بین:
برای یک طول ثابت n، فاصله همینگ یک معیاراندازه روی فضای برداری از کلماتی با آن طول میباشد، بطوریکه دارای شرایط غیر منفی، هویت متقارن و غیرقابل تشخیص تحقق مییابد، و آن میتواند به خوبی مسئله ارضاء نابرابری مثلث رابوسیله استقراءکامل نشان دهد. فاصله همینگ بین دوکلمه a و b میتواند همچنین به وسیلهٔ وزن هامینگ a-b برای یک انتخاب مناسب از عملگر - مشاهده گردد. برای رشته دودویی a و b فاصله همینگ برابر با تعداد یکهای a یای مانعةالجمع b میباشد. فضای برداری رشتههای دودویی با طول n، با فاصله همینگ، به عنوان Hamming cube شناخته میشود;که آن معادل با فضای برداری مجموعه فواصل بین برداری در یک گراف ابر مکعب میباشد. میتوان یک رشته دودویی با طول n را در نشان داد بطوریکه هر سمبل در رشته به عنوان یک مؤلفه حقیقی رفتار نماید. با این تعبیه، رشته هاراسهای یک ابرمکعب n بعدی را شکل میدهند، و فاصله همینگ رشتهها برابر با فاصله مانهاتان (فاصله منهتن)بین رأسها میباشد.
فاصله هامینگ از نام ریچارد همینگ گرفته شدهاست. که در مقاله بنیادی اش در مورد کد همینگ معرفی شد. که در ارتباطات برای شمارش تعدادبیتهای معکوس دریک کلمه دودویی با طول ثابت جهت تخمین خطارا میشمارد وبنابراین اکثر مواقع به آن signal distanceگفته میشود. آنالیز وزن همینگ در چندین جا شامل نظریه اطلاعات، نظریه کدگذاری و رمزنگاری مورد استفاده قرارگرفتهاست. بهر حال برای مقایسه رشتههای باطول متفاوت یا رشتههای که شامل حذف یا درج میباشند اما شامل جابجایی نمیباشند اندازهگیریهای پیچیده تری مانند فاصله لوناشتاین مورد نیاز میباشد. برای رشتههای q تایی روی الفبای q ≥ ۲ فاصله همینگ در حالت ماژولایون متعامد انجام میگیرد. درحالی که Lee distance برای ماژولاسیون فازی صورت میگیرد. در حالت q=2,q=۳ دو حالت فاصله فراهم گردیدهاست. فاصله همینگ همچنین در کلاس بندی فاصله ژنتیکی مورد استفاده قرار گرفتهاست. در Lee distance نقاط یک von Neumann neighborhood آن نقطه را تشکیل میدهند.
تابع پایتون فاصله همینگ بین دورشته با طول مساوی رامحاسبه میکند. با ایجاد یک دنباله از صفر و یکها برابری یا عدم برابری دو رشته را نشان میدهیم و سپس دنباله را جمع میکنیم.
def hamming_distance(s1, s2):
assert len(s1) == len(s2)
return sum(ch1!= ch2 for ch1, ch2 in zip(s1, s2))
تابع C زیر فاصله همینگ دو عدد صحیح را محاسبه میکند(شامل مقادیر دودویی به صورت دنبالهای از بیتها). زمان اجرای زیر برنامه بر اساس تعدادبیتهای اعداد ورودی مشخص میگردد. آن bitwise را برای دو وروی محاسبه میکند. و سپس وزن همینگ نتیجه را (تعداد بیتهای غیر صفر)با استفاده از الگوریتم harvtxt۱۹۶۰ پیدا میکند.
unsigned hamdist(unsigned x, unsigned y)
{
unsigned dist = 0, val = x ^ y;
// Count the number of set bits
while(val)
{
++dist;
val &= val - 1;
}
return dist;
}
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.