Nhận dạng và dự báo khuyết tật của dầm trên nền mạng neuron và logic mờ

TÓM TẮT LUẬN ÁN TIẾN SĨ KỸ THUẬT NHẬN DẠNG VÀ DỰ BÁO KHUYẾT TẬT CỦA DẦM TRÊN NỀN MẠNG NEURON VÀ LOGIC MỜ Chuyên ngành: Cơ kỹ thuật Trên đa số các hệ thống cầu giao thông, dầm cầu là một trong những thành phần chịu tải cơ bản, do đó khuyết tật xuất hiện trên dầm cầu là một trong những nguyên nhân chính gây ra sập cầu. Nghiên cứu xây dựng phương pháp nhận dạng khuyết tật và dự báo tình trạng làm việc của dầm là một cách tiếp cận để xây dựng hệ thống nhận dạng và dự báo khuyết tật thường xuyên (ND-DBTX) của cầu Chương 1. TỔNG QUAN 1.1 GIỚI THIỆU CHUNG 1.1.1 Sơ lược về nhận dạng và dự báo khuyết tật 1.1.1.1 Nhận dạng khuyết tật 1.1.1.2 Bài toán dự báo 1.1.2 Hai giải pháp nhận dạng và dự báo khuyết tật 1.1.3 Quản trị cầu 1.2 MỘT SỐ CÔNG TRÌNH LIÊN QUAN Có rất nhiều nghiên cứu trong thời gian gần đây về nhận dạng và dự báo khuyết tật dựa vào lời giải bài toán ngược động lực học cơ hệ, dựa vào mạng neuron nhân tạo (Artificial Neural Networks, ANN) và logic mờ (Fuzzy Logic, FL). 1.3 GIỚI THIỆU LUẬN ÁN 1.3.1 Mục đích của luận án Trên đa số các hệ thống cầu giao thông, dầm cầu là một trong những thành phần chịu tải cơ bản; khuyết tật xuất hiện trên dầm là một trong những nguyên nhân chính gây ra sập cầu. Mục tiêu của luận án là nghiên cứu xây dựng các thuật toán về nhận dạng và dự báo khuyết tật của phần tử dầm, làm cơ sở để xây dựng hệ thống ND-DBTX của cầu trong nghiên cứu tiếp theo. 1.3.2 Nhiệm vụ đặt ra cho luận án - Nghiên cứu tổng quan về nhận dạng và dự báo khuyết tật của cầu giao thông. - Phát triển các công cụ toán học cho các thuật toán nhận dạng và dự báo khuyết tật, bao gồm xác lập cơ sở dữ liệu mới cho hệ thống suy diễn neuro-fuzzy và xây dựng các thuật toán mới về huấn luyện mạng neuro-fuzzy. - Xây dựng các thuật toán mới về nhận dạng và dự báo khuyết tật của dầm trên nền là hệ thống suy diễn neuro-fuzzy. - Thí nghiệm, kiểm chứng và đánh giá khả năng ứng dụng trên các hệ thống cầu thực của các thuật toán nhận dạng và dự báo khuyết tật nêu trên, làm cơ sở cho các nghiên cứu tiếp theo về xây dựng hệ thống ND-DBTX. 1.3.3 Phương pháp nghiên cứu Giải pháp phi cấu trúc trong nhận dạng và dự báo khuyết tật được sử dụng. 1.3.4 Tính thực tiễn của đề tài Yêu cầu thực tế đặt ra là cần phải triển khai các biện pháp khoa học công nghệ tiên tiến vào quản lý hệ thống cầu giao thông. Ngoài ra, từng bước làm chủ khoa học và công nghệ trong quản trị cầu cũng như các cơ hệ lớn, của các chi tiết và cơ cấu máy là việc làm có ý nghĩa thực tiễn cao. 1.3.5 Tóm tắt nội dung Luận án được trình bày trong 5 chương.

pdf28 trang | Chia sẻ: lvcdongnoi | Lượt xem: 2643 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Nhận dạng và dự báo khuyết tật của dầm trên nền mạng neuron và logic mờ, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
166 Luận án Tiến sĩ Kỹ thuật Nguyễn Sỹ Dũng Phụ lục 1: Các chương trình về chia bó dữ liệu và tổng hợp mạng neuro-fuzzy % ************************************* anfisProg1.m % ************************************* % The Algorithm HLM1 [9], N01 % anfisProg1.m, duoc viet tren nen Matlab dua vao thuat toan HLM1 cua [9]. Chuong trinh co % chuc nang xac lap he thong suy dien neuro-fuzzy thich nghi thong qua tap du lieu so. % Chuong trinh gom: % - Chuong trinh chinh anfisProg1.m % - Cac chuong tring con: % N1_clasifyInput_start_tam.m % test_U.m % HyperPlane.m % N1_clasifyInput_repeat_tam.m % hyperPlane_repeat.m % cut_hydridHB_tam.m % test_pHB.m % fusion_tam2.m % test_pHBfusion.m % netoldProg2.m %======================================================================== % 10.06.2009 18221543 % NGUYEN SY DUNG % TRUONG DAI HOC CONG NGHIEP THANH PHO HO CHI MINH % ĐT 0978690778 % Email nsidung@yahoo.com %======================================================================== % MA TRAN PHAN BO U{r,1}(i,j) dung de xac lap quy luat phan bo cac mau du lieu trong cac bo. % Nhan cua cac mau xac dinh dua vao U{r,1}. Vd, neu U{r,1}(i,j)=1, suy ra mau thu j thuoc bo thu % i, do do nhan cua phan tu thu j ( HANG j trong matran mau x1; hoac COT j trong U{r,1}= [M x % P]) la i. (r: vong lap thu r) % % ma tran cac mau x1 = 1 2 3; y= 4 % 3 4 5 1 % 5 6 7 2 % 7 8 9 3 % 1 2 3 5 % 5 6 7 ; 2 % 167 Luận án Tiến sĩ Kỹ thuật Nguyễn Sỹ Dũng % P=6; % n=3 % [x1]=Pxn % % U{r,1}= [M x P] 1 1 0 0 1 0 % 0 0 1 1 0 1; % M=2;P= 6 % % O day, cac mau j=1;2;5 thuoc bo 1 % j=3;4;6 thuoc bo 2 % %====================================================== clear all disp('NHAP DU LIEU HUAN LUYEN:') disp('==================================================') disp('DATA=0, f3_100_2_C1, y(i,1)=1*((5-x1(i,2))^2)/(3*(5-x1(i,1))^2+(5-x1(i,2))^2)') disp('DATA=3, f2_100_2_C10;') disp('DATA=4, tapmau_15_3;') disp('DATA=5, tapmau_100_10;') disp('DATA=6, f4_50_2, y=(1+x1^-2+x2^-1.5)^2;') disp('DATA=7, tapmau_100_10test') disp('DATA=8, hs100 (100x20) ') %I. NHAP DA TA: D=[]; DATA=input(‘DATA=') if DATA==6 f4_50_2 P=50; n=2; chophep=0.01; M=input(' M=') end if DATA==0 f3_100_2_C1 P=100; n=2; chophep=0.01; M=input('M=') end if DATA==1 f3_100_2 P=100; n=2; chophep=0.01; M=input(' M=') end if DATA==2 n=input('So bien ung voi 1 mau, n=') 168 Luận án Tiến sĩ Kỹ thuật Nguyễn Sỹ Dũng for i=1:P for j=1:n disp('MAU THU:') i x1(i,j)=input('Bien j cua mau i, x1(i,j)=') end y(i,1)=input('Bien y cua mau i, y(i,1)=') end M=input('NHAP SO LUAT MO, M=') if MP-1 disp('NHAP KHONG THOA DANG (1<M<P & M THUOC TAP N). nhap lai!') M=input('NHAP SO LUAT MO, M=') end end if DATA==3 f2_100_2_C10 P=100; n=2; chophep=0.01; M=input(' M=') end if DATA==4 P=15 n=3 tapmau_15_3 chophep=0.01; M=input(' M=') end if DATA==5 P=100 n=10 tapmau_100_10 chophep=0.01; M=input(' M=') end if DATA==7 P=100 n=10 tapmau_100_10test chophep=0.01; M=input(' M=') end if DATA==8 degree_damage=input('degree_damage =') disp('….') P=100 n=20 load('C:\PROGRA~1\MATLAB7.0\work\BO-SUN~2.200\730X6X~1\730X6- ~1.10\dlhs1hl.mat') 169 Luận án Tiến sĩ Kỹ thuật Nguyễn Sỹ Dũng x1=hs100 y=ones(100,1)*degree_damage chophep=0.01; M=input(' M=') end if DATA==9 n=2 P=2841 Train_Beam29_In_output chophep=0.01; M=input('M=') end if DATA==10 n=2 P=4000 Train_Beam29_In_output chophep=0.01; M=input(' M=') end chophep=0.001; %------------------------------------------------- %xu ly so lieu: loai cac mau trung nhau k=0; testt=[]; dataa=zeros(P,1) while k<P-1 k=k+1; testt=x1(k,:) for i=(k+1):P if x1(i,:)==testt dataa(i,1)=1 end end end [ii,jj]=find(dataa==1) P=P-length(ii); tstart=clock; % MO HOA TAP DATA %================= % Chia bo o input U=cell(5*P,1); r=1 N1_clasifyInput_start_tam test_U % Xay dung cac sieu phang o output D=[]; 170 Luận án Tiến sĩ Kỹ thuật Nguyễn Sỹ Dũng teta=0.1; hyperPlane stopin_output=P; kt=1; while ((stopin_output>=0.2)|(kt>teta))&(r<=5) r=r+1; N1_clasifyInput_repeat_tam hyperPlane_repeat test_U stopin_output=0; for i=1:M for j=1:P stopin_output=stopin_output+abs(U{r,1}(i,j)-U{r-1,1}(i,j))/P; end end if r>1 kt=abs(D(r,1)-D(r-1,1))/D(r-1,1) end end %xay dung bo thuan chung, xac lap cac bo thuan chung lien ket pHB_fusion test_U cut_hydridHB_tam test_pHB fusion_tam2 test_pHBfusion % test_pHBfusion% ket qua nhan duoc pHBoder_fusion sieu hop thuan chung pHB_fusion nhung % thu tu cua pHB_fusion khong theo dung thu tu cua nhan. %sap xep cac sieu hop thuan chung pHBoder_fusion theo so th. tu cua nhan: tamluuf=cell(pHBoder_fusion,1); dennf=M; nhanbo=zeros(pHBoder_fusion,1) for t0=1:pHBoder_fusion %xac dinh nhan: %-------------------------------------------- for k=1:M k1=min(find(pHB_fusion{t0,1}(k,:))) if k1>0 nhan=k; nhanbo(t0,1)=k; end end %-------------------------------------------- %sap xep 171 Luận án Tiến sĩ Kỹ thuật Nguyễn Sỹ Dũng if length(tamluuf{nhan,1})==0 tamluuf{nhan,1}=pHB_fusion{t0,1}; elseif length(tamluuf{nhan,1})>0 dennf=dennf+1; tamluuf{dennf,1}=pHB_fusion{t0,1}; end end pHB_fusion=tamluuf % XAC LAP QUY TAC HOP THANH VA GIAI MO %==================================== netoldProg2 tstop=clock;t= etime(tstop,tstart); kmax=P k=1:kmax for i=1:P h(1,i)=0 end plot(k,hieu,'b',k,h,'--r') xlabel('Data Set -----> ') Ylabel('Error ----->') grid off%on hold on % *************************************: N1_clasifyInput_start_tam.m % ************************************* % The Algorithm CBMM [9] %======================================================================== % N1_classify_start_tam.m la chung trinh con, dùng de xay dung cac bo o khong gian vao, gian % nhan cho tat ca các mau huan luyen o chu ky DAU TIEN: % - Chon ngau nhien M tam; % - Tinh khoang cach tu moi mau toi cac tam; % - Bien che cac bo tuong ung cac tam, dua tren khoang cach MIN toi M tam va thuat toan % C-mean; % - Kiem tra dieu kien (*): % tong cac bien che cua M bo = P? % Moi cot cua matran phan bo U{r,1}(i,j)=1? % So phan tu tren 1 bo phai thoa: 1<=mothang<=P-M+1? % - Cap nhat lai matran phan bo U{r,1}(i,j)=1 %======================================================================== % 10.06.0918221543 NSD. N02 % %======================================================================== 172 Luận án Tiến sĩ Kỹ thuật Nguyễn Sỹ Dũng tstart=clock; kiemtra=0; while kiemtra==0 t=[]; tambo_i=cell(M,1); %1/ Bien che bo d=[]; U{r,1} = random('Normal',0,300,M,P) for i=1:M t(i,1)= max(U{r,1}(i,:)); for j=1:P if U{r,1}(i,j)-t(i,1)==0 U{r,1}(i,j)=1; tambo_i{i,1}=x1(j,:) else U{r,1}(i,j)=0; end end end % cap nhat bien che cac bo o input for k=1:M for i=1:P tam1=0; for j=1:n tam1=tam1+(x1(i,j)-tambo_i{k,1}(1,j))^2; end d(k,i)=(tam1)^0.5 end end % cap nhat matran U va bien che cac bo o input: Utam=U{r,1}; for i=1:P dmin=min(d(:,i)) for k=1:M if d(k,i)==dmin Utam(k,i)=1 else Utam(k,i)=0; end end end % Kiem tra U{r,1}=Utam; test_U' 173 Luận án Tiến sĩ Kỹ thuật Nguyễn Sỹ Dũng end %of while % cap nhat matran phan bo input U: U{r,1}=Utam % ************************************* % test_U.m % *************************************: % Kiem tra ma tran phan bo U{r,1} thoa dieu kien (*): % 1/ Tong cac 'mot'=P % 2/ Chi co duy nhat 1 phan tu 'mot' tren mot cot % 3/ Tong so phan tu 'mot' tren mot hang T thoa man: 0<T<=P-M+1 %================================================================== %================================================================== % 10.06.0918221543 NSD. N03 % %================================================================== Utam=U{r,1}; mothang=zeros(M,1); mottong=0; for i=1:P motcot(1,i)=0; for k=1:M if Utam(k,i)==1 motcot(1,i)=motcot(1,i)+1; mothang(k,1)=mothang(k,1)+1; mottong=mottong+1; end end end %Test va dieu chinh hang for k=1:M if mothang(k,1)==0 hmax=max(mothang); [kk,hh]=find(mothang==hmax) [kkk,jj]=find(Utam(kk,:)==1) jj=min(jj) Utam(kk,jj)=0; Utam(k,jj)=1; end end %test va dieu chinh cot for i=1:P 174 Luận án Tiến sĩ Kỹ thuật Nguyễn Sỹ Dũng for k=1:M if (motcot(1,i)>1)&(mothang(k,1)>1)&(Utam(k,i)==1) Utam(k,i)=0; motcot(1,i)=motcot(1,i)-1; mothang(k,1)=mothang(k,1)-1; mottong=mottong-1; end end end %Kiem tra dieu kien (*)? kiemtra=0; cot=1; hang=1; tong=0; for i=1:P cot=cot*motcot(1,i) for k=1:M hang_k=0; if (mothang(k,1)0) hang_k=1; end hang=hang*hang_k; end end if mottong==P tong=1 end kiemtra=cot*hang*tong %===================================================================== U{r,1}=Utam %********************************************************** % HyperPlane.m %********************************************************** % Function Hyperplane.m dung de xac dinh: % - cac sieu phang o khong gian ra khi da biet bien che cac mau cua moi sieu phang; % - thuc hien viec dan nhan lai cac mau huan luyen o khong gian vao dua vao bien che moi % cua cac sieu phang o khong gian ra. %===================================================================== % 10.06.0918221543 NSD. N04 % %===================================================================== 175 Luận án Tiến sĩ Kỹ thuật Nguyễn Sỹ Dũng V=cell(M,1);%matran he so cua he phuong trinh (8) o noi dung bai bao a=cell(M,1)%vector he so ah, h=0...n, cua M cac sieu phang o output %1/ Tinh matran he so V cua he phuong trinh tinh ah, h=1,...,n+1 for k=1:M%cho tung sieu phang for h=1:n+1 % hang cua V for j=1:n+2 % cot cua V V{k,1}(h,j)=0; end end end for k=1:M%cho tung sieu phang for i=1:P if U{r,1}(k,i)==1 for h=1:n+1 % hang cua V for j=1:n+2 % cot cua V if h==1&j==1%tinh cho hang dau tien, cot 1 V{k,1}(h,j)=V{k,1}(h,j)-y(i,1); end if h==1&j==2%tinh cho hang dau tien, cot 2 V{k,1}(h,j)=V{k,1}(h,j)+1; end if h==1&j>2 %tinh cho hang dau tien, cac cot con lai V{k,1}(h,j)=V{k,1}(h,j)+x1(i,j-2) end if h>=2&j==1 %h=2...(n+1): tinh cho cac hang con lai cua matran V V{k,1}(h,j)=V{k,1}(h,j)-y(i,1)*x1(i,h-1); end if h>=2&j==2 V{k,1}(h,j)=V{k,1}(h,j)+x1(i,h-1); end if h>=2&j>2%j=3...(n+2) V{k,1}(h,j)=V{k,1}(h,j)+x1(i,j-2)*x1(i,h-1); end end end end end end % Tinh vector he so ah, h=0...n, cua cac sieu phang A=cell(M,1) B=cell(M,1) C=cell(M,1) kt=[]; for k=1:M A{k,1}=V{k,1}; A{k,1}(:,1)=[]; C{k,1}=-V{k,1}(:,1); kt(k,1)=det(A{k,1}) muy=0.001 anp=1 while kt(k,1)==0 176 Luận án Tiến sĩ Kỹ thuật Nguyễn Sỹ Dũng muy=anp*muy A{k,1}=A{k,1}+muy*eye(n+1) kt(k,1)=det(A{k,1}) anp=anp+1; end a{k,1}=A{k,1}\C{k,1}%cac he so ai, i=1...n+1, cua sieu phang thu k, k=1...M end %a1=a{k,1}(1,1) %a2=a{k,1}(2,1) %. %. %. %a(n+1)=a{k,1}(n+1,1) % tinh Kh. C. toi sp d_sieuphang=cell(P,1); tam3=[]; for i=1:P x0(i,1)=1 end x=[x0 x1] for k=1:M tam3(k,1)=1+(a{k,1}')*a{k,1} for i=1:P tam02=x(i,:)*a{k,1} d_sieuphang{r,1}(k,i)=abs((y(i,1)-tam02)/(tam3(k,1)^0.5)) end end %tinh MIN (Kh. C.) tam4=0; for i=1:P kcmin{r,1}(1,i)= min(d_sieuphang{r,1}(:,i)) (o vong lap r) tam4=tam4+kcmin{r,1}(1,i); end D(r,1)=tam4/P % cap nhat U for k=1:M ktraMOT(k,1)=0;%dung tinh so phan tu cua bo k (tong so phan tu = 1 o hang k). for i=1:P if d_sieuphang{r,1}(k,i)-kcmin{r,1}(1,i)==0 U{r,1}(k,i)=1; ktraMOT(k,1)=ktraMOT(k,1)+1; else U{r,1}(k,i)=0; end end end %kiem tra so p.tu trong mot bo de dieu chinh,sao cho 1<= so phan tu trong 1 bo <= P-1 for i=1:M k=i; j=1; 177 Luận án Tiến sĩ Kỹ thuật Nguyễn Sỹ Dũng while ktraMOT(i,1)==0%bo i co tong so phan tu = 0 if k<M k=k+1; else k=1; end if ktraMOT(k,1)>1 & (U{r,1}(k,j)==1) U{r,1}(k,j)=0; U{r,1}(i,j)=1; ktraMOT(k,1)=ktra(k,1)-1; ktraMOT(i,1)=ktra(i,1)+1; end if ktraMOT(k,1)>1 & (U{r,1}(k,j)==0) while U{r,1}(k,j)==0 j=j+1; end U{r,1}(k,j)=0; U{r,1}(i,j)=1; ktraMOT(k,1)=ktraMOT(k,1)-1; ktraMOT(i,1)=ktraMOT(i,1)+1; end end end%for for k=1:M a{k,1} end %**************************************** N1_clasifyInput_repeat_tam.m %**************************************** % Function N1_clasify_repeat.m dung de xây dung các bó o khong gian vao, sieu phang o %không gian ra và gián nhan cho tat ca các mau huan luyen. Khac voi N1_clasify_start, function %nay dung cho cac vong lap (tru vong khoi tao) de xac dinh lai bo o input va output khi da co cac %bo o input va output. % Muc tieu la tim lai cac bo o input va cac sieu phang o output sao cho ca 2, input va output %cac mau huan luyen phan bo (dong thoi) gan cac bo o input va gan cac sieu phang o output. %Ly do chinh o day la: Neu chi dung o ket qua cua N1_clasify_start, cac mau se chi moi gan cac %sieu phang o output, chua chac da gan cac bo o output. Dong thoi, so vong lap khoi tao, cac %tam bo duoc chon ngau nhien nen ket qua cua N1_clasify_start o output van chiu anh huong %cua viec chon nay. Do do, ung voi moi gia tri cac bo ngau nhien ma ket qua cac sieu phang o %output cung thay doi theo. % De khac phuc: % 1/ O tai lieu "...Synthesis of ANFIS Networks" (Massimo...2005 [93]), tac gia dung nhieu chon %lua ngau nhien khi chon cac bo input (duoc the hien boi thong so T). Ket qua cac bo va cac sieu %phang duoc chon ung voi T cho han danh gia F tot nhat; % 2/ Trong luan an nay, tac gia su dung N1_clasify_repeat. %======================================================================== % 10.06.0918221543 NSD. N05 % %======================================================================== 178 Luận án Tiến sĩ Kỹ thuật Nguyễn Sỹ Dũng kiemtra=0; U{r,1}=U{r-1,1} while kiemtra==0 t=[]; tambo_i=cell(M,1); %Xac dinh tam bo: d=[]; dem=[]; for k=1:M for j=1:n tambo_i{k,1}(1,j)=0; end end for k=1:M dem(k,1)=0; for i=1:P if U{r,1}(k,i)==1 dem(k,1)=dem(k,1)+1; for j=1:n tambo_i{k,1}(1,j)=tambo_i{k,1}(1,j)+x1(i,j)%tong toa do tam cua bo i, i=1...M, theo huong j, j=1...n. end end end end for k=1:M for j=1:n tambo_i{k,1}(1,j)=tambo_i{k,1}(1,j)/dem(k,1); end end %2/cap nhat bien che cac bo o input %2.1/ tinh kh c for k=1:M for i=1:P tam1=0; for j=1:n tam1=tam1+(x1(i,j)-tambo_i{k,1}(1,j))^2; end d(k,i)=(tam1)^0.5%khoang cach tu mau du lieu i, i=1...P, toi tam cua bo k, k=1...M. end end %2.2/ cap nhat matran U va bien che cac bo o input: for i=1:P dmin=min(d(:,i)) for k=1:M if d(k,i)==dmin Utam(k,i)=1 else Utam(k,i)=0; 179 Luận án Tiến sĩ Kỹ thuật Nguyễn Sỹ Dũng end end %3/ Kiem tra U{r,1}=Utam; test_U%kiem tra dieu kien (*). Bien ra 'kiemtra=1 hoac kiemtra=0' end%of while %cap nhat matran phan bo input U: U{r,1}=Utam %***************************************** hyperPlane_repeat.m %***************************************** % Function hyperPlane_repeat.m dung de xac dinh: % - cac sieu phang o khong gian ra khi da biet bien che cac mau cua moi sieu phang; % - thuc hien viec dan nhan lai cac mau huan luyen o khong gian vao dua vao bien che moi % cua cac sieu phang o khong gian ra. %================================================================== % 10.06.0918221543 NSD. N06 % %================================================================== V=cell(M,1);%matran he so cua he phuong trinh LMS a=cell(M,1)%vector he so ah, h=0...n, cua M cac sieu phang o output %1/ Tinh matran he so V cua he phuong trinh tinh ah, h=1,...,n+1 U{r,1}%=nn; for k=1:M%cho tung sieu phang for h=1:n+1 % hang cua V for j=1:n+2 % cot cua V V{k,1}(h,j)=0; end end end for k=1:M%cho tung sieu phang for i=1:P if U{r,1}(k,i)==1 for h=1:n+1 % hang cua V for j=1:n+2 % cot cua V if h==1&j==1%tinh cho hang dau tien, cot 1 180 Luận án Tiến sĩ Kỹ thuật Nguyễn Sỹ Dũng V{k,1}(h,j)=V{k,1}(h,j)-y(i,1); end if h==1&j==2%tinh cho hang dau tien, cot 2 V{k,1}(h,j)=V{k,1}(h,j)+1; end if h==1&j>2 %tinh cho hang dau tien, cac cot con lai V{k,1}(h,j)=V{k,1}(h,j)+x1(i,j-2) end if h>=2&j==1 %h=2...(n+1): tinh cho cac hang %con lai cua matran V V{k,1}(h,j)=V{k,1}(h,j)-y(i,1)*x1(i,h-1); end if h>=2&j==2 V{k,1}(h,j)=V{k,1}(h,j)+x1(i,h-1); end if h>=2&j>2%j=3...(n+2) V{k,1}(h,j)=V{k,1}(h,j)+x1(i,j-2)*x1(i,h-1); end end end end end end %2/ Tinh vector he so ah, h=0...n, cua cac sieu phang A=cell(M,1) B=cell(M,1) C=cell(M,1) kt=[]; for k=1:M%sieu phang thu k A{k,1}=V{k,1}; A{k,1}(:,1)=[]; C{k,1}=-V{k,1}(:,1); kt(k,1)=det(A{k,1}) muy=0.001 anp=1 while kt(k,1)==0 muy=anp*muy A{k,1}=A{k,1}+muy*eye(n+1) kt(k,1)=det(A{k,1}) anp=anp+1; end a{k,1}=A{k,1}\C{k,1}%cac he so ai, i=1...n+1, cua sieu phang thu k, k=1...M end %a1=a{k,1}(1,1) %a2=a{k,1}(2,1) %. %. %. %a(n+1)=a{k,1}(n+1,1) %3/ kh c moi d_sieuphang=cell(P,1); tam3=[]; 181 Luận án Tiến sĩ Kỹ thuật Nguyễn Sỹ Dũng for i=1:P x0(i,1)=1 end x=[x0 x1] for k=1:M%sieu phang M tam3(k,1)=1+(a{k,1}')*a{k,1} for i=1:P%so mau tam02=x(i,:)*a{k,1} d_sieuphang{r,1}(k,i)=abs((y(i,1)-tam02)/(tam3(k,1)^0.5)) %tu mau i, i=1...P, toi %sieu phang k, k=1...M, tai vong lap r. end end % kh c MIN tam4=0; for i=1:P kcmin{r,1}(1,i)= min(d_sieuphang{r,1}(:,i)) tam4=tam4+kcmin{r,1}(1,i); end D(r,1)=tam4/P %4/ cap nhat lai ma tran phan bo, U, for k=1:M ktraMOT(k,1)=0;%dung tinh so phan tu cua bo k (tong so phan tu = 1 o hang k). for i=1:P if d_sieuphang{r,1}(k,i)-kcmin{r,1}(1,i)==0 U{r,1}(k,i)=1; ktraMOT(k,1)=ktraMOT(k,1)+1; else U{r,1}(k,i)=0; end end end for k=1:M a{k,1} end 182 Luận án Tiến sĩ Kỹ thuật Nguyễn Sỹ Dũng %************************************* cut_hydridHB_tam.m %************************************* %The Algorithm CSHL [9] %======================================================================== % Chuong trinh con dung cat cac sieu hop lai HYDRID hHB thanh mot tap gom tat ca cac sieu %hop thuan chung pHB. % Mot sieu hop lai duoc cat thanh 2 HB duoc to chuc duoi dang cac CELL. Moi CELL la mot %matran boxx_number{Nocut,box}=[M,P]; % Nocut:la solan cat thu Nocut; box=1...,la so hop khong thuan chung hHB o lan cat Nocut %dang xet. Matran boxx_number{Nocut,box}=[M,P] the hien mau xi,i=1...P, nhan k=1...M thuoc %hay khong thuoc CELL nay: % - Neu boxx_number{Nocut,box}(k,i)=1, i=1...P, xi thuoc CELL; % - Neu boxx_number{Nocut,box}(k,i)=0, xi khong thuoc CELL. % Cuoi chuong trinh la so luong hHB hien dang ton tai: boxmax %======================================================================== %KET QUA NHAN DUOC: pHBoder cac sieu hop thuan chung, duoc sap xep theo thu tu cua %nhan, tu 1...M. %======================================================================== % 10.06.0918221543 NSD. N07 % %======================================================================== boxmax=1; boxx_number=cell(P,1); boxx_number{boxmax,1}=U{r,1}; pHBoder=0;%bien sieu hop thuan chung. pHB=cell(P,1);%luu lai cac sieu hop thuan chung box_number=[]; dem=0; while boxmax~=0&dem<P dem=dem+1; box_number=boxx_number{boxmax,1}; sizek=zeros(M,1); for k=1:M for i=1:P if box_number(k,i)==1 sizek(k,1)=sizek(k,1)+1; end end end max1=max(sizek(:,1)); [i0,j1]=find(sizek==max1); 183 Luận án Tiến sĩ Kỹ thuật Nguyễn Sỹ Dũng if length(i0)>1 i1=min(i0);% co the nhieu nhan cung tan xuat: chi chon 1 nhan i2=max(i0); max2=max1; end if length(i0)==1 i1=min(i0); sizekphu=sizek; sizekphu(i0,j1)=0;%delete max1 max2=max(sizekphu(:,1)); [i2,j2]=find(sizekphu==max2);% bo thu k=i2 co so mau lon thu hai i2=min(i2); end %================================================================== %II/ cac truong hop co the xay ra: %1/ Truong hop 1: %=============== if max1==0% suy ra max2==0: sieu hop zero. XOA boxx_number{boxmax,1}=[]; boxmax=boxmax-1; if boxmax>0 box_number=boxx_number{boxmax,1}; end end %2/ Truong hop 2: %=============== if max1>0&max2==0% suy ra boxx_number{boxmax,1} la mot sieu hop thuan chung: luu. pHBoder=pHBoder+1;%bien sieu hop thuan chung. pHB{pHBoder,1}=boxx_number{boxmax,1}; boxx_number{boxmax,1}=[]; %box_number=[] boxmax=boxmax-1; if boxmax>0 box_number=boxx_number{boxmax,1}; end end %3/ Truong hop 3: %=============== if max1>0&max2>0 %3.1/ tinh trong tam (theo tung truc toa do) cua cac bo k=i1 va k=i2 co so phan tu la MAX1 va MAX2 vmax1=zeros(M,n); vmax2=zeros(M,n); for j=1:n %bien thu j tumax1=0; maumax1=0; tumax2=0; maumax2=0; for i=1:P %mau thu i if box_number(i1,i)==1%U{r,1}(i1,i)==1% k=i1,so phan tu la MAX1 184 Luận án Tiến sĩ Kỹ thuật Nguyễn Sỹ Dũng tumax1=tumax1+x1(i,j);%x1*U{r,1}(i1,i)==1*x1 maumax1=maumax1+1; end end vmax1(i1,j)=tumax1/maumax1;%trong tam cua bo nhan i1 theo truc toa do j, j=1...n for i=1:P %mau thu i if box_number(i2,i)==1%U{r,1}(i2,i)==1% k=i2,so phan tu la MAX2 tumax2=tumax2+x1(i,j);%x1*U{r,1}(i1,i)==1*x1 maumax2=maumax2+1; end end vmax2(i2,j)=tumax2/maumax2;%trong tam cua bo nhan i2 theo truc toa do j,j=1...n end % 3.2/ khoang cach tam cua 2 bo MAX1 va MAX2 theo cac truc va chon truc co hieu max de cat % tai trung diem: hieu=[]; for j=1:n hieu(1,j)=abs(vmax1(i1,j)-vmax2(i2,j)); end max3=max(hieu); [hang,cut]=find(hieu==max3);%truc CUT la truc co j=cut cut=min(cut); anpha_cut=(vmax1(i1,cut)+vmax2(i2,cut))/2%diem cat anpha tren truc "cut" % 3.3/ Thuc hien cat theo truc "cut" tai diem cat "anpha_cut". Phan chia cac mau ve 2 hop thanh % phan dua vao diem cat: boxx_number{boxmax,1}=zeros(M,P);%=0; boxx_number{boxmax+1,1}=zeros(M,P); for k=1:M for i=1:P if box_number(k,i)==1%nghia la mau x1(k,i) thuoc sieu hop boxx_number{boxmax,1} dang duoc "cut" if x1(i,cut)<=anpha_cut boxx_number{boxmax,1}(k,i)=1; %moi cell cua box_number la %mot matran, moi phan tu %box_number{m,1}(i,j) co %i=1...M, j=1...P, (MxP). %Neu box_number{m,1}(k,i)=1, %suy ra mau x1(i,:) nhan end if x1(i,cut)>anpha_cut boxx_number{boxmax+1,1}(k,i)=1; end end end end boxmax=boxmax+1; end end 185 Luận án Tiến sĩ Kỹ thuật Nguyễn Sỹ Dũng %4/ xep cac sieu hop thuan chung pHB{.}theo thu tu cua nhan k,k=1...M tluu=cell(pHBoder,1); de=M; tdem=0; nhanb=[]; for t0=1:pHBoder [k,ik]=find(pHB{t0,1}); k=min(k);%k la nhan cua bo pHB_fusion{t0,1} if k>0 tdem=tdem+1; if length(tluu{k,1})==0 tluu{k,1}=pHB{t0,1}; else de=de+1; tluu{de,1}=pHB{t0,1}; end end end pHBoder=tdem; pHB=cell(pHBoder,1); for i=1:pHBoder pHB{i,1}=tluu{i,1}; end for t0=1:pHBoder [ki,ikk]=find(pHB{t0,1}); ki=min(ki);%xac dinh nhan cua bo pHB_fusion{t0,1} if ki>0 nhanb(t0,1)=ki; end end %********************************** test_pHB.m %********************************** %================================================================== % 10.06.0918221543 NSD. N08 % %================================================================== pHBoder_tam=0 pHB_tam=cell(pHBoder,1); for i=1:pHBoder if length(pHB{i,1})>0 pHBoder_tam=pHBoder_tam+1; pHB_tam{pHBoder_tam,1}=pHB{i,1}; end end pHBoder=pHBoder_tam; pHB=pHB_tam; 186 Luận án Tiến sĩ Kỹ thuật Nguyễn Sỹ Dũng %----------------------------- kiemtra_pHB=zeros(M,P) for i=1:pHBoder kiemtra_pHB=kiemtra_pHB+pHB{i,1}; end kiemtra_pHB=U{r,1}-kiemtra_pHB %********************************** fusion_tam2.m %********************************** % Function fusion_tam.m dung de lien ket cac sieu hop cung nhan thanh sieu hop lien ket % pHB_fusion. % Dieu kien de lien ket duoc la 2 diem cuc tri lien hop vmin_fusion va vmax_fusion khong phu % (overlap) len bat ky mot mau nao khong thuoc 2 sieu hop trong tap huan luyen. % Thuat toan thuc hien theo nguyen tac: Xet sieu hop thu t0, t0=1...pHBoder, % pHB{t0,1}= [0 0 0 0 ...0 : % vector P cot, tuong thich voi U{r,1} MxP % . % . % . % 0 1 0...1 0 0 (hang thu k, k=1...M, (nhan k)) % . % . % . % 0 0 0 0...0 0] % O hang thu k (nhan k, k=1...M) co l sieu hop thuan chung pHB{1,1}, pHB{2,1},...,pHB{l,1}. Thuc % hien kiem tra tinh fusion bat dau tu pHB{1,1} theo so do: % % pHB{1,1} kiem tra voi pHB{2,1},pHB{3,1},pHB{4,1},...,pHB{l,1} % pHB{2,1} kiem tra voi pHB{3,1},pHB{4,1},...,pHB{l,1} % pHB{3,1}kiem tra voi pHB{4,1},...,pHB{l,1} % . % . % . % pHB{l-1,1} kiem tra voi pHB{l,1} %================================================================== % 10.06.0918221543 NSD. N09 % %================================================================== dem_pHB=pHBoder; min_j_t=[] max_j_t=[] min_j_tt=[] 187 Luận án Tiến sĩ Kỹ thuật Nguyễn Sỹ Dũng max_j_tt=[] min_j_fusion_t=[] max_j_fusion_t=[] %xac dinh nhan:---------------------------- nhanb=[] for t0=1:pHBoder for k=1:M k1=min(find(pHB{t0,1}(k,:))); if k1>0 nhanb(t0,1)=k; end end end %-------------------------------------------- %1/ xac dinh MIN , MAX cua tung pHB: for i=1:pHBoder h=find(pHB{i,1}(nhanb(i,1),:)==1);%h la vector chua cac mau thuoc nhan k, k=1...M, trong sieu hop pHB{to,1} % pHB{t0,1}= [0 0 0 0 ...0 : % vector P cot, tuong thich voi U{r,1} % . % . % . % 0 1 0...1 0 0 (hang thu k, k=1...M, (nhan k)) % . % . % . % 0 0 0 0...0 0 for j=1:n min_j_t(i,j)=min(x1(h,j));%tim min cua truc j, j=1...n, tren sieu hop thu i, i=1...pHBoder, max_j_t(i,j)=max(x1(h,j))%tim max cua truc j, j=1...n, tren sieu hop thu i, i=1...pHBoder, end end %2/Xet tinh phu de lien ket cac pHB cung nhan, khong phu len cac pHB khac tt=0; t=1; demfusion=0; while t<pHBoder%-1 if nhanb(t,1)>0 tt=t+1; while tt<pHBoder+1 %lay pHBoder{t,1} kiem tra de lien ket voi cac pHBoder{tt,1} khac %h2=find(pHB{tt,1}(nhanb(tt,1),:)==1) if nhanb(t,1)-nhanb(tt,1)==0%hai bo cung nhan: xet 2 pHB nay de lien %hop lai, neu thoa tinh phu. for j=1:n min_j_fusion_t(j,1)=min(min_j_t(t,j),min_j_t(tt,j));%tim min cua truc j, j=1...n, tren bo thu t, t=1...pHBoder, mang nhan k,k=1...M, 188 Luận án Tiến sĩ Kỹ thuật Nguyễn Sỹ Dũng max_j_fusion_t(j,1)=max(max_j_t(t,j),max_j_t(tt,j));%tim max cua truc j, %j=1...n, tren bo thu t, %t=1...pHBoder, mang %nhan k,k=1...M, end %2.1kiem tra tinh phu cua 2 sieu hop pHB{t,1}va pHB{tt,1}: khong=[]; for i=1:pHBoder%so cac sieu hop thuan chung pHB{.,1}, la ket qua q.trinh CUT khongphu=0; khongphu_1=1;%tinh khong phu cua mot pHB{} khong(i,1)=1 if (i~=t)&(i~=tt)%khac hai sieu hop pHB{t,1} va pHB{tt,1} dang xet for j=1:n if (max_j_t(i,j)... max_j_fusion_t(j,1)) %pHB_fusion không phu x1(i,j) khongphu=1; %tinh khong bi phu cua pHB{i,1} boi 2 %pHB{t,1} va pHB{tt,1} end if (max_j_fusion_t(j,1)<min_j_t(i,j))|(... min_j_fusion_t(j,1)>max_j_t(i,j)) khongphu=1; %khong phu end end % tinh khong bi phu cua pHB{i,1} khong(i,1)=khong(i,1)*khongphu end end %2.2 Lien ket 2 pHB lai vi tat ca cac pHB{.,1} deu khong bi phu khongphu_tong=1%tinh khong phu cua toan bo pHB{}(tru 2 pHB dang xet) for i=1:pHBoder if (i~=t)&(i~=tt) khongphu_tong = khongphu_tong*khong(i,1); end end if khongphu_tong==1 pHB{t,1}=pHB{t,1}+pHB{tt,1};%thuc hien ghep 2 pHB thanh pHB fusion, %gan cho bo thu t, t=1...pHBoder, mang nhan k pHB{tt,1}=zeros(M,P); demfusion=demfusion+1; end end tt=tt+1; end %while trong end%if t=t+1; end%while ngoai %================================================== %Xac dinh so pHB khac [] hoac khac zeros de cap nhat pHB_fusion: pHB_fusion=cell(pHBoder-demfusion,1) pHBoder_fusion=0;% so luong pHB_fusion for i=1:pHBoder 189 Luận án Tiến sĩ Kỹ thuật Nguyễn Sỹ Dũng test3f=min(find(pHB{i,1})); if test3f>0 pHBoder_fusion=pHBoder_fusion+1; pHB_fusion{pHBoder_fusion,1}=pHB{i,1}; end end test_pHBfusion %Loai cac pHB_fusion [] va pHB_fusion zeros. %loai, chi giu lai 1 pHB_fusion giong nhau %hien thi va kiem tra kiemtra_fusion=zeros(M,P) kiemtra=0 for i=1:pHBoder_fusion kiemtra_fusion=kiemtra_fusion+pHB_fusion{i,1}; end kiemtra_fusion=kiemtra_fusion-U{r,1}; kiemtra=max(kiemtra_fusion); if kiemtra~=0 anfisProg1; end %********************************* test_pHBfusion.m %********************************* %test_pHBfusion: %Test cac pHBoder_fusion giong nhau: loai, chi lay 1 %Loai cac pHB_fusion [] va pHB_fusion zeros. %======================================================= % 10.06.0918221543 NSD. N.10 % %======================================================= %1/ Loai cac pHB_fusion [] va pHB_fusion zeros: tam_pHB=cell(pHBoder_fusion,1); h=0; dem=0; ml1=0; for i=1:pHBoder_fusion ml1=length(pHB_fusion{i,1});%length([])=0; det[]=1: dung length() de nhan dang [] 190 Luận án Tiến sĩ Kỹ thuật Nguyễn Sỹ Dũng if ml1~=0%pHB_fusion{i,1} khac []. Kiem tra zeros dem=0; for k=1:M for j=1:P if pHB_fusion{i,1}(k,j)==1 dem=dem+1;%test zeros end end end if dem>0%matran ~= zeros h=h+1; tam_pHB{h,1}=pHB_fusion{i,1};%luu qua tam_pHB{h,1} end end end pHB_fusion=tam_pHB; pHBoder_fusion=h; %2/ Test cac pHBoder_fusion giong nhau: loai bot 1 tt=0; t=1; ttt=[]; mltam=[] ml1=0; while t<pHBoder_fusion tt=t+1; while tt<pHBoder_fusion+1 %lay pHBoder{t,1} kiem tra ket voi cac pHBoder{tt,1} khac ttt=pHB_fusion{t,1}-pHB_fusion{tt,1}; %kiem tra zero cua ttt=pHB_fusion{t,1}-pHB_fusion{tt,1}: dem=0; for k=1:M for j=1:P if ttt(k,j)==1 dem=dem+1%test zeros end end end if dem==0%ttt=pHB_fusion{t,1}-pHB_fusion{tt,1}=zeros(M,P) pHB_fusion{tt,1}=zeros(M,P); %xoa pHB_fusion{t,1} end tt=tt+1; end %while trong t=t+1; end%while ngoai %3/ Kiem tra lai de loai zeros, sap xep lai nhung chua theo thu tu nhan: tam_pHB=cell(pHBoder_fusion,1); h=0; dem=0; for i=1:pHBoder_fusion for k=1:M for j=1:P 191 Luận án Tiến sĩ Kỹ thuật Nguyễn Sỹ Dũng if pHB_fusion{i,1}(k,j)==1 dem=dem+1;%test zeros end end end if dem>0%matran ~= zeros h=h+1; tam_pHB{h,1}=pHB_fusion{i,1};%luu qua tam_pHB{h,1} end end pHB_fusion=tam_pHB; pHBoder_fusion=h; %***************************** netoldProg2.m %***************************** % Chuong trinh con netoldProg2.m thuc hien chuc nang GIAI MO cho he thong suy dien neuro- % fuzzy sau khi da thuc hien mo hoa tap data, chia bo de xac lap cac tap mo va cac ham lien % thuoc. %======================================================================== % 10.06.0918221543 NSD. N.11 % %======================================================================== min_j=cell(pHBoder_fusion,1);% quan ly MIN ung voi cac truc cua tung bo lien hop pHB{i,1}, % i=1...pHBoder_fusion. max_j=cell(pHBoder_fusion,1);% quan ly MAX ung voi cac truc cua tung bo lien hop pHB{i,1}, % i=1...pHBoder_fusion. pHB_fusionClass=cell(pHBoder_fusion,M); for t0=1:pHBoder_fusion k=nhanbo(t0,1); if k>0 % pHB_fusionClass{t0,k}=pHB_fusion{t0,1}%Tach cac pHB_fusion theo % tung nhan k, k=1...M. Sieu hop pHB_fusion{t0,k} co thu tu t0, % t0=1...pHBoder_fusion, mang nhan k. % tam1=pHB_fusionClass{t0,k}(k,:)%vector tam1 la hang thu k cua % pHB_fusion{t0,1}. tam1 chua bien che cac mau mang nhan k, k=1...M, % trong sieu hop pHB_fusion{to,1} tam1=pHB_fusion{t0,1}(k,:);%vector tam1 la hang thu k cua pHB_fusion{t0,1}. % tam1 chua bien che cac mau mang nhan k, % k=1...M, trong sieu hop pHB_fusion{to,1} h=find(tam1==1); % h la vector chua cac mau x1(k,.) thuoc nhan k, k=1...M, % trong sieu hop pHB_fusion{to,1}. Neu tam1=1, suy ra % pHB_fusion{to,1}(k,tam1)=1, hay U{r,1}(k,tam1)=1. Nghia % la, mau x1(tam1,:) thuoc pHBfusion thu t0, hang k, cot % tam1. 192 Luận án Tiến sĩ Kỹ thuật Nguyễn Sỹ Dũng % pHB{t0,1}= [0 0 0 0 ...0 : % vector P cot, tuong thich voi U{r,1} PxM % . % . % . % 0 1 0...1 0 0 (hang thu k, k=1...M, (nhan k)) % . % . % . % 0 0 0 0...0 0 for j=1:n min_j{t0,1}(j,1)=min(x1(h,j));%tim MIN cua vector tam1 tren truc toa do j, % j=1...n ( h cua bo thu t0, %t0=1...pHBoder_fusion). max_j{t0,1}(j,1)=max(x1(h,j));%tim MAX cua vector tam1 tren truc toa do % j, j=1...n ( h cua bo thu t0, % t0=1...pHBoder_fusion). end end end %2/ Tinh gia tri lien thuoc cua tung mau x1(i,.), i=1...t, doi voi tung sieu hop lien hop pHB_fusion{t0,1}, cùng nhan voi x1(i,.) demsopHBnhan_k=[]; for k=1:M demsopHBnhan_k(k,1)=0; end muy=[]; for t0=1:pHBoder_fusion k=nhanbo(t0,1); if k>0 demsopHBnhan_k(k,1)=demsopHBnhan_k(k,1)+1; for i=1:P anfaa=.5; tong=0; for j=1:n z1=x1(i,j)-max_j{t0,1}(j,1); z2=min_j{t0,1}(j,1)-x1(i,j); if anfaa*z1>1 f1=1; end if (anfaa*z1>=0)&(anfaa*z1<=1) f1=anfaa*z1; end if z1<0 f1=0; end if anfaa*z2>1 f2=1; end if (anfaa*z2>=0)&(anfaa*z2<=1) f2=anfaa*z2; end if z2<0 193 Luận án Tiến sĩ Kỹ thuật Nguyễn Sỹ Dũng f2=0; end tong=tong+1-f1-f2; end muy(t0,i)=tong/n; % gia tri lien thuoc cua mau x1(i,.), i=1...P, nhan k tren sieu hop % pHB_fusion{t0,1} mang nhan k, k=1...M end end end %3/ Tinh ham sai so binh phuong cuc tieu LMS cua tin hieu ra cua Net so voi y cua cac mau huan luyen: %Tinh gia tri MAX cua lien thuoc cua tung mau trong cac sieu hop thuan %chung cung nhan. Sap xep lai matran muy theo dung thu tu nhan k, k=1...M, %nghia la, vi du, neu sieu hop mang nhan 2 thi se nam o hang so 2 trong matran muy. %Ket qua chua trong muy_max_k theo dung thu. tu cua nhan tu 1. muy_max_k=zeros(M,P); for i=1:P for k=1:M [jj,hh]=find(nhanbo(:,1)==k); muy_max_k(k,i)=max(muy(jj,i)); end end %gia tri cac sieu phang ung voi tung mau for k=1:M%sieu phang M for i=1:P%so mau sieuphang(k,i)=x(i,:)*a{k,1}; end end %OUTPUT CUA MANG HLM1 [9] hieu=zeros(P,1); for i=1:P %xac gia tri lien thuoc lon nhat cua mau x1(i,.), i=1...P ma=max(muy_max_k(:,i)); [kk,ii]=find(muy_max_k(:,i)==ma); kk=min(kk)%xac gia tri lien thuoc lon nhat cua mau x1(i,.), i=1...P output_mau_xi(i,1)=muy_max_k(kk,i)*sieuphang(kk,i); hieu(i,1)=y(i,1)-output_mau_xi(i,1); end LMS= 0; for i=1:P LMS=LMS+(hieu(i,1))^2; end LMS=(LMS)/P

Các file đính kèm theo tài liệu này:

  • pdf14.pdf
  • pdf09.pdf
  • pdf1.pdf
  • pdf10.pdf
  • pdf11.pdf
  • pdf12.pdf
  • pdf13.pdf
  • pdf15.pdf
  • pdf16.pdf
  • pdf17.pdf
  • pdf18.pdf
  • pdf2.pdf
  • pdf3.pdf
  • pdf4.pdf
  • pdf5.pdf
  • pdf6.pdf
  • pdf7.pdf
  • pdf8.pdf