RASPBERRY_PYTHON Telegram 6527
درود. یه موضوع ساده ولی جالب:
همونطور که میدونید برای تولید اعداد (شبه) رندوم از ماژول random استفاده میکنیم توی پایتون. یکی از ویژگی های الگوریتم هایی که برای تولید اعداد شبه رندوم استفاده میشن این هست که باید سعی کنن به صورت یکنواخت اعداد رو توزیع کنن.
منظورم این هست که به طور مثال اگه خواستید ۱۰ هزار بار بین ۱ و ۲ و ۳ یه عددی رو انتخاب کنید باید بتونه تقریبا ۳۳۳۳ تا ۱ ، ۳۳۳۳ تا ۲ و ۳۳۳۳ تا ۳ انتخاب کنه. اول یه تست بگیریم ببینیم چقدر نزدیک هست:

> from random import randint
> from collections import Counter
>
> Counter((randint(1,3) for _ in range(10_000)))
Counter({2: 3379, 3: 3345, 1: 3276})

خیلی خوب و نزدیک بود. ولی حالا از اینکه اینا یکنواخت توزیع میشن چه استفاده‌ای میتونیم بکنیم؟
خیلی استفاده ها. یکیش که میخواستم دربارش صحبت کنم، حل بعضی مسائل مربوط به احتمالات ریاضی هست.

یه نمونش رو ببینیم:

۱۴۳ نفر در صف برای ورود به هواپیما هستند و هر نفر یک شماره صندلی متفاوت بین ۱ و ۱۴۳ دارد. تعداد صندلی های هواپیما هم دقیقا ۱۴۳ تا است. نفر اول شماره خودش را گم می‌کند و روی یک صندلی تصادفی میشند. از آن موقع به بعد هر کسی روی صندلی خودش می‌نشیند مگر این که فرد دیگری آنجا نشسته باشد و در این صورت روی یک صندلی خالی تصادفی می‌نشیند.
احتمال اینکه نفر ۱۴۳ ام روی صندلی خودش بنشیند چقدر است؟

اگه تونستین این سوال رو از راه ریاضی حل کنید که چه عالی، ولی اگر مثل من با دیدن صورت سوال راه حل ریاضیش به ذهنتون نیومد یا شک داشتید، کافیه بیاید فقط ۱ بار اون داستانی که توی صورت سوال اومده رو به کد تبدیل کنید، هرجا گفت تصادفی یا رندوم شما از random استفاده میکنید. در آخر مثلا ۱۰ هزار بار توی لوپ تکرارش کنید. به همین راحتی جواب و به دست میارید.



کلیت کار:‌ یک لیستی درست کنید از ۱۴۳ نفر که هر کدوم یه شماره صندلی ای بین ۱ تا ۱۴۳ دستشونه، برای نفر اول یه شماره به صورت رندم انتخاب کنید، بعد از نفر دوم تا آخر چک کنید که آیا صندلیش خالی یا None هست یا پره؟
اگه خالی بود بذاریدش اونجا و اگه پر بود یه شماره رندوم براش انتخاب کنید. در انتها، ما بدست آوردیم که "یک بار"ش چی میشه... آیا نفر آخر میشینه سر جاش یا نمیشینه. این جواب مهم نیست چی باشه، همین تابع رو ۱۰ هزار بار کال کنید و توی Counter بذارید.

احتمالش چقدر شد؟

🖊 @AmirSoroushh
👍9



tgoop.com/raspberry_python/6527
Create:
Last Update:

درود. یه موضوع ساده ولی جالب:
همونطور که میدونید برای تولید اعداد (شبه) رندوم از ماژول random استفاده میکنیم توی پایتون. یکی از ویژگی های الگوریتم هایی که برای تولید اعداد شبه رندوم استفاده میشن این هست که باید سعی کنن به صورت یکنواخت اعداد رو توزیع کنن.
منظورم این هست که به طور مثال اگه خواستید ۱۰ هزار بار بین ۱ و ۲ و ۳ یه عددی رو انتخاب کنید باید بتونه تقریبا ۳۳۳۳ تا ۱ ، ۳۳۳۳ تا ۲ و ۳۳۳۳ تا ۳ انتخاب کنه. اول یه تست بگیریم ببینیم چقدر نزدیک هست:

> from random import randint
> from collections import Counter
>
> Counter((randint(1,3) for _ in range(10_000)))
Counter({2: 3379, 3: 3345, 1: 3276})

خیلی خوب و نزدیک بود. ولی حالا از اینکه اینا یکنواخت توزیع میشن چه استفاده‌ای میتونیم بکنیم؟
خیلی استفاده ها. یکیش که میخواستم دربارش صحبت کنم، حل بعضی مسائل مربوط به احتمالات ریاضی هست.

یه نمونش رو ببینیم:

۱۴۳ نفر در صف برای ورود به هواپیما هستند و هر نفر یک شماره صندلی متفاوت بین ۱ و ۱۴۳ دارد. تعداد صندلی های هواپیما هم دقیقا ۱۴۳ تا است. نفر اول شماره خودش را گم می‌کند و روی یک صندلی تصادفی میشند. از آن موقع به بعد هر کسی روی صندلی خودش می‌نشیند مگر این که فرد دیگری آنجا نشسته باشد و در این صورت روی یک صندلی خالی تصادفی می‌نشیند.
احتمال اینکه نفر ۱۴۳ ام روی صندلی خودش بنشیند چقدر است؟

اگه تونستین این سوال رو از راه ریاضی حل کنید که چه عالی، ولی اگر مثل من با دیدن صورت سوال راه حل ریاضیش به ذهنتون نیومد یا شک داشتید، کافیه بیاید فقط ۱ بار اون داستانی که توی صورت سوال اومده رو به کد تبدیل کنید، هرجا گفت تصادفی یا رندوم شما از random استفاده میکنید. در آخر مثلا ۱۰ هزار بار توی لوپ تکرارش کنید. به همین راحتی جواب و به دست میارید.



کلیت کار:‌ یک لیستی درست کنید از ۱۴۳ نفر که هر کدوم یه شماره صندلی ای بین ۱ تا ۱۴۳ دستشونه، برای نفر اول یه شماره به صورت رندم انتخاب کنید، بعد از نفر دوم تا آخر چک کنید که آیا صندلیش خالی یا None هست یا پره؟
اگه خالی بود بذاریدش اونجا و اگه پر بود یه شماره رندوم براش انتخاب کنید. در انتها، ما بدست آوردیم که "یک بار"ش چی میشه... آیا نفر آخر میشینه سر جاش یا نمیشینه. این جواب مهم نیست چی باشه، همین تابع رو ۱۰ هزار بار کال کنید و توی Counter بذارید.

احتمالش چقدر شد؟

🖊 @AmirSoroushh

BY 🐍 Python & Raspberry 🐍


Share with your friend now:
tgoop.com/raspberry_python/6527

View MORE
Open in Telegram


Telegram News

Date: |

Telegram users themselves will be able to flag and report potentially false content. With the administration mulling over limiting access to doxxing groups, a prominent Telegram doxxing group apparently went on a "revenge spree." How to create a business channel on Telegram? (Tutorial) While some crypto traders move toward screaming as a coping mechanism, many mental health experts have argued that “scream therapy” is pseudoscience. Scientific research or no, it obviously feels good. 5Telegram Channel avatar size/dimensions
from us


Telegram 🐍 Python & Raspberry 🐍
FROM American