Các ngôn ngữ lập trình âm thanh lý thuyết cho các vấn đề đồ thị là gì?


8

Có rất nhiều công cụ / gói lý thuyết đồ thị. Mỗi cái đều có ưu và nhược điểm. Điều gì nên là ngữ nghĩa / cú pháp của một ngôn ngữ lập trình có nghĩa là để giải quyết các vấn đề lý thuyết đồ thị?


2
Câu hỏi của bạn bắt đầu hỏi về một ngôn ngữ lập trình lý thuyết đồ thị và sau đó kết thúc nói về các gói vẽ biểu đồ. Bạn muốn gì
Dave Clarke

Tôi muốn cả hai ở một nơi và nhiều hơn nữa. Cơ sở tác giả cũng vậy.

3
Câu hỏi này thiếu trọng tâm - câu trả lời bạn nhận được cho câu hỏi "ngôn ngữ lập trình âm thanh lý thuyết cho các vấn đề đồ thị là gì", đây là chủ đề của CSTheory và stackexchange. Bạn có thể nhận được câu trả lời tốt hơn nếu bạn có thể thu hẹp mọi thứ từ "cả ở một nơi và nhiều hơn" thành một cái gì đó cụ thể hơn.
Rob Simmons

1
Đặc biệt, nếu bạn quan tâm đến câu hỏi "mô hình chính xác về mặt toán học là gì và bạn quyết định như thế nào?", Một câu hỏi như vậy chắc chắn sẽ là chủ đề của CSTheory như một câu hỏi độc lập với câu hỏi của bạn hỏi ở đây
Rob Simmons

@Rob: Ok, tôi đang thay đổi tiêu đề câu hỏi. Mặc dù tôi đã không hỏi điều đó. Tôi đang tìm kiếm một môi trường như Mathematica. Điều đó có khả năng xuất bản / tác giả vượt trội, như latex. Cú pháp tốt hơn chuyên ngành cho lý thuyết đồ thị. Khả năng hình dung tốt hơn. Sagemath là một lựa chọn khả thi cho các gia đình linux, nhưng không phải cho máy tính cá nhân.

Câu trả lời:


20

Bạn có thể muốn xem T he GP Language Language Language . Từ trang được liên kết:

GP (dành cho Chương trình đồ thị) là ngôn ngữ lập trình không dựa trên quy tắc để giải quyết các vấn đề về đồ thị ở mức độ trừu tượng cao, giải phóng các lập trình viên khỏi việc xử lý các cấu trúc dữ liệu cấp thấp. Cốt lõi của GP bao gồm bốn cấu trúc: ứng dụng một bước của một tập hợp các quy tắc chuyển đổi đồ thị có điều kiện, thành phần tuần tự, phân nhánh và lặp.

Sandra Steinert dành luận án tiến sĩ của mình cho chủ đề này.

Ngoài ra còn có logic Hoare để suy luận về tính đúng đắn của các chương trình đó.


Trọng tâm chính của GP là làm cho các chương trình đồ thị dễ đọc hơn.

Đó là một cách để diễn giải "ở mức độ trừu tượng cao hơn".
Dave Clarke

Đúng. Nhưng, sau đó còn hai mục tiêu khác. Một môi trường tác giả và hình dung.

2
Gói latex tikz / pgf khá linh hoạt và có thể tạo ra các sơ đồ đẹp. Có lẽ đây là nhiều hơn những gì bạn muốn.
Dave Clarke

10

Tôi không hoàn toàn chắc chắn những gì bạn muốn. Nhưng bạn đã xem:


Cảm ơn. Có, tôi đã trừ PADS. Tôi muốn có một môi trường, trong đó tôi có thể tác giả, xử lý, trực quan hóa các bài viết dựa trên biểu đồ, thuật toán, vấn đề, v.v.

Đối với tôi, sử dụng kết hợp NetworkX, latex với PGF, là đủ. Nhưng, tôi đã suy nghĩ nhiều hơn. Làm tất cả những điều này tại một nơi.

6

Hãy xem Dự án Sage , làm cho python trở nên toán học hơn, và bao gồm cả mạng và các công cụ trực quan đẹp. Danh sách chức năng đồ thị của họ có thể là wiki.sagemath.org/graph_survey hoặc wiki.sagemath.org/graph.


Sagemath là tuyệt vời, không có nghi ngờ. Tôi rất tiếc tôi sử dụng windows. VMWare dist là một con heo nhớ.

5

Sazzad - Tôi hơi thất vọng với câu trả lời của bạn. Bạn đã được đưa ra câu trả lời và đề xuất hữu ích, nhưng bạn vẫn không hài lòng. Sử dụng các công cụ tốt nhất có sẵn trên hệ thống của bạn cho một số khía cạnh của nghiên cứu biểu đồ hoặc viết của riêng bạn.


: P Thật ra tôi không mong đợi bất kỳ câu trả lời đúng. Như không có. Tôi muốn động não một số ý tưởng. Cũng muốn biết các chuyên gia nghĩ gì về nó. Giống như liệu những gì tôi đã thining là có thể ở tất cả. Nếu vậy, các cơ sở lý thuyết là gì, vv Bây giờ có vẻ như, tôi đã hỏi nhiều câu hỏi ở một nơi.

Và cảm ơn vì lời khuyên, 'hãy tự viết'. Tôi chắc chắn sẽ. Sagemath là một lựa chọn rất tốt. Nó đã hỗ trợ latex. Có một gói lý thuyết đồ thị tuyệt vời. Thói quen trực quan tuyệt vời. Vì vậy, có lẽ tốt nhất là bao gồm cú pháp GP / ngữ nghĩa, v.v. Và, có một thách thức lớn khác. Để làm một cổng windows.

1
Tôi không có ý định đi nhanh như tôi đã làm trong câu trả lời của mình. Tôi thiết kế các thuật toán mới cho k-clique tồn tại, các nhóm tối đa và đẳng cấu đồ thị, cũng như sự thỏa mãn và đơn giản hóa boolean, và bao thanh toán. Tôi viết phần mềm của riêng tôi để tạo ví dụ và giải pháp vấn đề trong C ++ trên môi trường Windows và không sử dụng bất kỳ thư viện đồ thị nào. Tôi đã sử dụng cơ sở dữ liệu đồ thị Amalfi. Tôi đã thử nghiệm với một số công cụ được đề cập để vẽ biểu đồ.
Craig Holman

1
@Sazzad: trong tương lai, lưu ý rằng đây là trang web Hỏi & Đáp, nếu bạn không nghĩ câu hỏi của mình có thể được trả lời ngay từ đầu, bạn không nên hỏi nó ở đây, những câu hỏi như vậy sẽ bị đóng lại là "không phải là một câu hỏi thực sự", tại ít nhất nó phải là một Wiki cộng đồng nếu không đóng cửa. Vui lòng đọc " Cách đặt câu hỏi hay " và Câu hỏi thường gặp của trang web .
Kaveh

3

Gremlin là một. Nó có tài liệu rộng rãi và được phát triển tốt. Tôi tin rằng nó được sử dụng bởi một nhóm tại AT & T. Ngoài ra, nó là nền tảng chéo (nếu bạn quan tâm đến những điều như vậy). Có một bài thuyết trình của tác giả trên trang web của anh ấy, nhưng tôi không thể thêm một siêu liên kết bổ sung vào bài đăng này vì tôi là người dùng mới.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.