Slovník | Vyhledávání | Mapa webu
 
Analýza a hodnocení biologických datUmělá inteligence Expertní systémy Nepravidlové expertní systémy Rámce a objekty

Logo Matematická biologie

Rámce a objekty

Reprezentace znalostí pomocí rámců a objektů nachází svoji analogii ve strukturovaných datových typech procedurálních jazyků, respektive k objektově orientovanému programování.

Rámce vycházejí z představy, že lidé pro řešení nové situace využívají podobnosti s již známými schématy, tedy hledají na základě analogie stereotypní řešení situace pouze s pozměněnými vstupními podmínkami. Rámce lze reprezentovat analogicky k datovému typu záznam procedurálních jazyků, kde jednotlivá pole záznamu se u rámců nazývají sloty a hodnoty těchto polí pak náplně. Náplní mohou být i další rámce či speciální procedury, které jsou volány například při změně hodnoty nějakého slotu rámce, podobně jako ošetření událostí například v Javascriptu. Rámce jsou pak vzájemně uspořádány do schémat.

  • Rámec rodinná vozidla
    • Jméno: vozidla
    • Typ: rozsah (osobní automobily, dodávky, motocykly)
    • Majitel: if needed (pocedure najdi_majitele_)
    • Umístění: rozsah (garáž, kůlna, parkoviště)
  • Rámec automobil
    • Jméno: auto
    • Specializace: rodinná vozidla
    • Typ: osobní automobily
    • Umístění: garáž
  • Rámec Petrovo auto
    • Jméno: petrovo_auto
    • Specializace: automobil
    • Majitel: Petr Nový

Rámce mohou být obecné i konkrétní, podporují definici vzájemných vztahů mezi rámci. Oproti sémantickým sítím je možné pomocí schémat vytvářet složitější znalostní struktury. Problematické může být přizpůsobení se nové úloze v případě, kdy schéma nebo definice i jednotlivých rámců neodpovídají vstupní úloze. Rámce jsou tedy velmi blízké objektům, které představují další stupeň v reprezentaci znalostí ES.

Definice znalostí pomocí objektů je blízká objektově orientovanému programování. Základními pojmy jsou zde třída a objekt. Třída představuje šablonu, obecnou definici struktury a chování budoucích objektů. Třídy navíc mohou být vzájemně hierarchicky uspořádány, reprezentují tak vztahy mezi budoucími objekty. Struktura budoucích objektů je ve třídědefinována proměnnými, které deklarace objektu obsahuje a chování objektu je dáno deklarovanými metodami objektu. Snahou tedy je mapovat třídy objektů reálného světa a jejich vztahy na jejich zjednodušené počítačové modely.

Objekt je unikátní instancí dané konkrétní třídy, existuje samostatně v paměti a nese si konkrétní hodnoty svých atributů. Objektů stejné třídy může v paměti existovat více a každá má svůj vlastní prostor.

Základními vlastnostmi objektů jsou:

  • Abstrakce od detailů světa a vnitřní implementace objektu. Objekt zachycuje jen ty rysy reality, které jsou podstatné pro řešení úlohy.
     
  • Zapouzdření vnitřních atributů a metod. Objekt představuje černou skříňkou. Navenek poskytuje bez ohledu na vnitřní implementaci jen jasně definované rozhraní. To zajišťuje stabilní chování objektu, které je závislé jen na vstupních proměnných.
     
  • Dědičnost objekty (potomci) dědí své vlastnosti (atributy, metody) od svého rodiče nebo i více rodičů současně. Mohou je doplňovat, nebo i transformovat, například změnit vnitřní implementaci dané metody.Hierarchie objektů je dána uspořádáním jejich vzorů - tříd.

Polymorfismus pro různé potomky téže třídy může být vnitřní implementace a provádění metod různé, byť navenek se objekty různých tříd tváří stejně v relaci ke svým předkům.Potomek umí minimálně totéž, co jeho rodič.

Obr. 5. Třída a její instance
 
vytvořil Institut biostatistiky a analýz Lékařské fakulty Masarykovy univerzity