Tải bản đầy đủ (.docx) (12 trang)

báo cáo bài tập lớn đại số tuyến tính mô hình markov

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (210.59 KB, 12 trang )

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC BÁCH KHOA
-------------------------------------

BÁO CÁO BÀI TẬP LỚN ĐẠI SỐ TUYẾN TÍNH

ĐỀ TÀI 14: MƠ HÌNH MARKOV

LỚP L17, NHĨM 14
GVHD: NGUYỄN XUÂN MỸ

Tp. HCM, ngày 20 tháng 4 năm 2022

download by :


ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC BÁCH KHOA
-------------------------------------

BÁO CÁO BÀI TẬP LỚN ĐẠI SỐ TUYẾN TÍNH

ĐỀ TÀI 14: MƠ HÌNH MARKOV

Nhóm 14:
1. Nguyễn Trọng Đại MSSV: 2113114
2. Hoàng Minh Hải Đăng MSSV: 2110120
3. Dương Nguyễn Tấn Đạt

MSSV: 2113118


4. Phan Đức Đạt

MSSV: 2113152

5. Trần Tiến Đạt

MSSV: 2113162

6. Trần Hữu Điển

MSSV: 2113188

7. Lã Minh Đức

MSSV: 2110132

8. Đỗ Minh Đức

MSSV: 2113260

Tp. HCM, ngày 20 tháng 4 năm 2022

download by :


Mục lục
1. Đề tài bài tập lớn: ......................................................................................................................
2.

Cơ sở lí thuyết .........................................................................................................................

2.1.

Giới thiệu mơ hình Markov ......................................................

2.2 Mơ hình Markov được sử dụng rộng rãi để: .....................................................................

3.

2.3.

Phép nhân hai ma trận ..............................................................

2.4.

Phép nâng lên lũy thừa .............................................................

Các bước chạy chương trình ...................................................................................................
3.1.

Giải bài tốn cụ thể ...................................................................

3.2.

Các bước giải của bài toán .......................................................

4.

Đoạn code dùng cho bài toán ..................................................................................................

5.


Các bước thực hiện kết quả của bài tốn trên ..........................................................................

6.

Ví dụ minh họa ........................................................................................................................

Tài liệu tham khảo ........................................................................................................................

download by :


1. Đề tài bài tập lớn
Chủ đề 14:

2.



Giới thiệu mơ hình Markov



Viết chương trình dùng mơ hình Markov giải một bài tốn cụ thể



Tìm các ứng dụng khác nhau của mơ hình Markov

Cơ sở lí thuyết


2.1. Giới thiệu mơ hình Markov
Mơ hình markov là mơ hình trang thái của một hệ thống hay một quy trình sau một thời gian
được biểu hiện qua mơ hình trạng thái ban đầu và thời gian cũng như là số lượng cụ thể ban
đầu của từng trạng thái.
2.2 Mơ hình Markov được sử dụng rộng rãi để:
─ Mô tả thế giới một cách thực tế hơn
─ Là một cơng cụ hữu ích giúp dự đoán dài hạn về một hệ thống hoặc là một quy trình Ví dụ:

Dự đốn dài hạn Mơ hình Markov mơ tả theo thời gian nên ta có thể đặt những câu hỏi về
trạng thái của một hệ thống trong tương lai.
─ Nó phát triển như thế nào theo thời gian: hệ thống sẽ ở trạng thái nào sau thời gian mà người

ta cần biết
─ Truy tìm các trình tự có thể xảy ra trong q trình: khi hệ thống đi từ trạng thái A đi sang

trạng thái B trong thời gian mà người ta cần biết. Khả năng có nó đi theo con đường đã vạch ra
là bao nhiêu.
Cơng thức tính của mơ hình Markov: X k = M k

X

0

Chú thích:
1

download by :



─ M: ma trận biểu thị trạng thái ban đầu
─ k: thời gian
─ X0: ma trận biểu thị số lượng từng trạng thái lúc đầu
─ Xk: ma trận biểu thị trạng thái sau thời gian k

2.3. Phép nhân hai ma trận
Cho A = (aij )m×n, B = (bij )n×p. Khi đó A × B = C = (cij )m×p, với cij = ai1b1j + ai2b2j + · · · + ainbnj .

Để tìm phần tử cij của ma trận tích, ta lấy hàng i của A nhân tương ứng với cột j của B và cộng
các tích lại với nhau.

...
AB = ai1
...

...

...

...

... aip • ...
... ... ...

...

b

...


1j

...
b

... = ...
...
...

... ...
c

ij

...

... ...

pj

Điều kiện phép nhân: số cột của ma trận trước phải bằng với số hàng của ma trận sau

2.4. Phép nâng lên lũy thừa
Cho A là ma trận vuông cấp n. Ta định nghĩa :
0

A =I
1

A =A

2

A =A.A
∀m ∈ N*, Am=A.A....A.

2

download by :


Các bước chạy chương trình

3.

B1: Nhập ma trận X0, M, k
B2: Kiểm tra xem ma trận M và X0 có nhân được với nhau khơng
B3: Tích hai ma trận M và X0 theo công thức X k = M k

X0

3.1. Giải bài tốn cụ thể
Trong một chung cư có 5000 dân( khách hàng), và có 3 siêu thị là A,B,C. Giả sử, trong tháng
đầu tiên số khách hàng của từng siêu thị lần lượt là 1000,1500,2500. Người ta nhận thấy mỗi
tháng có 10% khách hàng từ A sang B và có 10% khách hàng từ A sang C. Từ B có 20% khách
hàng sang A và 15% khách hàng sang C. Từ C có 15% khách chuyển sang A và 10% chuyển
sang B. Dự đoán số lượng khách hàng sau 3 tháng của từng siêu thị.
3.2. Các bước giải của bài toán
0,15

0,8


B1: Nhập ma trận M :

0,1
0,75

1000
Ma trận X0: 1500 , k=3
2500

B2: kiểm tra số liệu phù hợp, đúng theo yêu cầu, ma trận M và X0 nhân được với nhau
B3: Số lượng khách hàng sau 3 tháng :
k

Tích Xk=M .X0
0, 8
0,1
0,1

Vậy số lượng khách hàng sau 3 tháng của siêu thị A,B,C lần lượt là 1966,1177,1857.
3

download by :


4. Đoạn code dùng cho bài toán
clear;
close all;
clc;
% nhap gia tri ban dau cua bai toan

disp('Ti le phan tram khach hang chuyen tu sieu thi nay sang sieu thi khac sau 1 thang lan luot
la:');
A_to_B = input('Tu sieu thi A sang sieu thi B: ');
A_to_C = input('Tu sieu thi A sang sieu thi C: ');
B_to_A = input('Tu sieu thi B sang sieu thi A: ');
B_to_C = input('Tu sieu thi B sang sieu thi C: ');
C_to_A = input('Tu sieu thi C sang sieu thi A: ');
C_to_B = input('Tu sieu thi C sang sieu thi B: ');
disp('So luong khach hang ban dau cua moi sieu thi:');
A = input('Sieu thi A: ');
B = input('Sieu thi B: ');
C = input('Sieu thi C: ');
n = input('So luong khach hang can tim o moi sieu thi sau n thang voi n = ');
% khoi tao ma tran P, X_0
P = [(1 - A_to_B - A_to_C) B_to_A C_to_A;
A_to_B (1 - B_to_A - B_to_C) C_to_B;
A_to_C B_to_A (1 - C_to_A - C_to_B)];
X_0 = [A; B; C];
% in ket qua ra man hinh
X_n = P^(round(n)) * X_0;
fprintf('So luong khach hang cua sieu thi A sau %d thang la %d khach hang\n', n,
round(X_n(1,1)));
fprintf('So luong khach hang cua sieu thi B sau %d thang la %d khach hang\n', n,
round(X_n(2,1)));
fprintf('So luong khach hang cua sieu thi C sau %d thang la %d khach hang\n', n,
round(X_n(3,1)));

4

download by :



5. Các bước thực hiện kết quả của bài toán trên
Ti le phan tram khach hang chuyen tu sieu thi nay sang sieu thi khac sau 1 thang lan luot la:
Tu sieu thi A sang sieu thi B: 0.1
Tu sieu thi A sang sieu thi C: 0.1
Tu sieu thi B sang sieu thi A: 0.2
Tu sieu thi B sang sieu thi C: 0.15
Tu sieu thi C sang sieu thi A: 0.15
Tu sieu thi C sang sieu thi B: 0.1
So luong khach hang ban dau cua moi sieu thi:
Sieu thi A: 1000
Sieu thi B: 1500
Sieu thi C: 2500
Mo hinh markov la:
0.8000 0.2000 0.1500
0.1000 0.6500 0.1000
0.1000 0.1500 0.7500

X_0 la:
1000
1500
2500

So luong khach hang can tim o moi sieu thi sau n thang voi n = 3
So luong khach hang cua sieu thi A sau 3 thang la 1965 khach hang
5

download by :



So luong khach hang cua sieu thi B sau 3 thang la 1176 khach hang
So luong khach hang cua sieu thi C sau 3 thang la 1859 khach hang

6

download by :


6. Ví dụ minh họa
Giả sử tơi có một người bạn sống ở rất xa. Hàng ngày chúng tôi gọi điện thoại cho nhau và
anh ta kể cho tôi nghe anh ta đã làm gì trong ngày. Người bạn tơi chỉ có 3 cơng việc mà anh
thích làm là:
1) đi dạo
2) đi chợ
3) dọn phòng

Hiển nhiên là sự lựa chọn phải làm gì thì phụ thuộc trực tiếp vào thời tiết hôm đấy thế nào.
Như vậy, tôi không nhận được thông tin cụ thể về thời tiết nơi anh bạn tôi sống nhưng tôi lại
biết về xu hướng chung. Dựa vào lời kể của công việc hàng ngày của anh ta, tơi có thể đốn
về thời tiết hơm đó.
Như vậy, thời tiết được vận hành như một chuỗi Markov cụ thể. Có 2 trạng thái thời tiết,
"Mưa" và "Nắng", nhưng tơi khơng quan sát trực tiếp, do đó, chúng là ẩn đối với tôi. Vào mỗi
ngày, anh bạn tôi sẽ làm một trong các việc sau phụ thuộc vào thời tiết hơm đó là "đi dạo", "đi
chợ" và "dọn phịng". Vì anh bạn tơi đã tường thuật lại hoạt động của mình, đó là các dữ liệu
quan sát. Tồn bộ hệ thống này là một mơ hình Markov ẩn (HMM).
Tơi biết được xu hướng thời tiết nói chung và tơi cũng biết bạn tơi thường thích làm gì.
Nói cách khác, các thông số của HMM đã biết.
trạng thái = ('Mưa', 'Nắng’)


dữ liệu quan sát = ('đi dạo', 'đi chợ', 'dọn phòng')

khả_năng_ban_đầu = {'Mưa': 0.6, 'Nắng': 0.4}

khả_năng_chuyển_dịch = {
'Mưa' : {'Mưa': 0.7, 'Nắng': 0.3},

7

download by :


'Nắn' : {'Mưa': 0.4, 'Nắng': 0.6},
}

khả_năng_loại_bỏ = {
'Mưa' : {'đi dạo': 0.1, 'đi chợ': 0.4, 'dọn phòng': 0.5},
'Nắng' : {'đi dạo': 0.6, 'đi chợ': 0.3, 'dọn phòng': 0.1},
}

8

download by :


Tài liệu tham khảo
1. Giáo trình đại số tuyến tính thầy Đặng Văn Vinh.

2. />3. Trang web academia.edu
/>ARKOV_V%C3%80_%E1%BB%A8NG_D%E1%BB%A4NG?email_work_card=thumbnail,


9

download by :



×