ინფორმაციის უდანაკარგოდ შეკუმშვა: განსხვავება გადახედვებს შორის

[შეუმოწმებელი ვერსია][შეუმოწმებელი ვერსია]
შიგთავსი ამოიშალა შიგთავსი დაემატა
+ბმულები
No edit summary
ხაზი 5:
ინფორმაციის უდანაკარგო შეკუმშვა ძირითადად ხდება უფრო ხშირი ინფორმაციის, უფრო მოკლე კოდებით, ხოლო უფრო იშვიათის უფრო გრძელი კოდებით წარმოდგენის ხარჯზე. ეს ზოგ ადგილას ზრდის „ფაილს“, ხოლო ზოგ ადგილას ამცირებს, მაგრამ რადგან კოდი ისეა შერჩეული, რომ უფრო ხშირი ინფორმაცია უფრო მოკლე კოდითაა წარმოდგენილი, ამიტომ უფრო მეტ ადგილას ინფორმაცია იკუმშება და საბოლოო ჯამში ვიღებთ უფრო პატარა „ფაილს“. თუმცა როდესაც ყველა კომბინაცია ერთნაირი სიხშირით გვხვდება (მაგალითად უკვე შეკუმშულ „ფაილში“) უდანაკარგო შეკუმშვა აღარ მოქმედებს.
 
ინფორმაციის უდანაკარგოდ შეკუმშვის ყველაზე მარტივი და ხშირად გამოყენებული ალგორითმი, რომელიც ასევე ყველა სხვა ალგორითმის ძირითადი პრინციპია არის [[ჰაფმანის კოდი|ჰაფმანის კოდირების ალგორითმი]]. ჰაფმანის კოდი ოპტიმალურია ყველა კოდს შორის, თუ მონაცემთა გამოჩენის სიხშირეები (ალბათობები) წინასწარ გვაქვს მოცემული. თუმცა, რადგან ეს ძირითადად ასე არ არის, პრაქტიკაში უფრო რთული კოდები გამოიყენება. მაგალითად, ჰაფმანის ალგორითმზე დაფუძნებული, მაგრამ შედარებით უფრო რთული და ეფექტური ალგორითმებია მაგალითად:
* [[არითმეტიკული კოდირება|არითმეტიკული კოდირების ალგორითმი]] - რომელიც ჰაფმანის კოდის მოდიფიკაციაა.
* [[ლემპელ-ზივ ალგორითმი]] რომელიც, ან რომლის მცირე მოდიფიკაციებიც (ძირითადად პატენტის მფლობელისთვის ფულის გადახდის თავიდან აცილების გამო), ძირითადად გამოიყენება თანამედროვე შემკუმშვის პროგრამებში.