Ram (kunskapsteknik)

Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från versionen som granskades den 3 mars 2021; kontroller kräver 9 redigeringar .

Frame ( engelsk  frame  - "frame" eller "frame") är ett sätt att representera kunskap i artificiell intelligens , vilket är ett diagram över handlingar i en verklig situation. Ursprungligen introducerades termen "ram" av Marvin Minsky på 70-talet av XX-talet [1] för att beteckna kunskapsstrukturen för uppfattningen av rumsliga scener. En ram är en modell av en abstrakt bild , den minsta möjliga beskrivningen av essensen av något objekt , fenomen , händelse , situation , process.

Ramar används i artificiell intelligenssystem (till exempel i expertsystem ) som en av de vanligaste formerna av kunskapsrepresentation.

Ramtyper

Det finns frames-samples, frames-instanser, frames-structures, frames-rolls, frames-scripts, frames-situations. Ett system av länkade ramar kan bilda en semantisk väv . Ramar används i expertsystem och andra intelligenta system för olika ändamål.

Ramstruktur

Ramstrukturen förstås som ett sätt att använda schemat, en typisk sekvens av åtgärder, en situationsmässig modifiering av ramen. Ramen innehåller bland annat en viss standardkunskap, som kallas en presumtion .

Ramen kännetecknas av närvaron av en viss struktur.

En ram består av ett namn och individuella enheter som kallas slots . Den har en homogen struktur [2] :

RAMNAMN 1:a platsnamn: 1:a platsvärde 2:a platsnamn: 2:a platsvärde ………………………………… Namn på den N :e luckan: värdet på den N :e luckan

Värdet på en plats kan vara namnet på en annan ram. Således kombineras ramarna till ett nätverk. Ramegenskaper ärvs från topp till botten, det vill säga från överlägsen till underlägsen genom de så kallade AKO-länkarna (från engelskan.  A Kind Of  - "variety"). En plats som heter ACO pekar på namnet på en ram på en högre nivå i hierarkin.

En tom ram kallas en protoram och en fylld kallas en exofram . Protoramens roll som skal i exoramen är mycket viktig. Detta skal tillåter proceduren för intern tolkning, på grund av vilken data i systemminnet inte är ansiktslösa, utan har en väldefinierad betydelse som är känd för systemet.

En slot kan innehålla inte bara ett specifikt värde, utan också namnet på en procedur som gör att den kan beräknas enligt en given algoritm , såväl som en eller flera produktioner ( heuristik ) genom vilka detta värde bestäms. En slot kan innehålla mer än ett värde. Ibland innehåller denna slot en komponent som kallas en fasett som specificerar ett intervall eller en lista över dess möjliga värden. Fasetten anger också gränsvärdena för platshållaren.

Utöver ett specifikt värde kan luckan lagra procedurer och regler som anropas när det är nödvändigt att beräkna detta värde. Bland dem är demonprocedurer och tjänareprocedurer . De förra startas automatiskt när ett visst villkor är uppfyllt, medan de senare aktiveras endast på särskild begäran. Om till exempel en ram som beskriver en person inkluderar FÖDELSEDATUM och ÅLDER, och den första av dem innehåller något värde, kan den andra luckan innehålla namnet på en demonprocedur som beräknar ålder från födelsedatumet och aktuellt datum och aktiveras varje gång det aktuella datumet ändras.

En uppsättning ramar som modellerar ett ämnesområde är en hierarkisk struktur i vilken ramar sätts ihop med hjälp av generiska relationer . På den översta nivån i hierarkin finns den ram som innehåller den mest allmänna informationen som är sann för alla andra ramar. Ramar har förmågan att ärva värdena för egenskaperna hos sina föräldrar , som är på en högre nivå i hierarkin. Dessa värden kan skickas som standard till ramar under dem i hierarkin, men om de senare innehåller sina egna värden för dessa egenskaper, accepteras de som sanna. Denna omständighet gör det möjligt att enkelt ta hänsyn till olika typer av undantag i ramsystem.

Det finns statiska och dynamiska ramsystem. I system av den första typen kan ramar inte ändras i processen för att lösa ett problem, medan i system av den andra typen är detta tillåtet.

Rambaserade programmeringssystem sägs vara objektorienterade [3] . Varje ram motsvarar något objekt i ämnesområdet, och luckorna innehåller data som beskriver detta objekt, det vill säga luckorna innehåller värdena för objektens funktioner. En ram kan representeras som en lista med egenskaper, och om du använder databasverktyg, då som en post.

Se även

Litteratur

Länkar

Anteckningar

  1. Minsky M.L. Ramar för att representera kunskap. - Moskva: Energi, 1979.
  2. Rammodell för kunskapsrepresentation // Dyakonov V.P., Borisov A.V. Fundamentals of artificiell intelligens. Smolensk, 2007. - S.30
  3. Rammodell för kunskapsrepresentation // Dyakonov V.P., Borisov A.V. Fundamentals of artificiell intelligens. Smolensk, 2007. - S.31