Program pre podporu multiagentovej simulácie prevádzky predajne
Z Psychostudia
Hlavná stránka / Umelá inteligencia / Vybrané kapitoly z umelej inteligencie
Autori: Peter Koncz, Štefan Česánek
Obsah |
Cieľ:
Vytvorenie programu pre podporu multiagentovej simulácie prevádzky predajne.
Správanie agenta, riadeného týmto programom, by sa v relevantných aspektoch malo približovať správaniu reálneho nakupujúceho.
Analýza:
Zjednodušený modelový svet agenta ja obmedzený na prostredie predajne. Jeho existencia začína vstupom do predajne a končí zaplatením pri pokladni. Agent má počas svojej existencie tri hlavné intencie:
1. Nakúpiť všetky položky zo zoznamu
V tejto fáze agent hľadá postupne položky zo svojho zoznamu. Tak ako skutočný kupujúci, riadi sa pri svojom pohybe istými princípmi a jeho nasledujúci krok je ovplyvňovaný:
- Voľnosťou pozície, ktorá môže byť obsadená iným agentom prípadne zakázaná.
- Predošlým smerom jeho pohybu, pričom sa snaží nemeniť svoj smer.
- Predošlými oblasťami, pričom sa snaží vyhýbať už navštíveným.
- Vzdialenosť od regálu, pričom sa snaží byť čo najbližšie k regálom.
- Tovarom zo zoznamu.
- Tovarom v jeho zornom poly, pričom hľadá tovar zo zoznamu.
- Keď je zoznam tovarov prázdny, prechádza k ďalšej fáze.(predpokladá sa, že každý tovar zo zoznamu je v obchode)
2. Vyjsť spomedzi regálov je ovplyvňovaný:
- Vzdialenosťou od konca regálov.
- Voľnosťou pozície, ktorá môže byť obsadená iným agentom prípadne zakázaná.
3. Nájsť pokladňu a zaplatiť Po vyjdení spomedzi regálov hľadá optimálnu pokladňu, pričom hodnotí:
- Vzdialenosťou od jednotlivých pokladní.
- Množstvo ľudí pri pokladni.
- Voľnosť pozície, ktorá môže byť obsadená iným agentom prípadne zakázaná.
Riešenie:
Pri reprezentácii jednotlivých oblastí sveta agenta, som sa rozhodol niektoré faktory, ktoré sú v realite závislé tak na vlastnostiach agenta (kupujúceho) ako aj prostredia (obchod), reprezentovať iba vlastnosťami prostredia, čím som znížil náročnosť riešenia.
V prvej fáze je preto viditeľnosť tovarov a vzdialenosť od nich vlastnosťou oblasti, kým v reálnom živote pristupujú ďalšie faktory ako zorné pole kupujúceho či jeho pozornosť a pod. Z pohľadu agenta je preto v prvej fáze každá oblasť reprezentovaná zoznamom viditeľných tovarov a ich vzdialeností (Obr. 1 a Obr. 2). Podobne je reprezentovaná vzdialenosť od regálov (Obr. 3).
V druhej fáze sa stávajú relevantnými vlastnosťami oblastí vzdialenosti od koncov regálov (Obr. 4).
Napokon v tretej fáze sú to vzdialenosti oblastí od jednotlivých pokladní (Obr. 5).
V jednotlivých fázach sa tiež zohľadňujú ďalšie vlastnosti na strane prostredia (prístupnosť a obsadenosť oblasti), ale aj na strane agenta (aktuálna pozícia, predošlé pozície, zoznam tovarov) a pokladníc (počet ľudí v rade).
Na obrázkoch sú:
- Zelenou farbou znázornené vchod a východ.
- Žltou farbou regály, pričom čísla označujú druhy tovarov.
- Oranžovou pokladne, pričom čísla označujú čísla pokladní.
- Hrubou červenou čiarou sú ohraničené zakázané oblasti.
Program:
Program je napísaný v jazyku lisp.
Vstupom pre program je model miestnosti vytvorený pomocou poľa štruktúr s rozmerom 14x11, agent a pokladne s počiatočnými stavmi.
Hlavná funkcia má názov shopping a jej argumentom je číslo poľa agenta.
Jej funkcia spočíva v zmene polohy agenta, pričom trasa pohybu agenta sa zaznamenáva pomocou jeho stavov.
Návratovou hodnotou funkcie je T, pokiaľ bol pohyb agenta ukončený.
Obmedzenia:
- Program je iba podporný a teda závislí na inom programe riadiacom simuláciu.
- Algoritmus pre pohyb agenta je však všeobecný a umožňuje využitie v multiagentovom systéme.
- Vhodnosť algoritmu pohybu agenta ako aj zložitosti a formy reprezentácie jeho okolia, by bolo potrebné overiť pomocou simulácie a reálnych dát z predajne, podľa ktorej bol model prostredia vytvorený.
Využiteľnosť
V kontexte programu, ktorý bude riadiť proces simulácie, je program vhodný pre simuláciu chodu obchodu. Výsledky simulácie potom môžu byť uložené do databázy a vizualizované napr. pomocou programu v PHP.
Na základe histórie pohybu agentov je možné optimalizovať také vlastnosti predajne ako rozloženie tovaru, regálov, pokladníc, či predpovedať mieru využitia pokladníc v jednotlivých častiach dňa a pod.
