Suvremeni svijet temelji se na upotrebi i prijenos informacija. Ali ne možeš joj svima reći svojim glasom. Dakle, dugo vremena, trenutak kodiranja podataka bio je važan kako bi ih mogli čitati oni za koje je namijenjen. Postupno je njihovo šifriranje postalo relevantno. Bilo je potrebno staviti poruku koja joj je bila jasna i nije otkrila značenje drugima. Razgovarat ćemo o svemu ovome, saznati što je kodiranje i dekodiranje.
Bez toga na bilo koji način. Kada govore o kodiranom tekstu, to znači da je bio povezan s različitim skupom znakova. To se može koristiti za povećanje pouzdanosti ili iz jednostavnog razloga što kanal može koristiti samo ograničeni broj znakova. Primjerice, binarni kod na kojem djeluju moderna računala izgrađen je na nulama i jedinicama.
Informacije se mogu kodirati u određenim znakovima i kako bi se spremile. Kao primjer možemo navesti rezultate analiza koje sadrže pokazatelje ljudskog tijela. Ali najpopularnije pitanje je: "Što je kodiranje i dekodiranje u računalnoj znanosti?" Tražit ćemo odgovor na to pitanje.
Ranije je proces kodiranja i dekodiranja informacija igrao sporednu ulogu i nije se smatrao zasebnim područjem matematike. No, s pojavom elektroničkih računala situacija se značajno promijenila. Sada je kodiranje središnje pitanje u rješavanju širokog raspona praktičnih problema u programiranju i stoga prožima sve informacijske tehnologije. Dakle, uz njegovu pomoć:
Govoreći o tome što je kodiranje i dekodiranje, teško je previdjeti osnovu svega ovoga. Naime, abeceda. Postoje dvije vrste - izvor i kod. U prvoj se nalaze početne informacije. Po kodu znači promijenjene podatke, koji, međutim, mogu, ako je ključ prisutan, prenijeti nam šifrirani sadržaj. U računalnoj znanosti ovo koristi binarni kod koji se temelji na abecedi koja se sastoji od nule i jednog.
Pogledajmo mali primjer. Pretpostavimo da imamo dva pisma (A i B), koji se sastoje od konačnog broja znakova. Pretpostavimo da izgledaju ovako: A = {A0, A1, A2… .A33}, B = {B0, B1, B3 ... B34}. Elementi abecede su slova. Dok se njihov naručeni skup naziva riječ. Ima određenu duljinu. Prvo slovo riječi naziva se početak (prefiks), dok se posljednje slovo naziva kraj (postfix). Mogu postojati različita pravila za izgradnju građevina. Na primjer, neki sustavi informacije o kodiranju zahtijevaju da postoji razmak između riječi, a drugi bez riječi. Općenito, abeceda je potrebna za izgradnju univerzalnog sustava za prikaz informacija, njegovo pohranjivanje, obradu i prijenos. U ovom slučaju, osigurava se određena podudarnost između različitih signala i elemenata poruke koji su kodirani u njima.
Kada se informacija pretvori u izvorni oblik, proces koji se odvija zove se dekodiranje. Mora se izvršiti u odnosu na sve podatke koji su šifrirani. U ovom slučaju koristi se takozvano inverzno mapiranje (bijection). Pogledajmo situaciju binarnog sustava. Ima sve kodne riječi iste duljine. Stoga se kôd naziva uniformnim (blok). U ovom slučaju, funkcija kodiranja je određena zamjena. Uzmimo kao primjer gornji abecedni sustav. Označiti određene sekvence pomoću skupa elementarnih kodova.
Pretpostavimo da imamo A0 = {A, B, C, D} i B0 = {1, 0}. Kako se to može predstaviti računalu? I koristeći sljedeći slijed: A = 00, B = 01, B = 10, D = 11. Kao što možete vidjeti, svaki lik ima specifično kodiranje. U računalnu opremu unosi se referentna informacija o kodnom slovu i počinje čekati dolazne signale. Dolazi nula, nakon čega slijedi još jedan - da, tako to je pismo O. Ako povučemo paralele s tipkanjem riječi u uređivaču teksta, onda treba napomenuti da će biti preneseno ne samo jedno slovo, već će i odgovarajuća reakcija na njega biti pokrenuta. Na primjer, zasvijetlit će određeni niz LED monitora, gdje će se prikazati svi uneseni znakovi.
Govoreći o primjerima kodiranja i dekodiranja informacija, treba napomenuti da sustav koji se razmatra nije jedan-na-jedan. Na primjer, slovo A može odgovarati kombinaciji ne samo 00, nego i 11, 10 ili 01. No, treba imati na umu da može postojati samo jedna stvar. To znači da se kombinaciji dodjeljuje samo određeni znak. Ako shema kodiranja podrazumijeva podjelu bilo koje riječi na elementarne komponente, tada se ona naziva separabilnom. U slučajevima kada jedno slovo ne djeluje kao početak drugog, to je prefiksni pristup. To se odnosi na pitanja softvera i hardvera. Arhitektura također ima određeni utjecaj na kodiranje, ali je zbog velikog broja mogućnosti implementacije prilično problematično razmotriti.
To je najjednostavniji pristup. Ako govorimo o šifriranju informacija, onda je to možda najpopularnija opcija. U ograničenoj inačici, razmatrana je gore. Hajde da otkrijemo kako izgleda kod bez graničnika. Pretpostavimo da imamo abecedu (izvor) u kojoj su smještena sva ruska slova. Za kodiranje se koriste decimalne znamenke. Ovdje A = 1, i I = 33. Dakle, slijed slova AJAA može se nazivati 133331. Ako postoji želja da se abeceda ujedini, onda se moraju napraviti određene promjene. Dakle, za prvih devet slova morate dodati nulu. A primjer AJAA koje smatramo, pretvara se u 01333301.
Opcija koja se ranije razmatra smatra se prikladnom. No u nekim je slučajevima pametnije kladiti se na neujednačene kodove. To ima smisla kada se različita slova u izvornom tekstu pojavljuju na različitim frekvencijama. Stoga ima smisla kodirati češće likove kratkim simbolima, a rijetke simbole s dugim simbolima. Izgradimo binarno stablo slova ruske abecede. A uz to ćemo uzeti posebne znakove. Najčešće korištena slova su, dakle, počinjemo od njih: A - 0, B - 1, C - 10, G - 11, i tako dalje. I tek nakon njih koristit će se upitnici, postotci, dvotočke i drugo. Iako bi možda trebale biti stavljene zareze i razdoblja.
Teorem kaže da bilo koji kod (prefiks i uniforma) dopušta mogućnost jedinstvenog kodiranja. Pretpostavimo da koristimo primjer razmatran ranije s 01333301. Počinjemo se pomicati udesno. 0 nam ništa ne daje. No, 01 vam omogućuje da identificiraju slovo A. Malo promijeniti početni kod i predstaviti ga kao 01 333301. Sljedeći, odaberite prvi I, drugi i drugi A. Kao rezultat toga, imamo 01 33 33 01. Iako je kod je izvorno spojen, ali sada možemo jednostavnost dekodiranja, jer znamo što je to. Naime - JA JESAM A. Istodobno, primijetite da se ona uvijek dekodira nedvosmisleno, a nema tumačenja u okviru usvojenog sustava, zahvaljujući čemu je moguće osigurati visoku pouzdanost prenesenih informacija. Ali kako rade računala?
Kodiranje i dekodiranje signala računalne tehnologije temelji se na korištenju takozvanih niskih i visokih signala, koji odgovaraju nuli i jednom u logičkoj dimenziji. Što to znači? Recimo da imamo mikrokontroler. Ako jedan od njegovih ulaza primi nizak napon od 1,5 V, tada se smatra da je prenesena vrijednost logičke nule. Ali ako se 5 V prenosi, jedinica će biti zapisana u odgovarajuću memorijsku ćeliju. Istovremeno je potrebno postići dogovor o izvoru informacija komunikacijski kanal. Općenito, pri izradi elektronike potrebno je uzeti u obzir veliki broj različitih točaka. To su energetske potrebe, vrsta informacija koje se prenose (diskretno ili kontinuirano) i još mnogo toga. U isto vrijeme, podaci se moraju stalno transformirati na takav način da se mogu prenositi putem komunikacijskih kanala. Dakle, u slučaju binarne tehnologije, signali se prikazuju kao napon koji se dovodi na ulaz tranzistora ili drugih komponenti. Tijekom dekodiranja, podaci prevodi poruku u vrstu koja je razumljiva primatelju.
U praksi se pokazalo da je iznimno važno da kod poruke ima minimalnu duljinu. U početku se može činiti da se za kodiranje koristi razlika - šest, osam ili šesnaest bitova? Ali razlike nisu značajne ako se koristi jedna riječ. A ako milijarde? Srećom, možete podesiti abecedno kodiranje za sve zahtjeve. Ali ako se ništa ne zna o skupu, onda je u ovom slučaju prilično teško formulirati problem optimizacije. Ali u praksi, u pravilu, još uvijek možete dobiti dodatne informacije. Razmotrite mali primjer. Pretpostavimo da smo poslali poruku na prirodnom jeziku. Ali to je kodirano i ne možemo ga čitati. Što će nam pomoći u zadatku dekodiranja? Kao jedna od mogućih opcija - komad papira na kojem se distribuira vjerojatnost pojavljivanja slova. Zbog toga, konstrukcija optimalnog koda u smislu de / kodiranja postaje moguća uz korištenje točne matematičke formulacije i rigoroznog rješenja.
Pretpostavimo da imamo definiranu odvojivu shemu kodiranja. Onda će svi izvedenici, koji su uređeni skupovi, također imati ovo svojstvo. Štoviše, ako je duljina elementarnih kodova jednaka, tada njihova permutacija ne utječe na duljinu cijele poruke. Ali ako veličina prenesene informacije izravno ovisi o nizu slova, to znači da su korištene komponente različite duljine. Istodobno, ako postoji određena poruka i njezina shema kodiranja, tada je moguće odabrati takvo rješenje problema kada će njegova duljina biti minimalna. Kako to postići? Pogledajmo pristup koristeći algoritam za dodjeljivanje elementarnih kodova, što nam omogućuje da učinkovito pristupimo rješenju problema učinkovitosti:
Općenito, sustav je jednostavan. Ako radite s malom količinom podataka. No, s modernim računalima to je prilično problematično provesti zbog značajne količine informacija.
Stoga smo pogledali što je sustav kodiranja i dekodiranja, što bi to moglo biti, što sada postoji u računalnoj znanosti, kao i mnoga druga pitanja. No, treba razumjeti da je ova tema iznimno obimna, jedan članak nije dovoljan za to. Kao nastavak teme možemo razmotriti šifriranje podataka, kriptografiju, promjene u prikazu informacija u raznim elektronskim sustavima, razine obrade podataka i mnoge druge točke. No, grana računalnih znanosti smatra se jednim od najtežih, dakle, proučiti sve to brzo neće raditi. Osim teoretskog znanja ovdje oh kako ne jednak praktičnim vještinama. Naime, potonji osiguravaju kvalitativni rezultat.