O que são teoricamente boas linguagens de programação para problemas gráficos?

8

Existem inúmeras ferramentas / pacotes teóricos gráficos. Cada um com seus prós e contras. Qual deve ser a semântica / sintaxe de uma linguagem de programação para resolver problemas teóricos dos grafos?

Kaveh
fonte
2
Sua pergunta começa perguntando sobre uma linguagem de programação teórica de gráfico e depois termina falando sobre pacotes de desenho de gráfico. O que é que você quer?
Dave Clarke
Quero tanto em um só lugar e mais. Instalações de criação também.
3
Essa pergunta não tem foco - as respostas que você obteve são a pergunta "o que são teoricamente boas linguagens de programação para problemas de gráfico", que é um tópico sobre CSTheory e stackexchange. Você pode obter melhores respostas se conseguir restringir as coisas de "em um só lugar e mais" para algo mais específico.
Rob Simmons
1
Em particular, se você estiver interessado na pergunta "qual deveria ser um paradigma matematicamente correto e como você o decide?", Essa pergunta seria definitivamente um tópico sobre o CSTheory como uma pergunta independente da que você parece ser perguntando aqui.
Rob Simmons
@ Rob: Ok, estou mudando o título da pergunta. Embora eu não tenha perguntado. Eu estava procurando por um ambiente como o Mathematica. Que possui recursos superiores de publicação / criação, como o látex. Melhor sintaxe especializada em teoria de grafos. Melhores recursos de visualização. Sagemath é uma opção viável para famílias Linux, mas não para PCs.

Respostas:

20

Você pode olhar para o GP da Linguagem de programação gráfica . Na página vinculada:

GP (for Graph Programs) é uma linguagem de programação não determinística baseada em regras para resolver problemas gráficos em um alto nível de abstração, liberando os programadores de manipular estruturas de dados de baixo nível. O núcleo do GP consiste em quatro construções: aplicação em uma etapa de um conjunto de regras de transformação condicional de gráficos, composição seqüencial, ramificação e iteração.

Sandra Steinert dedicou sua tese de doutorado ao tópico.

Há também uma lógica Hoare para raciocinar sobre a correção de tais programas.

Dave Clarke
fonte
O foco principal da GP é tornar os programas gráficos mais legíveis.
Essa é uma maneira de interpretar "em um nível mais alto de abstração".
Dave Clarke
Sim. Mas, existem outros dois objetivos restantes. Um ambiente de autoria e visualização.
2
O pacote tikz / pgf latex é bastante flexível e pode produzir diagramas bonitos. Talvez isso seja mais do que você deseja.
Dave Clarke
10

Não tenho muita certeza do que você quer. Mas você já olhou para:

Suresh Venkat
fonte
Obrigado. Sim, exceto PADS. Eu quero um ambiente em que eu possa criar, processar, visualizar documentos baseados em gráficos, algoritmos, problemas etc.
Para mim, basta usar uma combinação de NetworkX, Latex com PGF. Mas eu estava pensando em mais. Fazendo tudo isso em um só lugar.
6

Dê uma olhada no Projeto Sage , que torna o python mais matemático e inclui o networkx e outras coisas interessantes de visualização. Sua lista de funções gráficas pode ser wiki.sagemath.org/graph_survey ou wiki.sagemath.org/graph.

Abraham Flaxman
fonte
Sagemath é incrível, sem dúvida. Lamento usar janelas. O VMWare dist é um problema de memória.
5

Sazzad - Estou um pouco frustrado com suas respostas. Você recebeu respostas e sugestões úteis, mas permanece insatisfeito. Use as melhores ferramentas disponíveis em seu sistema para vários aspectos da pesquisa de gráficos ou escreva você mesmo.

Craig Holman
fonte
: P Na verdade, eu não esperava uma resposta correta. Como não há nenhum. Eu queria debater várias idéias. Também queria saber o que os especialistas pensam sobre isso. Como se o que eu estava pensando é possível. Se sim, quais são as bases teóricas, etc. Agora, ao que parece, eu fiz muitas perguntas em um só lugar.
E obrigado pelo conselho, 'escreva o seu'. Eu definitivamente faria. Sagemath é uma alternativa muito boa. Já suporta látex. Tem um ótimo pacote de teoria dos grafos. Rotinas visuais excelentes. Portanto, provavelmente seria melhor incluir a sintaxe / semântica do GP, etc. E há outro grande desafio. Para fazer uma porta do Windows.
1
Eu não quis parecer tão irritado quanto na minha resposta. Desenvolvo novos algoritmos para o k-clique, cliques máximos e isomorfismo de gráficos, além de satisfação e simplificação booleana e fatoração. Escrevo meu próprio software para geração de instância e solução de problemas em C ++ em um ambiente Windows e não estou usando nenhuma biblioteca de gráficos. Eu usei o banco de dados de gráficos Amalfi. Eu experimentei algumas das ferramentas mencionadas para desenhar gráficos.
Craig Holman
1
@Sazzad: para o futuro, observe que este é um site de perguntas e respostas. Se você acha que sua pergunta pode ser respondida em primeiro lugar, não deve perguntar aqui, essas perguntas serão encerradas como "não é uma pergunta real", em pelo menos, deve ser um Wiki da comunidade se não estiver fechado. Leia " Como fazer uma boa pergunta " e as Perguntas frequentes do site .
Kaveh
3

Gremlin é um deles. Possui extensa documentação e está bem desenvolvida. Acredito que esteja em uso por um grupo da AT&T. Além disso, é multiplataforma (se você se importa com essas coisas). Há uma apresentação do autor em seu site, mas não consigo adicionar um hiperlink adicional a este post porque sou um novo usuário.

user7545
fonte