ورود

View Full Version : جهش در رشته ی بیتی



adineh67
یک شنبه 24 خرداد 1394, 09:32 صبح
سلام به همه ی دوستان
من یه رشته ی بیتی دارم که میخوام با احتمال 0.08 اونو جهش بدم که تو این جهش یه بیت از صفر به یک یا از یک به صفر تغییر پیدا میکنه نمیدونم این احتمال رو چطور میشه اعمال کرد.
تو این تکه کد اومده احتمال 2% رو حساب کرده ولی متوجه نمیشم چجوری این کارو کرده.ممنون میشم راهنمایی بفرمایید.


int random;
//random=rand()%50; //random value is between ( 0 - 49
//if (random==25) // Suppusiong Probability of mutation is 2%
{

rahnema1
یک شنبه 24 خرداد 1394, 14:00 عصر
سلام
در این مثالی که گذاشتید عدد تصادفی بین 0 تا 49 ایجاد می شه. یعنی تعداد اعضای مجموعه برابر با 50 تا هست
الان می خواهیم احتمال این را بررسی کنیم اگه یک عدد را از این مجموعه بررسی کنیم برابر با عددa باشه
حالا احتمال انتخاب هر یک از اعداد موجود در این مجموعه برابر با یک پنجاهم میشه و یک پنجاهم برابر با دو صدم می شه
حالا چرا در اینجا 25 گذاشته یعنی عدد a برابر 25 هست؟ مهم نیست چه عددی بذاره هر عددی بین 0 تا 49 بذاره باز هم جواب می شه دو صدم مثلا می تونستیم به جای 25 عدد 0 را بذاریم:

int random;
random=rand()%50;
if (random==0)

واسه هشت صدم هم به همین ترتیب عمل می کنیم. وقتی هشت صدم را ساده کنیم می شه دو بر روی 25 یا دو بیست و پنجم
اینجا چون صورت برابر با 2 هست می خواهیم احتمال این را بررسی کنیم که اگه یک عدد انتخاب کنیم یا عدد a باشه یا عدد b که a را مثلا میذاریم 0 و b را میذاریم 1

int random;
random=rand()%25;
if (random==0 || random==1)

یا

int random;
random=rand()%25;
if (random <= 1)

یا

int random;
random=rand()%25;
if (random < 2)

الان برای دو صدم و هشت صدم به ترتیب می تونیم به صورت زیر بنویسیم

int random;
random=rand()%100;
if (random < 2)



int random;
random=rand()%100;
if (random < 8)