вівторок, 24 грудня 2019 р.

Задача Вінницького про потужність комунікацій

Задача Вінницького
про  потужність комунікацій в соціальній мережі

Умова задачі: 
Один власник акаyнту в соціальній мережі розсилає  n різних повідомлень 1-го рівня  для n  одержувачів(кожний одержувач отримує тільки одне повідомлення 1-го рівня). Згодом кожний одержувач повідомлення  1-го рівня розсилає n-1 повідомлень 2-го рівня для n-1  одержувачів(при цьому кожний одержувач отримує тільки одне повідомлення 2-го рівня і   не отримував повідомлення  1-го рівня).  Після цього, кожний одержувач повідомлення  2-го рівня розсилає n-2 повідомлень 3-го рівня для n-2  одержувачів(при цьому кожний одержувач отримує тільки одне повідомлення 3-го рівня і не отримував повідомлень 1-го та 2-го рівнів).    І так далі.   Таким чином, кожний одержувач повідомлень  m-го рівня розсилає повідомлення  n-m  повідомлень   (m+1)-го рівня для   n-m  одержувачів(при цьому кожний одержувач отримує тільки одне повідомлення (m+1)-го  рівня і   не отримував повідомлень  менших за номером m+1 рівнів).   Зрозуміло, якщо n=m, то  розсилання  повідомлень  припиняється(тобто, це означає, що  повідомлень (n+1 )-го рівня не розсилалося вже нікому).  Допоможіть  адміністратору соціальної мережі  автоматично розраховувати  таку суму, яка містить два доданки: 1) кількість  усіх осіб, котрі задіяні у цій комунікації; 2)кількість усіх повідомлень будь-якого рівня у цій комунікації.
Технічні умови для програмування. Програма  Measure читає з пристрою стандартного введення натуральне число n, не менші за 1 та не більші  50. Число n – це кількість різних повідомлень 1-го  для n  одержувачів.   Програма виводить на пристрій стандартного виведення єдине число — суму, яка має два доданки: 1) кількість  усіх осіб, котрі задіяні у цій мережній комунікації; 2)кількість усіх повідомлень будь-якого рівня у цій мережній комунікації.
Приклади
Введення
Виведення
3
 31
5
651

Розв’язування.  Створимо математичну модель до цієї задачі. Згідно умови задачі створюємо простий граф(дерево), в якому будь-яка вершина позначає особу, а будь-яке ребро означає повідомлення певного рівня(кольору)) для n=3;
Згідно умови задачі створюємо простий граф для n=3;
Розрахунки: Кількість повідомлень: 15. Кількість осіб 16. Сума: 31.
Згідно умови задачі створюємо простий граф для n=4;
Розрахунки: Кількість повідомлень: 64. Кількість осіб 65. Сума: 129.

Простий граф(для n=4) містить в собі чотири підграфи(випадку n=3), тому використаємо математичну індукцію для виведення рекурентної формули.

Проаналізуємо  перехід від індуктивного кроку n=k   до наступного кроку n=k+1 і 
 отримаємо рекурентний закон 
розрахунку  потрібної для адміністратора суми для довільного k:
v0=1;    vk=k(vk-1+1)+1 ,   якщо k – натуральне число.

V1=3;     
V2=9;   
V3=31;  
V4=129;  
V5=651;    
V6=3913;
V7=27399;     
V8=219201;     
V9=1978819;        
V10=19728201, і так далі.

Якщо мережа побудована за зростаючою властивістю простого графа, то отримаємо числа Павліяна





Немає коментарів:

Дописати коментар