Thứ Hai, 12 tháng 9, 2016

Igraph - Phần mềm mã nguồn mở tạo và xử lý đồ thị

1. GIỚI THIỆU

igraph là gói phần mềm mã nguồn mở dùng để tạo và xử lý đồ thị có hướng và vô hướng. Nó cài đặt hầu hết các bài toán cơ bản của lý thuyết đồ thị như minimum spanning trees, network flowcũng như cài đặt một số thuật toán hỗ trợ cho việc phân tích mạng phức hợp xuất hiện trong những năm gần đây như tìm kiếm cấu trúc cộng đồng.
Tính hiệu quả của gói igraph ở chỗ là nó có thể xử lý các đồ thị có đến cả ngàn đỉnh và cạnh. Mấu chốt nằm ở chỗ đồ thị có thể lưu trữ dưới nhiều định dạng khác nhau trên bộ nhớ vật lý mà igrahp nạp và trước khi xử lý.
Gói igraph có thể cài đặt dưới nhiều dạng khác nhau như:
·         Cài đặt igraph như một thư viện trong C/C++ nếu bạn muốn ứng dụng igraph vào những dự án khác nhau, hoặc bạn tự thiết kế các module phân tích mạng trong C/C++ có sử dụng các hàm và cấu trúc dữ liệu do igraph cung cấp.
·         Cài đặt igraph như một gói (package) của R. Dùng cách này nếu chúng ta xử lý graph trên R interpreter.
·         Cài đặt igraph như là một module mở rộng trong Python. Sử dụng cách này nếu bạn muốn kết hợp igraph với ngôn ngữ Python.
·         Cài đặt igraph như là một module trong Ruby.
Ứng với mỗi cách sử dụng sẽ có cách cài đặt phù hợp. Bạn cần xem  tại download page để biết thêm chi tiết.

2. HƯỚNG DẪN CÀI ĐẶT

Trong phần này chỉ hướng dẫn cài đặt igraph như một thư viện của C/C++
Đầu tiên cần phải cài đặt Cygwin
+ Tải Cygwin ở đây (win 32bit) hoặc ở đây (win 64bit)

+ Sau khi tải về, nháy đúp vào file setup.exe để cài đặt. Trong quá trình cài đặt cứ nhấn Next cho đến bước như hình dưới
Đến đây người dùng cần phải chọn những gói (package) phù hợp với nhu cầu của mình. Để cài đặt được Igraph trên Cgywin và dùng ngôn ngữ lập trình C/C++ thì cần các gói:
gcc-core;  make; openssl; ssh; vim
Xem thêm video: https://www.youtube.com/watch?v=hh-V6el8Oxk để biết cách chọn các package)
Sau đó nhấn Next cho đến khi cài xong Cygwin
Tiếp theo: cài Igraph
+ Tải igraph về (ở đây)  rồi giải nén được 1 thư mục có tên igraph-0.7.1 (hoặc tương tự)
Đưa thư mục này vào trong thư mục C:\cygwin64\home\haiph
Trong đó C:\cygwin64 có thể sẽ khác tùy vào người cài đặt, haiph là tên của user trong máy tính
+ Mở Cygwin (có shortcut ở màn hình Destop) gõ lệnh cd igraph-0.7.1
Tiếp tục gõ các lệnh:
./configure
make
make install
Lưu ý: sau khi gõ một lệnh có thể phải chờ khá lâu tùy vào cấu hình máy để cho chương trình chạy xong
Đến đây xem như việc cài igraph đã xong.
Test thử
+ Copy file  igraph_test.c  vào trong thư mục C:\cygwin64\home\haiph (thư mục này có thể khác như đã nói ở trên)
+ Mở Cygwin và gõ dòng lệnh
gcc igraph_test.c -I/usr/local/igraph -L/usr/local/lib -ligraph -o igraph_test
Nếu báo lỗi
Tức là đường dẫn bị sai nên không tìm thấy file igraph.h trong thư mục
Lúc này cần sửa lại lệnh trên thành
gcc igraph_test.c -I/usr/local/include/igraph -L/usr/local/lib -ligraph -o igraph_test
Sau đó gõ lệnh ./igraph_test
Kết quả hiện thị

Vậy là xong.
Có thể xem thêm nhiều ví dụ khác tại: http://igraph.org/c/doc/igraph-tutorial.html
Chúc thành công!