
книги из ГПНТБ / Басакер Р. Конечные графы и сети
.pdf7.10] НЕКОТОРЫЕ СПЕЦИАЛЬНЫЕ ЗАДАЧИ О ПОТОКАХ 339
Пусть S j , . . . , Sm и Т\, Тп—множества пунктов отправления п пунктов получения соответственно, между которыми должен быть распределен некоторый однород
ный товар. К а ж д ы й |
пункт |
отправления Sf имеет ограни |
|||
ченный склад At и каждый |
пункт |
получения |
Т}— опреде |
||
ленную |
потребность |
В} |
(спрос). |
Известна |
стоимость |
перевозки |
единицы товара |
из S,- в |
Th равная |
Un. В про |
стейшем случае на объемы перевозок из S,- в Ts не нало
жено никаких |
ограничений (конечно, они |
не д о л ж н ы |
|||
нарушать |
ограничений, накладываемых |
складами А, |
|||
и спросом |
Bj). |
З а д а ч а состоит |
в |
отыскании |
плана пере |
возок от |
пунктов отправления |
к |
пунктам |
потребления, |
имеющего минимальную стоимость, при условиях, что спрос должен быть удовлетворен (но избытков быть не должно) и объем перевозок от данного пункта отправле ния не должен превышать объемы его склада .
Эту задачу можно рассматривать как задачу нахож дения максимального потока, имеющего минимальную
стоимость в сети, изображенной на |
рис. 7.12. (Упорядо |
|||||
ченная |
пара чисел |
(х, у), |
приписанная |
к а ж д о й |
дуге, |
|
представляет пропускную способность дуги (х) |
и еди |
|||||
ничную |
стоимость |
перевозок (у)). |
Если |
перевозки из |
||
некоторых пунктов S, в некоторые пункты Т} не разреша |
||||||
ются, то соответствующие |
дуги в |
сети |
просто опуска |
ются. Если имеются ограничения на количество товара, перевозимого из некоторых S, в некоторые Th то соответ ствующим дугам приписывается конечная пропускная
способность. |
В этом |
случае, конечно, может оказаться, |
что спрос в |
пунктах |
потребления не будет удовлетворен |
полностью. Однако решая задачу о потоке, мы получим план, позволяющий перевезти максимально возможное количество товара при минимальной стоимости.
Если m = ii, а А и В соответствуют работникам и ви дам работ соответственно, то та же самая модель приме нима для решения задачи о назначениях, в которой требуется назначить m работников для выполнения гп работ так, чтобы оптимально использовались их возмож
ности. (В |
этом |
случае под |
11ц |
следует |
понимать |
меру |
полезности при |
назначении |
г'-го работника на |
/-ую |
|||
работу.) |
Величины Л,- и В, |
полагаются |
равными едини |
це; поэтому каждый работник должен быть назначен максимум на одну работу, к а ж д а я работа должна быть
22*
840 |
ПОТОКИ В СЕТЯХ |
[ГЛ. 7 |
выполнена только одним работником. Если какие-то работники не могут делать некоторых работ, то соответ ствующие дуги опускаются. Такое ограничение может привести к тому, что не все работы будут выполняться. (В этой задаче пропускные способности дуг можно от бросить, приписывая каждый дуге большие постоянные величины, и после этого производить минимизацию.)
Д л я двудольных |
графов |
рассматривавшаяся |
в главе |
|||
б задача |
о максимальном |
паросочетании |
т а к ж е |
может |
||
быть сведена |
к задаче о |
нахождении |
максимального |
|||
потока в |
сети |
типа |
изображенной па рис. 7.12. |
В этом |
Рис. 7.1_'.
случае все дуги имеют едпнпчгую пропускную |
способ |
|||||
ность, |
стоимости не |
учитываю . ся |
и решается |
з а д а ч а |
||
максимизации потока |
от источнн |
а к стоку. Заметим, |
что |
|||
задача |
увеличения потока с nor. эщыо нахождения |
пути |
||||
в графе |
приращений |
на самом |
v i e |
совпадает с задачей |
нахождения чередующейся це...', соединяющей две не
покрытые вершины, которая |
бы. .: описана в разделе |
6.14. |
|||||||
Упражнение 7.15. |
Пусть |
на |
рис. |
7.12 |
т — п = 8 |
и |
каждый |
Я . |
|
соединяется дугой с |
каждым |
Т |
•, все |
Л\ = |
1, а В . = |
2 и |
U.j |
— |
i\-j. |
Найти максимальный |
допустимый |
поток |
от |
источника |
к стоку, |
имею |
щий минимальную стоимость.
7.11.Задачи о многопродуктовых потоках
До спх нор мы предполагали, что в рассматривав
шихся |
сетях распространялся |
некоторый |
однородный |
||
поток |
или продукт |
одного |
вида. Если сеть |
имела не |
|
сколько источников |
и иеско |
'.ько |
стоков, то мы предпола- |
-7.11] |
ЗАДАЧИ |
О МНОГОПРОДУКТОВЫХ ПОТОКАХ |
311 |
|||
тали, |
что решение |
может иметь |
вид |
потока |
по цепи, |
|
соединяющей любой источник с любым |
стоком. |
|
||||
Пусть теперь мы имеем К продуктов, и среди |
вершин |
|||||
сети |
имеется 2К различных вершин у,-, z{ |
( 7 = |
1, 2 , . . . , k) |
|||
таких, что в сети |
одновременно |
существует |
/г |
потоков, |
каждый из которых является потоком из г/,- в г,- (для не
которого |
/) и имеет заданную величину Qt. |
|
|||
|
Чтобы |
различать |
продукты, |
обозначим |
через /?/ по |
ток |
/г-го |
продукта из вершин vt и вершину |
vh положив |
||
при |
этом, |
что f%=—flj- |
Пусть Сц |
обозначает |
пропускную |
способность (в любом направлении) дуги, соединяющей
вершины vt и Vj. Возникает задача: приписать |
каждой |
|||||
дуге (/', /) целое число /?/ для |
каждого продукта |
k таким |
||||
образом, чтобы для любого фиксированного |
k множество |
|||||
потоков по дугам |
Fk = |
[flj] |
являлось потоком |
величи |
||
ны Qi, |
из у,- в г{ и |
чтобы |
для |
каждой дуги |
(/, /) |
выпол |
нялось |
неравенство |
|
|
|
|
|
(Может оказаться, что для получения решения |
различ |
|||||
ные продукты должны течь в противоположных |
направ |
лениях по одной и той же дуге, поэтому в неравенстве стоит модуль.)
Д л я двухпродуктового случая, т. е. когда k = 2, Ху
[9]получил теоретический результат, аналогичный
теореме |
о минимальном разрезе — максимальном |
потоке, |
|||||
и дал вычислительную процедуру для |
решения |
постав |
|||||
ленной |
задачи. Д л я |
иллюстрации этой |
процедуры |
рас |
|||
смотрим |
сеть, изображенную на |
рис. 7.13. Предположим, |
|||||
что к а ж д а я дуга |
имеет (симметричную) |
пропускную |
спо |
||||
собность, равную |
2, |
и что Qi = |
Q 2 = 2 . |
|
|
|
Рис. 7.13. |
Рис. 7.14. |
П р е ж д е всего пренебрежем продуктом 2 и будем искать любой допустимый поток величины Qi = 2 товара 1 из i/i в Zi, используя описанный ранее однопродукто-
342 |
ПОТОКИ В СЕТЯХ |
[ГЛ. 7 |
вый метод. В результате мы можем получить, например, поток, показанный на рис. 7.14.
Если такого потока не существует, то, очевидно, зада ча не имеет решения. Если же, как в нашем случае, хоти бы один такой поток существует, то па следующем шаге мы уменьшаем пропускные способности дуг на величины \f\i\ и повторяем весь процесс уже только для второго продукта. Уменьшенные пропускные способности для данного примера показаны на рис. 7.15. Очевидно, что
Hi |
|
|
|
с, |
г |
|
2 |
• Л 2 |
|
|
|
|
||
|
0 |
г |
|
Z |
|
0 |
|
0 |
|
|
Рис. |
7.15. |
|
Рис. 7.16. |
здесь не существует допустимого потока продукта 2, так
как все дуги, инцидентные источнику у2, |
имеют |
пулевую |
||||
остаточную пропускную способность. Отсюда |
мы |
дела |
||||
ем вывод, что перед тем, как пытаться пропустить |
поток |
|||||
продукта 2, нужно изменить маршрут движения |
потока |
|||||
для |
продукта / . |
|
|
|
|
|
Ху предложил следующую процедуру |
для |
изменения |
||||
маршрутов . Найдем прежде всего (если возможно) |
неко |
|||||
торую цепь С( , ориентированную от |
у2 к |
z2 |
и |
обладаю |
||
щую |
тем свойством, что, по крайней |
мере, одна |
единица |
продукта / может быть добавлена к каждой дуге в на правлении, определяемом ориентацией цепи. Затем нахо
дим |
(если |
возможно) некоторую |
цепь С2, ориентирован |
ную |
от z2 |
к у2 и имеющую то ж е |
самое свойство. (Цепи |
С\ и С2 могут содержать некоторые одинаковые дуги.) Цепи, удовлетворяющие названным условиям, показаны на рис. 7.16. Увеличим теперь поток продукта / в обеих
цепях |
на |
единицу |
(на |
практике |
в некоторых |
случаях |
|||
можно |
использовать и |
большие |
приращения |
потока) . |
|||||
В результате |
получим, |
как |
показано |
на рис. 7.17, изме |
|||||
ненный |
поток |
продукта / . |
Наконец |
увеличим |
поток |
||||
продукта |
2 вдоль |
цепи |
С\ |
и обращенной цепи |
С2 на |
единицу и получим потоки, изображенные пунктиром на рис. 7.18.
СТОХАСТИЧЕСКИЕ ПОТОКИ В СЕТЯХ |
343 |
В данном примере мы получили решение задачи, так как нам удалось обеспечить два одновременных потока разных продуктов величины 2. Если бы поток продукта 2 был меньше чем Q2 , то нужно было бы искать другую
1 |
|
/ |
|
1 |
|
i |
г |
/ |
! / |
|
|
|
|
1 |
|
/ |
/ |
|
г |
Рис. 7.17,. |
|
Рис. 7 18. |
|
пару цепей С\ и С2 , соответствующее |
изменение маршру |
||
та продукта / и увеличение потока |
продукта |
2. М о ж н о |
|
показать, что если з а д а ч а |
имеет решение, то |
продолже |
ние процесса выбора пар цепей в конечном счете приво
дит |
к увеличению |
потока |
продукта |
2 до величины |
Q2 |
||||
(при |
сохранении |
величины |
потока |
продукта |
/ |
на |
|||
уровне Q\). . |
|
|
|
|
|
|
|
||
Пусть А\ и А 2 обозначают |
соответственно пропускные |
||||||||
способности |
минимальных |
разрезов, отделяющих у\ от Z\ |
|||||||
и у2 |
от 22 , а |
А 1 |
2 — пропускная |
способность минимального |
|||||
разделяющего |
множества, |
которое пересекает все |
цепи, |
соединяющие у\ с zx и у2 с z2. Тогда двухпродуктовый аналог теоремы о минимальном разрезе и максимальном потоке формулируется следующим образом.
Теорема 7.9. |
Потоки Fi |
и F2 (из |
у\ в zx |
и |
из у 2 в z2 |
соответственно), |
имеющие |
величины |
Qi и |
Q2, |
совместно |
допустимы тогда и только тогда, когда выполнены сле дующие три условия:
Qi^Au Q2^A2, Q i + Q 2 < i 4 l s .
Необходимость условии очевидна. Доказательство доста точности можно найти в работе [ 9 ] .
7.12.Стохастические потоки в сетях
Вданном разделе мы кратко изложили идеи, которые относятся к теории потоков в сетях, но происхождение которых восходит к теории массового обслуживания.
Рассмотрим сеть, пропускные способности дуг которой з а д а ю т с я распределениями вероятностей, являющимися
344 |
ПОТОКИ В СЕТЯХ' |
[ГЛ. 7 |
ф у н к ц и я ми времени |
(т. е. описываются |
стохастическими |
процессами) . Пусть мы хотим |
пропустить |
поток от |
|
источника к стоку в такой сети. З а д а ч а |
состоит |
в опреде |
|
лении общего среднего потока в |
любой |
момент |
времени |
в этой сети. В общем случае, величина потока, поступаю щего из источника, т а к ж е описывается стохастическим процессом. Таким образом, в каждый момент времени поток, текущий из источника к начальной вершине дуги, может существовать, а может и не существовать. Если величина поступающего потока превышает пропускную
способность |
дуги, |
через |
которую |
он |
должен пройти, он |
||||
з а д е р ж и в а е т с я в |
начальной вершине |
этой |
дуги. |
|
|||||
Сеть с |
ожиданием |
состоит |
из |
множества взаимо |
|||||
связанных специализированных |
каналов |
обслуживания, |
|||||||
соединенных |
последовательно |
и |
параллельно . |
Перед |
|||||
к а ж д ы м каналом обслуживания |
(или множеством |
кана |
|||||||
лов обслуживания, если они соединены параллельно) име |
|||||||||
ется линия ожидания (длина которой может равняться ну |
|||||||||
лю) готовых требований, |
поступивших для |
обслуживания |
|||||||
в этих каналах . Выход |
одного |
|
канала |
|
обслуживания |
||||
может являться входами другого. Если |
каждому |
появ |
|||||||
лению требования в очереди поставить |
в |
соответствие |
|||||||
одну вершину, а |
выбытию из очереди — другую |
и сое |
динить эти вершины дугой, соответствующей факту об
служивания, то получим некоторый граф . |
Этот граф |
|||||||||
будет |
обыкновенным, |
если |
к а ж д а я ' очередь |
состоит |
из |
|||||
единственного к а н а л а |
и единственной линии. |
Если, |
на |
|||||||
пример, существуют |
несколько |
параллельных |
каналов |
|||||||
обслуживания, имеющих одну и ту |
ж е линию |
ожидания |
||||||||
и один |
и тот |
ж е |
выход, то |
т а к а я |
часть сети |
изобража |
||||
ется графом |
типа |
рис. 7.19. |
Если |
же, например, |
каждый |
Рис. 7.19. |
Рис. 7.20. |
из параллельных каналов имеет собственную линию ожидания, но все они имеют один выход, то имеем граф вида рис. 7.20. Случай, когда часть параллельных ка-
7.12] |
СТОХАСТИЧЕСКИЕ ПОТОКИ В |
СЕТЯХ |
345 |
налов может |
иметь выход на другие |
последовательные |
каналы или стоки, представлен рис. 7.21. В качестве источника берется начальная совокупность заявок на обслуживание, а в качестве стока та ж е совокупность (после удовлетворения спроса) .
В теории массового обслуживания поток состоит из дискретных объектов, например покупателей. В обычных ж е сетевых задачах потоки рас сматриваются как непрерывные величины. Однако часто интерес представляют целочисленные пото ки, которые можно интерпретиро вать как дискретный поток. Отме тим, что в задачах со стохастиче скими пропускными способностя
ми дуг могут возникнуть две си |
|
||
туации. Поток может «потеряться» |
|
||
в начальной вершине, если дуга у ж е |
полностью насыще |
||
на текущим по |
ней потоком или |
он |
может задержаться, |
о ж и д а я входа. |
Интересующая |
нас |
теорема для диск |
ретного потока применима к сетям с ожиданием, в кото рых потоки обрабатываются в течение длительного вре мени и исследуется установившееся состояние, т. е. асимптотическое поведение потока при / - » - о о .
Существует довольно универсальный тип потока, в котором поступление требований происходит случайным образом и подчиняется пуассоновскому распределению
^( я = 0 . , , 2 . . . . . .
В а ж н ы м свойством пуассоновских процессов является тот факт, что вероятность поступления более чем одного требования на малом интервале времени является пренеб режимо малой по сравнению с вероятностью поступления (или непоступления) одного требования.
Время между поступлениями требований в пуассоновском процессе подчиняется экспоненциальному распреде лению вида Хе~х'. Таким образом, задачи, в которых по ступления требований подчиняются пуассоновскому рас пределению, а обслуживание — д р у г о м у такому ж е распределению, можно изучать, считая, что интервалы между поступлениями требований и интервалы обслужи вания распределены экспоненциально.
346 |
потоки В СЕТЯХ |
[ГЛ. т |
|
Если дуга имеет экспоненциальную пропускную спо |
|||
собность |
(экспоненциальное |
время |
обслуживания) |
и интервалы поступлений экспоненциальны, то поток на
выходе т а к ж е имеет |
экспоненциальное распределение. |
При этом отношение |
скорости поступления требовании |
к скорости их обслуживания не должно превышать еди ницы, в противном случае потоки будут задерживаться на бесконечно долгое время в начальной вершине. Поль зуясь этой теоремой, можно рассчитать поток в сети, так как выходное распределение для одной конечной верши ны автоматически является входным для вершины на следующем шаге.
Сеть с ожиданием можно |
представить иначе, |
если |
|
одну вершину |
сопоставить с |
линией ожидания, а |
дру |
г у ю — с линией |
обслуживания |
и считать, что дуга, |
инци |
дентная двум вершинам, указывает на переход из ожида ния в обслуживание . Можно т а к ж е ввести третий тип вершин, соответствующий выходному потоку потреби телей. Пусть дуги, инцидентные этим вершинам и верши нам каналов обслуживания, представляют переходы из каналов обслуживания на выход или к следующей линии
ожидания . Таким образом, мы можем разбить |
вершины |
на три класса: вершины каналов обслуживания, |
верши |
ны линий о ж и д а н и я и вершины выходов. |
|
Упражнения
7.16.Интерпретируйте оба названных представления для парал лельной и последовательной сети с ожиданием и нарисуйте диаграммы.
7.17.Перечислите десять возможных вариантов потоков в сетях,
например |
стохастические потоки, потоки через |
губчатые |
трубки |
|
(т. е. потоки с потерями), потоки по деформируемым |
дугам. |
|
||
Более исчерпывающее описание теории потоков в се |
||||
тях с различных точек зрения дается в работах |
[ 5 ] , |
[10], |
||
[12] и |
[14] литературы к главе 1. Мы т а к ж е |
отсылаем |
читателя к списку литературы в конце этой главы и к более обширной библиографии, содержащейся в пере
численных выше |
книгах. |
|
|
|
|
||
|
|
|
Л И Т Е Р А Т У Р А |
|
|
|
|
1. B e r g e С , |
Les Problems de Flot et de |
Tension. |
Cahiers |
Centre |
|||
Eludes Rech. Oper., 3, :69—93 (1961). |
|
|
|
||||
2. D a n t z i g |
G. |
В., |
F u l k e r s o n |
D. R., |
Compulation of |
Maxi |
|
mal Flows |
in |
Networks. The R A N D |
Corp., |
p. 677, |
1955. |
|
|
|
|
|
|
|
ЛИТЕРАТУРА |
|
|
|
|
|
347 |
||
3. |
F o r d |
L . |
R., Jr., Nclwoi-к |
Flow Theory. The |
R A N D |
Corp., p. |
923, |
|||||||
|
1956. |
|
|
|
|
|
|
|
|
|
|
|
|
|
4. |
F o r d |
L . R., |
Jr., |
F u l k e r s o n |
D. |
R., |
Maximal Flow |
through |
||||||
|
a Network. Can. J . Math., S: 399—404 |
(1956). |
|
|
|
|
||||||||
5. |
F o r d |
L . R., Jr., |
F u l k e r s o n |
D. R., A Simple Algorithm |
for |
|||||||||
|
Finding |
Maximal Network |
Flows |
and |
an |
Application |
to |
the |
||||||
|
Hitchcock |
Problem. The R A N D corp., RM-1604, 1955. |
|
|
|
|||||||||
6. |
F o r d |
L . R., |
Jr., |
F u l k e r s o n |
D. |
R., |
Constructing |
Maximal |
||||||
|
Dynamic Flows from Sialic Flows. Operalions Res., |
6: 419—433 |
||||||||||||
|
(1959). |
|
|
|
|
|
|
|
|
|
|
|
|
|
7. |
F u 1 к e r s о n |
D. |
R., |
An |
Out-of-kilter Method for |
Minimal-cost |
||||||||
|
Flow Problems. |
J . |
Soc. Ind. Appl. Math., 9: 18—27 (1961). |
|
||||||||||
8. |
G о m e г у |
R. |
E . , |
Н и |
Т. |
C , Multi-terminal Network |
Flows. J . |
|||||||
|
Soc. Ind. Appl. Math., 9: 551—570 |
(1961). |
|
|
|
|
|
9.H u Т. C , Multi-commodity Network Flows. Operations Res., 11: 344—360 (1963). .
10. J e w e l l |
VV. |
S., Optimal Flew through Networks. MI T Interim |
Tech. Repl |
8. |
1958. |
11.S a a l y T. L . , Elements of Queucing Theory. McGraw-Hill Book Company, New York, 1961. [Русск. перев.: С а а т н 'Г., Элементы теории массового обслуживания и её приложения. «Советское радио». 1965.]
|
|
|
|
О Т В Е Т Ы К У П Р А Ж Н Е Н И Я М |
|
|
|
||||||||||
|
|
|
|
|
|
|
|
Глава |
1 |
|
|
|
|
|
|
|
|
|
1.2. Пусть |
соответствующая |
последовательность |
вершин |
будет |
||||||||||||
В|. ^2, • . •> vn, |
|
где Vi = |
v и |
vn |
— w. |
Если |
все |
и; различны, |
то |
маршрут |
|||||||
обязательно |
является |
простой |
цепью. |
Если |
v-, = Vj |
для |
некоторого |
||||||||||
i < y , |
то |
вычеркните |
ребра, |
соответствующие |
подпоследовательности |
||||||||||||
вершин |
vi, |
c i / + i , . . . |
vj. |
|
|
|
|
|
|
|
|
|
|
|
|
||
|
Повторите |
такие |
вычеркивания |
д о |
тех |
пор, |
пока все |
вершины |
|||||||||
в последовательности, определяемой |
оставшимся |
маршрутом, |
ока |
||||||||||||||
жутся различными. |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
1.3. Пусть G состоит из |
трех |
вершин ot, |
v2 и |
v3, |
двух |
ребер ех |
||||||||||
и е2, |
где в\~ |
(у\ & v3) |
н е 2 |
~ |
(t>i & v2). |
Маршрут еи |
е2, |
соединяющий ^i |
|||||||||
и v2, |
является |
требуемым |
примером. |
|
|
|
|
|
|
|
|
||||||
|
1.4. |
Три |
или более ребер, |
имеющих |
одну |
о б щ у ю |
конечную |
точку, |
а другие конечные точки различны, удовлетворяют сформулирован
ному определению, |
но не |
обладают |
свойством |
«взаимопересечеиня», |
||||||||||
которое является важным в понятии |
маршрута. |
|
|
t»i к У з . |
|
|||||||||
1.5. М о ж н о |
получить |
незамкнутый |
маршрут |
|
от |
просто |
||||||||
соединяя цепь от |
о2 |
к v3 |
с цепью |
от |
Oi к v2. |
Если эта цепь не являет |
||||||||
ся простой, то воспользуйтесь упражнением |
1.2. |
|
|
|
|
|
|
|||||||
1.6. Пример, приведенный для |
упражнения |
1.3, |
будет |
ответом |
||||||||||
к данному |
упражнению |
|
|
|
|
|
|
|
|
|
|
|
||
1.7. Достаточно |
показать, что |
ребра |
простой |
неупорядоченной |
||||||||||
цепи С, соединяющей v и ш, могут |
быть пройдены |
только двумя пу |
||||||||||||
тями (одним от v к ш и |
другим |
от |
ш к v). |
Заметим |
прежде |
всего, |
||||||||
что точно |
одно |
ребро С |
инцидентно v |
пли |
w |
п |
точно два |
ребра С |
инцидентны любой другой вершине, пересекаемой С. В противном случае последовательность вершин, определенных при прохождении С, будет включать повторенные вершины. Следовательно, если мы, на
чиная с v, |
хотим |
пройти к а ж д о е |
ребро только один раз, то мы имеем |
|||||
на к а ж д о м |
шаге |
единственный |
выбор |
для |
перехода |
на следующее |
||
ребро. |
|
|
|
|
|
|
|
|
1.8. Если петля добавляется |
к одной или более |
вершинам |
про |
|||||
стой цепи, то полученная в результате |
непростая цепь |
может |
быть |
|||||
пройдена только двумя путями. |
|
|
|
|
|
|
||
1.9. Заметим |
прежде всего, |
что каждая |
вершина, |
которая |
при |
надлежит неупорядоченному циклу, имеет четную степень относитель но этого цикла. Удалите сначала петли. Начиная с некоторой верши ны о, выберите ребро, инцидентное v, и пройдите его. Из вершины, достигнутой таким образом, выберите и пройдите новое ребро (кото-