Saya mencari algoritme untuk menggambar grafik gabungan / ketergantungan (untuk aplikasi linguistik). Grafik seperti itu akan memiliki dua jenis simpul yang berbeda (token, node), dan dua jenis tepi yang berbeda (hierarkis, non-hierarkis).
Saya baru mengenal teori grafik dan algoritma secara umum, dan saya harap pertanyaan ini tidak berbenturan misalnya dengan persyaratan tingkat penelitian situs ini. Namun umumnya harus dalam lingkup cerita .
Grafik harus ditarik dari bawah ke atas (saya pikir), karena semua token harus ditampilkan dengan koordinat y yang sama, dan koordinat y dari token pengelompokan node dan / atau simpul ke dalam konstituen harus dihitung secara dinamis, misalnya, melalui jalur terpanjang mereka ke token.
Tepi hierarkis (digunakan untuk mengelompokkan token / node ke dalam konstituen) harus memiliki jumlah titik bend minimum (idealnya 0), tetapi juga harus ada jumlah penyeberangan minimum, menimpa persyaratan sebelumnya jika perlu.
Tepi non-hierarkis (digunakan untuk dependensi) harus memiliki jumlah penyeberangan minimum, dan digambarkan sebagai kurva Bézier.
Hal terbaik berikutnya yang saya temui adalah algoritma yang dijelaskan oleh Buchheim et al. , meningkatkan algoritme Walker untuk berjalan dalam waktu linier.
Tolong beri tahu saya jika ada kebutuhan untuk meningkatkan pertanyaan saya, dan terima kasih banyak sebelumnya untuk petunjuk apa pun.
EDIT:
Seperti yang ditunjukkan dalam komentar, saya harus menyebutkan bahwa pada dasarnya saya ingin tata letak grafik default dengan suatu algoritma, yang saya - dalam jangka panjang - ingin mengedit dan merevisi dalam kemungkinan GEF Eclipse . Saya sebelumnya telah melihat opsi untuk membuat Graphviz bekerja dengan GEF, tetapi sepertinya tidak ada solusi yang berfungsi yang menjaga semua fungsi pengeditan yang diwarisi dari GEF.