¿Cuáles son los lenguajes de programación teóricamente sólidos para problemas de gráficos?

8

Existen numerosas herramientas / paquetes de teorías gráficas. Cada uno con sus pros y sus contras. ¿Cuál debería ser la semántica / sintaxis de un lenguaje de programación para resolver problemas de teoría de grafos?

Kaveh
fuente
2
Su pregunta comienza preguntando sobre un lenguaje de programación teórico de gráficos y luego termina hablando sobre paquetes de dibujo de gráficos. ¿Qué es lo que quieres?
Dave Clarke
Quiero ambos en un lugar y más. Instalaciones de autor también.
3
Esta pregunta carece de enfoque: las respuestas que ha obtenido son a la pregunta "¿cuáles son los lenguajes de programación teóricamente sólidos para problemas de gráficos?", Que es el tema de CSTheory y stackexchange. Puede obtener mejores respuestas si puede reducir las cosas de "tanto en un solo lugar como más" a algo más específico.
Rob Simmons
1
En particular, si está interesado en la pregunta "¿cuál debería ser un paradigma matemáticamente correcto y cómo lo decide?", Esa pregunta definitivamente sería un tema para CSTheory como una pregunta independiente de la que parece ser preguntando aquí.
Rob Simmons
@Rob: Ok, estoy cambiando el título de la pregunta. Aunque no pregunté eso. Estaba buscando un entorno como Mathematica. Eso tiene capacidades superiores de publicación / autor, como latex. Mejor sintaxis especializada para la teoría de grafos. Mejores capacidades de visualización. Sagemath es una opción viable para familias de Linux, pero no para PC.

Respuestas:

20

Es posible que desee ver el GP de lenguaje de programación de gráficos . Desde la página vinculada:

GP (para programas de gráficos) es un lenguaje de programación no determinista basado en reglas para resolver problemas de gráficos en un alto nivel de abstracción, liberando a los programadores del manejo de estructuras de datos de bajo nivel. El núcleo de GP consiste en cuatro construcciones: aplicación en un solo paso de un conjunto de reglas condicionales de transformación de gráficos, composición secuencial, ramificación e iteración.

Sandra Steinert dedicó su tesis doctoral al tema.

También hay una lógica de Hoare para razonar sobre la corrección de tales programas.

Dave Clarke
fuente
El enfoque principal de GP es hacer que los programas gráficos sean más legibles.
Esa es una forma de interpretar "a un nivel más alto de abstracción".
Dave Clarke
Si. Pero, entonces quedan otros dos objetivos. Un entorno de autoría y visualización.
2
El paquete de látex tikz / pgf es bastante flexible y puede producir diagramas bonitos. Tal vez esto sea más parecido a lo que quieres.
Dave Clarke
10

No estoy completamente seguro de lo que quieres. Pero has mirado:

Suresh Venkat
fuente
Gracias. Sí, excepto PADS. Quiero un entorno, en el que puedo autor, procesos, documentos basados en gráficos visualizar, algoritmos, etc. problemas
Para mí, usar una combinación de NetworkX, Latex con PGF es suficiente. Pero, estaba pensando en más. Haciendo todo esto en un solo lugar.
6

Eche un vistazo al Proyecto Sage , que hace que Python sea más matemático e incluye networkx y cosas agradables de visualización. Su lista de funciones gráficas puede ser wiki.sagemath.org/graph_survey o wiki.sagemath.org/graph.

Abraham Flaxman
fuente
Sagemath es impresionante, sin duda. Lamento usar Windows. VMWare dist es un cerdo de memoria.
5

Sazzad: estoy un poco frustrado con tus respuestas. Le han dado respuestas y sugerencias útiles, pero aún no está satisfecho. Utilice las mejores herramientas disponibles en su sistema para varios aspectos de la investigación gráfica o escriba las suyas propias.

Craig Holman
fuente
: P En realidad no esperaba ninguna respuesta correcta. Como no hay ninguno. Quería hacer una lluvia de ideas sobre varias ideas. También quería saber qué piensan los expertos al respecto. Como si lo que estaba esperando es posible en absoluto. Si es así, cuáles son las bases teóricas, etc. Ahora parece que he hecho muchas preguntas en un solo lugar.
Y gracias por el consejo, 'escribe el tuyo'. Definitivamente lo haría. Sagemath es una muy buena alternativa. Ya es compatible con el látex. Tiene un gran paquete de teoría de grafos. Excelentes rutinas visuales. Entonces, probablemente sería mejor incluir la sintaxis / semántica GP, etc. Y, hay otro gran desafío. Para hacer un puerto de windows.
1
No quise decir que fuera tan presuntuoso como lo hice en mi respuesta. Diseño nuevos algoritmos para k-clique, camarillas máximas e isomorfismo gráfico, así como la satisfacción booleana y la simplificación, y la factorización. Escribo mi propio software para la generación de instancias y la solución de problemas en C ++ en un entorno Windows y no estoy usando ninguna biblioteca de gráficos. He usado la base de datos de gráficos de Amalfi. Experimenté con algunas de las herramientas mencionadas para dibujar gráficos.
Craig Holman
1
@Sazzad: para el futuro, tenga en cuenta que este es un sitio de preguntas y respuestas, si cree que su pregunta no puede ser respondida en primer lugar, no debe hacerla aquí, tales preguntas se cerrarán como "no es una pregunta real", en al menos debería ser un Wiki de la comunidad si no está cerrado. Lea " Cómo hacer una buena pregunta " y las Preguntas frecuentes del sitio .
Kaveh el
3

Gremlin es uno. Cuenta con una amplia documentación y está bien desarrollado. Creo que lo usa un grupo de AT&T. Además, es multiplataforma (si te importan esas cosas). Hay una presentación del autor en su sitio web, pero no puedo agregar un hipervínculo adicional a esta publicación porque soy un usuario nuevo.

user7545
fuente