PiBytes
166 subscribers
48 photos
2 videos
9 files
87 links
- MAKE IT BETTER

- X: x.com/xpibyte
- Contact: @pibyte
- Vibe: @sinner_singer

کد بزنید و کد بزنید و بزنید و بزنید و بازهم بزنید.
Download Telegram
Modulo Bias Error

وقتی که ی تابع رندوم توی C نوشتم براساس تکرار زیاد برنامه متوجه میشدم که یکسری حالات بیشتر رخ میدن، حتی با اینکه تابع ()rand رو برحسب زمان seed میدادم!
بعدش متوجه شدم مشکل از محاسبات خودم بوده، و طوری که من کد رو نوشته بودم دچار خطای Modulo Bias میشدم که باعث میشد بعضی حالات احتمال بیشتری داشته باشند!

اول بدونیم که تابع ()rand یک عدد مثبت در بازه [0 , RAND_MAX] رو تولید میکنه. کد اول که دارای خطای Modular Bias هست به این شکله:
int rng_int(int main, int max)} 
    int range = max - min + 1;
    int random = rand() % range;
    return random + min;
}


فرض کنید RAND_MAX یک عدد خیلی کوچیک مثل 15 باشه، در این حالت اگه من اعداد رندوم از بازه [0, 5] بخوام، چون طول بازه‌ام 6 هست، اون رنج بزرگتر صفر تا 15 باید مپ بشه روی اعداد 0 تا 5 تا من نتیجه دلخواهم رو بگیرم، حالا به ازای تمام خروجی های یک تا پانزده ()rand این اتفاق میوفته:

0 % 6 = 0          1 % 6 = 1
2 % 6 = 2          3 % 6 = 3
4 % 6 = 4          5 % 6 = 5
6 % 6 = 0          7 % 6 = 1
8 % 6 = 2          9 % 6 = 3
10 % 6 = 4         11 % 6 = 5
12 % 6 = 0         13 % 6 = 1
14 % 6 = 2         15 % 6 = 3


دقت کردید؟ اعداد {0,1,2,3} 3 بار تکرار شدن درحالیکه اعداد {4,5} 2 بار تکرار شدن!

اینجا خطا رو با rejection sampling برطرف میکنیم:
int rng_int(int main, int max){
unsigned range = (unsigned)max - min + 1;
unsigned limit = RAND_MAX - (RAND_MAX % range);
int random;
do {
     random = rand();
} while((unsigned)random >= limit);
return min + (random % (int)range)


چه اتفاقی افتاد؟ با متغییر limit شانس همه رو برابر کردیم، مقدار limit بزرگترین عددی در بازه [0, RAND_MAX] هست که به طول بازه دلخواه ما بخش پذیره، توی مثال خودمون limit برابر با 12 میشه و توی حلقه‌ی do while باعث میشیم که اگه خروجی دربازه [0,limit - 1] نبود، دوباره انتخاب بشه تا شانس همه برابر باشه:)

درنهایت، خطای Mudolo Bias چیه؟ خب ماجولو (با همین تلفظ گوگولی) همون اپراتور % هستش و در دنیای احتمالات به سنگینی احتمال به یک سمت درحالیکه انتظار میره همه شانس برابری داشته باشن میگن Bias، مثل وقتی که یک طرف سکه سنگین تر از اونیکی‌ طرفه:)

📍Read more in Telegraph


#script@pibytes


🖤 - PiBytes
10👍2
سیسوگ، بهشت برنامه‌نویسان low-level

سیسوگ یکی از موفقترین کامیونیتی های ایرانی است که در زمینه آموزش الکترونیک، IoT، مباحث سخت‌افزار و سطح پایین برنامه‌نویسی و لینوکس فعالیت میکند.
سیسوگ نام پرنده ای است که در دشت‌ها و کوه‌های سیستان زندگی میکند. بومیان آن دیار بر این اعتقاداند که سیسوگ پرنده ای است آزاد و رام کردن و به قفس انداختن آن امری است غیرممکن. سیسوگ نماد آزادی است؛ نماد رهایی از هر نوع قید و بند.

📍Website 📍 Telegram channel


🖤 - PiBytes
🔥7
زمان های قدیم یا حتی تا همین چندسال پیش اصولا مردم هرچیزی دم دستشون میومد یادمیگرفتن چون اطلاعات کم بدستشون میرسید و یادنگرفتن براشون مثل فرصت سوزی بود. امروز با وجود سیل اطلاعاتی این استراتژی دیگه جواب نمیده، چیزهایی یادبگیرید که بکارتون میاد.

نکته اخلاقی اینکه هیچوقت بدون دلیل برای یادگیری مبحثی الکی وقت نزارید. اگه بکارتون نیاد فراموشش میکنید.

#note@pibytes


🖤 - PiBytes
👍63
https://javidnamaan.com 🥀🖤

ستاره های جاوید‌نامان زیر ۲۰ سال به رنگ قرمز هست:) 💔

پ.ن: سنگینی این غم بزرگ هیچوقت از روی دل‌های ما برداشته نخواهد شد.


اگه میتونید درحد توان ازین پروژه زیبا حمایت کنید.

🖤 - PiBytes
17
محندص عزیز...
بهم قول بده که از ai فقط بعنوان یک موتورجستجوی پیشرفته استفاده کنی

بهم قول بده که از ai برای کد زدن استفاده نمیکنی

بهم قول بده که نزاری ai بجای تو فکرکنه

بهم قول بده که ai بجای تو حرف نزنه و نظر نده حتی اگه مطمعن نیستی نظرت درست باشه

بهم قول بده که از مغزت استفاده میکنی

بهم قول بده که مغزت دراختیار خدمت به طاغوت نباشه

اگه به قول‌های بالا عمل کنی، لطف بزرگی درحق من و خودت و بقیه خواهی کرد.

روزت مبارک
#note@pibytes


🖤 - PiBytes
7❤‍🔥2
از خوابایی که یک C دولوپر میبینه:

#meme@pibytes


🖤 - PiBytes
🤣8
حرف دل بسیارست اما این یک پاراگراف که میگذارم درکانال بمونه، کفایت می‌کنه...

ما سالهاست که درجنگ بودیم، فقط الان آگاه شدیم، برادر و خواهر عزیزم، حالا که آگاه شدی، اگه از الان به خودت و زندگیت به چشم یک نظامی که در وسط جنگ هست نگاه نکنی، فارغ ازینکه یعنی به خودت و جاوید‌نامان خیانت کردی، طولی نمیکشه که محیط مجبورت میکنه یک نظامی وسط ویرانه‌های شهرت باشی.

#note@pibytes


🖤 - PiBytes
5👍1
این‌جا بایگانی خیلی خوبی برای شرایط جنگی و اضطراری جمع شده. بخونید، برای بقیه بفرستید و اگر کمبودی درش متوجه شدید ذکر کنید.

#note@pibytes
4
مراقب خودتون باشید کلی ❤️
3
Forwarded from Sharifi Zarchi | علی شریفی زارچی
تیر خلاص که به پیشانی جوانان وطن می‌زدید کمانه کرد.
3
به زور وصل شدیم...
PiBytes
به زور وصل شدیم...
به زور وصل شدیم²...
PiBytes
به زور وصل شدیم²...
به زور وصل شدیم³...
خدایا بسه دیگه (عیدتون مبارک)
41
ایرانیِ امروز بهتر از هرکسی توی دنیا معنی بلاتکلیفی و عجز رو درک میکنه‌.

#thought@pibytes
👍1
شاید واقعاً باید اخطاراشون رو جدی گرفت

این پست سال ۱۴۰۳ توسط ایلان ماسک منتشر شده بود

#thought@pibytes
دنیای من همون دنیای واقعی‌ایه که بیرون توی زندگی واقعی تجربه کردین ولی هذیان مجازی شاید باعث شده فراموش کنید.

دنیایی که توش ضعیف‌ها زیر پا له میشن و اگر کسی می‌خواد زیر پا له نشه باید خودش رو قوی کنه.

دنیایی که اگر فایده‌ای برای هیچ‌کسی نداشته باشی، بود و نبودت هم براشون فرقی نمی‌کنه.

دنیایی که اگر عرضه و پتانسیل نشون ندی، قدرتمندترها جدیت نمی‌گیرن و حمایتی ازت نمی‌کنن چون اگر قرار بود منابعشون رو پای هرکسی هدر بدن، قدرتمند نمی‌شدن.

دنیایی که توش برای به دست آوردن هر چیزی باید «هزینه» بدی و کدتقلب و میانبرهای فوری برای کسب چیزهای بزرگ و با ارزش وجود نداره.

دنیایی که اگر ضعیف باشی و پول نداشته باشی حتی بچه‌ات هم به حرفت گوش نمیده چه برسه به دشمن تا دندون مسلح‌ات.

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

#quote@pibytes <Nolan Writes>
Forwarded from Happy Books
یه انسان سالم هرجایی بفهمه اشتباه می‌کرده می‌پذیره، لزومی نداره تا آخرش سینه‌خیز بره.
کانالایی که ازشون فوروارد میکنم به این معنی نیست که تمام حرفاشون درستِ مطلق هست، بلکه مطالب خیلی بهتر و مفیدتری نسبت به چرندیاتی که در تلویزیون و ماهواره تو مختون میکنن دارن که میتونید دنبال کنید.

#thought@pibytes
هروقت به ماهیت تفکراتتون و عقلانی بودنش شک کردید بدونید فرق شما با افراد حرامزاده‌ی متوهم دقیقا همین شک هست!

#thought@pibytes
👍3