- Услуги
- Цена и срок
- О компании
- Контакты
- Способы оплаты
- Гарантии
- Отзывы
- Вакансии
- Блог
- Справочник
- Заказать консультацию
Рассмотрим следующее утверждение:
При использовании описанного выше жадного алгоритма каждому интервалу будет назначена метка, и никаким двум перекрывающимся интервалам не будет присвоена одна и та же метка.
Доказательство. Начнем с доказательства того, что ни один интервал не останется не помеченным. Рассмотрим один из интервалов Ij и предположим, что в порядке сортировки существует t интервалов, которые начинаются ранее и перекрывают его.
Эти t интервалов в сочетании с Ij образуют множество из i интервалов, которые все проходят через общую точку временной шкалы (а именно начальное время Ij), поэтому t + 1 ≤ d. Следовательно, t ≤ d − 1.Из этого следует, что по крайней мере одна из меток d не будет исключена из этого множества интервалов t, поэтому существует метка, которая может быть назначена Ij.
Далее утверждается, что никаким двум перекрывающимся интервалам не будут назначены одинаковые метки. В самом деле, возьмем два перекрывающихся интервала I и I’ и предположим, что I предшествует I’ в порядке сортировки.
Затем, при рассмотрении алгоритмом I’, интервал I принадлежит множеству интервалов, метки которых исключаются из рассмотрения; соответственно, алгоритм не назначит I’ метку, которая использовалась для I.
Алгоритм и его анализ очень просты. По сути, в вашем распоряжении имеется d меток, затем при переборе интервалов слева направо с назначением доступной метки каждому обнаруженному интервалу никогда не возникнет ситуация, в которой все метки уже задействованы.
Так как наш алгоритм использует d меток, из (4.4) можно сделать вывод, что он использует минимально возможное количество меток. Данный результат обобщается следующим образом.
Описанный выше жадный алгоритм связывает каждый интервал с ресурсом, используя количество ресурсов, равное глубине множества интервалов. Это количество ресурсов является минимально необходимым, то есть оптимальным.