بیکران فرصت‌ها با کسانی می‌رقصند که روی صحنه رقص می‌رقصند. http://kiansight.mihanblog.com 2019-08-22T07:37:03+01:00 text/html 2019-08-09T00:43:00+01:00 kiansight.mihanblog.com کیان اعظمی مسیری شفاف برای موفقیت http://kiansight.mihanblog.com/post/62 <span lang="AR-SA" dir="RTL" style="line-height: 150%; font-size: 16pt;font-family:Iranian Sans;mso-bidi-language:FA"><font face="Mihan-IransansLight" color="#2F4F4F"> <style>img { border-radius: 0%; max-width: 99%; max-height: 99%; margin-left: auto; margin-right: auto; vertical-align: middle; border: 0; display: block; }#d1 { background-color: #EBF5FB; position: relative; max-width: 100%; border: 1px solid #2E86C1; font-size: 13pt; text-align:left; direction: ltr; font-family:'Georgia'; padding-left:20px; padding-top:10px; padding-bottom:10px} p { padding-right: 3px;} </style><center><div style="max-width:50%;" id="71790666288"><script type="text/JavaScript" src="https://www.aparat.com/embed/rLjgZ?data[rnddiv]=71790666288&amp;data[responsive]=yes"></script></div></center><p dir="RTL">روزی یک نفر از وارن بافت درباره‌ی راز موفقیتش سوال می‌کنه. وارن بافت هم به کتاب‌هاش اشاره می‌کنه و بهش می‌گه که ساده است:</p><p dir="RTL" align="center">&lt;&lt;هر روز 500 صفحه مثل این‌ها رو بخون. این دانش هست که این کار رو می‌کنه. به مانند سودی هست که به صورت تصاعدی افزایش پیدا می‌کنه. همه‌ی شما می‌تونید، اما بهتون قول می‌دم که بیشتر شماها چنین کاری رو نمی‌کنید.&gt;&gt;</p><p dir="RTL">نویسنده‌ی <a href="https://medium.com/s/story/the-simple-truth-behind-reading-200-books-a-year-1767cb03af20"><font color="#3333ff">مقاله</font></a> در ادامه می‌نویسه که در دسامبر 2014&nbsp; بود که من به شغلی که همیشه در آرزوش بودم رسیدم. اما بعد از مدتی وقتی که روی صندلی کارم نشسته بودم، فکر کردم که اگر قرار باشه برای 40 سال این کار رو انجام بدم چقدر وحشتناک خواهد بود. با خودم گفتم هرگز دلم نمی‌خواد که این شکلی بمیرم.</p><p dir="RTL">می‌دونستم که یه چیزی درست نیست. من تمام توصیه‌هایی که بهم شده بود رو اجرا کرده بودم: نمره‌های بالا گرفته بودم، مهارت رهبری رو تو خودم پرورش داده بودم، توصیه‌نامه‌های مختلف داشتم، کالج رو گذرونده بودم و حالا هم به شغل رویایی که انتظارش رو می‌کشیدم رسیده بودم. من یک برنده بودم و مسابقه رو تموم کرده بودم و وارد سرزمین رویاهام شده بودم. ولی بازم به نظرم می‌اومد که یه جای کار می‌لنگه.</p><p dir="RTL">در سال 2015 نقل قول وارن بافت به چشمم خورد. تصمیم گرفتم که من هم بخونم. انقدر بخونم و بخونم و بخونم تا در نهایت به جوابی برسم.</p><p  dir="RTL">شاید نتونسته باشم 500 صفحه رو در هر روز بخونم، ولی در دو سال گذشته بیش از 400 تا کتاب رو خوندم. و باید بهتون بگم که <strong>تصمیم به خواندن یکی از مهم‌ترین تصمیم‌های زندگی من بوده</strong>.<p></p></p ></font></span> text/html 2019-07-05T10:52:13+01:00 kiansight.mihanblog.com کیان اعظمی رابطه‌ی همبستگی و ضریب همبستگی http://kiansight.mihanblog.com/post/61 <span lang="AR-SA" dir="RTL" style="line-height: 160%; font-size: 16pt;font-family:Iranian Sans;mso-bidi-language:FA"><font face="Mihan-IransansLight" color="#2F4F4F"> <style>img { border-radius: 0%; max-width: 99%; max-height: 99%; margin-left: auto; margin-right: auto; vertical-align: middle; border: 0; display: block; }#d1 { background-color: #EBF5FB; position: relative; max-width: 100%; border: 1px solid #2E86C1; font-size: 13pt; text-align:left; direction: ltr; font-family:'Georgia'; padding-left:20px; padding-top:10px; padding-bottom:10px} p { padding-right: 3px;} </style> <img src="http://s8.picofile.com/file/8365679776/img_981601_stupid_correlation.png" style="max-width:85%;" alt=""><p dir="RTL" align="center"><strong>تعداد کسانی که از قایق ماهیگیری بیرون می‌افتند و غرق می‌شند </strong>دارای ضریب همبستگی <strong>0.95</strong> با <b>نرخ ازدواج</b><strong>&nbsp;در ایالت کنتاکی </strong>است.</p><p dir="RTL"><a href="https://brilliant.org/wiki/correlation/"><font color="#3333ff">همبستگی</font></a> مقدار ارتباط دو متغیر را با یکدیگر مشخص می‌کند. رابطه‌ی بین دو متغیر می‌تواند به صورت خطی یا غیر‌خطی یا به شکل‌های دیگر باشد.</p><p dir="RTL">این مقدار ارتباط می‌تواند به روش‌های مختلفی اندازه‌گیری شود که یکی از روش‌های رایج آن استفاده از <b>ضریب همبستگی پیرسون</b> Pearson’s correlation coefficient است. مقدار این ضریب عددی بین 1- و 1+ می‌شود. هر چقدر به 1+ نزدیک‌تر باشد به معنای این است که رابطه‌ی همبستگی مثبت بین دو متغیر وجود دارد. اگر به 1- نزدیک باشد به معنای این است که رابطه‌ی همبستگی منفی بین دو متغیر وجود دارد. و اگر نزدیک به 0 باشد به معنای این است که همبستگی بین آن دو متغیر وجود ندارد.</p><p dir="RTL">همبستگی مثبت:</p><p dir="RTL" style="padding-right:20px;">- افزایش دما همراه با افزایش فروش بستنی در فصل تابستان است</p><p dir="RTL" style="padding-right:20px;">- ورزش کردن همراه با افزایش بازدهی در درس خواندن است</p><p dir="RTL">همبستگی منفی:</p><p dir="RTL" style="padding-right:20px;">- افزایش استرس همراه با کاهش عملکرد در امتحان است</p><p dir="RTL" style="padding-right:20px;">- ورزش کردن زیاد همراه با کاهش بازدهی در درس خواندن است</p><p dir="RTL">زمانی می‌تونیم میزان همبستگی بین دو متغیر را محاسبه کنیم که از <a href="http://kiansight.mihanblog.com/post/52"><font color="#3333ff">چگونگی توزیع داده‌ها</font></a> اطلاع داشته باشیم.</p><p dir="RTL">یعنی از مقدار میانگین و انحراف معیار اطلاع داشته باشیم.</p><p dir="RTL">رابطه‌ی همبستگی را نباید با رابطه‌ی علیت اشتباه گرفت که باعث اشتباه‌های فاجعه‌بار می‌شود.</p><p dir="RTL">اگر تو اخبار جایی گفتند که خوردن صبحانه باعث کاهش وزن می‌‌شه باید متوجه شد که از همون اول کار دارند یه حرف اشتباهی رو می‌زنند. این تحقیقات معمولا بر اساس مشاهده و اندازه‌گیری هست و رابطه‌ی همبستگی را نشان می‌دهد و نه این که صبحانه خوردن علت کم شدن وزن است. در غیر این صورت کسی که صبحانه نمی‌خورد، از امروز به بعد با صبحانه خوردن باید لاغر شود.</p><p dir="RTL">به طور کلی &nbsp;در تفسیر رابطه همبستگی باید دقت زیادی به کار برده شود.</p><p dir="rlt"><a href="https://bit.ly/30cN6SQ"><font color="#3333ff">همیشه نمی‌توان از مطالعات آماری نظریات علمی استخراج کرد</font></a></p></font></span> text/html 2019-06-28T17:02:13+01:00 kiansight.mihanblog.com کیان اعظمی قوانین ترسناک جانته و توزیع دم نازک ثروت http://kiansight.mihanblog.com/post/60 <span lang="AR-SA" dir="RTL" style="line-height: 160%; font-size: 16pt;font-family:Iranian Sans;mso-bidi-language:FA"><font face="Mihan-IransansLight" color="#2F4F4F"> <style>img { border-radius: 0%; max-width: 99%; max-height: 99%; margin-left: auto; margin-right: auto; vertical-align: middle; border: 0; display: block; }#d1 { background-color: #EBF5FB; position: relative; max-width: 100%; border: 1px solid #2E86C1; font-size: 13pt; text-align:left; direction: ltr; font-family:'Georgia'; padding-left:20px; padding-top:10px; padding-bottom:10px} p { padding-right: 3px;} </style><p dir="RTL">در کتابی داستانی با نام انگلیسی <em>A Fugitive Crosses His Tracks</em> که در سال 1933 توسط اَکسل ساندموس Aksel Sandmose نوشته شده است مفهوم <strong>قوانین جانته </strong>معرفی شده است. جانته نام یکی از شخصیت‌های یک شهر خیالی در این داستان است. <a href="https://bigthink.com/cole-seidner/denmark-was-worlds-happiest-country-three-times-so-why"><font color="#3333ff">فلسفه ترسناک دانمارکی که در عمل باعث خوشحالی می‌شود</font></a></p><p dir="RTL">قوانین جانته، 10 قانون هستند که الگوی رایج رفتارهای گروهی نسبت به فرد را در کشورهای اسکاندیناوی مثل دانمارک و نروژ نشان می‌دهد.</p><p dir="RTL">این کتاب دلیل خوشحالی دانمارکی‌ها را اشتیاقشان برای متوسط بودن می‌داند.</p><p dir="RTL"><a href="https://qz.com/794740/the-happiness-of-the-danes-can-easily-be-explained-by-10-cultural-rules/"><font color="#3333ff">10 قانون جانته</font></a> چه هستند:</p><p dir="RTL" style="padding-right:20px;">1. نباید فکر کنی که خاص هستی</p><p dir="RTL" style="padding-right:20px;">2. نباید فکر کنی که به اندازه <strong>ما</strong> خوب هستی</p><p dir="RTL" style="padding-right:20px;">3. نباید فکر کنی که به اندازه <strong>ما </strong>باهوش هستی</p><p dir="RTL" style="padding-right:20px;">4. نباید خودت رو گول بزنی که بهتر از <strong>ما </strong>هستی</p><p dir="RTL" style="padding-right:20px;">5. نباید فکر کنی که بیشتر از <strong>ما </strong>می‌دونی</p><p dir="RTL" style="padding-right:20px;">6. نباید فکر کنی که از <strong>ما </strong>مهم‌تر هستی</p><p dir="RTL" style="padding-right:20px;">7. نباید فکر کنی که اصلا در چیزی خوب هستی</p><p dir="RTL" style="padding-right:20px;">8. نباید به <strong>ما</strong> بخندی</p><p dir="RTL" style="padding-right:20px;">9. نباید فکر کنی که کسی به تو اهمیت می‌ده</p><p dir="RTL" style="padding-right:20px;">10. نباید فکر کنی که می‌تونی به <strong>ما</strong> چیزی رو یاد بدی</p><p dir="RTL">همانطور که می‌بینید این قوانین اهمیتی برای فرد قائل نیست و این جمع هست که مهم است. همچنین کسی که معمولی نباشد، خارج از عرف باشد، جاه‌طلب باشد یا اینکه همرنگ جماعت نباشد مورد نکوهش قرار می‌گیرد و جز رفتارهای خلاف ارزش است.</p><p dir="RTL">در چنین جامعه‌ای احتمالا وجود مدرسه تیزهوشان، شاگرد اول بودن و بهترین بودن یک ضد ارزش است.</p><p dir="RTL">البته بحث این هست که افراد جوامعی مثل دانمارک یا نروژ به صورت ناخودآگاه از چنین قوانینی پیروی می‌کنند و اگر ازشون بپرسید خودشون هم نمی‌دونند که چنین فرضیاتی در پس ذهنشون وجود داره &nbsp;و حتی شاید با شما مخالفت کنند. البته نقدهای زیادی هم به قوانین جانته وجود دارد.</p><p dir="RTL">چنین فرضیاتی به طور زیادی می‌تونه روی پیشرفت و میزان خوشحالی مردم یک کشور تاثیرگذار باشه.</p><p dir="RTL">شما فرض کنید به مردم دو جامعه آمریکا و دانمارک یک کیک رو بدید.</p><p dir="RTL">در آمریکا کیک به 100 قسمت تقسیم می‌شه و 99 قسمت اون به اقلیت خاصی از جامعه داده می‌شه و 1 قسمت اون به باقی مردم تقسیم می‌شه. اکثریت، دائم در حال دویدن هستند و کار می‌کنند تا اینکه بتونند یک روزی وارد جامعه اقلیت سلبریتی‌ها و قهرمان‌ها و سیلیکون‌ولی‌ها و برندگان امریکن آیدل ها - و به طور کلی دنبال کردن فرهنگ American Dream - که 99 قسمت کیک در دستشون هست بشند.</p><p dir="RTL">برای همین در چنین جامعه‌ای نقش سلبریتی‌ها و قهرمان‌ها بسیار مهم می‌شه. چون اکثریت مردم جامعه تمام آرزوهای دست نیافته خودشون رو در وجود این سلبریتی‌ها می‌بیند.</p><p dir="RTL">البته به هر حال چنین دوندگی‌ها و کار و تلاش‌های مضاعف باعث نوآوری و تولید می‌شه و به این ترتیب کیک جدیدتر و خوش‌رنگ و بوتری هم تولید می‌شه. ولی باز هم نسبت تقسیم کیک 99 به 1 هست. یعنی یک <a href="http://kiansight.mihanblog.com/post/57"><font color="#3333ff">توزیع دم کلفت</font></a> در چنین جامعه‌ای حاکم است. اقلیت بسیار کوچکی منابع اکثریت را به تصاحب در می‌آورد.</p><p dir="RTL">حالا فرض کنید همون کیک رو به جامعه دانمارک بدیم. اون‌ها هم کیک رو به 100 قسمت تقسیم می‌کنند ولی با یک توزیع به نسبت برابری آن کیک بین افراد جامعه تقسیم می‌شه. این مردم با همکاری هم می‌تونند کیک دومی رو ایجاد کنند و با ایجاد کیک دوم دوباره به همه‌ی افراد جامعه به نسبت برابری کیک جدید تقسیم می‌شه. همه با هم ثروتمندتر می‌شند. در چنین جامعه‌ای می‌توان گفت توزیع دم نازک یا توزیع نرمال ثروت وجود داره.</p><p dir="RTL">اگر چه که به نظر می‌رسه جامعه‌ی دوم روی کاغذ زیباتر هست و عملکرد بهتری در بسیاری از شاخص‌ها مثل خوشحالی<strong> اکثریت افراد</strong> جامعه داره ولی در عمل در جایی که فرضیات حاکم بر مغز انسان‌های اون‌ خاص بودن و برتر بودن هست قابل پیاده‌سازی نیست. فنلاند، دانمارک، و نروژ به ترتیب رتبه 1 و 2 و 3 را در خوشحال‌ترین مردم جهان در سال 2019 <a href="https://countryeconomy.com/demography/world-happiness-index"><font color="#3333ff">طبق اینجا</font></a> به خودشون اختصاص دادند.</p><p dir="RTL">یعنی راحت نخواهد بود که یک جامعه سوشالِ موفق و خوشحال را در جایی به غیر از کشورهای اسکاندیناوی پیاده‌سازی کرد. اتفاقا پیاده‌سازی آن باعث ناراحتی و زجر می‌شه چون که کاملا با ارزش‌های ذهنی افراد در تقابل هست.</p><p dir="RTL">اعتقاد دارم قوانین جانته با تمام اشکالاتش جلوتر از زمان هستند و از ویژگی‌های ذهن‌های توسعه‌یافته‌تر هستند و احتمالا ذهن نسل‌های بعد از ما به چنین ارزش‌هایی تمایل پیدا می‌کنه.</p><p dir="RTL">به این خاطر که کسی می‌تونه کیک خودش رو راحت با دیگران تقسیم کنه که به محدودیت منابع اعتقاد نداشته باشه و از روی ترس نخواد منابع رو به انحصار خودش در بیاره که مبادا روزی بقاش به خطر بیفته. بلکه اتفاقا به <strong>بیکران </strong>بودن منابع اعتقاد داره و فرضش این هست که با همکاری و کمک به همدیگر و ایجاد سینرژی و خلاقیت می‌توان منابع و ثروت بیشتری را خلق کرد.</p></font></span> text/html 2019-06-21T11:56:54+01:00 kiansight.mihanblog.com کیان اعظمی برخی از معماران برجسته دهه چهل و پنجاه http://kiansight.mihanblog.com/post/59 <span lang="AR-SA" dir="RTL" style="line-height: 160%; font-size: 16pt;font-family:Iranian Sans;mso-bidi-language:FA"><font face="Mihan-IransansLight" color="#2F4F4F"> <style>img { border-radius: 0%; max-width: 99%; max-height: 99%; margin-left: auto; margin-right: auto; vertical-align: middle; border: 0; display: block; }#d1 { background-color: #EBF5FB; position: relative; max-width: 100%; border: 1px solid #2E86C1; font-size: 13pt; text-align:left; direction: ltr; font-family:'Georgia'; padding-left:20px; padding-top:10px; padding-bottom:10px} p { padding-right: 3px;} </style> <img src="http://s9.picofile.com/file/8364274442/img_981401_architects.jpg" style="max-width:63%;" alt=""><p dir="rtl">با دیدن <a href="https://www.asriran.com/fa/news/524973/%D9%BE%D8%B3%D8%AA-%D9%85%D8%AF%D8%B1%D9%86%DB%8C%D8%B3%D8%AA%E2%80%8C%D9%87%D8%A7-%D8%AF%D8%B1-%D8%AA%D9%87%D8%B1%D8%A7%D9%86-%DA%86%D9%87-%DA%A9%D8%B1%D8%AF%D9%86%D8%AF-%D9%81%DB%8C%D9%84%D9%85"><font color="#3333ff">این ویدئو</font></a> از سایت عصر ایران سوالی که برام پیش اومده این هست که چه اتفاقی می‌افتد که گروهی می‌‌آید و در مدت زمانی کوتاه چنین می‌درخشد و سپس دورانشان تمام می‌شود؟</p><div align="center"><video style="max-width:100%;" width="320" height="240" controls="">&nbsp; &nbsp; <source src="https://as2.cdn.asset.aparat.com/aparat-video/867c453a3d56480e58d17c7cfc1c84676538388-720p__68495.mp4" type="video/mp4"></video></div><p dir="RTL">هنرمندان حال حاضر رو نمی‌دونم ولی فکر می‌کنم اگر هم کارهایی در این سطح انجام داده باشند بیشتر از تلاش و علاقه خودشون هست تا اینکه پرورش یافته از یک سیستم فکری باشند که چنین هنرمندانی را خلق کند.</p><p dir="RTL">این گروه‌ها نه ربطی به قبل و نه ربطی به بعد از خودشون دارند.</p><p dir="RTL"><strong>اوژن آفتاندلیانس</strong></p><p dir="RTL" style="padding-right:20px">تالار رودکی یا تالار وحدت که هنوز هم مجهزترین تالار اجرای اوپرا، موسیقی و تئاتر در ایران است.</p><p dir="RTL"><strong>علی سردار افخمی</strong></p><p dir="RTL" style="padding-right:20px">ساختمان تئاتر شهر</p><p dir="RTL"><strong>هوشنگ سیحون</strong></p><p dir="RTL" style="padding-right:20px"><a href="https://www.asriran.com/fa/news/670078/%D8%A8%D9%87-%DB%8C%D8%A7%D8%AF-%D9%87%D9%88%D8%B4%D9%86%DA%AF-%D8%B3%DB%8C%D8%AD%D9%88%D9%86-%D8%AF%D8%B1-%D9%BE%D9%86%D8%AC%D9%85%DB%8C%D9%86-%D8%B3%D8%A7%D9%84%D9%85%D8%B1%DA%AF-%D8%A7%D9%88-%D9%81%DB%8C%D9%84%D9%85"><font color="#3333ff">ویدئو زیر</font></a> به مناسبت پنجمین سالمرگ هوشنگ سیحون در سایت عصر ایران قرار گرفته است.</p><div align="center"><video style="max-width:100%;" width="320" height="240" controls="">&nbsp; &nbsp; <source src="https://cdn.asriran.com/files/fa/news/1398/3/5/973576_584.mp4" type="video/mp4"></video></div><p dir="RTL"><strong>کورش فرزامی</strong></p><p dir="RTL" style="padding-right:20px">سردر دانشگاه تهران که یادآور بالهای گشوده‌ی دو پرنده‌ای است که برای اوج گرفتن برخاسته‌اند.</p><p dir="RTL"><strong>کامران دیبا</strong></p><p dir="RTL" style="padding-right:20px">موزه هنرهای معاصر</p><p dir="RTL"><strong>حسین امانت</strong></p><p dir="RTL" style="padding-right:20px">برج آزادی تهران، دانشگاه صنعتی شریف وساختمان سازمان میراث فرهنگی، صنایع دستی و گردشگری</p><p dir="RTL">به نظر نمیاد ظهور چنین افرادی در یک دوره کوتاه اتفاقی باشد.</p></font></span> text/html 2019-06-14T07:54:13+01:00 kiansight.mihanblog.com کیان اعظمی توزیع دم کلفت http://kiansight.mihanblog.com/post/57 <span lang="AR-SA" dir="RTL" style="line-height: 160%; font-size: 16pt;font-family:Iranian Sans;mso-bidi-language:FA"><font face="Mihan-IransansLight" color="#2F4F4F"> <style>img { border-radius: 0%; max-width: 99%; max-height: 99%; margin-left: auto; margin-right: auto; vertical-align: middle; border: 0; display: block; }#d1 { background-color: #EBF5FB; position: relative; max-width: 100%; border: 1px solid #2E86C1; font-size: 13pt; text-align:left; direction: ltr; font-family:'Georgia'; padding-left:20px; padding-top:10px; padding-bottom:10px} p { padding-right: 3px;} </style> <a href="https://jurassicworld-evolution.fandom.com/wiki/Brachiosaurus"> <img src="http://s5.picofile.com/file/8363511734/img_981300_long_neck_thick_tail.jpg" style="max-width:50%;" alt=""></a><p dir="RTL">توزیع دم کلفت درباره وقوع رویدادهای با احتمال کم نیست، بلکه درباره <strong>سهم رویدادهای</strong> با فاصله زیاد از مرکز توزیع، در خصوصیت کل جمعیت است.</p><p dir="RTL">نسیم طالب در بسیاری از بحث‌های خودش از Fat Tail یا توزیع دم کلفت صحبت می‌کنه و این بحث رو هم از توضیحات خودش در <a href="https://www.youtube.com/watch?v=s45E8_jkyJc"><font color="#3333ff">اینجا</font></a> گرفتم.</p><p dir="RTL">در تصویر زیر می‌تونید به قسمت دُم دو نمودار توزیع نرمال نگاه کنید.</p> <img src="http://s3.picofile.com/file/8363510492/img_981301_fat_tail.png" style="max-width:99%;" alt=""><p dir="RTL">اما کلفت بودن دم نمودار نارنجی به خاطر اختلاف در عدد انحراف معیار است و ربطی به <strong>توزیع دم کلفت</strong> ندارد.</p><p dir="RTL">توزیع دم کلفت واقعی زمانی است که نمودار سومی را اضافه کنیم که با انحراف معیار و میانگین برابر، گردنی درازتر و دمی کلفت‌تر از توزیع نرمال داشته باشد.</p></font></span> text/html 2019-06-07T04:45:13+01:00 kiansight.mihanblog.com کیان اعظمی گانت چارت و مونت کارلو http://kiansight.mihanblog.com/post/56 <span lang="AR-SA" dir="RTL" style="line-height: 160%; font-size: 16pt;font-family:Iranian Sans;mso-bidi-language:FA"><font face="Mihan-IransansLight" color="#2F4F4F"> <style>img { border-radius: 0%; max-width: 99%; max-height: 99%; margin-left: auto; margin-right: auto; vertical-align: middle; border: 0; display: block; }#d1 { background-color: #EBF5FB; position: relative; max-width: 100%; border: 1px solid #2E86C1; font-size: 13pt; text-align:left; direction: ltr; font-family:'Georgia'; padding-left:20px; padding-top:10px; padding-bottom:10px} p { padding-right: 3px;} </style><p dir="RTL">یکی از نمودارهای کاربردی برای زمان‌بندی پروژه‌ها گانت چارت هست.</p><p dir="RTL">یک پروژه را می‌توان به فعالیت‌های کوچک‌تری تقسیم‌بندی کرد و زمان لازم برای انجام هر فعالیت را تخمین زد و در نهایت زمان لازم برای اتمام پروژه را تخمین زد.</p><p dir="RTL">توضیح مفصل‌تر در مورد <a href="https://motamem.org/%DA%AF%D8%A7%D9%86%D8%AA-%DA%86%D8%A7%D8%B1%D8%AA-%DA%86%DB%8C%D8%B3%D8%AA-%D9%85%D8%AF%DB%8C%D8%B1%DB%8C%D8%AA-%D9%BE%D8%B1%D9%88%DA%98%D9%87/"><font color="#3333ff">گانت چارت</font></a> رو می‌تونید در سایت متمم در سری درس‌های مدیریت پروژه‌های کوچک ببینید.</p><p dir="RTL">در <a href="http://kiansight.mihanblog.com/post/55"><font color="#3333ff">مطلب قبلی</font></a> که در مورد شبیه‌سازی مونت کارلو بود، <a href="http://alirasooli.com/"><font color="#3333ff">علی رسولی</font></a> عزیز، کامنتی رو گذاشت و در مورد استفاده از مونت کارلو در گانت چارت و رسم نمودار زنگوله‌ای برای تخمین زمان لازم برای اجرای پروژه توضیح داد. به نظرم موضوع جالبی اومد و برای همین تصمیم گرفتم راجع بهش بنویسم.</p><p dir="RTL">در این بحث ابتدا در مورد چگونگی ایجاد گانت چارت در اکسل و سپس در مورد چگونگی استفاده از مونت کارلو در گانت چارت توضیح داده می‌شود.</p><p dir="RTL">برای چگونگی ایجاد گانت چارت در اکسل از&nbsp; <a href="https://www.officetimeline.com/make-gantt-chart/excel#template-colection"><font color="#3333ff">این سایت</font></a> استفاده شده است.</p></font></span> text/html 2019-05-31T03:15:13+01:00 kiansight.mihanblog.com کیان اعظمی شبیه‌سازی مونت کارلو http://kiansight.mihanblog.com/post/55 <br><span lang="AR-SA" dir="RTL" style="line-height: 160%; font-size: 16pt;font-family:Iranian Sans;mso-bidi-language:FA"><font face="Mihan-IransansLight" color="#2F4F4F"><style>img { border-radius: 0%; max-width: 99%; max-height: 99%; margin-left: auto; margin-right: auto; vertical-align: middle; border: 0; display: block; }#d1 { background-color: #EBF5FB; position: relative; max-width: 100%; border: 1px solid #2E86C1; font-size: 13pt; text-align:left; direction: ltr; font-family:'Georgia'; padding-left:20px; padding-top:10px; padding-bottom:10px} p { padding-right: 3px;} </style> <img src="http://s9.picofile.com/file/8362095826/Monte_Carlo.jpg" style="max-width:70%;" alt=""><p dir="RTL">سناریوهایی وجود دارند که به خاطر وجود عدم قطعیت در ورودی‌های آن‌ها می‌توانند خروجی‌های متفاوتی داشته باشند.</p><p dir="RTL">یک سرمایه‌گذاری مالی می‌تواند تابع عوامل زیادی باشد که همگی بر روی نتیجه نهایی سرمایه‌گذاری تاثیر می‌گذارند.</p><p dir="RTL">برای مثال کسی که کارخانه‌ای تولیدی را می‌خواهد تاسیس کند می‌تواند تخمینی از هزینه‌ها داشته باشد. با این حال به خاطر عدم قطعیتی که در بسیاری از عوامل مثل قیمت <strong>مواد اولیه</strong>، <strong>انرژی، حمل و نقل، نیروی انسانی، ساخت و ساز، تعمیرات، </strong>و<strong> خط تولید</strong> وجود دارد میزان برآورد هزینه می‌تواند بسیار متفاوت باشد.</p><p dir="RTL">اگر سناریویی برای تخمین هزینه‌ی کارخانه بر اساس عوامل ذکر شده تعریف کنیم و میزان تاثیرگذاری عوامل را به صورت تصادفی انتخاب کنیم و هزینه‌ی تاسیس کارخانه را برای تعداد دفعات زیادی با مقادیر تصادفی محاسبه کنیم شبیه‌سازی مونت کارلو انجام داده‌ایم.</p><p dir="RTL">برای مثال در شبیه‌سازی مونت کارلو می‌توانیم بگوییم <strong>قیمت مواد اولیه</strong> به ازای هر واحد می‌تواند بین 10,000 تومان تا 100,000 تومان تغییر کند. و <strong>قیمت انرژی</strong> بین 1 میلیون تومان تا 10 میلیون تومان برای هر ماه می‌تواند تغییر کند. برای عوامل دیگر هم بازه‌ای را تعیین می‌‌کنیم.</p><p dir="RTL">سپس برای برآورد هزینه‌ی نهایی مقدار این عوامل را به صورت<strong> تصادفی</strong> انتخاب می‌کنیم.</p><p dir="RTL">برای مثال با انتخاب تصادفی، <strong>قیمت انرژی</strong> برای هر ماه 3 میلیون تومان شده است. <strong>قیمت</strong> <strong>مواد اولیه</strong> به ازای هر واحد 60,000 تومان شده است. یا <strong>هزینه نیروی انسانی</strong> به ازای هر ساعت برای هر نفر 40,000 تومان شده است. و به همین ترتیب مقدار هزینه‌ی عوامل دیگر به طور تصادفی انتخاب شده است.</p><p dir="RTL">ما فقط بازه‌ها را انتخاب کرده‌ایم و عددها به صورت تصادفی از بازه‌ها انتخاب شده‌اند. با چنین مقادیری می‌توان هزینه‌ی نهایی را محاسبه کرد.</p><p dir="RTL">حال اگر چنین کاری را برای تعداد دفعات زیادی مثلا 1000 مرتبه یا 1,000,000 مرتبه تکرار کنیم و از خروجی برآیند بگیریم شبیه‌سازی مونت کارلو را انجام داده‌ایم.</p><p dir="RTL">چنین بررسی می‌تواند ایده‌ی خوبی نسبت به خروجی یک مساله با عدم قطعیت بالا مثل سرمایه‌گذاری برای تاسیس یک کارخانه را به ما بدهد و به این ترتیب می‌توانیم برآوردی از هزینه داشته باشیم.</p><p>نام شبیه‌سازی مونتِ کارلو به خاطر شبیه‌سازی‌هایی که در سال‌های 1930 تا 1940 برای محاسبه احتمال انجام شدن واکنش‌های زنجیره‌ای برای شکافت هسته‌ای و ساخت بمب اتم انجام می‌شدند گذاشته شده است. فیزیکدان‌هایی که این شبیه‌سازی‌ها را انجام می‌دادند نام آن‌ها را مونت کارلو می‌گذاشتند که بر اساس نام کازینوی مونت کارلو در کشور موناکو است.</p></font></span> text/html 2019-05-24T08:03:06+01:00 kiansight.mihanblog.com کیان اعظمی مشت می‌تواند نمونه خروار باشد http://kiansight.mihanblog.com/post/54 <span lang="AR-SA" dir="RTL" style="line-height: 160%; font-size: 16pt;font-family:Iranian Sans;mso-bidi-language:FA"><font face="Mihan-IransansLight" color="#2F4F4F"> <style>img { border-radius: 0%; max-width: 99%; max-height: 99%; margin-left: auto; margin-right: auto; vertical-align: middle; border: 0; display: block; }#d1 { background-color: #EBF5FB; position: relative; max-width: 100%; border: 1px solid #2E86C1; font-size: 13pt; text-align:left; direction: ltr; font-family:'Georgia'; padding-left:20px; padding-top:10px; padding-bottom:10px} p { padding-right: 3px;} </style> <img src="http://s8.picofile.com/file/8361473742/img_981000_6_steps.jpg" style="max-width:99%;" alt=""><p dir="RTL">در بحث قبلی در مورد گام برداشتن تصادفی صحبت شد. این مطلب هم در همان زمینه هست.</p><p dir="RTL">در اینجا نشان داده می‌شود که اصلا چرا باید از روش‌های آماری و تصادفی برای بررسی استفاده شود.</p><p dir="RTL">در گام برداشتن تصادفی از یک نقطه شروع به قدم زدن می‌کنیم. هر قدم می‌تواند به سمت بالا، پایین، راست یا چپ باشد. پس برای هر قدم 4 حالت ممکن است.</p><p dir="RTL">اگر 30 قدم برداریم و چون در هر قدم 4 حالت ممکن است، تعداد کل حالت‌های ممکن برای 30 قدم برابر می‌شود با:</p><p dir="ltr" align="center">4<sup>30</sup> = 1,152,921,504,606,850,000</p><p dir="RTL">که برابر با <a color="blue" href="https://www.wikiwand.com/fa/%D9%86%D8%A7%D9%85_%D8%A7%D8%B9%D8%AF%D8%A7%D8%AF_%D8%A8%D8%B2%D8%B1%DA%AF"><font color="#3333ff">یک کوینتیلیون و صد و پنجاه و دو کوآدریلیون و نهصد و بیست و یک تریلیون و پانصد و چهار بیلیون و ششصد و شش میلیون و هشتصد و پنجاه هزار</font></a> حالت می‌شود.</p><p dir="RTL">یعنی اگر بخواهیم حتی یک گام برداشتن ساده 4 حالتی برای 30 قدم رو بررسی کنیم با یک عدد بسیار بسیار بزرگ سر و کار خواهیم داشت.</p><p dir="RTL">پس به ناچار باید به شکلی تعداد محاسبات را کم کنیم. در واقع باید یک نمونه‌ای از کل حالت‌های ممکن را انتخاب کنیم تا تخمینی از کل جمعیت بزنیم.</p><p dir="RTL">باید از روش مشت نمونه خروار است استفاده کنیم.</p><p dir="RTL">در این بحث مقایسه‌‌ای بین دو حالت <strong>جمعیت کل</strong> و <strong>نمونه‌ای از جمعیت</strong> نشان داده شده است.</p><p dir="RTL">به طور کلی، یکی از سوال‌های اساسی این است که یک نمونه چقدر باید بزرگ باشد که بتواند نماینده کل جمعیت باشد؟ مثلا اگر در یک کارخانه روزی 1000 قطعه تولید شود، چند قطعه باید تست شوند تا کیفیت کل قطعات رو تضمین کنند.</p></font></span> text/html 2019-05-17T00:43:13+01:00 kiansight.mihanblog.com کیان اعظمی گام برداشتن به طور تصادفی http://kiansight.mihanblog.com/post/53 <span lang="AR-SA" dir="RTL" style="line-height: 160%; font-size: 16pt;font-family:Iranian Sans;mso-bidi-language:FA"><font face="Mihan-IransansLight" color="#2F4F4F"> <style>img { border-radius: 0%; max-width: 99%; max-height: 99%; margin-left: auto; margin-right: auto; vertical-align: middle; border: 0; display: block; } p { padding-right: 3px;} </style><p dir="RTL">اگر سکه‌ای را یک بار پرتاب کنید دو حالت به وجود می‌آید. یا به پشت بر زمین می‌افتد یا به رو بر زمین می‌افتد. گفته می‌شود که احتمال پشت آمدن یا رو آمدن سکه 50 درصد است.</p><p dir="RTL">اما آیا این به این معناست که اگر سکه را برای 10 بار به زمین پرتاب کنید باید 5 بار رو بیاید و 5 بار پشت بیاید؟</p><p dir="RTL">خیر چنین چیزی درست نیست. شما نمی‌توانید با علم بر اینکه احتمال پشت یا رو آمدن سکه 50 درصد است بگویید بعد از 10 بار پرتاب سکه، 5 بار سکه به پشت می‌افتد.</p><p dir="RTL">اما اگر بازی پرتاب سکه را به <strong>دفعات زیادی</strong> تکرار کنید می‌توانید ببینید که در مجموع تعداد پشت آمدن‌ها یا رو آمدن‌ها نسبت به تعداد کل بازی‌ها به مقدار مورد انتظار که 50 درصد است <strong>نزدیک</strong> می‌شود.</p><p dir="RTL">یعنی شاید اگر 1000 بار پرتاب سکه را انجام بدید، حدودا نیمی از پرتاب‌ها به پشت یا به رو است.</p><p dir="RTL">تعداد <strong>دفعات زیاد</strong> حرف مبهمی است. یعنی ما نمی‌دونیم چقدر زیاد ولی اگر تعداد بازی‌ها به اندازه کافی زیاد باشد، <strong>حدودا </strong>و نه دقیقا در نیمی از پرتا‌ب‌ها سکه به پشت می‌افتد. چون فرض کنید که 10000 بار سکه‌ای را پرتاب می‌کنیم. عجیب خواهد بود که دقیقا 5000 بار سکه‌ها به پشت و 5000 بار سکه‌ها به رو بیفتند.</p><p dir="RTL">با این مقدمه در این مطلب درباره گام زدن تصادفی صحبت شده است. شخصی را در نظر بگیرید که می‌خواهد به صورت تصادفی 30 قدم بزند.</p><p dir="RTL">هر قدم می‌تواند به سمت شمال (بالا)، جنوب (پایین)، شرق (راست) و غرب (چپ) باشد. شخص در هر قدم به طور تصادفی یکی از چهار جهت را انتخاب می‌کند و حرکت می‌کند. احتمال انتخاب هر کدام از جهت‌ها یک چهارم یا 25 درصد است.</p><p dir="RTL">پس از 30 قدم شخص به نقطه‌ای می‌رسد که می‌خواهیم فاصله‌ی آن را با نقطه‌ی شروع حرکت محاسبه کنیم.</p><p dir="RTL">فاصله‌ی شخص تا نقطه‌ی شروع هر عددی می‌تواند باشد.</p><p dir="RTL">برای مثال در تصویر پایین نقطه‌ی شروع نقطه‌ S و نقطه‌ی پایان نقطه F است و در نهایت شخص از نقطه شروع 10 قدم فاصله خواهد داشت.</p> <img src="http://s9.picofile.com/file/8360646518/img_980901_Random_Walk_1.gif" style="max-width:99%;" alt="Random_Walk"></font></span> text/html 2019-05-10T07:53:13+01:00 kiansight.mihanblog.com کیان اعظمی 3 روش برای بررسی پراکندگی داده‌های عددی http://kiansight.mihanblog.com/post/52 <style> p { padding-right: 3px;} </style><span lang="AR-SA" dir="RTL" style="line-height: 150%; font-size: 18pt;font-family:Iranian Sans;mso-bidi-language:FA"><font face="B Roya, Calibri" color="#2F4F4F"> <p dir="RTL">یکی از روش‌ها برای به دست آوردن اطلاعات از داده‌ها مشاهده چگونگی توزیع آن‌هاست.</p><p dir="RTL">از نمودارها و روش‌های مختلفی برای مشاهده چگونگی توزیع داده‌ها استفاده می‌شود. از نمودار هیستوگرام برای مشاهده‌ی توزیع فراوانی داده‌ها در بازه‌های مختلف استفاده می‌شود.</p><p dir="RTL">از نمودار جعبه‌ای برای مشاهده توزیع داده‌ها با استفاده از میانه‌، چارک‌ها، و مقدار کمینه و بیشینه استفاده می‌شود.</p><p dir="RTL">همچنین با استفاده از میانگین، واریانس و انحراف معیار نیز می‌توان به چگونگی توزیع داده‌ها پی‌برد.</p><p dir="RTL">هر کدام از این‌ها از جنبه‌ا‌ی خاص به داده‌های عددی نگاه می‌کنند و اطلاعتی را از آن‌ها استخراج می‌کنند.</p><p dir="RTL">به طور کلی داده‌های عددی از داده‌های غیر عددی ارزش بالاتری دارند به این خاطر که می‌توان روی آن‌ها محاسبات زیادی را انجام داد. هیچ‌کدام از روش‌های بالا را نمی‌توان به طور مستقیم روی داده‌های غیرعددی اعمال کرد.</p><p dir="RTL">در این مطلب به طور مختصر درباه این روش‌ها توضیح داده می‌شود.</p></font></span> text/html 2019-05-02T21:57:13+01:00 kiansight.mihanblog.com کیان اعظمی الگوریتمی برای مرتب‌سازی لیست عددها http://kiansight.mihanblog.com/post/51 <meta charset="utf-8"><meta http-equiv="Content-Type" content="text html"><meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1, maximum-scale=1.0"><link type="text/css" rel="stylesheet" href="http://s8.picofile.com/d/8359231842/53d6ac14-1df4-4acc-a0ad-725a4b58c9fa/9807_InsertionSort-css"><title>الگوریتم‌های مرتب‌سازی داده‌ها</title><style>img { border-radius: 0%; max-width: 99%; max-height: 99%; margin-left: auto; margin-right: auto; vertical-align: middle; border: 0; display: block;tr:nth-child(even) {  background-color: white;}tr:nth-child(odd) { background-color: lightblue;}}#d_code {  /* Just so it's visible */}#t1 { font-size: 16px; margin-right: auto; margin-top: 5px; margin-bottom: 5px; direction: ltr;}#data1 { direction: ltr; text-align: left; width: 50%; vertical-align: middle; color: black; padding-left: 5px; font-size: 13px;}#data2 { direction: rtl; text-align: right; color: green; font-size: 13px;}  ".MathJax_Display": {    "text-align": "center",    margin:       "1em 0em"  },  ".MathJax .merror": {    "background-color": "#FFFF88",    color:   "#CC0000",    border:  "1px solid #CC0000",    padding: "1px 3px",    "font-style": "normal",    "font-size":  "90%"  }</style><span lang="AR-SA" dir="RTL" style="line-height: 160%; font-size: 16pt;font-family:Iranian Sans;mso-bidi-language:FA"><font face="Mihan-IransansLight"> <p dir="RTL">یکی از اولین کارها پس از ذخیره‌سازی داده‌ها چه از طریق مشاهده، چه از طریق اندازه‌گیری <a id="links" href="https://excelpedia.net/sort/">مرتب کردن</a> آن‌هاست.</p><p dir="RTL">این کار برای بررسی خصوصیات موجود در داده‌ها و همچنین رسم نمودار آن‌ها مفید است.</p><p dir="RTL">با مرتب کردن داده‌ها می‌توان ارزش آن‌ها را بالا برد.</p><p dir="RTL">فرض کنید بخواهیم 1 عدد را در یک لیست 10 تایی نامرتب پیدا کنیم. اولین راهی که به ذهن هر کسی می‌رسه مقایسه آن عدد با تک تک عددهای موجود در لیست و پیدا کردن عدد مورد نظر است.</p><p dir="RTL">در بهترین حالت عدد مورد مقایسه اولین عدد است و در بدترین حالت عدد مورد نظر در لیست وجود ندارد و تعداد گشتن‌ها به اندازه تعداد موجود در لیست می‌شود. پس در یک لیست با 10 عضو حداکثر به 10 مقایسه برای جستجو نیاز داریم.</p> <img src="http://s9.picofile.com/file/8359229376/img_980701_Search_Unsorted_List.gif" style="max-width:99%;" alt=""><p dir="RTL">اما همین لیست را اگر مرتب کنیم می‌توانیم الگوریتم‌های دیگری برای جستجو را پیاده‌سازی کنیم. برای مثال در یک لیست مرتب می‌توان ابتدا عدد وسط لیست را چک کرد. اگر عدد برابر با عدد وسط بود که جستجو پایان یافته است. اگر نه چک می‌کنیم که آن عدد از عدد وسط بزرگ‌تر است یا کوچک‌تر است. اگر کوچک‌تر باشد می‌توانیم نصف بالای لیست را حذف کنیم و اگر بزرگ‌تر باشد می‌توانیم نصف پایین لیست را حذف کنیم و دوباره مقدار آن عدد را با مقدار وسط لیست مقایسه می‌کنیم. چنین جستجویی، جستجوی باینری نامیده می‌شود که نیازمند یک <strong>لیست مرتب </strong>است.</p><p dir="RTL">برای جستجو در یک لیستی با 10 عضو حداکثر به 4 مقایسه نیاز داریم.</p> <img src="http://s9.picofile.com/file/8359229418/img_980702_Binary_Search_Sorted_List.gif" style="max-width:99%;" alt=""><p dir="RTL">پس می‌‌شه دید که سرعت پیدا کردن عدد در لیستی مرتب بالاتر از لیستی نامرتب است.</p><p dir="RTL">در یک لیست 10 تایی این موضوع اصلا اهمیتی ندارد.</p><p dir="RTL">اما در لیستی با 100,000 داده‌ی مختلف پیدا کردن آخرین عدد لیست در حالت نامرتب نیاز به 100,000 مقایسه دارد در حالی که در یک لیست مرتب در بدترین حالت به 17 مقایسه احتیاج دارید. و این اختلاف با بالا رفتن تعداد عضوهای لیست به مراتب بیشتر می‌شود.</p><p dir="ltr" align="center">2^17 = 131,072 &gt; 100,000</p><p dir="RTL">پس مرتب کردن داده‌ها را می‌توان نوعی از بهینه‌سازی در انجام محاسبات نیز در نظر گرفت.</p><p dir="RTL">حالا که می‌دانیم چرا مرتب کردن داده‌ها مهم است می‌توانیم راجع به روش‌های مختلف مرتب کردن داده‌ها صحبت کنیم.</p><p dir="RTL">الگوریتم‌های مختلفی برای مرتب کردن وجود دارند که هر کدام بسته به شرایط مساله می‌‌توانند بهتر یا بدتر باشند. مهم‌ترین پارامتر در انتخاب الگوریتم مناسب اندازه آرایه یا لیستی هست که می‌خواهیم مرتب کنیم.</p><p dir="RTL">یکی از الگوریتم‌های موجود برای مرتب کردن الگوریتم مرتب‌ساز دَرجی (وارد کردنی) <a id="links" href="https://brilliant.org/wiki/insertion/">Insertion Sort</a> است. چون که با وارد کردن هر عضو لیست نامرتب به لیست دیگر و مقایسه‌ی آن با عضو‌های دیگر مرتب‌سازی را انجام می‌دهیم.</p><p dir="RTL">مراحل این الگوریتم به صورت زیر است:</p><p dir="RTL" style="padding-right:10px;"><strong>1. </strong>اولین عضو لیست نامرتب را وارد اولین خانه لیست جدید می‌کنیم. لیست جدید مرتب شده است چون که تنها دارای یک عضو است.</p><p dir="RTL" style="padding-right:10px;"><strong>2. </strong>عضو بعدی لیست نامرتب را وارد خانه‌ی بعدی لیست جدید می‌‌کنیم. مقدار وارد شده‌ی جدید را با مقدار قبلی مقایسه می‌کنیم. 3 حالت ممکن است به وجود بیاید:</p><p dir="RTL"  ="" style="padding-right:20px;">- مقدار دیگری وجود ندارد که بخواهیم مقدار وارد شده را با آن مقایسه کنیم. پس این به این معناست که این مقدار کوچک‌ترین مقدار است که در ابتدای لیست قرار گرفته است.</p><p dir="RTL"  ="" style="padding-right:20px;">- <strong>بزرگ‌تر</strong> یا <strong>مساوی</strong> با مقدار قبلی است و این به این معناست که در جای درستی قرار گرفته است. چون خودش بزرگ‌ترین مقدار است و مقدارهای کوچک‌تر قبل از آن قرار گرفته‌اند.</p><p dir="RTL" style="padding-right:20px;">- <strong>کوچک‌‌تر</strong> از مقدار قبلی است پس باید جای خودش را با عضو قبلی عوض کند.</p><p dir="RTL" style="padding-right:10px;"><strong>3. </strong>مرحله‌ی 2 را آن‌قدر تکرار می‌کنیم تا لیست مرتب شود.</p><p dir="RTL">این الگوریتم به شکل زیر عمل می‌کند:</p> <img src="http://s8.picofile.com/file/8359229426/img_980703_Insertion_Sort.gif" style="max-width:99%;" alt=""><p dir="RTL">اگر بخواهیم کدی در اکسل بنویسیم تا این الگوریتم را روی یک لیست اعمال کند می‌توانیم کد زیر را بنویسیم.</p><p dir="RTL">کد زیر تابعی را ایجاد می‌کند که اگر آرایه‌ای به صورت ورودی به این تابع بدهیم، آرایه‌ی مرتب شده را بر می‌گرداند.</p></font></span><p dir="RTL" align="center">کد تابع insertion sort</p> <div id="d_code" style="overflow-x:auto;"> <table id="t1"> <tbody><tr><td id="data1">Function InsertionSort(rng As Range) As Variant</td><td id="data2">1 تابعی را تعریف می‌کنیم که یک لیست نامرتب را به عنوان ورودی دریافت می‌کند و لیست مرتب را باز می‌گرداند</td></tr> <tr><td id="data1">&nbsp;&nbsp; Dim i As Integer</td> <td id="data2">2</td></tr> <tr><td id="data1">&nbsp;&nbsp; Dim A() As Variant</td><td id="data2">3</td></tr> <tr><td id="data1">&nbsp;&nbsp; nr = rng.Rows.Count</td><td id="data2">4 تعداد سطرهای لیست ورودی به متغیر nr نسبت داده می‌شود</td></tr> <tr><td id="data1">&nbsp;&nbsp; nc = rng.Columns.Count</td><td id="data2">5</td></tr> <tr><td id="data1">&nbsp;&nbsp; ReDim A(nr) As Variant</td><td id="data2">6</td></tr> <tr><td id="data1">&nbsp;&nbsp; For i = LBound(A) To UBound(A)</td><td id="data2">7 داده‌‌های موجود در لیست ورودی (نامرتب) را به آرایه‌ی A وارد می‌کنیم</td></tr> <tr><td id="data1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A(i) = rng(i)</td><td id="data2">8</td></tr> <tr><td id="data1">&nbsp;&nbsp; Next i</td><td id="data2">9</td></tr> <tr><td id="data1">&nbsp;&nbsp; For int1 = 1 To UBound(A)</td><td id="data2">10 حلقه‌ی تکرار for اول برای چک کردن داده‌های موجود در آرایه A</td></tr> <tr><td id="data1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; varTemp = A(int1)</td><td id="data2">11 تعریف متغیر کمکی varTemp</td></tr> <tr><td id="data1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; For int2 = int1 To 1 Step -1</td><td id="data2">12 حلقه‌ی تکرار for دوم برای مقایسه داده وارد شده با داده‌های قبلی</td></tr> <tr><td id="data1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If varTemp &lt; A(int2) Then</td><td id="data2">13</td></tr> <tr><td id="data1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A(int2 + 1) = A(int2)</td><td id="data2">14</td></tr> <tr><td id="data1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A(int2) = varTemp</td><td id="data2">15</td></tr> <tr><td id="data1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; End If</td><td id="data2">16</td></tr> <tr><td id="data1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Next int2</td><td id="data2">17</td></tr> <tr><td id="data1">&nbsp;&nbsp; Next int1</td><td id="data2">18</td></tr> <tr><td id="data1">&nbsp;&nbsp;InsertionSort = WorksheetFunction.Transpose(A)</td><td id="data2">19 برگرداندن لیست مرتب شده توسط تابع</td></tr> <tr><td id="data1">End Function</td><td id="data2">20</td></tr> <tr><td align="middle">***</td><td id="data2" color="red">*برای کپی کردن یک ستون کافی است کل جدول را در اکسل به صورت متن ساده کپی کنید و سپس ستون مورد نظر را کپی کنید. در Mozila با نگه داشتن دکمه کنترل می‌توان یک ستون را کپی کرد. </td></tr> </tbody></table> </div> <span lang="AR-SA" dir="RTL" style="line-height: 160%; font-size: 16pt;font-family:Iranian Sans;mso-bidi-language:FA"><font face="Mihan-IransansLight"> <p dir="RTL">در هنگام استفاده از <a id="links" href="http://kiansight.mihanblog.com/post/43">توابع آرایه‌ای</a> لازم است که پس از نوشتن فرمول به جای کلید Enter از ترکیب Ctrl + Shift + Enter استفاده شود.</p><p dir="RTL">بدترین حالت عملکرد چنین الگوریتمی زمانی رخ می‌دهد که لیست ورودی به صورت معکوس مرتب شده باشد.</p><p dir="RTL">در چنین حالتی هر عدد باید با تمام اعداد قبل از خودش در لیست مقایسه شود و جای خودش را با آن عوض کند.</p> <img src="http://s8.picofile.com/file/8359229442/img_980704_Insertion_Sort_Worst_Case.gif" style="max-width:99%;" alt=""><p dir="RTL">مثلا عدد سوم لیست باید با دو عدد قبلی خود مقایسه و چون از آن‌ها کوچک‌تر است باید جایش را با آن‌ها عوض کند. عدد دهم لیست باید با نه عدد قبل از خود مقایسه شود و عدد n ام لیست باید با n-1 عدد قبل از خودش مقایسه شود. عدد اول هم نیاز به مقایسه ندارد.</p><p dir="RTL">پس در بدترین حالت:</p><p dir="RTL">برای عدد اول نَه به مقایسه نیاز داریم نَه به جابجایی. 0*2</p><p dir="RTL">برای عدد دوم به یک مقایسه و یک جابجایی نیاز داریم. 1*2</p><p dir="RTL">برای عدد سوم به دو مقایسه و دو جابجایی نیاز داریم. 2*2</p><p dir="RTL">...</p><p dir="RTL">برای عدد دهم به نه مقایسه و نه جابجایی نیاز داریم. 9*2</p><p dir="RTL">و اگر آن‌ها را با هم جمع بزنیم:</p><p align="center" dir="ltr">2*0 + 2*1 + 2*2 + 2*3 + … + 2*9 = 2 * (1 + 2 + 3 + … + 9) = 90</p><p dir="RTL">به طور کل به 90 عمل برای مرتب‌سازی یک لیست 10 تایی در بدترین حالت نیاز داریم.</p><p dir="RTL">حال اگر لیستی با n عدد داشتیم تعداد عمل‌های مختلف در بدترین حالت را می‌توان به روش مشابه به صورت زیر محاسبه کرد:</p><p align="center" dir="ltr">2 * (1 + 2 + … + n-1)</p><p dir="RTL">که برابر خواهد شد با &nbsp;<span dir="ltr">n(n-1)</span> یا n^2 - n. <a id="links" href="http://riazinevis.blogfa.com/post/129">نحوه محاسبه</a></p><p dir="RTL">این امر به این معناست که سرعت رشد زمان انجام محاسبه در هنگام استفاده از این الگوریتم با افزایش تعداد از درجه دو خواهد بود.</p><p dir="RTL">نمودار آن به صورت زیر خواهد بود.</p> <img src="http://s8.picofile.com/file/8359229450/img_980705_cal_cost_vs_poupulation.png" style="max-width:99%;" alt=""><p dir="RTL">می‌تونید ببینید که برای مرتب کردن لیستی با 45,000 عضو در حدود 2 میلیارد محاسبه مورد نیاز است و 45,000 عدد نسبتا کوچکی است. جدولی با 256 سطر و 256 ستون دارای 65536 خانه است.</p><p dir="RTL">چنین الگوریتمی برای استفاده در لیست‌های بزرگ نمی‌تواند کارساز باشد. برای همین انواع الگوریتم‌های دیگر برای مرتب‌سازی وجود دارند.</p><p dir="RTL">البته در اکسل برای استفاده از توابع مرتب‌ساز به مشکل خاصی برخورد نمی‌کنیم. چون که میایم و صورت مساله رو پاک می‌کنیم. در محیط اکسل نمی‌توان به توابع، ورودی با اندازه بزرگ‌تر از 16 بیت یا 65536 وارد کرد و در صورت وارد کردن لیستی بزرگ‌تر تابع پیام خطا را بر می‌گرداند. شاید هم بشه ولی من نمی‌دونم.</p><p dir="RTL">منبع:</p><p dir="RTL">سایت <a id="links" href="https://brilliant.org/wiki/sorting-algorithms/">Brilliant</a></p><p dir="RTL">سایت <a id="links" href="https://stackoverflow.com/questions/42598189/insertion-sort-in-vba-not-working">stackoverflow</a></p></font></span> text/html 2019-04-26T09:48:13+01:00 kiansight.mihanblog.com کیان اعظمی چند روش برای حل معادله به صورت عددی در اکسل http://kiansight.mihanblog.com/post/50 <meta charset="utf-8"><meta http-equiv="Content-Type" content="text html"><meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1, maximum-scale=1.0"><link type="text/css" rel="stylesheet" href="http://s9.picofile.com/d/8358600384/1913aa5a-e274-4b00-8b92-0b1b65ef581d/9804_Style_Code-css"><title>حل معادله به روش عددی</title><span lang="AR-SA" dir="RTL" style="line-height: 160%; font-size: 16pt;font-family:Iranian Sans;mso-bidi-language:FA"><font face="Mihan-IransansLight"> <p dir="RTL">این مطلب درباره به کارگیری بعضی از روش‌های موجود برای حل معادله‌های ریاضی به صورت عددی در اکسل است. یک مقدار تم ریاضی در آن هست ولی فراتر از ریاضی دبیرستان نیست.</p><p dir="RTL">قبلا راجع به Goal Seek و Solver در اکسل توضیح داده شده است که ابزارهایی آماده برای حل معادله‌های ریاضی در اکسل هستند. <a id="links" href="http://kiansight.mihanblog.com/post/48">هدف‌یابی و بهینه‌سازی</a></p><p dir="RTL">این مطلب به این سوال جواب می‌دهد که اگر خودمان بخواهیم معادله‌های ریاضی را در اکسل حل کنیم چه باید بکنیم.</p><p dir="RTL">دانستن الگوریتم‌های حل معادله به ما این قدرت رو می‌ده که با استفاده از کدها هم بتوانیم معادله‌های ریاضی را حل کنیم.</p><p dir="RTL">الگوریتم‌های حل معادله‌ به روش عددی به این صورت هستند که ابتدا یک یا دو عدد را به عنوان حدس اولیه برای جواب پیشنهاد می‌دهیم.</p><p dir="RTL">سپس روی این عددها عملیات ریاضی خاصی را انجام می‌دهیم تا عدد دیگری را تولید کنیم که به جواب مساله نزدیک‌تر می‌شود.</p><p dir="RTL">روش‌های<strong> نیوتون-رافسون </strong>Newton-Raphson<strong>، سکانت</strong> Secant<strong>، مقدار وسط </strong>Bisection<strong>،</strong> <strong>تکرار نقطه ثابت </strong>Fixed-Point Iteration<strong>&nbsp;</strong>و <strong>مکان اشتباه </strong>False Position<strong>&nbsp;</strong>بعضی از روش‌های عددی برای حل معادله هستند. در ادامه مطلب درباره این روش‌ها برای به کارگیری در اکسل توضیح داده شده است.</p></font></span> text/html 2019-04-19T11:11:13+01:00 kiansight.mihanblog.com کیان اعظمی استفاده از Data Table در اکسل http://kiansight.mihanblog.com/post/49 <span lang="AR-SA" dir="RTL" style="line-height: 160%; font-size: 15pt;font-family:Iranian Sans;mso-bidi-language:FA"><font face="Mihan-IransansLight"><style>#link1 { color: blue; text-decoration: none; }</style><p dir="RTL">این مطلب در ادامه بحث <a id="link1" href="http://kiansight.mihanblog.com/post/48" color="blue">قبلی</a> و درباره ابزار Data Table در قسمت What-if Analysis اکسل است.</p><p dir="RTL">که می‌توان از طریق تب Data به آن دسترسی پیدا کرد.</p><center><img hspace="0" border="0" align="baseline" vspace="0" style="max-height: 95%; max-width: 95%" src="http://s9.picofile.com/file/8357629926/img_980500_data_table.jpg" alt=""></center><p dir="RTL">اگر بخواهیم خروجی یک تابع یا یک فرمول را به ازای مقادیر مختلفی از ورودی‌ها محاسبه کنیم می‌توانیم از Data Table استفاد کنیم.</p><p dir="RTL">ادامه بحث در مورد چگونگی استفاده از Data Table در صورت وابستگی به 1 پارامتر، 2 پارامتر، و بیش از 2 پارامتر است.</p><p dir="RTL"><strong>1 بعدی </strong><strong>–</strong><strong> استفاده از </strong><strong>Data Table</strong><strong> در صورت وابستگی به یک پارامتر:</strong></p><p dir="RTL">مساحت یک دایره تابعی از شعاع آن است.</p><center><img hspace="0" border="0" align="baseline" vspace="0" style="max-height: 95%; max-width: 95%" src="http://s9.picofile.com/file/8357629968/img_980501_circle_area.jpg" alt=""></center><p dir="RTL">اگر بخواهیم جدولی درست کنیم که در آن به ازای مقادیر مختلفی از شعاع مساحت دایره را محاسبه کنیم می‌توانیم از Data Table استفاده کنیم.</p><p dir="RTL">فرض کنید بخواهیم مساحت دایره را برای شعاع‌های 2، 4، 6، 8 و 10 سانتی‌متر محاسبه کنیم.</p><p dir="RTL">ابتدا جدولی به صورت زیر درست می‌کنیم و در بالای ستونی که می‌خواهیم مساحت دایره را محاسبه کنیم به خانه‌ای از اکسل که مساحت در آن محاسبه شده است ارجاع می‌دهیم. یعنی خانه‌ی C3 در تصویر زیر.</p><center><img hspace="0" border="0" align="baseline" vspace="0" style="max-height: 95%; max-width: 95%" src="http://s8.picofile.com/file/8357629984/img_980502_circle_area.jpg" alt=""></center><p dir="RTL">پس از اینکه جدول را ایجاد کردیم، جدول مورد نظر را انتخاب می‌کنیم و سپس ابزار Data Table را انتخاب می‌کنیم.</p><center><img hspace="0" border="0" align="baseline" vspace="0" style="max-height: 95%; max-width: 95%" src="http://s8.picofile.com/file/8357630000/img_980503_circle_area.jpg" alt=""></center><p dir="RTL">داده‌های جدول به صورت ستونی مرتب شده است. در Data Table باید در قسمت ستون یا Column input cell به پارامتری ارجاع بدیم که مساحت به ازای آن تغییر می‌کند. با انتخاب Ok مساحت دایره در ستون دوم به ازای شعاع‌های ستون اول محاسبه می‌شود.</p><center><img hspace="0" border="0" align="baseline" vspace="0" style="max-height: 95%; max-width: 95%" src="http://s8.picofile.com/file/8357632450/img_980504_circle_area.jpg" alt=""></center><p dir="RTL"><strong>2 بعدی </strong><strong>–</strong><strong> استفاده از </strong><strong>Data Table</strong><strong> در صورت وابستگی به دو پارامتر:</strong></p><p dir="RTL">فرض کنید به جای محاسبه‌ی مساحت دایره بخواهیم حجم یک استوانه را به ازای شعاع‌ها و ارتفاع‌های مختلف محاسبه کنیم. در اینجا فرمول حجم تابع دو متغیر <strong>شعاع </strong>و <strong>ارتفاع </strong>است.</p><center><img hspace="0" border="0" align="baseline" vspace="0" style="max-height: 95%; max-width: 95%" src="http://s9.picofile.com/file/8357630084/img_980505_cylinder_volume.jpg" alt=""></center><p dir="RTL">فرض کنید بخواهیم حجم استوانه را به ازای ارتفاع‌های 3، 6، 9 و 12 سانتی‌متر و به ازای شعاع‌های 2، 4، 6، 8، و 10 سانتی‌متر محاسبه کنیم.</p><p dir="RTL">ابتدا جدولی را به صورت زیر درست می‌کنیم. سپس در قسمت بالای جدول سمت چپ به خانه‌ای از اکسل که در آن فرمول حجم استوانه قرار گرفته است ارجاع می‌دهیم. در تصویر زیر به خانه‌ی C4 ارجاع می‌دهیم.</p><center><img hspace="0" border="0" align="baseline" vspace="0" style="max-height: 95%; max-width: 95%" src="http://s8.picofile.com/file/8357630100/img_980506_cylinder_volume.jpg" alt=""></center><p dir="RTL">پس از اینکه چنین جدولی را ایجاد کردیم، جدول را انتخاب می‌کنیم و Data Table را باز می‌کنیم.</p><center><img hspace="0" border="0" align="baseline" vspace="0" style="max-height: 95%; max-width: 95%" src="http://s9.picofile.com/file/8357630134/img_980507_cylinder_volume.jpg" alt=""></center><p dir="RTL">در تصویر بالا در قسمت سطر در Data Table پارامتر مربوط به ارتفاع یعنی خانه‌ی C3 قرار گرفته است و در قسمت ستون پارامتر مربوط به شعاع یعنی خانه‌ی C2 قرار گرفته است.</p><p dir="RTL">پس از انجام این موارد و انتخاب گزینه Ok حجم استوانه در جدول مشخص شده به ازای شعاع‌ها و ارتفاع‌های مختلف محاسبه می‌شود.</p><center><img hspace="0" border="0" align="baseline" vspace="0" style="max-height: 95%; max-width: 95%" src="http://s8.picofile.com/file/8357630150/img_980508_cylinder_volume.jpg" alt=""></center></font></span>