Redes de interacción - Interaction nets
Las redes de interacción son un modelo gráfico de cálculo ideado por Yves Lafont en 1990 como una generalización de las estructuras de prueba de la lógica lineal . Un sistema de red de interacción se especifica mediante un conjunto de tipos de agentes y un conjunto de reglas de interacción. Las redes de interacción son un modelo de cálculo intrínsecamente distribuido en el sentido de que los cálculos pueden tener lugar simultáneamente en muchas partes de una red de interacción y no se necesita sincronización. Esto último está garantizado por la fuerte propiedad de reducción de confluencia en este modelo de cálculo. Por tanto, las redes de interacción proporcionan un lenguaje natural para un paralelismo masivo. Las redes de interacción están en el corazón de muchas implementaciones del cálculo lambda , como la reducción cerrada eficiente y la óptima, en el sentido de Lévy, Lambdascope.
Definiciones
Las redes de interacciones son estructuras en forma de gráfico que constan de agentes y bordes .
Un agente de tipo y con aridad tiene un puerto principal y puertos auxiliares . Cualquier puerto se puede conectar como máximo a un borde. Los puertos que no están conectados a ningún borde se denominan puertos libres . Los puertos libres juntos forman la interfaz de una red de interacción. Todos los tipos de agentes pertenecen a un conjunto llamado firma .
Una red de interacción que consta únicamente de bordes se denomina cableado y generalmente se denota como . Un árbol con su raíz se define inductivamente como un borde o como un agente con su puerto principal libre y sus puertos auxiliares conectados a las raíces de otros árboles .
Gráficamente, las estructuras primitivas de las redes de interacción se pueden representar de la siguiente manera:
Cuando dos agentes están conectados entre sí con sus puertos principales, forman un par activo . Para los pares activos, se pueden introducir reglas de interacción que describan cómo el par activo se reescribe en otra red de interacción. Se dice que una red de interacción sin pares activos está en forma normal . Una firma ( definida en ella) junto con un conjunto de reglas de interacción definidas para los agentes constituyen un sistema de interacción .
Cálculo de interacción
La representación textual de las redes de interacción se denomina cálculo de interacción y puede verse como un lenguaje de programación.
Los árboles definidos inductivamente corresponden a términos en el cálculo de interacción, donde se llama un nombre .
Cualquier red de interacción se puede volver a dibujar utilizando las primitivas de árbol y cableado previamente definidas de la siguiente manera:
que en el cálculo de interacción corresponde a una configuración
,
donde , y son términos arbitrarios. La secuencia ordenada en el lado izquierdo se llama interfaz , mientras que el lado derecho contiene un conjunto múltiple de ecuaciones desordenado . El cableado se traduce en nombres, y cada nombre debe aparecer exactamente dos veces en una configuración.
Al igual que en el cálculo de-, el cálculo de interacción tiene las nociones de conversión y sustitución definidas naturalmente en configuraciones. Específicamente, ambas apariciones de cualquier nombre se pueden reemplazar con un nuevo nombre si este último no ocurre en una configuración dada. Las configuraciones se consideran equivalentes hasta la conversión. A su vez, la sustitución es el resultado de reemplazar el nombre en un término con otro término si tiene exactamente una ocurrencia en el término .
Cualquier regla de interacción se puede representar gráficamente de la siguiente manera:
donde , y la red de interacción en el lado derecho se vuelve a dibujar usando las primitivas de cableado y árbol para traducir en el cálculo de interacción usando la notación de Lafont.
El cálculo de interacción define la reducción en configuraciones con más detalles que los que se ven en la reescritura de gráficos definida en redes de interacción. Es decir, si , la siguiente reducción:
se llama interacción . Cuando una de las ecuaciones tiene la forma de , se puede aplicar indirección dando como resultado la sustitución de la otra aparición del nombre en algún término :
o .
Una ecuación se denomina punto muerto si se produce en término . Generalmente, solo se consideran las redes de interacción sin interbloqueo. Juntos, la interacción y la indirección definen la relación de reducción en las configuraciones. El hecho de que la configuración se reduzca a su forma normal sin ecuaciones restantes se denota como .
Propiedades
Las redes de interacción se benefician de las siguientes propiedades:
- localidad (solo se pueden reescribir los pares activos);
- linealidad (cada regla de interacción se puede aplicar en tiempo constante);
- una fuerte confluencia también conocida como propiedad de diamante de un paso (si y , entonces y para algunos ).
Estas propiedades juntas permiten un paralelismo masivo.
Combinadores de interacción
Uno de los sistemas de interacción más simples que puede simular cualquier otro sistema de interacción es el de los combinadores de interacción . Su firma está con y . Las reglas de interacción para estos agentes son:
- llamado borrar ;
- llamado duplicación ;
- y llamado aniquilación .
Gráficamente, las reglas de borrado y duplicación se pueden representar de la siguiente manera:
con un ejemplo de una red de interacción no terminante que se reduce a sí misma. Su secuencia de reducción infinita a partir de la configuración correspondiente en el cálculo de interacción es la siguiente:
Extensión no determinista
Las redes de interacción son esencialmente deterministas y no pueden modelar cálculos no deterministas directamente. Para expresar una elección no determinista, es necesario ampliar las redes de interacción. De hecho, es suficiente introducir un solo agente con dos puertos principales y las siguientes reglas de interacción:
Este agente distinguido representa una elección ambigua y se puede utilizar para simular cualquier otro agente con un número arbitrario de puertos principales. Por ejemplo, permite definir una operación booleana que devuelve verdadero si alguno de sus argumentos es verdadero, independientemente del cálculo que tenga lugar en los otros argumentos.
Ver también
- Geometría de interacción
- Reescritura de gráficos
- Cálculo lambda
- Gramática de grafos lineales
- Lógica lineal
- Red de prueba
Referencias
Otras lecturas
- Asperti, Andrea; Guerrini, Stefano (1998). La implementación óptima de lenguajes de programación funcionales . Cambridge Tracts en Informática Teórica. 45 . Prensa de la Universidad de Cambridge. ISBN 9780521621120.
- Fernández, Maribel (2009). "Modelos de computación basados en la interacción". Modelos de Computación: Introducción a la Teoría de la Computabilidad . Springer Science & Business Media. págs. 107–130. ISBN 9781848824348.
enlaces externos
- de Falco, Marc. "tikz-inet. Un conjunto de macros basadas en tikz para dibujar redes de interacción" .
- de Falco, Marc. "INL. Laboratorio de Redes de Interacción" .
- Vilaça, Miguel. "INblobs. Editor e intérprete de Interaction Nets" .
- Asperti, Andrea. "La máquina de orden superior óptima de Bolonia" .
- Salikhmetov, Anton. "Motor JavaScript para redes de interacción" .
- Salikhmetov, Anton. "Cálculo Macro Lambda" .




