740 likes | 1.06k Views
Computer Modeling And Simulation. F.Ramezani Department of Computer Engineering Islamic Azad University SARI Branch. Introduction to Computer Modeling And Simulation. فهرست مطالب. تولید اعداد تصادفی اعداد تصادفی با توزیع یکنواخت آزمون های مولد اعداد تصادفی
E N D
Computer Modeling And Simulation F.Ramezani Department of Computer Engineering Islamic Azad University SARI Branch Introduction toComputer Modeling AndSimulation
فهرست مطالب • تولید اعداد تصادفی • اعداد تصادفی با توزیع یکنواخت • آزمون های مولد اعداد تصادفی • تولید اعداد تصادفی با توزیع غیر یکنواخت • آشوب و تولید اعداد تصادفی آشوب گونه Introduction to Computer Modeling And Simulation
مقدمه • مولد های اعداد تصادفی کاربردهای متنوعی در شبیه سازی کامپیوتری، حل مسائل بهینه سازی، همچنین رمز نگاری اطلاعات، و الگوریتم های اکتشافی دارند • در این فصل به چند نمونه از مولد های اعداد تصادفی به همراه روشهای آزمون کیفیت مولدها پرداخته میگردد. Introduction to Computer Modeling And Simulation
مقدمه • معمولا در ساخت این مولد ها از روشهای ریاضی و یا روشهای تکاملی استفاده میگردد که باعث شده است مولدهای مختلفی با کیفیتهای متفاوت عرضه گردند. • کیفیت مولدهای اعداد تصادفی دارای اهمیت بسیار زیادی است بطوری که در بسیاری از الگوریتمهای رمز نگاری که از اعداد تصادفی استفاده میکنند، اگر کیفیت مولدها پایین باشد، با استفاده از حملات آماری، متن رمز شده شکسته شده یا پیش بینی میگردد. • یا در حل مسائل بهینه سازی ، آنچه که اهمیت دارد رفتار تصادفی بودن الگورتمهاست در نتیجه کیفیت مولدها در کارایی و سرعت الگوریتم ها نقش مهمی دارد. • بنابراین آزمونهای مختلفی نیز برای ارزیابی کیفیت این مولدها نیز ایجاد شده اند. Introduction to Computer Modeling And Simulation
اعداد تصادفی • به طور کلی یک عدد تصادفی یکی از اعضای مجموعه حالات یک متغیر می باشد. • به عنوان مثال اگر مجموعه حالات شامل اعداد { 1و2و3و4و5و6} باشد، متغیر تصادفی یک حالت 1 تا 6 خواهد بود. • اگر اعداد تصادفی بصورت پشت سر هم تولید گردند، دنباله ای از اعداد تصادفی خواهیم داشت • هر دنباله از اعداد تصادفی دارای دو ویژگی مهم خواهد بود • توزیع احتمال یکنواخت • مستقل بودن هر عدد از عدد دیگر. • در کنار مفهوم اعداد تصادفی اعداد شبه تصادفی وجود دارد Introduction to Computer Modeling And Simulation
اعداد شبه تصادفی • دلیل استفاده از کلمه اعداد شبه تصادفی این است که مولدها قادر نیستند اعداد صد در صد تصادفی تولید کنند. • ممکن است بعضی از دنباله های تولید شده تکراری گردند و یا بعضی اعداد هرگز تولید نگردند. • مشکلاتی که مولدها با انها روبه رو هستند : • اعداد ممکن است دارای توزیع یکنواخت نداشته باشند • میانگین اعداد تولید شده ممکن است بیش از حد بزرگ یا کوچک باشد • واریانس اعداد تصادفی تولید شده ممکن است تفاوت قابل توجهی با مقدار متعارف داشته باشد • ممکن است اعداد تولید شده دارای همبستگی باشند( بصورت نزولی یا صعودی شده باشند) • این مشکلات باعث میشوددنباله اعداد تولید شده کاملا تصادفی نباشندو به عبارتهای شبه تصادفی تبدیل گردند. Introduction to Computer Modeling And Simulation
تولید اعداد تصادفی با توزیع یکنواخت • روش میان مربعی: • این روش در سال 1940 توسط وان نیومن ارائه شد • در این روش ابتدا یک عدد تصادفی به عنوان هسته انتخاب شده، این هسته را مربع میکنند و ارقام میانی آن را انتخاب کرده و قبل از آنها ممیز قرار میدهند. • اگر هسته n رقم داشته باشد، مربع آن 2n-1 تا 2n رقم خواهد داشت. X0=5497 X0^2=30217009 => X1=2170 , R1 =0.2170 X1^2=04708900 => X2=7089 , R2 =0.7089 …. Introduction to Computer Modeling And Simulation
تولید اعداد تصادفی با توزیع یکنواخت • دو نکته در روش میان مربعی: • اگر اعداد تولید شده کمتر از 8 رقم بودند خودمان آنها را به اعداد 8 رقمی تبدیل میکنیم • با ظهور رقم صفر در سمت چپ ارقام دنباله اعداد تصادفی به صفر میل کرده و سریعا پایان می یابند. • فرض یکی از X ها در یک مرحله 6500 بدست آید با ادامه تولید اعداد تصادفی دور گردش 0.25 تولید میگردد. با ثابت ماندن اعداد تصادفی الگوریتم کارایی خود را از دست میدهد. • 6500^2 = 42250000 => X=2500 • 2500^2 = 06250000 => X=2500 Introduction to Computer Modeling And Simulation
تولید اعداد تصادفی با توزیع یکنواخت • روش میان ضربی: • این روش همان روش میان مربعی است ولی با 2 هسته • در این روش ابتدا دو عدد تصادفی به عنوان هسته انتخاب شده، این دو هسته را در هم ضرب میکنند و ارقام میانی آن را انتخاب کرده و قبل از آنها ممیز قرار میدهند. X0=2938 X0’=7229 X0*X0’= 21238802 => X1=2388 , R1 =0.2388 X0*X1 = 17262852 => X2=2628, R2 =0.2628 …. Introduction to Computer Modeling And Simulation
تولید اعداد تصادفی با توزیع یکنواخت • روش مضرب ثابت: • این روش همان روش میان ضربی است ولی یکی از هته ها ثابت در نظر گرفته میشود X0= 7223K= 3988 K*X0 = 28798101 => X1 = 7981, R1 = 0.7981 K*X1 = 31820248 => X2 = 8202 R2 = 0.8202 …. Introduction to Computer Modeling And Simulation
تولید اعداد تصادفی با توزیع یکنواخت • روش همنهشتی خطی: • این باقیمانده عدد تصادفی فعلی بر عدد ثابت m، عدد تصادفی جدید را نتیجه میدهد. • Xn=(a Xn-1 + b) mod m X0= 65 a=2 b=1 X1 = (2*65 +1 ) mod 100 => X1 = 31, R1 = 0.31 X2 = (2*31 +1 ) mod 100 => X2 = 63 R2 = 0.63 …. Introduction to Computer Modeling And Simulation
تولید اعداد تصادفی با توزیع یکنواخت • روش همنهشتی جمعی: • این باقیمانده مجموع عدد تصادفی فعلی وi امین قبلی بر عدد ثابت m، عدد تصادفی جدید را نتیجه میدهد. • این روش با استفاده از i هسته تولید میگردد • Xn=(Xn-1 + Xn-i) mod m X1= 57 , X2=34 , X3=89 , X4 = 92 , X5 =16 X6 = (57+16 ) mod 100 => X6 = 73, R1 = 0.73 X7 = (73+34 ) mod 100 => X2 = 7 R2 = 0.07 X8 = (7+89 ) mod 100 => X2 = 96 R2 = 0.96 …. Introduction to Computer Modeling And Simulation
تولید اعداد تصادفی با توزیع یکنواخت • روش فیبوناچی: • این روش همانند روش قبلی است با این تفاوت که i=2 در نظر گرفته میشود. • Xn=(Xn-1 + Xn-2) mod m X1= 57 , X2=34 X3 = (57+34 ) mod 100 => X3 = 91, R1 = 0.91 X4 = (34+91 ) mod 100 => X4 = 125 R2 = 0.25 X5 = (91+25 ) mod 100 => X5 = 116 R3 = 0.16 …. Introduction to Computer Modeling And Simulation
تولید اعداد تصادفی با توزیع یکنواخت • روش همنهشتی درجه دو: • این باقیمانده عدد تصادفی فعلی بر عدد ثابت m با استفاده از یک رابطه درجه دو عدد تصادفی جدید را نتیجه میدهد. • Xn=(a Xn-12 + b Xn-1 +c) mod m که c ,m نسبت به هم اول هستند X0= 7 a=1 b=1 c=3 m=10 X1 = (1*49 + 1*7 +3 ) mod 10 => X1 = 59, R1 = 0.9 X2 = (1*81+1*9+3 ) mod 10 => X2 = 93 R2 = 0.3 …. Introduction to Computer Modeling And Simulation
آزمونهای مولد اعداد تصادفی • آزمون همبستگی • شرط اول دنباله اعداد تصادفی تولید شده استقلال داده ها از یکدیگر میباشد • برای بررسی استقلال داده ها از یکدیگر میتوان ضریب همبستگی داده ها را محاسبه نمود • اگر اعداد تصادفی تولید شده را با یک فاصله در دسته x , y قرار دهیم میتوان ضریب همبستگی آنها را محاسبه نمود • R=cov(x,y)/var(x).var(y) • در این صورت اگر R=0 باشد دو دسته مستقل بوده ، پس اعداد تصادفی تولید شده مستقلند • در غیر این صورت هرچه این مقدار به یک یا 1- نزدیکتر باشه اعداد تصادفی تولید شده وابسته ترند و شرط اول خاصیت اعداد تصادفی نقض خواهد شد. Introduction to Computer Modeling And Simulation
آزمونهای مولد اعداد تصادفی • آزمون آنتروپی • آزمون آنتروپی یا مقدار عددی تنوع دنباله اعداد تصادفی، برای میزان تنوع دنباله اعداد تصادفی مورد استفاده قرار میگیرد. • هرچه عدد تولید شده بزرگتر باشد، نشان دهنده تنوع بیشتر در تولید اعداد تصادفی خواهد بود. و هرچه تنوع بیشتر باشد، مولد بهتری خوایم داشت. • H=-∑pi .log(pi) • اگر مولدی بتواند همه اعداد تصادفی را تولید کند مقدار H ماکزیمم خواهد بود. Introduction to Computer Modeling And Simulation
تولید اعداد تصادفی با توزیع غیریکنواخت • اعداد تصادفی با توزیع نمایی • توزیع نمایی به منظور مدلسازی مدتهای بین ورود در حالتی که ورودی ها کاملا تصادفی باشند مورد استفاده قرار میگیرد • متغیر x دارای توزیع نمایی با پارامتر لاندا است در صورتی که دارای معادله زیر باشد. Introduction to Computer Modeling And Simulation
یعنی اگر R یکمتغیر تصادفی با توزیع یکنواخت باشد،X یک متغیر تصادفی با توزیع نمایی خواهد بود Introduction to Computer Modeling And Simulation
تعريف • دانش بررسي رفتار سيستمهايي كه وروديهاي معين، اما خروجيهاي ظاهرا تصادفي دارند. Introduction to Computer Modeling And Simulation
مراحل پيدايش • ابتدا يك نظريه بود • در ادامه و مطالعه بيشتر تبديل به يك تئوري شد • در حال حاضر يك علم است. Introduction to Computer Modeling And Simulation
اگر ما به دنبال اين باشيم که در اين شکل يک نظم و يک معادله پيدا کنيم شايد هيچ گاه نتوان به فرمولي رسيد. بااستفاده از هندسه غير اقليدسي به چندين فرمول مي رسيم که بخش اعظمي از اين شکل را توضيح مي دهد، اما براي بقيه اين شکل توضيحي نداريم. بنا براين دست به ايجاد شاخه اي جديد در رياضيات و هندسه مي زنيم تا بتوانيم آن را توضيح دهيم. Introduction to Computer Modeling And Simulation
همان شکل را بطور کاملببينيم Introduction to Computer Modeling And Simulation
مشاهده مي کنيم که تمامي بي نظمي موجود در آن شکل منجر به نظمي بزرگ شد. يعني ايجاد يک خط راست. اما به دليل اين که ما درون شکل قرار داشتيم نتوانستيم به نظم کلي آن پي ببريم و به اشتباه کشيده شديم. دنياي اطراف ما پر از روابطي است که ما قادر به فهم آنان نيستيم. Introduction to Computer Modeling And Simulation
بدين ترتيب طي چند سال گذشته، در حوزه رياضيات و فيزيک مدرن، روش علمي و تئوري جديد و بسيار جالبي به نام "آشوب" پا به عرصه ظهور گذاشته است. • تئوري آشوب، سيستمهاي ديناميکي بسيار پيچيده اي مانند اتمسفر زمين، جمعيت حيوانات، جريان مايعات، تپش قلب انسان، فرآيندهاي زمين شناسي و ... را مورد بررسي قرار مي دهد. انگاره اصلي و کليدي تئوري آشوب اين است که در هر بي نظمي ، نظمي نهفته است. به اين معنا که نبايد نظم را تنها در يک مقياس جستجو کرد؛ پديده اي که در مقياس محلي، کاملا تصادفي و غيرقابل پيش بيني به نظر مي رسد چه بسا در مقياس بزرگتر، کاملا پايا (Stationary) و قابل پيش بيني باشد. Introduction to Computer Modeling And Simulation
بسياري از وقايع تاريخي که در مقياس 20 ساله ممکن است کاملا تصادفي و بي نظم به نظر برسند، ممکن است که در مقياس 200 ساله، 2000 ساله يا 20000 ساله داراي دوره تناوب مشخص و يا نوعي نظم در علتها باشند. • موضوع جالب ديگري که در تئوري آشوب وجود دارد، تاکيد آن بر وابستگي (يا حساسيت) به شرايط اوليه است. بدين معني که تغييرات بسيار جزيي در مقادير اوليه يک فرآيند مي تواند منجر به اختلافات چشمگيري در سرنوشت فرآيند شود. مثال ساده زير شايد جالب باشد: • اگر مسافري 10 ثانيه دير به ايستگاه اتوبوس برسد نمي تواند سوار اتوبوسي شود که هر 10 دقيقه يک بار از اين ايستگاه مي گذرد و به سمت مترويي مي رود که از آن هر ساعت يک بار قطاري به سوي فرودگاه حرکت مي کند. براي مقصد مورد نظر اين مسافر، فقط روزي يک پرواز انجام مي شود و لذا تاخير 10 ثانيه اي اين مسافر باعث از دست دادن يک روز کامل مي شود. بسياري از پديده هاي طبيعي داراي چنين حساسيتي به شرايط اوليه هستند. قلوه سنگي که در خط الراس يک کوه قرار دارد ممکن است تنها بر اساس اندکي تمايل به سمت چپ يا راست، به دره شمالي يا جنوبي بلغزد، در حالي که چند ميليون سال بعد، که توسط فرآيندهاي زمين شناسي و تحت نيروهاي باد و آب و ... چند هزار کيلومتر انتقال مي يابد، مي توان فهميد که آن تمايل اندک به راست و چپ به چه ميزان در سرنوشت اين قلوه سنگ تاثيرگذار بوده است Introduction to Computer Modeling And Simulation
These two sets of data have the same • mean • variance • power spectrum Introduction to Computer Modeling And Simulation
RANDOM random x(n) = RND Data 1 Introduction to Computer Modeling And Simulation
CHAOS Deterministic x(n+1) = 3.95 x(n) [1-x(n)] Data 2 Introduction to Computer Modeling And Simulation
etc. Introduction to Computer Modeling And Simulation
RANDOM random x(n) = RND Data 1 Introduction to Computer Modeling And Simulation
CHAOS deterministic x(n+1) = 3.95 x(n) [1-x(n)] Data 2 x(n+1) x(n) Introduction to Computer Modeling And Simulation
CHAOS Definition predict that value Deterministic these values Introduction to Computer Modeling And Simulation
CHAOS Definition Small Number of Variables x(n+1) = f(x(n), x(n-1), x(n-2)) Introduction to Computer Modeling And Simulation
CHAOS Definition Complex Output Introduction to Computer Modeling And Simulation
CHAOS Properties Phase Space is Low Dimensional d , random d = 1, chaos phase space Introduction to Computer Modeling And Simulation
CHAOS Properties Sensitivity to Initial Conditions nearly identical initial values very different final values Introduction to Computer Modeling And Simulation
CHAOS Properties Bifurcations small change in a parameter one pattern another pattern Introduction to Computer Modeling And Simulation
Time Series X(t) Y(t) Z(t) embedding Introduction to Computer Modeling And Simulation
Phase Space Z(t) phase space set Y(t) X(t) Introduction to Computer Modeling And Simulation
Attractors in Phase Space Logistic Equation X(n+1) = 3.95 X(n) [1-X(n)] X(n+1) X(n) Introduction to Computer Modeling And Simulation
Attractors in Phase Space Z(t) Lorenz Equations Y(t) X(t) Introduction to Computer Modeling And Simulation
The number of independent variables = smallest integer > the fractal dimension of the attractor Logistic Equation phase space d<1 time series X(n+1) X(n) d < 1, therefore, the equation of the time series that produced this attractor depends on 1 independent variable. Introduction to Computer Modeling And Simulation
The number of independent variables = smallest integer > the fractal dimension of the attractor Lorenz Equations time series phase space d =2.03 Z(t) X(n+1) n X(t) Y(t) d = 2.03, therefore, the equation of the time series that produced this attractor depends on 3 independent variables. Introduction to Computer Modeling And Simulation
Data 1 time series phase space d Since , the time series was produced by a random mechanism. d Introduction to Computer Modeling And Simulation
Data 2 time series phase space d = 1 Since d = 1, the time series was produced by a deterministic mechanism. Introduction to Computer Modeling And Simulation
Phase Space Constructed by direct measurement: Measure X(t), Y(t), Z(t) Z(t) Each point in the phase space set has coordinates X(t), Y(t), Z(t) X(t) Y(t) Introduction to Computer Modeling And Simulation