Кодтау теориясы туралы жалпы ұғым
ҚАЗАҚСТАН РЕСПУБЛИКАСЫНЫҢ БІЛІМ ЖӘНЕ ҒЫЛЫМ МИНИСТРЛІГІ
М. Әуезов атындағы Оңтүстік Қазақстан Университеті
ӘОЖ-514(023) қолжазба құқығында
Исабеков Жандарбек Зертбекович
Ақырлы өрістер және олардың кодтау теориясында қолданылулары
7M01510 - Математика білім беру бағдарламасы бойынша
педагогика ғылымдарының магистрі дәрежесін алу үшін
дайындалған диссертация
Ғылыми жетекшісі:
Шымкент 2023
МАЗМҰНЫ
КІРІСПЕ ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
7
АҚЫРЛЫ ӨРІСТЕР ТЕОРИЯСЫНЫҢ ҚОЛДАНУЛАРЫ ... ... ... ... ...
9
1.1 Кодтау теориясы туралы жалпы ұғым ... ... ... ... ... ... ... ... ... ... ... ... ... ...
9
1.2 Сызықтық кодтар ... ... ... ... ... ... ... . ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .
11
1.3 Жұптылықпен тексеруші код ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
16
1.4 Қайталаушы код ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
19
1.5 Қателікті түзетуші кодтар ... ... ... ... ... ... ... . ... ... ... ... ... ... ... ... ... ... ... ...
20
1.6 Сызықтық кодтарды кодсыздандыру ... ... ... ... ... .. ... ... ... ... ... ... ... ... ...
23
1.7 Іргелес кластың лидері бойынша кодсыздандыру алгоритмі ... ... ... ... .
26
ХЭММИНГ КОДЫ ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
28
2.1 Екілік топтық кодтар ... ... ... ... ... ... ... . ... ... ... ... ... ... ... ... ... ... ... ... ... ...
28
2.2 Хэмминг коды ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
31
2.3 Хэмминг кодын кодсыздандыру ... ... ... ... ... .. ... ... ... ... ... ... ... ... ... ... ...
34
2.4 Хэмминг кодын құру алгоритмі ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... ... ...
35
ТОПТЫҚ КОДТАР ... ... ... ... ... ... ... . ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
41
3.1 Блокты кодтар ... ... ... ... ... ... ... . ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
41
3.2 Топтық кодтар ... ... ... ... ... ... ... . ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
44
3.3 Циклдік кодтар ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
47
3.4 Ықтималдықтар ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .
49
ҚОРЫТЫНДЫ ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .
55
ПАЙДАЛАНҒАН ДЕРЕК КӨЗДЕРІНІҢ ТІЗІМІ ... ... ... ... ... ... ... . ... ... ... ..
56
ҚОСЫМШАЛАР ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
58
АНЫҚТАМАЛАР, БЕЛГІЛЕУЛЕР МЕН ҚЫСҚАРТУЛАР
Осы магистрлік диссертацияда сәйкес анықтамалар бойынша келесі терминдер қолданылады.
Анықтама 1. Белгілі бір ортақ қасиеттерге ие болып, белгілі бір заңдылықпен біріккен объектілер жиын құрайды. Жиындар элементтерден құралады. Жиындардың элементтері аталып беріледі немесе сол жиын элементтеріне ғана тән қасиет белгі көрсетіледі. Жиынды латынның бас әрпімен белгілеп, оның элементтерін фигуралық жақшаның ішіне алып жазу келісілген. Сонымен қатар, жиын элементтерінің санына қарай ақырлы және ақырсыз жиын болып бөлінеді.
Анықтама 2. Егер жиында бірде-бір элемент болмаса, оны бос жиын деп атайды.
Анықтама 3. Егер В жиынының әрбір элементі А жиынына тиісті болса, онда В жиыны А жиынының ішкі жиыны деп аталады. Белгіленуі:
Анықтама 4. А жиынына да, В жиынына да тиісті элементтерден ғана тұратын жиынды А және В жиындарының қиылысуы деп атайды.
Анықтама 5. Әрбір элементі А немесе В жиындарының кем дегенде біреуіне тиісті болатын жиын А және Вжиындарының бірігуі деп аталады.
Анықтама 6. m жолы мен n бағаны бар тікбұрышты сандар кестесі өлшемді матрица деп аталады. Матрицаның құрамына кіретін сандар оның элементтері деп аталады.
Анықтама 7. Егер матрицаның жолдарының саны оның бағандарының санына тең m=n болса, онда матрица квадрат матрица деп аталады.
Анықтама 8. Матрицаның жолдарының саны матрицаның реті деп аталады.
Анықтама 9. А матрицасының анықтауышы деп
санын атайды.
Анықтама 10. матрицасының жолдарын кеңістігінің,ал бағандарын кеіңістігінң векторлары ретінде қарастырып, рангін А матрицасының жолдар рангі, ал рангін А матрицасының бағандар рангі деп атаймыз.
Анықтама 11. S - кез-келген жиын және жиыны жұптарынан тұратын жиын. Онда жиынын жиынына бейнелейтін кез-келген бейнелеуді жиынындағы (бинарлық) операция деп атаймыз.
Анықтама 12. Кез-келген жиынын операциясы бинарлық операция болса және келесі шарттар орындалса:
операциясы ассоциативті, яғни
G жиынында е бірлік элемент бар болса, яғни
G жиынында а-1 кері элемент бар болса элемент бар болса,
яғни орындалса
онда жиыны топ деп аталады.
Анықтама 13. Егер топта шарты орындалса, онда топ абельдік (немесе коммутативті) топ деп аталады.
Анықтама 14. R жиынында және операциялары бинарлық операция болып және келесі шарттар орындалса:
R - операциясына қатысты абельдік топ
- операциясы ассоциативті, яғни
Дистрибутивтілік заңы орындалса, яғни
және
онда R жиыны сақина деп аталады.
Анықтама 15.
Сақина бірлік элементті сақина деп аталады, егер сақинада мультипликативті бірлік элемент бар болса, яғни , .
Сақина коммутативті сақина деп аталады, егер операциясы коммутативі болса.
Сақина бүтін сақина деп аталады, егер сақина коммутативті, бірлік элементті сақина болса, болғанда немесе .
Сақина дене деп аталады, егер және R-ден басқа элементтері операциясына қатысты топ құрайтын болса.
Анықтама 16. Коммутативті дене өріс деп аталады.
Мысал. өріс
өріс
өріс
Анықтама 17. Топ ақырлы (ақырсыз) топ деп аталады, егер ақырлы (ақырсыз) сан элементтерінен тұратын болса. Ақырлы топтың элементтер саны оның реті деп аталады.
Анықтама 18. p жай саны үшін бүтін сандар жиынын Fp арқылы белгілейік және бейнелеуі келесі шартпен анықталсын a=0, 1, ..., p - 1 үшін . Онда жиыны өріс құрылымы индуцияланған бейнесімен p-ретті Галуа өрісі деп аталады (көп жағдайда GF(p) символымен белгіленеді).
Анықтама 19. K - өріс болсын. Ал, бірлік элементі. Егер
теңдігі орындалатындай (ең кіші) саны табылса, мұндай сан K өрісінің сипаттамасы деп аталады. Белгіленуі: .
Егер n () саны табылмаса, онда K өрісінің сипаттамасы 0-ге тең.
Анықтама 20. Егер , P, K өріс болса, онда P өрісі K өрісінің ішкі өрісі деп аталады, ал K өрісі P өрісінің кеңейтілімі деп аталады.
Анықтама 21. P - өріс, . V жиынында
анықталып және
Егер:
абельдік топ болса;
шарттары орындалса, V жиыны P өрісіндегі векторлық кеңістік деп аталады.
Анықтама 22. V - векторлық кеңістік, P - өріс.
ақырлы жүйе (1)
Егер теңдігі орындалатындай кемінде , табылса, онда (1) жүйе сызықтық тәуелді деп аталады. Керісінше, -дің барлығы 0-ге тең болғанда ғана орындалса, онда (1) жүйе сызықтық тәуелді деп аталады.
q элементтен тұратын өріс
n қатардан, k бағаннан тұратын матрица
транспонирленген А матрицасы
[X] - X санының бүтін бөлігі
]X[ - Х санынан кіші емес ең үлкен бүтін сан
КІРІСПЕ
Қазіргі заманда дискретті математиканың түрлі салаларда қолданулары бар. Ақырлы өрістер теориясы қазіргі абстракт алгебраның негізгі бөлімінің бірі болып табылады. Ақырлы өрістердің қолдануларының негізгі салаларының бірі - кодтау теориясы. Кодтау теориясының пәні берілген ақпараттың нақтылығын қамтамасыз ету болып табылады. Кодтау теориясы өзінің бастауын Шеннонның кодтау туралы танымал теоремасынан алады. Онда ақпаратты беруде кез-келген жылдамдықта қатенің аз болу ықтималдығында қолданылатын кодтар табылады деп дәлелденген.
Ақпаратты жіберу теориясының маңызды мәселелерінің ішінде - ақпаратты шулы арна бойынша сенімді түрде жіберу мақсатында оны кодтау және кодсыздандыру. Ақпаратты жіберу теориясында әдетте элементтері ақырлы алфавиттен алынған ақырлы тізбекті символдардан тұратын хабарламаны жіберу керек. Мысалы, бұл алфавит 0 және 1 символдарынан тұрсын, онда бұл хабарламаны екілік жүйеде жазылған сан ретінде қарастырамыз. Жалпы жағдайда, осы ақырлы алфавитіміз ақырлы өріс болып табылады.
Кодтау теориясының негізгі мәселесі - байланыс арнасының шуы нәтижесінде пайда болатын қателер ықтималдығының ең аз болуында. Хабарлама жіберудің сенімділігін арттыру әдістері ақырлы өрістердің қасиеттеріне негізделеді.
Диссертация ақырлы өрістер теориясының негіздерін алгебралық кодтау теориясына қолдану мәселелеріне арналған. Алгебралық кодтау теориясының басты мақсаты - қателікті түзетуші кодтар мен қателікті айқындаушы кодтарды құру әдістерін зерттеу. Жұмыста бинарлық сызықтық кодтардың бір түрі - Хэмминг коды зерттеледі, Хэмминг кодын құру алгоритмі қарастырылады.
Жұмыстың бірінші бөлімінде тақырыпты талдауға қажетті негізгі алгебралық түсініктер мен мағлұматтар, ақырлы өрістер теориясының кодтау теориясына қолданулары, кодтардың түрлері, арналарға жіберілетін сөздерді кодтау және кодсыздандыру әдістері қарастырылады.
Диссертацияның екінші бөлімінде бинарлық сызықтық кодтардың бір түрі - Хэмминг коды зерттеледі; Хэмминг кодын құру алгоритмдері және осы кодты кодсыздандыру әдістері қарастырылады, сонымен қатар Хэмминг кодының мысалына компьютерлік бағдарлама құрылды.
Үшінші бөлімде топтық, блокты, циклдік кодтар қарастырылады, сонымен қатар, хабарларды арналарға сенімді жіберудің ықтималдығы қарастырылады. Жұмыста алгебралық Кодтау теориясының негіздері тақырыбы бойынша орта мектеп оқушыларына арналған факультатив құрылды.
Жұмыстың мақсаты - ақырлы өрістер теориясының кодтау теориясында қолданылуы, қателерді табатын және түзететін кодтарды құру әдістерін зерттеу. Диссертация алгебралық кодтау теориясына арналған. Жұмыста сақиналар теориясы мен өрістер теориясының зерттеу әдістері қолданылады. Зерттеу нысаны - қателікті түзетуші кодтар мен қателікті айқындаушы кодтарды құру әдістері.
Зерттеу жұмысының нәтижесі 17-18 сәуірде Көкшетау қаласы, Ш.Уәлиханов атындағы Көкшетау мемлекеттік университетінде өткен Қазақтың ұлы ғалымы, тарихшы, этнограф, саяхатшы және ағартушы Ш.Уәлихановтың 180 жылдығына арналған ШОҚАН ОҚУЛАРЫ - 19 Халықаралық ғылыми-тәжірибелік конференция материалдарында Кодтау теориясының негіздері, Хэмминг коды деген тақырыпта жарық көрді. Зерттеу жұмысының нәтижесін жоғары оқу орындарында студенттерге Дискретті математика пәнін оқытуда қолдануға болады.
АҚЫРЛЫ ӨРІСТЕР ТЕОРИЯСЫНЫҢ ҚОЛДАНУЛАРЫ
Кодтау теориясы туралы жалпы ұғым
Кодтау теориясы - компьютингтің дамуына өз үлесін қосқан математиканың бір облысы болып табылады. Оның таралу облысы мәліметтерді нақты каналдар бойынша беру, ал оның пәні берілген ақпараттың нақтылығын қамтамасыз ету болып табылады. Кейбірде кодтау теориясын шифрлеумен шатастырады, бірақ ол дұрыс емес: криптография кері есепті шешеді, оның мақсаты - мәліметтерден ақпаратты алуды қиындату. Кодтау теориясы - мәліметтерді жоғалтпай алуды қамтамасыз етеді. Мәліметтерді кодтаудың қажеттілігімен алғашқы рет жүз елу жыл бұрын тап болды. Каналдар өте қымбат және сенімсіз болғандықтан телеграммаларды жіберудің өте тиімді жолдары қарастырылды. 1845 жылы пайдалануға арнайы кодтау кітаптары шықты; олардың көмегімен телеграфистер қолмен мәліметтердегі ұзақ сөйлемдерді қысқа кодтармен алмастырды. Сол кездері мәліметтердің жіберілуінің дұрыстығын тексеру үшін жұптық бақылау әдісі қолданылды, бұл әдісті перфокарталардың дұрыстығын тексеру үшін компьютердің бірінші және екінші буындарында да қолданылды. Ол үшін ең соңғы мәліметтер колодасына арнайы дайындалған бақылау сомасы бар картаны салған. Егер енгізу құрылғысы сенімсіз болса (немесе колода тым ұзын болған жағдайда), онда қате тууы мүмкін. Оны жөндеу үшін картадағы сомамен сәйкес келмегенше процедураны қайталай беретін. Бұл сұлбаның ыңғайсыз болғанымен қатар, ол екі есе қателер жіберетін. Байланыс каналдарының дамуымен қатар бақылаудың өте тиімді механизмі керек болды. Бұл мәселенің теориялық шешімін алғашқы болып ақпараттың статистикалық теориясының негізін қалаушы Клод Шеннон ұсынды. Шеннон өз заманының жұлдызы болды,ол АҚШ-тың академиялық элитасының мүшесі болған. Ванневар Буштың аспиранты болып, ол 1940 жылы жасы 30 жетпеген оқымыстыларға берілетін Нобель атындағы сыйлыққа ие болды. Bell Labs жұмыс істеп жүріп Шеннон Мәліметтерді жіберудің математикалық теориясы (1948) атты жұмыс жазды, ол жұмыста Шеннон каналдың жіберу мүмкіндігі мәліметтердің энтропия бастауынан жоғары болса, онда мәліметтерді ешқандай ақаусыз жіберілетіндей етіп кодтап қоюға болатынын дәлелдеді. Бұл түйіндеме Шеннонның көптеген дәлелдеген теоремалардың біреуінде бар. Сонымен қатар, ол каналда шудың бар болуына қарамастан мәліметтің жіберілу мүмкіндігінің теориялы түрде дәлелдеп берді. Шеннонның Мичиган штатында өзінің туып өскен қаласында орнатылған ескерткішінде ойып жазылған формуланы Альберт Эйнштейннің формуласының мәнімен салыстырады. Шеннонның еңбектері ақпараттар теория облысындағы әрі қарай зерттеулерінде өз ықпалын тигізді, бірақ оларда инженерлік практикалық қосымшасы болмады. Теориядан практикаға алмасу Ричарда Хэммингтің жұмысына байланысты болды. Ол Шеннонның Bell Labs бойынша әріптесі болды және кодтар класын ашқандығы үшін әйгілі болды, оларды Хэмминг коды деп атады. Өзінің жаңалығын Хемминг 40 жылдардың ортасында Bell Model V есептеуіш машинасының перфокарталармен жұмыс жасау қолайсыздығынан ашты деген аңыз бар. Оған операторлар жоқ болғанда, яғни демалыс күндерде машинамен жұмыс жасауға мүмкіндік берді және ол өзі енгізулермен жұмыс жасады. Хемминг байланыс каналдарындағы, сонымен қатар компьютерлердегі ақпараттарды беру магистральдарында, ең бастысы жад пен процессор арасындағы қателерді түзете алатын кодты ұсынды. Хемминг коды Шеннон теоремасында көрсетілген мүмкіндіктерді практикалық түрде қалай іске асыруға болатындығын көрсетеді. Хемминг өзінің мақаласын 1950 жылы жарыққа шығарды, бірақ ішкі жазбаларда кодтау теориясы 1947 жылмен белгіленген. Сондықтан кейбіреулер кодтау теориясының атасы ретінде Шеннонды емес, Хеммингті атау керек деп ойлайды. Хемминг бірінші болып қателерді түзейтін кодтарды (Error-Correcting Code, ECC) ұсынғандығы анық екенін білеміз. Бұл кодтардың қазіргі заманғы модификациялары барлық ақпараттарды сақтау жүйелерінде және жад пен процессор арасындағы алмасулар үшін қолданатыны белгілі. Олардың бір нұсқасы Рид-Соломонның коды компакт-дискілерде қолданылады. Хэмминг тәсілі бойынша жасалынған көптеген кодтар нұсқалары бар, олар кодтау алгоритмдері бойынша және тексеретін биттер саны бойынша айырмашылықтары бар. Мұндай кодтарға планетааралық станциялармен космостық байланыс жасау үшін ерекше көңіл беріле бастады, мысалы, Рид-Мюллердің кодтарын 7 ақпараттық битке 32 тексеруші бит немесе 6 ақпараттық битқа 26 тексеруші биттар келетін болды.
ECC жаңа кодтардың бірі ретінде LDPC (Low-Density Parity-check Code) кодын айтуымызға болады. Негізінде олар отыз жыл бұрын танымал болған, бірақ қазіргі уақытта оларға ерекше көңіл бөлінуде. LDPC коды 100 пайыздық анықтылығы болмағанмен, ол қатенің мүмкіндігін керекті нәтижеге дейін жеткізуімізге мүмкіндік береді және сонымен қатар каналдың жіберу мүмкіндігі максимальді толық түрде қолданылады. Оларға турбокодтар (Turbo Code) өте жақын келеді, олар алыс космостағы объектілермен жұмыс жасағанда өте қолайлы. Кодтау теориясының тарихына Владимир Александрович Котельниковтың аты нық жазылған. 1933 жылғы Материалах по радиосвязи к I Всесоюзному съезду по вопросам технической реконструкции связи-да ол өзінің О пропускной способности эфира и проволоки атты жұмысын жариялады. Бұл теоремада жіберілген сигнал ақпараттың жоғалтуынсыз қайтадан қалпына келетін шарттарды анықтайды.
Бұл теореманы әркім әрқалай атайды, соның ішінде WKS теоремасы (Whittaker, Kotelnikov, Shannon). Кейбір бастауларда Nyquist-Shannon sampling theorem және Whittaker-Shannon sampling theorem деп те аталады, ал өзіміздің жоғарғы оқу орындарының оқулықтарында жай ғана Котельников теоремасы деп кездестіреміз.
Бүгінгі күнде ақпараттарды арналарға сенімді түрде жіберу, соның ішінде ақпараттарды кодтау және кодсыздандыру арқылы жіберу үлкен мәселеге айналып отыр. Әдетте, элементтері ақырлы алфавиттен алынған ақырлы тізбекті символдардан тұратын хабарламаны жіберу керек болады. Мысалы, бұл алфавит 0 және 1 символдарынан тұрсын, онда бұл хабарламаны екі сан ретінде қарастырамыз. Жалпы жағдайда, осы ақырлы алфавитіміз ақырлы өріс болып табылады.
Кодтау теориясының негізгі есебінің нәтижесі байланыс арналарының шуының қате ықтималдығының ең аз болуында. Хабарлама жіберудің сенімділігін арттыру әдісі негізінен ақырлы өрістердің қасиеттеріне байланысты.
Алгебралық кодтау теориясының негізгі идеясы хабарламаны артық ақпаратпен бірге жіберу. Бұл хабарламаны құрайтын тізбек символдарының кез-келген арнайы бейнесі тізбектің ұзындығымен бейнеленетінін көрсетеді.
1-суретте байланыс жүйесінің қарапайым моделі көрсетілген [1, 588 б.].
шу
шу
Байланыс
каналы
Байланыс
каналы
хабарламаa f кодталған хабарламаc кодсыздандырылған хабарламаa g келген хабарламаc+e
1-сурет
Біз жіберген және кодсыздандырылған хабарламаны құрайтын символдар бір ғана Fq ақырлы өрісінің элементтері болатынын байқаймыз. Яғни, кодтау дегеніміз, k символдық блоктан тұратын жіберілген хабарламаны ұзындығы nk болатын кодтаушы сөздерімен алмастырады. Біз кодталған сөздерді n өлшемді жол-вектор ретінде қарастырамыз. 1-суреттегі f: бейнелейтін функция кодтау схемасы деп, ал g:кодсыздандыру схемасы деп аталады.
Сызықтық кодтар
Анықтама 1.2.1. өрісінен алынған өлшемді және рангісі болатын матрица болсын. С - шартын қанағаттандыратын n-өлшемді векторлар жиыны. С жиыны өрісінде -сызықтық код деп аталады. Мұндағы, n - кодтың ұзындығы, ал k - кодтың өлшемі деп аталады. С жиынының элементтері кодталған сөздер (немесе кодталған векторлар), ал, Н матрицасы С жиынының тексеруші кодтау матрицасы деп аталады. Егер q=2 болса, С - бинарлық код деп аталады. Егер H матрицасының түрі болса, онда С - жүйелік код деп аталады. Ескерту. С жиыны сызықтық теңдеулер жүйесінің шешімі болса, векторлық кеңістігінің k өлшемді ішкі кеңістігі болады және кодталған сөздер қосу операциясына қатысты топ құрап, С топтық код деп аталады.
Мысал 1.2.2. H - өлшемі болатын өрісінен алынған матрица болсын:
H=: =, =
Тексеруші символдарды теңдеулер жүйесінен табуға болады. төмендегідей берілген деп есептейік:
Сонда мынадай жүйе шығады:
Онда бізде өрісіміз болғандықтан тексеруші символдарын келесідей беруге болады.
Ендеше, бұл жағдайда кодтау схемасы
бейнелейтін сызықты бейнелеу болады.
Кодтаудың мысалдары:
а) Е - кодтауы натурал сандардың екілік жазылуы. n=0 санына сөзі сәйкес қойылады, ал санына
шартын қанағаттандыратын ұзындығы ең қысқа
сөзін сәйкес қоямыз.
Әрине, n - санының жазылуы 1 цифрынан басталады, яғни , ал таңбалар саны - келесі екілік теңсіздікті қанағаттандыруы тиісті:
Сонымен, , мұндағы өрнегі Х - санының бүтін бөлігі, ал өрнегі Х санынан кіші емес ең кіші бүтін сан.
Е кодтауы өзара бірмәнді бейнелеу (сәйкестік):
болғанда және сөздері әртүрлі.
б) алғашқы натурал санды кодтау. Әрбір n натурал санына сөзін сәйкес қояды. .
сөзі n санының k-цифрдың көмегімен екілік жазылуы деп аталады.
кодтауында алғашқы натурал сан ұзындығы k болатын екілік сөздер жиынына бейнеленеді. 1-кестеде Е және кодтауларындағы 0-ден 15-ке дейінгі сандарға сәйкес келетін сөздер келтірілген [2, 300 б.].
Кесте 1
Е және E4 кодтауларындағы 0-ден 15-ке дейінгі сандарға сәйкес келетін сөздер
n
n
n
0
0
0000
6
110
0110
12
1100
1100
1
1
0001
7
111
0111
13
1101
1101
2
10
0010
8
1000
1000
14
1110
1110
3
11
0011
9
1001
1001
15
1111
1111
4
100
0100
10
1010
1010
5
101
0101
11
1011
1011
в) Пошта индексіндегі цифрларды жазудағы қолданылатын кодтау.
Хат жолдаушының қалыптағы тоғыз кесіндісінің көмегімен жазған әрбір ондық цифры автоматты түрде танылуы үшін ол В алфавитінде ұзындығы тоғызға тең сөзбен кодталады.
1 таңбасына қолданылатын кесінділердің нөмірлері 3, 4, 8 сандарына сәйкес келеді.
Мысалы, 2 цифрына 1, 4, 7, 9 нөмірлері сәйкес келсе, оған 100100101 сөзі сәйкес келеді. 5 цифрына 110010011 сөзі сәйкес келеді.
Ақырлы жиындарды екілік сөздердің кейбір ішкі жиынына бейнелеуді осы жиындардың элементтерінің санын есептеу немесе бағалау арқылы беру өте қолайлы.
Мысалы n санының теріс емес бүтін m қосылғышқа ретті жіктелуі (үлестірілуі) болатын жиынын қарастырайық.
Әрбір жіктелуіне сөзін сәйкес қоямыз. Бұл сөздің ұзындығы , яғни, ол n- нөлдерден және бірлерден тұрады. Бірлер нөлдердің тізбектерін бір-бірінен ажырату үшін қажет.
11 санының 4 қосылғышқа жіктелуін қарастырайық 11=5+0+2+4 болса, оған сәйкес келетін кодтық сөз 00000110010000. 11=2+7+2+0 болса, онда ол 001000000010011 сөзімен, ал 11=1+1+6+3 болса, 01010000001000 сөзімен кодталады. Мұндай кодтау жиынын ұзындығы болатын еселік сөздер жиынына өзара бірмәнді бейнелеу болады. Мұндағы әрбір сөзде тура бірлер бар.
Мысал 1.2.3. алфавиті және оның әріптерінің екілік кодтаулары берілсін:
0100 сөзін db немесе add деп декодтауға болады, 0010100 сөзін ddcdd немесе daadd немесе dadb деп декодтауға болады.
Сонымен, көрсетілген натурал сандарды әріптері бойынша кодтау өзара бірмәнді сәйкестік болмайды. Егер алфавиттің барлық әріптерінің кодтарының ұзындықтары бірдей болса, онда код бірқалыпты деп аталады.
Мысал 1.2.4. коды бірқалыпты.
(сөздер жиыны) - кодында тек ғана әртүрлі сөздер бар деп есептеуге болады. Егер алфавитіндегі әрбір теңдігінен және сәйкестіктері шығатын болса, онда - ажыратылатын код деп аталады.
Лемма 1.2.5. Әріптері бойынша кодтау өзара бірмәнді сәйкестік болуы үшін оның ажыратылатын кодтың көмегімен берілуі қажетті және жеткілікті.
Ал, жоғарыдағы анықтамадан ажыратылатын кодтың барлық сөздерінің әртүрлі және бос болмайтындығын көреміз.
Егер кез-келген сөзі ешқандай да сөзінің (басталуы) басы болмайтын болса, онда - префиксті код деп аталады. Әрине, префиксті код - ажыратылатын болады. Префикстік - ажыратылатын болудың жеткілікті шарты. Егер префиксті кодтың әрбір сөзін басқа бір кодтық сөздің басы болмайтын оның ең қысқа (басталуымен) басымен ауыстырсақ, онда шыққан код қайтадан префикстік код болады. Мұндай амалды префикстік кодты қию деп атайды. Префикстік кодтың қарапайым мысалы бірқалыпты код болып табылады. Оған ажыратушы қажет емес, себебі әрбір хабарланатын әріптің коды бірдей санды кодтаушы таңбаларды анықтаудан басталады.
Мысал 1.2.6. Телефондардың 7 таңбалық нөмірлерінің префикстіктігін (яғни, ажыратушылығын) бірқалыптылықпен қанағаттандыруға болады. 0; 01; 02; 03 және тағы басқалардың басталатын нөмірлер үшін ажыратушылықты талап етубасқа нөмірлердің осындай (басталуы) басының болмауымен пара-пар. Мысалға 01 коды 105=100000 әртүрлі 7 таңбалы нөмірдің болмауын қанағаттандырады. Кодтың префикстігіне (Морзе кодында қолданылған) басқа әдіспен де жетуге болады. Ол үшін кез-келген кодтық сөздің соңына арнайы таңба-ажыратқыш енгіземіз. Компьютердегі файлдың атын, көптаңбалы сандар берілгендерінің атын т.б. енгізуге ұқсас. Олардың барлығы ажыратқышпен аяқталуға тиісті, мысалы, ENTER тетігін басу арқылы. Префикстік кодтың ажыратылатын болуының қажетті шарты емес. Мысалы, екі әріпті алфавитінің коды префиксті емес, бірақ ажыратылады. Егер 0-дейін 1 келсе, онда 01 таңбасы - b әрпі; 0 таңбасы а-ны кодтай алмайды, себебі, келесі бірлік (бір) ешқандай кодтық сөздің басы болмайды.
Теорема 1.2.7. Айталық, натурал сандардың кез-келген жиынтығы болсын. . Ұзындығы болатын ажыратылатын коды бар болуы үшін
Крафт-Макмиллан теңсіздігінің (ажыратылатын кодтар үшін) орындалуы қажетті және жеткілікті.
Жұптылықпен тексеруші код
Хабарламадағы әрбір k символдық блоктан тұратын сөз мына түрде кодталады:
мұндағы алғашқы k символ k символдық жіберілген хабарламамен сәйкес келеді және ол ақпараттық символдар деп аталады, ал қосымша n−k символдары тексеруші (немесе бақылаушы) символдар деп аталады. Осындай кодтау схемасы келесі түрде жиі беріледі. Н - элементтері өрісінен алынған (n−k)xk ретті H= түріндегі матрица болсын. Мұндағы А - (n−k)xk ретті матрица, ал - (n−k)-ретті бірлік матрица. Онда тексеруші символдар төмендегі теңдеулер жүйесімен анықталады:
мұндағы, с - кодтаушы сөз, ал Т транспонирлеуді білдіреді. Бұл теңдеуді тексеруші теңдеулер немесе жұптылықты тексеру теңдеуі деп аталады.
Мысал 1.3.1. q=2 және жіберетін хабарламаның түрі болсын. Онда f кодтау схемасын былайша анықтаймыз:
f: , i=1,...,k: , ал
Яғни, барлық қосындысы 0-ге тең болғанда, барлық қосындысы да 0-ге тең және -де 0-ге тең болып, кодталған сөздер қосындысы 0-ге теңяғни жұп сан. Және сол сияқты барлық қосындысы 1-ге тең болғанда, барлық қосындысы да 1-ге тең және -де 1-ге тең болып, кодталған сөздер қосындысы 1+1=0, яғни, бәрібір жұп сан шығады. Сәйкесінше, кез-келген кодталған сөздер элементтерінің қосындысы 0-ге тең. Егер алынған сөздер элементтерінің қосындысы 1-ге тең болса, онда алушы бұл хабарды жіберген кезде қате кеткенін байқайды. Егер n=k+1 болса, онда алушы код тексеруші матрицасы Н=(11...1) болатын сызықты n, n-1-код болады.
Тиімді кодтау. Ақпарат көзінің статистикалық қасиеттеріне қатысты кейбір қарапайым жорамалдарды өзара бірмәнді кодтауды тиімді құрудың жолдарын қарастырайық. Бұл жағдайда ең тиімді код болып орта есеппен алғанда хабардың бір әрпіне екілік цифрлардың ең аз санын сәйкес қоятын код есептеледі.
алфавитінің әріптері біртіндеп кездейсоқ ретпен пайда болатын ақпарат (хабар) көзін қарастырайық. А - алфавитінің әріптерінің біртіндеп пайда болуы статистикалы тәуелсіз және ықтималдықтардың үлестірулеріне бағынады деп жориық.
Яғни,
Алфавитінде әрбір коды
екілік цифрлардың орта санымен сипатталады.
Бұл орта сан әріптері бойынша дұрыс А алфавитінің бір әрпіне сәйкес келеді.
шамасын Р үлестіруіндегі V кодының құны деп атайды. Айталық, болсын, мұндағы төменгі шекара, m сөзден тұратын V-префикстік кодтау жиыны бойынша алынады. Егер болса, онда үлестіруіндегі префикстік код тиімді деп аталады.
Негізгі есеп: тиімді немесе құны бойынша жақын кодты құру әдісін іздеп табу және шамасын бағалау. Тиімді кодқа жақын кодтарды құрудың белгілі екі әдісі К.Шеннон мен Р.Фаноға тиісті. Фано әдісі өзінің тым қарапайым құрылымымен ерекше. Бұл әдістің мағынасы мынада: реттелген (ықтималдықтарының кему ретімен) әріптер тізімі оларға енетін әріптердің ықтималдықтарының қосындысы бір-бірінен мейлінше аз ажыратылатындай екі бөлікке бөлінеді. Бірінші бөліктің әріптеріне 0-ді, ал екінші бөліктің әріптеріне 1-ді сәйкес қоямыз. Егер бөлікте ең болмағанда екі әріп болса, онда онымен жоғарыдағы жұмысты қайта жүргіземіз. Жұмыс барлық тізімнің әрбір бөлігінде бір-бір әріптен қалғанша жүргізіледі. Осы процесстің нәтижесінде әрбір әріпке таңбалар тізбегі сәйкес қойылады. Ал, бұл кодтаудың префикстік болатынын түсіну қиын емес. Фано әдісімен құрылған кодтың мысалы 2-кестеде келтірілген [2, 302 б.].
Кесте 2
Фано әдісімен құрылған код
Хабар
(ақпарат)
P
Фано
коды
a
0,30
0,18
0,48
0,30
0
0
00
b
0,18
1
01
c
0,14
0,52
0,28
0,14
1
0
0
100
d
0,14
0,14
1
101
e
0,11
0,24
0,11
1
0
110
f
0,06
0,13
0,06
1
0
1110
g
0,05
0,07
0,05
1
0
11110
h
0,02
0,02
1
11111
Кодтың құны
Ескерту. Әріптер тізімін екіге бөлу белгілі бір жиіліктер қатынасында бірмәнді анықталмайды.
Атақты телеграфтық Морзе коды алфавитіндегі әріптерді (латын немесе орыс), олардың арасындағы тыныс белгілерін және цифрларды екі әріпті алфавитте (нүкте, тире) кодтау. Бұл екілік кодтау болмайды. Себебі, Морзе кодында қосымша ажыратушы таңба бар: ол байланыс тарабы бойынша хабар берілгенде уақыт бойынша (пауза), ал жазғанда бос орын (пробел) бойынша ажыратылады. Алфавит әріптерін кодтауда сөздері әріптері бойынша кодтауға көшкенде сәйкестіктің өзара бірмәнділік қасиеті сақтамауы мүмкін.
Мысал 1.3.2. әріптері бойынша кодтауда (5, 6, 1), (11, 2, 1) және (5, 13) натурал сандар кортеждеріне 101101 (101*110*1, 1011*10*1, 101*1101) түріндегі бір ғана сөз сәйкес келеді.
Морзе кодында әрбір әріпке немесе цифрға сол сияқты тыныс белгілеріне және кейбір басқа да таңбаларға қысқа уақытты ток ағысы сәйкес қойылады. Қысқа ток ағысы нүктені ал 3 есе ұзынырақ ток ағысы тире білдіреді. Олар қысқа уақыты паузамен бір-бірінен ажыратылады. Бұл паузалардың ұзындығы ұзындығы нүктелердің ұзындығына тең. Әріптердің арасындағы бос орын паузаны ажыратумен кескінделеді. (бос орын токты - 3 уақыт бірлігіне сөндіру). Морзе коды еуропалық тілдердегі латын алфавитінің әртүрлі әріптерінің қолданылу жиіліктерін ескере отырып жасалған.
Қайталаушы код
Қайталаушы кодта әрбір кодталған сөз бір ғана ақпараттық символдан және n-1 тексеруші символдардан тұрады, яғни, рет қайталанады. Бұл код - тексеруші матрицасы болатын (n, 1) - сызықтық код болады.
Мұнда бейнелеу мына түрде: немесе . Н матрицасын (k=1 болғандықтан I матрицасы өлшемді, ал А матрицасы өлшемді болады) теңдеуінен табамыз.
орындалуы үшін болуы керек. Олай болса, А матрицасының түрі
болады. , тексеруші теңдеуінен
мұндағы, - жіберілген хабар, ал сәйкесінше кодталған сөз. Бұдан келесі анықтамаға келеміз.
Анықтама 1.4.1. kxn өлшемді матрицасы сызықтық кодты тексеруші матрицасымен туындаушы (кодтаушы) канондық матрица (немесе стандартты) матрица деп аталады.
, және с=aG теңдеуінен, . Бұдан болғандықтан, теңдеуі шығады. С коды G kxn өлшемді матрицалы жол кеңістікке сәйкес келеді. Көп жағдайда С-ға тең болатын G kxn өлшемді матрицалы жол кеңістік С кодымен туындаушы матрица деп аталады.
Мысал 1.4.2. Н тексеруші матрицасының коды үшін канондық туындалған матрицаның түрі мынадай:
Қателікті түзетуші кодтар
Анықтама 1.5.1. Егер с - кодталған сөз, ал у - шулы арналарға жіберілгеннен кейінгі сөз, онда мына айырма қате вектор немесе шулы сөз деп аталады.
Анықтама 1.5.2. векторлар болсын. Онда
Хэмминг аралығы d(x, y) дегеніміз, х, у векторларының бір-біріне тең емес координаттар саны.
Хэмминг салмағы w(x) дегеніміз, осы x вектордың нөлге тең емес координат саны.
Осылайша, егер х - кодтап жіберілген сөз, ал, у - алынған сөз болса, онда х сөзі қайта пайда болуы үшін d(x,y) аралығының нәтижесі қате болады. w(x)=d(x,0) және d(x,у)=w(x - y) орындалатыны анық.
Лемма 1.5.3. Хэмминг аралығы кеңістігінде метрика болады, яғни үшін келесі қатынас орындалады:
d(x,y)=0 сонда, тек сонда ғана х=у
d(x,y)= d(y,x)
d(x,z)= d(x,y)+ d(y,z).
Кодсыздандыру арқылы алынатын у сөзі үшін мәні ең кіші болатындай с кодтаушы сөзін табу керек. Осылайша, біз кодсыздандыру үшін алынған у сөзінің мәні Хэмминг аралығына жақын болатындай с кодтаушы сөзін іздейміз. Бұл ереже кодтаушы сөзге жақын кодсыздандыру деп аталады.
Анықтама 1.5.4. Егер , онда коды t - қателікті түзетуші код деп аталады, егер үшін орындалатындай деген сөз табылмайды немесе бір ғана сөз табылады.
Егер - жіберілген кодталған сөз және жіберу барысында t-дан көп емес қателік кеткен болса, онда алынған у сөзі үшін . Егер С - t қателікті түзетуші код, онда z!=c барлық кодтаушы сөздер үшін теңсіздігі орындалады; бұл у-ке жақын кодтаушы сөз және кодтаушы сөзге жақын кодсыздандыру дұрыс нәтиже береді дегенді білдіреді. Сонымен, кодтау теориясының бір есебі осындай кодтардан тұрады, кодтаушы сөздер үшін бір-бірінен ара қашықтығының мәні маңызды болып табылады. Екінші жағынан, мүмкіндігінше көп ақпаратты бір уақытта жіберуге болады. Осы екі жағдай кодтау теориясының бір мәселесін құрайды.
Анықтама 1.5.5.
саны С сызықтық кодының ең кіші ара қашықтығы (немесе жай қашықтық) деп аталады.
Теорема 1.5.6 [1, 579 б.]. С кодының ең кіші ара қашықтығы арқылы t қателікті түзеуге болады, егер болса.
Дәлелдеуі: Центрі нүктесінде, радиусы t-ға тең болатын шары орындалатындай барлық векторлардан тұрады. Кодтаушы сөзге жақын кодсыздандыру ережесі әрбір жіберген сөздердің нәтижесінде алынған сөзде t-дан көп қателік болмауға, радиусы t-ға центрі жіберілген кодталған сөз болатын шарда жатуына кепілдік береді. Және t қателікті түзету үшін радиусы t-ға тең болатын центрі х кодталған сөз болатын шармен қиылыспауы тиіс. Егер және , онда
теңсіздігі теңсіздігіне қайшы.
Мысал 1.5.7. 1.2.2 мысалдағы ең кіші қашықтық және сәйкесінше 1 қателікті түзетуге болады.
Келесі лемма кодтың ең кіші ара қашықтығын анықтауда жиі қолданылады.
Лемма 1.5.8. Н тексеруші матрицасы бар С сызықтық кодының ең кіші ара қашықтығы болуы үшін Н матрицасының кез-келген s бағаны сызықты тәуелсіз болуы қажетті және жеткілікті.
Дәлелдеуі: Н матрицасының сызықты тәуелді болатын s бағаны табылады дейік, онда кез-келген үшін және . Онда сәйкесіше . Расында, егер Н матрицасының кез-келген s бағаны сызықты тәуелсіз болса, онда , табылмайды. Ендеше, сәйкесінше .
Енді сызықтық кодты кодсыздандырудың қарапайым алгоритмін көрсетейік. С - өрісінен алынған (n, k)-сызықтық коды болсын. векторлық кеңістігі барлық іргелес кластардан тұрады. Әрбір іргелес класс вектордан тұрады. кеңістігі С ішкі кеңістігі бойынша мынадай іргелес кластарға жіктеледі және мұндағы және
Келген хабарлама, яғни у векторы осы іргелес кластардың біреуінде жатуы тиіс, мысалы, да. Егер жіберілген кодтаушы сөз с болса, онда е қате векторы үшін мына теңдікті аламыз: , қандай да бір .
Түзетуші кодтар қатені табуға және оны жөндеуге мүмкіндік береді, сондықтан бұл кодтарды қолдану - ақпаратты бөгетпен дискретті каналдар бойынша жіберудің сапасын жоғарылату тәсілінің бірі. Шеннон теоремасына сәйкес аз өткізгішті қабілетке ие, ақпаратты жіберу жылдамдығы кезінде ақпаратты қателіксіз жіберуді қамтамасыз ететін код бар болады. Қазіргі уақытта табатын және барлық емес тек жарты қатені жөндейтін кодтар қолданылуда.
Егер бастапқы алфавит көлемі , құрса, онда барлық мүмкін кодтық комбинацияның n ұзындықты жалпы санынан дискретті ақпаратты жіберу үшін барлығы емес, тек қана қажет саны ғана қолданылады. Қабылдауда қатені табу (жөндеу) үшін келесі шартты орындау керек:
Егер онда барлық n-ші элементтік кодтың мүмкін тізбегі жіберу үшін қолданылады және рұқсат етілген болып табылады. Мұндай тәсілмен табылған код қарапайым деп аталады, ол қатені табуға және жөндеуге қабілетті емес. Қателікті табу және оны жөндей алуы үшін теңсіздігін орындау керек. Сонымен қоса саны тең, қолданылмаған n-ші элементті код комбинациясы рұқсат етілмеген деп аталады, яғни олар байланыс каналы бойынша жіберіле алмайды және олардың қабылдаушы жақта пайда болуы қателікке алып келеді.
Рұқсат етілмеген кодтық комбинациялар кодтың артықшылығын анықтайды. Кодтық комбинацияда қателік табылады, егер жіберілген рұқсат етілген комбинация рұқсат етілмегендердің біреуінен өтсе. Рұқсат етілген кодтық комбинация ретінде, бір-бірінен максималды ерекшеленетіндерін таңдау керек. Кез-келген түзетуші код артықшылықты (артық, қажет емес комбинацияға ие) код болып табылады.
Түзетуші кодты бейнелеу үшін келесі параметрлер енгізіледі:
1) Хэмминг қашықтығы d кодтық комбинация арасындағы айырым дәрежесін көрсетеді. Кез-келген екілік кодтық комбинация үшін бұл қашықтық оларда сәйкес келмейтін разряд санына тең. Хэмминг қашықтығы математикалық осы кодтық комбинацияның бірлік санының екілік модуль бойынша суммасы ретінде есептелінеді.
2) Кодтық комбинация салмағы W оған кіретін нөлдік символдың санына тең. Сондықтан Хэмминг қашықтығы - бұл модуль бойынша салмақ саны.
3) Кодтық қашықтық do - бұл берілген код үшін минималды Хэмминг қашықтығы. Барлық мүмкін кодты комбинация жұбын таңдап алып және олар үшін d есептеп, олардың ішінен минималдыны табу керек, бұл кодтық қашықтық болады. Рұқсат етілген кодтық комбинация ретінде бір-бірінен максималды ерекшеленетіндерін, таңдау керек.
4) Кодтың түзетушілік қабілеттігі табылған және жөнделген қателіктің t қысқалығымен анықталады, ол дегеніміз кодтық комбинацияда табылған немесе артқы кодпен жөнделген қателік санына кепілдемемен түсіндіріледі. Қысқашалық үлкен болған сайын жетілдірілген код болып табылады. кодты қашықтықты кодтар үшін қысқаша .
Кодтық арақашықтықпен түзетуші қателіктің қысқалығы арасындағы байланыс теңдеумен анықталады:
, егер do жұп болса,
, егер do тақ болса.
Сонымен берілген түзетуші қабілетті кодты алу тапсырмасы кодтық комбинацияның минималды кодтық қашықтықты do алуды қажет ететін, кодтық комбинацияны таңдау тапсырмасына сәйкес келеді. Үлкен n кезінде мұндай таңдау қиын, сондықтан да тәжірибеде берілген do код алу мақсатымен жинақтауды қажет етпейтін және жүзеге асырудың қабылдауға болатын қиындықтарымен ерекшеленетін, код құрудың кең тараған әдісін алды.
5) Rк қатынасты жылдамдық коды кодтағы рұқсат етілген кодтық комбинацияның қатынасты саның көрсетеді және мына формуламен есептелінеді:
өлшемі кодтың артықшылық коэффициенті деп аталады.
Сызықты кодтарды кодсыздандыру
Жіберілгеннен кейін алынған у векторы үшін барлық мүмкін болатын е қате векторы у векторымен бір іргелес класта жатуы тиіс. Ең ықтимал е қате векторы - у векторы бар іргелес кластағы векторлардың ішіндегі ең кіші салмаққа ие вектор. Онда біз у-ті арқылы кодсыздандырамыз.
Жоғарыдағыны лидер іргелес класы арқылы кодсыздандыру алгоритмінің көмегімен жүзеге асыруға болады.
Анықтама 1.6.1. - сызықтық (n, k)-код болсын және - кеңістігінің фактор-кеңістігі болсын. а+С іргелес класындағы ең кіші салмақты элемент а+С класының лидер іргелес класы деп аталады. Егер а+С іргелес класында ең кіші салмақты бірнеше вектор болса, онда лидер іргелес класс ретінде олардың біреуін таңдап аламыз.
- лидер іргелес кластар (С-дан өзге) болсын, ал барлық кодталған сөздер. Келесі кестені қарайық:
кодталған сөздер қатары
- қалған іргелес класстар
Егер келген хабар, онда алушы е вектор қателігі сәйкесінше лидер іргелес класына сәйкес келеді деп және у сөзін кодтаушы сөзімен кодсыздандырады. Осылайша, у кодтау сөзі жоғарыда келтірілген құрамында у векторы бар іргелес кластың бағаны бойынша кодсыздандырылады. у векторынан құралған іргелес класты у векторының синдромы деген атаудың көмегімен анықтауға болады.
Анықтама 1.6.2. Н - С сызықтық (n, k)-кодының тексеруші матрицасы болсын. Онда ұзындығы n - k болатын S(y)=HyT у векторының синдромы деп аталады.
Теорема 1.6.3. Егер , онда
болса, сонда тек сонда ғана S(y)=0
у+С=z+C болса, сонда тек сонда ғана S(y)= S(z)
Дәлелдеуі: 1) пункті жоғарыдағы анықтамадан оңай шығады. 2) дәлелдеу үшін және , яғни болғанда, сонда, тек сонда ғана S(y)= S(z) теңдік орындалатынын аңғарамыз. Соңғы теңдік y+C=z+C. Егер
e=y − c,c∈ C, y∈ Fqn
Яғни, у және е векторлары бір іргелес класста жатады. Осы іргелес класстың лидері синдром болады. ... жалғасы
М. Әуезов атындағы Оңтүстік Қазақстан Университеті
ӘОЖ-514(023) қолжазба құқығында
Исабеков Жандарбек Зертбекович
Ақырлы өрістер және олардың кодтау теориясында қолданылулары
7M01510 - Математика білім беру бағдарламасы бойынша
педагогика ғылымдарының магистрі дәрежесін алу үшін
дайындалған диссертация
Ғылыми жетекшісі:
Шымкент 2023
МАЗМҰНЫ
КІРІСПЕ ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
7
АҚЫРЛЫ ӨРІСТЕР ТЕОРИЯСЫНЫҢ ҚОЛДАНУЛАРЫ ... ... ... ... ...
9
1.1 Кодтау теориясы туралы жалпы ұғым ... ... ... ... ... ... ... ... ... ... ... ... ... ...
9
1.2 Сызықтық кодтар ... ... ... ... ... ... ... . ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .
11
1.3 Жұптылықпен тексеруші код ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
16
1.4 Қайталаушы код ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
19
1.5 Қателікті түзетуші кодтар ... ... ... ... ... ... ... . ... ... ... ... ... ... ... ... ... ... ... ...
20
1.6 Сызықтық кодтарды кодсыздандыру ... ... ... ... ... .. ... ... ... ... ... ... ... ... ...
23
1.7 Іргелес кластың лидері бойынша кодсыздандыру алгоритмі ... ... ... ... .
26
ХЭММИНГ КОДЫ ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
28
2.1 Екілік топтық кодтар ... ... ... ... ... ... ... . ... ... ... ... ... ... ... ... ... ... ... ... ... ...
28
2.2 Хэмминг коды ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
31
2.3 Хэмминг кодын кодсыздандыру ... ... ... ... ... .. ... ... ... ... ... ... ... ... ... ... ...
34
2.4 Хэмминг кодын құру алгоритмі ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... ... ...
35
ТОПТЫҚ КОДТАР ... ... ... ... ... ... ... . ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
41
3.1 Блокты кодтар ... ... ... ... ... ... ... . ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
41
3.2 Топтық кодтар ... ... ... ... ... ... ... . ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
44
3.3 Циклдік кодтар ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
47
3.4 Ықтималдықтар ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .
49
ҚОРЫТЫНДЫ ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .
55
ПАЙДАЛАНҒАН ДЕРЕК КӨЗДЕРІНІҢ ТІЗІМІ ... ... ... ... ... ... ... . ... ... ... ..
56
ҚОСЫМШАЛАР ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
58
АНЫҚТАМАЛАР, БЕЛГІЛЕУЛЕР МЕН ҚЫСҚАРТУЛАР
Осы магистрлік диссертацияда сәйкес анықтамалар бойынша келесі терминдер қолданылады.
Анықтама 1. Белгілі бір ортақ қасиеттерге ие болып, белгілі бір заңдылықпен біріккен объектілер жиын құрайды. Жиындар элементтерден құралады. Жиындардың элементтері аталып беріледі немесе сол жиын элементтеріне ғана тән қасиет белгі көрсетіледі. Жиынды латынның бас әрпімен белгілеп, оның элементтерін фигуралық жақшаның ішіне алып жазу келісілген. Сонымен қатар, жиын элементтерінің санына қарай ақырлы және ақырсыз жиын болып бөлінеді.
Анықтама 2. Егер жиында бірде-бір элемент болмаса, оны бос жиын деп атайды.
Анықтама 3. Егер В жиынының әрбір элементі А жиынына тиісті болса, онда В жиыны А жиынының ішкі жиыны деп аталады. Белгіленуі:
Анықтама 4. А жиынына да, В жиынына да тиісті элементтерден ғана тұратын жиынды А және В жиындарының қиылысуы деп атайды.
Анықтама 5. Әрбір элементі А немесе В жиындарының кем дегенде біреуіне тиісті болатын жиын А және Вжиындарының бірігуі деп аталады.
Анықтама 6. m жолы мен n бағаны бар тікбұрышты сандар кестесі өлшемді матрица деп аталады. Матрицаның құрамына кіретін сандар оның элементтері деп аталады.
Анықтама 7. Егер матрицаның жолдарының саны оның бағандарының санына тең m=n болса, онда матрица квадрат матрица деп аталады.
Анықтама 8. Матрицаның жолдарының саны матрицаның реті деп аталады.
Анықтама 9. А матрицасының анықтауышы деп
санын атайды.
Анықтама 10. матрицасының жолдарын кеңістігінің,ал бағандарын кеіңістігінң векторлары ретінде қарастырып, рангін А матрицасының жолдар рангі, ал рангін А матрицасының бағандар рангі деп атаймыз.
Анықтама 11. S - кез-келген жиын және жиыны жұптарынан тұратын жиын. Онда жиынын жиынына бейнелейтін кез-келген бейнелеуді жиынындағы (бинарлық) операция деп атаймыз.
Анықтама 12. Кез-келген жиынын операциясы бинарлық операция болса және келесі шарттар орындалса:
операциясы ассоциативті, яғни
G жиынында е бірлік элемент бар болса, яғни
G жиынында а-1 кері элемент бар болса элемент бар болса,
яғни орындалса
онда жиыны топ деп аталады.
Анықтама 13. Егер топта шарты орындалса, онда топ абельдік (немесе коммутативті) топ деп аталады.
Анықтама 14. R жиынында және операциялары бинарлық операция болып және келесі шарттар орындалса:
R - операциясына қатысты абельдік топ
- операциясы ассоциативті, яғни
Дистрибутивтілік заңы орындалса, яғни
және
онда R жиыны сақина деп аталады.
Анықтама 15.
Сақина бірлік элементті сақина деп аталады, егер сақинада мультипликативті бірлік элемент бар болса, яғни , .
Сақина коммутативті сақина деп аталады, егер операциясы коммутативі болса.
Сақина бүтін сақина деп аталады, егер сақина коммутативті, бірлік элементті сақина болса, болғанда немесе .
Сақина дене деп аталады, егер және R-ден басқа элементтері операциясына қатысты топ құрайтын болса.
Анықтама 16. Коммутативті дене өріс деп аталады.
Мысал. өріс
өріс
өріс
Анықтама 17. Топ ақырлы (ақырсыз) топ деп аталады, егер ақырлы (ақырсыз) сан элементтерінен тұратын болса. Ақырлы топтың элементтер саны оның реті деп аталады.
Анықтама 18. p жай саны үшін бүтін сандар жиынын Fp арқылы белгілейік және бейнелеуі келесі шартпен анықталсын a=0, 1, ..., p - 1 үшін . Онда жиыны өріс құрылымы индуцияланған бейнесімен p-ретті Галуа өрісі деп аталады (көп жағдайда GF(p) символымен белгіленеді).
Анықтама 19. K - өріс болсын. Ал, бірлік элементі. Егер
теңдігі орындалатындай (ең кіші) саны табылса, мұндай сан K өрісінің сипаттамасы деп аталады. Белгіленуі: .
Егер n () саны табылмаса, онда K өрісінің сипаттамасы 0-ге тең.
Анықтама 20. Егер , P, K өріс болса, онда P өрісі K өрісінің ішкі өрісі деп аталады, ал K өрісі P өрісінің кеңейтілімі деп аталады.
Анықтама 21. P - өріс, . V жиынында
анықталып және
Егер:
абельдік топ болса;
шарттары орындалса, V жиыны P өрісіндегі векторлық кеңістік деп аталады.
Анықтама 22. V - векторлық кеңістік, P - өріс.
ақырлы жүйе (1)
Егер теңдігі орындалатындай кемінде , табылса, онда (1) жүйе сызықтық тәуелді деп аталады. Керісінше, -дің барлығы 0-ге тең болғанда ғана орындалса, онда (1) жүйе сызықтық тәуелді деп аталады.
q элементтен тұратын өріс
n қатардан, k бағаннан тұратын матрица
транспонирленген А матрицасы
[X] - X санының бүтін бөлігі
]X[ - Х санынан кіші емес ең үлкен бүтін сан
КІРІСПЕ
Қазіргі заманда дискретті математиканың түрлі салаларда қолданулары бар. Ақырлы өрістер теориясы қазіргі абстракт алгебраның негізгі бөлімінің бірі болып табылады. Ақырлы өрістердің қолдануларының негізгі салаларының бірі - кодтау теориясы. Кодтау теориясының пәні берілген ақпараттың нақтылығын қамтамасыз ету болып табылады. Кодтау теориясы өзінің бастауын Шеннонның кодтау туралы танымал теоремасынан алады. Онда ақпаратты беруде кез-келген жылдамдықта қатенің аз болу ықтималдығында қолданылатын кодтар табылады деп дәлелденген.
Ақпаратты жіберу теориясының маңызды мәселелерінің ішінде - ақпаратты шулы арна бойынша сенімді түрде жіберу мақсатында оны кодтау және кодсыздандыру. Ақпаратты жіберу теориясында әдетте элементтері ақырлы алфавиттен алынған ақырлы тізбекті символдардан тұратын хабарламаны жіберу керек. Мысалы, бұл алфавит 0 және 1 символдарынан тұрсын, онда бұл хабарламаны екілік жүйеде жазылған сан ретінде қарастырамыз. Жалпы жағдайда, осы ақырлы алфавитіміз ақырлы өріс болып табылады.
Кодтау теориясының негізгі мәселесі - байланыс арнасының шуы нәтижесінде пайда болатын қателер ықтималдығының ең аз болуында. Хабарлама жіберудің сенімділігін арттыру әдістері ақырлы өрістердің қасиеттеріне негізделеді.
Диссертация ақырлы өрістер теориясының негіздерін алгебралық кодтау теориясына қолдану мәселелеріне арналған. Алгебралық кодтау теориясының басты мақсаты - қателікті түзетуші кодтар мен қателікті айқындаушы кодтарды құру әдістерін зерттеу. Жұмыста бинарлық сызықтық кодтардың бір түрі - Хэмминг коды зерттеледі, Хэмминг кодын құру алгоритмі қарастырылады.
Жұмыстың бірінші бөлімінде тақырыпты талдауға қажетті негізгі алгебралық түсініктер мен мағлұматтар, ақырлы өрістер теориясының кодтау теориясына қолданулары, кодтардың түрлері, арналарға жіберілетін сөздерді кодтау және кодсыздандыру әдістері қарастырылады.
Диссертацияның екінші бөлімінде бинарлық сызықтық кодтардың бір түрі - Хэмминг коды зерттеледі; Хэмминг кодын құру алгоритмдері және осы кодты кодсыздандыру әдістері қарастырылады, сонымен қатар Хэмминг кодының мысалына компьютерлік бағдарлама құрылды.
Үшінші бөлімде топтық, блокты, циклдік кодтар қарастырылады, сонымен қатар, хабарларды арналарға сенімді жіберудің ықтималдығы қарастырылады. Жұмыста алгебралық Кодтау теориясының негіздері тақырыбы бойынша орта мектеп оқушыларына арналған факультатив құрылды.
Жұмыстың мақсаты - ақырлы өрістер теориясының кодтау теориясында қолданылуы, қателерді табатын және түзететін кодтарды құру әдістерін зерттеу. Диссертация алгебралық кодтау теориясына арналған. Жұмыста сақиналар теориясы мен өрістер теориясының зерттеу әдістері қолданылады. Зерттеу нысаны - қателікті түзетуші кодтар мен қателікті айқындаушы кодтарды құру әдістері.
Зерттеу жұмысының нәтижесі 17-18 сәуірде Көкшетау қаласы, Ш.Уәлиханов атындағы Көкшетау мемлекеттік университетінде өткен Қазақтың ұлы ғалымы, тарихшы, этнограф, саяхатшы және ағартушы Ш.Уәлихановтың 180 жылдығына арналған ШОҚАН ОҚУЛАРЫ - 19 Халықаралық ғылыми-тәжірибелік конференция материалдарында Кодтау теориясының негіздері, Хэмминг коды деген тақырыпта жарық көрді. Зерттеу жұмысының нәтижесін жоғары оқу орындарында студенттерге Дискретті математика пәнін оқытуда қолдануға болады.
АҚЫРЛЫ ӨРІСТЕР ТЕОРИЯСЫНЫҢ ҚОЛДАНУЛАРЫ
Кодтау теориясы туралы жалпы ұғым
Кодтау теориясы - компьютингтің дамуына өз үлесін қосқан математиканың бір облысы болып табылады. Оның таралу облысы мәліметтерді нақты каналдар бойынша беру, ал оның пәні берілген ақпараттың нақтылығын қамтамасыз ету болып табылады. Кейбірде кодтау теориясын шифрлеумен шатастырады, бірақ ол дұрыс емес: криптография кері есепті шешеді, оның мақсаты - мәліметтерден ақпаратты алуды қиындату. Кодтау теориясы - мәліметтерді жоғалтпай алуды қамтамасыз етеді. Мәліметтерді кодтаудың қажеттілігімен алғашқы рет жүз елу жыл бұрын тап болды. Каналдар өте қымбат және сенімсіз болғандықтан телеграммаларды жіберудің өте тиімді жолдары қарастырылды. 1845 жылы пайдалануға арнайы кодтау кітаптары шықты; олардың көмегімен телеграфистер қолмен мәліметтердегі ұзақ сөйлемдерді қысқа кодтармен алмастырды. Сол кездері мәліметтердің жіберілуінің дұрыстығын тексеру үшін жұптық бақылау әдісі қолданылды, бұл әдісті перфокарталардың дұрыстығын тексеру үшін компьютердің бірінші және екінші буындарында да қолданылды. Ол үшін ең соңғы мәліметтер колодасына арнайы дайындалған бақылау сомасы бар картаны салған. Егер енгізу құрылғысы сенімсіз болса (немесе колода тым ұзын болған жағдайда), онда қате тууы мүмкін. Оны жөндеу үшін картадағы сомамен сәйкес келмегенше процедураны қайталай беретін. Бұл сұлбаның ыңғайсыз болғанымен қатар, ол екі есе қателер жіберетін. Байланыс каналдарының дамуымен қатар бақылаудың өте тиімді механизмі керек болды. Бұл мәселенің теориялық шешімін алғашқы болып ақпараттың статистикалық теориясының негізін қалаушы Клод Шеннон ұсынды. Шеннон өз заманының жұлдызы болды,ол АҚШ-тың академиялық элитасының мүшесі болған. Ванневар Буштың аспиранты болып, ол 1940 жылы жасы 30 жетпеген оқымыстыларға берілетін Нобель атындағы сыйлыққа ие болды. Bell Labs жұмыс істеп жүріп Шеннон Мәліметтерді жіберудің математикалық теориясы (1948) атты жұмыс жазды, ол жұмыста Шеннон каналдың жіберу мүмкіндігі мәліметтердің энтропия бастауынан жоғары болса, онда мәліметтерді ешқандай ақаусыз жіберілетіндей етіп кодтап қоюға болатынын дәлелдеді. Бұл түйіндеме Шеннонның көптеген дәлелдеген теоремалардың біреуінде бар. Сонымен қатар, ол каналда шудың бар болуына қарамастан мәліметтің жіберілу мүмкіндігінің теориялы түрде дәлелдеп берді. Шеннонның Мичиган штатында өзінің туып өскен қаласында орнатылған ескерткішінде ойып жазылған формуланы Альберт Эйнштейннің формуласының мәнімен салыстырады. Шеннонның еңбектері ақпараттар теория облысындағы әрі қарай зерттеулерінде өз ықпалын тигізді, бірақ оларда инженерлік практикалық қосымшасы болмады. Теориядан практикаға алмасу Ричарда Хэммингтің жұмысына байланысты болды. Ол Шеннонның Bell Labs бойынша әріптесі болды және кодтар класын ашқандығы үшін әйгілі болды, оларды Хэмминг коды деп атады. Өзінің жаңалығын Хемминг 40 жылдардың ортасында Bell Model V есептеуіш машинасының перфокарталармен жұмыс жасау қолайсыздығынан ашты деген аңыз бар. Оған операторлар жоқ болғанда, яғни демалыс күндерде машинамен жұмыс жасауға мүмкіндік берді және ол өзі енгізулермен жұмыс жасады. Хемминг байланыс каналдарындағы, сонымен қатар компьютерлердегі ақпараттарды беру магистральдарында, ең бастысы жад пен процессор арасындағы қателерді түзете алатын кодты ұсынды. Хемминг коды Шеннон теоремасында көрсетілген мүмкіндіктерді практикалық түрде қалай іске асыруға болатындығын көрсетеді. Хемминг өзінің мақаласын 1950 жылы жарыққа шығарды, бірақ ішкі жазбаларда кодтау теориясы 1947 жылмен белгіленген. Сондықтан кейбіреулер кодтау теориясының атасы ретінде Шеннонды емес, Хеммингті атау керек деп ойлайды. Хемминг бірінші болып қателерді түзейтін кодтарды (Error-Correcting Code, ECC) ұсынғандығы анық екенін білеміз. Бұл кодтардың қазіргі заманғы модификациялары барлық ақпараттарды сақтау жүйелерінде және жад пен процессор арасындағы алмасулар үшін қолданатыны белгілі. Олардың бір нұсқасы Рид-Соломонның коды компакт-дискілерде қолданылады. Хэмминг тәсілі бойынша жасалынған көптеген кодтар нұсқалары бар, олар кодтау алгоритмдері бойынша және тексеретін биттер саны бойынша айырмашылықтары бар. Мұндай кодтарға планетааралық станциялармен космостық байланыс жасау үшін ерекше көңіл беріле бастады, мысалы, Рид-Мюллердің кодтарын 7 ақпараттық битке 32 тексеруші бит немесе 6 ақпараттық битқа 26 тексеруші биттар келетін болды.
ECC жаңа кодтардың бірі ретінде LDPC (Low-Density Parity-check Code) кодын айтуымызға болады. Негізінде олар отыз жыл бұрын танымал болған, бірақ қазіргі уақытта оларға ерекше көңіл бөлінуде. LDPC коды 100 пайыздық анықтылығы болмағанмен, ол қатенің мүмкіндігін керекті нәтижеге дейін жеткізуімізге мүмкіндік береді және сонымен қатар каналдың жіберу мүмкіндігі максимальді толық түрде қолданылады. Оларға турбокодтар (Turbo Code) өте жақын келеді, олар алыс космостағы объектілермен жұмыс жасағанда өте қолайлы. Кодтау теориясының тарихына Владимир Александрович Котельниковтың аты нық жазылған. 1933 жылғы Материалах по радиосвязи к I Всесоюзному съезду по вопросам технической реконструкции связи-да ол өзінің О пропускной способности эфира и проволоки атты жұмысын жариялады. Бұл теоремада жіберілген сигнал ақпараттың жоғалтуынсыз қайтадан қалпына келетін шарттарды анықтайды.
Бұл теореманы әркім әрқалай атайды, соның ішінде WKS теоремасы (Whittaker, Kotelnikov, Shannon). Кейбір бастауларда Nyquist-Shannon sampling theorem және Whittaker-Shannon sampling theorem деп те аталады, ал өзіміздің жоғарғы оқу орындарының оқулықтарында жай ғана Котельников теоремасы деп кездестіреміз.
Бүгінгі күнде ақпараттарды арналарға сенімді түрде жіберу, соның ішінде ақпараттарды кодтау және кодсыздандыру арқылы жіберу үлкен мәселеге айналып отыр. Әдетте, элементтері ақырлы алфавиттен алынған ақырлы тізбекті символдардан тұратын хабарламаны жіберу керек болады. Мысалы, бұл алфавит 0 және 1 символдарынан тұрсын, онда бұл хабарламаны екі сан ретінде қарастырамыз. Жалпы жағдайда, осы ақырлы алфавитіміз ақырлы өріс болып табылады.
Кодтау теориясының негізгі есебінің нәтижесі байланыс арналарының шуының қате ықтималдығының ең аз болуында. Хабарлама жіберудің сенімділігін арттыру әдісі негізінен ақырлы өрістердің қасиеттеріне байланысты.
Алгебралық кодтау теориясының негізгі идеясы хабарламаны артық ақпаратпен бірге жіберу. Бұл хабарламаны құрайтын тізбек символдарының кез-келген арнайы бейнесі тізбектің ұзындығымен бейнеленетінін көрсетеді.
1-суретте байланыс жүйесінің қарапайым моделі көрсетілген [1, 588 б.].
шу
шу
Байланыс
каналы
Байланыс
каналы
хабарламаa f кодталған хабарламаc кодсыздандырылған хабарламаa g келген хабарламаc+e
1-сурет
Біз жіберген және кодсыздандырылған хабарламаны құрайтын символдар бір ғана Fq ақырлы өрісінің элементтері болатынын байқаймыз. Яғни, кодтау дегеніміз, k символдық блоктан тұратын жіберілген хабарламаны ұзындығы nk болатын кодтаушы сөздерімен алмастырады. Біз кодталған сөздерді n өлшемді жол-вектор ретінде қарастырамыз. 1-суреттегі f: бейнелейтін функция кодтау схемасы деп, ал g:кодсыздандыру схемасы деп аталады.
Сызықтық кодтар
Анықтама 1.2.1. өрісінен алынған өлшемді және рангісі болатын матрица болсын. С - шартын қанағаттандыратын n-өлшемді векторлар жиыны. С жиыны өрісінде -сызықтық код деп аталады. Мұндағы, n - кодтың ұзындығы, ал k - кодтың өлшемі деп аталады. С жиынының элементтері кодталған сөздер (немесе кодталған векторлар), ал, Н матрицасы С жиынының тексеруші кодтау матрицасы деп аталады. Егер q=2 болса, С - бинарлық код деп аталады. Егер H матрицасының түрі болса, онда С - жүйелік код деп аталады. Ескерту. С жиыны сызықтық теңдеулер жүйесінің шешімі болса, векторлық кеңістігінің k өлшемді ішкі кеңістігі болады және кодталған сөздер қосу операциясына қатысты топ құрап, С топтық код деп аталады.
Мысал 1.2.2. H - өлшемі болатын өрісінен алынған матрица болсын:
H=: =, =
Тексеруші символдарды теңдеулер жүйесінен табуға болады. төмендегідей берілген деп есептейік:
Сонда мынадай жүйе шығады:
Онда бізде өрісіміз болғандықтан тексеруші символдарын келесідей беруге болады.
Ендеше, бұл жағдайда кодтау схемасы
бейнелейтін сызықты бейнелеу болады.
Кодтаудың мысалдары:
а) Е - кодтауы натурал сандардың екілік жазылуы. n=0 санына сөзі сәйкес қойылады, ал санына
шартын қанағаттандыратын ұзындығы ең қысқа
сөзін сәйкес қоямыз.
Әрине, n - санының жазылуы 1 цифрынан басталады, яғни , ал таңбалар саны - келесі екілік теңсіздікті қанағаттандыруы тиісті:
Сонымен, , мұндағы өрнегі Х - санының бүтін бөлігі, ал өрнегі Х санынан кіші емес ең кіші бүтін сан.
Е кодтауы өзара бірмәнді бейнелеу (сәйкестік):
болғанда және сөздері әртүрлі.
б) алғашқы натурал санды кодтау. Әрбір n натурал санына сөзін сәйкес қояды. .
сөзі n санының k-цифрдың көмегімен екілік жазылуы деп аталады.
кодтауында алғашқы натурал сан ұзындығы k болатын екілік сөздер жиынына бейнеленеді. 1-кестеде Е және кодтауларындағы 0-ден 15-ке дейінгі сандарға сәйкес келетін сөздер келтірілген [2, 300 б.].
Кесте 1
Е және E4 кодтауларындағы 0-ден 15-ке дейінгі сандарға сәйкес келетін сөздер
n
n
n
0
0
0000
6
110
0110
12
1100
1100
1
1
0001
7
111
0111
13
1101
1101
2
10
0010
8
1000
1000
14
1110
1110
3
11
0011
9
1001
1001
15
1111
1111
4
100
0100
10
1010
1010
5
101
0101
11
1011
1011
в) Пошта индексіндегі цифрларды жазудағы қолданылатын кодтау.
Хат жолдаушының қалыптағы тоғыз кесіндісінің көмегімен жазған әрбір ондық цифры автоматты түрде танылуы үшін ол В алфавитінде ұзындығы тоғызға тең сөзбен кодталады.
1 таңбасына қолданылатын кесінділердің нөмірлері 3, 4, 8 сандарына сәйкес келеді.
Мысалы, 2 цифрына 1, 4, 7, 9 нөмірлері сәйкес келсе, оған 100100101 сөзі сәйкес келеді. 5 цифрына 110010011 сөзі сәйкес келеді.
Ақырлы жиындарды екілік сөздердің кейбір ішкі жиынына бейнелеуді осы жиындардың элементтерінің санын есептеу немесе бағалау арқылы беру өте қолайлы.
Мысалы n санының теріс емес бүтін m қосылғышқа ретті жіктелуі (үлестірілуі) болатын жиынын қарастырайық.
Әрбір жіктелуіне сөзін сәйкес қоямыз. Бұл сөздің ұзындығы , яғни, ол n- нөлдерден және бірлерден тұрады. Бірлер нөлдердің тізбектерін бір-бірінен ажырату үшін қажет.
11 санының 4 қосылғышқа жіктелуін қарастырайық 11=5+0+2+4 болса, оған сәйкес келетін кодтық сөз 00000110010000. 11=2+7+2+0 болса, онда ол 001000000010011 сөзімен, ал 11=1+1+6+3 болса, 01010000001000 сөзімен кодталады. Мұндай кодтау жиынын ұзындығы болатын еселік сөздер жиынына өзара бірмәнді бейнелеу болады. Мұндағы әрбір сөзде тура бірлер бар.
Мысал 1.2.3. алфавиті және оның әріптерінің екілік кодтаулары берілсін:
0100 сөзін db немесе add деп декодтауға болады, 0010100 сөзін ddcdd немесе daadd немесе dadb деп декодтауға болады.
Сонымен, көрсетілген натурал сандарды әріптері бойынша кодтау өзара бірмәнді сәйкестік болмайды. Егер алфавиттің барлық әріптерінің кодтарының ұзындықтары бірдей болса, онда код бірқалыпты деп аталады.
Мысал 1.2.4. коды бірқалыпты.
(сөздер жиыны) - кодында тек ғана әртүрлі сөздер бар деп есептеуге болады. Егер алфавитіндегі әрбір теңдігінен және сәйкестіктері шығатын болса, онда - ажыратылатын код деп аталады.
Лемма 1.2.5. Әріптері бойынша кодтау өзара бірмәнді сәйкестік болуы үшін оның ажыратылатын кодтың көмегімен берілуі қажетті және жеткілікті.
Ал, жоғарыдағы анықтамадан ажыратылатын кодтың барлық сөздерінің әртүрлі және бос болмайтындығын көреміз.
Егер кез-келген сөзі ешқандай да сөзінің (басталуы) басы болмайтын болса, онда - префиксті код деп аталады. Әрине, префиксті код - ажыратылатын болады. Префикстік - ажыратылатын болудың жеткілікті шарты. Егер префиксті кодтың әрбір сөзін басқа бір кодтық сөздің басы болмайтын оның ең қысқа (басталуымен) басымен ауыстырсақ, онда шыққан код қайтадан префикстік код болады. Мұндай амалды префикстік кодты қию деп атайды. Префикстік кодтың қарапайым мысалы бірқалыпты код болып табылады. Оған ажыратушы қажет емес, себебі әрбір хабарланатын әріптің коды бірдей санды кодтаушы таңбаларды анықтаудан басталады.
Мысал 1.2.6. Телефондардың 7 таңбалық нөмірлерінің префикстіктігін (яғни, ажыратушылығын) бірқалыптылықпен қанағаттандыруға болады. 0; 01; 02; 03 және тағы басқалардың басталатын нөмірлер үшін ажыратушылықты талап етубасқа нөмірлердің осындай (басталуы) басының болмауымен пара-пар. Мысалға 01 коды 105=100000 әртүрлі 7 таңбалы нөмірдің болмауын қанағаттандырады. Кодтың префикстігіне (Морзе кодында қолданылған) басқа әдіспен де жетуге болады. Ол үшін кез-келген кодтық сөздің соңына арнайы таңба-ажыратқыш енгіземіз. Компьютердегі файлдың атын, көптаңбалы сандар берілгендерінің атын т.б. енгізуге ұқсас. Олардың барлығы ажыратқышпен аяқталуға тиісті, мысалы, ENTER тетігін басу арқылы. Префикстік кодтың ажыратылатын болуының қажетті шарты емес. Мысалы, екі әріпті алфавитінің коды префиксті емес, бірақ ажыратылады. Егер 0-дейін 1 келсе, онда 01 таңбасы - b әрпі; 0 таңбасы а-ны кодтай алмайды, себебі, келесі бірлік (бір) ешқандай кодтық сөздің басы болмайды.
Теорема 1.2.7. Айталық, натурал сандардың кез-келген жиынтығы болсын. . Ұзындығы болатын ажыратылатын коды бар болуы үшін
Крафт-Макмиллан теңсіздігінің (ажыратылатын кодтар үшін) орындалуы қажетті және жеткілікті.
Жұптылықпен тексеруші код
Хабарламадағы әрбір k символдық блоктан тұратын сөз мына түрде кодталады:
мұндағы алғашқы k символ k символдық жіберілген хабарламамен сәйкес келеді және ол ақпараттық символдар деп аталады, ал қосымша n−k символдары тексеруші (немесе бақылаушы) символдар деп аталады. Осындай кодтау схемасы келесі түрде жиі беріледі. Н - элементтері өрісінен алынған (n−k)xk ретті H= түріндегі матрица болсын. Мұндағы А - (n−k)xk ретті матрица, ал - (n−k)-ретті бірлік матрица. Онда тексеруші символдар төмендегі теңдеулер жүйесімен анықталады:
мұндағы, с - кодтаушы сөз, ал Т транспонирлеуді білдіреді. Бұл теңдеуді тексеруші теңдеулер немесе жұптылықты тексеру теңдеуі деп аталады.
Мысал 1.3.1. q=2 және жіберетін хабарламаның түрі болсын. Онда f кодтау схемасын былайша анықтаймыз:
f: , i=1,...,k: , ал
Яғни, барлық қосындысы 0-ге тең болғанда, барлық қосындысы да 0-ге тең және -де 0-ге тең болып, кодталған сөздер қосындысы 0-ге теңяғни жұп сан. Және сол сияқты барлық қосындысы 1-ге тең болғанда, барлық қосындысы да 1-ге тең және -де 1-ге тең болып, кодталған сөздер қосындысы 1+1=0, яғни, бәрібір жұп сан шығады. Сәйкесінше, кез-келген кодталған сөздер элементтерінің қосындысы 0-ге тең. Егер алынған сөздер элементтерінің қосындысы 1-ге тең болса, онда алушы бұл хабарды жіберген кезде қате кеткенін байқайды. Егер n=k+1 болса, онда алушы код тексеруші матрицасы Н=(11...1) болатын сызықты n, n-1-код болады.
Тиімді кодтау. Ақпарат көзінің статистикалық қасиеттеріне қатысты кейбір қарапайым жорамалдарды өзара бірмәнді кодтауды тиімді құрудың жолдарын қарастырайық. Бұл жағдайда ең тиімді код болып орта есеппен алғанда хабардың бір әрпіне екілік цифрлардың ең аз санын сәйкес қоятын код есептеледі.
алфавитінің әріптері біртіндеп кездейсоқ ретпен пайда болатын ақпарат (хабар) көзін қарастырайық. А - алфавитінің әріптерінің біртіндеп пайда болуы статистикалы тәуелсіз және ықтималдықтардың үлестірулеріне бағынады деп жориық.
Яғни,
Алфавитінде әрбір коды
екілік цифрлардың орта санымен сипатталады.
Бұл орта сан әріптері бойынша дұрыс А алфавитінің бір әрпіне сәйкес келеді.
шамасын Р үлестіруіндегі V кодының құны деп атайды. Айталық, болсын, мұндағы төменгі шекара, m сөзден тұратын V-префикстік кодтау жиыны бойынша алынады. Егер болса, онда үлестіруіндегі префикстік код тиімді деп аталады.
Негізгі есеп: тиімді немесе құны бойынша жақын кодты құру әдісін іздеп табу және шамасын бағалау. Тиімді кодқа жақын кодтарды құрудың белгілі екі әдісі К.Шеннон мен Р.Фаноға тиісті. Фано әдісі өзінің тым қарапайым құрылымымен ерекше. Бұл әдістің мағынасы мынада: реттелген (ықтималдықтарының кему ретімен) әріптер тізімі оларға енетін әріптердің ықтималдықтарының қосындысы бір-бірінен мейлінше аз ажыратылатындай екі бөлікке бөлінеді. Бірінші бөліктің әріптеріне 0-ді, ал екінші бөліктің әріптеріне 1-ді сәйкес қоямыз. Егер бөлікте ең болмағанда екі әріп болса, онда онымен жоғарыдағы жұмысты қайта жүргіземіз. Жұмыс барлық тізімнің әрбір бөлігінде бір-бір әріптен қалғанша жүргізіледі. Осы процесстің нәтижесінде әрбір әріпке таңбалар тізбегі сәйкес қойылады. Ал, бұл кодтаудың префикстік болатынын түсіну қиын емес. Фано әдісімен құрылған кодтың мысалы 2-кестеде келтірілген [2, 302 б.].
Кесте 2
Фано әдісімен құрылған код
Хабар
(ақпарат)
P
Фано
коды
a
0,30
0,18
0,48
0,30
0
0
00
b
0,18
1
01
c
0,14
0,52
0,28
0,14
1
0
0
100
d
0,14
0,14
1
101
e
0,11
0,24
0,11
1
0
110
f
0,06
0,13
0,06
1
0
1110
g
0,05
0,07
0,05
1
0
11110
h
0,02
0,02
1
11111
Кодтың құны
Ескерту. Әріптер тізімін екіге бөлу белгілі бір жиіліктер қатынасында бірмәнді анықталмайды.
Атақты телеграфтық Морзе коды алфавитіндегі әріптерді (латын немесе орыс), олардың арасындағы тыныс белгілерін және цифрларды екі әріпті алфавитте (нүкте, тире) кодтау. Бұл екілік кодтау болмайды. Себебі, Морзе кодында қосымша ажыратушы таңба бар: ол байланыс тарабы бойынша хабар берілгенде уақыт бойынша (пауза), ал жазғанда бос орын (пробел) бойынша ажыратылады. Алфавит әріптерін кодтауда сөздері әріптері бойынша кодтауға көшкенде сәйкестіктің өзара бірмәнділік қасиеті сақтамауы мүмкін.
Мысал 1.3.2. әріптері бойынша кодтауда (5, 6, 1), (11, 2, 1) және (5, 13) натурал сандар кортеждеріне 101101 (101*110*1, 1011*10*1, 101*1101) түріндегі бір ғана сөз сәйкес келеді.
Морзе кодында әрбір әріпке немесе цифрға сол сияқты тыныс белгілеріне және кейбір басқа да таңбаларға қысқа уақытты ток ағысы сәйкес қойылады. Қысқа ток ағысы нүктені ал 3 есе ұзынырақ ток ағысы тире білдіреді. Олар қысқа уақыты паузамен бір-бірінен ажыратылады. Бұл паузалардың ұзындығы ұзындығы нүктелердің ұзындығына тең. Әріптердің арасындағы бос орын паузаны ажыратумен кескінделеді. (бос орын токты - 3 уақыт бірлігіне сөндіру). Морзе коды еуропалық тілдердегі латын алфавитінің әртүрлі әріптерінің қолданылу жиіліктерін ескере отырып жасалған.
Қайталаушы код
Қайталаушы кодта әрбір кодталған сөз бір ғана ақпараттық символдан және n-1 тексеруші символдардан тұрады, яғни, рет қайталанады. Бұл код - тексеруші матрицасы болатын (n, 1) - сызықтық код болады.
Мұнда бейнелеу мына түрде: немесе . Н матрицасын (k=1 болғандықтан I матрицасы өлшемді, ал А матрицасы өлшемді болады) теңдеуінен табамыз.
орындалуы үшін болуы керек. Олай болса, А матрицасының түрі
болады. , тексеруші теңдеуінен
мұндағы, - жіберілген хабар, ал сәйкесінше кодталған сөз. Бұдан келесі анықтамаға келеміз.
Анықтама 1.4.1. kxn өлшемді матрицасы сызықтық кодты тексеруші матрицасымен туындаушы (кодтаушы) канондық матрица (немесе стандартты) матрица деп аталады.
, және с=aG теңдеуінен, . Бұдан болғандықтан, теңдеуі шығады. С коды G kxn өлшемді матрицалы жол кеңістікке сәйкес келеді. Көп жағдайда С-ға тең болатын G kxn өлшемді матрицалы жол кеңістік С кодымен туындаушы матрица деп аталады.
Мысал 1.4.2. Н тексеруші матрицасының коды үшін канондық туындалған матрицаның түрі мынадай:
Қателікті түзетуші кодтар
Анықтама 1.5.1. Егер с - кодталған сөз, ал у - шулы арналарға жіберілгеннен кейінгі сөз, онда мына айырма қате вектор немесе шулы сөз деп аталады.
Анықтама 1.5.2. векторлар болсын. Онда
Хэмминг аралығы d(x, y) дегеніміз, х, у векторларының бір-біріне тең емес координаттар саны.
Хэмминг салмағы w(x) дегеніміз, осы x вектордың нөлге тең емес координат саны.
Осылайша, егер х - кодтап жіберілген сөз, ал, у - алынған сөз болса, онда х сөзі қайта пайда болуы үшін d(x,y) аралығының нәтижесі қате болады. w(x)=d(x,0) және d(x,у)=w(x - y) орындалатыны анық.
Лемма 1.5.3. Хэмминг аралығы кеңістігінде метрика болады, яғни үшін келесі қатынас орындалады:
d(x,y)=0 сонда, тек сонда ғана х=у
d(x,y)= d(y,x)
d(x,z)= d(x,y)+ d(y,z).
Кодсыздандыру арқылы алынатын у сөзі үшін мәні ең кіші болатындай с кодтаушы сөзін табу керек. Осылайша, біз кодсыздандыру үшін алынған у сөзінің мәні Хэмминг аралығына жақын болатындай с кодтаушы сөзін іздейміз. Бұл ереже кодтаушы сөзге жақын кодсыздандыру деп аталады.
Анықтама 1.5.4. Егер , онда коды t - қателікті түзетуші код деп аталады, егер үшін орындалатындай деген сөз табылмайды немесе бір ғана сөз табылады.
Егер - жіберілген кодталған сөз және жіберу барысында t-дан көп емес қателік кеткен болса, онда алынған у сөзі үшін . Егер С - t қателікті түзетуші код, онда z!=c барлық кодтаушы сөздер үшін теңсіздігі орындалады; бұл у-ке жақын кодтаушы сөз және кодтаушы сөзге жақын кодсыздандыру дұрыс нәтиже береді дегенді білдіреді. Сонымен, кодтау теориясының бір есебі осындай кодтардан тұрады, кодтаушы сөздер үшін бір-бірінен ара қашықтығының мәні маңызды болып табылады. Екінші жағынан, мүмкіндігінше көп ақпаратты бір уақытта жіберуге болады. Осы екі жағдай кодтау теориясының бір мәселесін құрайды.
Анықтама 1.5.5.
саны С сызықтық кодының ең кіші ара қашықтығы (немесе жай қашықтық) деп аталады.
Теорема 1.5.6 [1, 579 б.]. С кодының ең кіші ара қашықтығы арқылы t қателікті түзеуге болады, егер болса.
Дәлелдеуі: Центрі нүктесінде, радиусы t-ға тең болатын шары орындалатындай барлық векторлардан тұрады. Кодтаушы сөзге жақын кодсыздандыру ережесі әрбір жіберген сөздердің нәтижесінде алынған сөзде t-дан көп қателік болмауға, радиусы t-ға центрі жіберілген кодталған сөз болатын шарда жатуына кепілдік береді. Және t қателікті түзету үшін радиусы t-ға тең болатын центрі х кодталған сөз болатын шармен қиылыспауы тиіс. Егер және , онда
теңсіздігі теңсіздігіне қайшы.
Мысал 1.5.7. 1.2.2 мысалдағы ең кіші қашықтық және сәйкесінше 1 қателікті түзетуге болады.
Келесі лемма кодтың ең кіші ара қашықтығын анықтауда жиі қолданылады.
Лемма 1.5.8. Н тексеруші матрицасы бар С сызықтық кодының ең кіші ара қашықтығы болуы үшін Н матрицасының кез-келген s бағаны сызықты тәуелсіз болуы қажетті және жеткілікті.
Дәлелдеуі: Н матрицасының сызықты тәуелді болатын s бағаны табылады дейік, онда кез-келген үшін және . Онда сәйкесіше . Расында, егер Н матрицасының кез-келген s бағаны сызықты тәуелсіз болса, онда , табылмайды. Ендеше, сәйкесінше .
Енді сызықтық кодты кодсыздандырудың қарапайым алгоритмін көрсетейік. С - өрісінен алынған (n, k)-сызықтық коды болсын. векторлық кеңістігі барлық іргелес кластардан тұрады. Әрбір іргелес класс вектордан тұрады. кеңістігі С ішкі кеңістігі бойынша мынадай іргелес кластарға жіктеледі және мұндағы және
Келген хабарлама, яғни у векторы осы іргелес кластардың біреуінде жатуы тиіс, мысалы, да. Егер жіберілген кодтаушы сөз с болса, онда е қате векторы үшін мына теңдікті аламыз: , қандай да бір .
Түзетуші кодтар қатені табуға және оны жөндеуге мүмкіндік береді, сондықтан бұл кодтарды қолдану - ақпаратты бөгетпен дискретті каналдар бойынша жіберудің сапасын жоғарылату тәсілінің бірі. Шеннон теоремасына сәйкес аз өткізгішті қабілетке ие, ақпаратты жіберу жылдамдығы кезінде ақпаратты қателіксіз жіберуді қамтамасыз ететін код бар болады. Қазіргі уақытта табатын және барлық емес тек жарты қатені жөндейтін кодтар қолданылуда.
Егер бастапқы алфавит көлемі , құрса, онда барлық мүмкін кодтық комбинацияның n ұзындықты жалпы санынан дискретті ақпаратты жіберу үшін барлығы емес, тек қана қажет саны ғана қолданылады. Қабылдауда қатені табу (жөндеу) үшін келесі шартты орындау керек:
Егер онда барлық n-ші элементтік кодтың мүмкін тізбегі жіберу үшін қолданылады және рұқсат етілген болып табылады. Мұндай тәсілмен табылған код қарапайым деп аталады, ол қатені табуға және жөндеуге қабілетті емес. Қателікті табу және оны жөндей алуы үшін теңсіздігін орындау керек. Сонымен қоса саны тең, қолданылмаған n-ші элементті код комбинациясы рұқсат етілмеген деп аталады, яғни олар байланыс каналы бойынша жіберіле алмайды және олардың қабылдаушы жақта пайда болуы қателікке алып келеді.
Рұқсат етілмеген кодтық комбинациялар кодтың артықшылығын анықтайды. Кодтық комбинацияда қателік табылады, егер жіберілген рұқсат етілген комбинация рұқсат етілмегендердің біреуінен өтсе. Рұқсат етілген кодтық комбинация ретінде, бір-бірінен максималды ерекшеленетіндерін таңдау керек. Кез-келген түзетуші код артықшылықты (артық, қажет емес комбинацияға ие) код болып табылады.
Түзетуші кодты бейнелеу үшін келесі параметрлер енгізіледі:
1) Хэмминг қашықтығы d кодтық комбинация арасындағы айырым дәрежесін көрсетеді. Кез-келген екілік кодтық комбинация үшін бұл қашықтық оларда сәйкес келмейтін разряд санына тең. Хэмминг қашықтығы математикалық осы кодтық комбинацияның бірлік санының екілік модуль бойынша суммасы ретінде есептелінеді.
2) Кодтық комбинация салмағы W оған кіретін нөлдік символдың санына тең. Сондықтан Хэмминг қашықтығы - бұл модуль бойынша салмақ саны.
3) Кодтық қашықтық do - бұл берілген код үшін минималды Хэмминг қашықтығы. Барлық мүмкін кодты комбинация жұбын таңдап алып және олар үшін d есептеп, олардың ішінен минималдыны табу керек, бұл кодтық қашықтық болады. Рұқсат етілген кодтық комбинация ретінде бір-бірінен максималды ерекшеленетіндерін, таңдау керек.
4) Кодтың түзетушілік қабілеттігі табылған және жөнделген қателіктің t қысқалығымен анықталады, ол дегеніміз кодтық комбинацияда табылған немесе артқы кодпен жөнделген қателік санына кепілдемемен түсіндіріледі. Қысқашалық үлкен болған сайын жетілдірілген код болып табылады. кодты қашықтықты кодтар үшін қысқаша .
Кодтық арақашықтықпен түзетуші қателіктің қысқалығы арасындағы байланыс теңдеумен анықталады:
, егер do жұп болса,
, егер do тақ болса.
Сонымен берілген түзетуші қабілетті кодты алу тапсырмасы кодтық комбинацияның минималды кодтық қашықтықты do алуды қажет ететін, кодтық комбинацияны таңдау тапсырмасына сәйкес келеді. Үлкен n кезінде мұндай таңдау қиын, сондықтан да тәжірибеде берілген do код алу мақсатымен жинақтауды қажет етпейтін және жүзеге асырудың қабылдауға болатын қиындықтарымен ерекшеленетін, код құрудың кең тараған әдісін алды.
5) Rк қатынасты жылдамдық коды кодтағы рұқсат етілген кодтық комбинацияның қатынасты саның көрсетеді және мына формуламен есептелінеді:
өлшемі кодтың артықшылық коэффициенті деп аталады.
Сызықты кодтарды кодсыздандыру
Жіберілгеннен кейін алынған у векторы үшін барлық мүмкін болатын е қате векторы у векторымен бір іргелес класта жатуы тиіс. Ең ықтимал е қате векторы - у векторы бар іргелес кластағы векторлардың ішіндегі ең кіші салмаққа ие вектор. Онда біз у-ті арқылы кодсыздандырамыз.
Жоғарыдағыны лидер іргелес класы арқылы кодсыздандыру алгоритмінің көмегімен жүзеге асыруға болады.
Анықтама 1.6.1. - сызықтық (n, k)-код болсын және - кеңістігінің фактор-кеңістігі болсын. а+С іргелес класындағы ең кіші салмақты элемент а+С класының лидер іргелес класы деп аталады. Егер а+С іргелес класында ең кіші салмақты бірнеше вектор болса, онда лидер іргелес класс ретінде олардың біреуін таңдап аламыз.
- лидер іргелес кластар (С-дан өзге) болсын, ал барлық кодталған сөздер. Келесі кестені қарайық:
кодталған сөздер қатары
- қалған іргелес класстар
Егер келген хабар, онда алушы е вектор қателігі сәйкесінше лидер іргелес класына сәйкес келеді деп және у сөзін кодтаушы сөзімен кодсыздандырады. Осылайша, у кодтау сөзі жоғарыда келтірілген құрамында у векторы бар іргелес кластың бағаны бойынша кодсыздандырылады. у векторынан құралған іргелес класты у векторының синдромы деген атаудың көмегімен анықтауға болады.
Анықтама 1.6.2. Н - С сызықтық (n, k)-кодының тексеруші матрицасы болсын. Онда ұзындығы n - k болатын S(y)=HyT у векторының синдромы деп аталады.
Теорема 1.6.3. Егер , онда
болса, сонда тек сонда ғана S(y)=0
у+С=z+C болса, сонда тек сонда ғана S(y)= S(z)
Дәлелдеуі: 1) пункті жоғарыдағы анықтамадан оңай шығады. 2) дәлелдеу үшін және , яғни болғанда, сонда, тек сонда ғана S(y)= S(z) теңдік орындалатынын аңғарамыз. Соңғы теңдік y+C=z+C. Егер
e=y − c,c∈ C, y∈ Fqn
Яғни, у және е векторлары бір іргелес класста жатады. Осы іргелес класстың лидері синдром болады. ... жалғасы
Ұқсас жұмыстар
Пәндер
- Іс жүргізу
- Автоматтандыру, Техника
- Алғашқы әскери дайындық
- Астрономия
- Ауыл шаруашылығы
- Банк ісі
- Бизнесті бағалау
- Биология
- Бухгалтерлік іс
- Валеология
- Ветеринария
- География
- Геология, Геофизика, Геодезия
- Дін
- Ет, сүт, шарап өнімдері
- Жалпы тарих
- Жер кадастрі, Жылжымайтын мүлік
- Журналистика
- Информатика
- Кеден ісі
- Маркетинг
- Математика, Геометрия
- Медицина
- Мемлекеттік басқару
- Менеджмент
- Мұнай, Газ
- Мұрағат ісі
- Мәдениеттану
- ОБЖ (Основы безопасности жизнедеятельности)
- Педагогика
- Полиграфия
- Психология
- Салық
- Саясаттану
- Сақтандыру
- Сертификаттау, стандарттау
- Социология, Демография
- Спорт
- Статистика
- Тілтану, Филология
- Тарихи тұлғалар
- Тау-кен ісі
- Транспорт
- Туризм
- Физика
- Философия
- Халықаралық қатынастар
- Химия
- Экология, Қоршаған ортаны қорғау
- Экономика
- Экономикалық география
- Электротехника
- Қазақстан тарихы
- Қаржы
- Құрылыс
- Құқық, Криминалистика
- Әдебиет
- Өнер, музыка
- Өнеркәсіп, Өндіріс
Қазақ тілінде жазылған рефераттар, курстық жұмыстар, дипломдық жұмыстар бойынша біздің қор #1 болып табылады.
Ақпарат
Қосымша
Email: info@stud.kz