<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
    <channel>
        <title>Random-Number-Generator - Nhãn - NZQIRC</title>
        <link>https://nzqirc.xyz/tags/random-number-generator/</link>
        <description>Random-Number-Generator - 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/random-number-generator/" 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>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>
