
Ledeneva_T_M_Algoritmy_teorii_grafov_Kodovye
.pdf71
срокиокончаниястроительства. В таб л.1, составленнойплановым отделом, приведенперечень раб от, составляю щ ихпроцессстроительстваспортзала, указаны ихпродолжительностиипредш ествую щ иекаждойихнихраб оты.
|
|
|
|
Т аб лица1 |
Работы |
|
С од ержани еработы |
П род олжи тельность |
К аки е |
|
|
|
(вд нях ) |
работы |
|
|
|
|
пред шествуют? |
A |
П одготовкастройплощ адки |
1 |
- |
|
B |
У кладкафундамента |
2 |
A |
|
C |
М |
онтаж вертикальныхстен |
4 |
B |
D |
М |
онтаж крыш и |
7 |
C |
E |
У кладкадеревянного пола |
5 |
B |
|
F |
О тделкавнутреннихстен |
6 |
C |
|
G |
У становкасантехники |
4 |
C |
|
H |
М |
онтаж электропроводки |
4 |
D |
I |
У становкаб аскетб ольныхщ итов |
1 |
D |
|
J |
О краскаиразметкаплощ адки |
2 |
E |
|
K |
Сб орка системы отопления и |
6 |
G, H |
|
|
кондиционеров |
|
|
|
L |
М |
онтаж внутренних б еговых |
6 |
E |
|
дорожек |
|
|
|
M |
Строительство триб ун |
4 |
E, F |
|
N |
У становкаэлектрического таб ло |
2 |
F |
|
O |
О б орудованиеб уфета-б ара |
2 |
E, F, G |
|
|
|
|
|
|
О пределить критическоевремянеоб ходимоедлястроительстваспорт-
зала.
7. П ри участии в соревнованияхпо автогонкам важно б ыстро выполнить ремонтвыш едш ей из строямаш ины. В таб л.2 приведенперечень ра- б от, которыевыполняю тсяпри заменеколесаи рассчитаны надвухисполнителей (пилот и ш турман). Д ля каждой раб оты указанапродолжительность.
Т аб лица2
Ном ер |
В ыполняем аяопераци я |
П род олжи тельность |
работы |
|
Работы |
1 |
Д остать из б агажникадомкратиинструменты |
40 с |
2 |
Снять диск сколеса |
30 с |
3 |
О своб одить колесо |
50 с |
4 |
П одставить домкратпод маш ину |
26 с |
5 |
П однять маш ину |
20 с |
6 |
В зять запасноеколесо из б агажника |
25 с |
7 |
Снять гайкииколесо |
20 с |
8 |
У становить запасноеколесо наось |
10 с |
9 |
Завинтить (несильно) гайкинаоси |
15 с |
72
10 |
О пустить маш ину исоб рать домкрат |
25 с |
11 |
П оставить домкратв б агажник |
10 с |
12 |
Завинтить гайкинаосидо конца |
12 с |
13 |
П оложить плохоеколесо иинструменты |
40 с |
|
в б агажник |
|
14 |
П оставить наместо диск колеса |
10 с |
|
|
|
О пределить критическоевремя, необ ходимоедлязамены колеса.
8. Сенатор отЛ уизианы Ш ортпроталкиваетзаконопроекто том, что- б ы рыб акорю ш ка, об итаю щ аяв его родном ш тате, б ылазанесенав К расную книгу. Сенатор отВ осточныхш татов К рейндавно принадлежитк враждую щ им группировкам, поэтому Ш ортнеможетоказать прямого влияния напротивника. О днако Ш ортможетсыграть на‘дружескихчувствах’ другихсенаторов итем самым организовать косвенноедавлениенаб лижайш ее окружениеК рейна. П омощ ники Ш ортапопытались количественно оценить степень его влияниянанаиб олееуважаемыхсенаторов, которыемогутоказать давлениенаК рейна.
|
Т аб лица3 |
С енатор |
М акси м альнаястепень вли яни ясо стороны Ш орта |
Бью тл |
20 |
Белмей |
15 |
М артинец |
9 |
К артер |
4 |
О чевидно, что приведенные оценки характеризую т только степень непосредственного влияниянасенаторов, но сами сенаторы могут, в свою очередь, оказывать определенное влияниенадругих, используя свои личныесвязи.
|
Т аб лица4 |
С енатор |
М акси м альнаястепень вли яни ясо стороны Б ьютла |
Белмей |
5 |
Д жонс |
6 |
К рейн |
4 |
|
Т аб лица5 |
С енатор |
М акси м альнаястепень вли яни ясо стороны Б елм ея |
М артинец |
3 |
Д жонс |
4 |
К рейн |
5 |
|
Т аб лица7 |
С енатор |
М акси м альнаястепень вли яни ясо стороны |
|
М арти неца |
Д жонс |
4 |
К артер |
5 |
К рейн |
7 |
|
Т аб лица8 |
С енатор |
М акси м альнаястепень вли яни ясо стороны К артера |
Д жонс |
1 |
К рейн |
3 |

|
73 |
|
Т аб лица9 |
С енатор |
М акси м альнаястепень вли яни ясо стороны Д жонса |
К рейн |
8 |
П омощ никиШ ортасчитаю т, что К рейннавернякаподдержитзаконопроекто корю ш ке, если нанего оказать давлениев 20 единиц. П остройте модель, котораяпоможетвыяснить, сможетли Ш ортзаручитьсяподдержкойК рейна.
9. Н айтивеличину максимального потокаиз s в t дляграфов, изоб раженныхнарис.5.
G1 |
G2 |
G3 |
G4 |
G 5 |
G6 |
|
|
G 7 |
Рис. 5 |
|
|
|
|
|
|
10. Н айтицентр имедиану графов, изоб раженныхнарис.7. В есавер- |
||||
ш инзадаю тсявектором (5,3,1,7,4,5). |
|
|
||
х1 |
х2 |
х3 |
х1 |
х2 |
|
|
х6 |
|
х3 |
|
|
G 1 |
|
G2 |
х6 |
х5 |
х4 |
х5 |
х4 |
Рис.7
11. П оказать, что в лю б ом неориентированном графеG сединичными весами верш инсущ ествуеттакой марш рутмежду некоторой парой верш ин xi иxj, что аб солю тныйцентр y* графаG лежитв серединеэтого марш рута.
74
12.О пределить понятие “серединапути” и показать, что свойство, приведенноев задаче11, можетб ыть об об щ ено нанеориентированныеграфы спроизвольнымивесамиверш ин.
13.И спользуясвойство, приведенноев задаче11, найти аб солю тный центр в графесматрицейсмежности
|
|
X1 |
X2 |
X3 |
X4 |
X5 |
X6 |
|
X1 |
0 |
1 |
0 |
0 |
0 |
1 |
A= |
X2 |
0 |
0 |
1 |
0 |
1 |
0 |
X3 |
0 |
0 |
0 |
0 |
1 |
0 |
|
|
X4 |
0 |
0 |
1 |
0 |
0 |
0 |
|
X5 |
0 |
0 |
0 |
1 |
0 |
1 |
|
X6 |
1 |
1 |
0 |
0 |
0 |
0 |

75
9. К О Д И РО В А Н И Е И К О Д О В Ы Е Г РА Ф Ы
П роцедура кодирования. П ри передаче сооб щ ений по каналу связи необ ходимо об ратить вниманиенато, что различныесооб щ енияпоявляю т- сясразличной частотой. Н апример, в об ычныхрусскихлитературныхтекстах б уква“о” встречается примерно в 50 раз чащ е, чем “ф”. Будем рас-
æu K u |
m |
ö |
|
|
ç 1 |
÷ |
, гдеu1,Κ um - передаваемые |
||
сматривать ансамб лисооб щ енийU = ç p K p |
|
÷ |
||
è 1 |
|
m ø |
|
сооб щ ения, аp1Κ pm - ихчастоты, удовлетворяю щ иеусловию :
|
|
m |
|
|
i |
K å pi =1p m |
;i ³=, 1 " 0, |
|
|
i=1 |
|
Н аб ор символов = |
1 |
Κ aA ) бa(уде, м называть кодовы м алф авит ом , |
|
|
L |
|
алю б ые конечные группы символов этого алфавитакодовы м и словам и. К оличество кодовыхсимволов в словеб удетего длиной. К одированием б у- дем называть операцию , спомощ ью которойкаждому сооб щ ению ансамб ля U ставится в соответствие единственное кодовое слово. Разумеется, это можно осущ ествить множеством различных способ ов, каждый из которых долженудовлетворять двум простым треб ованиям: а) допускать возможность однозначного декодирования; б ) в целях экономии времени среднее количество кодовых символов, затраченных накодированиеодного сооб -
щенияансамб ля, должно б ыть как можно меньш е.
Особ енно важно выполнить условиеа), котороеможетб ыть сформулировано и по другому: пусть наприемник сооб щ ений попадает текст,
состоящ ий из символов кодового алфавита A (б ез каких-либ о промежутков). Т реб уется разделить его наотдельные кодовые словаи по ним однозначно восстановить сооб щ ения ансамб ля U , переданные по каналу связи. Д ля того, чтоб ы это стало возможным, необ ходимо выполнениеодного простого свойства, котороеназывается“префиксным” (отграмматического термина“префикс” – часть словадо основы, корня) и формулируетсяследую щ им об разом: всё множество кодовыхслов устроено так, что никакоеб олеекороткоеслово неможетб ыть началом (префиксом) б олее длинного кодового слова. К ак строить наб оры кодовых слов, удовлетворяю щ ие и треб ованию б ), б удет показано ниже, асейчас мы докажем одно простоенеравенство, котороепотреб уетсяпридоказательстве несколькиУ твержденихтеореме.: Справедливо следую щ еенеравенство:
ln( x ) ³ x -1,
котороеверно длявсех x > 0, причем равенство выполняетсятогдаитолько тогда, когдаx = 1.
Рассмотрим функцию y( x ) = ln( x ) - x +1, определенную идифференцируемую длявсех x > 0 инайдем её экстремумы.
y′(x) 1x 1== 0−.
76
Е динственный корень x =1 соответствует максимуму y(x), так как y′′ = − < 0 (Е1щ (е1)однаточка, “подозрительная” наэкстремум x = 0 невхо-
дит в об ласть определенияy(x) ). Т аким об разом ≤ max = 1) =(y0 и наш е неравенство справедливо, при этом равенство возможно только при x = 1. Заметим, что неравенство допускает простое об об щ ение наслучай логарифмапо произвольному основанию ( >1), т.е.
log(x) £ (x -1) × log(e) .
К одовы е деревья. Рассмотрим простейш ий (и наиб олеечасто встречаю щ ийсянапрактике) случайкодового алфавита, состоящ его из двухразличных символов A = { 01,}. П усть наш ансамб ль сооб щ ений имеетследую - щ ийвид:
æ |
|
|
|
|
|
|
|
|
|
|
|
7 |
|
u8 |
|
uö u6 u53 u4 |
||||
ç |
1 1 |
1 |
1 |
1 |
1 |
1 |
|
1 |
|
1 |
÷ |
|||||||||
U = ç |
|
|
÷. |
|||||||||||||||||
ç |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
÷ |
|
4 |
8 |
8 |
16 |
16 |
16 |
|
16 |
|
16 |
||||||||||
è 4 |
|
|
ø |
Д ляначалаупростим задачу, предположив, что мы реш илииспользовать длякодированиякодовыесловаодинаковой длины. П ри этом невозникнут трудности при декодировании. Д ействительно, нерасчлененный массив кодовых символов мы поделим от началанаотрезки одинаковой длины ипо “об ратному” словарю кодовыхслов восстановим передаваемые сооб щ енияансамб ля U . Д лятого, чтоб ы удовлетворялось и треб ованиеб ) необ ходимо, чтоб ы выб раннаядлинавсехкодовыхслов б ыламинимальна.
Д ля наш его примерачисло сооб щ ений в ансамб ле U равно M = 8 . Е слидлинакодового словав алфавите A = { 01,} равна1, то различныхслов
б удет 21 = 2; при длине 2 таких слов 22 = 4 ; наконец, при длине 3 число
различныхкодовыхслов 23 = 8 = M . Сооб щ ением ансамб ляU могутб ыть, например, поставленныев соответствиеследую щ иекодовыеслова:
7 u8 |
u u6 u5 |
u4 |
111 |
110 |
101 |
И зоб разим этот способ кодирования графически, |
построив кодовое |
дерево. Е го построениеначинаетсяссамой “нижней” верш ины – корня дерева. К аждаяверш инаможетпородить неб олее, чем два“ростка” (в случае алфавитасL символами– неб олее, чем L ростков). Д оговоримся, что левый росток соответствуетсимволу “0”, аправый“1” (в об щ ем случаепоследовательность “ростков” слеванаправо: 1 2 Κ ,,aL,)a. a
В сего наш екодовоедерево содержит15 верш ин, из них ‘нижние” 7 даю т“ростки”, аверхние8 “ростков” неимею тиназываю тся“концевыми” (рис. ). И менно концевыеверш ины соответствую ткодовым словам, лю б ая неконцеваяверш инанеможетопределять кодовыеслова, так как при этом б удетнаруш ена“префиксное” свойство.
y ) x(y
u1 u2
u31 u2
100

|
|
|
|
77 |
|
|
|
000 |
001 |
010 |
011 |
100 |
101 |
110 |
111 |
|
|
|
|
|
|
|
3-йуровень |
|
00 |
01 |
|
10 |
|
11 |
2-йуровень |
|
|
|
|
||||
|
|
|
|
|
|
|
1-йуровень |
|
|
0 |
|
|
1 |
|
|
|
|
|
|
|
|
|
0-йуровень |
Рис. 1 Д ействительно, представим себ е, что вместес8-ю кодовымисловами,
соответствую щ ими концевым верш инам кодового дерева, мы захотели использовать в качестве кодового и слово “00” (это желаниеможетвозникнуть, если число сооб щ ений ансамб ля M>8 и нам хочется использовать только кодовыеслова, длинакоторыхнеб ольш е3). Л егко видеть, что слово “00” являетсяпрефиксом в б олеедлинныхсловах“000” и “001” и поэтому последовательность символов “00001001” можно разб ить начасти так: 00- 00-100-1.. и так: 000-010-01..., и так: 00-001-... О днозначности декодирова-
нияприэтом доб итьсянельзя.
Т аким об разом, можно сформировать простоеправило: пусть кодированию некоторого ансамб ля соответствует кодовое дерево, тогдадля выполненияпрефиксного свойстванеоб ходимо идостаточно, чтоб ы множество кодовыхслов б ыло подмножеством множествавсех“концевых” слов, т. е. тех, которыесоответствую тлиш ь концевым верш инам кодового дерева.
Т еперь рассмотрим методы построенияэкономныхкодов, т. е. кодов, удовлетворяю щ ихусловию б ). Д лянаш его примерасансамб лем U построим код Ф ано. Заметим, что припостроениипредыдущ его кодамы вовсене пользовались информацией о частотахпоявленияотдельныхсооб щ енийиз U . Я сно, что б олеечасто появляю щ иесясооб щ енияжелательно кодировать б олеекороткими кодовыми словами. И менно так и поступил(ещ е в 1873 году) американец М орзе, предложивш ий свою систему кодированияиз точек и тире(двоичный алфавит) дляпередачи телеграфных сооб щ ений. Самую частую б укву английского языка“e” стех пор и кодирую тсамым коротким кодовым словом – одной“точкой”.
П остроениекодаФ ано б удем производить непо строкам (сооб щ ениям), апо столб цам, т. е. сразу определять, каким б удетпервыйсимволв ка-
ждом кодовом слове, затем, каким б удетвторойит. д. Заметим, |
что первые |
||||||
двасооб щ енияU появляю тсясчастотой |
1 |
, сэтойжечастотойпоявляю тся |
|||||
|
|||||||
2 |
|
|
|
}, U. Л ,егкоU ,Uдо-U |
|||
(совместно) и всеостальныесооб щ ения { |
3 |
,U |
84 |
||||
|
|
|
|
75 |
6 |
б иться равновероятности появления каждого элементакодового алфавита {0,1} накаждой позиции кодового слова. К рометого, мы сделаем так, что
78
появление0 или 1 неб удетзависеть оттого, какой символб ылнапреды-
дущ ейпозициислова. |
|
|
|
|
|||||||
Сведем всеэто в таб лицу |
|
|
|
||||||||
|
U1 |
|
1 |
|
|
0 |
|
|
00 |
||
|
|
4 |
|
|
|
|
|||||
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
||
|
U2 |
|
1 |
|
|
|
|
01 |
|||
|
4 |
|
|
|
|
||||||
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
||
|
U3 |
1 |
|
|
|
0 |
|
100 |
|||
|
|
|
|
|
|
|
|
|
|||
|
|
8 |
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
||
|
U4 |
1 |
|
|
|
1 |
|
101 |
|||
|
|
|
|
|
|
|
|
|
|||
|
|
8 |
|
|
|
|
|||||
|
|
|
|
|
1 |
|
|
|
|||
|
U5 |
|
1 |
|
|
|
0 |
1100 |
|||
|
|
16 |
|
0 |
|||||||
|
|
|
|
|
|
|
|
|
|
||
|
U6 |
|
1 |
|
|
1 |
1101 |
||||
|
|
|
|
||||||||
|
|
16 |
|
|
|||||||
|
U7 |
|
1 |
|
|
|
|
0 |
1110 |
||
|
|
16 |
|
|
1 |
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
U8 |
|
1 |
|
|
|
1 |
1111 |
|||
|
|
|
|
|
|||||||
|
|
16 |
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
В последней колонке содержатся кодовые слова, кодирую щ иевсе 8 сооб щ енийансамб ляU . И хдлины соответственно равны (по неуб ыванию ): 2, 2, 3, 3, 4, 4, 4, 4. Д аетли такой код какие-либ о преимущ естваперед уже рассмотренным сравнымипо длинекодовымисловами? Д ляответанаэтот вопроспостроим соответствую щ еекоду Ф ано дерево (рис.2). П ростаяпроверкапоказывает, что кодовые словакодаФ ано соответствую т концевым верш инам кодового дерева, и, стало б ыть, префиксноесвойство удовлетворяется, декодированиеб удетоднозначным. Заметим, что уровень, накотором лежитверш инав точности равендлинекодового слова, соответствую - щ его этой верш ине, асамо кодовоеслово можно рассматривать как описание единственной цепи, соединяю щ ей данную верш ину с корнем дерева, каждый“0” – это поворотналево, а“1” – направо (еслидвигатьсяоткорняк верш ине).
П о условию б ) код Ф ано имеетявноепреимущ ество перед первым кодом. П усть M сооб щ ений ансамб ля U закодированы кодовыми словами, длины которыхравны: 1 2 Κ ,nM ,,nтогдаn средняядлинакодового слова, т.
е. среднее количество кодовых символов, необ ходимых для кодирования одного сооб щ енияансамб ляU равно

79
|
|
|
M |
|
|
|
|
= å kn× pk n |
|
|
|
|
k=1 |
|
|
|
1100 |
1101 1110 |
1111 |
|
|
|
|
4-йуровень |
|
100 |
|
|
3-йуровень |
|
|
|
|
|
00 |
01 |
10 |
11 |
2-йуровень |
|
||||
|
0 |
|
1 |
1-йуровень |
|
|
|
Рис. 2 Е слинайтиэту величину, то дляпервого кодаонаб удетравна3, адля
кодаФ ано:
n |
1 |
|
1 |
1 |
< 3 75=+ , 24+ ) 4 + ×4 ( |
||
|
|
) 2 |
(2 |
)3 |
(3 |
||
4 |
|
||||||
|
|
8 |
16 |
|
|||
Т аким об разом, |
при выполнении условия а) |
код Ф ано экономичнее, |
|||||
чем первый “равномерный” код. В |
дальнейш ем мы покажем, что n = 2,75 - |
это минимально возможныйпоказатель, которыйнеможетб ыть улучш ен.
Н еравенст во К раф т а. П редыдущ ийпараграф позволилсформулировать следую щ ую проб лему: пусть число элементов ансамб ля U равно M , сущ ествует ли (аесли сущ ествует, то как его построить) кодовое дерево, множество концевых верш инкоторого содержитнеменее M элементов, а длины соответствую щ ихэтим верш инам кодовыхслов соответственно равны:
1 ≤ 2 ≤ Κ ≤ nM , n n
при этом число б укв в кодовом алфавите A равно L ? О тветнаэтотвопрос даетсяследую щ ейтеоремойК рафта: Д лятого, чтоб ы сущ ествовало кодовое дерево с множеством концевых верш ин, которым соответствую т кодовые словасдлинами 1 ≤ 2 ≤ Κ ≤ nM , необn nходимо идостаточно выполнениене-
равенства:
M
åL−nk £1,
k=1
где L - число б укв в кодовом алфавите A.
П еред тем, как перейтик доказательству заметим, что еслинеравенство К рафтавыполняетсякак равенство, то это означает, что кодовым словам

80
б удутсоответствовать всеконцевыеверш ины кодового дерева, еслиженеравенство строгое, то остаю тсясвоб одныеконцевыеверш ины.
Д оказательство.
Н еоб ходимость. П усть сущ ествует концевая верш инанауровне nk
(мы ужеотмечали, что уровень, накотором находитсяверш ина, совпадаетс длиной кодового слова, которому этаверш инасоответствует). Т огдана уровнеn > nk из-заналичияконцевойверш ины науровнеnk мы “потеряем”
Ln−nk верш ин. О б щ ееколичество “потерянных” верш иниз-заналичиявсех
M
M концевых верш инравно åLn−nk , но оно не может б ыть б ольш е, чем
k=1
об щ ееколичество концевыхверш иннауровнеn , равное Ln . Т аким об разом
M |
M |
|
åLn−nk £ Ln иприделениинаLn получаем неравенство К рафта: åL−nk £1. |
||
k=1 |
k=1 |
|
|
Д остаточность. |
П усть мы уженаш ли всеконцевыеверш ины, длины |
которых ≤ m −1. И м соответствую ткодовыеслова(сначаласписка) сномерамиот1 до 1 2 Κ , n j,:, а,количеnj n ство слов сдлинамиравными m равно
Wm исправедливо неравенство К рафта. Запиш ем его, разб ив сумму левойи правойчастинатрислагаемых:
1)синдексамислов, длины которых ≤ m −1;
2)синдексамислов, длинакоторыхравнаm ;
3)сдлинами > m :
j |
|
|
M |
|
å −nk |
m |
−m |
åL−nk |
£1. L L w+ × |
k=1 |
|
|
kwmj+1= + |
|
И з этого неравенстваполучим неравенство длявеличины wm - числа кодовыхслов сдлинами m :
|
j |
−m−nk |
M |
−m−nk |
|
|
m |
å |
|
L w L |
|||
m |
|
- å£L |
- , |
|||
|
k=1 |
|
kwmj+1= + |
|
j
но число Lm - åLm−nk , стоящ ее в правой части неравенства, равно числу
k=1
реально сущ ествую щ ихнаm -ом уровнекодового дереваконцевыхверш ин. Следовательно, необ ходимоечисло верш иннаm - м уровне wm непревос-
ходитвозможного. П оследнеевыражениев правой части неравенства(<1) только усиливаетвывод. Т ак как это рассуждениесправедливо при лю б ом m , то достаточность условиятеоремы доказана.
Основнаят еорем а кодирования. Д о середины 20-го векагосподство-
вало уб еждение, что стоит лиш ь постараться и можно придумать код со сколь угодно малой средней длиной кодового словаn . Т о, что это нетак, б ыло доказано в 1948 году великим американским ученым К . Ш енноном, основателем новойнауки– теорииинформации.