Đang tải... (xem toàn văn)
Hai ma trận A có kích thước m dòng và n cột; Ma trận B có kích thước n dòng và p cột, được ký hiệu như sau A = [aij]mxn B = [bij]nxp Cần tính ma trận tích C = AB Ma trận tích C=AB có kích thước m*p xác định bằng công thức: cij=ai1b1j+ai2b2j+..+ainbnj với i=1..m; j=1..p
TRƯỜNG ĐẠI HỌC CẦN THƠ KHOA CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THƠNG BÁO CÁO BÀI TỐN NHÂN HAI MA TRẬN KÍCH THƯỚC LỚN Giảng viên hướng dẫn: Học viên thực hiện: TS Phan Thượng Cang Trần Văn Tiên Mã Tuấn Duy Bài tốn Nhân hai ma trận kích thước lớn Mơ tả tốn Nhân hai ma trận Bài tốn Nhân hai ma trận mơ hình Map Reduce Nội Dung Demo chương trình Thảo luận Mơ tả Bài tốn Nhân hai ma trận Giới Thiệu Bài Toán Nhân Hai Ma Trận Bài tốn Hai ma trận A có kích thước m dòng n cột; Ma trận B có kích thước n dòng p cột, ký hiệu sau A = [aij]mxn B = [bij]nxp Cần tính ma trận tích C = AB Giới Thiệu Bài Toán Nhân Hai Ma Trận Ma Trận Tích Ma trận tích C=AB có kích thước m*p xác định cơng thức: cij=ai1b1j+ai2b2j+ +ainbnj Ví dụ: với i=1 m; j=1 p Bài tốn Nhân hai ma trận mơ hình MapReduce Nhân hai ma trận MapReduce Tập liệu input [Tên ma trận],[Hàng],[Cột],[Giá trị] Ví dụ: A= File input.txt A,0,0,1 A,0,1,-1 A,0,2,0 A,1,0,2 A,1,1,1 A,1,2,1 Nhân hai ma trận MapReduce Tập liệu input A= A,0,0,12 A,0,1,-51 A,0,2,4 A,1,0,6 A,1,1,167 B= A,1,2,-68 A,2,0,-4 A,2,1,24 A,2,2,-41 B,0,0-2 B,0,1,1 B,1,0,1 B,1,1,2 B,2,0,0 B,2,1,3 MapReduce Và Bài Toán Nhân Hai Ma Trận Giải Thuật Map Giải Thuật Reduce Nhân hai ma trận MapReduce – Mơ hình Input files Mapping Shuffling Reducing (Key, Value) (Key, Value) (Key, Value) (0,0),(A,0,12) (0,1),(A,0,12) Input.txt A,0,0,12 A,0,1,-51 A,0,2,4 A,1,0,6 A,1,1,167 A,1,2,-68 B,0,0-2 B,0,1,1 B,1,0,1 B,1,1,2 B,2,0,0 B,2,1,3 (0,0),[(A,0,12),(A,1,-51),…,(B,2,0)] Key (0,0) List A = [(A,0,12)…] List B = [(B,0,-2),…] (0,0),(A,1,-51) (0,1),(A,1,-51) (0,0),(A,2,4) (0,1),(A,2,4) (0,1),[(A,0,12),(A,1,-51),…,(B,2,3)] Key (0,1) List A = [(A,0,12)…] List B = [(B,0,1),…] (1,0),(A,2,-68) (1,1),(A,2,-68) … (0,0),(B,0,-2) (1,0),(B,0,-2) (0,0),(B,1,1) (1,0),(B,1,1) (0,0),(B,2,0) (1,0),(B,2,0) (1,0),[(A,0,6),(A,1,-51),…,(B,2,0)] (1,1),[(A,0,6),(A,1,-51),…,(B,2,3)] Key (1,0) List A = [(A,0,6)…] List B = [(B,0,-2),…] … (0,1),(B,2,3) (1,1),(B,2,3) Result … P= Giải Thuật Map Giải Thuật Map map(key,value): // value is(“A”,i,j,a_ij) or (“B”,j,k,b_jk) if value[0]==”A”: i=value[1] j=value[2] a_ij=value[3] for k=0 to p-1: context.write((i,k) as key, (A,j,a_ij) as value) //p: so cot cua Ma tran B Giải Thuật Map else: j=value[1] k=value[2] b_jk=value[3] for i=0 to m-1: context.write((i,k) as key, (B,j,b_jk) as value) //m: so dong cua ma tran A Giải Thuật Map A,0,0,12 (0,0),(A,0,12) (0,1),(A,0,12) Sau tạo cặp key,value xếp value theo key ta được: ((0,0),[(A,0,12),(A,1,-51),(A,2,4),(B,0,-2),(B,1,1),(B,2,0)]) Giải Thuật Reduce Giải Thuật Reduce reduce(key,values): // key is (i,k) // values is a list of (“A”,j,a_ij) and (“B”,j,b_jk) hash_A={j:a_ij for (x,j,a_ij) in values if x==A} hash_B={j:b_jk for (x,j,b_jk) in values if x==B} Result=0 for j=1 to n: Result + =hash_A[j] * hash_B[j] context.write(key,result) Nhân Hai Ma Trận Trong Hadoop MapReduce Giải Thuật Reduce ((0,0),[(A,0,12),(A,1,-51),(A,2,4),(B,0,-2),(B,1,1),(B,2,0)]) reduce 12*(-2)+(-51)*1+4*0=-75 phần tử P00 Demo Nhân Hai Ma Trận Trong Hadoop MapReduce Demo Khởi động dịch vụ: ● hadoop/sbin/start-all.sh ● Tạo thư mục input: ● hdfs dfs -mkdir /input ● Đưa file matrix.txt lên hadoop: ● hdfs dfs -put ~/matran/input/* /input ● Demo Biên dịch chương trình: ● hadoop com.sun.tools.javac.Main *.java ● Tạo file jar ● jar cf mt.jar *.class Chạy chương trình ● hadoop jar mt.jar Matrix /input /output ● Xem kết ● hdfs dfs -cat /output/* ● Xin cảm ơn! .. .Bài tốn Nhân hai ma trận kích thước lớn Mơ tả tốn Nhân hai ma trận Bài tốn Nhân hai ma trận mơ hình Map Reduce Nội Dung Demo chương trình Thảo luận Mơ tả Bài toán Nhân hai ma trận Giới... Thiệu Bài Toán Nhân Hai Ma Trận Ma Trận Tích Ma trận tích C=AB có kích thước m*p xác định cơng thức: cij=ai1b1j+ai2b2j+ +ainbnj Ví d : với i=1 m; j=1 p Bài toán Nhân hai ma trận mơ hình MapReduce... A,0,0, 12 A,0,1,-51 A,0 ,2, 4 A,1,0,6 A,1,1,167 B= A,1 ,2, -68 A ,2, 0,-4 A ,2, 1 ,24 A ,2, 2,-41 B,0,0 -2 B,0,1,1 B,1,0,1 B,1,1 ,2 B ,2, 0,0 B ,2, 1,3 MapReduce Và Bài Toán Nhân Hai Ma Trận Giải Thuật Map Giải