Interaksjonsnett - Interaction nets
Interaksjonsnett er en grafisk beregningsmodell utarbeidet av Yves Lafont i 1990 som en generalisering av bevisstrukturen til lineær logikk . Et interaksjonsnettsystem er spesifisert av et sett med agenttyper og et sett med interaksjonsregler. Interaksjonsnett er en iboende distribuert beregningsmodell i den forstand at beregninger kan finne sted samtidig i mange deler av et interaksjonsnett, og ingen synkronisering er nødvendig. Sistnevnte er garantert av den sterke sammenløpsegenskapen til reduksjon i denne beregningsmodellen. Således gir interaksjonsnett et naturlig språk for massiv parallellisme. Interaksjonsnett er kjernen i mange implementeringer av lambdakalkulus , som effektiv lukket reduksjon og optimal, i Levys forstand, Lambdascope.
Definisjoner
Interaksjonsnett er graflignende strukturer som består av midler og kanter .
En agent av typen og med arity har en hovedport og hjelpeporter . Enhver port kan kobles til høyst en kant. Porter som ikke er koblet til noen kant kalles gratis porter . Gratis porter danner sammen grensesnittet til et interaksjonsnett. Alle agenttyper tilhører et sett som kalles signatur .
Et interaksjonsnett som utelukkende består av kanter kalles ledninger og betegnes vanligvis som . Et tre med roten er induktivt definert enten som en kant , eller som et middel med sin gratis hovedport og tilhørende porter forbundet med røttene til andre trær .
Grafisk kan de primitive strukturene til interaksjonsnett vises som følger:
Når to agenter er koblet til hverandre med sine viktigste porter, danner de et aktivt par . For aktive par kan man innføre interaksjonsregler som beskriver hvordan det aktive paret omskrives til et annet interaksjonsnett. Et interaksjonsnett uten aktive par sies å være i normal form . En signatur (med definert på den) sammen med et sett med interaksjonsregler definert for agenter utgjør sammen et interaksjonssystem .
Interaksjonsberegning
Tekstlig representasjon av interaksjonsnett kalles interaksjonsberegning og kan sees på som et programmeringsspråk.
Induktivt definerte trær tilsvarer termer i interaksjonsberegningen, hvor det kalles et navn .
Ethvert interaksjonsnett kan tegnes på nytt ved hjelp av de tidligere definerte ledningene og treprimitivene som følger:
som i samhandlingsregningen tilsvarer en konfigurasjon
,
hvor , og er vilkårlige vilkår. Den ordnede sekvensen på venstre side kalles et grensesnitt , mens høyre side inneholder et uordnet flersett av ligninger . Kabling oversettes til navn, og hvert navn må forekomme nøyaktig to ganger i en konfigurasjon.
Akkurat som i -calculus, har interaksjon calculus forestillingene om- konvertering og substitusjon naturlig definert på konfigurasjoner. Spesielt kan begge forekomster av hvilket som helst navn erstattes med et nytt navn hvis sistnevnte ikke forekommer i en gitt konfigurasjon. Konfigurasjoner anses å være likeverdige opp til -konvertering. I sin tur er erstatning resultatet av å erstatte navnet i et begrep med et annet begrep hvis det har nøyaktig en forekomst i begrepet .
Enhver interaksjonsregel kan vises grafisk som følger:
hvor , og interaksjonsnettet på høyre side tegnes på nytt ved hjelp av ledninger og treprimitiver for å oversette til interaksjonsberegningen som å bruke Lafonts notasjon.
Interaksjonsregningen definerer reduksjon på konfigurasjoner i flere detaljer enn sett fra grafomskriving definert på interaksjonsnett. Nemlig hvis , følgende reduksjon:
kalles interaksjon . Når man av ligningene har form av , indirekte kan brukes som resulterer i substitusjon av den andre forekomsten av navnet på en eller annen term :
eller .
En ligning kalles en fastlåst tilstand hvis den forekommer i løpet av perioden . Vanligvis vurderes bare låsefrie interaksjonsnett. Sammen definerer interaksjon og indireksjon reduksjonsforholdet på konfigurasjoner. Det faktum at konfigurasjon reduseres til sin normale form uten ligninger igjen, betegnes som .
Eiendommer
Interaksjonsnett drar nytte av følgende egenskaper:
- lokalitet (bare aktive par kan skrives om);
- linearitet (hver interaksjonsregel kan brukes i konstant tid);
- sterk sammenløp også kjent som ett-trinns diamanteiendom (hvis og , da og for noen ).
Disse egenskapene tillater sammen massiv parallellitet.
Interaksjonskombinatorer
Et av de enkleste interaksjonssystemene som kan simulere ethvert annet interaksjonssystem er interaksjonskombinatorer . Dens signatur er med og . Interaksjonsregler for disse agentene er:
- kalt sletting ;
- kalt duplisering ;
- og kalte utslettelse .
Grafisk kan regler for sletting og duplisering vises som følger:
med et eksempel på et ikke-avsluttende interaksjonsnett som reduserer til seg selv. Den uendelige reduksjonssekvensen starter fra den tilsvarende konfigurasjonen i interaksjonsberegningen som følger:
Ikke-deterministisk utvidelse
Interaksjonsnett er egentlig deterministisk og kan ikke modellere ikke-deterministiske beregninger direkte. For å uttrykke ikke-deterministisk valg må interaksjonsnett utvides. Faktisk er det tilstrekkelig å introdusere bare en agent med to hovedporter og følgende interaksjonsregler:
Denne fremtredende agent representerer tvetydig valg og kan brukes til å simulere enhver annen agent med vilkårlig antall hovedporter. For eksempel tillater det å definere en boolsk operasjon som returnerer sant hvis noen av argumentene er sanne, uavhengig av beregningen som foregår i de andre argumentene.
Se også
- Interaksjonens geometri
- Omskriving av graf
- Lambda-kalkulator
- Lineær grafgrammatikk
- Lineær logikk
- Bevis nett
Referanser
Videre lesning
- Asperti, Andrea; Guerrini, Stefano (1998). Den optimale implementeringen av funksjonelle programmeringsspråk . Cambridge-traktater i teoretisk informatikk. 45 . Cambridge University Press. ISBN 9780521621120.
- Fernández, Maribel (2009). "Interaksjonsbaserte modeller for beregning". Modeller av beregning: En introduksjon til beregningsteori . Springer Science & Business Media. s. 107–130. ISBN 9781848824348.
Eksterne linker
- de Falco, Marc. "tikz-inet. Et sett med tikz-baserte makroer for å tegne interaksjonsnett" .
- de Falco, Marc. "INL. Interaction Nets Laboratory" .
- Vilaça, Miguel. "INblobs. En redaktør og tolk for Interaction Nets" .
- Asperti, Andrea. "Bologna Optimal High-Order Machine" .
- Salikhmetov, Anton. "JavaScript Engine for Interaction Nets" .
- Salikhmetov, Anton. "Macro Lambda Calculus" .




