グラフの問題に対して理論的に適切なプログラミング言語は何ですか?


8

多くのグラフ理論ツール/パッケージがあります。それぞれ長所と短所があります。グラフ理論の問題を解決するためのプログラミング言語のセマンティクス/構文は何ですか?


2
あなたの質問は、グラフ理論プログラミング言語について尋ねることから始まり、次にグラフ描画パッケージについて話すことで終わります。何が欲しいの?
デイブクラーク

1か所以上に両方が欲しい。オーサリング機能も。

3
この質問には焦点がありません。あなたが得た答えは、CSTheoryとstackexchangeのトピックである「グラフの問題に対して理論的に適切なプログラミング言語は何か」という質問に対する回答です。「1か所以上の両方」からより具体的なものに絞り込むことができれば、より良い答えを得ることができます。
Rob Simmons

1
特に、「数学的に正しいパラダイムとは何か、どうやってそれを決定するのか」という質問に興味がある場合、そのような質問は、CSTheoryにとって、あなたがそうであるように思われる質問とは独立した質問であることは間違いありません。ここで尋ねます。
Rob Simmons

@Rob:わかりました。質問のタイトルを変更します。質問はしなかったけど。Mathematicaのような環境を探していました。それは、latexのような優れたパブリッシング/オーサリング機能を備えています。グラフ理論に特化したより良い構文。より優れた視覚化機能。SagemathはLinuxファミリでは実行可能なオプションですが、PCでは使用できません。

回答:


20

あなたはTで見たいと思うかもしれません言語GPのプログラミング彼のグラフ。リンクされたページから:

GP(グラフプログラム用)は、高レベルの抽象化でグラフの問題を解決するためのルールベースの非決定的プログラミング言語であり、プログラマーが低レベルのデータ構造を処理することから解放されます。GPのコアは4つの構成要素で構成されています。条件付きグラフ変換ルールのセットのシングルステップアプリケーション、逐次合成、分岐、反復です。

サンドラ・シュタイナートは彼女の博士論文をこのトピックに捧げました。

そのようなプログラムの正確さについて推論するためのHoareロジックもあります。


GPの主な焦点は、グラフプログラムを読みやすくすることです。

これは、「より高い抽象化レベル」で解釈する1つの方法です。
デイブクラーク

はい。しかし、その後、他の2つの目的が残っています。オーサリングおよび視覚化環境。

2
tikz / pgfラテックスパッケージは非常に柔軟性があり、美しい図を作成できます。多分これはあなたが望むものに沿ったものです。
Dave Clarke

10

私はあなたが何を望んでいるのか完全にはわかりません。しかし、あなたは見ましたか:


ありがとう。はい、PADSを除きました。グラフベースの論文、アルゴリズム、問題などを作成、処理、視覚化できる環境が必要です

私にとっては、NetworkX、LatexとPGFの組み合わせを使用すれば十分です。しかし、私はもっと考えていました。これらすべてを1か所で行う。

6

Sage Projectを見てください。これにより、Pythonがより洗練されたものになり、networkxと素晴らしい視覚化機能が含まれています。グラフ関数のリストは、wiki.sagemath.org / graph_surveyまたはwiki.sagemath.org/graphです。


Sagemathは間違いなく素晴らしいです。Windowsを使用しています。VMWare distはメモリを独占します。

5

Sazzad-私はあなたの返答に少し不満を感じています。あなたは有用な回答と提案を与えられましたが、まだ満足していません。システムで利用できる最高のツールをグラフ調査のいくつかの側面に使用するか、独自のツールを作成してください。


:P実際、私は正解を期待していませんでした。何もないので。いくつかのアイデアをブレインストーミングしたいと思いました。また、専門家がそれについてどう思うか知りたいと思っていました。なんか薄っぺらかったのか全然可能です。もしそうなら、理論的な基礎などは何ですか?今では、私は一か所で多くの質問をしました。

そしてアドバイスをありがとう、「自分で書く」。私は間違いなくそうします。Sagemathは非常に優れた代替手段です。すでにラテックスをサポートしています。優れたグラフ理論パッケージがあります。優れたビジュアルルーチン。したがって、おそらくGP構文/セマンティクスなどを含めるのが最善です。そして、別の大きな課題があります。Windowsポートを作成します。

1
私は私の答えでしたのと同じくらいスニッピーで落ちるつもりはありませんでした。私は、kクリークの存在、最大クリーク、グラフ同型、およびブール充足可能性と単純化、および因数分解の新しいアルゴリズムを設計します。Windows環境のC ++でインスタンス生成と問題解決のための独自のソフトウェアを作成し、グラフライブラリを使用していません。アマルフィグラフデータベースを使用しました。グラフを描くために言及したツールのいくつかを試してみました。
Craig Holman

1
@Sazzad:今後のために、これはQ&Aサイトであることに注意してください。最初に質問に回答できないと思われる場合は、ここでは質問しないでください。そのような質問は、「本当の質問ではない」として閉じられます。閉じていない場合は、少なくともコミュニティWikiである必要があります。「良い質問をする方法」とサイトのFAQを読んでください
Kaveh 2010

3

グレムリンは1つです。豊富なドキュメントがあり、十分に開発されています。AT&Tのグループで使用されていると思います。また、それはクロスプラットフォームです(そのようなことに関心がある場合)。彼のウェブサイトには著者によるプレゼンテーションがありますが、私は新しいユーザーなので、この投稿にハイパーリンクを追加することはできません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.