Skip to main content

Random number generator based on butterfly effect and chaotic maps

Project description

🦋 ButterRand

ButterRand là một thư viện Python sinh số ngẫu nhiên dựa trên hiệu ứng cánh bướm (Butterfly Effect) – một hiện tượng trong lý thuyết hỗn loạn, nơi các thay đổi nhỏ ban đầu có thể dẫn đến kết quả hoàn toàn khác biệt.

Thư viện này sử dụng các kỹ thuật như logistic map, sine map và các hàm gây nhiễu (sin, cos, tan,...) để tạo ra chuỗi số có tính hỗn loạn cao và cực kỳ khó dự đoán – phù hợp cho các mô phỏng phức tạp, các nghiên cứu khoa học, hoặc mục đích giáo dục.


🚀 Cài đặt

pip install butterrand

🧠 Ý tưởng phía sau

ButterRand dựa trên lý thuyết hệ động học hỗn loạn, cụ thể là hiệu ứng cánh bướm. Việc áp dụng logistic map và các hàm gây nhiễu phi tuyến tính giúp sinh ra chuỗi số không lặp lại theo kiểu cổ điển như các hàm ngẫu nhiên thông thường.


🔧 Cách sử dụng

from butterrand import ButterflyRandom

# Tạo một đối tượng sinh số ngẫu nhiên
br = ButterflyRandom(
    seed="abc123",            # Chuỗi hoặc số
    mode="logistic",          # Có thể là "logistic" hoặc "sine"
    noise_function="sin",     # "sin", "cos", "tan", ...
    epsilon=1e-8              # Độ nhiễu nhỏ để tạo hỗn loạn
)

print(br.next_float())        # Số thực từ 0.0 đến 1.0
print(br.next_int(1, 100))    # Số nguyên từ 1 đến 99

⚙️ Tham số khởi tạo

Tham số Kiểu dữ liệu Mô tả
seed str, int, float Giá trị khởi tạo, đảm bảo tính nhất quán nếu cần
mode str "logistic" hoặc "sine"
noise_function str hoặc callable Các hàm toán học "sin", "cos", "tan" hoặc hàm người dùng tự định nghĩa
epsilon float Một số rất nhỏ để tạo ra sự thay đổi không đáng kể nhưng gây hỗn loạn lớn

📦 Các hàm chính

Hàm Mô tả
next_float() Trả về số thực ngẫu nhiên trong khoảng (0.0, 1.0)
next_int(a, b) Trả về số nguyên ngẫu nhiên trong khoảng [a, b)

🧪 Ứng dụng

  • Mô phỏng hỗn loạn (chaos simulation)
  • Sinh dữ liệu mô phỏng (synthetic data)
  • Thị giác máy tính, nghệ thuật số
  • Giảng dạy và nghiên cứu về hệ động học hỗn loạn

⚠️ Không nên sử dụng cho bảo mật thực tế.


📁 MANIFEST.in

Đảm bảo thêm README.md vào gói khi đóng gói:

include README.md

📄 Giấy phép

MIT License – miễn phí sử dụng, chia sẻ và sửa đổi.


👤 Tác giả

Phát triển bởi Bùi Phong Phú


🦋 "Một cái đập cánh của con bướm ở Brazil có thể gây ra cơn lốc xoáy ở Texas."
— Edward Lorenz (cha đẻ lý thuyết hỗn loạn)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

butterrand-0.0.1.tar.gz (3.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

butterrand-0.0.1-py3-none-any.whl (3.4 kB view details)

Uploaded Python 3

File details

Details for the file butterrand-0.0.1.tar.gz.

File metadata

  • Download URL: butterrand-0.0.1.tar.gz
  • Upload date:
  • Size: 3.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for butterrand-0.0.1.tar.gz
Algorithm Hash digest
SHA256 d2490993ea83d8de7aca03a6a5ac8fa3f7d4c0c7bf5f77c182663ceeace5bf55
MD5 4fa636b604162e84724aa55f7f1f1714
BLAKE2b-256 92c42a2c39eb3daedaa4122ffd268a670f6a4c3b1fec74e9610809a0a4403ab2

See more details on using hashes here.

File details

Details for the file butterrand-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: butterrand-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 3.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for butterrand-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 97268ea358e9b56b74f13ad7cb739a1c2b621cb1af1a652dd3eff34d550c9de1
MD5 c7f19d2ed813844049f20937a672d366
BLAKE2b-256 ed5e998d4b248402021b3822a9f9d175c4ee775c2125b96b300f071619fe2929

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page