Стратегічна задача на
оптимізацію кількості
інформаційних зв’язків між користувачами.
У деякій освітній системі є 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 тепер буде відмічена сусідка. Аналогічно зробимо для
кореневої вершини. Зробивши, при необхідності подібну операцію скінчену
кількість разів, ми отримаємо те, що у всіх вершин була відмічена сусідка. Що і
вимагало довести.
Немає коментарів:
Дописати коментар