Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Ledeneva_T_M_Algoritmy_teorii_grafov_Kodovye

.pdf
Скачиваний:
31
Добавлен:
21.05.2015
Размер:
738.26 Кб
Скачать

71

срокиокончаниястроительства. В таб л.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

÷

, гдеu1um - передаваемые

сматривать ансамб лисооб щ ений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

åLnk £1,

k=1

где L - число б укв в кодовом алфавите A.

П еред тем, как перейтик доказательству заметим, что еслинеравенство К рафтавыполняетсякак равенство, то это означает, что кодовым словам

80

б удутсоответствовать всеконцевыеверш ины кодового дерева, еслиженеравенство строгое, то остаю тсясвоб одныеконцевыеверш ины.

Д оказательство.

Н еоб ходимость. П усть сущ ествует концевая верш инанауровне nk

(мы ужеотмечали, что уровень, накотором находитсяверш ина, совпадаетс длиной кодового слова, которому этаверш инасоответствует). Т огдана уровнеn > nk из-заналичияконцевойверш ины науровнеnk мы “потеряем”

Lnnk верш ин. О б щ ееколичество “потерянных” верш иниз-заналичиявсех

M

M концевых верш инравно åLnnk , но оно не может б ыть б ольш е, чем

k=1

об щ ееколичество концевыхверш иннауровнеn , равное Ln . Т аким об разом

M

M

åLnnk £ Ln иприделениинаLn получаем неравенство К рафта: åLnk £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

åLnk

£1. L L w+ ×

k=1

 

 

kwmj+1= +

 

И з этого неравенстваполучим неравенство длявеличины wm - числа кодовыхслов сдлинами m :

 

j

mnk

M

mnk

 

m

å

 

L w L

m

 

- å£L

- ,

 

k=1

 

kwmj+1= +

 

j

но число Lm - åLmnk , стоящ ее в правой части неравенства, равно числу

k=1

реально сущ ествую щ ихнаm -ом уровнекодового дереваконцевыхверш ин. Следовательно, необ ходимоечисло верш иннаm - м уровне wm непревос-

ходитвозможного. П оследнеевыражениев правой части неравенства(<1) только усиливаетвывод. Т ак как это рассуждениесправедливо при лю б ом m , то достаточность условиятеоремы доказана.

Основнаят еорем а кодирования. Д о середины 20-го векагосподство-

вало уб еждение, что стоит лиш ь постараться и можно придумать код со сколь угодно малой средней длиной кодового словаn . Т о, что это нетак, б ыло доказано в 1948 году великим американским ученым К . Ш енноном, основателем новойнауки– теорииинформации.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]