Modelowanie populacji i przepływu opinii pomiędzy aktorami sztucznej inteligencji za pomocą sieci społecznej Wojciech Toman
Zagadnienia Wprowadzenie do tematu Podstawowy model przepływu opinii Źródła informacji a rola gracza w systemie Rozszerzenia modelu Wady modelu Przykładowa implementacja Podsumowanie
Wprowadzenie do tematu Zbyt mała waga sztucznej inteligencji w tworzeniu gier Efekty specjalne to nie wszystko Nadrzędna rola informacji w funkcjonowaniu naszego świata a zachowania Aktorów Ogólny model sieci społecznej
Podstawowy model przepływu opinii Sieć społeczna Graf skierowany z wagami Respekt i jego asymetryczność Pomiędzy dwoma wierzchołkami istnieją 0 lub 2 krawędzie Opinia Skończona liczba tematów (informacji) w danej chwili Usuwanie nieaktualnych tematów (optymalizacja) Stopień Przekonania Dowolna skala Wpływ na przepływ opinii Zmiany opinii a postępowanie Aktora. Dążenie Aktora do opinii wyznawanej przez większość Przekazywanie opinii przez Aktora tym chętniej im wyższy jego stopień przekonania Indywidualizm osiągany za pomocą Stopnia Podatności Modelowanie zmiany zachowań za pomocą logiki rozmytej
Przykładowa sieć społeczna Aktor Respekt A B C D 2 3 -1 Aktor izolowany
Źródła informacji a rola gracza w systemie Źródło informacji - Aktor o specjalnym statusie Może generować nowe informacje, a nie tylko przekazywać opinię na dany temat innym Aktorom Rozprzestrzenianie informacji ze źródła Przejście sieci wszerz lub w głąb Pominięcie Aktorów izolowanych Sieć informacji Początkowa opinia Gracz jako źródło informacji Większa interaktywność Nowy wymiar rozgrywki
Rozszerzenia modelu Jednostki społeczne – modelowanie rodziny, stada, narodu Prawda – reakcja Aktorów na informacje fałszywe/prawdziwe Wpływ odległości pomiędzy Aktorami – zmiany w przepływie opinii po uwzględnieniu fizycznej odległości między Aktorami Przywódcy – szczególnie charyzmatyczni Aktorzy Priorytety informacji – im ważniejsza informacja, tym większy jej wpływ na zachowanie Aktora
Wady modelu Duża złożoność obliczeniowa przy sieci gęstej lub bliskiej gęstej Zwykle nierealistyczne podejście do zagadnienia - staranne zaprojektowanie sieci ogranicza negatywne skutki Duże zapotrzebowanie na pamięć Kilkanaście, kilkadziesiąt MB przy złożonej sieci Nieprzewidywalność wyników Ograniczenie nieprzewidywalności można uzyskać poprzez staranny projekt sieci Aktorom, którzy nie powinni zmieniać swojej opinii należy przypisać Stopień Podatności wynoszący 0
Przykładowa implementacja Wzbogacenie podstawowego modelu o możliwość dodawania nowych tematów: CNetwork – reprezentacja całej sieci społecznej CActor – reprezentacja pojedynczego aktora w sieci STopic – reprezentacja pojedynczego tematu w sieci SInformation – reprezentacja informacji znanej aktorowi
Przykładowe wyniki Wykres zależności Stopnia Przekonania do pewnej informacji dla 100 aktorów pomiędzy, którymi zdefiniowano 200 połączeń, od czasu (czas trwania symulacji – 100 jednostek). Maksymalna wartość przekonania na poziomie 10; minimalna na poziomie – (-10). Podczas symulacji nie pojawiła się żadna nowa informacja – opinia stabilna Podczas symulacji pojawiła się nowa informacja – gwałtowne zmiany opinii
Podsumowanie Zastosowanie w każdym gatunku gier Najlepiej nadaje się do gier, w których wiele zależy od rozmów z NPC i strategii Proste rozwiązanie polegające na dodaniu opinii i jej przepływu znacznie zwiększa realizm modelowanego świata
Bibliografia Reynolds C., “Boids. Background and Update”, http://www.red3d.com/cwr/boids/ Korzan B., “Elementy teorii grafów i sieci. Metody i zastosowania”, Wydawnictwa Naukowo-Techniczne, Warszawa 1978 Cole S., “Modeling Opinion Flow in Humans Using Boids Algorithm & Social Network Analysis”, http://gamasutra.com/features/20060928/cole_01.shtml, 2006 McCuskey M., “Logika rozmyta w grach”, “Perełki programowania gier. Tom 1”, Helion, Gliwice 2002