mjr dr inż. Damian Frąszczak

Jak znaleźć źródło fałszywej informacji w internecie, pacjenta zero albo „mózg” operacji terrorystycznej? To proste – matematycznie. Czy każdy może jednak skorzystać z takiej metody? To już bardziej skomplikowane. Ten problem dostrzegł i rozwiązał mjr dr inż. Damian Frąszczak z Wojskowej Akademii Technicznej, który zaprojektował kompleksową bibliotekę Pythona przeznaczoną do analizy i oceny miar centralności wierzchołków sieci, a tym samym usprawnił pracę badaczy na całym świecie.

Rozwiązanie NetCenLib (Network Centrality Library) opracowane przez młodego naukowca z Wydziału Cybernetyki WAT to narzędzie do obliczania szerokiego zakresu miar centralności wierzchołków dla danej sieci. Wskaźniki te są kluczowe w analizie m.in. sieci społecznych czy transportowych, ponieważ pomagają np. znaleźć wpływowe węzły w przepływie informacji czy wskazać te, które są kluczowe przy projektowaniu efektywnych tras podróży. Biblioteka oferuje dostęp do wielu algorytmów wyznaczania miar centralności, a tym samym ułatwia badania, pozwalając na efektywne prowadzenie analiz różnych technik oceny oraz stosowanie ich adekwatnie do własnych potrzeb.

NetCenLib jest narzędziem, które docelowo ma się stać kompleksowym repozytorium implementacji szeregu technik wyznaczania miar centralności – uwzględniającym również te najnowsze – dzięki aktywnemu rozwojowi opracowanej biblioteki. Oprogramowanie NetCenLib powstało w odpowiedzi na bardzo ograniczoną  dostępność implementacji miar centralności oraz fakt, że wiele bibliotek przeznaczonych do analiz sieciowych oferowało tylko podstawowy zestaw miar, co utrudniało wykorzystanie najnowszych badań. NetCenLib – jako platforma do łatwego stosowania i porównywania różnorodnych miar centralności – rozwiązuje te problemy i wspiera bardziej zaawansowane analizy sieci.

Czym są węzły?

Aby zrozumieć, jak działają sieci i dlaczego tak istotne jest ich analizowanie, musimy poznać podstawowe elementy, z których się składają. Jednym z nich jest węzeł. Dlaczego jest tak ważny?

Wyobraźmy sobie sieć jako zbiór punktów połączonych liniami. Każdy z tych punktów nazywamy węzłem. Węzeł może reprezentować różne obiekty, w zależności od tego, jaką sieć analizujemy. Samych sieci w naszym świecie jest mnóstwo. Mogą to być sieci społecznościowe, w których węzłami są konta użytkowników. W sieciach komputerowych węzły to urządzenia takie jak komputery, drukarki czy routery. Mamy sieci transportowe, w których węzły stanowią miasta czy przystanki autobusowe, a nawet sieci biologiczne, gdzie węzłami są geny lub białka. Można zatem powiedzieć, że żyjemy w świecie sieci.

Z kolei linie reprezentują powiązania pomiędzy węzłami. W przypadku sieci społecznościowych, np. platformy Facebook, przykładem jest zawarcie znajomości między dwoma osobami, a w kontekście sieci drogowych – istnienie drogi między dwoma miastami.

Proces modelowania sieci pozwala nam dostrzec, jak różne elementy są ze sobą połączone, które węzły oraz połączenia są ważne, a w konsekwencji – jak silny wpływ wywierają na otoczenie. Węzły i połączenia między nimi pokazują też, jak informacje przepływają przez sieć. Analizując sieci, możemy odkrywać ciekawe wzorce, znajdować kluczowe elementy i lepiej rozumieć otaczający nas świat.

Czym są miary centralności?

Miary centralności to z kolei wskaźniki liczbowe stosowane w analizie sieci, m.in. społecznościowych, transportowych czy komputerowych, do oceny znaczenia i wpływu poszczególnych węzłów – m.in. osób, miast czy poszczególnych urządzeń – w strukturze sieci. Każda z tych miar ma swoje specyficzne zastosowania i pozwala na analizę danej sieci z różnych perspektyw. Dobór odpowiedniej miary zależy od konkretnego kontekstu i celu analizy.  Aby umożliwić prostą interpretację, wskaźniki te zazwyczaj przyjmują wartości z przedziału [0,1].

Najważniejsze miary centralności

W swojej pracy naukowcy posługują się różnymi miarami centralności – opublikowano ich co najmniej 400. Do najpopularniejszych należy zaliczyć np. stopień centralności oznaczający liczbę bezpośrednich połączeń węzła. Wysoka wartość oznacza, że węzeł jest bezpośrednio połączony z wieloma innymi węzłami. Może to wskazywać na jego popularność lub ważność w sąsiedztwie – wśród najbliższych znajomych.

Wyróżniono także centralność pośrednictwa, czyli miarę liczby najkrótszych ścieżek przechodzących przez dany węzeł – jej wysoka wartość oznacza, że węzeł jest kluczowy dla przepływu informacji w sieci.

Z kolei centralność bliskości to odwrotność sumy odległości od danego węzła do wszystkich innych węzłów w sieci, a jej wysoka wartość oznacza, że węzeł może szybko dotrzeć do innych węzłów.

Centralność wektora własnego to miara, która przypisuje węzłom wartość zależną nie tylko od liczby ich połączeń, ale także od ich jakości. Tutaj wysoka wartość oznacza, że węzeł jest połączony z innymi istotnymi węzłami. To kluczowe wszędzie tam, gdzie ważne jest nie tylko to, kto ma wiele połączeń, ale z kim te połączenia są nawiązane. W przypadku pozycjonowania stron WWW między innymi to bierze pod uwagę algorytm PageRank.

Wpływowy w sieci

Aby lepiej zrozumieć zagadnienie centralności sieci, przyjrzyjmy się mediom społecznościowym. Gdy myślimy na przykład o Facebooku, w pierwszej kolejności zazwyczaj przychodzą nam na myśl nasi znajomi, zdjęcia i treści, które udostępniają. Zupełnie inaczej patrzą na to naukowcy. Dla nich w social mediach jesteśmy po prostu zbiorem danych – punktów, czyli węzłów, łączących się w sieci i tworzących w ten sposób najróżniejsze wzorce. I właśnie jako sieć podlegamy analizie. Na podstawie informacji o zaobserwowanych połączeniach, np. znajomych, obserwatorach czy udostępnianych treściach, można wytropić m.in. źródło fake newsa czy przywódcę konkretnej organizacji. Takich możliwości jest zresztą znacznie więcej – wystarczy uważnie się przyjrzeć.

Identyfikacja łatwiej dostępna

Identyfikacja kluczowych węzłów w złożonych sieciach jest istotnym czynnikiem dla różnych dziedzin, zwłaszcza dla identyfikacji wpływowych węzłów o wysokiej zdolności rozprzestrzeniania różnych treści. Ma to fundamentalne znaczenie choćby w przypadku wojny informacyjnej, rozpowszechniania fałszywych informacji czy komunikacji marketingowej.

Aby znaleźć wpływowe węzły, opracowano wiele konkretnych miar centralności. Techniki centralności to matematyczne sposoby na mierzenie „centralności” węzłów, czyli ich ważności w sieci. Przydzielają one wartości pozwalające zidentyfikować kluczowe węzły, ułatwiając analizę i wyciąganie wniosków o strukturze i działaniu sieci. Niestety dostępność implementacyjna takich metod była dotąd utrudniona, m.in. ze względu na brak odpowiedniej platformy. Tym samym nowe pomysły pozostawały niewykorzystane. Opracowana przez mjr. dr. inż. Damiana Frąszczaka biblioteka NetCenLib wypełnia tę lukę i jest miejscem, w którym naukowcy mogą umieścić swoje implementacje algorytmów, które w prosty sposób staną się dostępne dla szerokiego grona odbiorców, co umożliwi ich poznanie, a także łatwe wykorzystanie przez społeczność badawczą. Znacznie poprawi to dostępność tych technik, dzięki czemu będą one miały zastosowanie w szerszym zakresie dziedzin. Może to m.in. przyspieszyć dalsze badania w wielu obszarach, w tym m.in. w zwalczaniu dezinformacji. 

Kto ma wpływ w marketingu, a kto w wojnie kognitywnej?

„Opracowaliśmy bibliotekę programistyczną pozwalającą na ocenę istotności węzłów, np. użytkowników, w ramach konkretnych sieci, np. społecznościowych. Jest to niezbędne narzędzie w dziedzinach takich jak np. socjologia, informatyka, marketing czy wojna kognitywna, gdzie analiza sieci odgrywa kluczową rolę w identyfikowaniu najbardziej wpływowych jednostek lub punktów krytycznych w sieci. W podobny sposób projektuje się kampanie marketingowe – rozpoczynając rozpowszechnianie treści przez popularne osoby, tzw. influencerów, którzy odgrywają kluczową rolę w osiągnięciu zakładanych zasięgów w krótkim czasie” – ocenia mjr dr inż. Damian Frąszczak.

NetCenLib znajduje zastosowanie w różnych dziedzinach, pomagając identyfikować kluczowe elementy sieci. W socjologii może pomóc zrozumieć, kto w społeczności ma największy wpływ na opinie innych. W informatyce ułatwia analizowanie tego, jak są zbudowane sieci komputerowe. W marketingu pozwala wyłonić influencerów, którzy skutecznie promują produkty. Natomiast w kontekście wojny informacyjnej biblioteka może być używana do wykrywania źródeł fałszywych informacji, co jest kluczowe dla ochrony przed dezinformacją.

Najbardziej wpływowe jednostki, często określane również jako punkty krytyczne, odgrywają kluczową rolę w kształtowaniu przepływu informacji i wpływają na zachowanie całej sieci. Ich identyfikacja umożliwia zrozumienie, które obiekty są najbardziej strategiczne dla rozprzestrzeniania się informacji czy efektywności transportowej, co ma zastosowanie w wielu dziedzinach – od zarządzania kryzysowego po marketing i analizę społeczności online. Rozpoznanie tych elementów pozwala na skuteczniejsze strategie komunikacji, interwencje informacyjne czy optymalizację sieci transportowej.

Zaawansowane metody łatwe w użyciu

Oprogramowanie działa poprzez udostępnianie różnorodnych metryk centralności, które można łatwo zastosować do analizy sieci. Jest zaprojektowane tak, aby być proste w użyciu, oferując przystępne metody dla badaczy, nawet tych z mniejszym doświadczeniem w programowaniu. Dzięki temu użytkownicy mogą skupić się na analizie wyników, a nie na złożoności technicznej narzędzi.

„Nasze rozwiązanie NetCenLib jest dostępne na platformie PyPI, co pozwala na jego standardową instalację w środowisku programistycznym Python. Dodatkowo jego kod źródłowy można znaleźć na GitHub. W ramach repozytorium kodu udostępniliśmy wskazówki, jak rozwijać to oprogramowanie – na przykład dodając implementacje nowych miar centralności, co pozwoli na jego efektywniejszy rozwój. Rozbudowana oficjalna dokumentacja i przykłady zastosowań w Jupyter Notebook ułatwiają zapoznanie się z funkcjonalnościami oraz bezproblemowe rozpoczęcie korzystania” – mówi mjr dr inż. Damian Frąszczak.

W ten sposób społeczność ma łatwy dostęp do najnowszej wersji biblioteki, co pozwala na szybsze rozwiązywanie błędów i wdrażanie nowych metod. Dzięki publicznemu udostępnieniu kodu łatwiejsze staje się dodawanie nowych metod do biblioteki.

Co istotne, otwarty kod źródłowy oraz popularność tematu analizy sieci z pewnością wpłyną na popularność rozwiązania, dzięki czemu będzie ono mogło rozwijać się w przyszłości, by stać się oficjalnym repozytorium i główną bazą wiedzy dla tego typu rozwiązań.

Funkcjonalność oprogramowania

Głównym celem NetCenLib jest ułatwienie badaczom dostępu do gotowych implementacji szeregu dostępnych miar centralności i korzystania z nich. Rozwiązanie zostało zaprojektowane specjalnie do pracy z językiem Python i biblioteką NetworkX.

Obecnie Python jest jednym z najpopularniejszych języków programowania używanych w działalności badawczej. Niestety popularne biblioteki Pythona do analizy sieci, takie jak NetworkX i igraph, oferują ograniczony dostęp do miar centralności, co komplikuje badaczom ich używanie, porównanie czy dobór najlepszej metody badań. NetCenLib rozwiązuje tę kwestię.

Biblioteka ta jest oficjalnie dostępna w repozytorium PyPI i posiada dedykowaną dokumentację. Podsumowanie każdej metody jest dostępne na odpowiedniej stronie CentiServer. Jeśli potrzebne są bardziej szczegółowe informacje, strona z podsumowaniem odsyła do pierwszych artykułów, które wprowadziły daną technikę.

Analiza przykładowych fragmentów kodu

NetCenLib zapewnia wygodny sposób korzystania z obszernego zestawu miar centralności sieci. Pozwala szybko i łatwo je uruchamiać i analizować uzyskane wyniki.

Biblioteka oferuje dwa tryby użytkowania. Pierwszy obejmuje charakterystyczny dla języka Python sposób obliczania miar centralności poprzez bezpośrednie ich wywoływanie. Aby to ułatwić, wszystkie moduły są eksportowane w głównym module biblioteki, zapewniając natychmiastowy dostęp do oferowanych technik. Użytkownicy mogą zaimportować moduł, a następnie wykorzystać go za pomocą tego importu.

Drugi tryb wykorzystuje obiekt wyliczeniowy do zdefiniowania wszystkich dostępnych miar centralności. Wyliczenie to składa się z zestawu nazwanych wartości, zwiększając w ten sposób czytelność i modułowość kodu, oferując jednocześnie zaawansowaną funkcjonalność. Wykorzystanie tego podejścia jest preferowane w przypadku obliczania wielu centralności, np. w pętli.

Rozwiązanie zapewnia wygodny sposób wykorzystania szerokiego zakresu miar centralności. Domyślnie przypisuje ono każdemu węzłowi wartość liczbową ze zbioru [0,1]. Węzły z wyższymi wynikami są uważane za bardziej znaczące niż te z niższymi. Ponieważ wynik jest obliczany na podstawie różnych wskaźników i cech, optymalnym sposobem zademonstrowania użyteczności tej metody jest aplikacja z interfejsem graficznym.

Ponadto dokumentacja NetCenLib zawiera dedykowany notatnik badawczy – JupyterNotebook, który oferuje łatwy sposób na rozpoczęcie korzystania z biblioteki.

Nowoczesny zestaw narzędzi do analizy

NetCenLib zostało również wprowadzone do innego dostępnego nowatorskiego rozwiązania opracowanego przez mjr. dr. inż. Frąszczaka – RPaSDT (Rumor Propagation and Source Detection Toolkit). To najnowocześniejszy zestaw narzędzi, który zapewnia zbiór funkcji pomagających badaczom przeprowadzać zaawansowane analizy sieci, symulować rozprzestrzenianie się informacji i identyfikować źródła propagacji za pomocą dobrze znanych metod identyfikacji źródeł. Do zestawu narzędzi dodano bibliotekę, aby zwiększyć jego możliwości w zakresie analizy sieci, wyboru węzłów i identyfikacji źródeł plotek.

Wsparcie dla rozwoju i innowacji

Oprogramowanie zaproponowane przez mjr. dr. inż. Damiana Frąszczaka jest kompleksowe, oferuje możliwość wyznaczenia wielu niedostępnych w innych bibliotekach miar centralności, co w efekcie pozwala społeczności akademickiej na prowadzenie bardziej złożonych analiz.

Umożliwia łatwe porównywanie różnych miar i dostosowanie ich do konkretnych potrzeb badawczych, co ułatwia głębszą analizę sieci.

Ponadto ma służyć jako globalne repozytorium miar centralności, zachęcając badaczy do upubliczniania swoich rozwiązań do projektu. Pozwoli im to na szybkie rozpowszechnianie wyników i sprawi, że ich praca będzie łatwiejsza i bardziej zauważalna. W miarę aktualizacji kodu nowe zespoły badawcze będą miały natychmiastowy dostęp do tych postępów.

„Celem tego rozwiązania było opracowanie centralnego miejsca dla naukowców do wymiany i korzystania z najnowszych metod analizy sieci. Dzięki temu, zamiast samodzielnie programować narzędzia, mogą oni skupić się na wykorzystaniu gotowych, zaawansowanych metod, przyspieszając swoje badania. To nie tylko ułatwia odkrywanie nowych zależności w sieciach, ale też promuje współpracę i rozpowszechnianie własnych prac w społeczności naukowej, wspierając rozwój i innowacje” – podsumowuje autor.

Dominika Naruszko

fot. Katarzyna Puciłowska

Mjr dr inż. Damian Frąszczak rozwiązanie opracował z mgr inż. Edytą Frąszczak. Efektem jest również wspólnie przygotowana publikacja „NetCenLib: A comprehensive python library for network centrality analysis and evaluation”, która ukazała się w czasopiśmie „SoftwareX” i otrzymała 200 punktów.

DOI: https://www.sciencedirect.com/science/article/pii/S2352711024000700?via%3Dihub

***

Mjr dr inż. Damian Frąszczak pełni służbę w Dowództwie Komponentu Wojsk Obrony Cyberprzestrzeni, gdzie jest odpowiedzialny za opracowywanie i utrzymanie systemów informatycznych tworzonych na potrzeby bieżącej działalności resortu obrony narodowej.