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.1.2.tar.gz (4.0 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.1.2-py3-none-any.whl (4.2 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for butterrand-0.1.2.tar.gz
Algorithm Hash digest
SHA256 72af62bb8bcc80b33da353d0899186b3f4c10f789de357a462fcdd8354dd2cc1
MD5 a99e6509536ea02be3f03d149975a5c8
BLAKE2b-256 06be94107ce98acc160fd7c45d269d1148b510d469cee3b2fd38c8dac142b734

See more details on using hashes here.

File details

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

File metadata

  • Download URL: butterrand-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 4.2 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.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 908f50bdcf8e7308edd4053c7dcea32b54f44648e5df1557da1ca471a1918ee1
MD5 881216851d9bf6d298c868bce3ababcf
BLAKE2b-256 4caee64d362f1ed2f49bf204bdd1061cba71f65aa8dc901331a1c6f61f73612e

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