<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
    <channel>
        <title>Simulation - Nhãn - NZQIRC</title>
        <link>https://nzqirc.xyz/tags/simulation/</link>
        <description>Simulation - Nhãn - NZQIRC</description>
        <generator>Hugo -- gohugo.io</generator><language>vi</language><copyright>This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.</copyright><lastBuildDate>Mon, 03 Aug 2026 11:00:00 &#43;0700</lastBuildDate><atom:link href="https://nzqirc.xyz/tags/simulation/" rel="self" type="application/rss+xml" /><item>
    <title>Tổng quan về sinh số ngẫu nhiên: từ entropy đến PRNG và CSPRNG</title>
    <link>https://nzqirc.xyz/posts/math/stats/random-number-generation-overview/</link>
    <pubDate>Mon, 03 Aug 2026 11:00:00 &#43;0700</pubDate>
    <author>Du Mã</author>
    <guid>https://nzqirc.xyz/posts/math/stats/random-number-generation-overview/</guid>
    <description><![CDATA[<h2 id="1-số-ngẫu-nhiên-có-thể-đến-từ-hai-nơi">1. “Số ngẫu nhiên” có thể đến từ hai nơi</h2>
<p>Khi một chương trình yêu cầu số ngẫu nhiên, có hai công việc rất khác nhau có thể đang diễn ra:</p>
<ol>
<li><strong>Thu nhận entropy từ thế giới thực:</strong> đo một hiện tượng khó dự đoán như nhiễu điện tử hoặc độ lệch thời gian của các sự kiện hệ thống.</li>
<li><strong>Mở rộng một trạng thái hữu hạn bằng thuật toán tất định:</strong> từ một seed ngắn, sinh nhanh một luồng bit dài có tính chất thống kê hoặc tính chất mật mã mong muốn.</li>
</ol>
<p>Hệ điều hành hiện đại thường kết hợp cả hai. Nó gom các tín hiệu khó dự đoán, kiểm tra và trộn chúng thành seed; sau đó một <strong>bộ sinh số giả ngẫu nhiên an toàn mật mã</strong> (cryptographically secure pseudorandom number generator, CSPRNG) mở rộng seed đó thành lượng dữ liệu lớn. Vì vậy, “ngẫu nhiên vật lý” và “PRNG tất định” không nhất thiết là hai lựa chọn loại trừ nhau: nhánh thứ nhất thường nuôi seed và reseed cho nhánh thứ hai.</p>]]></description>
</item>
<item>
    <title>Từ LCG đến PCG64DXSM: trạng thái, hoán vị và sinh số song song</title>
    <link>https://nzqirc.xyz/posts/math/stats/pcg-to-pcg64dxsm/</link>
    <pubDate>Mon, 03 Aug 2026 10:00:00 &#43;0700</pubDate>
    <author>Du Mã</author>
    <guid>https://nzqirc.xyz/posts/math/stats/pcg-to-pcg64dxsm/</guid>
    <description><![CDATA[<h2 id="1-vì-sao-cần-đi-xa-hơn-lcg">1. Vì sao cần đi xa hơn LCG?</h2>
<p>Trong <a href="/posts/math/stats/random-number-generation-overview/" rel="">bức tranh tổng quan về sinh số ngẫu nhiên</a>, PCG thuộc nhánh PRNG tất định, tối ưu cho mô phỏng nhanh và có thể tái lập. Bài này phóng to riêng nhánh đó để theo dõi các quyết định thiết kế dẫn tới PCG64DXSM.</p>
<p>Trong bài <a href="/posts/math/stats/linear-congruential-generator/" rel="">Bộ sinh số giả ngẫu nhiên LCG</a>, ta bắt đầu với hệ thức rất gọn:</p>
$$
X_{n+1}=(aX_n+c)\bmod m.
$$<p>LCG hấp dẫn vì nhanh, ít trạng thái và dễ nhảy tới một vị trí xa trong chuỗi. Nhưng nếu xuất thẳng $X_n$, ta cũng để lộ gần như nguyên vẹn cấu trúc tuyến tính đã sinh ra nó: các bit thấp có thể có chu kỳ ngắn, còn những bộ số liên tiếp tạo thành mạng lưới trong không gian nhiều chiều.</p>]]></description>
</item>
<item>
    <title>Chuỗi Sobol và Quasi-Monte Carlo</title>
    <link>https://nzqirc.xyz/posts/math/stats/sobol-sequence/</link>
    <pubDate>Mon, 03 Aug 2026 09:00:00 &#43;0700</pubDate>
    <author>Du Mã</author>
    <guid>https://nzqirc.xyz/posts/math/stats/sobol-sequence/</guid>
    <description><![CDATA[<h2 id="1-giới-thiệu">1. Giới thiệu</h2>
<p>Trong <a href="/posts/math/stats/monte-carlo-simulation/" rel="">Mô phỏng Monte Carlo</a>, chúng ta thường sử dụng các số giả ngẫu nhiên (pseudo-random numbers) để tính toán tích phân số học hoặc mô phỏng các hệ thống phức tạp. Tuy nhiên, các bộ sinh số giả ngẫu nhiên truyền thống có một nhược điểm lớn: các điểm sinh ra thường có xu hướng tạo thành các <strong>cụm (clumps)</strong> và để lại những <strong>khoảng trống (gaps)</strong> trong không gian.</p>]]></description>
</item>
<item>
    <title>Mô phỏng Monte Carlo (Monte Carlo Simulation)</title>
    <link>https://nzqirc.xyz/posts/math/stats/monte-carlo-simulation/</link>
    <pubDate>Mon, 03 Aug 2026 09:00:00 &#43;0700</pubDate>
    <author>Du Mã</author>
    <guid>https://nzqirc.xyz/posts/math/stats/monte-carlo-simulation/</guid>
    <description><![CDATA[<h2 id="1-giới-thiệu">1. Giới thiệu</h2>
<p>Đã bao giờ bạn tự hỏi làm thế nào để giải quyết một bài toán quá phức tạp để có thể tính toán bằng các công thức toán học thông thường? Câu trả lời thường là: hãy để sự ngẫu nhiên làm việc đó cho bạn. Đó chính là triết lý đằng sau <strong>Mô phỏng Monte Carlo</strong> (Monte Carlo Simulation).</p>
<p>Tên gọi &ldquo;Monte Carlo&rdquo; được nhà toán học Stanislaw Ulam và John von Neumann đặt vào những năm 1940, lấy cảm hứng từ sòng bạc nổi tiếng ở Monaco, nơi chú của Ulam thường xuyên lui tới. Ý tưởng cốt lõi rất đơn giản: sử dụng <strong>lấy mẫu ngẫu nhiên</strong> (random sampling) lặp đi lặp lại để xấp xỉ kết quả của những bài toán khó hoặc không thể giải quyết bằng phương pháp giải tích (analytic).</p>]]></description>
</item>
<item>
    <title>Bộ sinh số giả ngẫu nhiên LCG (Linear Congruential Generator)</title>
    <link>https://nzqirc.xyz/posts/math/stats/linear-congruential-generator/</link>
    <pubDate>Mon, 03 Aug 2026 08:30:00 &#43;0700</pubDate>
    <author>Du Mã</author>
    <guid>https://nzqirc.xyz/posts/math/stats/linear-congruential-generator/</guid>
    <description><![CDATA[<h2 id="1-giới-thiệu">1. Giới thiệu</h2>
<p>Khi làm việc với các mô phỏng máy tính hoặc học máy, bạn sẽ thấy mình sử dụng các hàm như <code>numpy.random.rand()</code> hay <code>np.random.default_rng()</code> rất thường xuyên. Nhưng đã bao giờ bạn tự hỏi: làm thế nào một cỗ máy cứng nhắc, luôn thực hiện các lệnh một cách xác định và không có chút &ldquo;sáng tạo&rdquo; nào, lại có thể tạo ra được những con số mang tính &ldquo;ngẫu nhiên&rdquo;?</p>]]></description>
</item>
</channel>
</rss>
