|
|||||||||||||||||||||||||||||||||||||||||||||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Для кодирования 4 команд требуется 2 разряда и может показаться, что это вполне оптимальноЗакодируем каждую из них, на что потребуется два двоичных кода:
Таблица 3.1
В процессе передачи выяснилось, что половина команд, т.е. 50% - это команды вперед, следующая по частоте команда назад, а остальные команда налево и направо примерно поровну составляют оставшуюся часть, около 25%. Тогда была поставлена задача, перепрограммировать робот и подавать команды управления в экономном режиме. Рассуждение ведется следующим образом: Разобьем все сообщения на две группы с учетом частоты передаваемых команд, так чтобы число сообщений передаваемых по командам на 1000 было примерно поровну, то есть: 1 - (К1) - 500 и 2 - (К2, К3, К4) - 500, первой присвоим 0, второй – 1.(таблица 3.2). Точно также рассуждаем для второй итерации: 1 - (К2) 250 и 2 - (К3, К4) 250, первой присвоим 0, второй -1. И наконец, для третьей итерации: 1 - (К3) - 125 и 2 - (К4) - 125, первой присвоим 0, второй -1. Результаты такого разбиения хорошо видны в таблице 3.2
Таблица 3.2
В результате получим неравномерный код команд и вместо таблицы 3.1, таблицу 3.3, где в строке 2 указаны соответствующие коды..
Таблица 3.3
Теперь очевидно, что для передачи в первом варианте при наличии 2 разрядов для каждой команды потребуется 2000 бит. А для второго варианта потребуется 500*1= 500 бит для первой команды, 250*2= 500 бит для второй команды и (125+125)*3= 750 бит для 3 и 4 команд. Таким образом, это составит 1750 вместо 2000 бит информации. Отсюда видно, что показателем эффективности неравномерного кода является не длины отдельных команд, а среднее количество информации, которое может быть передано с учетом частоты встречаемости команд. Значение практических результатов будет близко к этим показателям. Частоту встречаемости можно рассматривать как вероятность появления соответствующей команды в сообщении. Если £ сред – средняя длина кодового сообщения (набора команд), а li - длина кода единичного сообщения (команды), P(ki) – вероятность появления сообщения (команды) длины li, а N – общее число сообщений(команд), то формула, определяющая среднюю длину одного сообщения(команды), будет выглядеть следующим образом: N £ сред = ∑ li P(ki). i =1 Наиболее экономным будет код, средняя длина которого будет минимальной. Для данного примера £ сред = 1*0,5 + 2*0,25+3*2*0,125 = 1,75 Очевидно, что для равномерного кода £ сред = 2,00. Рассмотренный выше способ формирования кода был предложен американским математиком Фано.
Общий алгоритм получения кода Фано будет состоять в следующем. Расположим вероятности появления сообщений в порядке их убывания. Далее разбиваем их на две группы по приблизительному равенству суммы вероятностей, не меняя их последовательности. В первой группе, как правило, будет оказываться меньшее число, по отношению ко второй группе. Первой группе относительно данного разбиения присваиваем – 0, а второй группе присваиваем – 1. Группы первую и вторую разбиваем на две части до тех пор, пока в группе не останется только одна вероятность. Для нее процесс получения кода закончен. Далее такие действия предпринимаем для оставшихся групп, пока дальнейшее разбиение будет невозможным. Лучше всего такое разбиение оформлять в виде таблицы подобной таблице 3.2. Тогда код для соответствующего сообщения (команды) будет складываться из значений находящихся в колонках слева направо, до завершения их появления. Общий алгоритм для k- значного кода ……
Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.003 сек.) |