Interactie netten - Interaction nets
Interactienetten zijn een grafisch rekenmodel dat in 1990 door Yves Lafont is bedacht als een veralgemening van de bewijsstructuren van lineaire logica . Een interactienetsysteem wordt gespecificeerd door een reeks agenttypen en een reeks interactieregels. Interactienetten zijn een inherent gedistribueerd rekenmodel in die zin dat berekeningen gelijktijdig kunnen plaatsvinden in vele delen van een interactienet en dat er geen synchronisatie nodig is. Dit laatste wordt gegarandeerd door de sterke samenvloeiingseigenschap van reductie in dit berekeningsmodel. Zo bieden interactienetten een natuurlijke taal voor massaal parallellisme. Interactienetten vormen de kern van veel implementaties van de lambda-calculus , zoals efficiënte gesloten reductie en optimale, in de zin van Lévy, Lambdascope.
definities
Interactienetten zijn grafiekachtige structuren die bestaan uit agenten en randen .
Een middel van het type met ariteit één belangrijkste haven en extra poorten . Elke poort kan op maximaal één rand worden aangesloten. Poorten die op geen enkele edge zijn aangesloten, worden vrije poorten genoemd . Vrije poorten vormen samen de interface van een interactienet. Alle agenttypen behoren tot een set met de naam handtekening .
Een interactienet dat uitsluitend uit randen bestaat, wordt een bedrading genoemd en wordt meestal aangeduid als . Een boom met zijn wortel wordt inductief gedefinieerd als een rand , of als een agent met zijn vrije hoofdpoort en zijn hulppoorten die zijn verbonden met de wortels van andere bomen .
Grafisch kunnen de primitieve structuren van interactienetten als volgt worden weergegeven:
Wanneer twee agenten met hun hoofdpoorten met elkaar zijn verbonden, vormen ze een actief paar . Voor actieve paren kan men interactieregels introduceren die beschrijven hoe het actieve paar herschrijft naar een ander interactienet. Van een interactienet zonder actieve paren wordt gezegd dat het de normale vorm heeft . Een handtekening (met daarop gedefinieerd) samen met een reeks interactieregels die voor agenten zijn gedefinieerd, vormen samen een interactiesysteem .
Interactieberekening
Tekstuele representatie van interactienetten wordt de interactierekening genoemd en kan worden gezien als een programmeertaal.
Inductief gedefinieerde bomen komen overeen met termen in de interactierekening, waar een naam wordt genoemd .
Elk interactienet kan als volgt opnieuw worden getekend met behulp van de eerder gedefinieerde bedrading en boomprimitieven:
die in de interactierekening overeenkomt met een configuratie
,
waarbij , , en willekeurige termen zijn. De geordende reeks aan de linkerkant wordt een interface genoemd , terwijl de rechterkant een ongeordende multiset vergelijkingen bevat . Bedrading vertaalt zich naar namen, en elke naam moet precies twee keer voorkomen in een configuratie.
Net als in de -calculus, heeft de interactiecalculus de noties van -conversie en substitutie die van nature gedefinieerd zijn op configuraties. In het bijzonder kunnen beide exemplaren van een naam worden vervangen door een nieuwe naam als de laatste niet voorkomt in een bepaalde configuratie. Configuraties worden als equivalent beschouwd tot -conversie. Substitutie is op zijn beurt het resultaat van het vervangen van de naam in een term door een andere term als deze precies één keer voorkomt in de term .
Elke interactieregel kan als volgt grafisch worden weergegeven:
waarbij , en het interactienet aan de rechterkant opnieuw wordt getekend met behulp van de bedrading en boomprimitieven om te vertalen naar de interactierekening met behulp van de notatie van Lafont.
De interactieberekening definieert reductie op configuraties in meer details dan blijkt uit het herschrijven van grafieken die zijn gedefinieerd op interactienetten. Namelijk, als , de volgende vermindering:
heet interactie . Wanneer een van de vergelijkingen de vorm heeft van , kan indirectheid worden toegepast, wat resulteert in vervanging van het andere voorkomen van de naam in een term :
of .
Een vergelijking wordt een deadlock genoemd als deze voorkomt in term . Over het algemeen worden alleen impassevrije interactienetten overwogen. Samen bepalen interactie en indirectheid de reductierelatie op configuraties. Het feit dat de configuratie wordt teruggebracht tot zijn normaalvorm zonder vergelijkingen meer, wordt aangeduid als .
Eigendommen
Interactienetten profiteren van de volgende eigenschappen:
- plaats (alleen actieve paren kunnen worden herschreven);
- lineariteit (elke interactieregel kan in constante tijd worden toegepast);
- sterke samenvloeiing ook bekend als eenstaps diamanteigenschap (als en , dan en voor sommigen ).
Deze eigenschappen samen maken een enorm parallellisme mogelijk.
Interactie combinators
Een van de eenvoudigste interactiesystemen die elk ander interactiesysteem kan simuleren, is dat van interactiecombinaties . De handtekening is met en . Interactieregels voor deze agenten zijn:
- genaamd wissen ;
- genaamd dubbel ;
- en riep vernietiging .
Grafisch kunnen de wis- en duplicatieregels als volgt worden weergegeven:
met een voorbeeld van een niet-beëindigend interactienet dat tot zichzelf reduceert. De oneindige reductiereeks vanaf de overeenkomstige configuratie in de interactierekening is als volgt:
Niet-deterministische extensie
Interactienetten zijn in wezen deterministisch en kunnen niet-deterministische berekeningen niet rechtstreeks modelleren. Om niet-deterministische keuze tot uitdrukking te brengen, moeten interactienetten worden uitgebreid. In feite is het voldoende om slechts één agent met twee hoofdpoorten en de volgende interactieregels te introduceren :
Deze onderscheiden agent vertegenwoordigt een ambigue keuze en kan worden gebruikt om elke andere agent met een willekeurig aantal hoofdpoorten te simuleren. Het maakt het bijvoorbeeld mogelijk om een booleaanse bewerking te definiëren die true retourneert als een van zijn argumenten waar is, onafhankelijk van de berekening die in de andere argumenten plaatsvindt.
Zie ook
- Geometrie van interactie
- Grafiek herschrijven
- Lambda-calculus
- Lineaire grafiekgrammatica
- Lineaire logica
- Proefnet
Referenties
Verder lezen
- Asperti, Andrea; Guerrini, Stefano (1998). De optimale implementatie van functionele programmeertalen . Cambridge Tracts in theoretische informatica. 45 . Cambridge University Press. ISBN 9780521621120.
- Fernandez, Maribel (2009). "Op interactie gebaseerde modellen van berekening". Berekeningsmodellen: een inleiding tot de berekenbaarheidstheorie . Springer Wetenschap en zakelijke media. blz. 107-130. ISBN 9781848824348.
Externe links
- de Falco, Marc. "tikz-inet. Een set op tikz gebaseerde macro's voor het tekenen van interactienetten" .
- de Falco, Marc. "INL. Interaction Nets Laboratory" .
- Vilaca, Miguel. "INblobs. Een redacteur en tolk voor Interaction Nets" .
- Asperti, Andrea. "De optimale machine van een hogere orde in Bologna" .
- Salikhmetov, Anton. "JavaScript-engine voor interactienetwerken" .
- Salikhmetov, Anton. "Macro Lambda-calculus" .




