2012-04-28 26 views
5

tôi muốn vẽ một automata với các cạnh và các quốc gia circulaire, một cái gì đó giống như http://pop-art.inrialpes.fr/~girault/Cours/Automates/td5.html này, có u một ví dụ cho điều đólàm thế nào để vẽ automata trong java

+0

tôi dịch này để anh và liên kết thứ hai nói: "Thiết lập của quả bóng" .. – DanRedux

+0

những gì tôi muốn làm là vẽ một automata như http: // www .google.com/imgres? hl = vi & biw = 1280 & bih = 643 & tbm = isch & tbnid = q62yfBg-2QjZ5M: & imgrefurl = http: //pop-art.inrialpes.fr/~girault/Cours/Automates/td5.html&docid=6Ro8kL90vJ_XYM&imgurl=http: //pop-art.inrialpes.fr/~girault/Cours/Automates/determine-solution.gif&w=404&h=317&ei=nDmbT634GunH0QX_2_SYDw&zoom=1&iact=hc&vpx=190&vpy=148&dur=321&hovh=199&hovw=254&tx=151&ty=114&sig=100406407692710228905&page=1&tbnh = 137 & tbnw = 175 & bắt đầu = 0 & ndsp = 16 & ved = 1t: 429, r: 0, s: 0, i: 68 –

+1

@DanRedux: vậy? Tôi đã dịch nó sang tiếng Đức, và đó là „Kugelspiel“, tên gọi chung cho loại automaton đó. –

Trả lời

6

JGraph là một thư viện bạn có thể sử dụng đó là nguồn gốc từ Java và khá dễ sử dụng hoặc bạn có thể tạo một tệp .dot và để GraphViz chăm sóc nó cho bạn.

2

Nếu bạn không muốn mang theo những thứ như biểu diễn đồ thị theo cách chính xác như bạn cố gắng không vượt qua các đường kẻ hoặc không có hai hoặc nhiều nút ở cùng vị trí thì tôi khuyên bạn nên sử dụng thư viện biểu đồ grail vì vậy bạn có thể thấy biểu đồ bằng cách sử dụng các công trình yed (tôi có thể cung cấp cho bạn một ví dụ về nó chỉ viết biểu thức chính quy mà bạn nhận xét), hoặc nếu bạn muốn vẽ đồ thị, bạn có thể học tốt về vẽ đồ thị lớp: http://en.wikipedia.org/wiki/Layered_graph_drawing và Coffman Graham thuật toán http://en.wikipedia.org/wiki/Coffman%E2%80%93Graham_algorithm

+0

cảm ơn bạn đã trả lời, trên thực tế, tôi đang cố gắng phân tích cú pháp tệp XMl và sau đó tôi phải tạo cụm từ thông dụng cho tệp XML, sau đó tôi phải vẽ automata, có một ví dụ trong bài đăng này http : //stackoverflow.com/questions/10395825/create-a-regular-expression-using-data-extracted-from-an-xml-file –

+1

Aha, tôi nghĩ bạn có rất nhiều việc phải làm ở đây. Tôi đã làm một cái gì đó như thế theo cách này: đầu tiên tôi đã tạo ra một ngữ pháp đặc tả ANTLR cho các biểu thức chính quy hợp lệ, và AST là tốt. Sau đó, sử dụng trình phân tích cú pháp và lexer tôi nhận được từ antlr tôi có một CommonTree cụ thể cho mỗi biểu thức chính quy, tôi đã đi qua cây đó và xây dựng NFA đầu tiên (sử dụng thuật toán Thompson). Khi bạn có NFA, sử dụng thuật toán xây dựng tập hợp con, bạn có thể tạo biểu đồ DFA. – sm13294

Các vấn đề liên quan