Стратегічна задача на оптимізацію кількості
інформаційних зв’язків між користувачами.
У деякій освітній системі є n працівників. Між деякими із них здійснюються двосторонні мобільні зв'язки.
Відомо, що з мобільного телефону будь-якого працівника можна додзвонитися до будь-якого мобільного іншого працівника.
Провайдер-фірма хоче вибрати декілька працівників і назвати їх вузловими операторами таким чином, що із будь-якого мобільного системи освіти існує прямий зв'язок до деякого вузлового оператора системи освіти.
Яку найменшу кількість вузлових міст треба обрати, щоб гарантовано, навіть у найгіршому випадку, вистачило усіх цих зв'язків провайдер-фірмі.
Відповідь: m(n)=n-[n/3]-1.
Вказівка. Переформулюємо умову задачі на мові теорії графів. Потрібно знайти таке мінімальне число s, що у будь-якому зв’язному графі, у якого n вершин можна відмітити не більше ніж s його вершин таким чином, що у будь-якої вершини знайдеться відмічена сусідня вершина(вважаємо, що сусідня вершина зветься сусідкою).
Доведемо, що s >= n-[n/3]-1. Розглянемо граф з чотирма вешинами v(0), v(1)j, v(2) j, v(3)j , j = 1, . . . , [n/3], та ребрами (v(0), v(1)j), (v(1), v(2)j), (v(2), v(3)j), j = 1, . . . , [n/3].
Нехай k - довільне число від 1 до [n/3]. У вершин v(2) k, v(3)k повинна бути відмічена сусідка, а це значить обов’язково буде відмічена v(2) k, як єдина сусідка v(3)k і одна з вершин v(1)j, v(3)j повинна бути відмічена, оскільки інших сусідів у v(2) k немає. Таким чином, всього повинно бути відмічено не менше 2*[n/3]-1 вершини.
Доведемо, що s <= n-[n/3]-1. Можна вважати, що заданий граф являється деревом, так як в протилежному випадку можна виділити скріплююче дерево і довести твердження для нього. Виберемо в якості кореня висячу вершину і назвемо її v(0),а інші розташуємо по рівнях стандартним чином. Розфарбуємо вершини в три кольори так, що вершини на рівнях 3k+1 пофарбовані в один колір, на рівнях виду 3k+2 пофарбовані в другий колір, а інші в третій колір. За принципом Діріхле знайдеться такий колір, в який пофарбовано що найменше [n/3]+1 вершини. Відмітимо вершини інших кольорів. Тоді ми відмітили не більше n-[n/3]-1 вершин, і у будь-якої невисячої вершини є відмічена сусідня вершина. Нехай v – висяча вершина(v не дорівнює v(0)), нехай v1 – батько– батько v1. ВІдмітимо, що v2 існує, так як рівнів не менше трьох. Якщо у v не існує відміченої v, v2 сусідньої вершини, то v1 – невідмічена, а значіть, відмічені v та v2. Приберемо мітку з вершини v, та відмітимо вершину v1. Тоді кількість відмічених вершин не зміниться, у всіх вершин, у яких була відмічена сусідка, вона залишається, а також вона і у вершини v тепер буде відмічена сусідка. Аналогічно зробимо для кореневої вершини. Зробивши, при необхідності подібну операцію скінчену кількість разів, ми отримаємо те, що у всіх вершин була відмічена сусідка. Що і вимагало довести.
Немає коментарів:
Дописати коментар