فایلوو

سیستم یکپارچه همکاری در فروش فایل

فایلوو

سیستم یکپارچه همکاری در فروش فایل

تحقیق درمورد الگوریتم تعمیم یافته

تحقیق درمورد الگوریتم تعمیم یافته

ک پرداخت و دانلود *پایین مطلب*

 

فرمت فایل:Word (قابل ویرایش و آماده پرینت)

  

تعداد صفحه:37

 

فهرست مطالب

الگوریتم STR کلی (تعمیم یافته):

داده ها: پارامتر d مرتبه رگولاتور یعنی درجه R* ، و درجه S* را بدانیم. چند مجموعه ای روبتگر  Ao*  به جای چند جمله ای C*  که نامعلوم است (تقریب C*)

چند جمله ایهای پایدار P*  و Q*

سیگنالهای فیلتر شده زیر بایستی معرفی شوند:

 

گام 1 : تخمین ضرایب  R*  و S*  بروش LS:

 

(         C*note)

گام 2 : سیگنال کنترل را از روی    محاسبه می کنیم

تکرار گامهای فوق در هر پریود نمونه برداری

در صورت همگرایی تخمین :   S*  و R*  گام بعدی با قبلی برابر است)

 

=

 

ویا:                                            

فرم کلی در صورت عدم حذف همه صفرهای فرآیند

اتحاد (2) به شکل زیر نوشته می شود:

C*Q*=A*P*R'*+q-dB-*S*        R'*   از این رابطه بدست می آید.

و سیگنال کنترل می شود:

 

کنترل فید فوردوارد (پیشخور) STR (دانستن دینامیک فرایند لازم است)کنترل پیشخور برای کاهش یا حذف اغتشاش معلوم بکار می رود. خود سیگنال فرمان    می تواند برای STR ، یک اغتشاش معلوم فرض شود

مثالهایی از اغتشاش قابل اندازه گیری (معلوم): درجه حرارت و غلظت در فرایندهای شیمیایی درجه حرارت خارجی در کنترل آب و هوا ضخامت کاغذ در سیستمهای milling machinc

مدل فرضی :  

چند جمله ایهای ، S* و T*  بایستی تخمین زده شوند و آنگاه:

 

مثال : تاثیر فیلتر کردن (همان فرایند مثالهای قبل را در نظر بگیرید) {رفتار الگوریتم تصمیم یافته توضیح داده می شود}

Y(t)+ay(t-1)=bu(t-1)+e(t)+ce(t-1)

مقادیر واقعی پارامتر :              a = -0.9  ,b=3  , c=-0.3

فیلترها را بصورت زیر در نظر بگیرید

 

اتحاد:                                                        C * Q*=A*P*R'*+q-dB-*S*

در این مثال :               از مدل فرآیند داریم

اتحاد

 

قانون  کنترل:              

R*P*=R'*P*B+*

 

 

فیلتر باید پیش فاز باشد که در نتیجه سیستم حلقه بسته بصورت پایین گذر فیلتر خواهد شد.   

سئوال P1 و q1 را چگونه انتخاب کنیم؟

جواب: یک روش انتخاب بررسی اثر آنها بر روی واریانس y و u است. فرض کنید e(t) دارای واریانس 1 است.

 

 

حالت  (a): no filtering            P"q1=0

 

 

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

حالت q1=-0.3 p1=0(b)

 

سه مبدا

 

الگوریتم STR کلی( تعمیم یافته):

 داده ها: پارامترd، مرتبه رگولاتور یعنی درجه و درجه  را بدانیم. چند جمله ای رویتگر ( بجای چند جمله ای  که نامعلق است

( تقریب ) و چند جمله ای پایدار  و  سیگنالهای فیلترشده زیر بایستی معرفی شوند:

                        و

گام 1: تخمین ضرایب  و به روش LS:

                      

 ) Note:)

گام 2: سیگنال کنترل را از روی  محاسبه می کنیم.

تکرار گامهای فوق در هر پریود نمونه برداری:

   (   گام بعدی با قبلی برابر است)

در صورت همگرایی تخمین:

 

 

 

                 و یا        

فرم کلی در صورت عدم حذف همه صفرهای فرآیند اتحاد(2) به شکل زیر نوشته می شود:  از این رابطه بدست می آید:

و سیگنال کنتر ل می شود( مثال در پائین آمده نحوه انتخاب P,Q فیلتر ) کنترل فیدفور وارد( پیشخور)STR-( دانستن دینامیک فرآیند لازم است)

کنترل پیشخوری برای کاهش یا حذف اغتشاش معلوم بکار می رود. خود سیگنال فرمان می تواند برای STR ، یک اغتشاش معلوم فرض شود.

( مثالهایی از اغتشاش قابل اندازه گیری(معلوم): در جه حرارت و غلظت در فرآیندهای شیمیایی در جه حرارت خارجی در کنترل آب و هوا- مشخصات کاغذ در سیستمهایmilling machine ).

مدل فرضی:

                            اغتشاش معلوم

   چند جمله ایهای  و  و بایستی تخمین زده شود و آنگاه:

                           

مثال: تأثیر فیلتر کردن( همان فرآیندهای مثالهای قبل را در نظر بگیرید) (رفتار الگوریتم تعمیم یافته توضیح داده می شود.)

                   

مقادیر پارامتر:  ،  ،

فیلتر را بصورت  زیر در نظر بگیرید:

                                 

اتحاد:                       

در این مثال:

     و 

                                                            از مدل

( فرض )  و  و       فرآیند داریم

اتحاد

                       

قانون کنترل:

                       

               

                   

                   

 فیلتر باید یک شبکه پیش فاز باشد که در نتیجه حلقه بسته بصورت پائین گذر فیلتر خواهد شد.

جواب: یک روش انتخاب بررسی اثر آنها برروی واریانس y و u  است، فرض کنید دارای واریانس 1 است.

حالت (a) =  

 

                  

                

این حالت همان وضعیت کنترل حداقل واریانس است بدون هیمگنه فیلترکردن.

 حالت (b) :  ،

 

 

  

در مبدأ ،            

: د رمثال

 

مسائل: 5-12,5-11,5-7,5-2,5-1

5 – سیستمهای تطبیقی مدل مرجع (MRAS)Model Reference Adoptive System      (1958 whitarker)

 دارای یک حلقه داخلی و یک حلقه بیرونی است.

با استفاده از مدل رابطه مطلوب بین u و خروجی فرآیند y بیان می گردد.

بررسی MRAS به سه شکل مختلف قابل انجام است:

  • روش گرادیان 2- روش پایداری لیاپانف 3-تئوری غیرفعال بودن

این مسأله را که رگولاتور را بگونه ای تنظیم کنیم تا تابع تبدیل حلقه بسته تا حدامکان به تاب تبدیل از پیش تعیین شده مدل نزیک باشد مسأله تعقیب مدل(Model Folloing) گویند.

یادآوری: فرآیند را به صورت زیر در نظر می گیریم:

ورودی    خروجی

B,A نسبت بهم اولند A تکین (monic) است در یک فرآیند واقعی deg(B) deg(A)

هدف: یافتن لگولاتور بگونه ای که رابطه ورودی مرجع  و به شکل زیر باشد:

  و  اولند، تکین است

 

                                فیدبک خروجی          رگولاتور

فرم کلی رگولاتور( کنترلگر):

                                            ورودی رگولاتور

نشان دادیم: تابع انتقال حلقه بسته فیدبک داخلی( پاسخ خروجی به سیگنال مرجع)

                       

                          نشان دهید

از مقایسه با حالت(a) نتیجه می گیریم که واریانس خروجی( با استفاده از فیلترکردن) باندازه %10 افزایش یافته ولی  باندازه %60 کاهش پیدا کرده.

حالت (c)      و   

                          

 

          

 نشان دهید حالت بدون کنترل( سیستم حلقه باز)

از رابطه (1) و مقایسه آن با را بطه خروجی مدل مطلوب نییجه شد0 (باتفکیک ):

معادله دیوفانتین 

    چند جمله ای رویتگر  چند جمله ای قطب مدل   صفرهای قابل حذف فرآیند

با تعریف  نتیجه شد: معادله دیوفانتین.

  = شامل ریشه ها ناپایدار B و با تعریف  نتیجه گرفتیم:

روش گرادیان:

 اساس این روش قاعده MIT است.

                            معیار

 مشتقات حساسیت         

حالات خاص: روشهای مختلفی برای تعیین تابع تلف وجود دارد:

 الگوریتم        

                             

حالت خاص دیگر:

الگوریتم: MIT,sgn-sgn  

این الگوریتم سریعتر است اما احتمال مشکلاتی در همگرایی وجود دارد.

مثال 1: تطبیق یک بهره پیشخوری

                        

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

                        

         درSTR    

                                   

               

                 

مثال 2: سیستم مرتبه 1- فرآیند:  و مدل مطلوب فرض می کنیم کنترل کننده بصورت زیر است:               

با مدل مطلوب مقایسه کنید:

                

                                      

در مقایسه با مدل مطلوب( تعقیب مدل):

                            

توجه کنید که چون b,a معلوم نیستند نمی توانیم مستقیماً حل کنیم پس در عمل لازم است مسأله به صورت تطبیقی حل شود.

                         

از رابطه(*)

                 

 (:note )

                   

        

شرط اولیه صفر:

 1- محاسبه   2- محاسبه

توجه کنید:

                       

3-محاسبه  

4- محاسبه

5- محسابه u

6- محاسبه

تمرین شبیه سازی: منحنی های شکل..... ص..... را بدست آورید و اثر  را بررسی کنید.

 سیستمهای خطی در حالت کلی  :( قاعده MIT عمومی)

فرآیند

مدل:

کنترلگر:

سیستم حلقه بسته

                       

فرض کنید چند جمله ایهای S,T,R بصورت زیر باشد:

               مرتبه K

             مرتبه m

                مرتبه l

مشتقات حساسیت:

               

بااستفاده از رابطه 2 و

                 

                                

                    

                                 

برای استفاده از قاعده MIT لازم است B,A معلوم باشد تقریب

وقتی دقیق است که پارامترها به مقادیر واقعی رسیده باشند ولی در این عملیات تقریبی است.

                               

به این ترتیب:

                         

این معاملات همچنان غیرقابل محاسبه اند چون    را نداریم. اما اگر صفرها تماماً حذف شده باشند می توان قراداد  و فقط کافی است علامت  معلوم باشد. اندازه را در جذب می کنیم پس در سیستم MP داریم:

                          

(با فرض اینکه تغییرات پارامترها آهسته تر از متغیرهای دیگر سیستم باشند  ثابت فرض می شود  قابل محا سبه است.)

برا ی سیستم NMP از تخمین گر استفاده می کنیم:

                                  

                                   

                                  

همگرایی پارامترها: « به صفر نزدیک کردن خطا لزوماً به معنی همگرایی ضرایب به مقادیر صحیح آنها نیست».

 مثال: بهره پیشخور:

                        ،   

                           

                      ،

جواب معادله دیفرانسیل:

                  

با افزایش t مقدار خطا همواره بسمت صفر میل

                              

خواهد کرد.( یا  واگراست به سمت صفر نمی رود                          

 و یا  به سمت صفر میل می کند)

                     وا گرا

                همگرا

پایداری حلقه تطبیقی:

 در مثال فوق دیدیم که نرخ همگرایی  با مربع سیگنال، مرجع و خود تناسب مستقیم دارد.

سئوال: آیا با افرایش دلخواه  یا  می توان سرعت همگرایی را  بدلخواه افزایش داد؟

پاسخ: تا جائیکه ناپایداری رخ ندهد مجاز است.

 هرچه خطای سیستم کمتر باشد امکان سرعت بخشیدن به همگرایی بیشتر است.

 مثال: همان مثال فوق با:

                               

                       ، 

                          

                            

نمایش مستقیم بصورت معادلات دیفرانسیل:

                          

                            

                       (1)  

            (2)

(3)                         

اگر  یک تابع زمانی معلوم باشد از معادله دیفرانسیل(1)،  بصورت یک تابع زمانی مشخص می گردد از ترکیب(2) و (3) داریم:

                     

                

(4)

معادله فوق یک معادله دیفرانسیل خطی ولی تغییرپذیر با زمان است( چون  با زمان تغییر می کند) آزمایش زیر را در نظر بگیرید: فرض کنید مکانیزم تنظیم وجود ندارد.(پارامترها تثبیت شده اند). و  مقدار ثابت  را داراست. خروجی مدل به سمت  میل می کند از رابطه(1). اکنون فرض مکانیزم تنظیم وصل گردد،( هنوز ثابت فرض می شود)، در اینصورت ضرایب معادله(4)ثابت خواهند بود:

               

شرایط پایداری:

                 

پس  را نمی توان بزرگ گرفت

یعنی بازاء هر  می توان  و  را چنان انتخاب کرد که سیستم ناپایدار شود.

( پس همگرا می شود)  در حالت پایداری پروژه شبیه سازی: منحنی  های شکل .... ص...( اثر ) بهمراه اثر  را بدست آورید:

نکته: اگر  متغیر با زمان فرض شود در عبارت زیر با هم متفاوتند:

     در رابطه با    

                   

بعنوان مثال:

                 

                     

قواعد تنظیم اصلاح شده:

 هدف: کاهش وابستگی سرعت همگرایی و پایداری به توان سیگنال فرمان:

                          

افزایش دامنه سیگنال  باعث افزایش متناسب در e و  خواهد شد. این افزایش با بزرگ شدن مخرج کسر فوق جبران خواهد شد.

پارامتر  برای جلوگیری از تقسیم بر صفر اضافه شده و معمولاً کوچک قاعده فوق را الگوریتم نرمالیزهMIT گویند.

 گاهی می توان دو سطح اشباع متقارن نیز برای نرخ تنظیم( سرعت همگرایی) در نظر گرفت:

                       

                         

در مثال اخیر اگر از الگوریتم نرمالیزه استفاده شود:

                         

                         

                 

                         

تمرین: شبیه سازی6- بااستفاده از الگوریتم نرمالیزه( با سطح اشباع یا بدون آن) شکل .... را بدست آورید:

شکل کلی الگوریتم MIT اصلاح شد:

                  تابع تبدیل مدل        تابع تبدیل پیوسته

                          

                               

                         مشتق حساسیت نسبت به

                     

براساس نظریه پایداری:

یادآوری: نقطه تعادل یک سیستم خطی پایدار است اگر تابع حقیقی در فضای حالت چنان یافت شود که منحنی سطح ثابت   آن نقطه تعادل را چنان در برگیرند که مشتق متغیرهای حالت همواره به سمت داخل منحنی های فوق جهت یابند.

                  ( متغیر با زمان)

فرض می کنیم که نقطه تعادل در مبدأ است.( در غیر اینصورت انتقال به مبدأ مسأله دشواری نیست). فرض کنید تابع V از فضای حقیقی  در شرایط زیر صدق کند.

1- بازای هر  داریم

2- V برحسب t,x مشتق پذیر می باشد.

 3- V معین مثبت باشد یعنی

                                 تابع زمان نیست و تابع زمان است

که در آن پیوسته است و یا افزایش یابد.

در این صورت شرط کافی برای پایداری مجانبی یکنواخت سیستم فوق آن است که:

                  

            

مثال: طرحMRAS به روش پایداری لیاپانوف.

همان مثال بررسی شده به روش گرادیان را دوباره در نظر بگیرید:

فرآیند:      

فرآیند:   مدل:

                رگولاتور:

                          

می خواهیم  و  را با استفاده از روش لیاپانف بدست آوریم:

             

      

          

از مثال قبل داشتیم: ( اگر این مقادیر باشد، خطا بصورت نمایی صفر می شود)

با توجه به مقادیر ایرنال  و  می توان تابع V را چنین تعریف کرد:

       

این تابع فقط وقتی صفر می شود که  باشد وو  مقادیر مطلوب خود را داشته باشد.

           

   

      

   

اگر قاعده تنظیم را بصورت: در نظر بگیرید آنگاه خواهیم داشت:

                              

یعنی تا وقتیکه خطای e مخالف صفر است، تابع V کاهنده خواهد بود و خطا به سمت صفر میل می کند.

در روش گرادیان داشتیم:

                              

                              

بطورکلی برای هر دو روش می توان نوشت:

                               

روش لیاپانف  

                     

روش گردایان

{در این روش سیگنالهایu,y فیلتر نمی شوند.

توجه: از روش لیاپانف امکان افزایش  بدلخواه وجود دارد.

پروژه شبیه سازی: بررسی مکانیزم روش لیاپانوف در مثال فوق ومقایسه با روش گرادیان

مثال: تطبیق یک بهره پیشخوری: قبلاً نشان دادیم       

 

فرض کنید از نمایش قضای حالت بجای نمایش  استفاده شود:

هدف: بدست آوردن قوانین تنظیم بااستفاده از روش لیاپانف برای تعریف رابطه                 

                       

           

                      ، 

                            

 

 

 

 

  

 

 

 

 



مشخصات فروشنده

نام و نام خانوادگی : یعقوب ذاکری

شماره تماس : 09017568099 - 07642351068

ایمیل :shopfile95.ir@gmail.com

سایت :shopfile95.sellfile.ir

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

پرداخت و دانلودگزارش خرابی و شکایت از فایل

تحقیق در مورد الگوریتم

تحقیق در مورد الگوریتم

ک پرداخت و دانلود *پایین مطلب*

 

فرمت فایل:Word (قابل ویرایش و آماده پرینت)

  

تعداد صفحه:25

 

فهرست مطالب

الگوریتم

هر برنامه، می بایست دارای یک طرح و یا الگو  بوده تا برنامه نویس بر اساس آن عملیات خود را دنبال نماید.از دیدگاه برنامه نویسان ، هر برنامه نیازمند یک الگوریتم است . بعبارت ساده ، الگوریتم ، بیانه ای روشمند بمنظور حل یک مسئله بخصوص است . از منظر برنامه نویسان ،الگوریتم بمنزله یک طرح کلی و یا مجموعه دستورالعمل هائی است که با دنبال نمودن آنان ، برنامه ای  تولید می گردد.

الگوریتم های میکرو در مقابل ماکرو

الگوریتم ها دارای ویژگی های متفاوتی می باشند . ما می توانیم در رابطه با  الگوریتم  استفاده شده  به منظور نوشتن یک برنامه مشخص صحبت نمائیم . از این زاویه  ، ما  صرفا" در رابطه با الگوریتم  در سطح ماکرو(macro level)  ، صحبت نموده ایم . در چنین مواردی ، الگوریتم ارائه شده ، سعی در بدست آوردن جنبه های عمومی برنامه از طریق یک مرور کلی به برنامه در مقابل درگیر شدن در جزئیات را  دارد.ما می توانیم در رابطه با الگوریتم ها ، از سطح "میکرو" صحبت نمائیم . از این زاویه ، به سطوح پایین تر رفته و به عوامل اساسی ونگهدارنده ای  که یک جنبه خاص از برنامه را با  یکدیگر مرتبط می نماید، صحبت کرد.  مثلا" در صورتیکه شما دارای داده هائی هستید که می بایست قبل از استفاده  مرتب گردند ،الگوریتم های مرتب سازی متعددی در این زمینه وجود داشته و  می توان یکی از آنها را بمنظور تامین اهداف مورد نظر خود انتخاب نمود. انتخاب یک الگوریتم مرتب سازی  ، صرفا" باعث حل شدن یکی از جنبه های متفاوت برنامه می گردد . پس از مرتب سازی داده ها ،می بایست از یک الگوریتم میکرو دیگر بمنظور نمایش  داده  ها ی مرتب شده استفاده  گردد .

همانگونه که احتمالا" حدس زده اید ، ما می توانیم تمام الگوریتم های میکرو را بمنظور ایجاد یک الگوریتم ماکرو ، جمع آوری نمائیم . اگر ما با الگوریتم های میکرو ، آغاز نمائیم ، و حرکت خود را بسمت نمایش ماکروی یک برنامه ، پیش ببریم ، کاری را انجام داده ایم که موسوم به طراحی " پایین به بالا" (buttom-up)  ، است . اگر ما فعالیت خود را با یک الگوریتم ماکرو آعاز و حرکت خود را بسمت پائین و الگوریتم های میکرو ، ادامه دهیم ، طراحی از نوع " بالا به پایین " (top-down)  را انجام داده ایم .

شاید این سوال مطرح گردد که  کدام روش بهتر است ؟ اگر شما تمام مقالاتی را که تاکنون در این زمینه نوشته شده اند را  دنبال نمائید ، هرگز به یک نتیجه قابل قبول دست نخواهید یافت . هر رویکرد، دارای نکات مثبت و منفی مربوط به خود است . صرفنظر از رویکرد طراحی استفاده شده ، می بایست دارای الگوئی (طرحی) مناسب برای برنامه باشیم .حداقل، نیازمند یک اعلامیه از مسئله برنامه نویسی و یک طرح ( الگو) برای برخورد با مسئله ، خواهیم بود . پس از شناخت مسئله ، می توان  نحوه حل مسئله را  ترسیم کرد.  شناخت عمیق و مناسب نسبت به  مسئله ای که قصد حل آن را داریم ، شرط اساسی و ضروری برای طراحی یک برنامه است .
با توجه به اینکه این اعتقاد وجود دارد که شناخت جامع و کلی از مسئله ای که حل آن را داریم ، بخشی ضروری در اولین مرحله برنامه نویسی است ، ما در ادامه از رویکرد "بالا - پایین "، تبعیـت می نمائیم . فراموش نکنیم که
  رویکرد فوق ، امکان مشاهده مجازی از هر مسئله برنامه نویسی را فراهم خواهد نمود.

مراحل پنج گانه

هر برنامه را صرفنظر از میزان پیچیدگی آن ، می توان  به  پنج مرحله اساسی تجزیه کرد :

  • مقدار دهی اولیه
  • ورودی
  • پردازش
  • خروجی
  • پاکسازی

در ادامه به بررسی هریک از مراحل فوق ، خواهیم پرداخت .

مرحله مقداردهی اولیه

مرحله مقداردهی اولیه ، اولین مرحله ای است که می بایست در زمان طراحی یک برنامه  در رابطه با آن فکر کرد . مرحله فوق ، شامل تمامی عملیات مورد نیازی  است که برنامه می بایست قبل ازبرقراری ارتباط  با کاربر ، انجام دهد . در ابتدا ممکن است این موضوع که عملیاتی را قبل از برقراری  ارتباط با کاربر می بایست انجام داد ، تا اندازه ای عجیب بنظر رسد ولی احتمالا" برنامه های زیادی را مشاهده نموده اید که در این راستا عملیات مشابهی را انجام می دهند. مثلا" ،  در زمان استفاده از برنامه هائی نظیر Word ، Excel و یا برنامه های مشابه دیگر ، با چنین مواردی برخورد نموده ایم . مثلا"  با انتخاب  گزینه منو File ، می توان  لیستی از فایل هائی را که با آنها کار کرده ایم در بخش انتهائی منوفوق ، مشاهده کرد. ( مشاهده آخرین فایل های  استفاده شده در یک برنامه خاص ، با استفاده از جادو! میسر نشده است ) . برنامه مورد نظر شاید ، لیست فایل های اخیر را از دیسک خوانده و آنها را به لیست مربوطه در منوی File ، اضافه کرده باشد . با توجه به اینکه لیست فایل های فوق ، می بایست  قبل از اینکه برنامه هر چیز دیگر را برای کاربر نمایش دهد ، خوانده و نمایش داده شوند ، می توان انجام عملیات فوق را نمونه ای از مرحله مقداردهی اولیه، در نظر گرفت.
یکی دیگر از عملیات متداول که به این مرحله مرتبط می باشد ، خواندن فایل های
Setup است . چنین فایل هائی ممکن است حاوی اطلاعاتی در رابطه با نام مسیرهائی باشند که بانک ها ی اطلاعاتی خاصی و یا فایل های  ذخیره شده  دیگری را  بر روی دیسک را مشخص می نمایند . با توجه به نوع برنامه ای که اجراء می گردد ، فایل های Setup می توانند شامل اطلاعاتی در رابطه با فونت های نمایش ، نام و محل چاپگر ، رنگ های زمینه و رویه ، وضوح تصویر صفحه نمایشگر و اطلاعات مشابهی دیگر باشند . سایر برنامه ها ممکن است مستلزم خواندن اطلاعاتی در رابطه با اتصالات شبکه ، مجوزهای امنیتی و دستیابی به اینترنت ، رمزهای عبور و سایر اطلاعات حساس دیگر باشند . در چنین مواردی فایل های Setup دارای نقشی مهم خواهند بود.
در زمان طراحی یک برنامه ، همواره
  می بایست در رابطه با اطلاعاتی که یک برنامه قبل  آغاز خدمات و عملیات خود  به آنها نیازمند است ، اندیشید و برای آنان در مرحله مقداردهی اولیه راهکار مناسب را انتخاب کرد . مرحله مقداردهی اولیه احتمالا" جائی است که می بایست از طریق آن اقدام به ارائه راهکار مناسب در جهت پاسخ به نیازهای فوق ، کرد.

مرحله ورودی

مرحله ورودی ، در حقیقت چیزی است که انتظار دارید باشد! مرحله فوق ،  شامل اخذ ( جمع آوری ) هر آنچیزی است که یک برنامه برای انجام فعالیت های خود به آنها  نیاز خواهد داشت . دراکثر موارد، اگر استنباط مناسبی از عملیاتی را که یک برنامه قصد انجام آنان  را دارد ، حاصل گردد، مشخص نمودن لیستی از ورودی ها ، کاری ساده خواهد بود. مثلا" اگر شما قصد نوشتن یک برنامه  وام را دارید ، می دانید که می بایست از کاربر میزان وام درخواستی ، بهره موردنظر و مدت  زمان وام ، درخواست گردد.

 

 

 

 

در حالات دیگر، لازم است در رابطه با نوع  ورودی هائی  که می بایست از کاربر اخذ گردد، بررسی لازم و مبتنی بر اندیشه را دنبال نمود. مثلا" در صورتیکه قصدنوشتن یک برنامه دفترچه آدرس را دارید ، آیا می خواهید نام فایل حاوی  دفترچه تلفن و محل ذخیره فایل مربوطه را در هر مرتبه که برنامه اجراء می گردد ، از کاربر درخواست نمائید ؟ بعبارت دیگر برخی از مراحل ورودی می توانند و شاید می بایست ، توسط مرحله مقدار دهی انجام شوند. ماهیت واقعی میزان اطلاعاتی که  می توان آنها را  در مرحله مقداردهی  خواند ، بستگی به رفتار  برنامه دارد. بعنوان یک قانون عمومی می توان به این مورد اشاره داشت که اکثر کاربران تمایل دارند که اطلاعات تکراری در یک فایل  Setup و یا مقداردهی اولیه ذخیره گردد (در مقابل اینکه هر مرتبه که برنامه اجراء می گردد ، مجبور به ورود اطلاعات تکرای باشند ) .
فایل های
Setup بسیار مناسب بوده و در هرموردی که امکان بخدمت گرفتن آنان منطقی بنظر می آید ، می بایست از آنان استفاده گردد . برخی دیگر از اطلاعات اولیه دارای ماهیت خاص خود بوده و تا زمانیکه کاربر آنها را تایپ ننماید ، شناخته نمی گردند .  در مثال وام اشاره شده  ،  می توان از TextBox های متعددی بمنظور احذ اطلاعات از کاربر و استفاده  از آنان در برنامه ، کمک گرفت . با توجه به اینکه کاربر می بایست با این TextBox ها مرتبط تا اطلاعات موردنیاز برنامه را وارد نماید ، روشی را  که شما بمنظور ارائه  Textbox ,Labels ,Menus و سایر عناصر برنامه ، استفاده  می نمائید ، یکی از بخش های مهم یک برنامه یعنی رابط کاربر ( user interface ) را مشخص خواهد کرد . فراموش نکنیم یکی از عوامل موفقیت هر نرم افزار ، بخش رابط کاربر آن  است . طراحی مناسب بخش فوق ، امروزه بعنوان تخصصی خاص در طراحی و پیاد ه سازی نرم افزار مطرح و دارای جایگاه خاص خود است .

مرحله پردازش

مرحله پردازش ، شامل انجام عملیات  بر روی ورودی (ورودی ها ) ، بمنظور تولید نتایج مورد نظر برای برنامه است . در مثال وام ، برنامه پس از دریافت ورودی های مورد نظر ( میزان وام ، درصد بهره و زمان وام ) آنها را از طریق یک معادله مالی بیکدیگر مرتبط و پس از حل معادله ، نتیجه  مورد نظر حاصل خواهد شد( میزان پرداخت ماهانه ) . بعبارت دیگر ، مرحله پردازش قادر به دریافت ورودی ، برخورد با آنها و تولید  پاسخ  مناسب به مسئله است . توجه داشته باشید که مرحله پردازش همواره باعث نمایش چیزی بر روی نمایشگر نخواهد شد. هدف ، عمل ( عملیات )  برروی داده ( داده ها )  بمنظور تولید یک نتیجه ( نتایج )  است . در این رابطه هیچگونه استثنائی وجود ندارد . در صورتیکه در برنامه ای از قبل می دانیم که مرحله پردازش زمان زیادی طول خواهد کشید ، منطقی است  که فیدبک های لازم  بمنظور آگاهی کاربر از میزان و درصد انجام پردازش ( پردازش ها )  در اختیار وی گذاشته شود ( در زمانیکه برنامه در حال اجراء است )  . در این رابطه می توان از روش های متعددی استفاده کرد . ( ارائه یک میله پیشرفت ، برآورد زمان تقریبی بمنظور اتمام عملیات ) .

 

 

مرحله خروجی


 مرحله فوق ، پاسخ ( پاسخ ها ی) مناسب و مورد انتظار را به کاربران مبنی بر حل مسئله مورد نظر ، ارائه می نماید. تعداد زیادی ازبرنامه ها ، پاسخ  نهائی ( نتیجه ) خود را از طریق  یک Textbox ، نمایش و در اختیار کاربر قرار می دهند . ، مثلا" اگر برنامه ای نوشته شده است که قصد محاسبه و نمایش میزان پرداخت ماهیانه یک وام دریافتی را داشته باشد ، می توان نتیجه بدست آمده (پرداخت ماهانه) را از طریق  یک textbox ، ارائه تا  پاسخی مناسب در ارتباط با  مرحله خروجی یک برنامه، داده شده باشد . سایر برنامه ها ممکن است دارای وضعیتی بمراتب پیچیده تر باشند .مثلا" می توان برنامه ای را در نظر گرفت که  نام ، آدرس ، شماره تلفن و سایر اقلام اطلاعاتی را از بانک اطلاعاتی خوانده و در ادامه آنها را بر روی صفحه نمایشگر ، نشان دهد. برنامه هائی اینچنین ، نیازمند شکل مناسبتری از نمایش خروجی بوده و نمی توان با استفاده از چند textbox به خواسته خود دست یافت ( ارائه یک خروجی مطلوب و انعطاف پذیر) در اینگونه موارد می بایست از راهکارهای مناسبتری استفاده گردد . مثلا" می توان از جداول خاصی بمنظور نمایش اطلاعات مورد نظر استفاده کرد .( استفاده از grid و یا List box  که برنامه در صورت ضرورت آنان را تکمیل نماید ) . نکته مهمی که می بایست در رابطه با مرحله خروجی رعایت گردد ، آگاهی از این موضوع است که با توجه به نمایش نتایج خروجی برای کاربر، بخش فوق را می توان جزئی از بخش رابط کاربر یک نرم افزار در نظر گرفت . در زمان ورود اطلاعات ( مرحله ورودی )  از عناصر متفاوتی بمنظور اخذ اطلاعات توسط کاربر در بخش رابط استفاده می گردد ، در مرحله خروجی ، بخش رابط کاربر با کاربر بگونه ای  دیگر مرتبط خواهد شد ( ارتباطی بمراتب غیر فعالتر نسبت به مرحله ورود اطلاعات  ) .

مرحله پاکسازی  ( Cleanup )

مرحله پاکسازی ، بمنظور خاتمه بخشیدن مودبانه یک برنامه، پس از تکمیل عملیات مربوطه است. می توان این مرحله را بعنوان مکمل مرحله مقداردهی اولیه در نظر گرفت .با اینکه تعداد زیادی از برنامه های ساده قادرند بسادگی و بدون انجام عملیات تکمیلی توسط برنامه نویس ، خاتمه یابند ولی برنامه های پیچیده زیادی نیازمند برخی کمک ها در این زمینه می باشند. مثلا" اگر برنامه ای یک فایل Setup را بمنظور مقداردهی برخی از متغیرها در زمان مرحله مقداردهی اولیه ، خوانده باشد ، مرحله پاکسازی می تواند شامل بهنگام سازی آندسته از متغیرهای موجود در فایل Setup باشد که نشاندهنده  آخرین اطلاعات کاربر است . مرحله پاکسازی ، اغلب شامل بستن فایل ها ( فایل های Setup و بانک اطلاعاتی)  است . برخی برنامه ها میزان استفاده از برنامه توسط کاربران  را ثبت و اطلاعات مربوطه را در مکانهائی  که Log file نامیده می شوند ، ذخیره می نمایند( ثبت مشخصات افرادیکه برنامه را اجراء نموده  بهمراه سایر اطلاعات مرتبط نظیر  تاریخ و زمان آغاز و توقف برنامه ، در خیلی از برنامه ها به امری ضروری تبدیل شده است ) .
یکی دیگر از انواع فایل های
Log به  فایل های ثبت خطاء برمی گردد( error log file ) . هدف این نوع از فایل ها ، ثبت اطلاعاتی در رابطه با هر نوع خطائی است که ممکن است در مدت زمان اجرای یک برنامه ، محقق گردد. برنامه نویسان با استفاده از محتویات این نوع فایل ها ، قادر به اشکال زدائی برنامه خواهند بود .
عملیات واقعی و مورد نظری که می بایست در مرحله پاکسازی ، انجام گردد ، به نیازهای یک برنامه بستگی خواهد داشت . معمولا" اگر در برخی برنامه ها عملیات خاصی را در مرحله مقدار دهی اولیه انجام می هیم ، می بایست برخی از عملیات متناظر با آنان را
  در مرحله پاکسازی انجام داد . باز نمودن و بستن فایل های مورد نیاز در یک برنامه ، نمونه ای متداول از دو مرحله فوق می باشد .

آیا هر برنامه شامل پنج مرحله گفته شده است؟

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

 

 

 

پالایش یک طرفه   (  SidewaysRefinement )

همانگونه که قبلا" اشاره گردید ، ما علاقه مند به طراحی بالا به پایین می باشیم .( الگوریتم ماکرو بعنوان یک نقطه شروع در فرآیند طراحی برنامه) . پس از انتخاب رویکرد فوق  ، می بایست شناخت مناسبی نسبت به مسئله ای که قصد حل آن وجود دارد ، ایجاد گردد. تا رسیدن به  سطح میکرو( ارائه الگوریتم های میکرو) بمنظور حل مسئله مورد نظر راه زیادی را در پیش خواهیم داشت. بموازات حرکت از سطح مرور کلی برنامه به خصوصیات و ویژگی های یک برنامه ، می بایست دانش خود را نسبت به جرئیات مربوطه افزایش داد .

از پنج مرحله گفته شده ، می توان بمنظور نقطه شروع دید ماکرو خود در زمان فرآیند طراحی استفاده کرد. درادامه ، می توان هر یک از مراحل را بدقت بررسی تا  جزئیات بیشتری در رابطه با مرحله مورد نظر ، مشخص گردد ( استخراج جزئیات لازم در رابطه با تحقق هر مرحله ) .  فرآیند  فوق ، " پالایش یک طرفه " ، نامیده می شود . در ادامه ، بمنظور شناخت مناسب فرآیند پالایش یک طرفه  ، به بررسی یک نمونه می پردازیم .

فرض کنید ، کاربری دارای  یک فایل بانک اطلاعاتی است که در آن تمام قرار ملاقات های وی ، ذخیره شده اند . قرار ملاقات ها در بانک اطلاعاتی با نظم و ترتیب خاص (تاریخ قرار ملاقات ) ذخیره شده اند . کاربر ، می خواهد قادر به مشاهده قرار ملاقات های خود بر اساس حروف الفبائی و بر اساس نام خانوادگی اشخاص مورد نظری که قصد ملاقات با  وی را دارند ، باشد. چگونه می توان از پالایش یک طرفه ، بمنظور طراحی یک را ه حل استفاده کرد؟

پالایش یک طرفه مرحله مقدار دهی اولیه

می دانیم که کاربر دارای یک بانک اطلاعاتی شامل قرار ملاقات ها ، می باشد. ما همچنین می دانیم که کاربر می خواهد لیستی از قرار ملاقات های خود را بصورت مرتب شده و بر اساس نام خانوادگی مشاهده نماید . موارد فوق ، دید ماکروی ما از الگوریتم است . بنابراین ، در مرحله مقداردهی اولیه چه عملیاتی می بایست انجام داد ؟ واضح است که ما نیازمند باز نمودن بانک اطلاعاتی قرار ملاقات ها می باشیم . ما همچنین نیازمند یک فرم ( مثلا" یک فرم مبتنی بر VB.NET و یا فرم وب ) بمنظور نمایش نتایج پس از مرتب سازی قرار ملاقات ها ، خواهیم بود. ( فرض می شود از مکان  بانک اطلاعاتی بر روی شبکه  آگاهی داریم ، و می توان نام و رمز عبور کاربر را از بانک اطلاعاتی مربوطه  بمحض آغاز اجرای برنامه توسط کاربر ، مشخص کرد) . با استفاده از اطلاعات فوق، اولین "پالایش یک طرفه " ، بصورت زیر خواهد بود :

 

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

شبه کد ( PseudoCode )

عملیات پالایش را می توان در رابطه با هر مرحله  با استفاده از "شبه - کد " ، دنبال کرد. شبه کد ،الگوریتمی برای بیان عملیاتی است که می بایست  توسط یک روتین محقق گردد . در این راستا از یک گرامر مشابه انگلیسی ، استفاده می گردد . مثلا"  شبه کد ، روتین IsValidUser بصورت زیر خواهد بود:

شبه کد روتین IsvalidUser

Is ValidUser()
  If  CurrentUserName Not in ValidUserList
        Display Invalid User Error Message
        Terminate Program
  Else
       Return ValidUserIDNumber
End

 

 

شبه کد ، عملیاتی را که یک روتین می بایست انجام دهد ، بدون  اتکاء به گرامر یک زبان برنامه نویسی خاص ، تشریح می نماید. شبه کد ، زبانی مبتنی بر گرامری خاص نبوده  و  الگوریتمی از عملیات مورد نظر که می بایست توسط یک روتین انجام شود را مشخص می نماید. مزیت شبه کد، شباهت زیاد آن به زبان انگلیسی است و می توان آن را با افرادیکه برنامه نویس نبوده و بنوعی در فاز طراحی صاحبنظر می باشند  ، به اشتراک تا صحت استنباطات حاصل شده تائید و یا اصلاح گردد.( در فاز طراحی می بایست یک ارتباط مستمر با کاربران صاحبنظر برقرارگردد، ما قرار است مسئله آنان را حل نمائیم نه مسئله خود را  و یا نمی خواهیم مسئله ای دیگر را بر حجم مسائل آنان اضافه نمائیم!)  بدین ترتیب ، امکان تشخیص خطاء و اعمال تعییرات لازم در خصوص برخورد با خطاهای احتمالی در ابتدا فراهم می گردد ( یکی از اصول مهندسی نرم افزار در این رابطه به این موضوع اشاره می نماید که به هر میزان که زمان کشف یک خطاء در چرخه حیات یک برنامه سریعتر باشد ، هزینه برخورد با  خطاء کاهش خواهد یافت ) .

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

 الگوریتمی عمومی برای یافتن "Site label "هائیکه احتمال شبکه را حداکثر کنند به نام "Belief Propagation" (BP) نامیده می‌شوند و مهیا ساز یک ابزار مؤثر برای حل مسائل استنتاجی از طریق گسترش احتمالات مرزی از طریق شبکه عصبی است. در این جا سه تابع اساسی احتمال وجود دارد:

 

احتمال گره

 

احتمال مرزی

 

احتمالات مشروط

 

ایدة اصلی Belief Propagation عبارت است از:

 احتمال Lable های پایه در یک حالت پایه در شبکه عصبی که از طریق محاسبة احتمال نهائی (جمع زدن) بر روی احتمال برای گره های پایه، داده شده فقط برای احتمالات "Site Label" های همسایگی Markov ، Ni که در شکل زیرنشان داده شده است (مثلاً node ها را می‌توان به عنوان مدارهای نانومقیاس input/output در نظر گرفت)

 

می‌توان نود ها را در شبکه طبقه‌بندی کرد به گونه‌ای که هر یک دارای برچسب احتمال معین باشند و نیز آنهائی که مقادیر آن‌ها از طریق الگوریتم تکثیر، تعیین می‌شود.

نودهای نوع اول از طریق یک ورودی محاسباتی که مقدار آن مقید به setup مسأله است.

 چنین نودهائی به نام «نودهای قابل مشاهد» نامیده می‌شوند و سایر نودها به نام «نودهای پنهان» نامیده می‌شوند. ما به احتمالاتی استناد می‌کنیم که به صورت تقریبی محاسبه می‌شوند و به عنوان "belief" می‌نامیم و belief در نود i ام را بصورت b(xi) نشان می‌دهیم.

در روش MRF، نودهای قابل مشاهده موسوم به yi ، ثابت فرض می‌شود و xi معرف نودهای پنهان است.  همان است. سپس فرض می‌شود که تعدادی وابستگی آماری بین xi و yi در هر موقعیت i ام وجود دارد و  به عنوان «احتمال گره» نامیده می‌شود. تابع فوق اغلب به عنوان evidence برای xi خوانده می‌شود.

برای آنکه قادر باشیم استناد کنیم به هر چیزی در حوزة معماری کامپیوتر نانوئی، مجبوریم تعدادی ساختار پایه xi داشته باشیم. ساختار xi  فرض شده را رمز می کنیم با این فرض که متغیر xi می‌بایستی تا جائیکه مقدور است با متغیرهای همسایگی xj ، سازگار باشد که آن را با تابع سازگاری نشان می‌دهیم که می بایستی فقط موقعیت‌های همسایه را به هم می‌پیوندد. سپس تابع توزیع احتمال گره به ازاء متغیرهای مجهول xi که به صورت زیر است را اعمال می کنیم:

 

که در آن z یک ثابت نرمال شده است.

این احتمالات محاسباتی، قابلیت تکثیر در گام بعدی محاسبات را برآورد می‌کند. اثبات شده است که این الگوریتم تکثیر به حداکثر احتمال اختصاص یافته به کل شبکه همگرا خواهد شد و در آن هیچ چرخه  ای بیرونی وجود ندارد. این الگوریم افزایشی،« پیچیدگی محاسباتی» در مرتبه تعداد نودهای موجود در شبکه با یک جملة وزن دهنده به نسبت ابعاد همسایگی دارد. در مورد چرخه ها، احتمالات می‌بایستی به

 

 

 

صورت ترکیبی بر روی حوزه شبکه انجام شود که متضمن راه حلهای مبتنی بر حداکثر احتمال است. یعنی اینکه، می‌بایستی شبکه به بلوکهای شبکه‌ای loop – free که هر یک به صورت درونی دارای loop هستند، تقسیم شود. به هر حال، نشان داده شده است که الگوریتم تکثیر Belief، به حداکثر حالت احتمال در حضور Loopها، همگرا خواهد شد.

کاربرد های عمومی الگوریتم‌ها به همراه استفاده از ساختمان داده ها:

یکی از کاربرد‌های مهم الگوریتم‌ها و استفاده از ساختمان داده ها در مرتب سازی داده‌ها است. مرتب سازی عملی بنیادی در علم کامپیوتر است. (برنامه‌های زیادی از آن بعنوان یک مرحله میانی استفاده می‌کنند.) در نتیجه تعداد زیادی از الگوریتم‌های مرتب سازی بهبود یافته‌اند . اینکه کدام الگوریتم برای یک کاربرد مورد نظر بهتر است به تعداد اقلام اطلاعاتی که بایستی مرتب شوند , میزان مرتب بودن اقلام, محدودیت‌های حافظه یا زمان و یا نوع دستگاه ذخیره سازی استفاده شده (حافظه اصلی, دیسک‌ها یا نوارهای مغناطیسی و ...) بستگی دارد.

از جمله مهترین الگوریتم‌های مرتب سازی می‌توان به موارد زیر اشاره کرد :

مرتب سازی درجی (Insertion sort)

مرتب سازی ادغام (Merge sort)

مرتب سازی انتخابی (Selection sort)

مرتب سازی حبابی (Bubble sort)

مرتب سازی سریع (Quick sort)

مرتب سازی تنها مسئله محاسباتی که در آن الگوریتم‌ها توسعه یافته‌اند نمی‌باشد. کاربرد‌های عملی الگوریتم‌ها و استفاده از ساختمان داده های مناسب در همه جا وجود دارند و شامل نمونه‌های زیر می‌باشند :

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

پروژه ژن انسان با هدف شناسایی 1000000 ژن در DNA انسان , تعیین یک توالی از میلیاردها جفت پایه شیمیایی تشکیل دهنده DNA انسان , ذخیره این اطلاعات در پایگاه‌های داده و توسعه ابزار‌های لازم جهت تحلیل داده‌های مربوطه.

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

نقشه جاده ها که در آن فاصله بین هر جفت تقاطع همجوار مشخص شده‌است. تعداد مسیر‌های ممکن می‌تواند بسیار زیاد باشد؛ هدف ما این است که کوتاه ترین مسیر از یک تقاطع به تقاطع دیگر را بیابیم. این عمل همان مسئله یافتن کوتاه ترین مسیر از یک رأس به رأس دیگر در گراف می‌باشد.

منابع

Introduction to Algorithms (CLRS)-Second Edition - The MIT Press

Babylon dictionary (Persian Computer Encyclopedia) - Computer and IT dictionary for Persian



مشخصات فروشنده

نام و نام خانوادگی : یعقوب ذاکری

شماره تماس : 09017568099 - 07642351068

ایمیل :shopfile95.ir@gmail.com

سایت :shopfile95.sellfile.ir

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

پرداخت و دانلودگزارش خرابی و شکایت از فایل

تحقیق در مورد الگوریتم

تحقیق در مورد الگوریتم

ک پرداخت و دانلود *پایین مطلب*

 

فرمت فایل:Word (قابل ویرایش و آماده پرینت)

  

تعداد صفحه:19

 

فهرست مطالب

 

 

 

 

 

چکیده : در این گزارش ما به بررسی ویژگی های الگوریتمهای کنترل همروندی توزیعی که بر پایه مکانیزم قفل دو مرحله ای(2 Phase Locking)   ایجاد شده اند خواهیم پرداخت. محور اصلی این بررسی بر مبنای تجزیه مساله کنترل همروندی به دو حالت read-wirte و write-write می‌باشد. در این مقال، تعدادی از تکنیکهای همزمان سازی برای حل هر یک از قسمتهای مساله بیان شده و سپس این تکنیکها برای حل کلی مساله با یکدیگر ترکیب می‌شوند.

در این گزارش بر روی درستی و ساختار الگوریتمها متمرکز خواهیم شد. در این راستا برای ساختار پایگاه داده توزیعی یک سطحی از انتزاع را در نظر می‌گیریم تا مساله تا حد ممکن ساده سازی شود.

 

  1. مقدمه : کنترل همروندی فرآیندی است که طی آن بین دسترسی های همزمان به یک پایگاه داده در یک سیستم مدیریت پایگاه داده چند کاربره هماهنگی بوجود می‌آید. کنترل همروندی به کاربران اجازه می‌دهد تا در یک حالت چند برنامگی با سیستم تعامل داشته باشند در حالیکه رفتار سیستم از دیدگاه کاربر به نحو خواهد بود که کاربر تصور می‌کند در یک محیط تک برنامه در حال فعالیت است. سخت ترین حالت در این سیستم مقابله با بروز آوری های آزار دهنده ای است که یک کاربر هنگام استخراج داده توسط کاربر دیگر انجام می‌دهد. به دو دلیل ذیل کنترل همروندی در پایگاه داده های توزیعی از اهمیت بالایی برخوردار است:
  2. کاربراان ممکن است به داده هایی که در کامپیوترهای مختلف در سیستم قرار دارند دسترسی پیدا کنند.
  3. یک مکانیزم کنترل همروندی در یک کامپیوتر از وضعیت دسترسی در سایر کامپیوترها اطلاعی ندارد.

مساله کنترل همروندی در چندین سال قبل کاملا مورد بررسی قرار گفته است و در خصوص پایگاه‌داده‌های متمرکز کاملا شناخته شده است. در خصوص این مسال در پایگاه داده  توزیعی با توجه به اینکه مساله در حوزه مساله توزیعی قرار می‌گیرد بصورت مداوم راهکارهای بهبود مختلف عرضه می‌شود. یک تئوری ریاضی وسیع برای تحلیل این مساله ارائه شده و یک راهکار قفل دو مرحله ای به عنوان راه حل استاندارد در این خصوص ارائه شده است. بیش از 20 الگوریتم کنترل همروندی توزیعی ارائه شده است که بسیاری از آنها پیاده سازی شده و در حال استفاده می‌باشند.این الگوریتمها معمولا پیچیده هستند و اثبات درستی آنها بسیار سخت می‌باشد. یکی از دلایل اینکه این پیچیدگی وجود دارد این است که آنها در اصطلاحات مختلف بیان می‌شوند و بیان های مختلفی برای آنها وجود دارد. یکی از دلایل اینکه این پیچدگی وجود دارد این است که مساله از زیر قسمتهای مختلف تشکیل شده است و برای هر یک از این زیر قسمتها یک زیر الگوریتم ارائه می‌شود. بهترین راه برای فائق آمدن بر این پیچدگی این است که زیر مساله ها و الگوریتمهای ارائه شده برای هر یک را در ی.ک سطح از انتزاع نگاه داریم.

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

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

حالت اول را می‌توان بروزآوری از دست رفته نامید. حالتی را تصور کنید که دو مشتری از دو سیستم مجزا بخواهند از یک حساب مالی برداشت نمایند. در این حالت فرض کنید در غیاب سیستم کنترل همروندی، هر دو با هم اقدام به خواندن اطلاعات و درج اطلاعات جدید در سیستم میکنند. در این حالت در غیاب سیستم کنترل همروندی تنها آخرین درج در سیستم ثبت می‌شود. این حالت در شکل 1 نشان داده شده‌ است.

 

حالت دوم حالتی است که در آن اطلاعات صحیح از پایگاه داده استخراج نمی‌شود. در این حالت فرض کنید دو مشتری بخواهند کارهای ذیل را انجام دهند.

  • مشتری 1: بخواهد یک چک 1 میلیونی را به حساب X واریز و از حساب Y برداشت نماید.
  • مشتری 2: بخواهد بیلان حساب مالی X و Y شامل کل موجودی را نمایش دهد.

در غیاب کنترل همروندی همانطور که در شکل 2 نشان داده شده‌است، تزاحم بین پروسس ها بوجود خواهد آمد. فرض کنید در زمانی که مشتری 1 اطلاعات را از حساب Y خوانده و اطلاعات حساب X را دریافت نموده و 1 میلیون از حساب Y برداشت نموده ولی هنوز 1 میلیون به حساب X و اریز نکرده مشتری 2 اطلاعات کل دو حساب را دریافت نموده و نتیجه را چاپ نماید. در این حالت مشتری شماره 2 اطلاعاتی را که به عنوان بیلان نمایش می‌دهد 1 میلیون از مقدار واقعی کمتر است. این حالت یک فرق اساسی با حالت اول دارد و آن این است که در این حالت نتیجه نهایی در پایگاه داده درست خواهد بود در حالیکه اطلاعات دریافت شده بصورت موقت غلط خواهند بود.

 

 

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

کنرتل همروندی و دوبه‌دو ناسگاری از این جهت که هر دو دسترسی به منابع مشترک را کنترل میکنند با هم شباهت دارند.  با این حال راه حلی که برای یکی بکار می‌رود قابل بهره برداری برای دیگری نیست. فرض کنید پردازه های P1 و P2 بخواهند از نقاط مختلف کدهای خود به منابع R1 و R2 دسترسی پیدا کنند. در سیستم عامل دسترسی مجزای ذیل قابل قبول است. P2 از R1 استفاده کند، P2 از R1 استفاده کند، P2  از R2 استفاده نموده و سپس P1 از R2 استفاده نماید. در پایگاه داده این روند اجرا مورد قبول نیست و مشکلاتی را ایجاد می‌کند. فرض کنید P1 بخواهد از R1 مبلغی را به R2 انتقال دهد. در این حالت اگر P2 مقادیر R1 وR2  را چک کند مقادیر غیر صحیح را دریافت می‌کند.

  1. مدل پردازش تراکنش: برای اینکه روند اجرای عملیات در سیستمهای پایگاه داده های توزیعی برای خواننده مشخص شود ما در اینجا یک مدل از پایگاه داده‌های توزیعی را ارائه می‌دهیم. سپس نحوه عملکرد مکانیزم کنترل همروندی را در این مدل بیان خواهیم نمود. در این مدل پایگاه داده، یک پایگاه داده توزیعی مجموعه از سایتهاست که توسط یک شبکه به هم متصل شده‌اند. هر سایت یک کامپیوتر است که یکی یا هر دوی برنامه های ذیل را اجرا می‌کند. برنامه‌ها شامل یک مدیر تراکنش یا TM و یک مدیر داده یا DM است. TM مسئول مدیریت تعامل کاربر با پایگاه داده است و DM مسئول نگهداری داده‌ها است. شبکه نیز یک وسیله ارتباطی کامپیوتر – کامپیوتر است. فرض بر این است که شبکه کاملا امن می‌باشد و پیامها را با همان ترتیبی که وارد سیستم می‌شوند به مقصد ارسال می‌شود. فرض بر این است که تعداد داده های موجود در سیستم شامل X ، Y  و Z است که داده های منطقی موجود در سیستم را تشکیل می‌دهند. داده های ذکر شده فقط واحد داده های منطقی هستند و ما با سایز و قالب و جزئیات آنها کاری نخواهیم داشت. هر پایگاه داده در این سیستم یک نسبت دهی مقادیر بصورت منطقی به این داده های منطقی است. هر داده منطقی می‌تواند در یک یا بیشتر از یک DM ذخیره شود. افزونگی داده در اثر ذخیره داده در چندین DM برای افزایش دسترسی به داده‌ها است. هر کپی از داده ذخیره شده آیتم داده نامیده می‌شود. نسخه های متعدد داده X را بصورت  X1,X2,...   نشان داده می‌شوند. کاربران با DDBMS از طریق اجرای تراکنشها تعامل دارند. تراکنشها می‌توانند پرس و جو های on-line باشند که با زبان استاندارد پرس و جو ارسال شده اند. از طرفی تراکنشها می‌توانند عملیاتی باشند که از طریق برنامه های نوشته شده به سیستم داده می‌شوند. الگوریتمهای کنترل همروندی، کاری با نوع تراکنشهای موجود در سیستم ندارند و محاسبات انحام شده در این تراکنشها تاثیری در روند این الگوریتمها ندارد. بر خلاف اینها این الگوریتمها تمام تصمیم گیری های خود را بر اساس داده هایی که این تراکنشها به آنها دسترسی پیدا می‌کنند انجام می‌دهند. دسترسی ها می‌توانند از نوع خواندن یا نوشتن باشند. فرض بر این است که محاسبات در تراکنشها کامل بوده و اگر تراکنش در یک پایگاه داده به تنهایی اجرا شود، پایگاه داده در حالت صحیح و مانا قرار گرفته و نتایج کاملا صحیحی در بر خواهد داشت. مجموعه منطقی خواندنی یک تراکنش مجموعه ای از آیتمهای داده ای است که تراکنش می‌خواند. این امر در شکل 3 نمایش داده شده است.

 

 

صحت یک الگوریتم کنترل همروندی بر اساس نیاز کاربران به اجرای تراکنشها تعریف می‌شود. در اینجا می‌توان دو شرط اساسی را می‌توان برای اجرای صحیح تراکنشها می‌توان در نظر گرفت. شرط اول این است که کاربران انتظار دارند تراکنشهایی را که در سیستم ثبت می‌کنند، نهایتا اجرا شود. شرط دو م این است که کاربران انتظار دارند تراکنشهای ارسالی دقیقا مانند زمانی که تراکنش در یک سیستم مجزا یا در یک محیط موازی چند برنامه، اجرا می‌شود اجرا شود و نتایج آن در هر دوحالت کاملا مشابه باشد. تحقق این شرایط دقیقا اهداف یک الگوریتم کنترل همروندی را مشخص می‌کنند. یک سیستم DDBMS چهار جزء اصلی را در برخواهد داشت: تراکنش، TM، DM و داده‌ها. تراکنشها با TM ارتباط دارند. TM ها با DM ها ارتباط برقرار می‌کنند و DM  ها داده ها را مدیریت می‌کنند. TM ها با سایر TM  ها ارتباط برقرار نمی‌کنند.

TM  ها بر ترکانش ها و اجرای آنها نظارت می‌کنند. هر تراکنش در پایگاه داده های توزیعی فقط با یک TM در ارتباط است. این بدین معنا است که هر تراکنش تمام عملیات پایگاه داده خود را به TM مربوط به خود ارسال می‌کنند.  تمامی عملیاتهای توزیعی که بایستی توسط تراکنش انجام شود توسط TM مزبور مدیریت می‌شود. چهار عملیات مختلف توسط واسط TM برای تراکنشها قابل تعریف است. read(x) مقدار جاری x را در وضعیت فعلی پایگاه داده های منطقی برمی‌گرداند. write(x,newvalue) مقدار x را در حالت جاری پایگاه داده‌های منطقی به مقدار Newvalue تغییر می‌دهد. همچنین با استفاده از begin و end ابتدا و انتهای یک تراکنش برای یک TM مشخص می‌شود.

3-تحلیل مساله کنترل همروندی : در اینجا ما با دو رویکرد به مواجه با مساله کنترل همروندی خواهیم پرداخت. در رویکرد اول به نحوه اجرای صحیح خواهیم پرداخت و در رویکرد دوم به تجزیه مساله به بخشهای قابل حل خواهیم پرداخت.

3-1- قابلیت توالی: فرض کنید E یک ترتیب اجرای تراکنشهای t1 تا Tn باشد. در اینصورت E یک اجرای متوالی از تراکنشها است، در صورتیکه هر تراکنش قبل از اجرای تراکنش بعدی به طور کامل اجرا شده و خاتمه پذیرد. تمامی ترتیبهای اجرای متوالی از دیدگاه پایگاه داده‌ها صحیح تصور می‌شوند، چرا که خواص تراکنش اذعان می‌کند که در خاتمه اجرای متوالی صحت پایگاه داده حفظ می‌شود. یک ترتیب اجرای تراکنش قابل توالی (Serializable) محسوب می‌شود در صورتیکه نتیجه خروجی اجرای آن برابر یک اجرای متوالی از تراکنشهای مشابه باشد. در نتیجه تمام اجراهای متوالی serializable  محسوب می‌شوند و نتیجه صحیحی خواهند داشت.

هدف الگوریتم کنترل همروندی این است که تضمین کند که تمامی ترتیب های اجرای تراکنش ها قابل توالی می‌باشند. تنها عملیاتی که به داده‌های پایگاه داده دسترسی پیدا میکنند dm-read و dm-write می‌باشند. بنا براین برای پایش اجرای توالی لازم است فقط dm-read و dm-write های موجود در پایگاه داده توزیعی در dm ها مختلف مدل شده و رفتار آنها کنترل شود. log فایلها می‌توانند شرح دهنده توالی dm-read ها و Dm-write ها باشند. در یک پایگاه داده توزیعی، یک ترتیب اجرا قابل توالی نامیده میشود در صورتیکه به ازای Ti که قبل از tj در توالی قرار دارد، تمامی عملیاتهای Ti قبل از tj در تمامی سایتها انجام شده باشند. این نشان دهنده این است که تمامی تراکنشها باید به ترتیب وارد شده در تمامی سایتها اجرا شوند.

دو عملیات با هم تداخل دارند اگر هر دو عملیات بر روی یک داده مشترک کار کرده و یکی از داده ها dm-write باشد. در این حالت اگر دو عملیات با هم تداخل داشته باشند، ترتیب اجرای دو عمل بر روی نتیجه نهایی تاثیر مستقیم خواهد داشت. برای روشنتر شدن موضوع به بحث در خصوص یک مثال خواهیم پرداخت. فرض کنید ایتم داده‌ای x و تراکنشهای ti و Tj موجود باشند. اگر ti  اقدام به خواندن مقدار X نموده و tj اقدام به نوشتن مقدار جدیدی در x نماید. در اینصورت مقدار خوانده شده توسط ti به تقدم و تاخر عملیاتهای خواندن و نوشتن وابسته خواهد شد. بطور مشابه فرض کنید ti و tj  هر دو بخواهند مقدار جدید را در x بنویسند، در اینصورت مقدار x دقیقا به این امر وابسته می‌شود که کدام عملیات دیرتر انجام شده است. حالت اول را تداخل خواندن- نوشتن (rw) و حالت دوم را تداخل نوشتن – نوشتن (ww)  می‌نامند.

نمایش تداخل های مختلف می‌تواند به ارائه یک تعریف فرموله شده برای ترتیبهای اجرای هم ارز کمک کند. دو ترتیب اجرای تراکنش از نظر محاسباتی زمانی معادل هستند که دو شرط ذیل در آنها صادق باشد:

  1. هر dm-read در تراکنش، داده ای را بخواند که از ابتدا به تراکنش داده شده باشد یا داده ای باشد که توسط یک dm-write از همین تراکنش نوشته شده باشد.
  2. نتیجه نهایی نوشته شده در آیتم داده‌ای در هر دو ترتیب اجرا یکسان باشد.

قضیه 1: فرض کنید t که بصورت ذیل تعریف شده است مجموعه ای از تراکنشها در یک پیگاه داده باشد:

 

آنگاه اگر E یک ترتیب اجرا از این تراکنشها در log های l1 تا lm باشد، E قابل توالی خواهد بود اگر به ازای هر دو عملیات oi و oj که با یکدیگر تداخل دارند به ازای تمامی Log ها ترتیب یکسانی نسبت به یکدیگر داشته باشند.

قضیه فوق الذکر برای حل مسائل مربوط به ترتیب توالی در سیستم بکارمی‌رود.

3-2- یک الگو برای کنترل همروندی: در قضیه فوق تداخلهای خواندن- نوشتن و نوشتن – نوشتن بصورت مشترک در یک تعریف عمومی از تداخل ظاهر شده اند. در هر حال ما می‌توانیم مساله قابلیت توالی را با تفکیک این دو نوع تداخل بهتر بررسی کنیم. فرض کنید E یک مجموعه از log های ثبت شده در یک توالی باشد.  ما چند رابطه را می‌توانیم بین تراکنشهای موجود در E تعریف کنیم. برای هر جفت تراکنش Ti و Tj خواهیم داشت:

شرح رابطه

نوع رابظه

اگر log وجود داشته باشد که در آن Ti داده‌ای را می‌خواند که بلافاصله Tj در آن می‌نویسد.

rw

اگر log وجود داشته باشد که در آن Ti در داده‌ای را می‌نویسد که بلافاصله Tj از آن می‌خواند.

wr

اگر log وجود داشته باشد که در آن Ti در داده‌ای را می‌نویسد که بلافاصله Tj در آن می‌نویسد

ww

اگر Ti->rw Tj با Ti->wr Tj

rwr

اگر Ti->rwr Tj با Ti->ww Tj

 

 

قضیه 2: اگر روابط rwr و ww بصورت غیر حلقوی بوده و یک ترتیب کلی برای این روابط بتوان متصور شد.

بنا بر قضیه فوق می‌توان الگوریتمهای کنترل همروندی را مورد ارزیابی و بررسی قرار داده و صحت آنها را از طریق اثبات ریاضی محک زد. تشخیص تداخلهای rw و ww برای کشف ایراد در الگوریتمهای کنترل همروندی کاربرد فراوانی دارد. قضیه 2 به ما اجازه می‌دهد تا مساله کنترل همروندی را به قسمتهای کوچکتر تقسیم نموده و بتوان هر یک از این قسمتها را بطور مستقل بررسی  نمود.

4-مکانیزمهای کنترل همروندی بر پایه قفل دو مرحله‌ای : قفل دو مرحله ای با تشخیص روشن تداخل بین عملیاتهای همروند و جلوگیری از آنها، بین عملیاتهای خواندن و نوشتن همزمانی بوجود می‌آورد. قبل از اینکه یک تراکنش x را بخواند باید یک قفل خواندن بر روی x قرار دهد و قبل از اینکه یک تراکنش روی داده x بنویسد، باید یک قفل نوشتن روی x قرار دهد. تصاحب قفلها با توجه به دو قانون بدست می‌آید.:

  1. تراکنشهای مختلف نمی‌توانند قفلهایی که باعث ایجاد تداخل می‌شوند بدست آورند.
  2. زمانی که یک تراکنش شروع به آزاد کردن قفلهای خود نمود، دیگر نمی‌تواند قفل دیگری بدست آورد.

قفلهایی که باعث تزاحم می‌شوند با توجه به نوع همزمان سازی مشخص و تعریف می‌شوند. برای حالت rw دو قفل زمانی با هم تداخل دارند که دو شرط در آنها صدق کند:

  1. هر دو قفل بر روی یک داده واحد باشند.
  2. یکی قفل نوشتنی و دیگری قفل خواندنی باشد.

برای حالت ww دو قفل زمانی با هم تداخل دارند که دو شرط در آنها صدق کند:

  1. هر دو قفل بر روی یک داده واحد باشند.
  2. هر دو قفل از نوع نوشتنی باشند.

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

روشهای مختلفی برای الگوریتمهای قفل دو مرحله‌ای پیشنهاد شده است. یکی از این روشها این است که تراکنش قفلهای مورد نیاز را قبل از اجرای اصلی خود بدست آورد.  این نسخه از قفل دو مرحله‌ای را پیش تعریف می‌نامند. برخی از سیستمهای تراکنشها را مجبور می‌کنند تا قفلهای خود را تا پیش از خاتمه نگه دارند. قفل دو مرحله‌ای یک تکنیک صحیح ایجاد قابلیت توالی است. این امر با بررسی سیستم از لحظه عدم وجود حلقه و دور در روابط rwr و ww مشخص است.  ترتیب اجرای تراکنشها با ترتیب بدست آوردن قفلها مشخص می‌گردند. نقطه ای که در آن تراکنش تمامی قفلهای مورد نیاز خود را بدست آورده است را نقطه تصاحب قفل می‌نامند. روشهای مختلفی برای ایجاد الگوریتم قفل دو مرحله ای در سیستمهای توزیعی وجود دارد که در قسمت بعد مورد بررسی قرار می‌گیرد.

5-پیاده سازی پایه قفل دو مرحله‌ای : در پیاده سازی پایه الگوریتم قفل دو مرحله‌ای یک ماژول نرم افزاری ایجاد می‌شود که روند دریافت و آزاد سازی قفلها را بر اساس ویژگی های الگوریتم قفل دو مرحله‌ای کنترل می‌کند.

یک روش برای پیاده سازی توزیعی این الگوریتم این است که ماژولهای نرم افزاری را بین اجزای پایگاه‌داده توزیع نمائیم. برای اینکار هر ماژول را در dm یعنی آنجائیکه x داده تحت کنترل است قرار دهیم. اگر یک قفل قابل تخصیص نباشد، درخواست برای قفل در یک صف انتظار قرار داده می‌شود. قفلهای نوشتن بطور خودکار با انجام عمل write آزاد می‌شوند. در اینصورت برای آزاد نمودن قفلهای خواندنی بایستی عملیات اضافه تعریف نمود. آزاد نمودن قفلها با نوشتن اطلاعات و آغاز فاز تخلیه آغاز می‌شود. هرگاه یک قفل آزاد می‌شود عملیاتهای موجود در صف شروع به ادامه می‌کنند.

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

 

6-قفل دو مرحله‌ای با نسخه اولیه : قفل دو مرحله‌ای با نسخه اولیه یک تکنیک از نوع قفله دو مرحله‌ای است که که به افزونگی داده توجه خاصی دارد. یک کپی از هر داده منطقی به عنوان یک کپی یا نسخه اولیه از داده مزبور مطرح می‌شود. قبل از دسترسی به هر گونه کپی از داده های منطقی، قفل صحیح باید از کپی اولیه اخذ شود.

برای قفلهای خواندنی این روش تعامل و ارتباطات بیشتری را نیاز دارد.فرض کنید که  ‏T یک تراکنش باشد که بخواهد داده x را بخواند. در اینصورت اگر X1 کپی اولیه از x باشد و xi برای خواندن توسط تراکنش در دسترس باشد، تراکنش بایستی با x1 که کپی اولیه داده است تعامل داشته و قفل خود را بدست آورد و پس از آن نیز با تعامل با xi داده مورد نظر خود را از Xi بخواند. برای قفلهای نوشتنی بر عکس پیاده سازی پایه قفل دو مرحله ای تراکنش احتیاجی به تعامل بیشتر با سایر dm ها ندارد. در پیاده سازی پایه قفل دو مرحله ای، اگر یک تراکنش می‌خواست داده x را بروز کند، لازم بود تا بر تمامی نسخه های x قفل نوشتنی بزند و سپس عمل نوشتن را بر روی تمامی نسخه های x   انجام دهد اما در اینجا فقط لازم است که تراکنش قفل نوشتن را بر روی کپی اولیه قرار دهد و در صورت بدست آوردن قفل، باید عملیات نوشتن را مانند روش قبل بر روی تمامی نسخه های x انجام دهد.

6-قفل دو مرحله‌ای با رای گیری : قفل دو مرحله ای با رای گیری پیاده‌سازی دیگری از روشهای قفل دو مرحله ای است که در آن افزونگی داده بیشتر مد نظر قرار گرفته است. این روش شکل تغییر یافته الگوریتم توافق اکثریت توماس است و تنها برای همزمان سازیهای ww مناسب است.

برای فهم بهتر این روش بهتر است آنرا در داخل روش two phase commit توصیف کنیم. فرض کنید یک تراکنش بخواهد بر روی داده x مقدار جدیدی را بنویسد، در اینصورت درخواست قفل به تمامی نسخه های داده x ارسال شود. در صورتیکه قفل قابل تخصیص باشد، DM دریافت کننده قفل بایستی یک پیام تخصیص قفل صادر نماید. در صورتیکه قفل قابل تخصیص نباشد نیز یک پیام بلوکه شدن در خواست قفل ارسال می‌گردد. در صورتیکه پیامها از dm های مختلف برگشت داده شد، حال tm ارسال کننده درخواست قفل اقدام به تصمیم‌گیری می‌نماید. در صورتیکه تعداد قفلهای اخذ شده دارای اکثریت باشند، آنگاه tm دقیقا مانند حالتی عمل میکند که قفلهای لازم را بر روی نسخه داده ای مزبور بدست آورده است. در این حالت tm باقی عملیات یعنی نوشتن بر روی داده مزبور را انجام می‌دهد. در صورتیکه قفلهای لازم بر روی داده مورد نظر به تعداد اکثریت نباشد، Tm منتظر دریافت پاسخ تخصیص قفل از dm هایی که پاسخ بلوکه شدن قفل را ارسال نمودند، می‌شود. در این حالت با دریافت پاسخ جدید از dm هایی که قبلا درخواست را بلوکه کردند، tm تعداد قفلهای لازم را بررسی می‌کند. در صورت اخذ اکثریت آرا، اجرای خود را ادامه می‌دهد. از آنجائیکه فقط یک تراکنش می‌تواند در هر لحظه اکثریت قفلهای نوشتن را بدست آورد در نتیجه فقط در هر لحظه فقط بک تراکنش می‌تواند بر روی اطلاعات تغییرات اعمال نماید. در هر لحظه فقط یک تراکنش می‌تواند در فاز نوشتن خود قرار داشته باشد. در نتیجه تمامی نسخه های x دارای یک ترتیب مشخص و مشترک  از مقادیر می‌باشند. نقطه قفل یک تراگنش جایی است که یک تراکنش توانسته است اکثریت قفلهای لازم را برای نوشتن برای هر آیتم داده‌ای در مجموعه نوشتاری خود بدست آورد.  برای بروز آوری های با حجم بالا ، تراکنش بایستی اکثریت قفلهای نوشتن را بر روی تمامی آیتمهای داده ای نوشتنی خود قبل از ارسال دستورات نوشتن بدست آورد.

در حقیقت، قفل دو مرحله ای با رای گیری می‌تواند برای همزمان سازی عملیات های rw سازگار شود. برای اینکار برای خواندن یک نسخه داده‌ای بایستی قفل خواندن از تمامی نسخه های داده ای درخواست شود. در صورتیکه اکثریت قفل خواندن از dm ها بدست آید می‌تواند اطلاعات مورد نظر را بخواند. این روش روش بسیار خوب و قدرتمندی است ولی در این روش برای خواندن یک آیتم داده ای بایستی از تمامی سایتهایی که دارای یک نسخه از آیتم داده‌ای مذکور هستند قفل خواندن اخذ شود که عملا سیستم را بسیار کند می‌کند.

7- قفل دو مرحله‌ای متمرکز : بجاری توزیع نمودن زمانبندها بر روی سایتهای مختلف، همه زمانبندها را بر روی یک سایت متمرکز خواهیم نمود. در این خالت اگر یک تراکنش بخواهد به یک داده x دسترسی پیدا کند باید از سایت مذکور درخواست قفل مناسب بر روی داده مذکور نماید. در این وضعیت داده ممکن است بر روی یک سایت غیر از سایت زمانبند مرکزی قرار داشته باشد.

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

 

8-تشخیص و ترمیم بن بست : در این خصوص روشهای مختلفی ارائه شده است. مهمترین روش ارائه شده روش ترسیم گراف تخصیص منابع می‌یاشد. در خصوص بروز آوری این گراف در حالت توزیع شده مراتب مختلفی مطرح می‌شود که در این مقال نمی‌گنجد. در خصوص روش قفل دو مرحله‌ای متمرکز نیازی به نگهداری توزیع شده این گراف و تکنیکهای بروزآوری آن نمی‌باشد و لی در سایر انواع روشهای قفل دو مرحله‌ای به نگهداری این گراف و مدیریت نگهداری آن و تصمیم گیری بر اساس آن نیاز مبرم وجود دارد.

4-نتیجه گیری :.در این گزارش با توجه به توسعه سیستمهای پایگاه‌ توزیعی، بحث کنترل همروندی و صحت و مانایی اطلاعات در حضور همروندی مطرح می‌شود. در بین سه روش پایه ای  موجود برای کنترل همروندی، یعنی روشهای قفل دو مرحله‌ای، برچسب زمانی متوالی و روش خوش بینانه، روش قفل دو مرحله ای مورد تجزیه و تحلیل قرار گرفت. در این خصوص یک مقدمه برای تشریح مساله کنترل همروندی بیان شد.

در این گزارش مزایای روش قفل دو مرحله‌ای بیان شده و علل صحت این روش تشریح شده است. نهایتا میتوان گفت از آنجائیکه این روش از نظر صحت عملکرد کاملا اثبات شده است، می‌تواند در پایگاه داده‌های توزیعی مورد استفاده قرار گیرد.

 

5-تقدیر و تشکر : بر خود لازم می‌دانیم، از راهنمایی‌ها و کمکهای جناب آقای دکتر مسعود رهگذر، استادیار گروه مهندسی برق و کامپیوتر دانشکده فنی دانشگاه تهران و نیز جناب آقای مهندس مهدی عمادی، تشکر و قدردانی نمائیم.

 


6-منابع و مآخذ :

[1] M. Blakey, “Models a Very Large Distributed Database”, ACM Transactions on Computer Systems, Vol. 10, No. 6. 1992

[2] P. A. Bernstein and N. Goodman, ”Concurrency Control in Distributed Database Systems”, Computing Surveys, Vol. 13, No. 2, June 1981

[3] M. J. Carey and M. Livny “Distributed Concurrency Control Performance: A Study of Algorithms, Distribution, and Replication”, 14th VLDB Conference Los Angeles, California 1988

[4] P.A. Franaszek, J. T. Robinson and Thomson, “Concurrency Control for High Contention Environments” ACM Transactions on Database Systems, 1992

[5] A. Thomasian, “Performance Limits of Two-Phase Locking”. IEEE International Conference on Data Engineering, 1991

[6] M.J. Carey, and M. Livny “Parallelism and Concurrency Control Performance in Distributed Database Machines”, 1989 ACM SIGMOD, 1989

[7] Kj. Norvag, O. Sansta and K. Bratbergsengen, “Concurrency Control in Distributed Object-Oriented Database Systems”, Advances in Database and Information Systems, 1997

 

 

 



مشخصات فروشنده

نام و نام خانوادگی : یعقوب ذاکری

شماره تماس : 09017568099 - 07642351068

ایمیل :shopfile95.ir@gmail.com

سایت :shopfile95.sellfile.ir

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

پرداخت و دانلودگزارش خرابی و شکایت از فایل

تحقیق در مورد ازمون ریاضی

تحقیق در مورد ازمون ریاضی

ک پرداخت و دانلود *پایین مطلب*

 

فرمت فایل:Word (قابل ویرایش و آماده پرینت)

  

تعداد صفحه:14

 

فهرست مطالب  دارد

(ii) از آزمون دونمونه‌ای (3.10 ) در برابر عبارت  است در برابر غیرنرمال.

(3.8) بسازید که جدول تجزیه و تحلیل برای جدول (8.5) نشان دهید  هنگامیکه F ترکیب نرمال از مسئله (3.1) است برای  و  (3.9 ) با علامت مثال(3.4) فرض کنید مسئله آزمون  در برابر  نشان دهید که ناحیه رد:

(6.18)

سطح مجانبی  دارد هنگامیکه  مستقل و هم‌توزیع سازگار هستند و هر توزیع F با میانگین صفر و واریانس متناهی است( بکارببرید  دلالت می‌کند هر دو سطح مجانبی از آزمون و ضریب رگرسیون در (3.12) باعث تأسف است اما نباید اشتباهی صورت گیرد.

 (3.10) بدهید یک تقریب عبارت برای توان مجانبی از آزمون (3.11) در برابر عبارت

(ii) تعیین کنید تقریب اندازه نمونه احتیاجی در آزمون (3.11) انجام بدهید توان در برابر یک عبارت ثابت

(3.11) حل کنید دو قسمت مسئله قبلی برای آزمون (6.18) یعنی برای  بجای .

(3.12) تحت فرض‌های لم (3.1 ) نشان دهید که:

 

وقتی

(3.13) بدست آورید بیانیه اول از(3.22 )

(3.14) فرض کنید  که در آن E ها دارند میانگین 0 و برای هر I فرض کنید  باشد یک برآورد خطی از  هستند غیرمنبع سیر کندبنابراین توزیع  مستقل از ها است.

 ( راهنمایی: با استفاده از نااریبی نشان دهید که  

(3.18) در مسأله قبلی فرض کنید  و  با  و  داده شده بوسیله (6.3) از فصل 2 نشان دهید که توزیع  مستقل است از  بوسیله نشان‌دادن اینکه  و  

(3.16) بدست آورید عینیت (3.14)

(راهنمایی: بکارببرید این حقیقت که .

بخش 4

(4.1) برای تشریح متفاوت در اثر مخرج‌های  ساختن یک دنباله از اعداد  بطوریکه اما   نیست).

(4.2) در مقابل (4.1) تعیین کنید حالات مقدار کافی برای سطح آزمون t نیرومند می‌باشد در برابر کلاس توزیع‌های (i) بدون فرض یک واریانس عادی است.

 (i)(4.3)  را بیابید و کوچکترین و بزرگترین مقدار از عامل  در (4.8) تعیین کنید برای سطح غیرواقعی  و و تعیین کنید کوچکترین و بزرگترین سطح مجانبی از آزمون t دو نمونه‌ای تحت فرض مثال (4.2) وقتی مقادیر از o به 

(4.4) تحت فرضیه‌های مسئله قبلی تظاهر سطح واقعی را پیدا کنید؟

  • آزمون t دونمونه‌ای
  • آزمون (3.10) هنگامیکه و و 

(4.5) بدست آورید (4.9) تحت فرضی که y,x متقارن هستند حدود همان نقطه.

 (4.6) ارزیابی کنید طرف راست از (4.1) برای یک جفت توزیع‌های G,F بطوریکه G تعیین‌کردن احتمال را با یک فاصله a,b و  وقتی مقادیر  از o به 1.

 (4.7) تحت فرض‌های قضیه (4.1) با  نشان دهید که  در احتمال به  میل می‌کند.

( راهنمایی: مثال (4.9) از فصل 1)

(4.8) فرض کنید سطح مجانبی از آزمون t تحت مدل(4.75) از فصل 1.

(i)نشان دهید که  

(ii) اگر  علامت یکی دارند سطح مجانبی نظر بلند است و ببرید مقدار ماکزیمم هنگامیکه  تعیین کنید مقدار ماکزیمم از سطح جانبی در این مورد هنگامیکه  

(iii) هنگامیکه  علامت معکوس دارند آزمون محافظه‌کار است بیابید سطح مجانبی را.

(4.9) فرض کنید:       

(6.19 )

که در آن Z ها مستقل هستند با میانگین o و واریانس نتیجه یکی از مسئله قبلی نشان می‌دهد که می‌تواند یک مقادیر بزرگ دلخواه گرفته باشد هنگامیکه k باندازه کافی بزرگ است.

 (4.10) در مثال (4.5) نشان دهید که (4.24) بکار می‌برد (4.25) را.

(i), (4.11) در مثال 4.2a نشان دهید که برای هر  ثابا نسبت  می‌تواند ساخته شده‌باشد دلخواه بزرگ بوسیله قراردادن  و .

  • در مثال 7(b) نشان دهید که برای هر ثابت نسبت  وقتی و.

(4.12) در توصیف ترکیب مدل شروع کنید مثال(4.6) نشان دهید که        مستقل است از .

(4.13) نتیجه کلی از (4.41) برای ترکیب از دو جامعه از مورد یک نمونه  برده می‌شود با احتمالات  از یک توزیع‌های  .

 (4.14) در نتیجه کلی از (4.17) از فصل 1 فرض کنیدد:

 (6.20)   ، ،

که در آن غیرمعلوم Aها و U ها هستند نرمال مستقل  و   به ترتیب.

 (i) نشان دهید که:

که در آن  مقدار عادی است از  با

(ii)نشان دهید که سطح آزمون t ( یا آزمون (1.22) ) از  نیرومند نیست. در برابر این ساختمان وابسته.

(iii) تعیین کنید سطح مجانبی ماکزیمم از آزمون t هنگامیکه  و 

(iv) نشان دهید که سطح مجانبی از آزمون t استوار است اگر m ثابت است و  

(4.15) در مسئله قبلی فرض کنید  و  با  و  داده‌شده بوسیله (6.3) از فصل 2 نشان دهید که توزیع  مستقل از  و است بوسیله نشان‌دادن اینکه و .

(4.16) بدست آورید عینیت3.14 :

 ( راهنمایی: بکارببرید این حقیقت را ).

بخش 5:

  1. 1 در مثال (5.1) نشان دهید که سه مقادیر (5.7) اول و دوم و سوم بزرگترین است. هنگامیکه F به ترتیب نرمال و دو برابر نمایی و لجستیک است.

 (5.2) اگر x یک توزیع F دارد آن متقارن است حدود o  نشان دهیدکه اگر x جایگذاری می‌شود بوسیله    (ii)     (i)

اثرات (5.13)-(5.15) غیر تبدیل‌اند.

 (5.3) ثابت کنید اثرات 5.16 را

(5.4)  ارزیابی کنید اثرات (5.13), (5.15) هنگامیکه F بصورت زیر است:

 یکنواخت (iii) لجستیک (ii) دوبرابر نمایی (i)

(5.5) اگر  با  جداول بسازید که نشان دهد چطور هر اثرات (5.13),(5.15)) متغیرها وقتی یک تابع از  و است.

 (5.6) در مسئله قبلی تعیین کنید که چه اتفاقی برای هر اثرات (5.13)-(5.15) وقتی  است.

 (5.7) ارزیابی کنید هر اثرات (5.13)-(5.15) هنگامیکه F توزیع‌ t است با V درجه آزادی .

(راهنمایی:  اگر و برابر  است اگر ).

(5.8) اثبات کنید (5.20) :

 (5.9) اثبات کنید(5.24) .

 (5.10) (i) اگر  نشان دهید که مقدار ماکزیمم  

(ii) اگر  و  نشان دهید که:

(5.11) نشان دهید که ARE(5.25) از 4 نقطه طراحی با n/4  مشاهده از هر  برای 2 نقطه طراحی با n/2 مشاهدات از هر 0,1 برابر است با 5/9

 (5.12) (i) حل کنید مسئله 5.10(i) را هنگامیکه V ها هستند فقط احتیاج به سیر  برای همهiها.

 (ii) حل کنید مسئله (5.10)(ii) را هنگامیکه V ها هستند برابر فضا( مکان) روی  بجای

(5.13) (i) تحت فرض‌هایی از مثال (5.3) اثر آزمون را بدست آورید.

(4.17) فرض کنید  مستقل و هم توزیع باشند.

  و  بکارببرید. تظاهر بیابید سطح واقعی از آزمون t هنگامیکه سطح نرمال 0.05 است برای  و  است.

 (6.18) برای آزمون  در برابر  تعیین کنید برای چه انتخابی از Vها آزمون (6.18) اثر ماکزیمم خواهد داشت.

 ( راهنمایی: ببینید مسئله 3.8-3.10 )

(5.14) (i) اثبات کنید(5.36 ).

 (ii) هنگامیکه  سیر می‌کند (5.37) را نشان دهید که توان آزمون (3.11) در برابر عبارت (5.38) میل می‌کند به (5.24) .

(5.15) نشان دهید که (3.13) بدست می‌آید هنگامیکه  .

(5.16) انتظار و واریانس از   تحت فرضهای H از مثال(5.5 ) بوسیله(5.4.1 ) (5.4.2) به ترتیب داده شده‌است؟

 (راهنمایی: تحت H و  ببرید مقادیر  با هر احتمال 1/N ).

 (5.17) فرض کنید  دلالت می‌کند رتبه‌یابی از  و فرض کنید  یا برابرo است وقتی  یا  

(i) بنابراین  

(ii)

( راهنمایی(ii) : بکار ببرید(i) و در حقیقت )

(i)(5.18) اگر توزیع  برابر  است و X ها مستقل هستند نشان دهید که:

که در آن  و در آن فرض محدود است.

 (ii ) تحت فرضهایی از قسمت i) ) نشان دهید که:

 

( راهنمایی (i) بکارببرید این حقیقت که:

 

که در آن

(ii) نشان دهید که

(5.19) ثابت کنید (5.44) را .

(5.20) (i) نشان دهید که آزمون (5.54) سطح مجانبی  دارد.

(ii) نشان دهید که ARE از آزمون (5.54) داده شده‌است بوسیله (1.17) برابر o است.

 (5.21) (i ) ثابت کنید (5.59) را.

(ii ) بدست آورید یک جدول تجزیه و  تحلیل از جدول (5.2)  برای ARE از (5.57) به(1.17)

(5.22) اگر  مستقل و هم توزیع سازگار هستند برای توزیع یکنواخت  تعیین کنید  توزیع که در آن  هستند سفارش x ها.

( راهنمایی :

که در آن: 

(5.23) برای آزمون  در برابر  تحت فرضهایی از مسئله(5.22 ) فرض کنید ناحیه رد زیر:

(6.21 )

(i) با مقایسه (5.58) بیایید یک معادله تعیین کنید  را.

(ii) بیایید ARE از آزمون (6.21) با درنظر گرفتن برای (5.57) و برای(1.17)

(iii) بسازید یک جدول تجزیه و تحلیل از جدول (5.2) و نشان دهید ARE ها از قسمت(ii)

(5.24) فرض کنید دو آزمون با ناحیه رد(5.63) مطابق با برآوردهای سازگار متفاوت  از  نشان دهید که ARE هایشان معادل است با 1 .

(5.25) نشان دهید که (5.67) اشاره دارد به(5.76) .

 (5.26) اثبات کنید (5.78)

(5.27) فرض کنید  دو دنباله از اعداد مثبت می‌باشند که به  میل می‌کند برای 

(i) اگر A>1 بنابراین  و اگر  بنابراین  

ii) ) اگر A=1 و  به یک حد L میل می‌کند بنابراین Lمی‌تواند هر مقدار   را داشته‌باشد.

 ( راهنمایی(i) اگر  بنابراین:

 

(ii) ببینید چه اتفاقی افتاده هنگامیکه(a)   مستقل از n است و (b) هنگامیکه  

(5.78) فرض کنید  میل می‌کند به یک توزیع H حد اکیداً افزایش پیوسته هنگامیکه  و برای هر دنباله  داریم میل می‌کند به H هنگامیکه  مقدار درستی از  است. فرض کنید آزمون رد می‌شود هنگامیکه (6.22 )

که در آن  بنابراین توان(6.22) در برابر منحصر:

 (6.23 )

میل می‌کند به( (6.24

(5.29) فرض کنید  و هر دو سیر می‌کند فرض‌های مسئله قبلی فرض کنید که توان آزمون (6.22) با  در مکانی از  و در برابر منحصر (6.23) سیر می‌کند.

(6.26)

فرض کنید  دو دنباله از اندازه‌های نمونه می‌باشد بطوریکه توان آزمون منبع روی  با مشاهدات در برابر عبارت عادی:

                                     

(6.26 )

هر دو حد زیر را دارد:(6.27 )

بنابراین(i) :  اگر

و (ii) اگر  موجود نیست و اگر آن موجود است می‌تواند گرفته شود روی هر مقدار .

 (راهنمایی: مسائل (5.28), (5.27) )

(5.30) اگر  دلالت کند چگالی نرمال استاندارد بنابراین:

  • محدود

(5.31) تعیین کنید نقص نتایج را هنگامیکه در مخرج از (5.80) و n-1 جایگذاری می‌شود بوسیله n+k برای بعضی k ثابت.

 

                                                                                          

 



مشخصات فروشنده

نام و نام خانوادگی : یعقوب ذاکری

شماره تماس : 09017568099 - 07642351068

ایمیل :shopfile95.ir@gmail.com

سایت :shopfile95.sellfile.ir

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

پرداخت و دانلودگزارش خرابی و شکایت از فایل

تحقیق درمورد ادعای رابطه ریاضی در قرآن

تحقیق درمورد ادعای رابطه ریاضی در قرآن

ک پرداخت و دانلود *پایین مطلب*

 

فرمت فایل:Word (قابل ویرایش و آماده پرینت)

  

تعداد صفحه:12

 

فهرست مطالب  ندارد

ادعای رابطه ریاضی در قرآن

 

پرش به: ناوبری, جستجو

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

 [ویرایش] پیشینه

از پیشینه این نوع برخورد با قرآن اطلاع چندانی در دست نیست، ولی از آنجا که سیوطی در کتاب الاتقان فی علوم القرآن به این موضوع پرداخته، می‌توان دریافت که این موضوع چندان غریب نبوده. با این حال توجه جدی به این موضوع در دهه هفتاد میلادی، با ادعاهای رشاد خلیفه آغاز شد. او ادعا کرد که نظمی رادر قرآن کشف نموده‌است که ویژگی خاص قرآن بوده و یکی از بزرگترین وجوه اعجاز آن به شمار می‌رود.کشف رابطه ریاضی در قرآن، موجب گردید که برخی از پژوهشگران مسلمان برای کشف اسرار و رموز بیشتری از قرآن به آمارگیری از تعداد حروف و کلمات قرآن بپردازند. برخی از شاگردان یا پیروان رشاد، چون «عبدالله آریک»[۱] با چاپ کتابی، نظریات او را در باب «عدد نوزده» تکمیل نمودند. با اینحال برخی دیگر از اندیشمندان اسلامی نیز بودند که به طرح نظریات جدید ریاضی و مستقل از رشاد پرداختند.پس ازآنکه رشاد خلیفه، نظریاتش را بسط داد، با استفاده از همان نظریه ریاضی، دو آیه آخر از سوره توبه در قرآن را تحریف‌شده و افزوده شده دانست،[۲][۳] و نهایتاً ادعا نمود خداوند او را رسول میثاق نموده است و نام او در قرآن کد شده است. خلیفه همچنین از سایر متون مذهبی در کنار قرآن مثل «سنت پیامبر» و «احادیث» به عنوان منابع جعلی نسبت داده شده به محمد و در تضاد با قرآن، یاد کرد و کشف واقعیت این متون و آموزه‌های جعلی را از وظایف رسالت خویش دانست.[۴] .[۵] این امر موجب شد تا محققین اسلامی شروع به نقد نظریه رشاد و دیگر همکاران و پیروان نظریات او نموده و ادعاهای وی را انکار کنند.[۶]

جدای از درستی یا نادرستی، نظریات ریاضی در حیطه قرآن قابل بررسی و تامل است. بخصوص آنکه در این میان، نظریات دیگری پدید آمدند که اگرچه از دیدگاه ریاضی به قرآن پرداخته‌اند اما کاملاً مستقل از نظریه رشاد و عدد ۱۹ وی بوده‌اند، از آن جمله می‌توان از مهدی بازرگان، نام برد که تاکنون نظریه‌اش مورد تعرض جدی مخالفان واقع نشده‌است.[۷]

[ویرایش] نظریه رشاد خلیفه

در سال ۱۹۷۲(میلادی) میلادی رشاد خلیفه مقاله‌ای منتشر کرد بنام «عدد۱۹، معجزه عددی در قرآن» و پس از آن در کتاب خود[۸] نظریه خود، مبنی بر کشف یک رابطه ریاضی در تعداد سوره‌ها، آیه‌ها، کلمات و حروف کتاب قرآن را رونمایی کرد. او انگیزه خود را اثبات اعجاز و غیر بشری بودن قرآن خواند تا بدین ترتیب اثبات کند که قرآن همانند انجیل نوشته دست بشر نیست و انشای خداوند است.وی ادعا نمود که با استفاده از رایانه ارتباط عددی ویژه‌ای را در متن قرآن یافته‌است که با عدد ۱۹ مذکور در سوره ۷۴ (مدثر) ارتباط دارد. حروف مقطعه یکی دیگر از اساس نظریه اوست.او در شروع کار خود تعداد حرف «ق» را در دو سوره‌ای که با این حرف از حروف مقطعه شروع میشوند (سوره‌های «شوری» و «ق») را بررسی نمود که نتیجه بررسی او این بود که تعداد این حرف در هر دو سوره یکسان و ۵۷ بار تکرار شده‌است، یا به عبارتی مجموعاً ۱۱۴ بار در دو سوره که این عدد با تعداد سوره‌های قرآن برابر است. از طرفی برابر بودن مقدار ابجدی کلمه «مجید» که صفت قرآن در همان سوره «ق» است با عدد ۵۷ و برابر بودن تعداد تکرار کلمه «قرآن» در کل سوره‌های قرآن با این عدد، عقیده او را به وجود یک رابطه ریاضی در قرآن تقویت نمود.[۹]رشاد به آیات ۱۹ تا ۲۱ سوره مطففین استناد میکند و آن را اینگونه ترجمه میکند {{{۱}}} (ترجمه: کتابی است که با اعداد بنا شده*تا بوسیله کسانی که به من نزدیک هستند مشاهده شود)[مطففین - ۲۱-۲۰] [۱۰][۱۱]

[ویرایش] برخی جزئیات نظریه

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

حقایق ساده مشاهداتی است که بدون هیچ وسایلی میتوان آنها را بررسی کرد. حقایق پیچیده به کمک ماشین حساب یا کامپیوتر قابل رویت است. بررسی حقایق زیر به هیچ وسیله‌ای احتیاح ندارد، اما خواهشمند است بخاطر داشته باشید که همه اینها به متن عربی اصلی اشاره دارد.[۹]

  1. اولین آیه (۱:۱)، معروف به "بسم الله، شامل۱۹ حرف است.
  2. قرآن دارای ۱۱۴ سوره‌است که میشود۱۹x۶.
  3. مجموع آیات در قرآن ۶۳۴۶ است که میشود۱۹x۲۳۴.

[۶۲۳۴ آیه شماره گذاری شده‌است و ۱۱۲ آیه (بسم الله) شماره گذاری نشده‌است که میشود ۶۲۳۴ =۱۱۲+۶۲۳۴] توجه کنید که ۶+۴+۳+۶ میشود۱۹

  1. بسم الله ۱۱۴ مرتبه تکرار شده‌است، با وجود غیبت مرموز آن در سوره ۹ (درسوره ۲۷ دو بار تکرار شده‌است) و ۱۱۴ = ۱۹x۶
  2. از غیبت بسم الله در سوره ۹ تا بسم الله اضافی در سوره ۲۷، دقیقا۱۹ سوره‌است.
  3. مجموع شماره سوره‌ها از ۹ تا ۲۷ (۲۷+۲۶+......+۱۲+۱۱+۱۰+۹) = ۳۴۲ یا ۱۹x۱۸
  4. این مجموع (۳۴۲) همچنین مساوی است با مجموع کلمات بین دو بسم الله سوره ۲۷، و ۳۴۲ =۱۹x۱۸
  5. اولین آیات معروفی که اول وحی شد (۵-۱:۹۶) شامل۱۹ کلمه‌است.
  6. این اولین وحی ۱۰ کلمه‌ای، دارای ۷۶ حرف است۱۹x۴
  7. سوره ۹۶ که از نظر ترتیب زمانی اولین سوره‌است، دارای۱۹ آیه‌است.

بخش اصلی نظریه را حروف مقطعه (پاراف قرآنی) تشکیل میدهند که به برخی از آنها در حقایق ساده اشاره نموده‌است:

  • حرف مختلف عربی، ۱۴ «پاراف قرآنی» مختلف (مانند ا. ل. م، از ۲:۱) را تشکیل میدهند که در ابتدای ۲۹ سوره قرار دارند. مجموع این اعداد میشود ۱۴+۱۴+۲۹=۵۷ یا ۱۹x۳.
  • مجموع ۲۹ سوره‌ای که «پارافهای قرآن» در آنها آمده‌است میشود:

۸۲۲=۶۸+۵۰+..........+۷+۳+۲، و ۸۲۲+۱۴ (۱۴ مجموعه پارافها) میشود ۸۳۶، یا ۱۹x۴۴.

  • بین اولین سوره پاراف دار(۲) و آخرین سوره پاراف دار (۶۸)، ۳۸ سوره بدون پاراف وجود دارد۱۹x۳۸.
  • بین اولین و آخرین سوره‌های پاراف دار۱۹ مجموعه پاراف دار و بدون پاراف وجود دارد.

همچنین در شمارش تعداد «ن» در سوره «قلم» برای آنکه به عدد ۱۳۳ مضربی از ۱۹ برسد، استدلال نمود که «ن والقلم و مایسطرون» ،کتابت رایج در قرآن‌ها، باید به شکل «نون والقلم و مایسطرون» نوشته شود.[۱۲]

[ویرایش] ادعای تحریف قرآن

رشاد در بسط نظریه خود، دو آیه پایانی سوره توبه (سوره بدون بسم‌الله) از قرآن را که با نظریه‌اش هماهنگ نبود، تحریف شده دانست. او مدعی بود که این دو آیه در ۹ جا تئوری کد ۱۹ وی را نقض می‌کند، و این آیه‌ها ۱۹ سال پس از مرگ محمد توسط کاتبان در مدح محمد افزوده شده و این امر طبق اسنادی مورد مخالفت شدید علی بن ابیطالب (یکی از کاتبان) واقع شده‌بود.[۱۳][۱۴] همچنین در یکی از این آیات، پیامبر اسلام به صراحت «رحیم» (یکی از اسماء خداوند) خوانده شده‌است.[۱۵] خلیفه این دو آیه را جعلی نامید و آنها را از ویراست‌های جدیدتر ترجمهٔ قرآن خود حذف کرد.او پیش از آن اعلام کرده بود که اطمینان دارد در قرآن هیچ‌گونه جعل و دستبردی صورت نگرفته‌است و اگر چنین باشد با معجزهٔ ریاضی آشکار می‌شود.[۱۶] او ۷۱ رابطهٔ ریاضی برای اثبات این ادعا یافت. بعدها توسط دیگران روابط دیگری هم کشف شد.[۱۷][۱۸]

[ویرایش] ادعای رسالت و جعلی بودن احادیث و سنت (منابع غیر قرآنی)

رشاد خلیفه همچنین ادعای رسالت کرد و نام خود را از قرآن استخراج نمود. وی پس از بسط دادن نظریات خود اعلام نمود «اسم رسول میثاق خدا در قرآن از طریق ریاضی بعنوان رشاد خلیفه کد شده‌است و این واقعاً بهترین روش معرفی رسول خدا به دنیا، در عصر کامپیوتر است» و پس از آن استدلال نمود که «آشکار شدن معجزه قرآن بواسطه رشاد خلیفه، از نشانه‌های مهم رسالت او است»[۱۹] خلیفه همچنین سنت و حدیث ، که پس از قرآن منبع اصلی مسلمانان هستند، را منابع جعلی نسبت داده شده به محمد و در تضاد با قرآن، دانست و کشف واقعیت این متون و آموزه‌های جعلی را نیز از وظایف رسالت خویش دانست. این سبب شد که ادعاهای وی از سوی محافل مذهبی سنی و شیعه رد شده و نوشته‌های او ممنوع اعلام شود. ادعای محافل مذهبی هم از سوی تسلیم شدگان رد شد.

[ویرایش] نقد نظریه رشاد

هرچند ادعای کشف رابطه ریاضی در قرآن، در ابتدا شادی مسلمانان و محافل علمی اسلامی را به همراه داشت، اما پس از آن و با مطرح شدن سایر ادعاهای بعدی رشاد خلیفه، محققین اسلامی شروع به نقد علمی نظریه رشاد و نظریات او نموده و یا ادعاهای وی را انکار کردند.بنظر برخی از ایشان، تاکنون در احادیث از پیامبر اسلام یا امامان شیعه و سیره عملی آنها و یا در تفاسیر قبلی، قرآن را کتابی اسرارآمیز و معماگونه وصف ننموده‌اند بلکه آن را کتابی روشن و پرمحتوی خوانده‌اند. همچنین در آثار متقدمین، هیچیک از بزرگان و علمایی چون خواجه نصیر یا شیخ بهایی نیز مـطالبی هرچند به صورت ضمنی و تلویحی در مورد تعداد حروف و کلمات قرآن و روابط ریاضی بـیـن آنـهـا نیامده بود. بنظر ایشان، رویه قرآن نیز بر همین اساس است، چراکه قرآن بعد از ذکر داستان آنها، اظهار تاسف می‌کند که چرا مردم به جای آنکه به پیام این قصه توجـه کنند، خود را مشغول مطالب حاشیه‌ای نموده و بر سر تعداد اصحاب کهف باهم جدال می‌کنند. همینطور در مورد تعداد نگهبانان دوزخ، که استناد رشاد به همین آیه‌است، در قرآن آمده: «تعدادشان رانوزده نـفر قرار دادیم»، نه بدان جهت که اسرار و رموزی در این عدد درنظر گرفته‌ایم، بلکه خود قرآن در آیه بعد میگوید، فقط به این مـنـظـور کـه چـون و چـرای کافران رابرانگیزیم و نیز ایمان مؤمنان را تقویت کرده بـاشیم

 

 

معجزات ریاضی قرآن

پدیده بی نظیری که در قرآن وجود دارد، در هیچ کتاب نوشته دست بشر یافت نمیشود. هر یک از عناصر قرآن دارای ترکیبی است ریاضی: سوره ها، آیات، لغات، تعداد حروف، تعداد کلمات هم خانواده، تعداد و انواع اسم های الهی، طرز نوشتن بعضی لغات، عدم وجود یا تغییر عمدی بعضی حروف در بعضی لغات و بسیاری از عوامل دیگر قرآن بغیر از محتویاتش، همگی دارای ترکیبی خاص هستند.پدیده بی نظیری که در قرآن وجود دارد، در هیچ کتاب نوشته دست بشر یافت نمیشود. هر یک از عناصر قرآن دارای ترکیبی است ریاضی: سوره ها، آیات، لغات، تعداد حروف، تعداد کلمات هم خانواده، تعداد و انواع اسم های الهی، طرز نوشتن بعضی لغات، عدم وجود یا تغییر عمدی بعضی حروف در بعضی لغات و بسیاری از عوامل دیگر قرآن بغیر از محتویاتش، همگی دارای ترکیبی خاص هستند. سیستم ریاضی قرآن دو جنبه مهم دارد: (۱) انشاء ریاضی، و(۲) ساختمان ریاضی قرآن که شامل شماره سوره ها و آیات است. بخاطر این کد ریاضی جامع، کوچگترین تغییر در متن یا ساختمان ترکیبی قرآن، بلافاصله آشکار میشود.   
ـ بسادگی قابل درک    
ـ غیر قابل تقلید      
برای اولین بار در تاریخ، ما کتابی داریم با اثبات نویسندگی الهی_ ترکیب ریاضی ماوراء انسانی.      
خوانندگان این کتاب به آسانی میتوانند معجزه ریاضی قرآن را بررسی کنند. کلمه خدا (الله) در سراسر قرآن با حروف بزرگ و پر رنگ نوشته شده است. در گوشه سمت چپ پایین هر صفحه، مجموع تعداد دفعاتی که کلمه خدا از ابتدای قرآن تا آن صفحه تکرار شده است، نوشته شده. شماره نوشته شده در گوشه سمت راست پایین صفحه، مجموع شماره آیاتی است که کلمه خدادر آنها تکرار شده است. آخرین صفحه کتاب، یعنی صفحه ۶۰۴، جمع کل تعدد تکرار کلمه خدا را در قرآن نشان میدهد که ۲۶۹۸ مرتبه است، یا ۱۴۲۱۹. مجموع شماره آیاتی که داری کلمه خدا است، میشود ۱۱۸۱۲۳، این عدد هم بر ۱۹ قابل قسمت است: (۱۱۸۱۲۳=۱۹۶۲۱۷).
عدد نوزده مخرج مشترک سراسر سیتم ریاضی قرآن است.  
این پدیده بتنهایی اثبات غیر قابل تقلیدی است که نشان میدهد قرآن پیغام خدا است به دنیا. هیچ بشری نمیتوانسته حساب ۲۶۹۸ تکرار کلمه خداو تعداد شماره آیاتی را که کلمه خدادر آنها تکرار شده است، داشته باشد.   
این پدیده خصوصا غیر ممکن است وقتیکه در نظر داشته باشیم :(۱) که قرآن در زمان جهالت و نادانی آشکار شد، و (۲) سوره ها و آیات وحی شده از نظر زمان و مکان وحی با هم فاصله بسیاری داشتند. ترتیبی که سوره ها و آیات در ابتدا فرستاده شد، بکلی با آخرین ترتیب قرار گرفتن شان (ضمیمه ۲۳) فرق داشت. اما، سیستم ریاضی قرآن تنها به کلمه خدا محدود نیست؛ بلکه بسیار گستره، بسیار پیچیده، و کاملا جامع است.       
حقایق ساده      
مانند خود قرآن، کد ریاضی قرآن از بسیار ساده تا بسیار مشکل تغییر میکند. حقایق ساده مشاهداتی است که بدون هیچ وسایلی میتوان آنها را بررسی کرد. حقایق پیچیده به کمک ماشین حساب یا کامپیوتر قابل رویت است. بررسی حقایق زیر به هیچ وسیله ای احتیاح ندارد، اما خواهشمند است بخاطر داشته باشید که همه اینها به متن عربی اصلی اشاره دارد:    
۱) اولین آیه (۱:۱)، معروف به بسم الله، شامل......................


مشخصات فروشنده

نام و نام خانوادگی : یعقوب ذاکری

شماره تماس : 09017568099 - 07642351068

ایمیل :shopfile95.ir@gmail.com

سایت :shopfile95.sellfile.ir

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

پرداخت و دانلودگزارش خرابی و شکایت از فایل