Thuật toán di truyền song song

Một phần của tài liệu (LUẬN án TIẾN sĩ) nghiên cứu công nghệ xây dựng anten mạng pha số tuyến thu băng x (Trang 59 - 70)

2.1 Thuật tốn thích nghi

2.1.4 Thuật toán di truyền song song

Trong mục này trình bày sơ lƣợc về mơ hình tính tốn song song và khả năng áp dụng của phƣơng pháp tính tốn này vào thuật tốn di truyền sử dụng trong anten thích nghi.

2.1.4.1 Mơ hình tính tốn song song

Một cơng việc, một vấn đề hay một bài tốn nào đó nếu đƣợc phân chia thành nhiều vấn đề nhỏ hơn (Hình 2.10), các vấn đề nhỏ hơn này nếu có thể thực hiện đồng thời thì ta nói vấn đề đó đƣợc thực hiện tính tốn song song.

Tính tốn song song là sự phát triển của tính tốn tuần tự, tính tốn song song rất phức tạp, các sự kiện liên quan với nhau xảy ra tại cùng một thời điểm, cùng trong phạm vi của chuỗi hành động. Quan niệm đơn giản nhất, tính tốn song song là sử dụng đồng thời nhiều máy tính đƣợc kết nối lại hoặc trên một máy tính có nhiều bộ vi xử lý.

Có thể coi phƣơng pháp tính tốn song song là một sự phát triển của phƣơng pháp tính tốn truyền thống. Bằng cách chia nhỏ cơng việc tính tốn ra để thực hiện trên các chíp khác nhau trong cùng một thiết bị (thƣờng là máy tính) hoặc trong cùng một hệ thống (có thể là hệ các máy tính, hệ máy tính và GPU của card màn hình,…), phƣơng pháp này đã mở ra cho chúng ta khả năng giải quyết các bài tốn phức tạp mà phƣơng pháp tính tốn truyền thống khơng thể đáp ứng đƣợc [20].

Dựa vào mơ hình này ta thấy, khi chia nhỏ khối lƣợng tính tốn ra thì mỗi chíp hay mỗi vi xử lý sẽ chỉ phải tính tốn một khối lƣợng nhỏ hơn rất nhiều so với tổng khối lƣợng tính tốn. Do vậy thời gian tính tốn đƣợc rút ngắn lại so với cách tính tốn thơng thƣờng là một chíp hoặc một vi xử lý tính tốn tuần tự.

Hình 2.10 Mơ hình tính tốn song song

2.1.4.2 Các định luật chi phối tính tốn song song [14], [21] Định luật Grosch

Vào cuối thập kỷ 40, H.Grosch đã đƣa ra mối quan hệ giữa năng suất của hệ thống máy tính (S), và chi phí (C). Ơng đƣa ra định để rằng:

s

S K C

Trong đó s và K là các hằng số dƣơng. Grosch đã tiến xa hơn nữa khi

xác định rằng giá trị của s gần tới 2. Với công thức đơn giản, định luật Grosch cho biết năng suất của hệ thống máy tính tăng theo lũy thừa 2 chi phí của nó.

Với giả định s = 2, ta có phƣơng trình tính chi phí của hệ thống theo

định luật Grosch là: S C K

Mối tƣơng quan giữa năng suất tính tốn và chi phí đƣợc biểu diễn nhƣ Hình 2.11

Hình 2.11 Đồ thị Grosch biểu diễn quan hệ Năng suất – Chi phí

Theo định luật này, để bán ra chiếc máy tính với giá cao gấp đơi thì máy tính cần phải chạy nhanh gấp 4 lần. Tƣơng tự, để thực hiện tính tốn với giá rẻ bằng một nửa, phải chấp nhận năng suất hệ thống giảm đi bốn lần. Với những cải tiến trong phƣơng pháp tính tốn, định luật Grosch đã dần dần bị loại bỏ, và thực tế là đã có các hệ thống máy tính vừa nhanh hơn và giá thành lại thấp hơn nhiều lần.

Định luật Amdahl

Vẫn đề đặt ra ở đây là tốc độ tính tốn sẽ thay đổi nhƣ thế nào? Liệu tốc độ tính tốn có thể tăng tới vơ hạn hay không? Để trả lời câu hỏi này, định luật Amdahl [14] đã chỉ ra sự phụ thuộc của tốc độ tính tốn vào số lƣợng chip tham gia tính tốn trong công thức (2.30):

  1 1 S P P N    (2.30)

Trong đó: S là số lần tăng lên của tốc độ tính tốn

P là tỷ lệ % song song hóa của khối lƣợng tính tốn N là số lƣợng chíp hay vi xử lý tham gia tính tốn

Từ cơng thức (2.30), ta có thể mơ tả cụ thể sự phụ thuộc của tốc độ tính tốn vào số lƣợng chíp và tỷ lệ song song hóa của khối lƣợng tính tốn. Sự

phụ thuộc đó đƣợc thể hiện trong Hình 2.12.

Hình 2.12 Sự phụ thuộc của độ tăng tốc độ tính tốn vào số lượng chip và tỷ lệ song song hóa

Từ Hình 2.12 ta thấy rằng, khi tăng số lƣợng chíp tham gia vào tính tốn thì tốc độ tính tốn tăng lên theo nhƣ dự đoán. Tuy nhiên, khi tăng tới một số lƣợng nào đó, thì tốc độ tính tốn tăng chậm dần đến mức không đáng kể nên làm giảm hiệu quả. Ngoài ra, độ tăng lên của tốc độ phụ thuộc khá mạnh mẽ vào tỷ lệ song song hóa. Khơng chỉ vậy, tỷ lệ song song hóa cịn quyết định điểm bão hịa của tốc độ tính tốn.

Định luật Amdahl và mơ hình lý thuyết thực ra vẫn chƣa hồn tồn chính xác do ở đây đã lý tƣởng hóa q trình phân chia khối lƣợng tính tốn cho các chip thực hiện và trao đổi thông tin giữa các chip. Do vậy, tổng thời gian tính tốn phải là:

s c

Trong đó: t là tổng thời gian thực hiện tính tốn ts là thời gian truyền số liệu

tc là thời gian thực sự tính tốn

Do đó, khơng phải lúc nào việc áp dụng tính tốn song song vào một bài tốn nào đấy cũng làm tăng tốc độ tính tốn và làm giảm thời gian tính tốn. Khơng những thế, nếu nhƣ thời gian ts quá lớn do khối lƣợng cần phải trao đổi

nhiều thì trong trƣờng hợp này sử dụng tính tốn song song khơng những không giảm đƣợc thời gian tính tốn mà cịn làm tăng thêm.

Bởi vậy, để có thể áp dụng đƣợc phƣơng pháp tính tốn song song có hiệu quả vào trong một bài tốn cụ thể thì ta cần phải xem xét cụ thể, xác định đƣợc tỷ lệ song song hóa, khối lƣợng số liệu cần trao đổi và tìm đƣợc số lƣợng chip cần thiết một cách tối ƣu.

2.1.4.3 Nguyên tắc phân loại kiến trúc máy tính của Flynn

Một nguyên tắc phân loại cấu trúc máy tính phổ biến nhất đƣợc Flynn đƣa ra vào năm 1996. Cách thức phân loại của ơng dựa trên khái niệm dịng thơng tin. Có 2 loại thơng tin chạy vào một bộ xử lý đó là: lệnh và dữ liệu, theo đó các dịng lệnh và dịng dữ liệu đều có thể là đơn lẻ hoặc nhiều. Kiến trúc máy tính có thể đƣợc phân chia ra thành 4 loại sau:

Đơn dòng lệnh đơn và đơn dòng dữ liệu (SISD) Đơn dòng lệnh đơn và đa dòng dữ liệu (SIMD) Đa dòng lệnh đơn và đơn dòng dữ liệu (MISD) Đa dòng lệnh đơn và đa dịng dữ liệu (MIMD)

Những chiếc máy tính Neurmann một bộ xử lý truyền thống đƣợc xếp vào kiến trúc SISD, những chiếc máy tính song song đƣợc xếp vào SIMD hoặc MIMD. Trên thực tế khơng thể làm đƣợc một chiếc máy tính MISD nào.

Đơn dòng lệnh đơn và đơn dòng dữ liệu

Hình 2.13 Kiến trúc SISD

Mỗi một thời điểm chỉ duy nhất có một chỉ thị đƣợc xử lý bởi khối xử lý theo kiểu tuần tự. Trong quá trình thực thi các câu lệnh và dữ liệu khơng bị thay đổi.

Đây là loại cấu trúc lâu đời nhất và thậm chí cho đến ngày nay loại máy tính áp dụng cấu trúc này vẫn là loại máy tính phổ biến nhất.

Đơn dòng lệnh đơn và đa dòng dữ liệu

Hình 2.14 Kiến trúc SIMD

Một dịng lệnh đƣợc các khối xử lý tại cùng một thời điểm, mỗi khối xử lý có thể hoạt động trên một phần tử dữ liệu độc lập với dữ liệu của một bộ xử lý khác. Loại cấu trúc này thƣờng đƣợc sử dụng trong các bài tốn địi hỏi mức đồng bộ cao.

Hình 2.15 Cấu trúc MIMD

Mỗi bộ xử lý có thể đƣợc thực hiện một dịng lệnh khác với dòng lệnh của các bộ xử lý khác.

Mỗi bộ xử lý có thể làm việc với một dịng dữ liệu khác với các dòng dữ liệu của các bộ xử lý khác, việc thực hiện có thể đƣợc đồng bộ hoặc không đồng bộ.

Hiện nay, các loại phổ biến nhất của máy tính song song hiện đại đều thuộc vào loại này.

2.1.4.4 Thuật toán di truyền song song

Nhƣ ta đã biết sử dụng thuật tốn di truyền vào mạng anten thích nghi tuy có những ƣu điểm nhƣ đã trình bày ở trên. Nhƣng khi giá trị cá thể ít dẫn đến hội tụ tới giá trị khơng tối ƣu. Do đó để khắc phục những nhƣợc điểm này, tác giả đề xuất áp dụng phƣơng pháp tính tốn song song vào thuật tốn di truyền trong anten thích nghi với mục đích tăng số lƣợng cá thể để tăng khả năng tìm đƣợc nghiệm hội tụ, tăng số lƣợng bít để tìm đƣợc kết quả chính xác hơn.

Để thực hiện đƣợc ý tƣởng này thì trƣớc tiên chúng ta cần phân tích kỹ tỷ lệ song song hóa của bài tốn này. Từ sơ đồ thuật tốn và chƣơng trình tính tốn ta có thể dễ dàng thấy đƣợc một số bƣớc có thể thực hiện song song nhƣ:

đánh giá mức độ thích nghi của từng cá thể, chọn cặp bố mẹ, tạo ra các cá thể con. Không những thế, các q trình này cịn đƣợc thực hiện từ thế hệ này sang thế hệ khác. Tuy nhiên, điều này chƣa đủ để tăng tỷ lệ song song hóa của bài tốn vì các ngun nhân sau đây:

Lƣợng thông tin cần để biểu diễn một cá thể lớn phụ thuộc vào số lƣợng phần tử anten và số lƣợng bít biểu diễn pha của một phần tử.

Việc song song hóa ở đây là khơng hồn tồn. Bởi lẽ ta phải thực hiện riêng lẻ q trình tính tốn cho từng cá thể khi đánh giá độ thích nghi rồi lại phải gộp lại trong quá trình chọn lọc tự nhiên. Ngoài ra, khi thực hiện quá trình chọn cặp cha mẹ, sinh sản xong thì ta lại phải gộp các kết quả tính tốn lại với nhau. Cho nên ở đây khối lƣợng số liệu cần phải trao đổi là rất lớn.

Từ hai nguyên nhân trên, rõ ràng là ta không thể áp dụng trực tiếp phƣơng pháp tính tốn song song vào bài tốn thích nghi sử dụng thuật tốn di truyền đƣợc. Tuy nhiên sự tiến hóa của tự nhiên lại cho ta một ý tƣởng để có thể thực hiện đƣợc thuật tốn di truyền bằng phƣơng pháp tính tốn song song.

Trong tự nhiên một lồi có thể phát triển trên các khu vực khác nhau tiến hóa theo những cách khác nhau rồi trao đổi thông tin di truyền với nhau và tiến hóa tạo ra các giống mới tích lũy các đặc tính tốt của cả 2 lồi và có khả năng thích nghi tốt hơn.

Ở đây, ta cũng có thể làm tƣơng tự nhƣ vậy. Ta sẽ tạo ra nhiều quần thể ban đầu khác nhau trên các máy tính khác nhau, cho các quần thể này phát triển song song với nhau rồi cho chúng trao đổi thông tin di truyền với nhau (Hình 2.16). Việc tăng số lƣợng quần thể ở đây cũng tƣơng đƣơng với việc ta tăng số lƣợng cá thể ban đầu của một quần thể. Phƣơng pháp tính tốn nhƣ vậy đƣợc gọi là phƣơng pháp sử dụng nhiều thuật tốn di truyền song song, hay nói ngắn gọn là thuật toán di truyền song song. Từ lập luận của mơ hình

nhƣ vậy, luận án đã xây dựng đƣợc chƣơng trình để thực hiện thuật tốn di truyền song song (phụ lục 1). Về cơ bản chƣơng trình này giống nhƣ chƣơng trình dành cho thuật tốn di truyền thơng thƣờng. Tuy nhiên, ở đây có thêm bƣớc tạo ra các quần thể khác nhau trên các máy tính khác nhau để thực hiện tính tốn. Bƣớc này đƣợc thực hiện trên một hệ thống gồm nhiều máy tính giống nhau (gọi là cluster) sử dụng công cụ Matlab Parallel Toolbox trong phần mềm Matlab. Ngồi ra, cịn có q trình trao đổi thơng tin di truyền giữa các quần thể thông qua việc chọn một vài cá thể xuất sắc nhất ở một quần thể để tạo nên một quần thể mới và tiếp tục áp dụng thuật toán di truyền trên quần thể đó.

Hình 2.16 Mơ hình thực hiện thuật tốn di truyền song song

Với chƣơng trình này, luận án đã thực hiện mơ phỏng với trƣờng có 4 nguồn nhiễu cố định (Hình 2.17) cho anten mạng pha số tuyến tính với các thơng số nhƣ sau (Bảng 2.2)

Tham số Ký hiệu Giá trị Số phần tử anten N 20 Khoảng cách giữa các phần tử d 0,5λ Kích thƣớc quần thể M 50 Số lƣợng Gen P=N-1 19 Số lƣợng bit/gen Q 15 Số bit của nhiễm sắc thể L=PxQ 285 Xác suất trao đổi Pc 50% Xác suất tạo cặp Pm 10% Tỉ lệ song song hóa p 95% Số nguồn nhiễu n 4

(-300,-200,200,500)

Bảng 2.2 Các tham số sử dụng trong thuật toán di truyền song song

Từ kết quả mô phỏng, ta thấy rằng ngồi việc có thể thêm đƣợc số cá thể ban đầu mà khơng làm tăng thời gian tính tốn thì việc sử dụng thuật tốn di truyền song song cịn mang lại khả năng thích nghi tối ƣu hơn. Thể hiện ở chỗ các góc nhiễu có mức độ hấp thụ thấp hơn, hƣớng chính thƣờng có biên độ cao hơn. Điều này đƣợc lý giải là do khi sử dụng thuật tốn di truyền song song thì ta có nhiều cá thể hơn do đó có nhiều gen hơn cho nên khi chọn lọc dễ tìm đƣợc giá trị tối ƣu hơn so với trƣờng hợp thông thƣờng.

Hình 2.17 Sử dụng thuật tốn di truyền song song với 4 nguồn nhiễu

Việc đánh giá ƣu điểm của thuật tốn di truyền sử dụng tính tốn song song dựa trên cực tiểu cơng suất đặt về phía các nguồn nhiễu trong cùng một thời gian tính tốn so với tính tốn tuần tự đƣợc thể hiện ở (Bảng 2.3) trong trƣờng hợp có 4 nguồn nhiễu. Nguồn 1 (-30 độ) Nguồn 2 (-20 độ) Nguồn 3 (20 độ) Nguồn 4 (50 độ) Di truyền -25dB -30dB -35dB -50dB Di truyền song song -50dB -50dB -50dB -50dB

Bảng 2.3 So sánh cực tiểu hóa cơng suất về nguồn nhiễu khi sử dụng thuật tốn di truyền song song

cơng bố trong bài báo “Parallel Computing in Genetic Algorithm for Adaptive Array Antenna” đăng trong tập san IET của hội nghị “International Conference on Automatic Control and Artificial Intelligence (ACAI 2012)”, và bài báo “Adaptive nulling with parallel genetic algorithm in phased array antenna” đăng trên tạp chí Nghiên cứu KH&CN Quân sự (2012).

Một phần của tài liệu (LUẬN án TIẾN sĩ) nghiên cứu công nghệ xây dựng anten mạng pha số tuyến thu băng x (Trang 59 - 70)

Tải bản đầy đủ (PDF)

(135 trang)