1. Trang chủ
  2. » Luận Văn - Báo Cáo

tiểu luận môn toán a2 ứng dụng trong lý thuyết mã

31 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

Trong ứng dụng củaĐSTT này, chúng ta sẽ xem xét cách thức giải mã một thông điệp sau khi nó bị bópméo bởi một số loại tiếng ồn.. Ma trận đầu tiên nàyđược gọi là ma trận mã hóa và nghịch

Trang 1

TRƯỜNG ĐẠI HỌC QUỐC TẾ HỒNG BÀNGKHOA KỸ THUẬT CÔNG NGHỆBỘ MÔN CÔNG NGHỆ THÔNG TIN

-oOo -TIỂU LUẬN MÔN TOÁN A2

GVHD : Phạm Thuý NgaSVTT : Phạm Ngọc Anh TuấnMSSV : 181101037

LỚP : TH18KHÓA : 2018 – 2022

TP.HCM, THÁNG 07 NĂM 2023

Trang 2

NHẬN XÉT C&A GIẢNG VIÊN HƯỚNG DẪN

Họ và tên sinh viên:

Lớp:

Tên đề tài:

1 Tiến độ và thái độ của sinh viên: - Mức đô , liên hệ với giáo viên:

- Thu nhâ ,p và xử lý các số liệu th7c tế:

- Khả năng hiểu biết về th7c tế và lý thuyết:

3 Hình thức trình bày:

4 Một số ý kiến khác:

5 Đánh giá của giảng viên HD: ……… (…./10)

(Chất lượng báo cáo: tốt, khá, trung bình, yếu) TP Hồ Chí Minh, ngày …… tháng…… năm…

GIẢNG VIÊN HƯỚNG DẪN

Trang 3

1.2 Một số kỹ thuật mã hóa cơ bản 3

1.3 Một kỹ thuật mã hóa nâng cao: Mã Hamming 4

1.4 Mã Hamming (7,4) 5

1.5 Thuật toán sửa lỗi với mã Hamming (7,4) 7

CHƯƠNG 2: ỨNG DỤNG TRONG MẬT MÃ 16

2.1 khái niệm mật mã 16

CHƯƠNG 3: ỨNG DỤNG TRONG LÝ THUYẾT ĐỒ THỊ 20

3.1 Giới thiệu và vài nét lịch sử: 20

3.2 Các khái niệm của đồ thị 21

3.2.1 Đại số tuyến tính liên quan tới lý thuyết đồ thị như thế nào? 22

3.3 Đồ thị định hướng trội 25

CHƯƠNG 4: ỨNG DỤNG TRONG NÉN ẢNH 27

4.1 Giới thiệu 27

4.2 Vectơ chuyển đổi sử dụng Haar Wavelets 28

4.3 Đại số tuyến tính có thể làm cho quá trình nén nhanh hơn, hiệu quả hơn 31

CHƯƠNG 5: ỨNG DỤNG TRONG MẠNG LƯỚI 33

5.1 Giới thiệu mạng lưới 33

5.1.1 Mạng lưới điện 33

5.1.2 Mạng lưới giao thông 34

CHƯƠNG 6: NHẬN DIỆN KHUÔN MẶT 36

Trang 4

CHƯƠNG 1: ỨNG DỤNG TRONG LÝ THUYẾT MÃ

1.1 Giới thiệu

Các thông điệp được truyền đi, như dữ liệu từ một vệ tinh, luôn là nhữngthông tin đã bị gây nhiễu Do đó, một điều quan trọng đó là khả năng để mã hóamột tin nhắn theo cách mà sau khi tiếng ồn đã gây nhiễu nó, nó có thể được giải mãvề dạng chính thống ban đầu Điều này được th7c hiện đôi khi bằng cách lặp lại tinnhắn hai hoặc ba lần, một điều rất phổ biến trong các bài phát biểu của con người.Tuy nhiên, việc sao chép dữ liệu được lưu trữ trên một đĩa nhỏ gọn, hoặc một đĩamềm một hoặc hai lần đòi hỏi thêm không gian để lưu trữ Trong ứng dụng củaĐSTT này, chúng ta sẽ xem xét cách thức giải mã một thông điệp sau khi nó bị bópméo bởi một số loại tiếng ồn Quá trình này được gọi là mã hóa Một mã phát hiệnlỗi trong một tin nhắn bị gây nhiêu được gọi là phát hiện lỗi Nếu, thêm vào đó, nócó thể sửa lỗi thì nó được gọi là sửa lỗi Sẽ là khó khăn hơn nhiều để tìm cách sửalỗi hơn so với các mã phát hiện lỗi.

1.2 Một số kỹ thuật mã hóa cơ bản

Hầu hết các tin nhắn được gửi đi dưới dạng các dãy ký t7 của 0 và 1, chẳnghạn như 10101 hoặc 1010011, nên giả sử rằng chúng ta muốn gửi tin nhắn 1011."Từ" nhị phân này có thể thay cho một từ th7c tế, chẳng hạn như mua, hoặc mộtcâu như mua cổ phiếu Một cách để mã hóa 1011 sẽ là việc đính kèm một "đuôi"nhị phân vào nó để sao cho nếu nó bị bóp méo, chẳng hạn như, 0011, chúng ta cóthể phát hiện các lỗi Một trong những cái đuôi có thể là 1 hoặc 0, tùy thuộc vàoviệc chúng ta có lẻ hoặc một số chẵn của 1 trong các từ Bằng cách này, tất cả cáctừ mã hóa sẽ có một số chẵn của 1 Vì vậy, 1011 sẽ được mã hóa như 10111 Bâygiờ nếu tin nhắn bị bóp méo đến 00.111 chúng ta biết rằng một lỗi đã xảy ra, bởi vìchúng ta chỉ nhận được một số lẻ của 1 Mã phát hiện lỗi này được gọi là kiểm trangang hàng và nó quá đơn giản để có thể hữu ích Ví dụ, nếu hai chữ số đã đượcthay đổi, chương trình của chúng ta sẽ không phát hiện các lỗi, vì vậy điều nàychắc chắn không phải là một mã sửa lỗi Một phương pháp khác đó là việc mã hóathông điệp bằng cách lặp lại nó hai lần, chẳng hạn như 10111011 Sau đó, nếu tanhận được là 00.111.011, chúng ta biết rằng một trong hai phần bằng nhau đã bịbóp méo Nếu chỉ có một lỗi xảy ra, sau đó nó rõ ràng ở vị trí 1 là chương trình mãhóa này cũng cho kết quả thấp và không thường được sử dụng Chúng ta có thể có

Trang 5

được kết quả tốt hơn bằng cách lặp lại thông điệp nhiều lần, nhưng sẽ mất khônggian và thời gian.

Trang 6

1.3 Một kỹ thuật mã hóa nâng cao: Mã Hamming

Trong những năm 1950, R.H Hamming đã giới thiệu một mã sửa lỗi đơn thúvị cái mà trở thành một mã được biết đên với tên gọi là mã Hamming Trước khichúng ta có thể kiểm tra chi tiết của kỹ thuật đó, chúng ta cần một vài kiến thứcnền tảng từ đại số tuyến tính.

Không gian vectơ trên

Trong một khóa học đại số tuyến tính năm nhất tiêu biểu, lúc sinh viên đượcgiới thiệu khái niệm của một không gian vectơ, từ “vô hướng” có nghĩa là một sốth7c hoặc một số phức Điều này có thể được tổng quát tới một phần tử bất kỳ củamột trường cho trước.

Một trường là một tập F với hai phép toán, cộng và nhân, thỏa mãn các tiên đề sau đây:

1 Phép cộng khép kín: nếu x, y thuộc F, thì x+y cũng thuộc F.2 Phép nhân khép kín: nếu x, y thuộc F, thì xy cũng thuộc F.

3 Phép cộng có tính kết hợp: nếu x, y, z thuộc F, thì (x+y)+z=x+(y+z)4 Phép nhân có tính kết hợp: nếu x, y, z thuộc F, thì (xy)z=x(yz)5 Luật phân phối: nếu x, y, z thuộc F, thì x(y+z)=xy+yz

6 Tồn tại phần tử 0: một phần tử của F thỏa mãn x+0=x với mọi thuộc Fx

7 Tồn tại phần tử 1: một phần tử của F thỏa mãn x.1=x với mọi thuộc Fx 8 Tồn tại phần tử đối: Nếu thuộc F, thì tồn tại thuộc F sao cho x y x+y=09 Tồn tại phần tử nghịch đảo của phần tử khác 0: Nếu khác 0 và thuộc Fx

thì tồn tại một phần tử thuộc F sao cho y xy=1.

10 Luật giao hoán của phép cộng: Nếu x, y thuộc F, thì x+y=y+x11 Luật giao hoán của phép nhân: Nếu x, y thuộc F, thì xy=yx.

Ví dụ của trường như (tập các số hữu tỷ), (tập các số th7c), (tập các sốphức), và

1 được ký hiệu bởi Nó bao gồm chỉ

Trong , phép cộng và phép nhân được định nghĩa như sau:Z2

0+0=0; 1+0=1; 0+1=1; 1+1=0;0.0=0; 1.0=0; 0.1=0; 1.1=1.Nhắc lại rằng cấu trúc không gian vectơ của

1 (x1,…, x )+ (y ,…, y )= (x + y ,…, xn1n11n+yn

trên xác định bởi hai phép toán

1 a(x1,…, x )= (ax ,…,a x ) n1n nếu là một số th7c.a

Cấu trúc tương t7 có thể được định nghĩa trên

Trang 7

Khi đó, trở thành một không gian vectơ trên trường (phép nhân ở đây là với0 và 1) Tất cả các khái niệm cơ bản của không gian vectơ như độc lập tuyến tính,tập các tổ hợp tuyến tính, không gian con, chiều, không gian hàng, không giankhông, … Đều áp dụng được trong trường hợp này Điểm khác biệt lớn nhất vớikhông gian vectơ là chứa một số hữu hạn các vectơ, cụ thể là vectơ.

1.4 Mã Hamming (7,4)

Cho trước hai số nguyên k ≤ n, một không gian con của

với chiều k được

gọi là một (n,k) mã tuyến tính Các phần tử của một mã tuyến tính được gọi là các từ mã.

Xét ma trận trênH gồm các cột c1, …, c 7là các vectơ khác không của 3:

H =

Không gian không, Null( ) (còn được gọi là H hạt nhân), của được gọi là một H mãHamming (7,4) Nhắc lại rằng Null( ) không gì khác là tập tất cả các nghiệm củaH

hệ phương trình tuyến tính thuần nhất HX=0 tương ứng với H Ta nói rằng H là

một ma trận kiểm tra cho mã Null( ) Ta giải hệ phương trình HHX=0 để xác địnhNull( ).H

Sử dụng phương pháp khử Gauss-Jordan (cùng với các phép toán số học của ),chúng ta thu được dạng bậc thang của như sau:H

H

Và từ hạng của bằng 3, chiều của Null( ) là 7-3=4 Th7c ra, ta có thể dễ dàngH H

chỉ ra rằng

B (1,0,0,0,0,1,1);(0,1,0,0,1,0,1);(0,0,1,0,1,1,0);(0,0,0,1,1,1,1)

là một cơ sở của Null( ) trên HZ2

Nhận xét Giả sử {e ,…,e17} là cơ sở chuẩn tắc của , khi đó He =ciivới mọi i=1,…,7, và do đó không có vectơ ei nào thuộc Null( ) Như là một hệ quả, ta có haiH

nhận xét sau:

2 Nếu là một vectơ của Null(v H), thì + v ei không thuộc Null( ) với Hi=1,2,…,7.

3 Nếu là một vectơ của sao cho v Hv=civới nào đó, thì + là một vectơi v ei

của Null( ) Hơn nữa, + không thuộc Null( ) với mọi HvHji

Ma trận gồm các hàng là các phần tử của cơ sở B được gọi là ma trận phần tử G

sinh của mã Hamming (7,4):

G = 2

2

Trang 8

Bây giờ chúng ta sẽ giải thích quá trình giải mã Hamming và sửa lỗi:

1.5 Thuật toán sửa lỗi với mã Hamming (7,4)

Giả sử rằng chúng ta muốn gửi một từ bao gồm 4 ký t7 u u1 u u u , 234 và giả sửrằng chúng ta biết trước rằng từ mã hóa có thể bị làm nhiễu bởi một việc thay đổichỉ một thành phần của nó Gọi là từ thu được.w

2 Để mã hóa , chúng ta tạo ra một tổ hợp tuyến tính của các phần tử của cơuv

sở B ở trên với 4 ký t7 của như là hệ số Chú ý rằng có thể đạt được từu v

từ gốc bằng việc biểu diễn phép nhân ma trận v=[u1 u u u234]G, trong đó G là

ma trận ở trên Bởi xây d7ng này, vectơ v thuộc Null( ) Chú ý rằngH

[u1 u u u234]G có thể cho ta một vectơ 7 ký t7 trong đó 4 ký t7 đầu biểu diễn

cho từ gốc.

3 Tính Hw, trong đó là ma trận được mô tả ở trên.H

4 Nếu Hw=0, thì w nằm trong Null(H) Do đó, một lỗi đơn có nghĩa là w

không thuộc Null( ) bằng chú ý đầu tiên ở trên Chúng ta sẽ kết luận làH

không có s7 sai lệch ở đây và là 4 ký t7 đầu tiên của u w.

5 Nếu Hw=civới nào đó, thì + là một vectơ của Null( ), và + khôngi v eiHv ej

thuộc Null( ) với mọi Điều này gợi ý một s7 thay đổi thành phần thứ Hj  i i

của (từ 0 thành 1 hoặc từ 1 thành 0) và thu được một vectơ mới w w’ Bốn ký

t7 đầu của w’ biểu diễn cho từ u.

Ta cùng minh họa các bước trên bởi hai ví dụ sau đây:

Ví dụ 1 Giả sử chúng ta nhận được tin nhắn là w=1100011 được mã hóa bởi mãHamming (4, 7) Giả sử rằng có nhiều nhất một lỗi trong quá trình chuyển phátthông tin, hãy tìm tin nhắn gốc.

Trang 9

tin nhắn được mã hóa Với cuộc cách mạng điện tử của thời đại chúng ta, ta có thểhình dung ra rằng có nhiều kiểu mã hiệu quả hơn nhiều.

Trang 10

Ngày nay, các chính phủ sử dụng các phương pháp phức tạp để mã hóa vàgiải mã các thông điệp Một loại mã, mà rất khó để phá vỡ, được tạo ra bằng việcsử dụng một ma trận lớn để mã hóa một thông điệp Người nhận thông điệp giải mãnó bằng cách sử dụng ma trận nghịch đảo của ma trận đó Ma trận đầu tiên nàyđược gọi là ma trận mã hóa và nghịch đảo của nó được gọi là ma trận giải mã.

Ví dụ Giả sử thông điệp cần gửi là

PREPARE TO NEGOTIATE

Và ma trận mã hóa là

Chúng ta gán một số cho mỗi chữ cái của bảng chữ cái Để đơn giản, chúng ta hãygắn mỗi chữ cái với vị trí của nó trong bảng chữ cái: A là 1, B là 2, và cứ tiếp tụcnhư vậy Ngoài ra, chúng ta chỉ định số 27 (nhớ là chúng ta chỉ có 26 chữ cái trongbảng chữ cái) là cách trống giữa hai từ Vì vậy, thông điệp trở thành:

Trang 11

Từ việc chúng ta đang sử dụng một ma trận cấp 3x3, chúng ta ngắt tin nhắn trênthành một dãy của các vectơ cột gồm 3 hàng như sau:

Lưu ý rằng nếu cần thiết có thể thêm cách trống vào cuối của thông điệp để hoànthành vector cuối cùng Bây giờ chúng ta mã hóa thông điệp bằng cách nhân mỗivectơ trên với ma trận mã hóa Điều này có thể được th7c hiện bằng cách viết cácvectơ trên như là các cột của ma trận và th7c hiện các phép nhân ma trận đó matrận với ma trận mã hóa như sau:

Và ta nhận được ma trận

Các cột của ma trận này cung cấp cho các thông điệp được mã hóa Thông điệpđược truyền đi dưới dạng tuyến tính như sau

Để giải mã thông điệp, người nhận viết chuỗi này như là một chuỗi của các ma trận cột 3x1 và lặp lại kỹ thuật bằng việc sử dụng ma trận nghịch đảo của ma trận mã hóa Ma trận nghịch đảo của ma trận mã hóa này, hay ma trận giải mã, là:

Vì vậy, để giải mã thông điệp, th7c hiện phép nhân ma trận

Ta nhận được ma trận

Các cột của ma trận này, được viết ở dạng tuyến tính, cho ta thông điệp ban đầu:

Trang 12

CHƯƠNG 3: ỨNG DỤNG TRONG LÝ THUYẾT ĐỒ THỊ

3.1 Giới thiệu và vài nét lịch sử:

Königsberg là một thành phố ở Nga nằm cạnh song Pregel, nơi được xem là nơiở của công tước của nước Phổ trong thế kỷ thứ 16 Ngày nay, thành phố này đượcđặt tên là Kaliningrad, và nó là một trung tâm công nghiệp và thương mại của Tâynước Nga.Sông Pregel chảy dọc theo thành phố và chia thành phố thành 4 vùngnhư bức tranh sau:

Trong thế kỷ 18, bảy cây cầu nối bốn vùng này với nhau Người dânKönigsberg thường có thói quen đi bộ dọc theo thành phố vào các chủ nhật hàngtuần Họ t7 hỏi rằng ta có thể bắt đầu tại một địa điểm trong thành phố, đi qua tấtcả các cây cầu mà mỗi câu cầu không đi qua quá 2 làn và quay trở lại được điểmxuất phát không Vấn đề này đầu tiên được giải quyết bởi nhà toán học Thụy Sĩ nổitiếng là Leonhard Euler, người mà, như một hệ quả của cách giải quyết của mình,đã phát minh ra một nhánh của toán học mà ngày nay được biết đến là Lý thuyếtđồ thị Phương án của Euler đó là biểu thị vấn đề đặt ra bởi một đồ thị với 4 vùngđược biểu thị bởi 4 đỉnh và 7 cây cầu là 7 cạnh như sau:

Lý thuyết đồ thị bay giờ là một công cụ chính trong các nghiên cứu toán học, kỹthuật điện, lập trình máy tính và kết nối mạng, quản trị kinh doanh, xã hội học,kinh tế, tiếp thị và truyền thông; danh sách này có thể còn tiếp tục nhiều nữa Th7ctế, nhiều vấn đề có thể được mô hình hóa với các đường dẫn (xem định nghĩa dướiđây) được định hình bằng cách đi dọc theo các cạnh của một đồ thị nào đó Ví dụ,vấn đề về lập các tuyến đường một cách hiệu quả để chuyển phát thư, nhặt rác,quét tuyết, chẩn đoán trong các mạng máy tính, và những cái khác, có thể đượcgiải quyết bằng việc sử dụng các mô hình có liên quan đến đường đi trong đồ thị.

Trang 13

3.2 Các khái niệm của đồ thị

Trước khi chúng ta tạo s7 kết nối giữa lý thuyết đồ thị và đại số tuyến tính, tabắt đầu với mội số định nghiaxcow bản trong lý thuyết đồ thị cho những ai còn xalạ với chủ đề này:

Một đồ thị là một họ các điểm được gọi là các đỉnh, được nối với nhau bởi cácđoạn thẳng được gọi là các cạnh:

Một đồ thị được gọi là được định hướng hay một digraph nếu các cạnh của nóđược định hướng (có nghĩa là chúng có một hướng cụ thể) Một đường đi kết nốihai đỉnh X và Y của một digraph là một dãy các điểm phân biệt (các đỉnh) và cáccạnh định hướng Một đường đi bắt đầu và kết thúc tại một đỉnh của P được gọi làmột loop tại P Chẳng hạn, trong đồ thị định hướng:

Có nhiều hơn một đường đi từ P tới P Một trong số chúng bao gồm ba điểm 13P1 P P Một đường đi khác từ P tới P bao gồm các điểm P P P P P 231312453

Một đồ thị được gọi là liên thông nếu có một đường đi kết nối hai đỉnh phân biệt.Các đồ thị khác được gọi là không liên thông.

Trang 14

Trong một đồ thị G, nếu tồn tại một đường đi gồm cạnh giữa hai đỉnh P và P ,n ijthì ta nói rằng có một bước từ P tới P Chẳng hạn, có ba cái 2-bước khác nhaun- ijgiữa các đỉnh P và P ở đồ thị G ở trên.271

3.2.1 Đại số tuyến tính liên quan tới lý thuyết đồ thị như thế nào?

Như ta có thể hình dung, các đồ thị đôi khi có thể rất phức tạp Nên ta cần tìmmột cách thiết th7c hơn để biểu diễn chúng Các ma trận là một cách rất hữu dụngđể nghiên cứu các đồ thị, do chúng có thể chuyển đổi hình ảnh thành những con sốvà sau đó ta có thể sử dụng các kỹ thuật từ đại số tuyến tính.

Cho một đồ thị G với đỉnh n v ,…,v1n, ta định nghĩa ma trận liên thuộc của Gtương ứng với các đỉnh được liệt kê theo thứ t7 v ,…,v1nlà ma trận A=[a ] cấp ij n×n

Nếu A là ma trận liên thuộc của đồ thị G (với các đỉnh là v ,…, v ), thì phần tử1n

hàng i cột j của A biểu thị cho số các r-bước phân biệt từ đỉnh v tới đỉnh v trongrij

đồ thị.

Trang 15

Lấy bình phương của ma trận M ở trên cho ta ma trận:1

Từ ma trận này suy ra số các đường đi phân biệt gồm 2 cạnh giữa các đỉnh củađồ thị G Chẳng hạn như, có ba 2-bước phân biệt giữa đỉnh P và P trên đồ thị,127nhưng không có cách nào để đi từ P tới P bằng hai bước.15

Ví dụ Sơ đồ sau biểu diễn một đồ thị lối đi của một công ty giao hàng:

trong đó A, B, C, D, E là các thành phố phục vụ bởi công ty Ma trận liên thuộc Mcủa đồ thị trên là:

Nên là ma trận

Và là ma trận

Ngày đăng: 14/08/2024, 16:48

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN