Skip to main content

Posts

Showing posts from January, 2013

ჰაფმენის კოდირება

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

მონაცემთა შეკუმშვა

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

კონუსის კვეთა

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

გარბენის სიგრძის კოდირება

Run-Length Encoding         ელემენტების მიმდევრობაში გ ა რ ბენი ვუწოდოთ  მიმდევრობით მოცემული ერთი და იგივე მნიშვნელობის მქონე ელემენტებს .  გარბენის სიგრძის კოდირება გულისხმობს, რომ ელემენტების მიმდევრობა გარდავქმნათ გარბენების მიმდევრობად. შესამაბისად  კოდირების   ეს მეთოდი ხელსაყრელია მაშინ, როდესაც მოცემულ მიმდევრობაში ხშირია სიმბოლოების გარბენები.         ვთქვათ მოცემული გვაქვს შემდეგი მიმდევრობა: ttttsssssssnwwwwQQQQoooooooo         გარბენის სიგრძით კოდირების შემდგომ მივიღებთ: t4s7n1w4Q4o8         რაც გვეუბნება რომ მიმდევრობაში არის ოთხი "t" სიმბოლო, შემდეგ მოდის შვიდი "s" სიმბოლო, შემდეგ ერთი "n"  და ა.შ. საწყისი მიმდევრობა მოცემულია 28 ელემენტით, კოდირების შემდგომ ვიღებთ 12-ს(ვგულისხმობთ, რომ მაქსიმალური გარბენის სიგრძე არის 255). მონაცემების ზომა შემცირდა 2.3-ჯერ. გარბენის სიგრძის კოდირებამ შემცირების ნაცვლად შესაძლოა გაზარდოს გამომავალი მიმდევრობის სიგრძე. ყველაზე უარეს შემთხვევაში, როდესაც ყველა გარბენის სიგრძე 1-ის ტოლია და გარბე

ტრანსფორმაცია წინ გადმოტანით

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