Научная статья на тему 'ПОШУК НАЙКОРОТШИХ ШЛЯХіВ У МіСЬКИХ МАРШРУТНИХ МЕРЕЖАХ'

ПОШУК НАЙКОРОТШИХ ШЛЯХіВ У МіСЬКИХ МАРШРУТНИХ МЕРЕЖАХ Текст научной статьи по специальности «Математика»

CC BY
69
6
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
МАРШРУТНАЯ СЕТЬ / TRAFFIC NETWORK / КРАТЧАЙШИЙ ПУТЬ / SHORTEST PATH / ПЕРЕСАДКИ / TRANSFERS

Аннотация научной статьи по математике, автор научной работы — Кузькін О.Ф.

Представлена общая постановка задачи поиска кратчайших путей в городских маршрутных сетях. Предложена методика поиска кратчайшего по времени пути перемещения пассажира с учетом времени ожидания транспорта и пересадок на пути следованияA general formulation of search problem the shortest paths in public transport networks is presented. The technique of finding the shortest path by time in route for passengers, taking into account the waiting time and transfers on the route is suggested

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «ПОШУК НАЙКОРОТШИХ ШЛЯХіВ У МіСЬКИХ МАРШРУТНИХ МЕРЕЖАХ»

3) розрахунок елеменпв матриц вiдстаней;

4) розрахунок коефвденпв iepapxii;

5) множення стандартизованоi матрицi на коефщь енти ieрархii;

6) розрахунок еталонноi точки розвитку;

7) розрахунок вектора ввдстаней мiж елементами стандартизованоi матрицi й еталонною точкою;

8) розрахунок показника рiвня розвитку об'екта.

Лiтература

1. Czekanowski J. Zarys metod statystycznych w zastosowaniu do antropologii / J. Czekanowski. - Warszawa, 1913. - 190 p.

2. Majewski K. Proba zastosowania metody taksonomicznej do badan nad rozmieszczeniem systemow rolniczych w woj. Olsztynskim / K. Majewski. - Olsztyn: Zeszyty Naukowe WSR, 1962. - Z.4. - 201 p.

3. Florek K. Taksonomia wroclawska. / K. Florek, J. Zukaszewicz, J. Perkal, H. Steinhaus, S. Zubrzycki. - Przeglad Antropologiczny, 1951. - T. XVII. - 133 p.

4. Hellwig Z. Zastosowanie metody taksonomicznej do typologicznego podzialu krajow ze wzgledu na poziom ich rozwoju i strukture wykwalifikowanych kadr / Z. Hellwig. - Przeglad Statistyczny, 1968. - N4. - 211 p.

5. Елисеева И.И. Группировка, корреляция, распознавание образов [Текст] / И.И. Елисеева, В.О. Рукавишников. - М.: Статистика, 1977. - 144 с.

6. Терехина А.Ю. Анализ данных методами многомерного шкалирования [Текст] / А.Ю. Терехина. - М.: Наука, 1986. - 167 с.

7. Podolec B. Studium z zakresu ustalania rejonow konsumpcyjnych w Polsce / B. Podolec, K. Zajac. - Przeglad Statystyczny, 1970. - N1. - 178 p.

8. Steczkowski J. Zasady i metody rejonizacji produkcji rolniczej / J. Steczkowski. - Warszawa: PWRiL, 1966. - 199 p.

9. Bukietynski W. Uwagi o dyskryminacji zbiorow skonczonych / W. Bukietynski, Z. Hellwig, U. Krolik, A. Smoluk. - Wroclaw: Prace Naukowe WSE, 1969. - Z.21. - 217 p.

10. Hellwig Z. The selection of a set of "core" indicators of socio-economic development / Z. Hellwig. - UNESCO, 1972. - 117 p.

11. Pluta W. Przyczynek do grafowej metody klasyfikacji cech / W. Pluta. - Wroclaw: Prace Naukowe WSE, Z.33, 1972. - 191 p.

12. Веслав П. Сравнительный многомерный анализ в экономических исследованиях [Текст] / П. Веслав. - М.: Статистика, 1980. -151с.

Подана загальна постановка 3adani знаходження найкоротших шляхiв у м^ьких маршрутних мережах. Запропонована методика пошуку найкоротшого за часом шляху пересування пасажира з урахуванням тривалостi очшування транспорту та пересаджень на шляху пря-мування

Ключовi слова: маршрутна мережа, найкоротший

шлях, пересадження

□-□

Представлена общая постановка задачи поиска кратчайших путей в городских маршрутных сетях. Предложена методика поиска кратчайшего по времени пути перемещения пассажира с учетом времени ожидания транспорта и пересадок на пути следования

Ключевые слова: маршрутная сеть, кратчайший

путь, пересадки

□-□

A general formulation of search problem the shortest paths in public transport networks is presented. The technique of finding the shortest path by time in route for passengers, taking into account the waiting time and transfers on the route is suggested

Key words: traffic network, the shortest path, transfers

УДК 656.02.2

ПОШУК НАЙКОРОТШИХ ШЛЯХ1В У М1СЬКИХ МАРШРУТНИХ МЕРЕЖАХ

О.Ф. Куз ь к i н

Кандидат техычних наук, доцент Кафедра транспортних технолопй Запорiзький нацюнальний техшчний

уыверситет

вул. Жуковського, 64, м. Запорiжжя, УкраТна, 69063 Контактний тел.: (061) 769-84-40, 067-686-52-88 E-mail: horz@ukr.net

1. Вступ

При проектуванш маршрутних мереж транспорту загального користування у мштах, 1х оптимiзацii,

розпод^ пасажиропотоюв по д^янках маршрутно1 мережi постае задача визначення найкращих у деяко-му сена шляхiв прямування пасажирiв мiж вершинами маршрутно! мереж^ яю у загальному випадку

представляють собою транспортш мiкрорайони чи iснуючi зупинки громадського транспорту. Такий шлях пересування може здшснюватися одним чи де-кiлькома видами транспорту з використанням одного чи декшькох маршруив (тобто, з пересадженнями або без них).

Задача пошуку найкращого шляху пересування на маршрутнiй мережi може бути сформульована як пошук шляху, який мiстить у собi двi визначенi вершини мережi i забезпечуе оптимальне значення цiльовоi функцп, що вiдбиваe ефективнiсть процесу пересування з точки зору пасажира ^ можливо, ефек-тивнiсть маршрутноi мережi в цiлому.

У бiльшостi випадюв таке пересування можна здiйснити декшькома варiантами, кiлькiсть яких у реальних маршрутних мережах мiст може бути до-сить великою. Кожен пасажир обирае спосiб i шлях пересування на пiдставi своiх власних мiркувань, але переважнiй бiльшостi пасажирiв при цьому виборi властиве прагнення мiнiмiзувати загальну трива-лiсть пересування (з урахуванням тривалоси пiших переходiв та очжування транспорту), грошовi витра-ти на його реалiзацiю та кшьюсть пересаджень на шляху прямування.

Пошук найкращого шляху на мережi е класичною комбшаторною оптимiзацiйною задачею, яка постае у задачах оптимального планування рiзних галузей знань. Зважаючи на значну юльюсть вершин i марш-рутiв у маршрутних мережах великих мшт, для свого ршення вона потребуе ефективних з обчислюваль-ноi точки зору алгоритмiв.

2. Постановка задачi i аналiз публiкацiй

Проектування i оптимiзацiя маршрутноi мережi пасажирського транспорту (ММПТ) загального ко-ристування у мштах е складною комбiнаторною та NP-повною з обчислювальноi точки зору задачею [1, 2]. 1накше кажучи, знайти оптимальне ршення такоi задачi у загальному випадку можна ильки шляхом повного перебору в«х можливих варiантiв ршень. Здiйснити такий перебiр у б^ьшоси прак-тичних задач е неможливим через '¿х велику розмiр-нiсть. Крiм того, при цьому доводиться враховувати низку техшчних i технологiчних обмежень.

Практична неможливiсть отримання оптимального ршення при проектуванш ММПТ спонука-ла появу низки методик, побудованих на пошуковi наближено оптимальних (ращональних) рiшень з використанням евристичних, метаевристичних та комбшаторних методiв [3, 4]. Кiлькiсть варiантiв ММПТ, формованих в процесi пошуку ращональ-ного рiшення з використанням наближених методiв значно скорочуеться, але все ж таки залишаеться великим. При цьому ощнка кожного з них потребуе виконання низки трудомштких обчислювальних процедур, одною з яких е розпод^ пасажирських кореспонденцiй на транспортнш мережi. Найпоши-ренiшим з методiв розподiлу пасажиропотокiв на мережi е накладення пасажирських кореспонден-цiй по найкращим з точки зору пасажира шляхам прямування. У якоси критерпв вибору такого шляху найчастше виступають тривалiсть пересування,

його вартшть, кiлькiсть пересаджень на шляху прямування чи '¿х зважена комбшащя [4]. Будемо надалi називати такий шлях найкоротшим у широкому ро-зумшш цього поняття стосовно заданого критерж оптимальностi.

Дамо постановку задачi пошуку найкращого шляху у загальному виглядь Транспортна мережа може бути представлена у виглядi графа G = (V,E) , де V = {у^з,...^} - кiнцева множина вершин графа (центри тяжiння транспортних райошв або iснуючi зупинки ММПТ), Е = {е1,е2,.,ем} - кшцева множина ребер графа, яю представляють спрямованi транспортнi зв'язки мiж його вершинами. Маршрут транспорту загального користування може бути поданий у виглядi шляху на транспортнiй мереж^ який подаеться послiдовнiстю вершин (або ребер) графа, тобто гк = Й1^^,.--^4^} , де 7к - юльюсть вершин, що обслуговуються маршрутом гк . Сукуп-нiсть всiх маршрушв на транспортнiй мережi утво-рюе множину маршруив Я = {гк |к = 1,...К} .

Маршрутна мережа представляеться зваженим орiентованим мультиграфом GR = (V,!!) , кожна з дуг якого е(к1) представляе собою спрямований 1 -ий пе-регiн маршруту Гк , тобто ё^0 = (j(kl),j(k1+1)) , 1 = 1,..^ -1. Вага дуги с^к (взагалi с^к Ф Cj1k ) е довжиною перегону, тривалiстю або вартiстю пересування мiж сумiж-ними вершинами j(k1) та j(k1+1) на маршрутi гк .

На множинi вершин графа маршрутноi мережi за-данi:

1) множина Т = {тук], елементи яко' виражають вагу (тривалiсть, варткть) пересадження з маршруту г1 на маршрут г (г1,Г| еЯ) у вершиш (у загальному ви-

падку %ф тлк );

2) множина W = ^1к} , елементи яко' виражають вагу (тривалшть очiкування, вартiсть) посадки у транспортний заиб маршруту гк у вершинi V (у1 егк ).

Зауважимо, що граф маршрутно' мережi повинен бути зв'язним, тобто, будь-яю його двi довiльнi вершини можна зв'язати принаймш одним шляхом. Найкоротшим шляхом мiж двома обраними вершинами (початковою) та (кiнцевою) будемо називати шлях L = , який мiнiмiзуе уза-

гальнеш сумарнi витрати на посадку у початковш вершинi, пересування, та пересадження на шляху прямування

^ = с^к + с2 X сик + Сз X % ^ т1п.

гк еЯ (у^^ г1,г;еЯ

гк еЯ е1-

(1)

де С1, С2, С3 - вiдносна вага вщповщно, витрат на посадку у початковш вершиш, пересування та пересадження, причому С1 + С2 + С3 = 1.

У робой [2] подана методика пошуку найкорот-шого шляху мiж вершинами з урахуванням тривало-стi пересаджень на шляху прямування, яю у цьому випадку е вагами вщповщних вершин. Таким чином час, що витрачаеться на пересадження, залежить ильки вщ пункту, у якому воно вщбуваеться i не за-лежить вiд маршрупв, мiж якими пасажир здiйснюе пересадження. Для ршення пропонуеться викори-стання методу потенцiалiв.

У роботi [3] пропонуеться методика пошуку найкоротшого шляху з врахуванням тривалоси

пересаджень, побудована на методi динамiчного програмування. Однак, при цьому висуваеться при-пущення, що шлях мiж двома сумiжними на марш-рутi пунктами завжди коротший нiж шлях мiж ними через будь-якi промiжнi пункти.

Быьшють робiт iноземних науковцiв [4] пропо-нуе застосовувати для пошуку найкоротших шляхiв алгоритми Дейкстри або Флойда-Воршелла та !х мо-дифжацп [5]. Однак цi досить ефективш у обчислю-вальному сенсi алгоритми пошуку шляхiв не можуть бути застосоваш безпосередньо для орiентованих мультиграфiв, зважених за вершинами i ребрами.

Таким чином, iснуючi методики i алгоритми пошуку найкоротших шляхiв на маршрутнiй мережi мiського транспорту загального користування не враховують те, що:

1) тривалють пересування пасажира сшльним для декiлькох маршрутiв перегоном у загальному випадку залежить вщ вибраного для цього пересування маршруту. Це щлком природно, осюльки таке пересування може бути здшснене деюлькома видами транспорту з рiзними технiчними швидко-стями руху (наприклад, тролейбусом чи маршрут-ним такс^;

2) тривалiсть пересадження залежить вщ марш-рутiв, мiж якими це пересадження вщбуваеться. Як вiдомо, тривалють пересадження складаеться з три-валот пiшого переходу мiж зупинками змшюваних маршрутiв та тривалостi очiкування посадки у транс-портний засiб маршруту, на який виконуеться пересадження. Перша складова залежить вщ взаемного просторового розташування зупинок цих маршру^в, як можуть бути сум^еними чи не сум^еними. Друга складова визначаеться штервалом руху на маршрут^ на який вiдбуваеться пересадження. Осюльки iнтервал руху для рiзних маршрутiв у загальному випадку е рiзним, то з урахуванням просторового розмщення !х зупинок, тривалiсть пересадження е величиною, що не е постшною для дано! вершини мереж^ а залежить вщ номерiв маршру^в, мiж якими вiдбуваеться пересадження.

Розробщ методики пошуку найкоротшого шляху у загальному вигляд^ який вiльний вщ зазначених недолiкiв, присвячена дана стаття.

3. Методика ршення задачi

Методика пошуку найкоротших шляхiв полягае у виконанш чотирьох крокiв, якi проыюструемо на прикладi. Задана транспортна мережа G , що мае N = 7 вершин (рис. 1, а). На транспортнш мережi задан К = 3 маятникових маршрути перевезень пасажирiв: А = {1,2,3}, В = {2,4,5}, С = {2,3,5,6,7}.

Крок 1. Побудова графа маршрутно! мережi Граф маршрутно! мережi GR , який вiдповiдае заданш множинi маршрутiв на транспортнiй мере-жi, наведений на рис. 1,б. У ньому кожний перегiн деякого маршруту представлений у виглядi пари рiз-носпрямованих дуг, вага яких дорiвнюе тривалостi пересування цим перегоном з використанням цього маршруту по вщповщним напрямкам руху. Наприклад, мiж сумiжними вершинами 2 та 3 можна прокати з використанням одного з двох маршру^в - А чи В. Перегш 2-3 кожного з цих двох маршру^в представляемо у виглядi пари рiзноспрямованих дуг, якi мають ваги: с23А i с32А для маршруту А, с23В i с32В для маршруту В.

Крок 2. Побудова графа вузлових вершин Будемо називати вузловими вершини, через як проходить быьш шж один маршрут. Iншi вершини будемо називати лтшними. На пiдставi графу маршрутно! ме-режi побудуемо граф вузлових вершин GN (рис. 2).

а)

Рис. 1. Тополопчне представлення транспортноТ (а) I маршрутноТ (б) мереж

Рис. 2. Граф вузлових вершин

Множину вершин цього графа утворюють репль коваш вузловi вершини графа маршрутно! мережь Кожна вузлова вершина графа маршрутно! мережi GR представляеться у графi GN множиною вершин, юлькють яких дорiвнюе кiлькостi маршрутiв, що проходять через цю вузлову вершину. Таким

чином, кожна вершина графа GN при ре-плжацп отримуе двi позначки: номер вершини у вщповщнос^ до !! номеру у графi маршрутно! мережi GR i номер маршруту. Наприклад, через вершину 2 графа маршрут-но! мережi проходять три маршрути - А, В, С. У графi вузлових вершин реплжуемо !! на три вершини - 2А, 2В та 2С.

б)

тобто с25С

Посл^овно переглядаючи всi пари вершин графу вузлових вершин GN вводимо до нього зважеш спрямоваш дуги за такими правилами:

а) якщо деяка пара вершин мае однаковий номер маршруту та р1зн1 номери вершин то вводимо мiж ними пару рiзноспрямованих дуг, ваги яких чисель-но дорiвнюють витратам на пересування мiж цими вершинами на цьому маршрут без пересаджень у в^пов^нос^ до напрямку пересування. Напри-клад, пара вершин 2С та 5С мае однаковий номер маршруту (обидвi вершини належать маршруту С). На графi вузлових вершин вводимо мiж ними пару дуг, ваги яких дорiвнюють витратам на пересування мiж вершинами 2 та 5 з використанням маршруту С,

С23С + С35С , С52С = С53С + С32С .

б) якщо деяка пара верш ин мае однаковий номер вершини, але р1зн1 номери маршрут1в, то вводимо мiж ними пару рiзноспрямованих дуг, ваги яких чисельно дорiвнюють витратам на пересадження мiж цими маршрутами в данш вузловiй вершинi у в^пов^нос^ до напрямку пересадження. Напри-клад, вершини 2А та 2С графу вузлових вершин ма-ють однаковий номер вершини (2), але рiзнi номери маршрутiв. Вводимо мiж цими вершинами пару рiз-носпрямованих дуг, ваги яких дорiвнюють витратам на пересадження з маршруту А на маршрут С ( тАС2) i навпаки ( тСА2) у вершинi 2.

Крок 3. Розширення графа вузлових вершин вве-денням початково! та кшцево! вершин

Додаемо до графа вузлових вершин початкову вершину у5 та кшцеву вершину Уа i додатковi дуги за таки м и п рави лам и:

а) якщо початкова вершина у5 е вузловою, то з'еднуемо 11 спрямованими

вiд не! дугами з ус1ма вуз-ло ви ми ве р ши на ми, що м а-ют ь т ак и й же номер. В ага к о ж н о 1 д о д а н о 1 д у г и ч и -сельно дорiвнюе витратам на очiкування транспорту маршруту, номер якого мае в^пов^на вузлова вершин а . Н а п р и к л а д , я к щ о п о -чатковою (тобто такою, в^ я ко1 ш у кае мо н ай кор о т ш и й ш л я х) е вуз лов а в е рш и н а 2 , то дод ае мо до г рафу вуз ло -вих вершин вершину 2 i три спрямованi дуги, що з'едну-ют ь 1 1 з в уз лови м и в ерш и-нами 2А, 2В та 2С (рис. 3, а). Вага кожно! з дуг дорiвнюе витратам на очжування посадки у вершиш 2 на марш-рути А ( W2A ), В ( W2B ) та С (w2c);

б) я кщо п о чатко ва вершина у5 е лттною, то з'еднуемо 11 спрямованими вiд не! дугами з найближчими двома вузловими вершинами маршруту (одшею, якщо вершина у5 е кшцевим пунктом деякого маршруту),

якому вона належить, у кожному з напрямiв руху. Ваги доданих дуг дорiвнюють сумi витрат на очь кування посадки у початковiй вершиш i витрат на пересування вЦ початково! до найближчих вузлових вершин маршруту. Наприклад, якщо по-чатковою е лiнiйна вершина 4 маршруту В, то додаемо до графу вузлових вершин вершину 4 та двi спрямоваш дуги, що з'еднують цю вершину з найб ли жч и м и вуз лови м и верш и нам и 2 та 5 на маршрут В (рис. 3, б). Вага одше! з цих дуг до-рiвнюе сумi витрат на очiкування посадки у вершиш 4 та витрат на пересування в^ вершини 4 до вершини 2, тобто w4B + с42В . Вага шшо! в^пов^ае пересуванню пасажира вiд вершини 4 до вузлово! вершини 5 i дорiвнюе w4B + с45в .

в) якщо ктцева вершина Уа е вузловою, то з'еднуемо II спрямованими до не! дугами нульово! ваги з у^ма вузловими вершинами, що мають такий же номер. Наприклад, якщо кшцевою (тобто такою, до яко! шукаемо найкоротший шлях) е вузлова вершина 3, то додаемо до графу вуз лови х верш и н верш ин у 3 i з'еднуемо !! спрямованими до не! дугами нульово! ваги з вершинами ЗА та 3С (рис. 3, в);

г) якщо ктцева вершина Уа е лттною, то з'еднуемо !! спрямованими до не! дугами з найближчими двома (одшею, якщо вершина Уа е кшцевим пунктом деякого маршруту) вузловими вершинами маршруту, якому вона належить, у кожному з на-прямiв руху. Ваги доданих дуг дорiвнюють витратам на пересування в^ найближчих вузлових вершин маршруту до кшцево! вершини. Наприклад, якщо кшцевою е лшшна вершина 7 маршруту С, то з'еднуемо п спрямованою до не! дугою з найближ-

а)

б)

в)

г)

д

Рис. 3. Варiанти введення початковоТ та юнцевоТ вершин

чою вузловою точкою цього маршруту 5С. Вага дуги дорiвнюe витратам на пересування вщ вузло-воï вершини 5 до лiнiйноï вершини 7 маршрутом С,

тобто C56C + C67C (рис. 3, г);

д) очевидно, якщо мiж початковою vs та кшце-вою vd лшшними вершинами не iснуe жодного без-пересадочного шляху, найкоротший шлях мiж ними обов'язково пройде через бодай одну вузлову вершину. 1накше, мiж ними може iснувати найкоротший шлях, який не проходить через жодну з вузлових вершин. Тому, якщо початкова та ктцева лтшт належать одному маршруту, то у граф вузлових вершин необхщно додати ще одну дугу, спрямовану вщ вершини vs до вершини vd, вага якоï дорiвнюe витратам на пересування мiж цими вершинами на сильному для них маршрут (наприклад, для пошуку найко-ротшого шляху мiж лiнiйними вершинами 7 та 6, яю належать маршруту С, як показано на рис. 3, д).

Крок 4. Пошук найкоротшого шляху на розшире-ному графi вузлових вершин

В результат виконання дш кроку 3 отримуемо розширений граф вузлових вершин. На розшире-ному графi вузлових вершин вiдшукуеться найкоротший шлях з використанням одного з алгоритмiв пошуку найкоротших шляхiв. Осюльки ваги дуг графа е невщ'емними, найбiльш доцiльним з точки

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

зору ефективносп обчислень буде використання алгоритму Дейкстри [5] з використанням в якоси по-чатковоï вершини vs. При цьому, робота алгоритму завершуеться, коли кшцева вершина vd отримуе постiйну помiтку. В результат отримаемо посль довнiсть вершин, через яю проходить найкоротший шлях, та його довжину. Якщо двi послщовш вершини на знайденому найкоротшому шляху мають однако-вий номер вершини у графi вузлових вершин, то у вершиш з цим номером виконуеться змша маршруту (пересадження).

Висновки

Запропонований алгоритм пошуку найкоротших вщстаней на маршрутних мережах враховуе витра-ти пасажира на очжування посадки у початковому пункту вiдмiнностi у тривалоси пересування мiж сумiжними вершинами маршрутноï мережi в за-лежностi вщ маршруту, витрати на пересадження на шляху прямування в залежноси вщ змiнюваних маршрутiв i може бути використаний в задачах про-ектування i оптимiзацiï маршрутних мереж, розпо-дiлу пасажирських кореспонденцiй на маршрутних мережах.

Лиература

1. Magnanti, T. L. Network design and transportation planning: models and algorithms / T. L. Magnanti, R. T. Wong // Transportation

Science .- 1984.- №18(1) .- P. 1-55.

2. Геронимус, Б. Л. Экономико-математические методы в планировании на автомобильном транспорте [Текст] / Б. Л. Геронимус.-

М.: Транспорт, 1982.- 192 с.

3. Хрущев, М. В. Исследование методов маршрутизации автобусного транспорта в городах : дис....д-ра экон. наук / М. В. Хрущев.-

М., 2000.- 206 с.

4. Guihaire, V. Transit network design and scheduling: A global review [Текст] / V. Guihaire, J. Hao // Transportation Research.- 2008.-

Vol. 42, №10.- P. 1251-1273.

5. Кормен, Т. Алгоритмы: построение и анализ [Текст] / Т. Кормен, Ч. Лейзерсон, Р. Ривест ; под. ред. И. В. Красикова .- 2-е изд.

- М.: Вильямс, 2005 .- 1296 С.

i Надоели баннеры? Вы всегда можете отключить рекламу.