Задача формулируется таким образом:
Есть множество устройств
![$\{d_1, d_2, ..d_n\}$ $\{d_1, d_2, ..d_n\}$](https://dxdy-04.korotkov.co.uk/f/b/4/6/b467b481e11e1df42c9dc1be200f364082.png)
, которые должны передать свою информацию (i) контроллеру. Для этого выделено
![$T$ $T$](https://dxdy-03.korotkov.co.uk/f/2/f/1/2f118ee06d05f3c2d98361d9c30e38ce82.png)
слотов времени, в каждый из которых передать свою информацию может лишь одно устройство. В каждый слот времени мы сами выбираем, какую комбинацию i (т.е. от каких устройств) мы передаем. Если два и более устройства одновременно пытаются передать информацию в одном слоте, то информация считается потерянной. Если устройство передало свою информацию, то больше оно не активно, даже если в следующих слотах в расписании оно значится. Например, мы передаем в данном слоте
![$\{d_1, d_2\}$ $\{d_1, d_2\}$](https://dxdy-04.korotkov.co.uk/f/b/d/d/bdd40f9e2ca09a39a649de2ee95d113282.png)
. Если
![$d_1$ $d_1$](https://dxdy-02.korotkov.co.uk/f/9/0/0/90085a0c43d72e4deebf6ed4a8d9e01482.png)
уже передало свою i, то
![$d_2$ $d_2$](https://dxdy-03.korotkov.co.uk/f/2/5/e/25eda7b7741f869a00061a631b356db982.png)
может передать свою. И наоборот, если
![$d_2$ $d_2$](https://dxdy-03.korotkov.co.uk/f/2/5/e/25eda7b7741f869a00061a631b356db982.png)
уже передало свою i, то
![$d_1$ $d_1$](https://dxdy-02.korotkov.co.uk/f/9/0/0/90085a0c43d72e4deebf6ed4a8d9e01482.png)
может передать свою. Если же в предыдущие слоты ни одно из устройств не передало свою информацию, то они могут пытаться передать одновременно и в этом случае вся информация от них теряется. Все вероятности перехода известны и не зависят от времени.
Нужно найти расписание (последовательность активных устройств в каждом слоте), чтобы после всех
![$T$ $T$](https://dxdy-03.korotkov.co.uk/f/2/f/1/2f118ee06d05f3c2d98361d9c30e38ce82.png)
слотов вероятность передачи информации со всех устройств
![$P(\{d_1,d_2,..d_n\})$ $P(\{d_1,d_2,..d_n\})$](https://dxdy-02.korotkov.co.uk/f/d/3/4/d34c2db15aa50f4145af564d170c413a82.png)
была бы максимальной
Задача решается перебором, но при больших размерностях очень долго. Предполагаю, что задача np-hard, но не знаю, как доказать.
Задачу можно свести к последовательности умножения матриц. Пусть
![$P_k$ $P_k$](https://dxdy-04.korotkov.co.uk/f/f/e/6/fe63872d9f7a2e1fb98212c0037937f682.png)
– это столбец вероятностей передачи информации после выполнения k слотов:
![$P_{k+1}=P$ $P_{k+1}=P$](https://dxdy-04.korotkov.co.uk/f/f/2/d/f2d675183325ba35d78195ec9f5428f782.png)
(передали
![$\emptyset$ $\emptyset$](https://dxdy-02.korotkov.co.uk/f/5/3/f/53fe7f87db69e0ed1312d865111c131f82.png)
, передали только
![$d_1$ $d_1$](https://dxdy-02.korotkov.co.uk/f/9/0/0/90085a0c43d72e4deebf6ed4a8d9e01482.png)
, передали только
![$d_2$ $d_2$](https://dxdy-03.korotkov.co.uk/f/2/5/e/25eda7b7741f869a00061a631b356db982.png)
, передали только
![$d_1,d_2$ $d_1,d_2$](https://dxdy-02.korotkov.co.uk/f/1/2/8/128b3ed2d53d799d21045f77a1bd360082.png)
,…, передали
![$d_1,d_2..d_n$ $d_1,d_2..d_n$](https://dxdy-01.korotkov.co.uk/f/c/8/4/c84ca3f150c8077a574d46fb40fd391d82.png)
),
![$P_0=(1,0,..,0)$ $P_0=(1,0,..,0)$](https://dxdy-03.korotkov.co.uk/f/6/d/6/6d6b1d61e908255d22d3844fcea6499782.png)
Тогда
![$P_T=A_T\cdot A_{T-1} \cdot\ldots\cdot A_1\cdot P_0$ $P_T=A_T\cdot A_{T-1} \cdot\ldots\cdot A_1\cdot P_0$](https://dxdy-03.korotkov.co.uk/f/6/b/2/6b2b06ef3e7121cc106f76d3d124864b82.png)
Где матрица
![$A_j$ $A_j$](https://dxdy-02.korotkov.co.uk/f/5/8/c/58c9277a170088a03229936790d23a9882.png)
может принимать любое значение из множества размерности
![$2^{n-1}$ $2^{n-1}$](https://dxdy-01.korotkov.co.uk/f/c/0/b/c0bc199bfae62ac3e940bb56981984d382.png)
. Это множество - есть множество матриц вероятностей перехода для любого возможного действия – расписания в данном слоте. Все эти матрицы - нижнетреугольные стохастические (сумма элементов любого столбца равна 1).
Нужно найти определить такую последовательность матриц, при перемножения которых, мы получим наибольшее значение в левом нижнем углу.
Есть ли у кого-нибудь идеи,
1) как доказать, что задача np hard
2) придумать какой-нибудь критерий выбора субоптимальной последовательности, которая даст решение близкое к оптимальному, но вычислительно не так затратно.