لینک دانلود و خرید پایین توضیحات
فرمت فایل word و قابل ویرایش و پرینت
تعداد صفحات: 25
الگوریتم 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، مرتبه رگولاتور یعنی درجه و درجه را بدانیم. چند جمله ای رویتگر ( بجای چند جمله ای که نامعلق است
لینک دانلود و خرید پایین توضیحات
فرمت فایل word و قابل ویرایش و پرینت
تعداد صفحات: 25
9) الگوریتم های ژنتیکی به کاربره شده در مدیریت ترافیک هوایی
افزایش ترافیک هوایی، از زمان شروع تجارت هوایی، باعث مشکل اشباع در فرودگاهها، یا مکانهای فضایی شده است. در حالی که هواپیماها ارتقاء می یابند و اتوماتیک تر می شوند. اما هنوز کنترل ترافیکی بر پایه تجربیات انسان است. مطالعه حاضر ، دو مشکل مدیریت ترافیک هوایی (ATM) را به جزء بیان می کند، که برای آنها راه حل های بر پایه الگوریتم ژنتیکی وجود دارد. اولین کاربرددر رابطه با مشکل enroute است و دومین کاربرد در مورد مشکلات مدیریت ترافیکی در سکوهای فرودگاهها است.
9.1) راه حل درگیریهای Enroute = کنترل ترافیک هوایی (ATC) می تواند توسط یک سرس از فیلترها نشان داده شود، جایی که هر فیلتر یک ؟ خاص دارد و افق های خاص محیطی و موقتی را اداره می کند. 5 سطح (لِوِل) قابل تشخیص است. در دوره طولانی (بشتر از 6 ماه) ترافیک در یک روش میکروسکوپی می تواند برنامه ریزی شود. برای مثال مردم با یک نمودار ترافیکی روبرو هستند که اندازه های کمیته ، که برنامه های ساعتی و موافقت با ارتش را مورد توجه قرار داده است، به کاربرده می شود برای فرهنگ هواپیمایی در زمانهای اوج یعنی بعد ظهر جمعه.
در دوره کوتاهتر ، معمولاً در مورد تنظیمات قبل ، صحت می شود. این مورد شامل برنامه ریزی کردن روز ترافیک ، یک یا دو روز قبل تر می شود. در این مرحله ، اشخاص ایدة مشخصی درباره بیشتر برنامه ی پرواز و ظرفیت کنترل هر مرکز دارند. حداکثر جریان هواپیما که می تواند یک قطر را سوراخ کند. ظرفیت قطر نامیده می شود. این عمل توسط CFMU3 انجام می شود. ترافیک میان آتلانتیک برای مثال در این مرحله مورد توجه قرار می گیرد. راههای هوایی، تنظیم ساعت های پرواز و حالت هوا مورد توجه قرار می گیرد. به طور کل این شغل توسط FMP4 در هر مرکز صورت می گیرد. آخرین فیلتر ، فیلتر تاکتیکال است که با کنترل داخل یک قطر بستگی دارد. زمان متوسطی که یک هواپیما در یک بخش صرف می کند حدود 15 دقیقه است. اینجا میزان رویت کنترل کننده کمی بالاتر از میزان دریافت طرحهای پرواز است چند دقیقه قبل از ورود هواپیما به بخش. کنترل کننده وظیفه چک کردن، حل اختلافات و همپایه بودن با بخش های همسایه را تضمین می کند. در این حالت تعیین تعریف برخورد مطلوب است. دو هواپیما با هم برخورد دارندوقتی که فاصله جدایی افقی بین آنها کمتر 5 مایل باشد و تفاوت انها در ارتفاع کمتر از 1000 فیت باشد. روش هایی که توسط کنترل کننده برای حل این برخورد به کار می رود بر پایه مسائل زیر است.
بر روی تجارب قبلی و هر دانش خلاقی. وقتی که چند جفت از هواپیماها در اختلاف مشابهی با هم تماس دارند، آنها با ساده کردن مشکلات شروع می کنند که فقط اختلافات ابتدایی را داشته باشند.
برای حل فیلتر اضطراری به نظر نمی رسد که مداخله کند به جز مواردی که سیستم کنترل دچار نقض شده یا اینکه ضعیف شده است. برای کنترل کننده ، آشیانه اطمینان مسیر هر هواپیما را با افق موقت چند دقیقه ایی پیش بینی می کنند. از موقعیت های رادار و الگوریتم های ادامه دار استفاده می کند و یک اخطار را در لحظه برخورد بوجود می آورد. این یک راه حلی را برای برخورد پیشنهاد نمی کند. به طور کل TCAS به نظر می رسد که از چنین تصادفی جلوگیری کند. پیش بینی موقت کمتر از یک دقیقه است (بین 25 تا 40 ثانیه) بنابر این بسیار دیر است برای کنترل کننده مانور هواپیما را، همانطور که تخمین زده شده که نیاز به حداقل زمان 1 تا 2 دقیقه برای آنالیز کردن موقعیت دارد راه حلی را پیدا کنند و آنرا به هواپیماها اطلاع دهند. به طور عمومی TCAS، هواپیمای اطاف را جستجو می کند و به خلبان برای حل برخورد پیشنهاداتی می کند. این فیلتر باید برخورد غیر قابل پیش بینی را حل می کند، برای مثال وقتی که یک هواپیما از سطح پرواز خود بالاتر رفته است یا یک مشکل تکنیکی که به طور قابل توجهی ارتفاع آنرا پایین آورده است. کاربردهای پیشنهاد شده در این بخش با فیلتر تاکتیکال ارتباط دارند: دانستن موقعیت هواپیما در لحظه حاضر و موقعیت بعدی آنها، را بوجود نمی آورد. راه حل برای پایه چندین تصور است. یک هواپیما نمی تواند سرعت خود را تغییر دهد (یا بسیار آرام باید این کار را بکند) مگر در مواقع فرود. نباید اینطور تصور شود که یک هواپیما با سرعت انی پرواز می کند، به غیر مواردی که سطح بندی می شود و هیچ بادی وجود ندارد. به علاوه در طول فرود و بلند شدن ، مسیر آن یک خط صاف نیست. هواپیماها در مسیر چرخش خود در فشار هستند. به طور عمومی خلبانها مانور افقی را به عمودی ترجیح می دهند مگر در هنگام بلند شدن یا نشستن. اگر چه امروزه خلبانهای اتوماتیک قرتمندتر از خلبانهای انسانی هستند (در موقعیت های نرمال پرواز) برای مواقعی که حقیقی به نظر می رسد توجه کردن به این مسیرها که توسط انسانها قابل دسترسی نیست.
خلبان. نامطمئنی بین سرعت فرود آمدن و بلند شدن بسیار زیاد است (بین 10% و 50% سرعت عمودی). در طول مسافرت ، نااطمینانی در سرعت کاهش می یابد. بعد از آن ، نا اطمینانی به همراه گذشت زمان بیشتر نمی شود، همانطور که یک هواپیما، ارتفاع خود را کاملاً خوب نگه داشته است. تقریباً غیر ممکن است که به دنبال راه حل های آنالیتکی برای حل مشکل برخورد باشیم . اما، اصلی ترین مشکل از پیچیدگی مشکل بوجود می آید. بخش اول این فصل ، به معرفی بعضی از توضیحات می پردازد که حل مشکل برخورد برای ما قابل فهم تر می کند و بخش دوم به تاریخچه ایی کوتاه از الگوریتمهای آزمایش شده برای این مشکل و محدودیتهای آن می پردازد. قسمت سوم مدلهای مشکل را به جزء بررسی می کند و پیشرفت الگوریتم ژنیتکی برای حل مشکل در بخش چهارم وجود دارد که با آمارهای ؟ بدست آمده دنبال می شود.
1.1.9) پیچیدگی حل مشکل برخورد= یک برخورد را می توان به صورت زیر توضیح داد:
یک برخورد یعنی برخوردی بین دو هواپیما در طول یک زمان داده شده از مسیر پیش بینی شده، گرفتن نااطمینانیها در مسیر.
کلاسهای معادل مربوطه به عنوان دسته و مجموعه برخورد هواپیما یا مجموعه ایی از اندازه n می تواند شامل شود به برخوردهای قوی n. توجه کردن به فقط هواپیمای افقی ، نشان می دهد که تمام راه حل های قابل قبول شامل 2n(n-1) اجزای مرتبط، تحت این تصور که یک متر مناسب به کاربرده شده که نیاز دارد به اجراهای زیادی از الگوریتم جستجو بنابر این برای مجموعه هواپیمای 6،32768 عضو متصل پیشنهاد می شود. در حقیقت اگر عملکرد هواپیما مورد توجه قرار گیرد، تمام اجزای مرتبط لازم نیست که مورد بررسی قرار گیرد. با آرام کردن محدودیت های جدا کننده، مشکل شبیه یک مشکل جهانی می شود که حداقل شامل بهینه های داخلی می شود مانند اجزای متصل. اضافه کردن بعد عمودی خصوصیت ترکیبی مشکل را کم نمی کند.
2.1.9) وجود مترهای حل کننده:
اولین پروژه اتوماتیک کنترل ترافیک ، آمریکایی بود و در شروع دهه 80 بوجود امد، اما قادر به حل مجموعه سایز 3 یا بیشتر نبود. پروژه اروپایی ARC2000 یک متر از نارساییهای ممتر لوله چهار بعدی را پیشنهاد کرد که مسیر n+1+h هواپیما در محیط n که قبلاً مسیرش محاسبه شده بود. ارتقاء دهد.
این مدلها شکیات را مورد توجه قرار ندادند و قادر نبودند با حجم عظیم ترافیک مواجه شوند. در نهایت پروژه تجربی اروپایی FREER در سال 1995 کامل شد. و پیشنهاد کرد که می تواند برخورد هواپیماها را حل کند. مشکل همپایه بودن بین هواپیماها با به کار بردن قوانین قبلی هدایت می شد ، که مانند استفاده
لینک دانلود و خرید پایین توضیحات
فرمت فایل word و قابل ویرایش و پرینت
تعداد صفحات: 20
الگوریتم
هر برنامه، می بایست دارای یک طرح و یا الگو بوده تا برنامه نویس بر اساس آن عملیات خود را دنبال نماید.از دیدگاه برنامه نویسان ، هر برنامه نیازمند یک الگوریتم است . بعبارت ساده ، الگوریتم ، بیانه ای روشمند بمنظور حل یک مسئله بخصوص است . از منظر برنامه نویسان ،الگوریتم بمنزله یک طرح کلی و یا مجموعه دستورالعمل هائی است که با دنبال نمودن آنان ، برنامه ای تولید می گردد.
الگوریتم های میکرو در مقابل ماکرو
الگوریتم ها دارای ویژگی های متفاوتی می باشند . ما می توانیم در رابطه با الگوریتم استفاده شده به منظور نوشتن یک برنامه مشخص صحبت نمائیم . از این زاویه ، ما صرفا" در رابطه با الگوریتم در سطح ماکرو(macro level) ، صحبت نموده ایم . در چنین مواردی ، الگوریتم ارائه شده ، سعی در بدست آوردن جنبه های عمومی برنامه از طریق یک مرور کلی به برنامه در مقابل درگیر شدن در جزئیات را دارد.ما می توانیم در رابطه با الگوریتم ها ، از سطح "میکرو" صحبت نمائیم . از این زاویه ، به سطوح پایین تر رفته و به عوامل اساسی ونگهدارنده ای که یک جنبه خاص از برنامه را با یکدیگر مرتبط می نماید، صحبت کرد. مثلا" در صورتیکه شما دارای داده هائی هستید که می بایست قبل از استفاده مرتب گردند ،الگوریتم های مرتب سازی متعددی در این زمینه وجود داشته و می توان یکی از آنها را بمنظور تامین اهداف مورد نظر خود انتخاب نمود. انتخاب یک الگوریتم مرتب سازی ، صرفا" باعث حل شدن یکی از جنبه های متفاوت برنامه می گردد . پس از مرتب سازی داده ها ،می بایست از یک الگوریتم میکرو دیگر بمنظور نمایش داده ها ی مرتب شده استفاده گردد .
همانگونه که احتمالا" حدس زده اید ، ما می توانیم تمام الگوریتم های میکرو را بمنظور ایجاد یک الگوریتم ماکرو ، جمع آوری نمائیم . اگر ما با الگوریتم های میکرو ، آغاز نمائیم ، و حرکت خود را بسمت نمایش ماکروی یک برنامه ، پیش ببریم ، کاری را انجام داده ایم که موسوم به طراحی " پایین به بالا" (buttom-up) ، است . اگر ما فعالیت خود را با یک الگوریتم ماکرو آعاز و حرکت خود را بسمت پائین و الگوریتم های میکرو ، ادامه دهیم ، طراحی از نوع " بالا به پایین " (top-down) را انجام داده ایم .
شاید این سوال مطرح گردد که کدام روش بهتر است ؟ اگر شما تمام مقالاتی را که تاکنون در این زمینه نوشته شده اند را دنبال نمائید ، هرگز به یک نتیجه قابل قبول دست نخواهید یافت . هر رویکرد، دارای نکات مثبت و منفی مربوط به خود است . صرفنظر از رویکرد طراحی استفاده شده ، می بایست دارای الگوئی (طرحی) مناسب برای برنامه باشیم .حداقل، نیازمند یک اعلامیه از مسئله برنامه نویسی و یک طرح ( الگو) برای برخورد با مسئله ، خواهیم بود . پس از شناخت مسئله ، می توان نحوه حل مسئله را ترسیم کرد. شناخت عمیق و مناسب نسبت به مسئله ای که قصد حل آن را داریم ، شرط اساسی و ضروری برای طراحی یک برنامه است .با توجه به اینکه این اعتقاد وجود دارد که شناخت جامع و کلی از مسئله ای که حل آن را داریم ، بخشی ضروری در اولین مرحله برنامه نویسی است ، ما در ادامه از رویکرد "بالا - پایین "، تبعیـت می نمائیم . فراموش نکنیم که رویکرد فوق ، امکان مشاهده مجازی از هر مسئله برنامه نویسی را فراهم خواهد نمود.
مراحل پنج گانه
هر برنامه را صرفنظر از میزان پیچیدگی آن ، می توان به پنج مرحله اساسی تجزیه کرد :
مقدار دهی اولیه
ورودی
پردازش
خروجی
پاکسازی
در ادامه به بررسی هریک از مراحل فوق ، خواهیم پرداخت .
مرحله مقداردهی اولیه
مرحله مقداردهی اولیه ، اولین مرحله ای است که می بایست در زمان طراحی یک برنامه در رابطه با آن فکر کرد . مرحله فوق ، شامل تمامی عملیات مورد نیازی است که برنامه می بایست قبل ازبرقراری ارتباط با کاربر ، انجام دهد . در ابتدا ممکن است این موضوع که عملیاتی را قبل از برقراری ارتباط با کاربر می بایست انجام داد ، تا اندازه ای عجیب بنظر رسد ولی احتمالا" برنامه های زیادی را مشاهده نموده اید که در این راستا عملیات مشابهی را انجام می دهند. مثلا" ، در زمان استفاده از برنامه هائی نظیر Word ، Excel و یا برنامه های مشابه دیگر ، با چنین مواردی برخورد نموده ایم . مثلا" با انتخاب گزینه منو File ، می توان لیستی از فایل هائی را که با آنها کار کرده ایم در بخش انتهائی منوفوق ، مشاهده کرد. ( مشاهده آخرین فایل های استفاده شده در یک برنامه خاص ، با استفاده از جادو! میسر نشده است ) . برنامه مورد نظر شاید ، لیست فایل های اخیر را از دیسک خوانده و آنها را به لیست مربوطه در منوی File ، اضافه کرده باشد . با توجه به اینکه لیست فایل های فوق ، می بایست قبل از اینکه برنامه هر چیز دیگر را برای کاربر نمایش دهد ، خوانده و نمایش داده شوند ، می توان انجام عملیات فوق را نمونه ای از مرحله مقداردهی اولیه، در نظر گرفت.یکی دیگر از عملیات متداول که به این مرحله مرتبط می باشد ، خواندن فایل های Setup است . چنین فایل هائی ممکن است حاوی اطلاعاتی در رابطه با نام مسیرهائی باشند که بانک ها ی اطلاعاتی خاصی و یا فایل های ذخیره شده دیگری را بر روی دیسک را مشخص می نمایند . با توجه به نوع برنامه ای که اجراء می گردد ، فایل های Setup می توانند شامل اطلاعاتی در رابطه با فونت های نمایش ، نام و محل چاپگر ، رنگ های زمینه و رویه ، وضوح تصویر صفحه نمایشگر و اطلاعات مشابهی دیگر باشند . سایر برنامه ها ممکن است مستلزم خواندن اطلاعاتی در رابطه با اتصالات شبکه ، مجوزهای امنیتی و دستیابی به اینترنت ، رمزهای عبور و سایر اطلاعات حساس دیگر باشند . در چنین مواردی فایل های Setup دارای نقشی مهم خواهند بود.
لینک دانلود و خرید پایین توضیحات
فرمت فایل word و قابل ویرایش و پرینت
تعداد صفحات: 19
چکیده : در این گزارش ما به بررسی ویژگی های الگوریتمهای کنترل همروندی توزیعی که بر پایه مکانیزم قفل دو مرحله ای(2 Phase Locking) ایجاد شده اند خواهیم پرداخت. محور اصلی این بررسی بر مبنای تجزیه مساله کنترل همروندی به دو حالت read-wirte و write-write میباشد. در این مقال، تعدادی از تکنیکهای همزمان سازی برای حل هر یک از قسمتهای مساله بیان شده و سپس این تکنیکها برای حل کلی مساله با یکدیگر ترکیب میشوند.
در این گزارش بر روی درستی و ساختار الگوریتمها متمرکز خواهیم شد. در این راستا برای ساختار پایگاه داده توزیعی یک سطحی از انتزاع را در نظر میگیریم تا مساله تا حد ممکن ساده سازی شود.
1. مقدمه : کنترل همروندی فرآیندی است که طی آن بین دسترسی های همزمان به یک پایگاه داده در یک سیستم مدیریت پایگاه داده چند کاربره هماهنگی بوجود میآید. کنترل همروندی به کاربران اجازه میدهد تا در یک حالت چند برنامگی با سیستم تعامل داشته باشند در حالیکه رفتار سیستم از دیدگاه کاربر به نحو خواهد بود که کاربر تصور میکند در یک محیط تک برنامه در حال فعالیت است. سخت ترین حالت در این سیستم مقابله با بروز آوری های آزار دهنده ای است که یک کاربر هنگام استخراج داده توسط کاربر دیگر انجام میدهد. به دو دلیل ذیل کنترل همروندی در پایگاه داده های توزیعی از اهمیت بالایی برخوردار است:
کاربراان ممکن است به داده هایی که در کامپیوترهای مختلف در سیستم قرار دارند دسترسی پیدا کنند.
یک مکانیزم کنترل همروندی در یک کامپیوتر از وضعیت دسترسی در سایر کامپیوترها اطلاعی ندارد.
مساله کنترل همروندی در چندین سال قبل کاملا مورد بررسی قرار گفته است و در خصوص پایگاهدادههای متمرکز کاملا شناخته شده است. در خصوص این مسال در پایگاه داده توزیعی با توجه به اینکه مساله در حوزه مساله توزیعی قرار میگیرد بصورت مداوم راهکارهای بهبود مختلف عرضه میشود. یک تئوری ریاضی وسیع برای تحلیل این مساله ارائه شده و یک راهکار قفل دو مرحله ای به عنوان راه حل استاندارد در این خصوص ارائه شده است. بیش از 20 الگوریتم کنترل همروندی توزیعی ارائه شده است که بسیاری از آنها پیاده سازی شده و در حال استفاده میباشند.این الگوریتمها معمولا پیچیده هستند و اثبات درستی آنها بسیار سخت میباشد. یکی از دلایل اینکه این پیچیدگی وجود دارد این است که آنها در اصطلاحات مختلف بیان میشوند و بیان های مختلفی برای آنها وجود دارد. یکی از دلایل اینکه این پیچدگی وجود دارد این است که مساله از زیر قسمتهای مختلف تشکیل شده است و برای هر یک از این زیر قسمتها یک زیر الگوریتم ارائه میشود. بهترین راه برای فائق آمدن بر این پیچدگی این است که زیر مساله ها و الگوریتمهای ارائه شده برای هر یک را در ی.ک سطح از انتزاع نگاه داریم.
با بررسی الگوریتمهای مختلف میتوان به این حقیقت رسید که این الگوریتمها همگی ترکیبی از زیر الگوریتمهای محدودی هستند. در حقیقت این زیر الگوریتمها نسخههای متفاوتی از دو تکنیک اصلی در کنترل همروندی توزیعی به نامهای قفل دو مرحله ای و ترتیب برچسب زمانی میباشند.
همانطور که گفته شد، هدف کنترل همروندی مقابله با تزاحمهایی است که در اثر استفاده چند کاربر از یک سری داده واحد برای کاربران بوجود میآید است. حال ما با ارائه دو مثال در خصوص این مسائل بحث خواهیم نمود. این دو مثال از محک معروف TPC_A مقتبس شده اند. در این مثالها، یک سیستم اطلاعات را از پایگاه داده ها استخراج کرده و محاسبات لازم را انجام داده و در نهایت اطلاعات را در پایگاه داده ذخیره مینماید.
حالت اول را میتوان بروزآوری از دست رفته نامید. حالتی را تصور کنید که دو مشتری از دو سیستم مجزا بخواهند از یک حساب مالی برداشت نمایند. در این حالت فرض کنید در غیاب سیستم کنترل همروندی، هر دو با هم اقدام به خواندن اطلاعات و درج اطلاعات جدید در سیستم میکنند. در این حالت در غیاب سیستم کنترل همروندی تنها آخرین درج در سیستم ثبت میشود. این حالت در شکل 1 نشان داده شده است.
شکل 1 نمایش حالت بروز آوری از دست رفته
حالت دوم حالتی است که در آن اطلاعات صحیح از پایگاه داده استخراج نمیشود. در این حالت فرض کنید دو مشتری بخواهند کارهای ذیل را انجام دهند.
مشتری 1: بخواهد یک چک 1 میلیونی را به حساب X واریز و از حساب Y برداشت نماید.
مشتری 2: بخواهد بیلان حساب مالی X و Y شامل کل موجودی را نمایش دهد.
در غیاب کنترل همروندی همانطور که در شکل 2 نشان داده شدهاست، تزاحم بین پروسس ها بوجود خواهد آمد. فرض کنید در زمانی که مشتری 1 اطلاعات را از حساب Y خوانده و اطلاعات حساب X را دریافت نموده و 1 میلیون از حساب Y برداشت نموده ولی هنوز 1
لینک دانلود و خرید پایین توضیحات
دسته بندی : وورد
نوع فایل : .doc ( قابل ویرایش و آماده پرینت )
تعداد صفحه : 30 صفحه
قسمتی از متن .doc :
الگوریتم یادگیری ماشین
چکیده
در مورد الگوریتم ماشین حساب ما استفاده از یک بافر برای گرفتن عبارت بطور کامل و سپس تجزیه کردن اجزای (Parse) آن از لحاظ فنی غیر ممکن نیست و تنها بدلیل صورت مسئله قادر به انجام آن نیستیم. اما تصور کنید که اگر قرار بود مرورگرهای وب (Web Browsers) ابتدا تمام محتوای یک صفحه را بخواندند و سپس آن را تجزیه کرده و نمایش دهند چه مقدار زمان کاربر و سرویس دهنده وب به هدر میرفت و ترافیک بیهودهای برروی خطوط ارتباطی حاصل میشد (در اکثر موارد ما با دیدن تنها چند خط از یک صفحه به صفحه دیگری میرویم(.
مقدمه
یک الگوریتم مجوعهی متناهی از دستورالعمل های خوش تعریف برای انجام یک عمل است که با داشتن یک حالت اولیه به حالت پایانی مشخص و متناظری خواهد رسید. (با استدلالی ( heuristic )مقایسه شود(
مفهوم یک الگوریتم معمولاً با مثال دستور اشپزی توضیح داده می شود. هر چند بعضی الگوریتم ها خیلی پیچیده تر هستند. الگوریتم ها معمولاً دارای مراحلی است که تکرار می شود تکرار و یا تا زمان پایان برنامه نیازمند decision هایی (مانند منطق بولی یا نابرابری است. اگر الگوریتم مناسب و نا معیوب نباشد حتی با اجرای درست آن هم مسئله حل نمی شود. برای مثال اجرای الگوریتم سالاد سیب زمینی در صورتی که سیب زمینی در کار نباشد حتی اگر تمام حرکات تهیه سالاد طوری انجام شود مثل اینکه سیب زمینی وجود دارد نا فرجام خواهد ماند.الگوریتم های مختلف ممکن است یک عمل را با دستورات مختلف در مدت زمان، جا، وبا تلاش کمتر یا بیشتری نسبت به بقیه انجام دهد. برای مثال با داشتن دو دستور تهیه ی سالاد سیب زمینی، یکی ممکن است قبل از جوشاندن اول سیب زمینی را پوست بکند در حالی که دیگری این دو مرحله را برعکس انجام دهد، و هر دو این مراحل را برای تمام سیب زمینی ها تکرار می کنند تا وقتی که سالاد سیب زمینی آماده طبخ شود.(مثال ضعیف... چه کسی سیب زمینی ها را جدا جدا می جوشاند؟ و معمولاً تهیه ی سالاد نیازی به پخت و پز ندارد...(
در بعضی کشورها، مثل امریکا، اگر تعبیه فیزیکی الگوریتم ها ممکن باشد ممکن است آن ها به شدت انحصاری شود (برای مثال، یک الگوریتم ضرب ممکن است در واحد محاسبه ی یک ریز پردازنده تعبیه شود (
الگوریتم های رسمی شده(formalized algorithms )
الگوریتم ها به خاطر روش پردازش اطلاعات توسط کامپیوتر اساسی و حیاتی هستند، چون یک برنامه کامپیوتری اساساً یک الگوریتم است که به کامپیوتر می گوید برای انجام یک عمل خاص مثل محاسبه حقوق کارمندان و یا چاپ ورقه گزارش دانش آموزان،چه مراحل خاصی را (با چه نظم خاصی) اجرا کند،.به این صورت، یک الگوریتم را می توان هر دنباله از دستوراتی که قابل اجرا توسط یک Turing complete باشد به حساب آورد.به طور نمونه ای هنگامی که الگوریتم کار پرازش اطلاعات را انجام می دهد، داده از طریق یک وسیله یا منبع ورودی گرفته، به یک وسیله خروجی یاsink نوشته و / یا برای استفاده در زمانی دیگر ذخیره می شود. داده ذخیره شده به عنوان بخشی از حالت درونی(internal state) نهاد مجری الگوریتم تلقی می گردد.برای اعمال محاسباتی از این قبیل، الگوریتم باید به دقت تعریف شود :یعنی طوری مشخص شود که برای حالت مختلف محتمل معتبر باشد. یعنی تمام مراحل شرطی باید به طور سیستماتیک بررسی شود ; حالت به حالت.ضابطه مربوط به هر حالت باید واضح (و محاسبه پذیر باشد(.چون الگوریتم ها لیست دقیقی از گام های دقیق است، نظم محاسبه تقریباً همیشه برای کار کرد الگوریتم اساسی می باشد. همواره فرض می شود دستور ها روشن هستند، و گفته می شود از" بالا آغاز" و"تا پایین کشیده می شوند"، اندیشه ای که به طور رسمی تر توسط جریان کنترل توصیف می شود.تا اینجا ی بحث، رسمی سازی قواعد و قوانین برنامه نویسی امری(imperative programming) را به خود گرفت. این عام ترین مفهوم است، و تلاش دارد با وسایل "مکانیکی" مجزا کاری را توصیف کند؛ عملیات تخصیص، تعیین مقدار یک متغیر، برای این مفهوم از الگوریتم رسمی شده یکتا می باشد .در زیر مثالی از این تخصیص آمده است.برای مفاهیم فرعی ) (alternative تشکیل دهنده یک الگوریتم برنامه نویسی تابعی و برنامه نویسی منطقی را ببینید.
ماشین حساب (آشنایی با Syntax Diagram(
الگوریتم ماشین حسابی با تعریف زیر را بنویسید:
انجام چهار عمل اصلی با اولویت محاسباتی عملگرها طبق آنچه در زیر مشخص شده است:
کد:
+ - عملگر یگانی (Unary)
* /
+ - عملگر دودویی (Binary)
عبارات داخل پرانتز از اولویت بالاتری برخوردارند.
اعداد میتوانند صحیح یا اعشاری باشند.
پایان هر عبارت با علامت سوال (=) مشخص میشود.
خروج از ماشین حساب با ورود حرف ایکس (X) مشخص میشود.
مثال:
کد:
2 * 3 + 4 * 5 =
26
2 * (3 + 4) * 5 =