English· Español· Deutsch· Nederlands· Français· 日本語· ქართული· 繁體中文· 简体中文· Português· Русский· العربية· हिन्दी· Italiano· 한국어· Polski· Svenska· Türkçe· Українська· Tiếng Việt· Bahasa Indonesia

un

სტუმარი
1 / ?
უკან გაკვეთილებზე

წყარო → არხი: ორი ეტაპის კოდირება

ჰამინგის თავი 10 იხსნება შენონის კომუნიკაციის მოდელით, რომელიც გამოიყენება ყველა სისტემაში, რომელიც ინფორმაციას გადაადგილებს: ტელეფონის ზარები, რადიო, მყარი დისკები, დნმ-ის რეპლიკაცია, კომპიუტერის მეხსიერება.

Shannon Communication Model

ორი ეტაპის არქიტექტურა

პირველი ეტაპი: წყაროს კოდირება (შეკუმშვა). გადაიყვანეთ წყაროს გამოთქმა კომპაქტურ წარმოდგენებად. მიზანი: ამოღება წყაროსთან დაკავშირებული სიჭარბე. მორსის კოდი აკეთებს ამას: ხშირი ასოები მიიღებენ მოკლე კოდებს, იშვიათი ასოები მიიღებენ გრძელ კოდებს.

მეორე ეტაპი: არხის კოდირება (შეცდომის დაცვა). დაამატეთ კონტროლირებული სიჭარბე, რომელიც მოწყობილია არხის ხმაურის მახასიათებლებისთვის. ხმაურიანი ტელეფონის ხაზი მეტ სიჭარბეს სჭირდება, ვიდრე ოპტიკური ბოჭკო. ორი ეტაპი გამიჯნება: თითოეული ოპტიმიზირებული დამოუკიდებლად საკუთარი ამოცანისთვის.

საერთო ინტერფეისი ორ ეტაპს შორის — სტანდარტიზირებული ბიტის ნაკადი — მნიშვნელოვანია, რომ ნებისმიერი წყარო შეიძლება დაწყვილდეს ნებისმიერ არხთან. ეს მოდულარობა არის შენონის ძირითადი არქიტექტურული შეხედულება.

შენახვა როგორც კომუნიკაცია. ჰამინგი აღნიშნავს, რომ წერილის გადაცემა სივრცეში (გადაცემა) & მისი გადაცემა დროში (შენახვა) იყენებს ერთსა და იმავე მოდელს. სარეზერვო დრაივი არის ხმაურიანი არხი დროში.

ხმაურის როლი

შენონის მოდელი აკეთებს რადიკალურ ვარაუდს: ხმაური გარდაუვალია. ყოველი არხი, ყოველი შენახვის საშუალო, ყოველი გადამრთველი წრე შემოაქვს შეცდომის რაოდენობის ალბათობა. კითხვა არ არის 'როგორ აღმოვფხვრი ხმაურს?' არამედ 'როგორ აღვამოხნე ორიგინალური წერილი ხმაურის მიუხედავად?'

ეს განსხვავდება კლასიკური ფიზიკისგან, სადაც ხმაური მოდის დამატებით (გაურკვევლობის პრინციპი). შენონი ხმაურს მხედელობს ფუნდამენტური პირობად — ყველა თეორია აგებულია მისი საფუძველზე.

ახლა, თავი 10 ფოკუსირებულია უხმაურო შემთხვევაზე: წყაროს კოდირება შეცდომების გარეშე. არხის კოდირების პრობლემა (შეცდომის კორექცია) ელის შემდგომ თავებში.

ჰამინგი ამბობს, რომ გადაცემა სივრცეში & გადაცემა დროში იყენებენ ერთსა და იმავე კომუნიკაციის მოდელს. მოიყვანეთ თითოეულის ერთი კონკრეტული მაგალითი & ახსენით, რა თამაშობს 'არხის' როლი თქვენი დროის-შენახვის მაგალითში.

როდის შეიძლება თქვენ ცალსახად დეკოდი?

ცვლადი სიგრძის კოდი სასარგებლო რომ იყოს, მიმღები ბიტის ნაკადი ცალსახად დეკოდირება უნდა. ჰამინგი ხაზს უსვამს 4-სიმბოლო კოდს, რომელიც არ აკმაყოფილებს ამ ტეստს, შემდეგ წარმოადგენს გამოსავალი: პრეფიქსი-თავისუფალი კოდები.

პრეფიქსი-თავისუფალი პირობა

კოდი არის პრეფიქსი-თავისუფალი (ან ჩაშენება) თუ რომელი კოდური სიტყვა სხვა კოდური სიტყვის პრეფიქსი არ არის. მიღებული ბიტის ნაკადის გათვალისწინებით, თქვენ იცით სიმბოლო დასრულდა მომენტში, როდესაც მიაღწევთ ხის ფოთლს — წინსწარი ხედვა არ საჭიროა.

პრეფიქსი-თავისუფალი კოდის მაგალითი {s1, s2, s3, s4}: s1 = 0, s2 = 10, s3 = 110, s4 = 111.

გადამოწმება: 0 არ არის პრეფიქსი 10, 110, ან 111. 10 არ არის პრეფიქსი 110 ან 111 (10 გაყოლებული მეტი ბიტი იძლევა 100... ან 101..., არცერთი რომელიც იწყება 110 ან 111). კოდი კვალიფიკაციას ახორციელებს.

დეკოდირების პროცედურა: მიჰყევით ხეს, განშტოვდით თითოეული შემომავალი ბიტით, გამოუშვით სიმბოლო რომ მიაღწევთ ფოთლს, დაბრუნდით ფესვს.

ქრაფტის უტოლობა

ნებისმიერი პრეფიქსი-თავისუფალი ორობითი კოდი კოდური სიტყვის სიგრძე l_1, l_2, ..., l_n:

Σ 2^(−l_i) ≤ 1

თანასწორობა დგება როდესაც კოდი სრული (ფოთლები მოთავსებულია სრული ორობით ხეში სიმაღლე გაფხვნილი). ეს აუცილებელი პირობა: პრეფიქსი-თავისუფალი კოდი არ შეიძლება მას დაარღვიოს. მეორეს მხრივ, ქრაფტის უტოლობა დამაკმაყოფილებელი სიგრძის ნებისმიერი ერთობლიობისთვის, პრეფიქსი-თავისუფალი კოდი არსებობს.

ქრაფტის უტოლობის გამოყენება

კოდის სიგრძე მოცემული, გადამოწმება ქრაფტი: Σ 2^(−l_i) ≤ 1.

{s1=0, s2=10, s3=110, s4=111}: სიგრძე არის 1, 2, 3, 3.

Σ = 2^(−1) + 2^(−2) + 2^(−3) + 2^(−3) = 1/2 + 1/4 + 1/8 + 1/8 = 1. ✓

5-სიმბოლო წყარო ზეწოთხდება კოდი: s1=0, s2=10, s3=110, s4=1110, s5=1111. გადამოწმება ან უარყოფა პრეფიქსი-თავისუფალი დეკოდირებას, შემდეგ გამოთვალეთ ქრაფტის ჯამი. რა გვეუბნება ქრაფტი = 1 ამ კოდის შესახებ?

შენონის ენტროპია

საშუალო კოდის სიგრძე ცვლადი სიგრძის კოდი: L = Σ p_i · l_i, სადაც p_i არის ალბათობა სიმბოლო s_i და l_i არის მისი კოდის სიგრძე.

რა მოკლე შეიძლება L გახდეს? შენონის პასუხი: შეუძლია ჩამოდით ქვემოთ წყაროს ენტროპია.

შენონის ენტროპია: H = −Σ p_i · log₂(p_i) (ერთეული: ბიტი/სიმბოლო)

ენტროპია იზომება საშუალო ინფორმაცია თითოეული სიმბოლოზე. მაღალი ენტროპია ნიშნავს სიმბოლო დაახლოებით თანაბარი ალბათობა (მაქსიმალური გაურკვევლობა). დაბალი ენტროპია ნიშნავს ზოგიერთი სიმბოლო დომინანტი (მაღალი მოსალოდნელობა, უფრო შეკუმშვადი).

უხმაურო კოდირების თეორემა

ნებისმიერი პრეფიქსი-თავისუფალი კოდი, H(წყარო) ≤ L ≤ H(წყარო) + 1.

კოდი არ შეიძლება დაამარცხოს ენტროპია. ჰუფმენი კოდირება (შემდეგი თავი) აღწევს ზედა შემოსაზღვრას: L < H + 1. ბლოკი კოდები ზე n სიმბოლო, შემოსაზღვრა შედება: H ≤ L/n < H + 1/n.

ენტროპია ასევე არის თეორიული კომპრესია ზღვარი: თქვენ არ შეიძლება დაკომპრესია წყარო ქვემოთ H ბიტი თითოეული სიმბოლო მის ინფორმაცია დაკარგვის გარეშე.

ენტროპიის გამოთვლა

მაგალითი: 4 სიმბოლო ალბათობა p = [1/2, 1/4, 1/8, 1/8].

H = −(1/2)·log₂(1/2) − (1/4)·log₂(1/4) − (1/8)·log₂(1/8) − (1/8)·log₂(1/8)

= (1/2)·1 + (1/4)·2 + (1/8)·3 + (1/8)·3

= 0.5 + 0.5 + 0.375 + 0.375 = 1.75 ბიტი/სიმბოლო

და ჰუფმენი კოდი {0, 10, 110, 111} აღწევს L = 1.75 = H ზუსტად.

გამოთვალეთ H 3-სიმბოლო წყაროსთვის: p(A) = 1/2, p(B) = 1/3, p(C) = 1/6. აჩვენეთ ყველა ტერმინი. შემდეგ შემოთავაზება პრეფიქსი-თავისუფალი კოდი და გადამოწმება L ≥ H.

რატომ ენტროპია ქვედა შემოსაზღვრა

უხმაურო კოდირების თეორემის ქვედა შემოსაზღვრა არ არის თხელი ფორმულა — ის ასახავს რაიმე ღრმა ინფორმაციის შესახებ: თქვენ არ შეიძლება დაკომპრესია რაიმე რომელიც უკვე მაქსიმალურად გაურკვეველი.

როდესაც სიმბოლო თანაბრად სავარაუდო (უნიფორმი განაწილება), ენტროპია H = log₂(n) n სიმბოლოსთვის. ბლოკი კოდი სიგრძე log₂(n) ბიტი აღწევს ზუსტად H. რა კოდი შეიძლება უკეთესი.

როდესაც ერთი სიმბოლო დომინანტი (ვთქვათ, p(A) = 0.99, p(B) = 0.01), H მცირე — ახლოს 0. ცვლადი სიგრძე კოდი შეიძლება დაკეთებული A ძალიან მოკლე კოდი, კოდირება ნაკადი ძალიან ეფექტურად.

პრაქტიკული გაკვეთილი: დიდი კომპრესია მოგება გამოჩნდება მხოლოდ როდესაც სიმბოლო ალბათობა მნიშვნელოვნად განსხვავდება. თუ წყარო უკვე 'უნიფორმი' (შემთხვევითი გამოჩნდება), ჰუფმენი კოდირება მოგება არ რაიმე.

ორი წყარო: წყარო X აქვს p = [0.5, 0.5] (ორი თანაბარი სიმბოლო). წყარო Y აქვს p = [0.99, 0.01] (ერთი დომინანტი სიმბოლო). გამოთვალეთ H თითოეული. რა გეუბნება ეს კომპრესია პოტენციალი თითოეული წყარო?