Uživatelské nástroje

Nástroje pro tento web


lmdemo:rmhotel:evolution:02bk

Demo ReverseMiner: 02 Doménové znalosti

Specifikované vztahy mezi atributy v rámci doménových znalostí lze rozdělit na dva dílčí okruhy:

  • 02 BK 01 Typ pobytu a začátek pobytu
  • 02 BK 02 Typ pobytu, den týdne a délka pobytu

Nejprve vyřešíme první, a teprve po získání dat s vhodným členěním na rekreační a služební pobyty budeme zohledňovat požadavky na délky pobytů. Při zadávání RM případů budeme vkládate na začátek názvu číselné prefixy, které zaručí vhodné řazení v seznamech.

02 BK 01 Typ pobytu a začátek pobytu

RM případ s názvem 02 BK 01.99 Typ pobytu a začátek pobytu generuje data, ve kterých budou rekreační pobyty začínat převážně v pátek a v sobotu a služební pobyty převážně v pondělí až čtvrtek.

Sloupce

Generují se pouze dva sloupce – HTypPobytu a PPobytOd, jejichž charakteristiky byly naimportovány z RM případu 01 Frekvence pomocí tlačítka Import. Tento RM případ byl také vložen jako Data Preset na záložce DATA PRESETS.

Úlohy DZD

Na záložce DM TASKS byly vloženy dva požadavky na data v podobě zadání úloh pro CF-Miner:

  • 02 BK 01.01 PDenTydne / rekreační (c)
  • 02 BK 01.02 PDenTydne / služební (c)

Tyto požadavky navádějí evoluci k datům s převažujícím dnem začátku pobytu podle typu pobytu.

Mutant

Protože je rekreačních pobytů hodně (viz specifikace a požadujeme, aby většina z nich začínala v pátek nebo v sobotu (což jsou pouze dva ze sedmi dnů týdne), trvalo by evoluci poměrně dlouho, než by nastavila u všech rekreačních pobytů správný den.

Proto byl vytvořen RM případ typu mutant s názvem 02 BK 01.01 Rekreační pobyty začínají v pátek nebo v sobotu. Ten generuje také pouze sloupce PTypPobytu a PPobytOd. Ve sloupci PTypPobytu se generují pouze hodnoty rekreační.

Ve sloupci PPobytOd se generují pouze datumu, které připadly na pátek nebo sobotu. Toho je dosaženo pomocí výrazu 365*12+ 8+ 7*lm.rowrnd(100)+ 1*lm.rowrnd(1).

Hodnota 365*12+ 8 reprezentuje 6. 1. 2012, a to byl pátek. Následně se přičte náhodný počet celých týdnù (max 100) a náhodně i jeden den pro sobotu.

Tento RM případ je vložen do 02 BK 01.99 Typ pobytu a začátek pobytu jako druhý Data Preset. Zároveň je požadována jeho stálá přítomnost v populaci. Pomocí operace šlechtění se postupně do generovaných dat vkládají předpřipravené řádky s rekreačními pobyty začínajícími v pátek nebo v sobotu. Tím dochází k výraznému urychlení evoluce.

Evoluce a výsledek

Za šest minut evoluce byla nalezena varianta dat, která splňuje oba požadavky.

02 BK 02 Typ pobytu, den týdne a délka pobytu

Nyní máme data se správným rozložením dne začátku pobytu podle typu pobytu. Nyní přidáme požadavek na délky pobytů.

RM případ s názvem 02 BK 02.99 Typ pobytu, den týdne a délka pobytu generuje data, ve kterých budou rekreační pobyty začínající v sobotu převážně na 7, 14 nebo 21 dní; rekreační pobyty začínající v pátek převážně na dvě noci (víkendové pobyty) a služební cesty začínající v pondělí až čtvrtek převážně na jednu noc. A konečně na 28 nocí budou v datech pouze služební cesty začínající v pondělí.

RM případ vytvoříme klonem z 02 BK 01.99 Typ pobytu a začátek pobytu a následně upravíme.

Sloupce

Tentokrát musíme generovat tři sloupce – HTypPobytu, PPobytOd a PNoci. Stačí přidat naimportovat charakteristiku sloupce PNoci z RM případu 01 Frekvence pomocí tlačítka Import.

Úlohy DZD

Na záložce DM TASKS jsou jak požadavky na frekvence, tak dva požadavky na data převzaté z 02 BK 01.99 Typ pobytu a začátek pobytu. Přidáme další čtyři, vyplývající z požadavků na délky pobytů:

  • 02 BK 02.01b Rekreační v sobotu na sedm, čtrnáct nebo 21 dní
  • 02 BK 02.02d Rekreační v pátek na dvě noci (víkendový pobyt)
  • 02 BK 02.03b Služební v pondělí až čtvrtek na jednu noc
  • 02 BK 02.04 Na čtyři týdny pouze služební cesty začínající v pondělí (c)

Všimněme si, že vztah pro služební cesty pondělí až čtvrtek musí nalézt celkem čtyři hypotézy (jednu pro každý z uvedených dnů).

Mutanti

Pro zrychlení evoluce jsme opět nadefinovali pomocné RM případy typu mutant, tentokrát tři:

  • 02 BK 02.01b Rekreační v sobotu trvají násobek sedmi nocí (turnusový pobyt)
  • 02 BK 02.02b Rekreační v pátek na dvě noci (z pátku na neděli)
  • 02 BK 02.04b Na 28 nocí pouze služební cesty začínající v pondělí

Všechny jsme zároveň vložili do Data Presets.

Evoluce a výsledek

Za 21 minut evoluce byla nalezena varianta dat, která splňuje i požadavky na délky pobytů.

02 BK 99 Doménové znalosti

RM případ s názvem 02 BK 99 Doménové znalosti byl vytvořen hlavně pro ukázku, jak sjednotit výsledky dílčích evolucí a vytvořit data, která obsahují všechny sloupce.

Nejsnáze jej vytvořit klonem z 01 Frekvence. Na záložce DM TASKS přidáme všechny požadavky vyplývající z doménových znalostí a na záložce DATA PRESETS přidáme jak výchozí 01 Frekvence, tak i dva výsledné RM případy s dílčími výsledky evoluce.

Evoluce a výsledek

Evoluce by měla skončit hned v prvním kroku a na záložce RESULTS si můžeme prohlédnout data, která zahrnují jak požadavky na frekvence hodnot, tak i doménové znalosti.

lmdemo/rmhotel/evolution/02bk.txt · Poslední úprava: 2015/10/10 15:13 (upraveno mimo DokuWiki)