Xác định 1 mô hình topo là một vấn đề dễ dàng .Sau do, những tinh chat cua no cho phép ta đưa ra được thuật toán để tính toán nhanh chóng.
Thuật toán 1 :Dựa trên sự nhan xet sau: G là một sơ đồ không kin, nếu người ta bỏ điểm nguồn ra khỏi G (hay điẻm giếng) Sơ đồ còn lại vẫn là sơ đồ không có vòng (Hay là một sơ đồ trống ). Đánh số lại các đỉnh trong trật tự sau khi 1 số đỉnh đã được bỏ trống, người ta đạt được một cách đánh số theo mô hình topo .Hơn nữa nếu sơ đồ luc dau là sai và la vòng kín , thi khong có thể đánh số N đỉnh. Thuật toán nay cho phép tìm ra 1 sơ đồ có vòng kin hay khong không trinh bay no.
Thuật toán như sau
i 0
khi co một đỉnh nguồn S, ta làm :
i i+1
Numéro (S) i Retirer S
Cham dut khi co
Circuit Détecté i<n Thuật toán 2 :
Dựa trên việc khám phá đồ thị theo chiều sâu. Dau tien không có đỉnh nào được đánh dấu : Se Sommet Puit (Đỉnh giếng)
i 0
Répeter
Khi tồn tại một đỉnh S đứng trước SE mà chưa được đánh dau thì Marque (S) SE va SE xin them vao cac dau hieu
Cham dut khi ton tai
Khi tồn tại một đỉnh S đứng trước SE mà S chưa được đánh số thì tồn tại một vòng x1 = S , xi =Marque (x i=1) xp =SE
Neu khong
i i+1
Numero (SI) i Cham dut i
SE Marque(SE) Cho đến khi i =n hoặc vòng kín được tìm thấy
Thuật toán 3 : Giả sử rằng sơ đồ với các đỉnh đựơc sắp xếp theo các mức, hien nhien sự lựa chọn se dựa trên các mức đỉnh và trong 1 mức nao do thi cac thu tu la tuy tien (nhu trong hinh 12.1) .Để xax dinh mức các đỉnh, ngừơi ta sử dụng một cách khác của thuật toán 1
i 0
khi sơ đồ không trống ,ta làm : i i+1
Cho tất cả các nguồn S
Nivear (S) i Retire S
FinPour Fintant que
12.13. Phu luc: Phuong phap phat hien va van de NP-hoan toan;
Cach ngon xua co noi "Dat van de 1 cach dung dan la da giai quyet duoc 1/2 roi" va nhieu doc gia cung dong y la giai phap toi uu co duoc neu chung ta dat van de mot cach chinh xac. O day chung ta co gang dua ra 1 phuong phap tong quat cho phep cung luc:
- tim duoc giai phap toi uu; - du cho du lieu nhu the nao; - trong 1 thoi gian hop ly.
Chung ta xet thi du 1 nguoi chao hang: anh ta phai di tu tin nay sang tinh khac, moi tinh 1 lan. Voi 2 tinh bat ky i va j, duong di tu i den j can chi phi ci,j. Nguoi chao hang nay co gang de toi thieu chi phi di chuyen ci,j cua minh. O day chung ta tim phuong phap doc lap voi cac chi phi ci,j
Mot phuong phap tim toi uu doi lap voi du lieu nhu sau: - ke ra tat ca cac duong di co the;
- chon duong ngan nhat.
Với n tinh , có n! con đường có thể. Giả sử thoi gian đi duoc tinh theo giay , ta có: Với 5 tinh Với 10 tinh Với 15 tinh 120 giay 3628800s=1 000 gio 1,3E12 s = 363242880h = 41 465 nam Người ta thấy rằng thong so quyet dinh doi voi nguoi chao hang la thời gian để thực hiện thuật toán theo kich thuoc du lieu cua van de. O day chung ta chon tieu chuan thời gian (doi voi nguoi su dung), thời gian nay phụ thuộc vào vật liệu (quang duong) để tính toán . Neu trở lại việc so sánh độc lập voi vật liệu, thi dut khoat độ phức tạp se biểu thị theo số lượng cac quá trình cần phải thực hiện để tìm ra giải pháp, trong trường hợp bất lợi nhất . Người ta gọi :
- Thuật toán polynominal là thuật toán có số lượng các phép là 1 đa thức cua n : t = 0(nα)
- Thuật toán non polynominal (NP) là cac thuật toán khac , ví dụ : t = 0(aα) hay t = 0(n!)
Sự phân chia này chỉ là ly thuyết nhưng nó có ý nghĩa rất lớn giup dinh vi van de. Trong thực tế sự phân chia này khong ro rang. Khi hệ số α lớn hơn một giá trị nao do (khoảng 3 hoặc 4 đối với một máy tính hiện nay ),thuật toán polynominal doi hoi thời gian tính quá lâu . Trong thực tế người ta thường sử dụng thuật toánduoi dang t = 0(nα) với α ≤ 3 hoặc 4.
Ở đây cũng tồn tại một vài nghịch lý: Thuat toan tren cac toan tu (dantzig) thi non- polynomial tren ly thuyet, nhung trong thuc te lai duoc xu ly nhanh hon thuat toan ellipsoides, la thuat toan polynomial.
Cac nha nghien cuu da phan loai cac van de gap phai. Dac biet, voi 2 van de P1 va P2 va gia su la ta co the chuyen doi theo thoi gian polynomial van de P1 thanh van de P2. Trong truong hop nay, neu chung ta co the giai quyet van de P2 theo thoi gian
polynomial thi P1 cung duoc giai theo cach nay.
Hien nay, nguoi ta biet rat nhieu van de co the chuyen doi, va cang ngay cang gan nhau va cuoi cung co the dua ve van de cua nguoi chao hang. Neu chi 1 van de trong nhom nay la polynomial thi tat ca van de con lai deu polynomial.
Những vấn đề thuộc lớp này gọi là NP-đầy đủ . Nhóm lớp này chưá gần như đầy đủ tất cả các vấn đề thông thường ( thời gian với các phương sách khả thi , cách sử dụng ….).Ý tưởng chủ đạo là không thể tồn tại thuật tóan polynominal cho tất cả các vấn đề .
Biet nhu vay, de doi pho voi 1 van de NP, 2 cach tiep can co the:
1. Tìm thuật toán tối ưu (bắt buộc nonpolynominal ) ngày càng hiệu quả , nhưng việc ứng dụng chung trong thực tế bị giới hạn bởi khi do lon cua du lieu vuot qua 1 muc nao do (ví dụ vấn đề lich trinh của 10 chi tiet, và 10máy được đưa ra vào năm 1955 đã được giải quyết lần đầu tiên bởi Carlier và Pinson vào năm 1989. Hien nay van de nay được giải lại chỉ trong vài phút bởi máy vi tính cá nhân PC ). Lợi ích của cách này là nó buộc các nhà nghien cuu phải phát triển những lý thuyết mới về toán .
2. Tìm cac giải pháp gan dung bang cach sử dụng khoa học phát hiện xung quanh thời gian hợp lý, nhưng không thể đảm bảo tính tối ưu của giải pháp. Trong đại đa số trường hợp, khoa học phát hiện sử dụng những phan mem tren thi truong cho ta nhung giải pháp đúng đắn. Tuy nhien, va dó cũng là một đặc tính của khoa học phát hiện, người ta luôn co thể gặp lại những trường hợp mà phát hiện thi hoan hao nhung lai đưa ra kết quả xấu nhất . Ở đây cũng tồn tại một vài nghịch lý . Theo lý thuyết ,thuật toán đơn giản là nonpolynominal ,nhưng trong thực tế thuật toán nhanh hơn là thuật toán Elip ,bản thân nó lại là polynominal (đa thức ) .Ngoại trừ vài trường hợp đặc biệt , với thuật toán
nonpolynominal ,trường hợp xấu nhất là thời gian tính toán quá lâu .
Những nhà tìm kiếm đã đưa ra sự phân loại những vấn đề mà họ gặp . Đặc biệt là xét 2 vấn đề P1 và P2 người ta giả sử rằng có thể chuyển thời gian tính vấn đề P1 sang thời gian tính vấn đề P2 .Trong trường hợp này , nếu thời gian tính P2 tuân theo hàm
polynominal thì P1 cũng có thời gian theo hàm polynominal .
Trong thực tế người ta biết rất nhiều phép biến đổi như vậy ,dần dần từ cái này biến đổi sang cái khác và rút lại cuối cùng là việc đếm các vấn đề của người hành khách .Nếu chỉ có 1 vấn đề là polynominal thì tất cả các vấn đề khác cũng vậy .Những vấn đề thuộc lớp này gọi là NP-đầy đủ . Nhóm lớp này chưá gần như đầy đủ tất cả các vấn đề thông thường ( thời gian với các phương sách khả thi , cách sử dụng ….) .Ý tưởng chủ đạo là không thể tồn tại thuật tóan polynominal cho tất cả các vấn đề .