فایلکو

مرجع دانلود فایل ,تحقیق , پروژه , پایان نامه , فایل فلش گوشی

فایلکو

مرجع دانلود فایل ,تحقیق , پروژه , پایان نامه , فایل فلش گوشی

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

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

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


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

 

 

 

 

 

درعلوم کامپیوتر و تئوری اطلاعات، کدگذاری هافمن یک الگوریتم کدگذاری برای فشرده‌سازی بی‌اتلاف اطلاعات است.

این تعبیر بر می‌گردد به استفاده از جدول کد طول متغیر برای کد کردن هر کدام از نشانه‌های مبدا (مانند نویسه‌های یک پرونده). جدول کد طول متغیر از روشی بخصوص مبنی بر احتمال وقوع هر کدام از نشان‌های مبدا بدست می‌آید. این روش بوسیلهٔ دیوید هافمن توسعه یافت. وی دانشجوی دورهٔ دکتری در دانشگاه MIT بود و در سال ۱۹۵۲ مقالهٔ «روشی برای تولید کدی با کمترین تکرار زوائد» را منتشر کرد.

در کدگذاری هافمن، از روشی خاص برای انتخاب نحوهٔ نمایش هر نماد استفاده می‌شود. روشی به نام کدهای بدون پیشوند (گاهی هم روش «کدهای پیشوندی» گفته می‌شود. یعنی در این روش رشته‌ای که نشان دهندهٔ یک نویسه خاص است هیچ گاه پیشوند رشتهٔ دیگر که نمایانگر نویسهٔ دیگر است، نمی‌باشد.). در این روش نویسه‌های پرکاربردتر با رشته‌های بیتی کوتاهتری نسبت به آن‌هایی که کاربردشان کمتر است، نشان داده می‌شوند.

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

برای مجموعه‌ای از نمادها با توزیع احتمالی یکنواخت و تعداد عضوهایی برابر با توانی از ۲، کد گذاری هافمن هم ارز با قطعه کد سادهٔ دوجمله‌ای است. مانند کد گذاری اسکی. کد گذاری هافمن روشی متداول برای ایجاد کدهای بدون پیشوند است بطوریکه عبارت «کد هافمن» به گستردگی به عنوان مترادفی برای «کد بدون پیشوند» استفاده می‌شود، هرچند چنین کدی با الگوریتم هافمن بدست نیامده باشد.

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


دانلود با لینک مستقیم


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

دانلود مقاله ویژگی های الگوریتم های کنترل همروندی توزیعی

اختصاصی از فایلکو دانلود مقاله ویژگی های الگوریتم های کنترل همروندی توزیعی دانلود با لینک مستقیم و پر سرعت .

دانلود مقاله ویژگی های الگوریتم های کنترل همروندی توزیعی


دانلود مقاله ویژگی های الگوریتم های کنترل همروندی توزیعی

 

مشخصات این فایل
عنوان: ویژگی های الگوریتم های کنترل همروندی توزیعی
فرمت فایل: word( قابل ویرایش)
تعداد صفحات: 33

این مقاله درمورد ویژگی های الگوریتم های کنترل همروندی توزیعی می باشد.

خلاصه آنچه در  مقاله ویژگی های الگوریتم های کنترل همروندی توزیعی می خوانید : 

پیاده سازی پایه قفل دو مرحله‌ای : در پیاده سازی پایه الگوریتم قفل دو مرحله‌ای یک ماژول نرم افزاری ایجاد می‌شود که روند دریافت و آزاد سازی قفلها را بر اساس ویژگی های الگوریتم قفل دو مرحله‌ای کنترل می‌کند.
یک روش برای پیاده سازی توزیعی این الگوریتم این است که ماژولهای نرم افزاری را بین اجزای پایگاه‌داده توزیع نمائیم. برای اینکار هر ماژول را در 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-نتیجه گیری :.در این گزارش با توجه به توسعه سیستمهای پایگاه‌ توزیعی، بحث کنترل همروندی و صحت و مانایی اطلاعات در حضور همروندی مطرح می‌شود. در بین سه روش پایه ای  موجود برای کنترل همروندی، یعنی روشهای قفل دو مرحله‌ای، برچسب زمانی متوالی و روش خوش بینانه، روش قفل دو مرحله ای مورد تجزیه و تحلیل قرار گرفت. در این خصوص یک مقدمه برای تشریح مساله کنترل همروندی بیان شد.
در این گزارش مزایای روش قفل دو مرحله‌ای بیان شده و علل صحت این روش تشریح شده است. نهایتا میتوان گفت از آنجائیکه این روش از نظر صحت عملکرد کاملا اثبات شده است، می‌تواند در پایگاه داده‌های توزیعی مورد استفاده قرار گیرد.

بخشی از فهرست مطالب مقاله ویژگی های الگوریتم های کنترل همروندی توزیعی

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


دانلود با لینک مستقیم


دانلود مقاله ویژگی های الگوریتم های کنترل همروندی توزیعی

دانلود پاورپوینت الگوریتم ها - 456 اسلاید

اختصاصی از فایلکو دانلود پاورپوینت الگوریتم ها - 456 اسلاید دانلود با لینک مستقیم و پر سرعت .

دانلود پاورپوینت الگوریتم ها - 456 اسلاید


دانلود پاورپوینت الگوریتم ها - 456 اسلاید

 

 

 

 

در زندگی روزمره، انسان با مسائل مختلفی روبروست و برای هر کدام از این مسائل (حل مشکلات) راه حلی و روشی را بر میگزیند. مسائلی از قبیل راه رفتن، غذا خوردن، خوابیدن و غیره که بشر تقریباً هر روز آنها را پیش روی خود دارد.

 

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

برای دانلود کل پاورپوینت از لینک زیر استفاده کنید:


دانلود با لینک مستقیم


دانلود پاورپوینت الگوریتم ها - 456 اسلاید

دانلود تحقیق تحلیل الگوریتم شاخه و قید موازی آسنکرون

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

دانلود تحقیق تحلیل الگوریتم شاخه و قید موازی آسنکرون


دانلود تحقیق تحلیل الگوریتم شاخه و قید موازی آسنکرون

خلاصه:
در این مقاله توضیحی درباره کامپیوترهای موازی می‌دهیم و بعد الگوریتمهای موازی را بررسی می‌کنیم. ویژگیهای الگوریتم branch & bound را بیان می‌کنیم و الگوریتمهای b&b موازی را ارائه می‌دهیم و دسته‌ای از الگوریتمهای b&b آسنکرون برای اجرا روی سیستم MIMD را توسعه می‌دهیم. سپس این الگوریتم را که توسط عناصر پردازشی ناهمگن اجرا شده است بررسی می‌کنیم.
نمادهای perfect parallel و achieved effiency را که بطور تجربی معیار مناسبی برای موازی‌سازی است معرفی می‌کنیم زیرا نمادهای قبلی speed up (تسریع) و efficiency (کارایی) توانایی کامل را برای اجرای واقعی الگوریتم موازی آسنکرون نداشتند. و نیز شرایی را فراهم کردیم که از آنومالیهایی که به جهت موازی‌سازی و آسنکرون بودن و یا عدم قطعیت باعث کاهش کارایی الگوریتم شده بود، جلوگیری کند.
2- معرفی:
همیشه نیاز به کامپیوترهای قدرتمند وجود داشته است. در مدل سنتی محاسبات، یک عنصر پردازشی منحصر تمام taskها را بصورت خطی (Seqventia) انجام میدهد. به جهت اجرای یک دستورالعمل داده بایستی از محل یک کامپیوتر به محل دیگری منتقل می‌شد، لذا نیاز هب کامپیوترهای قدرتمند اهمیت روز افزون پیدا کرد. یک مدل جدید از محاسبات توسعه داده شد، که در این مدل جدید چندین عنصر پردازشی در اجرای یک task واحد با هم همکاری می‌کنند. ایده اصل این مدل بر اساس تقسیم یک task به subtask‌های مستقل از یکدیگر است که می‌توانند هر کدام بصورت parallel (موازی) اجرا شوند. این نوع از کامپیوتر را کامپیوتر موازی گویند.
تا زمانیکه این امکان وجود داشته باشد که یک task را به زیر taskهایی تقسیم کنیم که اندازه بزرگترین زیر task همچنان به گونه‌ای باشد که باز هم بتوان آنرا کاهش داد و البته تا زمانیکه عناصر پردازشی کافی برای اجرای این sub task ها بطور موازی وجود داشته باشد، قدرت محاسبه یک کامپیوتر موازی نامحدود است. اما در عمل این دو شرط بطور کامل برقرار نمی‌شوند:
اولاً: این امکان وجود ندارد که هر taskی را بطور دلخواه به تعدادی زیر task‌های مستقل تقسیم کنیم. چون همواره تعدادی زیر task های وابسته وجود دارد که بایستی بطور خطی اجرا شوند. از اینرو زمان مورد نیاز برای اجرای یک task بطور موازی یک حد پایین دارد.
دوماً: هر کامپیوتر موازی که عملاً ساخته می‌شود شامل تعداد معینی عناصر پردازشی (Processing element) است. به محض آنکه تعداد taskها فراتر از تعداد عناصر پردازشی برود، بعضی از sub task ها بایستی بصورت خطی اجرا شوند و بعنوان یک فاکتور ثابت در تسریع کامپیوتر موازی تصور می‌شود.
الگوریتمهای B&B مسائل بهینه سازی گسسته را به روش تقسیم فضای حالت حل می‌کنند. در تمام این مقاله فرض بر این است که تمام مسائل بهینه سازی مسائل می‌نیمم کردن هستند و منظور از حل یک مسئله پیدا کردن یک حل ممکن با مقدار می‌نیمم است. اگر چندین حل وجود داشته باشد، مهم نیست کدامیک از آنها پیدا شده.
الگوریتم B&B یک مسئله را به زیر مسئله‌های کوچکتر بوسیله تقسیم فضای حالت به زیر فضاهای (Subspace) کوچکتر، تجزیه می‌کند. هر زیر مسئله تولید شده یا حل است و یا ثابت می‌شود که به حل بهینه برای مسئله اصلی (Original) نمی‌انجامد و حذف می‌شود. اگر برای یک زیر مسئله هیچ کدام از این دو امکان بلافاصله استنباط نشود، آن زیر مسئله به زیرمسئله‌های کوچکتر دوباره تجزیه می‌شود. این پروسه آنقدر ادامه پیدا می‌کند تا تمام زیر مسئله‌های تولید شده یا حل شوند یا حذف شوند.
در الگوریتمهای B&B کار انجام شده در حین اجرا به شدت تحت تاثیر نمونه مسئله خاص قرار می‌گیرد. بدون انجام دادن اجرای واقعی الگوریتم این امکان وجود ندارد که تخمین درستی از کار انجام شده بدست آورد. علاوه برآن، روشی که کار باید سازمان‌دهی شود بر روی کار انجام شده تاثیر می‌گذارد. هر گامی که در اجرای الگوریتم b&b ی موازی بطور موفقیت‌آمیزی انجام می‌شود و البته به دانشی است که تاکنون بدست آورده. لذا استفاده از استراتژی جستجوی متفاوت یا انشعاب دادن چندین زیر مسئله بطور موازی باعث بدست آمدن دانشی متفاوت می‌شود پس می‌توان با ترتیب متفاوتی زیر مسئله‌ها را انشعاب داد.

 

 

شامل 51 صفحه word


دانلود با لینک مستقیم


دانلود تحقیق تحلیل الگوریتم شاخه و قید موازی آسنکرون