Program pre podporu multiagentovej simulácie prevádzky predajne

Z Psychostudia

Jump to: navigation, search

Hlavná stránka / Umelá inteligencia / Vybrané kapitoly z umelej inteligencie


Zadanie


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).

Obr.1 Reprezentácia viditeľných tovarov pre jednotlivé pozície
Zväčšiť
Obr.1 Reprezentácia viditeľných tovarov pre jednotlivé pozície
Obr.2 Reprezentácia vzdialenosti od viditeľných tovarov
Zväčšiť
Obr.2 Reprezentácia vzdialenosti od viditeľných tovarov
Obr.3 Reprezentácia vzdialenosti od regálov
Zväčšiť
Obr.3 Reprezentácia vzdialenosti od regálov

V druhej fáze sa stávajú relevantnými vlastnosťami oblastí vzdialenosti od koncov regálov (Obr. 4).

Obr.4 Reprezentácia vzdialenosti od koncov regálov
Zväčšiť
Obr.4 Reprezentácia vzdialenosti od koncov regálov

Napokon v tretej fáze sú to vzdialenosti oblastí od jednotlivých pokladní (Obr. 5).

Obr.5 Reprezentácia vzdialenosti od pokladní
Zväčšiť
Obr.5 Reprezentácia vzdialenosti od pokladní

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:

shoping.lsp

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.