Las redes de interacción son un modelo gráfico de computación ideado por el matemático francés Yves Lafont en 1989 [ 1 ] 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 computación inherentemente distribuido, en el sentido de que las computaciones pueden tener lugar simultáneamente en muchas partes de una red de interacción, y no se requiere sincronización. Esto último está garantizado por la fuerte propiedad de confluencia de la reducción en este modelo de computación. Por lo tanto, las redes de interacción proporcionan un lenguaje natural para el paralelismo masivo. Las redes de interacción son fundamentales para muchas implementaciones del cálculo lambda , como la reducción cerrada eficiente [ 2 ] y Lambdascope óptimo, en el sentido de Lévy. [ 3 ]
Definiciones
Las redes de interacción son estructuras similares a grafos que constan de agentes y aristas .
Un agente de tipoy con aridadtiene un puerto principal yPuertos auxiliares . Cualquier puerto puede conectarse a un máximo de una arista. Cualquier arista está conectada a exactamente dos puertos. Los puertos que no están conectados a ninguna arista 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.llamada firma .
Una red de interacción que consta únicamente de aristas se llama cableado y generalmente se denota comoUn árbolcon su raízse define inductivamente como un bordeo como agentecon su puerto principal librey sus puertos auxiliaresconectado 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 se conectan entre sí mediante sus puertos principales, forman un par activo . Para los pares activos se pueden introducir reglas de interacción que describen 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(condefinido en él) junto con un conjunto de reglas de interacción definidas para los agentesjuntos 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 [ 4 ] y puede considerarse como un lenguaje de programación .
Los árboles definidos inductivamente corresponden a términosen el cálculo de interacción, dondese llama nombre .
Cualquier red de interacciónse puede redibujar utilizando las primitivas de cableado y árbol definidas previamente de la siguiente manera:

que en el cálculo de interacción corresponde a una configuración
,
dónde,, yson términos arbitrarios. La secuencia ordenadaEn el lado izquierdo se denomina interfaz , mientras que el lado derecho contiene un multiconjunto no ordenado de ecuaciones.Cableadose traduce en nombres, y cada nombre debe aparecer exactamente dos veces en una configuración.
Igual que en el-cálculo , el cálculo de interacción tiene las nociones de-conversión y sustitución definidas naturalmente en configuraciones. Específicamente, ambas ocurrencias de cualquier nombre pueden ser reemplazadas por un nuevo nombre si este último no aparece en una configuración dada. Las configuraciones se consideran equivalentes hasta-conversión. A su vez, sustituciónes el resultado de reemplazar el nombreen un términocon otro términositiene exactamente una aparición en el término.
Cualquier regla de interacción puede representarse gráficamente de la siguiente manera:

dóndey la red de interacciónen el lado derecho se vuelve a dibujar usando las primitivas de cableado y árbol para traducirlas al cálculo de interacción comoutilizando la notación de Lafont.
El cálculo de interacción define la reducción en configuraciones con más detalle que el que se observa en la reescritura de grafos 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 una indirecta que resulta en la sustitución de la otra ocurrencia del nombreen algún término:
o .
Una ecuaciónse denomina interbloqueo sitiene ocurrencia en términosGeneralmente, solo se consideran redes de interacción libres de interbloqueos. Juntos, la interacción y la indirección definen la relación de reducción en las configuraciones. El hecho de que la configuraciónvuelve a su forma normalSin 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);
- fuerte confluencia también conocida como propiedad de diamante de un paso (siy, entoncesypara algunos).
Estas propiedades, en conjunto, 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 escony. Agentepuede considerarse como un borrador que elimina recursos;como duplicador;como constructor, tomando dos recursos y devolviendo un tercero, puede representar cualquier cosa desde operaciones binarias, como suma y multiplicación, hasta la aplicación general de funciones en el cálculo lambda, tomando términosyproducir. [ 5 ] Las reglas de interacción para estos agentes son:
- llamado borrado ;
- llamada duplicación ;
- yllamada 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, partiendo 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 directamente cálculos no deterministas. Para expresar elecciones no deterministas, es necesario extender las redes de interacción. De hecho, basta con introducir un solo agente.[ 6 ] con dos puertos principales y las siguientes reglas de interacción:

Este agente distinguido representa una elección ambigua y puede usarse para simular cualquier otro agente con un número arbitrario de puertos principales. Por ejemplo, permite definir unOperación booleana que devuelve verdadero si alguno de sus argumentos es verdadero, independientemente del cálculo que se realice en los demás argumentos.
Véase también
Referencias
- ↑ Lafont, Yves (1989). «Redes de interacción». Actas del 17.º simposio ACM SIGPLAN-SIGACT sobre principios de lenguajes de programación - POPL '90 . ACM. págs. 95–108 . doi : 10.1145/96709.96718 . ISBN 0897913434. S2CID 1165803 .
- ↑ Mackie, Ian (2008). "Una implementación de reducción cerrada mediante redes de interacción". Implementación y aplicación de lenguajes funcionales: 20.º simposio internacional . Lecture Notes in Computer Science. Vol. 5836. pp. 43–59 . doi : 10.1007/978-3-642-24452-0_3 . ISBN 978-3-642-24451-3.
- ^ van Oostrom, Vicente; van de Looij, Kees-Jan; Zwitserlood, Marijn (2010). "Lambdascope: otra implementación óptima del cálculo lambda" (PDF) . Archivado desde el original (PDF) el 6 de julio de 2017.
{{cite journal}}: Para citar una revista se requiere|journal=( ayuda ) - ↑ Fernández, Maribel; Mackie, Ian (1999). «Un cálculo para redes de interacción». Principios y práctica de la programación declarativa . Notas de clase en informática. Vol. 1702. Springer. pp. 170–187 . doi : 10.1007/10704567 . ISBN 978-3-540-66540-3. S2CID 19458687 .
- ↑ Lafont, Yves (1997). "Combinadores de interacción" . Información y computación . 137 (1). Academic Press, Inc.: 69– 101. doi : 10.1006/inco.1997.2643 .
- ↑ Fernández, Maribel; Khalil, Lionel (2003). "Redes de interacción con Amb de McCarthy: propiedades y aplicaciones" . Nordic Journal of Computing . 10 (2): 134– 162.
Lecturas adicionales
- Asperti, Andrea; Guerrini, Stefano (1998). La implementación óptima de lenguajes de programación funcional . Cambridge Tracts in Theoretical Computer Science. Vol. 45. Cambridge University Press. ISBN 9780521621120.
- Fernández, Maribel (2009). «Modelos de computación basados en la interacción». Modelos de computación: Una introducción a la teoría de la computabilidad . Springer Science & Business Media. pp. 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" . GitHub .
- Salikhmetov, Anton (22 de marzo de 2018). "Motor JavaScript para redes de interacción" .
- Salikhmetov, Anton. "Cálculo macro lambda" .
- Xie, Yuheng. "iNet, un lenguaje y un espacio interactivo para explorar redes de interacción" .
- Modelos de computación