Một mũi tên chỉ vào bánh xe. Quay bánh xe, khi bánh xe dừng, mũi tên chỉ vào phần nào, cá thể ứng với phần đó đƣợc chọn. Với cách chọn này, các
Điểm chọn Vịng quay Cá thể có độ thích nghi bé Cá thể có độ thích nghi lớn
cá thể có thể có độ thích nghi càng cao càng có khả năng đƣợc chọn. Các cá thể có độ thích nghi cao có thể có một hay nhiều bản sao, các cá thể có độ thích nghi thấp có thể bị loại bỏ.
Trong bài tốn thích nghi trên anten mạng pha số dùng cho tuyến thu trong ra đa, mục đích của chúng ta là đặt đƣợc vị trí của các cực tiểu vào các vị trí nhiễu mà khơng thay đổi hoặc thay đổi ít nhất búp sóng chính thơng qua quá trình tìm kiếm một tổ hợp về độ lệch pha của các phần tử trong hệ thống anten. Trong bài toán này, các cá thể sẽ mang nhiễm sắc thể gồm các gen là tổ hợp về độ lệch pha của các phần tử anten trong mạng. Các gen này sẽ đƣợc cấu tạo từ các ADN là các số nhị phân biểu diễn độ lệch pha theo số học. Chúng có thể đƣợc lai tạo với nhau bằng phƣơng pháp số thơng qua các phép logic. Ngồi ra các đột biến trong các cá thể có thể đƣợc tạo ra một cách ngẫu nhiên tại một vài bít bất kỳ trên tồn bộ ADN của cá thể. Thuật tốn đƣợc mơ tả chi tiết trong Hình 2.7.
Hình 2.7 Sơ đồ thuật toán của thuật toán di truyền
Từ sơ đồ thuật toán này, tác giả đã xây dựng đƣợc chƣơng trình để thực hiện thuật tốn thích nghi trên anten mạng pha số chạy trên Matlab với các
bƣớc cụ thể nhƣ sau:
Khởi tạo quần thể ban đầu: Tạo ra một quần thể ngẫu nhiên với các cá thể mang các gen là chuỗi bít nhị phân biểu thị độ lệch pha của các phần tử anten. Ở đây, số lƣợng cá thể càng lớn thì quần thể sẽ có độ đa dạng cao nên càng có khả năng tìm đƣợc kết quả tối ƣu. Tuy nhiên, nếu số phần tử q lớn thì khối lƣợng tính tốn cũng lớn theo nên hệ thống không thể đáp ứng đƣợc. Ngồi ra, số bít biểu thị độ lệch pha cũng có vai trị quan trọng. Với số bit càng nhiều ta càng có kết quả chính xác hơn. Tuy nhiên, cũng nhƣ số phần tử anten, số bít phải đƣợc chọn phù hợp với khả năng tính tốn của hệ thống.
Đánh giá khả năng thích nghi (hàm lƣợng giá – hàm thích nghi): Ở đây ta sẽ đánh giá khả năng thích nghi của các cá thể trong quần thể thơng qua hàm thích nghi. Hàm này đƣợc xây dựng dựa trên mục tiêu của bài tốn. Trong bài tốn thích nghi thì hàm thích nghi sẽ xem xét trƣờng bức xạ tại các góc có nhiễu và tại góc bức xạ cực đại. Ngoài ra, trong trƣờng hợp ta nhận đƣợc một quần thể thỏa mãn yêu cầu ở một mức độ xác định nào đó thì ta sẽ dừng chƣơng trình tại đây và đƣa kết quả này tới anten để điều khiển.
Chu kỳ sinh sản: Bao gồm các phép toán phổ biến trong di truyền tự nhiên là các phép lai hoặc đột biến. Ở bƣớc này, ta sẽ loại bỏ các cá thể có độ thích nghi kém và chỉ giữ lại một số lƣợng nào đó các cá thể có độ thích nghi cao. Ở đây ta thực hiện thông qua so sánh giá trị thích nghi trong hàm thích nghi của từng cá thể.
Tạo ra quần thể mới: Từ các ADN nhận đƣợc trong quá trình sinh sản của bố mẹ, các cá thể con phát triển thành một quần thể mới bằng cách gắn cho mỗi cá thể con lại là một tổ hợp pha. Sau đó quần thể này lại đƣợc đánh giá độ thích nghi và lặp lại các quá trình này.
Hầu hết các bƣớc của thuật toán đều đƣợc thực hiện trên các phép toán đơn giản nên sẽ giảm thiểu đƣợc tối đa thời gian tính tốn. Ngồi ra, để có thể
tối ƣu thời gian tính tốn, thì ta cần phải tìm ra số lƣợng cá thể thích hợp cũng nhƣ số lƣợng bít mã hóa độ lệch pha mà một cá thể sử dụng.
Với chƣơng trình nhƣ vậy, ta thấy sự giống nhau của mơ hình thuật tốn với cơ chế tiến hóa bằng chọn lọc tự nhiên của Charles Darwin. Với chƣơng trình này, luận án đã thực hiện mơ phỏng cho anten mạng pha số với 8 phần tử. Trong kết quả mơ phỏng có sử dụng một số tham số khác đƣợc mô tả trong Bảng 2.1. Kết quả mô phỏng với trƣờng hợp có nhiều nguồn nhiễu (ở đây là 3 nguồn) đƣợc mơ tả trong Hình 2.8.
Bảng 2.1 Các tham số sử dụng trong mơ phỏng thuật tốn di truyền
Tham số Ký hiệu Giá trị Số phần tử anten N 8 Kích thƣớc quần thể M 50 Số lƣợng Gen P=N-1 7 Số lƣợng bit/gen Q 10 Số bit của nhiễm sắc thể L=PxQ 70 Xác suất trao đổi Pc 50% Xác suất tạo cặp Pm 10%
Dựa vào kết quả mô phỏng thu đƣợc ta có thể thấy là thuật tốn di truyền cho kết quả tốt với cả trƣờng hợp một nguồn nhiễu cũng nhƣ nhiều nguồn nhiễu. Khơng chỉ vậy, thuật tốn di truyền cịn rất linh hoạt, ta có thể thay đổi số lƣợng nguồn nhiễu cũng nhƣ vị trí của nguồn nhiễu một cách dễ dàng mà khơng làm thay đổi q nhiều trong chƣơng trình cũng nhƣ khơng làm thay đổi thời gian tính tốn. Với kết quả nhƣ vậy ta thấy thuật toán là sự lựa chọn hợp lý để sử dụng trong anten thích nghi. Tuy nhiên, thuật tốn vẫn chƣa phải là sự lựa chọn tối ƣu vì vẫn có trƣờng hợp thuật tốn khơng đƣa ra đƣợc kết quả tối ƣu. Điều này là do hạn chế về số lƣợng cá thể trong quần thể đƣợc tạo
ra. Biện pháp để khắc phục nhƣợc điểm này sẽ đƣợc trình bày cụ thể trong phần sau của luận án.
Hình 2.8 Anten thích nghi sử dụng thuật toán di truyền với 3 nguồn nhiễu ở các góc -60o, -30o và 30o
Các kết quả nghiên cứu về thuật toán di truyền này đã đƣợc công bố trong bài báo “Amplitude and Phase Adaptive Nulling with a Genetic Algorithm for Array Antennas” đăng trong tạp chí VNU, Vol 27, No 1S, 2011.
Ngồi khả năng có thể thay đổi độ lệch pha giữa các phần tử, ta còn có thể thay đổi hệ số biên độ của từng phần tử trong hệ thống anten mạng pha. Vì thế ta cũng có thể cho tham số biên độ vào trong thuật toán di truyền. Dựa trên nguyên lý này ta có thể xây dựng đƣợc 3 mơ hình thuật tốn di truyền khác nhau: chỉ biên độ, chỉ pha, cả pha và biên độ.
Ở đây tác giả đã thực hiện mơ phỏng cả 3 mơ hình này trong trƣờng hợp có 1 nguồn nhiễu. Kết quả mơ phỏng đƣợc trình bày trong Hình 2.9.
Hình 2.9 Kết quả 3 mơ hình khác nhau của thuật tốn di truyền
Từ kết quả mô phỏng này ta thấy nếu chỉ thay đổi biên độ thì sẽ làm suy giảm độ hấp thụ của búp sóng chính. Với 2 phƣơng pháp cịn lại có hiệu quả tƣơng đối nhƣ nhau. Tuy nhiên, phƣơng pháp dùng cả pha và biên độ thì búp sóng chính thấp hơn và thời gian tính tốn lâu hơn. Do vậy, tác giả đề xuất là nên sử dụng mơ hình chỉ thay đổi pha trong thuật tốn di truyền. Với mơ hình này chúng ta sẽ tiết kiệm đƣợc thời gian tính tốn trong khi kết quả thu đƣợc đã đáp ứng khá tốt các yêu cầu đối với anten thích nghi.
Các kết quả từ mô phỏng liên quan tới so sánh các mơ hình thuật tốn di truyền đã đƣợc cơng bố trong bài báo bài báo “Adaptive array antenna with different models of genetic algorithm” đăng trong tạp chí VNU, Tập 28, Số 1S, 2012.
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