Mô phỏng là phương pháp thể hiện một hệ thống thực thông qua chương trình máy tính và những đặc tính của hệ thống được trình bày thông qua một nhóm các biến thay đổi theo thời gian để mô
Trang 1Vũ Thị Hạnh – Lý Thuyết mô phỏng hệ thống Trang 1
BÀI GIẢNG LÝ THUYẾT MÔ PHỎNG
SIMULATION THEORY
2 Mã học phần:
4 Phân bố thời gian:
Lên lớp 30 tiết (Lý thuyết: 25 tiết Bài tập: 5 tiết)
Tự học, tự nghiên cứu: 45 tiết
5 Bộ môn phụ trách: Bộ môn Quản lý công nghiê ̣p
6 Điều kiện tiên quyết, học trước, song hành:
Môn học tiên quyết: Nghiên cứu vận hành, Xác suất thống kê
Môn học trước:
7 Mục tiêu học phần
Về kiến thức
- Cung cấp cho sinh viên một số kiến thức cơ bản về mô phỏng hệ thống
- Ứng dụng mô phỏng trong công nghiệp
- Phân tích hệ thống dựa vào kết quả mô phỏng
Về kĩ năng
Sau khi học học phần, sinh viên có khả năng:
- Thiết kế một hệ thống sản xuất
- Thiết lập môi trường mô phỏng
- Phân tích kết quả của mô phỏng
Về thái độ
- Giáo dục tình cảm nghề nghiệp, phương pháp làm việc khoa học
- Giáo dục đức tính kiên trì, nhẫn nại, cẩn thận
8 Mô tả tóm tắt nội dung học phần
Học phần trang bị cho sinh viên một số kiến thức cơ bản về mô hình hóa và mô phỏng Quy trình áp dụng mô phỏng để đánh giá hiệu quả của nhà máy, phân tích một số hệ
Trang 2Vũ Thị Hạnh – Lý Thuyết mô phỏng hệ thống Trang 2
thống sản xuất Môn học cũng cung cấp cho sinh viên cách ứng dụng một số phần mềm hiện có
9 Nhiệm vụ của sinh viên
Nghiên cứu giáo trình, chuẩn bị các ý kiến hỏi, đề xuất khi giáo viên lên lớp
Thực hiện được nhiệm vụ học tập của mình, nâng cao trách nhiệm tự học, tự rèn luyện bằng cách làm bài tập, kiểm tra hết học phần
10 Tài liệu học tập
a Sách và giáo trình chính
[1] Bài giảng môn học Lý thuyết mô phỏng
[2] Banks, J., Carson, J S., Nelson, B L., and Nikol, D M Discrete-Event
System Simulation, 4th edition, Prentice-Hall, 2005
b Tài liệu tham khảo
[3] Nguyễn Công Hiển, Mô hình hóa hệ thống và mô phỏng, NXB khoa học và kỹ thuật 2006
[4] Hồ Thanh Phong, Mô hình hóa và mô phỏng trong sản xuất công nghiệp và dịch vụ, NXB Đại học quốc gia TP HCM 2003
11 Tiêu chuẩn đánh giá sinh viên
Đánh giá kết quả học tập của sinh viên theo Quy chế đào tạo đại học và cao đẳng hệ chính quy theo hệ thống tín chỉ (ban hành kèm theo Quyết định số 43/2007/QĐ- BGDĐT ngày 15 tháng 8 năm 2007 của Bộ trưởng Bộ Giáo dục và Đào tạo)
12 Phương pháp đánh giá học phần
Thang điểm 10 được sử dụng để đánh giá các điểm kiểm tra học phần, điểm đánh giá thành phần, điểm kết thúc học phần và điểm học phần Điểm học phần là tổng điểm của tất cả các điểm đánh giá thành phần của học phần nhân với trọng số tương ứng, cụ thể:
Nội dung Chuyên cần,Bài tập Kiểm tra giữa kỳ Thi kết thúc học
Trang 3Vũ Thị Hạnh – Lý Thuyết mô phỏng hệ thống Trang 3
LÝ THUYẾT MÔ PHỎNG
Chương 1: GIỚI THIỆU CHUNG VỀ MÔ PHỎNG
1.1.Khái niệm mô phỏng
Giáo trình này giới thiệu những kỹ thuật sử dụng máy tính để bắt chước hoặc mô phỏng lại quá trình vận hành của thiết bị hoặc hệ thống thực, gọi là kỹ thuật mô phỏng Mô phỏng là phương pháp thể hiện một hệ thống thực thông qua chương trình máy tính và những đặc tính của hệ thống được trình bày thông qua một nhóm các biến thay đổi theo thời gian để mô hình hóa bản chất động của hệ thống Kỹ thuật mô phỏng được sử dụng khi việc mô hình hóa các
hệ thống thực bằng các phương pháp giải tích gặp khó khăn hay khi không thể mô hình hóa được đầy đủ các yếu tố ngẫu nhiên của hệ thống
Trang 4Vũ Thị Hạnh – Lý Thuyết mô phỏng hệ thống Trang 4
1.2 Một số thuận lợi và khó khăn khi mô phỏng
1.2.1 Thuận lợi
Có thể kiểm tra, thử nghiệm hệ thống đang hoạt động mà không cần phải gián đoạn hệ thống
Phân tích hệ thống đang tồn tại để hiểu được những thay đổi bất thường của hệ thống
Có thể điều chỉnh được thời gian để tăng tốc hoặc làm chậm quá trình
Có thể nhìn thấy những sự thay đổi quan trọng của hệ thống
Xác định được các điểm tắc nghẽn của hệ thống
Giúp hiểu được quá trình vận hành của hệ thống
Có thể đánh giá và so sánh thậm chí với những hệ thống ngẫu nhiên phức tạp
Có thể kiểm soát được những điều kiện vận hành
Có thể nghiên cứu hệ thống trong thời gian dài
Có thể tiêu tốn nhiều thời gian và chi phí
Mô phỏng tuy không phải là công cụ tối ưu hiệu quả, nhưng lại hiệu quả trong việc so sánh các mô hình thay đổi
1.3 Các lĩnh vực áp dụng
Mô phỏng được ứng dụng rộng rãi và đa dạng trong tất cả các lĩnh vực như:
Thiết kế và phân tích hệ thống sản xuất
Đánh giá những yêu cầu về phần cứng cũng như phần mềm của một hệ thống máy tính
Trang 5Vũ Thị Hạnh – Lý Thuyết mô phỏng hệ thống Trang 5
1.4 Hệ thống và môi trường hệ thống
Hệ thống được định nghĩa là tập hợp một nhóm các đối tượng có liên quan, tương tác với
nhau để hòan thành những mục tiêu đề ra Ví dụ một hệ thống sản xuất bao gồm máy móc, công nhân,…
Môi trường hệ thống: là "Thế giới", trong đó hệ thống tồn tại Hệ thống thường bị tác động
bởi những thay đổi xảy ra bên ngoài hệ thống, những thay đổi đó được cho là xảy ra trong môi trường hệ thống Cần phải xác định biên giữa hệ thống và môi trường hệ thống Điều này phụ thuộc vào mục đích của nghiên cứu
Trạng thái (state) của một hệ thống là sự tổng hợp các biến cần thiết để mô tả hệ thống ở một
thời điểm nhất định, có liên quan đến mục tiêu nghiên cứu Ví dụ, khi nghiên cứu nhà băng, những biến trạng có thể là số quầy bận, số khách hàng trong nhà băng và thời điểm đến của khách hàng
1.5 Thành phần của một hệ thống
Hệ thống (System) bao gồm
- Thực thể (entity) là một đối tượng nghiên cứu trong hệ thống
- Thuộc tính (attributes) của thực thể
- Hoạt động (activities) đại diện cho một khoảng thời gian cụ thể
- Trạng thái (State variables) của hệ thống
Checking-account balance
Making deposit
arrival at destination
Number of riders waiting
Number waiting to
transmitted
Inventory warehouse capacity withdrawing demand Level of inventory;
backlogged demand
Trang 6Vũ Thị Hạnh – Lý Thuyết mô phỏng hệ thống Trang 6
- Sự kiện (events) là một sự việc xảy ra tức thời làm thay đổi trạng thái của hệ thống
Bảng liệt kê một số ví dụ về các phần tử của hệ thống
- Hệ thống liên tục (continuous model): đây là hệ thống mà biến trạng thái của chúng thay đổi liên tục theo thời gian Ví dụ, nhà máy hóa chất với nhiệt độ, áp suất thay đổi liên tục…
- Hệ thống kết hợp (combined model): đây là hệ thống với một vài phần là gián đoạn và một vài phần là liên tục
Khi nghiên cứu một hệ thống, cần phải thấu hiểu được các mối quan hệ giữa các thành phần của hệ thống và có thể đoán trước được sự thay đổi của hệ thống khi các điều kiện mới được thiết lập Hệ thống thực và hệ thống mô hình: khi nghiên cứu một hệ thống thực thì khó khả thi do tốn nhiều chi phí, gây gián đoạn cho hệ thống Do đó, nếu có thể thay đổi hệ thống một cách vật lý và cho nó vận hành dưới những điều kiện mới Điều này có thể thực hiện được bằng cách mô hình và mô phỏng hệ thống Bao gồm mô hình vật lý (physical model) và mô hình toán học (mathematical model)
Trang 7Vũ Thị Hạnh – Lý Thuyết mơ phỏng hệ thống Trang 7
Lời giải của mơ hình tốn học cĩ thể là lời giải giải tích hoặc lời giải mơ phỏng
Các loại mơ hình mơ phỏng
- Mơ hình mơ phỏng tĩnh và mơ hình mơ phỏng động
- Mơ hình mơ phỏng tất định và mơ hình mơ phỏng ngẫu nhiên
- Mơ hình mơ phỏng liên tục và mơ hình mơ phỏng rời rạc
Trong giáo trình này chúng ta tập trung vào xem xét loại mơ phỏng rời rạc, động và ngẫu nhiên; hay chúng được gọi là mơ hình mơ phỏng biến cố rời rạc
Chương 2: NHỮNG NGUYÊN TẮC CHUNG TRONG MƠ PHỎNG 2.1 Một số định nghĩa cơ bản
Hình 2.1 cho chúng ta thấy trình tự các bước trong việc nghiên cứu mơ phỏng và mối quan hệ giữa chúng
Thành lập vấn đề: Bước đầu tiên trong nghiên cứu mơ phỏng là phải xác định rõ tình
trạng của vấn đề cần nghiên cứu, nếu vấn đề khơng được xác định thì ít cĩ cơ hội thành cơng trong nghiên cứu Khi tạo ra một sự thay đổi của hệ thống thì cần phải cĩ
kế hoạch và tiêu chuẩn đánh giá hiệu quả của sự thay đổi đĩ Nghiên cứu tổng thể nên được lên kế hoạch về số lượng con người, chi phí và thời gian địi hỏi cho mỗi phần của nghiên cứu
Hệ thống
Thực nghiệm với hệ thống thực mô hình hệ thống Thực nghiệm với
Mô hình vật lý Mô hình toán học
Lời giải giải tích Mô phỏng
Hình 1.1 Những phương pháp nghiên cứu một hệ thống
Trang 8Vũ Thị Hạnh – Lý Thuyết mô phỏng hệ thống Trang 8
Thu thập số liệu và định nghĩa mô hình: Đây là bước thu thập những thông tin và dữ
liệu cần thiết của hệ thống (nếu tồn tại) và được dùng để xác định trình tự vận hành và phân bố xác suất của các biến trong mô hình Việc xây dựng một mô hình toán và logic của hệ thống thực cho một mục tiêu cho trước mang nhiều tính nghệ thuật và khoa học Một mô hình phải có đủ chi tiết để thể hiện bản chất của hệ thống, tuy nhiên không cần thiết phải thể hiện từng cặp một các yếu tố của hệ thống và của mô hình
Giá trị của mô hình: Việc xác định giá trị của mô hình nên được làm trong suốt quá
trình mô phỏng thông qua sự hỗ trợ của nhà ra quyết định (hoặc người có ý định sử dụng) Ngoài ra, việc sử dụng những phương pháp kiểm định giả thuyết về tính đầy
đủ, chính xác của những phân bố xác suất được chọn trong việc tạo ra biến ngẫu nhiên cũng làm tăng giá trị của mô hình
Xây dựng chương trình máy tính và kiểm tra: Việc lập trình máy tính cho mô hình
có thể sử dụng các ngôn ngữ lập trình tổng quát như FORTRAN, Pascal hay C, C+,
… hoặc bằng các ngôn ngữ được thiết kế đặc biệt cho việc mô phỏng như GPSS, SIMAN, SLAM, ARENA, Trong các ngôn ngữ lập trình tổng quát có thể giúp rút ngắn thời gian thực hiện, còn trong ngôn ngữ mô phỏng có thể giúp giảm thời gian lập trình Tuy nhiên, trong cả hai ngôn ngữ đều có sự hỗ trợ trong việc kiểm tra và sửa lỗi lập trình
Thử nghiệm: Thực hiện chạy mô phỏng mô hình đã được xác định giá trị trên với
mục đích là kiểm chứng giá trị của chương trình trong bước kế tiếp
Giá trị của mô hình máy tính: Bước thử nghiệm trên có thể được sử dụng để kiểm
tra độ nhạy đầu ra của mô hình trong khi có sự thay đổi nhỏ của một thông số đầu vào Nếu kết quả đầu ra thay đổi lớn thì thông số đầu vào cần phải được xem xét lại Nếu có một mô hình tương tự tồn tại thì kết quả đầu ra từ thử nghiệm nên được so sánh với kết quả của mô hình thực để kiểm chứng sự giá trị của mô hình
Xây dựng chương trình máy tính và kiểm tra: Việc lập trình máy tính cho mô hình
có thể sử dụng các ngôn ngữ lập trình tổng quát như FORTRAN, Pascal hay C, C+,
… hoặc bằng các ngôn ngữ được thiết kế đặc biệt cho việc mô phỏng như GPSS, SIMAN, SLAM, ARENA, Trong các ngôn ngữ lập trình tổng quát có thể giúp rút ngắn thời gian thực hiện, còn trong ngôn ngữ mô phỏng có thể giúp giảm thời gian lập trình Tuy nhiên, trong cả hai ngôn ngữ đều có sự hỗ trợ trong việc kiểm tra và sửa lỗi lập trình
Thử nghiệm: Thực hiện chạy mô phỏng mô hình đã được xác định giá trị trên với
mục đích là kiểm chứng giá trị của chương trình trong bước kế tiếp
Trang 9Vũ Thị Hạnh – Lý Thuyết mơ phỏng hệ thống Trang 9
Hình 2.1 Trình tự nghiên cứu mơ phỏng
Giá trị của mơ hình máy tính: Bước thử nghiệm trên cĩ thể được sử dụng để kiểm
tra độ nhạy đầu ra của mơ hình trong khi cĩ sự thay đổi nhỏ của một thơng số đầu
Thành lập vấn đề
Lưu trữ và ứng dụng kết quả Phân tích kết quả Thực hiện mô phỏng Thiết kế thực nghiệm
Mô hình máy tính có giá trị ?
Có
Không Thử nghiệm
Xây dựng chương trình máy tính và kiểm tra
Mô hình có giá trị?
Thu thập số liệu và định nghĩa mô hình
Không
Trang 10Vũ Thị Hạnh – Lý Thuyết mô phỏng hệ thống Trang 10
vào Nếu kết quả đầu ra thay đổi lớn thì thông số đầu vào cần phải được xem xét lại Nếu có một mô hình tương tự tồn tại thì kết quả đầu ra từ thử nghiệm nên được so sánh với kết quả của mô hình thực để kiểm chứng sự giá trị của mô hình
Thiết kế thực nghiệm: Thiết kế những thay đổi của mô hình mô phỏng Đối với mỗi
mô hình thiết kế cần phải xác định những điều kiện ban đầu của mô phỏng, chiều dài của giai đoạn khởi động (warm-up) nếu có, chiều dài của một lần thực hiện mô phỏng
và số lần mô phỏng độc lập cho mỗi thiềt kế
Thực hiện mô phỏng: Bước thực hiện mô phỏng được làm để cung cấp dữ liệu trình
bày những thiết kế hệ thống được quan tâm
Phân tích kết quả: Sử dụng kỹ thuật thống kê để phân tích kết quả mô phỏng, thông
thường là xây dựng một khoảng tin cậy cho một thông số trình bày một thiết kế hệ thống cụ thể
Lưu trữ và ứng dụng kết quả: Bởi vì mô hình mô phỏng thường được thực hiện với
nhiều ứng dụng do đó những giả sử phải được lưu giữ trong mô hình và chương trình máy tính Nếu như một nghiên cứu mô phỏng không được thực hiện thì đồng nghĩa với sự thất bại của nghiên cứu Nếu kết quả từ mô hình tin cậy có độ tin cậy càng cao thì khả năng được sử dụng càng lớn
2.2 Lịch trình sự kiện
Mô phỏng rời rạc là mô hình của một hệ thống mà biến trạng thái thay đổi tại các thời điểm
cụ thể Các thời điểm này là thời điểm xảy ra một biến cố hoặc một sự kiện
Theo phương pháp thời gian xảy ra biến cố kế tiếp, giá trị của đồng hồ mô phỏng đầu tiên là
“0” Sau đó, giá trị của nó được thay đổi theo thời điểm xảy ra biến cố tiếp theo, đồng thời khi đó trạng thái của hệ thống cũng thay đổi do có biến cố xảy ra Quá trình cứ thế diễn ra cho đến khi điều kiện dừng quá trình mô phỏng xảy ra Sau đây chúng ta hãy xem một ví dụ
Trang 11Vũ Thị Hạnh – Lý Thuyết mô phỏng hệ thống Trang 11
về hệ thống xếp hàng với một người phục vụ để hiểu rõ phương pháp thời gian xảy ra biến cố
kế tiếp
Đặt: ti, thời gian đến của khách hàng thứ i (to = 0)
A i = t i – t i – 1, thời gian đến giữa khách hàng i và i-1
Si, thời gian phục vụ của khách hàng thứ i
Di, thời gian đợi của khách hàng thứ i
c i = t i + D i + S i,tổng thời gian trong hệ thống của khách hàng i
ei, thời điểm xảy ra biến cố bất kỳ thứ i (eo = 0)
Hình 2.2 Phương pháp cho hệ thống xếp hàng có một người phục vụ
Giả sử rằng phân bố thời gian đến giữa hai khách hàng là A1, A2, A3, … và thời gian phục vụ của khách hàng là S1, S2, S3,… ở thời điểm eo = 0 trạng thái của người phục
vụ là rỗi “idle” và thời gian đến của khách hàng thứ nhất, t1 được xác định bằng A1+0
Sau đó, đồng hồ mô phỏng tiến từ giá trị e0 đến thời điểm xảy ra biến cố kế tiếp (thứ nhất), e1 = t1
Do người phục vụ tại thời điểm khách hàng vào rỗi nên khách hàng được phục vụ ngay lập tức, nghĩa là thời gian đợi, D1 = 0 và hệ thống chuyển sang trạng thái bận
“busy”
Tổng thời gian trong hệ thống của khách hàng thứ nhất, c1 được tính bằng t1 + S1 +
D1
Kế tiếp, thời gian t2 = t1 + A2
Nếu như t2 < c1, thì đồng hồ mô phỏng sẽ tăng từ e1 lên thời gian xảy ra biến cố kế tiếp, e2 = t2 (nếu t2 > c1 thì e2 = c1)
Tại thời điểm khách hàng thứ hai đến hệ thống đang bận nên khách hàng phải vào hàng đợi, số khách hàng trong hàng đợi sẽ tăng lên một Lúc này khách hàng thứ ba đến, t3 = t2 + A3
Nếu c1 < t3, đồng hồ mô phỏng sẽ là e3 = c1, thời điểm mà khách hàng nhất rời khỏi hệ thống, khách hàng trong hàng đợi (thứ hai) bắt đầu được phục vụ và thời gian đợi D2
= c1 – t2, thời gian hoàn thành phục vụ c2 = c1 + S2 và số khách hàng trong hàng đợi giảm từ 1 đến 0
Trang 12Vũ Thị Hạnh – Lý Thuyết mô phỏng hệ thống Trang 12
Quá trình mô phỏng cứ thế tiếp tục cho đến khi điều kiện dừng xảy ra
2.2.2 Một vài thông số đánh giá hệ thống
1- Thời gian trung bình trong hàng đợi D(n)
n
D n
D
n
i i
1) (
trong đó: Di - thời gian đợi của khách hàng trong hệ thống;
n - số khách hàng đợi trong hệ thống
2- Số khách hàng trung bình trong hàng đợi (n)
T(n)
iT (n)
trong đó: Ti - tổng thời gian trong mô phỏng mà có chiều dài hàng đợi là i
T(n) = To + T1 + T2 +… - thời gian đòi hỏi để quan sát n khách hàng trong hàng đợi 3- Hiệu quả làm việc của hệ thống U(n)
) (
) ( )
(
) (
0
n T
dt t B n
U
n T
B(t), hàm diễn tả trạng thái “bận” của hệ thống được định nghĩa như sau:
B(t)= 1 nếu hệ thống bận tại thời điểm t
B(t)= 0 nếu hệ thống bận tại thời điểm t
T(n), tổng thời gian mô phỏng
2.3 Ví dụ
Cho hệ thống xếp hàng với một người phục vụ giả sử rằng mô phỏng sẽ kết thúc khi khách hàng thứ sáu bắt đầu được phục vụ một vài thông số của hệ thống như sau, khách hàng đến tại thời điểm 0,4; 1,6; 2,1; 3,8; 4,0; 5,6; 5,8 và 7,8 thời điểm khách hàng rời khỏi hệ thống (đã hoàn thành phục vụ) ở 2,4; 3,1; 3,3; 4,9 và 8,6; và quá trình mô phỏng kết thúc tại 8,6
Thời gian trung bình trong hàng đợi D (6):
Trang 13Vũ Thị Hạnh – Lý Thuyết mô phỏng hệ thống Trang 13
95,06
0,39,000,18,00)
Số khách hàng trung bình trong hàng đợi Q(6)
, 8
) 8 , 3 6 , 8 ( ) 4 , 0 3 , 3 ( ) 6
Trang 14Vũ Thị Hạnh – Lý Thuyết mô phỏng hệ thống Trang 14
Hình 2.4 B(t), thời gian đến và thời gian đi của hệ thống xếp hàng với một người phục
vụ
Chương 3: MÔ HÌNH THỐNG KÊ TRONG MÔ PHỎNG
Trong phần này giới thiệu một số loại phân bố khác nhau thường được sử dụng trong mô hình
mô phỏng và các đặc tính của các phân bố này
3.1 Phân phối rời rạc
1- Bernoulli(p)
- Khả năng ứng dụng: sự kiện ngẫu nhiên với hai khả năng xảy ra, hoặc sử dụng để tạo ra những biến ngẫu nhiên rời rạc khác như nhị thức (binomial), hình học (geometric), nhị thức âm
0 ,
0
1 ,
0 ,
1 ) (
x x
x p
x p
x p
1
1 0
, 1
0 ,
0 ) (
x
x p
x x
Trang 15Vũ Thị Hạnh – Lý Thuyết mô phỏng hệ thống Trang 15
1
2 / 1 ,
1
; 0
2 / 1 ,
0
p p p
- MLE: p ˆ X ( n )
Chú thích:
Biến ngẫu nhiên X Bernoulli(p) với xác suất thành công p và đặt X = 0 nếu thất bại và X =
1 nếu thành công
Nếu t là số nguyên dương và X1, X2, , Xt là biến ngẫu nhiên độc lập Bernoulli(p) thì X1 + X2
+ + Xt có phân bố binomial với thông số t và p
Giả sử thực hiện thử nghiệm Bernoulli với xác suất p cho mỗi lần thực nghiệm thành công Sau đó, số lần thất bại trước khi quan sát lần thành công đầu tiên có phân bố hình học với thông số p Cho số nguyên dương s, số lần thất bại trước khi quan sát lần thành công thứ s có một phân bố nhị thức âm với thông số s và p.Phân bố Bernoulli(p) là một trường hợp đặc biệt của phân bố nhị thức với t = 1 và p
2- Uniform rời rạc DU(p)
Khả năng ứng dụng: sự kiện ngẫu nhiên với vài khả năng xảy ra với xác suất bằng nhau, được
sử dụng như một mô hình đầu tiên của một số lượng thay đổi giữa những số nguyên từ i đến
i x
j i
i x i j x p
, , 1 , , 0
, , 1 , , 1
1 )
j x i i j
i x
i x x
F
, 1
, 1
1 ] [
, 0 ) (
Thông số: số nguyên i và j, i j; i là thông số vị trí và j – i là thông số tỷ lệ
- Khoảng xác định: {i, i + 1, …, j}
Trị trung bình: 2
j i
Phương sai:
12
1 ) 1 (j i 2
- Điểm cực đại: không tồn tại duy nhất
Trang 16Vũ Thị Hạnh – Lý Thuyết mô phỏng hệ thống Trang 16
n k k
ˆ
Chú thích: phân bố DU(0; 1) và Bernoulli(1/2) thì giống nhau
Hình 3.1 Hàm khối lượng DU(I,j)
t x
p p
x
t x
p
x t x
, , 1 , 0 ,
0
, , 1 , 0 ,
) 1 ( )
t x
t x p
p i t
x x
x
i
,1
0,)1(
0,
0)
] [
) 1 ( )],
1 (
[
nguyên )
1 ( ), 1 (
; 1 ) 1 (
t p t
p
t p t
p t
Trang 17Vũ Thị Hạnh – Lý Thuyết mô phỏng hệ thống Trang 17
- MLE: nếu t biết thì pˆ X(n) /t Nếu cả t và p không biết thì tˆ và pˆ sẽ tồn tại nếu
3- Phân bố bin(t, p) đối xứng nếu và chỉ nếu p = 1/2
4- X bin(t, p) nếu và chỉ nếu t – X bin(t, 1 – p)
5- Phân bố bin(t, p) và Bernoulli(p) thì như nhau
Hình 3.2 Hàm khối lượng bin(t, p)
3.2 Phân phối liên tục
Các tham số của phân bố liên tục
Trong phân bố liên tục, có ba thông số loại cơ bản như: thông số vị trí, thông số tỷ lệ, thông
số hình dạng
1- Thông số vị trí :
Dùng để xác định toạ độ của khoảng phân bố trong trục x, thông thường thì là điểm giữa (chẳng hạn như là giá trị trung bình trong phân bố chuẩn) hoặc là điểm gần cuối (đôi khi nó
Trang 18Vũ Thị Hạnh – Lý Thuyết mô phỏng hệ thống Trang 18
cũng được gọi là thông số dịch chuyển) Nếu như thay đổi thì phân bố kết hợp sẽ dịch chuyển sang trái hoặc phải mà không làm bất kì thay đổi nào khác Ví dụ, nếu phân bố của biến ngẫu nhiên X có thông số vị trí là 0 thì phân bố của Y = X + có thông số vị trí là
2- Thông số tỷ lệ :
dùng để xác định tỷ lệ (hoặc đơn vị) của phép đo của khoảng phân bố (ví dụ như độ lệch chuẩn trong phân bố chuẩn) Khi thay đổi thì phân bố sẽ nén lại hoặc mở rộng ra mà
không thay đổi hình dáng cơ bản của phân bố Ví dụ, phân bố của biến ngẫu nhiên X có
thông số tỷ lệ là 1 thì phân bố của Y = X sẽ có thông số tỷ lệ
3- Thông số hình dạng :
Dùng để xác định hình dáng hoặc dạng cơ bản của một phân bố trong họ phân bố quan tâm Nói chung một sự thay đổi trong sẽ làm thay đổi đặc tính của phân bố như độ lệch một cách có cơ sở hơn so với một thay đổi trong hoặc
1- Uniform U(a; b)
Khả năng ứng dụng: sử dụng như một mô hình đầu tiên đối với một số lượng ngẫu nhiên rơi vào giữa a và b Phân bố U(0; 1) là một phân bố rất cần thiết trong việc tạo ra giá trị ngẫu nhiên từ những phân phối khác
b x a a b x f
, ,
0
,
1 )
b x a a b
a x
a x x
F
, 1 ,
, 0 )
- Điểm cực đại: không tồn tại duy nhất
Chú thích:
1- Phân bố U(0; 1) là một trường hợp đặc biệt của phân bố beta (khi 1 = 2 = 1)
Trang 19Vũ Thị Hạnh – Lý Thuyết mô phỏng hệ thống Trang 19
2- Nếu X U(0; 1) và [x, x + x] là một khoảng nằm trong khoảng [0;1] với x 0, thì
x x x x dy x
x x X
Khả năng ứng dụng: thời gian giữa các lần đến của sự kiện của một hệ thống mà xảy ra ở một
tỷ lệ cố định, hoặc thời gian hư hỏng của thiết bị
0 ,
1 ) (
/
x
x e
x f
0 , 1
)
x
x e
1- Phân bố expo() là một trường hợp đặc biệt của
phân bố gamma và Weibull (khi = 1)
2- Nếu X1, X2, …, Xm là biến ngẫu nhiên độc lập
expo() thì X1 + X2 + …+ Xm gamma(m; ),
được gọi là phân bố m-Erlang
3- Gamma gamma(, )
Khả năng ứng dụng: thời gian hoàn thành công việc như
thời gian phục vụ hoặc thời gian sửa chữa máy móc
0
0,
)()
(
/ 1
x
x e
x x
f
x x
trong đó: () - là hàm gamma,
0 1
) (z t z e t dt , số thực z > 0
Hàm phân bố: nếu không là số nguyên thì không có dạng gần đúng Nếu là một số nguyên dương thì
f x( ) 1,2 1,0 0,8 0,6 0,4 0,2
Hình 4.1Hàm mật độ expo (l)
Trang 20Vũ Thị Hạnh – Lý Thuyết mô phỏng hệ thống Trang 20
0
0 ,
!
) / ( 1
)
(
1
0 /
x
x j
x e
x
j x
- Thông số: thông số hình dạng > 0, thông số tỷ lệ > 0
- Khoảng xác định: [0; )
- Trị trung bình:
- Phương sai: 2
- Điểm cực đại: ( – 1) nếu 1; 0 nếu < 1
- MLE: thỏa mãn hai phương trình sau:
) ( ˆ ˆ
;
ln )
ˆ ( ˆ
1- Phân bố expo() và gamma (1, ) thì giống nhau
2- Cho m nguyên dương, phân bố gamma(m, ) được gọi là phân bố m - Erlang() 3- Phân bố Chi-square với độ tự do k thì tương tự phân bố gamma(k/2; 2)
4- Nếu X1, X2, …, Xm là biến ngẫu nhiên độc lập gamma(i, ) thì
0
1 ,
1
1 ,
) ( lim
x
x
7 6 5 4 3 2 1 0
0,2 0,4 0,6 0,8 1,0 1,2
Trang 21Vũ Thị Hạnh – Lý Thuyết mô phỏng hệ thống Trang 21
0
0 , )
x
x e
x x
0
0 ,
1 )
x
x e
0
1 ,
1
ˆ 1
1 ˆ 1
ˆ
ˆ
;
ln 1
X X
X X
n
i i n
i
i n
i i
n
i
i i
Chú thích:
1- Phân bố expo() và Weibull(1, ) thì giống nhau
2- X Weibull(, ) nếu và chỉ nếu X expo()
3- Logarit của biến ngẫu nhiên Weibull có một phân bố giống như phân bố của giá trị vô cùng hoặc Gumbel
4- Khi thì phân bố Weibull bị suy thoái ở Vì thế, hàm mật độ Weibull của
0
1,
1
1,
)(lim
Trang 22Vũ Thị Hạnh – Lý Thuyết mô phỏng hệ thống Trang 22
) (
1 ˆ
, ) ( ˆ
2- Giả sử phân bố liên kết của X1, X2, …, X m theo hàm normal đa biến và đặt
i = E(X i ) và C ij = Cov(X i , X j) Cho số thực a, b1, b2, , bm biến ngẫu nhiên
a + b1X1 + b2X2 + … + b m X m có phân bố chuẩn với
j
ij j
i b C b
f x( )
= 5
= 4
Trang 23Vũ Thị Hạnh – Lý Thuyết mô phỏng hệ thống Trang 23
) (
4- Phân bố N(0, 1) thường được gọi là phân bố chuẩn hay đơn vị chuẩn 5- Nếu X1, X2, , Xm là biến ngẫu nhiên độc lập chuẩn thì X1 + X2 + + X m
có một phân bố Chi-square với độ tự do k, hoặc gamma(k/2; 2)
6- Nếu X N(, 2) thì eX có phân bố lognormal với thông số và , LN(,
2)
7- Nếu X N(0, 1) thì Y có phân bố Chi-square với độ tự do k, và nếu X và
Y độc lập thì X/ Y/k có phân bố t với độ tự do k, còn được gọi là phân
0
0 ,
2
1 )
(
) 2 /(
) (ln 2
2 2
x
x e
x x
fx()
Trang 24
Vũ Thị Hạnh – Lý Thuyết mô phỏng hệ thống Trang 24
- MLE
2 / 1
1
2 1
ˆ ln
ˆ
;
ln ˆ
i
i n
0
, ) )(
(
) ( 2
, ) )(
(
) ( 2 )
c b a b
x b
c x a a
c a b
a x x
b x c c b a b
x b
c x a a
c a b
a x
a x x
F
, 1
, ) )(
(
) ( 1
, ) )(
(
) (
, 0 )
x
5,0 4,5 4,0 3,5 3,0 2,5 2,0 1,5 1,0 0,5 0
0,2 0,4 0,6 0,8 1,0
Trang 25Vũ Thị Hạnh – Lý Thuyết mô phỏng hệ thống Trang 25
- Phương sai:
18
2 2
- Điểm cực đại: c
- MLE: không có
Chú thích: khi c b và c a được gọi là phân bố tam giác phải và trái Khi a = 0 và b = 1 thì
cả hai phân bố tam giác phải và trái là những trường hợp đặc biệt của phân bố beta
3.3 Phân phối Poisson()
Khả năng ứng dụng: số sự kiện xảy ra trong mộât khoảng thời gian ở tỷ lệ cố định; số mẫu trong một mẻ có kích thước ngẫu nhiên; số mẫu đòi hỏi từ một sự kiểm kê
0
,
1 , 0 ,
! )
(
x
x x
e x p
x x
0 )
;
;1
X Khi đó phân bố của Yi là expo(1/)) nếu và chỉ nếu X Poisson()
Và nếu
i
j Y j i
X' max : 1 thì Yi là expo(1) nếu và chỉ nếu X’ Poisson()
2- Nếu X1, X2, …, X m là biến ngẫu nhiên độc lập Poisson(i) thì
X1 + X2 + …+ Xm Poisson( 1 + 2 + … + m)
Trang 26Vũ Thị Hạnh – Lý Thuyết mô phỏng hệ thống Trang 26
Hình 3.11 Hàm khối lượng Poisson()
3.4 Phân phối thực nghiệm
Trong một số trường hợp có thể sử dụng tập dữ liệu quan sát được để xác định trực tiếp một phân bố gọi là phân bố thực nghiệm, vì không phải lúc nào cũng có thể tìm được một phân bố
lý thuyết phù hợp với tập dữ liệu Do đó, khi đã xác định được một phân bố thực nghiệm thì chắc chắn nó sẽ phù hợp với tập dữ liệu hơn so với phân bố lý thuyết
Đối với những biến ngẫu nhiên liên tục, loại phân bố thực nghiệm được định nghĩa phụ thuộc vào chuỗi dữ liệu quan sát riêng rẽ thực tế ban đầu X1, X2, , Xn hoặc tập hợp số giá trị Xi
nằm trong các khoảng xác định j (hay được gọi là dữ liệu theo nhóm)
Theo định nghĩa loại phân bố thứ nhất, giả sử những dữ liệu ban đầu có sẵn, hàm phân bố liên tục tuyến tính từng phần (piecewise - linear) được xác định như sau:
Sắp xếp Xi theo thứ tự tăng dần.Đặt X(i) là giá trị nhỏ nhất thứ i của chuỗi Xj sao cho
n i
X x X X
X n
X x n
i
X x x
F
n
i i
i i
(i)
) (
) 1 ( )
) ) 1 (
) 1 (
,
1
1, ,2,1,,
))(
1(11
p ( ) x
x
= 0,5
0 0,1 0,2 0,3 0,4 0,5 0,6
Trang 27Vũ Thị Hạnh – Lý Thuyết mơ phỏng hệ thống Trang 27
Hình 3.12 Hàm phân bố thực nghiệm liên tục tuyến tính từng phần từ dữ liệu ban đầu
Loại phân bố theo định nghĩa thứ hai, dữ liệu được nhĩm lại, một phương pháp tiếp cận khác được sử dụng cho trường hợp này do khơng biết những giá trị riêng rẻ của Xi Giả sử rằng
nXi số liệu được nhĩm vào k khoảng liên tiếp nhau như sau [ao, a1), [a1, a2), , [ak–1, ak)sao
cho khoảng thứ j chứa nj quan sát,
k
n n
1 Một hàm phân bố thực nghiệm tuyến tính
từng phần G được xác định bằng cách đặt G(ao) = 0 và G(aj) =
n
n n
a
k j
với
a x a
a G a G a a
a x a
G
a x
x
G
k k
j j
j j
j j
j j
o
,,
1
,,2,1
)],()([)
(
,0
)
1 1
Hình 4.13 trình bày những đặc tính của một phân bố thực nghiệm với k = 4 Trong trường hợp này, G(aj) là tỷ lệ của những giá trị Xi nhỏ hơn aj và đồ thị G(x) gia tăng nhanh chĩng Những giá trị ngẫu nhiên được tạo ra cũng bị giới hạn dưới ao và bên trên ak
Hình 3.13 Hàm phân bố thực nghiệm liên tục tuyến tính từng phần từng dữ liệu nhĩm
Đối với dữ liệu rời rạc, một phân bố thực nghiệm dễ dàng được dịch nghĩa dựa vào những dữ liệu ban đầu X1, X2, ., Xn Ứng với mỗi giá trị x, hàm khối lượng thực nghiệm
1 4/5 3/5 2/5 1/5
1
n + n + n )/n1 2 3(n + n )/n1 2
Trang 28Vũ Thị Hạnh – Lý Thuyết mô phỏng hệ thống Trang 28
p(x) có thể được định nghĩa là tỷ lệ của giá trị Xi bằng x Trong trường hợp dữ liệu nhóm rời rạc, chúng ta có thể định nghĩa một hàm lượng như sau: Tổng của p(x) trong một khoảng nào
đó thì bằng với tỷ lệ của những giá trị Xi trong đó
Chương 4: PHÁT BIẾN NGẪU NHIÊN
4.1 Tính chất của số ngẫu nhiên
Một sự mô phỏng của bất cứ hệ thống hoặc quá trình mà có những thành phần ngẫu nhiên thì đòi hỏi một phương pháp tạo số hoặc thu thập ngẫu nhiên.Trong phần này giới thiệu vài kỹ thuật tạo ra số ngẫu nhiên cho phân bố Uniform trong khoảng [0; 1], U(0; 1) Mặc dù đây là phân bố lý thuyết đơn giản nhất nhưng cần phải đạt được những số ngẫu nhiên độc lập Vai trò nổi bật của phân bố U(0; 1) là nguồn gốc để tạo ra những phân bố khác (normal, gamma, binomial…) và sự nhận ra những quá trình ngẫu nhiên
Những đặc tính “tốt” của bộ phát số ngẫu nhiên:
- Những số được tạo ra phải tuân theo phân bố uniform trong khoảng (0; 1) và không nên có bất cứ sự tương quan nào với nhau, nếu không có nhiều kết quả mô phỏng sẽ không có giá trị Thực tế chúng ta muốn có bộ phát số nhanh và không có nhiều dữ liệu dự trữ
- Chúng ta có thể tái tạo ra một dòng đã cho của số ngẫu nhiên một cách chính xác vì ít nhất hai lý do sau: có thể sửa lỗi hoặc kiểm tra chương trình máy tính và sử dụng những số ngẫu nhiên đồng nhất trong những hệ thống mô phỏng khác nhau
- Nên cho vào bộ phát số tạo ra một vài sự phân chia dòng của số ngẫu nhiên Có thể thấy rằng một dòng thì đơn giản hơn là một phân đoạn của nhiều số được tạo bởi bộ phát, với sự bắt đầu của một dòng là nơi sự kết thúc của dòng trước Vì thế người lập trình có thể sử dụng một dòng đặc biệt cho một loại ngẫu nhiên đặc biệt trong mô phỏng Ví dụ, trong mô hình xếp hàng một người phục vụ, dòng một được sử dụng tạo ra thời gian đến giữa hai khách hàng, dòng hai tạo ra thời gian phục vụ
1- Phương pháp bình phương ở giữa
- Bắt đầu với bốn con số nguyên dương Z ≥ 0
- Bình phương số nguyên dương Z lên ta có một con số nguyên dương tám số, hoặc thêm những con số 0 vào bên trái để được một con số có tám chữ số gọi là Z1
- Đặt dấu chấm thập phân vào bên trái của Z1 để được số ngẫu nhiên U(0; 1) đầu tiên là
U1 Sau đó đặt Z2 là bốn số giữa của Z1 và U2 là Z2 với một dấu chấm thập phân bên trái…
Một ví dụ của phương pháp bình phương ở giữa cho trong bảng dưới
Bảng: Ví dụ của phương pháp bình phương ở giữa
Trang 29Vũ Thị Hạnh – Lý Thuyết mô phỏng hệ thống Trang 29
là nó không ngẫu nhiên trong tất cả trường hợp, nếu Zo được xác định thì chuỗi Zi và Ui là xác định
2- Bộ phát số đồng dư tuyến tính (LCG)
Cho một chuỗi số dương Z1, Z2,… được định nghĩa bởi công thức hồi qui:
Z i = (aZ i–1 + c)(mod m)
trong đó: m, a, c, Zo - số dương không âm và thỏa mãn
0 < m; a < m; c < m; và Zo < m
Zi - phần dư của (aZi–1 + c) sau khi chia cho m
Vì vậy 0 ≤ Zi ≤ m – 1 và những số ngẫu nhiên Ui[0, 1] là U I = .
m
Z i
Ví dụ :
- Xét LCG với m = 16, a = 5, c = 3 và Zo = 7
- Bảng bên dưới cho thấy Zi và Ui với i = 1, 2, …, 19
- Chú ý: Z17 = Z1 = 6 và Z18 = Z2 = 1, điều này có nghĩa từ i = 17 đến 32 sẽ có giá trị
Trang 30Vũ Thị Hạnh – Lý Thuyết mô phỏng hệ thống Trang 30
Bảng LCG Zi = (5Zi-1 + 3) (mod 16) với Zo = 7
Việc lặp lại xảy ra là điều không thể tránh khỏi theo phương pháp LCG Khi Zi đạt được giá trị mà đã có ở trước thì chuỗi những giá t rị giống nhau sẽ được tạo ra và chu kỳ này được lặp
đi lặp lại không ngừng Chiều dài của chu kỳ được gọi là giai đoạn của một bộ phát
Theo phương pháp LCG thì giá trị Zi chỉ phụ thuộc vào số dương trước đó Zi–1 và do 0 <= Zi
<= m – 1 cho nên một giai đoạn thì nhiều nhất là m, nều nó bằng m, LCG được gọi là có một chu kỳ đầy đủ (giai đoạn trọn vẹn)
Rõ ràng, nếu một bộ phát có chu kỳ đầy đủ (giai đoạn trọn vẹn) thì bất cứ giá trị ban đầu Zo {0, 1,…, m1} sẽ tạo ra chu kỳ đầy đủ (trọn vẹn) Tuy nhiên nếu một bộ phát có chu kỳ không trọn vẹn thì chiều dài của chu kỳ có thể phụ thuộc vào giá trị Zo đã chọn
Định lý: LCG sẽ có chu kỳ đầy đủ nếu và chỉ nếu tuân theo ba điều kiện sau:
- Chỉ có số dương mà chia hết cho cả m và c là một
- Nếu q là một số sơ khai (chỉ có thể chia cho nó và một) mà chia hết cho m, thì q chia hết cho (a – 1)
- Nếu 4 chia hết cho m thì 4 chia hết cho (a – 1)
4.2 Các kỹ thuật tạo biến ngẫu nhiên
Những biến ngẫu nhiên U(0; 1) được tạo ra từ bộ phát cần được kiểm tra sự độc lập
và đồng nhất Có hai phương pháp kiểm tra là: phương pháp thực nghiệm và phương pháp lý thuyết Phương pháp thực nghiệm là phương pháp kiểm định thống kê cho chuỗi U(0; 1) được tạo bởi một bộ phát số Phương pháp lý thuyết thì không kiểm tra độ nhạy thống kê, nhưng sử dụng những tham số của bộ phát để đánh giá nó một cách tổng thể không cần số liệu tạo ra
1- Phương pháp kiểm định thực nghiệm
Trang 31Vũ Thị Hạnh – Lý Thuyết mô phỏng hệ thống Trang 31
k
1
2 2
) (
9
2 1 1
k
j j j
n
k
2
2
2 1
Phương thức thực nghiệm thứ ba:
Đây là phương pháp kiểm tra sự độc lập của chuỗi số, gọi là phương thức runs (hoặc up) Phương pháp này kiểm tra chuỗi số kế tiếp của chuỗi liên tục Ui mà gia tăng đều đặn hay gọi là chuỗi số có một runs-up
runs-Ví dụ: Cho chuỗi số U1, U2,… U10 : 0,86; 0,11; 0,23; 0,03; 0,13; 0,06; 0,55; 0,64; 0,87; 0,10. Phương pháp run-up được trình bày như sau:
Chuỗi số bắt đầu với một run-up với chiều dài là 1 (0,86), tiếp theo là một runs-up có chiều dài là 2 (0,11; 0,23), kế tiếp là một run-up có chiều dài là 2 (0,03; 0,13), sau đó là một run-up
có chiều dài là 4 (0,06; 0,55; 0,64; 0,87) và cuối cùng là một run-up có chiều dài là 1 (0,10)
Từ một chuỗi của n Ui, chúng ta xác định số run-up có chiều dài là 1, 2, 3, 4, 5 và 6 với định nghĩa như sau:
Trang 32Vũ Thị Hạnh – Lý Thuyết mô phỏng hệ thống Trang 32
52,1,i i,làdàichieu cóup-run
i r
1
nb r
nb r a n
R
với aij là thành phần thứ (i, j) của ma trận sau
0 , 172860 0
, 139476 0
, 111580 0
, 83685 0
, 55789 0
, 27892
0 , 139476 0
, 113262 0
, 90470 0
, 67852 0
, 45234 0
, 22615
0 , 111580 0
, 90470 0
, 72414 0
, 54281 0
, 36187 0
, 18091
0 , 83685 0
, 67852 0
, 54281 0
, 40721 0
, 27139 0
, 13568
0 , 55789 0
, 45234 0
, 36187 0
, 27139 0
, 18097 9
, 9044
0 , 27892 0
, 22615 0
, 18091 0
, 13568 9
, 9044 4
, 4529
và bi được cho bởi
29,720
19,120
11,24
5,6
1, ,
, 2 6
b
Nếu n = 4000 thì R có một phân bố gần giống Chi-square với df là 6, khi giả thuyết
Ho là chuỗi Ui là những biến độc lập và duy nhất Phương pháp run-down được thực hiện bằng cách đảo ngược cách quan sát của phương pháp run-up, với aij và bj tương tự
2- Phương pháp kiểm định lý thuyết
Do những phương pháp kiểm tra lý thuyết thường thì rất phức tạp về mặt toán học nên chúng
ta chỉ mô tả chúng một cách định tính Trong phần này chỉ giới thiệu những phương pháp kiểm tra lý thuyết cho LCG Như đã đề cập trong phần trước, những phương pháp lý thuyết không đòi hỏi tạo ra nhiều Ui nhưng chúng cho thấy như thế nào để LCG có một trình bày tốt bằng cách xác định những số m, a và c Phương pháp lý thuyết thì khác với phương pháp thực nghiệm là chúng mang tính tổng quát Tuy nhiên có một sự tranh cãi là giữa phương pháp cục
bộ và tổng quát thì cái nào là tốt hơn
Đối với bộ phát LCG, trung bình mẫu, phương sai mẫu và những tương quan cho một chu kỳ đầy đủ có thể tính trực tiếp từ những số m, a, c và Zo của bộ phát
Ví dụ 4.2 Trong một LCG có chu kỳ đầy đủ, trung bình của Ui là 1/2 - 1/2m gần bằng với 1/2 nếu m lớn, tương tự phương sai mẫu là gần bằng 1/12, là phương sai của phân bố U(0, 1)
Trang 33Vũ Thị Hạnh – Lý Thuyết mô phỏng hệ thống Trang 33
4.3 Các phương pháp kiểm tra
4.3.1 Phương pháp biến đổi ngược
1- Biến X liên tục và có hàm phân bố F liên tục và tăng F khi 0 < F(x) < 1 Biến ngẫu nhiên
X được tạo ra theo thuật toán sau:
- Phát ra U U (0, 1)
- X = F–1(U)
Hình: Phương pháp biến đổi ngược đối với biến ngẫu nhiên liên tục
Hình trên cho thấy những biến ngẫu nhiên cho hàm phân phối này có thể có giá trị dương hoặc âm, giá trị U1 tương ứng với biến ngẫu nhiên dương X1 và U2 tương ứng với biến ngẫu nhiên âm X2 Cho X có phân bố exponential với trị trung bình Hàm phân phối như sau
0 1
)
x
x e
x
Đặt u = F(x), ta được: F–1(u) = – ln(1 – u)
Vì thế để tạo ra những biến ngẫu nhiên, tạo ra U U(0, 1) và đặt X = – lnU
Cách xác định hiệu lực của phương pháp này trong trường hợp liên tục được trình bày như sau:
F x( )
Trang 34Vũ Thị Hạnh – Lý Thuyết mô phỏng hệ thống Trang 34
Hình 4.2 Phương pháp biến đổi ngược đối với biến ngẫu nhiên rời rạc
Cách xác định hiệu lực của phương pháp trong trường hợp rời rạc được trình bày như sau:
- Với i = 1: X = x1 nếu và chỉ nếu U <= F(x1) = p(x1) vì x1 < x2 < x3 <…
- Với i = 2: X = xi nếu và chỉ nếu F (x i–1 )<= U <= F(x i)
Vì i là giá trị nguyên dương nhỏ nhất để U <= F(x i ) và U U(0, 1)
và 0<= F(x i–1 )< F(x i) <= 1
nên P(X=x i ) = P[F(x i–1 )< U <= F(x i )] = F(x i ) – F(x i–1) = P(xi)
Ví dụ 5.3 Trong ví dụ ở phần trên, X là biến ngẫu nhiên rời rạc với giá trị 1, 2, 3, 4 tương
ứng có xác suất là 1/6, 1/3, 1/3, 1/6 Để tạo ra một biến X, đầu tiên tạo ra U U(0; 1) và đặt
X hoặc bằng 1, 2, 3 hoặc 4, phụ thuộc vào khoảng chia [0; 1] mà U rơi vào Nếu:
- Đôi khi có thể tạo ra F–1 cho hàm phân bố (như phân bố normal và gamma) Tuy nhiên ta
có thể sử dụng phương pháp số để tạo ra F–1 cho những phân bố phức tạp
- Những phân bố được tạo ra từ phương pháp biến đổi ngược thì không là cách nhanh nhất
để tạo ra những thay đổi ngẫu nhiên tương ứng
b x a a
F b F
x f x
f
, 0
, ) ( ) (
) ( )
Trang 35Vũ Thị Hạnh – Lý Thuyết mô phỏng hệ thống Trang 35
b x a a
F b F
a F x
, 1
, ) ( ) (
) ( ) ( 0,
Thuật toán tạo ra X có hàm phân bố F* như sau:
Phát U U(0, 1)
Đặt V = F(a) + [F(b) – F(a)]U
Quay về X = F -1 (V)
Tương tự cho trường hợp gián đoạn (rời rạc)
Tạo ra những số thống kê theo thứ tự Giả sử Y1, Y2, …, Yn là độc lập và đồng nhất với hàm phân bố là F và i = 1, 2, …, n đặt Y(i) là giá trị nhỏ nhất thứ i của Yj Thuật toán tạo ra X = Y(i)¬ như sau:
- Phát V beta (i, n – i + 1)
- Quay về X = F–1(V)
4.3.2 Phương pháp kết hợp
1- Đối với trường hợp liên tục
Giả sử hàm phân bố F là sự kết hợp của các hàm phân bố F1, F2,… khi đó Fj được định nghĩa như sau:
F(x) =
1
) (
j j
j F x p
với p j 0 và
1
j j
j F x p
2- Đối với trường hợp rời rạc cũng tương tự
Thuật toán kết hợp tổng quát như sau:
Phát ra số dương ngẫu nhiên J: P(J = j)= p j , j = 1, 2,…
Khi đó X tuân theo hàm phân bố Fj
Ví dụ 5.4 Cho phân bố Laplace có hàm mật độ f (x) = 0,5 e–x , x là số thực Từ hình bên
dưới thấy rằng f (x) là hai hàm mật độ nằm đối xứng nhau nên sử dụng phương pháp kết hợp trong trường hợp này Vì thế hàm mật độ f (x) là một hàm kết hợp giữa f1(x) e x I( ,0)(x)
) ( )
Trang 36Vũ Thị Hạnh – Lý Thuyết mô phỏng hệ thống Trang 36
) ( 5
, 0 ) ( 5
, 0 ) (x e I( ,0) x e I(0, ) x
A x x
I A
0
1)(
Do đó để tạo ra biến X từ hàm kết hợp, đầu tiên phát ra U1 và U2 tuân theo U(0; 1)
10
)1(2)
(
x x
x x
a a
x f
Từ hình 5.4 bên dưới cho thấy có thể chia diện tích dưới hàm f thành một hình chữ nhật với diện tích a và một tam giác với diện tích (1 – a) nên hàm f(x) có thể phân tích như sau
)(2)1()()
(x aI[0;1] x a xI[0;1] x
Đây là một sự kết hợp giữa hàm như là hàm U(0; 1) và như là hàm Triangular với xác suất p1 = a và p2 = (1 – a) Do đó phương pháp kết hợp như sau:
Đầu tiên phát ra U1 U(0; 1) với U1 a và U1 a và X = U2, U2 U(0; 1)
Tuy nhiên, nếu U1 > a thì phải tạo ra X = U2 , U2 U(0; 1) hoặc
X = max U2,U3, U2 và U3 U(0; 1)
Hình 5.4 Hàm mật độ dạng hình thang phải
4.3.3 Phương pháp tổng hợp
Giả sử có m biến ngẫu nhiên độc lập và đồng nhất Y1, Y2,…, Y mmà Y1 + Y2 +…+ Y m có cùng
phân bố với X, với X = Y1 + Y2 +…+ Y m
Thuật toán tạo biến ngẫu nhiên X như sau:
Trang 37Vũ Thị Hạnh – Lý Thuyết mơ phỏng hệ thống Trang 37
- Phát ra Y1, Y2, …, Ym định lý và định nghĩa với hàm phân bố G
- Khi đĩ X = Y1 + Y2 +…+ Y m
Cho biến ngẫu nhiên X tuân theo m-Erlang với cĩ thể được định nghĩa như là tổng của m biến ngẫu nhiên độc lập và đồng nhất với trung bình chung /m Vì thế để tạo ra biến X, đầu tiên phát ra Y1, Y2, …, Ym như là những biến mũ độc lập đồng nhất với trung bình /m, sau
đĩ X = Y1 + Y2 + … + Ym
4.3.4 Phương pháp chấp nhận/ loại bỏ
Phương pháp này địi hỏi xác định một hàm t
x x f x
trong đĩ, t khơng phải là một hàm mật độ vì
1 ) ( )
Nhưng rõ ràng hàm r(x) = t(x) / c là một hàm mật độ Chúng ta cĩ thể dễ dàng và nhanh chĩng tạo ra một biến ngẫu nhiên Y cĩ hàm mật độ r
Thuật tốn tạo ra biến ngẫu nhiên Y cĩ hàm mật độ r như sau:
- Phát ra Y cĩ hàm mật độ r
- Phát ra U ~ U(0, 1) độc lập với Y
- Nếu U f(Y) / t(Y) trở về X = Y Nếu khơng, trở lại bước 1
VD: Cho hàm phân phối beta(4; 3) với:
0
1 0
, ) 1 ( 60 )
x x
x x
x x
0
1 0
, 0736 , 2 ) (
x x
x x
) 1 (
Hình 5.5 F(x), t(x) và r(x) đối với phương pháp
chấp nhận-loại bỏ của hàm phân bố beta(4; 3)
Trang 38Vũ Thị Hạnh – Lý Thuyết mô phỏng hệ thống Trang 38
Hình 4.5 F(x), t(x) và r(x) đối với phương pháp chấp nhận loại bỏ của hàm phân bố beta(4;3)
4.3.5 Phương pháp phát biến ngẫu nhiên liên tục
1- Uniform
Hàm phân bố của biến ngẫu nhiên U(a, b) được biến đổi bằng cách xác định x thông qua u = F(x), với 0 u 1, ta có
u a b a u F
Y
X 1 2
Với Yi là biến ngẫu nhiên exponential định lý và định nghĩa với trung bình /m
Do vậy chúng ta có thể sử dụng phương pháp tổng hợp cho trường hợp này Nếu phương pháp biển đổi ngược được sử dụng thì Y i mlnU i với U1, U2,… U m là biến ngẫu nhiên
độc lập và đồng nhất được trình bày như sau:
i
m
U m
Khi đó một thuật toán được trình bày như sau:
- Phát U1, U2,… U m như là biến ngẫu nhiên độc lập và đồng nhất U(0, 1)
X
1
ln
Trang 39Vũ Thị Hạnh – Lý Thuyết mô phỏng hệ thống Trang 39
Đây thực sự là một phương pháp liên kết giữa phương pháp kết hợp và phương pháp biến đổi ngược
4- Gamma
Phân bố gamma ( , ) được xác định từ X ’ = X với X gamma( , 1)
Phương pháp chấp nhận loại bỏ xác định biến X gamma( , 1) khi 0 < < 1 như sau
10
,
0,
0
1
x e
x x
x
x x
x t c
)(
e
e , hàm
c
x t
10
,
0,
0
1
x b
e
x b
x
x x
1
10
,
x b
e
x b
x dy y r x
b u bu
u R
1,
1ln
1,
/ 1 1
b u bu
u R
1 ,
1 ln
1 ,
/ 1 1
Trang 40Vũ Thị Hạnh – Lý Thuyết mô phỏng hệ thống Trang 40
10
,
1
Y Y
Y e
Thuật toán như sau:
- Phát ra U1 U (0, 1) và đặt P = bU1 Nếu P > 1, chuyển sang bước 3; nếu lẽ tiếp tục bước 2
- Đặt Y = P1/ và phát U
2 U (0, 1) Nếu U2 e–Y thì X = Y; nếu không, trở về bước 1
- - Đặt Y ln bY/ và phát U2 U (0, 1) Nếu U2 Y–1 thì X = Y không trở về bước
1
Trường hợp > 1 ta có phương pháp chấp nhận-loại bỏ đã được điều chỉnh như sau: Đặt 2 1 ; ; ( )
4
0
0 ,
) (
)
1
x
x x
x x
0
0 ,
) (
x
x x
x x
, 1
) (
r 0 < u < 1
Thuật toán tạo ra Y với hàm xác định được trình bày như sau, với
1 2
- Nếu W + d – Z 0 thì X = Y nếu không chuyển sang bước 4
- Nếu W lnZ thì X = Y nếu không quay về bước 1