![](https://habrastorage.org/webt/uf/1f/iw/uf1fiw0v-ohuv8eg2n4unzljrwq.jpeg)
Иллюстрация melmagazine.com (Source: melmagazine.com/wp-content/uploads/2019/11/DNA-1280x533.jpg)
В настоящее время для информационного обмена широко используются сети общего доступа с каналами, не защищенными от нарушителя. Обмен сообщениями в таких связных и компьютерных сетях пользователи вынуждены защищать самостоятельно. Так как сами каналы передачи сообщений пользователь защитить не может, он защищает сообщение.
Что в сообщении защищается? Во-первых, синтаксис (целостность) с этой целью используется кодология (кодирование и анализ кодов), во-вторых, семантика (конфиденциальность) для чего используются криптология (криптография и криптографический анализ), в-третьих, косвенно нарушителю можно ограничить доступность сообщения путем скрытия факта его передачи для чего используется стеганология (стеганография и стеганоанализ).
Перечисленные возможности теоретически и практически обеспечены в разной мере, и хотя каждое направление развивается достаточно длительное время, они еще далеки от завершения. В предлагаемой работе коснемся только одного частного вопроса — анализа кодов сообщений.
Введение
В качестве объекта анализа выбран генетический код (ГК). С любопытным примером использования ГК в области информационной защиты (по-видимому непрофессиональной и потому не успешной) можно познакомиться здесь.
В теории кодирования могут быть выделены два важных направления: кодирование источника информации и канальное кодирование. Первое из них реализуется, как правило, передающей стороной и имеет целью — устранение избыточности сообщений (пример, код Морзе), целью второго является — обнаружение и устранение ошибок в сообщениях. До появления корректирующих кодов задача устранения ошибок решалась повторной передачей искаженного фрагмента сообщения по запросу приемной стороны.
Здесь отметим факт невозможности правильного расшифрования приемной стороной шифрграммы, если в ее тексте возникли ошибки. Шифры не позволяют ни обнаруживать ошибки, ни тем более их исправлять. По этой причине на передающей стороне системы связи сообщение-шифрграмма кодируется корректирующим кодом, а на приемной стороне декодер в полученном сообщении обнаруживает (если они есть) и исправляет ошибки.
После этого вступает в дело криптосистема и легитимному получателю предоставляется расшифрованное сообщение. Таковы в общих чертах положения функционирования сетей, обменивающихся защищенными сообщениями.
В этой работе займемся подробно анализом очень важного Генетического кода, который создан не разумом человека, а самой природой (редкий случай).
История одного открытия и Нобелевская премия
Зададимся вопросом, как природой на уровне генетики и метаболизма организмов (клеток) реализованы такие положения информационного обмена в жизнедеятельности видов и их отдельных представителей?
Научному миру еще до Второй мировой войны было известно, что у живых организмов передача от поколения к поколению наследственных признаков осуществляется через относительно простые химические единицы (гены), включающие огромное количество информации, необходимой для продолжения и воспроизводства жизни.
Все гены (не являются белками) связываются в цепочки (хромосомы) и материализуются в дезоксирибонуклеиновой кислоте (ДНК). У специалистов не было ясности в том, как все происходит и как устроена сама ДНК.
Молодые исследователи физик англичанин Ф. Крик и биолог американец Дж. Уотсон в 1953 году (25.4) опубликовали в журнале Nature статью «Структура дезоксирибонуклеиновой кислоты». На момент начала их работы 1949 г. Джеймсу Уотсону было 23 года, Френсису Крику и Морису Уилкинсу по 33.
В статье авторы описали модель пространственной структуры ДНК в виде двойной спирали, две нити которой закручивалась вправо. Сами нити при этом оказывались связанными поперечными «ступенями», образованными из нуклеотидов.
Определение. Нуклеотиды — соединения, состоящие из сахара, азотсодержащих оснований (пурина или пиримидина) и фосфорной кислоты. Нуклеотиды являются «строительными блоками» для ДНК и РНК.
Эта спираль ДНК – носитель генетического кода – кода наследственности признаков организмов животных и растений. Это была совершенно необычная новая работа о строении и свойствах молекулы дезоксирибонуклеиновой кислоты.
Модель ДНК молодых авторов получила подтверждение при сопоставлении ее с рентгеновской дифракционной картиной кристаллической структуры ДНК английского биофизика Мориса Уилкинса. Позднее был открыт генетический код, содержащий и передающий информацию о синтезе структуры и состава белков – основных составляющих каждой клетки живых организмов, реализующей клеточный цикл.
Определение. Клеточный цикл — правильное чередование периодов относительного покоя с периодами деления клетки.
В этом же году позднее авторы опубликовали еще одну статью, в которой описывался возможный механизм копирования ДНК путем матричного синтеза при делении живых клеток. Двойная спираль ДНК уподоблялась «замку молния».
Каждая нить спирали после «расстегивания замка» и разведения нитей становилась синтезирующей матрицей и достраивалась второй нитью материалом из цитоплазмы клетки по принципу комплементарности до полной ДНК. Там же говорилось, что определенная последовательность оснований (кодонов, триплетов) является кодом, который содержит генетическую информацию.
Идея математизации кода высказывалась впервые Г. Гамовым в статье 1954 года как проблема перевода слов из четырехбуквенного алфавита (системы) в слова двадцатибуквенного алфавита. Он представил проблему кодирования жизненных явлений не как биохимическую, а как комбинаторную математическую задачу. Предварительные длительные усилия авторов этого труда хорошо описаны в книге Д. Уотсона «Нить жизни».
В 1962 году Уотсон, Крик и Уилкинс получили Нобелевскую премию по физиологии и медицине «за открытия в области молекулярной структуры нуклеиновых кислот и за определение их роли для пере-дачи информации в живой материи».
Они располагали информацией о следующих фактах:
- В 1866 г Грегором Менделем сформулированы положения, что «элементы», названные позднее генами, определяют наследование физических свойств особей вида.
- Было известно, что гены или ДНК, управляют биосинтезом (образованием) клеточных белков, названных ферментами, и метаболизмом в целом таким образом контролируя биохимические процессы в клетке.
- В 1869 г Ф. Мишером открыта нуклеиновая кислота, хранящая наследственную информацию. Такая кислота имеется в каждой клетке и содержится в ее ядре. Информация материализована двумя нуклеиновыми кислотами дезоксирибуиновой (ДНК) и рибонуклеиновой (РНК). Они близки по химическому составу. Каждая образована 4-мя нуклеотидами (азотистыми основаниями): ДНК включает аденин (А), тимин (Т), гуанин (G), цитозин (С); РНК включает аденин (А), урацил (U) вместо тимина, гуанин (G), цитозин (С), а также молекулами моносахарида группы пентоз (дезоксирибозы или рибозы) и фосфатом.
- В первые десятилетия ХХ века были выяснены химический состав и структура нуклеиновых кислот, установлено, что гены – это участки молекулы ДНК и помещаются в хромосомах, структурных элементах ядра клетки.
- В 1950 г. Эрвин Чаргафф из Колумбийского университета показал, что нуклеиновые кислоты включают равные количества 4-х азотистых оснований.
- Морис Уилкинс и Розалинда Франклин из Королевского колледжа Лондонского университета на основании рентгеновского дифракционного исследования молекулы ДНК получили изображение ДНК в форме двойной спирали, закрученной вправо, напоминающей винтовую лестницу.
- Исследование белковых молекул показало, что около 20-ти важнейших аминокислот служат мономерными звеньями, из которых построены все белки (ферменты), синтезируемые в клетках организмов.
- В 1944 г физик Эрвин Шрёдингер написал и опубликовал книгу «Что такое жизнь? Физические аспекты живой клетки». В книге вопрос: «Как можно пространственно-временные события, происходящие в живом организме, объяснить с позиции физики и химии?».
- В 1954 г Георгий Гамов высказал гипотезу о том, что информация о строении белков передается синтезирующей их клеточной системе отображением трехбуквенных слов (триплетов) 4-х буквенного алфавита в слова 20-ти буквенного алфавита, где роль букв играют аминокислоты, входящие в состав белков.
Исследователям предстояло сделать очередной шаг, и он был сделан.
В гипотезах и предположениях недостатка не было, но кто-то должен проверять их истинность.
Перекрывающиеся коды (один нуклеотид-буква входит в состав более чем одного кодона): треугольный, мажорно-минорный и последовательный, предложены Гамовым с коллегами;
неперекрывающиеся коды: комбинационный Гамова и Ичаса, «код без запятых» Крика, Гриффита и Оргела. В комбинационном коде аминокислоты (20) кодируются триплетами из 4-х нуклеотидов, но важен не их порядок, а только состав: триплеты ТТА, ТАТ, АТТ кодируют в белках одну и ту же аминокислоту.
Код без запятых объяснял, как выбирается «рамка считывания». Такое «скользящее окно» вдоль нити ДНК, где буквы следуют, друг за другом без разделителей (запятых) их на слова предполагает, что слова все-таки как-то различаются. Согласно модели Ф. Крика делалось допущение: все триплеты разделяются на осмысленные, т. е. соответствующие конкретным аминокислотам, и не имеющие смысла.
Если только осмысленные триплеты формируют ДНК, то в другой «рамке считывания» такие триплеты окажутся не имеющими смысла. Авторы этого кода показали, что можно подобрать триплеты, удовлетворяющие таким требованиям и что их ровно 20. Конечно, полной уверенности в своей правоте у авторов не было.
Действительно, после 1960 года было показано, что кодоны, считавшиеся Криком бессмысленными, в пробирке реализовывали белковый синтез, а к 1965 году был установлен смысл всех 64 кодонов-триплетов. Выяснилось также, что ряд аминокислот кодируется двумя, тремя, четырьмя и даже шестью разными триплетами, т. е. имеет место определенная избыточность, назначение которой еще предстоит определить.
Генетический код жизни. Наследственная информация
Определение. Генетический код – множество слов, задающих способ кодирования цепочками нуклеотидов (букв алфавита А, G, C, T), последовательности аминокислот синтеза белков, свойственных всем живым организмам. Цепочки триплетов (кодовых слов) образуют хромосомы – носители наследственной информации. Каждому виду живых организмов соответствует свой хромосомный набор. Этот способ кодирования универсален и реализуется в каждой клетке растительного и животного организма при ее делении.
Для кодирования каждой из 20 видов канонических аминокислот, из которых строятся далее практически все белки и терминального сигнала «стоп» оказывается достаточно набора из трех нуклеотидов (букв), называемого триплетом (кодоном). Последовательность кодонов формирует в хромосомной нити ген и определяет последовательность аминокислот в полипептидной цепи белка, кодируемого этим геном. Существовала концепция «один ген – один фермент».
Классическое представление информации (линейность ее записи) – это тексты в широком понимании (речь, письма, книги, изображения, фильмы, музыка и т. п.) этого слова в некотором естественном языке (ЕЯ). Язык включает обширный словарь (лексику), а если ЕЯ кроме устной речи имеет письменность, то и алфавит с грамматикой.
Для сохранения информации в течение длительного времени и передачи ее копий необходимы прочная, хорошо защищенная память и письменность. Наследственная информация живых организмов записана ЕЯ природы в длинных текстах словами в некотором «молекулярном» алфавите, которые хранятся в форме хромосом в ядрах всех клеток живых организмов.
Процессы и пути переноса информации, записанной на естественных её носителях-молекулах, сформулированы Ф. Криком (1958 г.) в форме центральной догмы молекулярной биологии. Три основных процесса обеспечивают управление всеми остальными процессами функционирования клетки и жизни организмов в целом.
Эти процессы: репликация, транскрипция и трансляция. Далее о них будет сказано более подробно. Информация в организмах передается только в одном направлении от нуклеиновых кислот (ДНК → РНК →белок) к белку, обратной передачи не существует. Возможны особые случаи ДНК → белок, РНК→ РНК, РНК → ДНК.
Чтение информации вдоль молекулярных цепочек допустимо только в одном прямом направлении. Используется понятие «рамка считывания».
Определение. Рамкой считывания (открытой) называется последовательность неперекрывающихся кодонов, способная синтезировать белок, начинающаяся со старт-кодона и завершающаяся стоп-кодоном. Рамка определяется самым первым триплетом, с которого начинается трансляция.
Для начала трансляции старт-кодона недостаточно, необходим ещё инициационный кодон (их три: AUG, GUG, UUG). После его считывания трансляция идет путем последовательного считывания кодонов рибосомальной рРНК и присоединения аминокислот друг к другу рибосомой до достижения стоп-кодона.
Кодоны в ходе трансляции «читаются» всегда с некоторого стартового инициирующего символа (AUG) и не перекрываются. Чтение после старта триплет за триплетом идет до стоп-кодона завершения синтеза белковой полипептидной цепи.
Эти факты обобщаются в таблице способов передачи генетической информации.
Таблица 1 – Центральная догма молекулярной биологии
![](https://habrastorage.org/webt/6e/yx/ml/6eyxmljasi6zwu7wdaj43ilfxgy.png)
История изучения текстов наследственности организмов, их осмысления, длительная, богатая открытиями, достижениями, заблуждениями и разочарованиями. Перечень событий истории постижения (познания) текстов природы представляет несомненный интерес, как для науки, так и для каждого отдельного человека.
Слова текстов имеют очень большую длину, но алфавит письменности «ЕЯ природы» содержит всего четыре буквы – это молекулярные основания: в РНК это А (аденин), С (цитозин), G (гуанин), U (урацил) (в ДНК урацил заменяется на Т (тимин)). Язык живой природы – это язык молекул.
Биологами установлено, что каждое слово текста наследственности образовано полимерной молекулой ДНК (дезоксирибонуклеиновой кислоты, открытой в 1868 г. врачом И. Ф. Мишером), построенной из 4-х оснований (нуклеотидов – от nuclear — ядерный).
Основания скрепляются (соединяются) между собой в пары, А ←→ Т, Т←→ А, G ←→ C, С ←→ G особыми водородными связями, реализующими принцип дополнительности (комплементарности). Эти факты устанавливались в разное время, разными учеными и методами многих наук (физики, химии, биологии, цитологии, генетики и др.). Сложности на пути познания этого ЕЯ встречались постоянно.
Молекулы ДНК не кристаллизовались, но когда это удалось сделать, то задача установления структуры ДНК свелась к решению обратной задачи рентгеноструктурного анализа (преобразованием Фурье дифракционной картины кристалла, созданной на экране рентгеновскими лучами).
На рассчитанной и собранной вручную Дж. Уотсоном и Фрэнсисом Криком в 1953 году модели аналогично детской игре «LEGO», где элементами являлись молекулярные основания и очень точно выдерживались межатомные расстояния и углы разворота, была воспроизведена структура хромосомы в большом масштабе.
Эта модель практически подтвердила многообразные гипотезы теоретиков и убедительно доказала отсутствие расхождений с практическими экспериментами и результатами рентгеноструктурного анализа кристаллической ДНК.
Основные детальные данные о химическом строении ДНК и числовые характеристики модели были получены Розалиндой Франклин и М. Уилкинсом ранее 1953 г. в лаборатории рентгеноструктурного анализа. Конфликт ученых описан в романе «Одиночество в сети» Януша Леона Вишневского.
Наличие наглядной структуры ДНК и ее количественных характеристик дало толчок для развития генетики и всех бионаук, из которого возникла идея проекта «Геном человека» 2000 г. Уотсон стал первым руководителем этого проекта, в рамках проекта был полностью расшифрован хромосомный набор человека Homo sapiens. Полная генетическая карта 1-й хромосомы завершена в 2006. Карта содержит 3141 ген и 991 псевдоген.
С позиций математики четырем буквам алфавита можно приписать четыре элемента конечного расширенного поля Галуа GF(22) = (0, 1, α, β), операции с которыми выполняются по модулю неприводимого многочлена р(х) = х2 + х + 1. Тогда α + β = 1, α∙β = 1 и сопоставление элементов поля буквам принимает вид
![](https://habrastorage.org/webt/hq/fh/nk/hqfhnkrw_uyopgk_obmeue6kasu.png)
, а дополнительный (комплементарный) нуклеотид вычисляется по правилу ¬х → х + 1, откуда Т → А + 1, С → G + 1.
Структурно модель ДНК представляет две эквидистантные полимерные цепи попарно соединенных нуклеотидов (по принципу веревочной лестницы) и закрученных в правую двойную спираль. Ниже по тексту вертикально выписанные пары букв соответствуют ступеням «лестницы»:
Т А G G T T C G Т …
A T C C A A G C A …
Две цепи повторяют последовательность букв, но начало одной расположено напротив конца другой. Информация в молекулах ДНК записывается с большой степенью избыточности, что, конечно, обеспечивает высокий уровень надежности при считывании информации и ее копировании (репликации: ДНК → ДНК). К исходному слову приписывается еще одно, но в дополнительном коде.
Все хромосомы содержат в своем составе гены и в каждой клетке содержатся в очень малом объеме (в ядре клетки) и короткие и очень длинные. Расстояние между нитями ДНК составляет 2 нм, между «ступеньками» – 0.31 нм, один полный оборот «спирали» через каждые 10 пар. Суммарная длина всех ДНК, вытянутых в одну нить достигает 2м. Наследственная информация человека записана в 23 хромосомах. Длина хромосомы порядка 109 нуклеотидов, а диаметр ядра меньше микрометра. Таким образом, ДНК в клетке компактизована.
Определение. Ген (греч.γενοζ – род). Структурная и функциональная единица наследственности живых организмов. Гены (точнее аллели) определяют наследственные признаки организмов, передающиеся от родителей потомству при размножении.
В словах ДНК можно выделить и рассматривать отдельные части-подслова (гены), которые несут целостную информацию о строении одной молекулы белка или одной молекулы РНК. Кроме того, гены характеризуются регуляторными последовательностями (промоторами).
Промоторы могут быть расположены как в непосредственной близости от открытой «рамки считывания», кодирующей белок или начала последовательности РНК, так и на расстоянии многих миллионов пар оснований (нуклеотидов), например, в случаях с энхансерами, инсуляторами и супрессорами.
Каждый ген предназначен и отвечает за создание определенного белка, необходимого для жизнедеятельности организма. Понятием генотип обозначается наследственная конституция гамет (половых клеток) и зигот (соматических клеток) в отличие от фенотипа, описывающего благоприобретенные признаки, которые по наследству не передаются.
Блоковые коды
Код многозначное понятие. Кодом, прежде всего, можно назвать множество кодовых слов, образующих собственно сам код. Именно такие слова распознает декодер на приемной стороне при передаче сообщений, а на передающей — их формирует кодер.
При формировании кодовых слов используется однозначное отображение конечного упорядоченного множества символов, принадлежащих некоторому конечному алфавиту, на иное, не обязательно упорядоченное, как правило, более обширное множество символов для кодирования передачи, хранения или преобразования информации
Перечислим свойства рассматриваемого генетического кода (ГК):
- Универсальность. Общность кода для всего живого мира. Универсальность подтверждена экспериментами по синтезу белков in Vitro (в пробирке). В бесклеточную систему одного организма (животного) помещали мРНК другого (растительного) и при этом реализовывался белковый синтез.
- Полярность. Однонаправленность считывания генов ДНК, РНК.
- Триплетность. Значащей единицей ГК является триплет или кодон. Три нуклеотида (буквы алфавита) – кодон, триплет, кодовое слово.
Г. Гамовым было высказано предположение о триплетности кода. Поскольку речь идет о 4-х нуклеотидах, образующих алфавит, и о 20 аминокислотах, используемых при синтезе белков, каждая из них должна в качестве прообраза иметь одно (или более) синтезирующее ее слово.
Следовательно, такие слова не могут состоять из одной буквы (моноплетами), их всего 4; не может быть слов и из 2-х букв (дуплетов), так как их разнообразие ограничено 42 =16 словами; трехбуквенные слова (триплеты) 43 = 64 > 20 подходят и даже с избытком. С длиной слов кода определились.
- Вырожденность. Вырожденностью ГК называется способность разных кодонов кодировать одну аминокислоту. Эта способность не приводит к двусмысленности, так как для пары кодонов-синонимов, соответствующих одной аминокислоте, ни один из них не кодирует одновременно ещё какую-то аминокислоту. Чаще всего у таких кодонов совпадают первые две позиции.
Свойство связано с избыточностью. Состав каждого слова из 64 возможных был установлен лишь в 1965 году на основе многочисленных опытов. Выяснилось, что избыточность числа слов при синтезе некоторых белков используется природой для надежности правильности считывания информации. В итоге получилось, что каждая аминокислота кодируется разным числом триплетов (кодонов). Свойство кода назвали вырожденностью.
Таблица 2 — Количественные соотношения триплетов и аминокислот
Всего использовано для синтеза 20 аминокислот 61 триплет, три триплета не синтезируют белков. Они используются как разделители, терминаторы между генами. Кодон AUG – первый после лидерной последовательности выполняет функцию прописной буквы слова.
Неперекрываемость. Нуклеотид одного кодона не может быть частью другого соседнего. Перекрытия имеют вид AGC, GCU, CUA,… это приводит к тому, что аминокислоты в белках не могут следовать произвольно. На практике же встречаются в произвольном порядке из чего следовало, что перекрытия в коде недопустимы. Одно и то же основание не может входить в состав двух соседних кодонов.
- Непрерывность. Отсутствие разделителей между словами-кодонами и наличие знаков разделителей между генами.
Каждый ген предназначен и отвечает за создание определенного белка, необходимого для жизнедеятельности организма. Понятием генотип обозначается наследственная конституция гамет (половых клеток) и зигот (соматических клеток) в отличие от фенотипа.
- Однозначность кода. Каждый кодон-триплет кодирует лишь одну аминокислоту, либо играет роль терминатора трансляции. Имеется и исключение: кодон AUG у прокариот он в первой позиции (прописная буква) кодирует формилметионин, в других позициях – метионин.
- Компактность кода. Под компактностью кода понимают отсутствие разделителей между кодонами в пределах гена. Каждый нуклеотид входит в состав значащего кодона. В 1961 году экспериментально была доказана Ф. Криком и Сеймуром Бензером триплетность и компактность кода.
- Дискретность – один и тот же нуклеотид не может входить одновременно в состав двух или более триплетов;
- Кроссинговер – обмен гомологичными (содержащими одни и те же гены) участками несестринских хроматид.
Рассмотрим два дискретных множества Х и n, содержащие соответственно |X| и |n| элементов и отображение φ: n → Х. При представлении произвольных отображений множеств словами в алфавите Х получается множество Хn слов, каждое длиной n символов из имеющихся q = |X|, которые образуют алфавит текстовых сообщений. Удобно все слова Хn расположить в лексикографическом порядке в общий список.
Нашей целью в этой части работы является формирование кода, обеспечивающего кодирование (преобразование) передаваемых данных в форму удобную для передачи в пространстве и времени и трансляцию (перевод) с одного языка на другой понятный получателю сообщения.
Формирование кода предполагает выбор алфавита, определение регулярности, а при выборе регулярного кода, определение длины кодового слова, определение количества кодовых слов, определение побуквенного состава каждого слова.
Таблица 3 — Генетический код состоит из 64 кодовых слов из 3-х букв каждое
![](https://habrastorage.org/webt/u3/7q/ve/u37qveun3xll2tk0mhhh44i7yus.png)
Таблица 4 — Обратные значения кодовой последовательности триплетов РНК
![](https://habrastorage.org/webt/ac/11/g1/ac11g19depr1ayjkrn8ft0ieccg.png)
Дополнительные свойства кода, например, код не должен иметь запятой, определяются более жесткими требованиями к названным параметрам кода. Код без запятой должен иметь слова с максимальным периодом. Такие требования ориентированы на удобство последующего синтеза кодека. С этими положениями синтеза кода тесно связаны вопросы кодирования информации и ее декодирования.
Анализ кода
Совсем по-другому звучит задача анализа кода, когда код уже существует и используется, но о нем самом практически мало что известно. Кодированные сообщения доступны для обозрения и изучения, но они столь разнообразны и многочисленны, что принцип их создания не просматривается даже при весьма обширном их анализе.
Собственно, сама система кодирования также доступна для наблюдения и изучения, но уровень сложности ее построения и функционирования не позволяет получить полное качественное и достоверное описание.
Информация (данные) представляет собой сообщение, т.е. цепочку символов алфавита, которая с некоторой стартовой позиции может быть разбита на отрезки (блоки) длиной n символов, и каждый такой отрезок представляет собой кодовое слово. Код в этом случае блоковый.
На приемной стороне канала передачи сообщения получатель должен иметь возможность правильно разделять непрерывную цепочку символов сообщения на отдельные слова. Использование разделителей слов (запятой) нежелательно, так как требует ресурсов.
Синхронизация. Без выполнения синхронизации правильная трансляция сообщения невозможна. Отсюда вытекает одно из требований к формируемому коду – код должен быть устроен так, чтобы синхронизация обеспечивалась однозначно средствами (свойствами) самого кода и приемного устройства информации.
Определение. Процесс установления позиции, содержащей стартовый (начальный) символ кодового слова, называется синхронизацией.
Задача синхронизации просто решается, если в алфавите используется специальный символ-разделитель слов, например, запятая. Рамка считывания очередного кодового слова устанавливается непосредственно за разделителем.
Такой разделитель удобен, но нежелателен по нескольким причинам.
- Во-первых, код должен быть таким, чтобы в пункте прибытия сообщения оно имело точно такой же вид, как и в пункте отправления (обеспечение поддержания целостности);
- Во-вторых, время кодирования, декодирования и длительность передачи должны быть как можно меньшими, так как при этом сокращается возможность искажающих влияний среды на текст сообщения;
- В-третьих, объем носителя сообщения желательно иметь небольшим, так как при этом требуются меньшие затраты ресурсов хранения, защиты и др.
Для лучшей различимости слов кода они в полном списке возможных слов должны быть удалены одно от другого на некоторое расстояние, т.е. различаться составом значений символов, как векторы векторного пространства компонентами.
Следовательно, кодовыми словами могут быть не все и не любые слова множества Х n, а только лишь некоторое их подмножество D є Х n. Выбор символьного состава слов кода и представляет основную задачу его формирования, так как именно состав слов кода должен обеспечивать удовлетворение сформулированным требованиям к коду. Таким образом, будем далее рассматривать код без запятой.
Синхронизация кода без запятой. Покажем здесь, как может быть обеспечена однозначность синхронизации кода без запятой. Выберем два триплета кодовых слова вида х = (х1, х2, …, хn) и у = (у1, у2, …, уn). Образуем их конкатенацию х||у = (х1, х2, …, хn, у1, у2, …, уn). Эта конкатенация из двух слов позволяет породить еще n – 1 слово множества Хn путем многократных циклических сдвигов на одну позицию влево и выделения первых n символов сдвинутой последовательности. Введем важное понятие перекрытия пары слов.
Определение. При циклических сдвигах символов на шаг получаются слова вида (х2, …, хn, у1), (х3, …, хn, у1, у2)…( хn, у1,…, уn-2, уn-1), которые называются перекрытиями пары слов х и у.
Если все перекрытия в конкатенации для любой пары кодовых слов не являются кодовыми словами, то механизм приемной стороны (декодер) канала передачи информации имеет возможность устанавливать однозначно стартовую позицию. Это возможно при наличии у декодера списка D всех кодовых слов и возможности сопоставления их со считываемыми n символами из принятого сообщения.
Покажем, как это осуществляется. Пусть в принятой последовательности символов выбран и зафиксирован некоторый символ. Отсчитав n символов от фиксированного, декодер сопоставляет слово, которое получилось, со словами кодового списка. Если имеет место совпадение с одним из слов кодового списка, то синхронизация установлена. Фиксированный символ и его позиция стартовые.
Если совпадения нет ни с одним из слов списка кода, т. е. попали на слово-перекрытие, то это означает, что стартовая позиция расположена левее фиксированной позиции.
Сдвигаемся влево на одну позицию от фиксированной и повторяем действия предыдущего шага до тех пор, пока не получим на некотором шаге совпадения с одним из кодовых слов. Этот процесс обязательно имеет успешное завершение в правильной стартовой позиции, т. е. синхронизация в среднем устанавливается за число n/2 шагов.
Определение. Блоковым кодом без разделителя (запятой) называется подмножество D є Х n слов длины n в алфавите Х таких, что для любых двух кодовых слов х, у єD все перекрытия для них не являются кодовыми словами.
Мы уже установили, что такой код обеспечивает правильную синхронизацию в длинных цепочках кодовых слов без разделителей между ними. Какие же слова из множества Х n включаются в подмножество D є Х n? Если мощность множества Х n делится на целые числа, то мощность D может быть одним из таких делителей (теорема Лагранжа о группах) и код при этом называется групповым блоковым кодом без запятой.
Состав символов в словах кода пока остается не установленным, так же, как и количество слов в D. Очевидно, что выбор конкретного подмножества D из Х n имеет много вариантов (сочетаний из Х n по D), из которых только немногие или возможно единственный удовлетворяет всем требованиям к коду без запятой. Нами рассмотрено одно из важных требований о перекрытиях, и это свойство слов кода может быть использовано в качестве фильтра для отсеивания непригодных вариантов при выборе D.
Перейдем к решению вопроса о числе слов в формируемом коде.
Мощность кода без запятой. Будем отыскивать наибольшее из возможных число слов в коде D, которое обозначим символом |D| = Wn(q). Точное значение получить не удается, но оценку сверху для количества слов получить возможно, используя понятие периода слова. Обозначим символом Т kх циклический сдвиг слова длиной n на k шагов, k < n.
Определение. Периодом d кодона (кодового слова) называется наименьшее число k, при котором Т kх = х и d ≤ n, d | n. Слова максимального периода d = n называются полноцикловыми (основными). Код без запятой включает в свой состав только полноцикловые слова.
Действительно, пусть кодовое слово х = (х1, х2, х3, х1, х2, х3 ) имеет период d < n. Обозначим символом || операцию конкатенации над словами. Образуем из слова х конкатенацию х||х = (х1, х2, х3 ; х1, х2, х3 , х1, х2, х3 ; х1, х2, х3). Тогда перекрытие, выделенное символом (;) и заливкой совпадает с исходным кодовым словом, что недопустимо в коде без запятой. Отсюда следует вывод о том, что период слов кода не может быть меньше длины слова n.
Пусть Рn(q) обозначает число полноцикловых слов над алфавитом из q букв. Оценкой сверху мощности кода D без запятой будет выражение Wn(q) ≤ Рn(q)/n и циклический сдвиг кодового слова не может быть кодовым словом.
![](https://habrastorage.org/webt/j_/se/ja/j_sejaqfhnao3k7hrjbclayefna.png)
![](https://habrastorage.org/webt/xl/un/ck/xlunckk9njbbnhzyvb6qcizm14i.png)
![](https://habrastorage.org/webt/l7/-r/gr/l7-rgr9emplgyvmjljkz5exbhds.png)
Таким образом, для исходных данных примера 1, из множества произвольных 64 слов длиной 3 символа можно создать код, содержащий 20 слов и обеспечивающий синхронизацию. Такой код не лишен недостатков. При внесении в одно из слов ошибки в единственном символе синхронизация кода не будет обеспечиваться. Другими словами, код неустойчив против ошибок.
Приведенный числовой пример может быть использован для иллюстрации и объяснения генетического кода живых организмов, который создан природой на долгом пути эволюции и полностью расшифрован современной наукой в 1966 году. Установлено, что генетический код, неперекрывающийся, и выявлен смысл (интерпретация) каждого кодона.
Итоговая таблица получает следующий вид (рис. 2).
Из таблицы следует, что код является вырожденным. Это означает существование в коде слов-синонимов, например, GUU = GUC = Val, CGG = AGA = Arg и др. Три кодона UAA, UAG, UGA не несут смысловой нагрузки (non-sense). Это терминаторные кодоны, появление любого из них в последовательности символов означает конец трансляции (передачи). Организм погибает, если в результате ошибки буква смыслового кодона будет изменена на терминаторный кодон.
Такие изменения возможны и называются мутациями.
Определение. Мутации — относительно устойчивые изменения наследственного вещества.
Каждая хромосома содержит гены х1, х2, …, хn, которые образуют сложный признак Х организма. Пара хромосом в клетке, полученной при слиянии отцовской и материнской половых клеток, образуется при размножении: одна хромосома получается от отца, другая – от матери (диплоидная пара хромосом).
У гомологичных хромосом все гены совпадают по своей функции, но могут отличаться несколькими нуклеотидами. Подобные отличия часто бывают следствием мутаций, причиной которых могут быть химические, радиационные воздействия, радиоактивное облучение, температурные воздействия, ионизирующие излучения.
Наследственные заболевания вызываются подобными мутациями, закрепленными в хромосомном наборе половых клеток одного из родителей. Известен пример гена человека, кодирующего гемоглобин. При замене буквы Т буквой А в одной позиции гена возникает альтернативная форма гемоглобина. Проявляется это в заболевании, называемом серповидной анемией.
При совпадении значения признака в обеих гомологичных хромосомах, особь называется гомозиготной по данному гену. В других случаях возникает гетерозиготность. Для гомозиготности характерны диплоидные пары вида а), а для гетерозиготности пары вида б) (рис. 3)
![](https://habrastorage.org/webt/qz/_k/0e/qz_k0ekgha1hwupueaiqqei1xlw.png)
Рисунок 3 – диплоидные пары у гомозигот и гетерозигот
Вместо одной диплоидной пары образуется четыре гомологичных хромосомы А, А, а, а, и они распределяются поровну между четырьмя образовавшимися гаметами. Каждая гамета получает также одну из хромосом В, В, b, b, соответствующих сложному признаку. Это распределение происходит для хромосом независимо как между четырьмя гаметами, так и между разными признаками. Эти факты были установлены Менделем и в 1865 году им опубликованы.
Самой впечатляющей особенностью генетического кода следует считать его универсальность. Приведенную схему (рис.1) с успехом можно применять для расшифровки РНК животных и растений. В 1979 году появились результаты о генетическом коде митохондрий, который отличается от значений некоторых кодонов таблицы и с другими правилами узнавания кодонов.
Трансляцию осуществляет рибосома – особый орган клетки. Синхронизация (установка рамки считывания) осуществляется с помощью префикса, AGGAGGU, который называется последовательностью Шайн-Долгарно. Эта пуриновая последовательность присутствует в слове в единственном числе, и вероятность ее искажения мала. Но если искажение все-таки случится, то для организма наступит катастрофа.
Рисунок 1 – Соответствие слов кода аминокислотам Рисунок 2– Спираль ДНК, мРНК и белок
![](https://habrastorage.org/webt/dz/ng/ql/dzngqlb6glrsjbrmwuan0dq7j_s.png)
На рисунке 2 показано как последовательность аминокислот в молекуле белка кодируется последовательностью кодонов в молекуле ДНК. Здесь матричная мРНК – молекула посредник. Ее цепочки расходятся по принципу «застежки молнии», в которой роль замка выполняет фермент, разрывающий молекулу по водородным связям.
В клетках генетический код осуществляется тремя матричными процессами: репликацией (происходит в ядре), транскрипцией и трансляцией.
Транскрипция (побуквенная запись ДНК → мРНК) биологический процесс в эукариотических клетках протекает в ядре клетки (отделен ядерной мембраной от цитоплазмы) и представляет собой синтез молекул и-РНК на соответствующих участках ДНК. Последовательность нуклеотидов ДНК «переписывается» в такую же последовательность РНК.
Трансляция (считывание и перевод РНК → белок) биологический процесс в прокариотических клетках совмещен с процессом транскрипции, происходит в клеточной цитоплазме, на рибосомах; последовательность нуклеотидов иРНК транспортируется из ядра, переводится в последовательность аминокислот (синтез полипептидной цепи на матрице иРНК): этот этап протекает при участии транспортной РНК (тРНК) и соответствующих ферментов.
Таким образом, трансляция – это синтез белка рибосомой на основе информации, записанной в матричной мРНК. Для получения 20 аминокислот, а также сигнала «стоп», означающего конец белковой последовательности, достаточно трех последовательных нуклеотидов, которые называются триплетом.
Живые организмы распределяются на растения и животных по видам.
Определение. Вид – это совокупность организмов, которые взаимодействуют между собой в процессах жизнедеятельности и размножения. Сами организмы образуются из клеток, которые размножаются делением, из одной клетки в результате деления получается две с идентичным набором хромосом.
Деление клеток бывает двух типов: один для образования соматических клеток (клеток тела), другой – для образования половых клеток (гамет). Вид организма определяется наличием, числом и составом хромосом в клетках организмов, которые являются неизменными (постоянными).
![](https://habrastorage.org/webt/6j/mw/qg/6jmwqggay_qdugkmtgbdg4wfmps.png)
Нормальный рост и развитие организма обеспечивается образованием ростом и размножением соматических клеток в результате митоза. При митозе все хромосомы, находящиеся в ядре клетки, удваиваются перед началом деления клетки (репликация ДНК) и распределяются поровну между двумя дочерними клетками. Набор из 2n2с хромосом в каждой соматической клетке абсолютно одинаков. Митоз сохраняет в клетках постоянное диплоидное число хромосом.
Другой процесс мейоз служит для образования гамет, которые нужны для продолжения рода организмов. В мейозе каждая клетка делится дважды, а число хромосом удваивается один раз. Мейоз приводит к образованию из диплоидных клеток гаплоидных гамет с набором n2c. При последующем оплодотворении гаметы формируют организм нового поколения с диплоидным кариотипом (nc + nc = 2n2c).
Этот механизм реализуется у всех видов, размножающихся половым путем. Мейоз обеспечивает постоянство хромосомных наборов (кариотипов) – наследственность, а созданием новых сочетаний отцовских и материнских генов генотипическую изменчивость.
Предлагаемая работа открывает возможности использования генетического кода для решения задач информационной защиты. Правильное понимание явления природы и его использование возможно только при затрате усилий со стороны исследователя, которого не останавливают трудности на пути глубокого познания окружающей нас природы и ее проявлений.