
عنوان:
The Art of Computer Programming: Volume 4B: Combinatorial Algorithms. Part 2
نویسنده:
Donald Knuth(Author)
انتشارات:
Addison-Wesley
نسخه:
حجم:
10.2MB
معرفی کتاب: " هنر برنامه نویسی کامپیوتر، جلد 4B: الگوریتم های ترکیبی، قسمت ۲ "
کتاب هنر برنامهنویسی کامپیوتر اثر چندجلدی دونالد کنوث، تحلیلی عمیق از الگوریتمهاست که با انتشار جلد جدید خود همچنان به عنوان مرجع نهایی علوم کامپیوتر کلاسیک شناخته میشود.
جلد 4B که دنبالهای بر جلد 4A است، بررسی کنوث در حوزه الگوریتمهای ترکیبیاتی را گسترش میدهد. این الگوریتمها برای طراحان نرمافزار اهمیت زیادی دارند، چرا که «یک ایده خوب میتواند سالها یا حتی قرنها زمان پردازش کامپیوتر را صرفهجویی کند.»
این کتاب با پرداختن به برنامهنویسی بازگشتی (Backtrack Programming) آغاز میشود و مجموعهای از ساختارهای داده را معرفی میکند که پیوندهایشان «رقصهای دلانگیزی» اجرا میکنند و برای این حوزه بسیار مناسباند. در ادامه، تکنیکهای جدیدی برای کاربردهای مهمی مثل تقسیمبندی و چیدمان بهینه توسعه داده میشود.
سبک نگارش کنوث سرزنده و بازیگونه است. او دهها معما را برای نمایش الگوریتمها و تکنیکها گنجانده، از پازلهای کلاسیک مانند edge-matching گرفته تا سرگرمیهای جدیدتری مانند سودوکو؛ بنابراین ریاضیدانان تفریحی و دانشمندان کامپیوتر ناامید نخواهند شد.
در نیمه دوم کتاب، کنوث به مسئله رضایتپذیری (Satisfiability) میپردازد، که یکی از اساسیترین مسائل در علوم کامپیوتر است. تکنیکهای نوینی که اوایل قرن ۲۱ توسعه یافتهاند، باعث ایجاد تحولاتی در کاربردهایی چون زمانبندی بهینه، طراحی مدار، و اعتبارسنجی سختافزار شدهاند. امروزه کامپیوترها میتوانند مسائل عملی با میلیونها متغیر را حل کنند؛ مسائلی که تنها چند سال پیش غیرممکن به نظر میرسیدند.
بخش ریاضیات مقدماتی بازبینیشده (Mathematical Preliminaries Redux) نیز بخشی ویژه از کتاب است که تکنیکهای پایهای نظریه احتمال را پوشش میدهد؛ تکنیکهایی که از زمان انتشار جلد اول بسیار برجستهتر شدهاند.
مثل همیشه، این جلد هم شامل صدها تمرین است که با سیستم رتبهبندی هوشمندانه کنوث همراه شدهاند تا خوانندگان با سطوح مختلف دانش ریاضی بتوانند چالشهایی متناسب با خود پیدا کنند. پاسخهای دقیق نیز برای خودآموزی ارائه شدهاند.
«کنوث همیشه عاشق حل مسئله بوده. در جلد 4B، او دو روش کلی و نوین برای حل مسائل معرفی میکند: (0) الگوریتم Dancing Links برای بازگشتپذیری، و (1) حلکننده SAT. برای استفاده از اینها، مسئله یا به صورت مجموعهای از گزینهها تعریف میشود یا به شکل فرمولهای بولی. لپتاپهای امروزی با پردازندههای پرقدرت و حافظههای عظیم به راحتی این حلکنندهها را روی دادههای بزرگ اجرا میکنند. هر بخش از این جلد پر از تمرینهای چالشی است که درک مطلب را عمیقتر میکند.» — ایئیتی وادا، دانشمند کامپیوتر پیشکسوت، دانشگاه توکیو
«کنوث فقط استاد تجزیه و تحلیل الگوریتمها نیست؛ او یک داستانگو بینظیر و خستگیناپذیر است که همیشه بین نظریه، عمل و سرگرمی تعادل برقرار میکند. جلد 4B ما را وارد دنیای جذاب جستوجو در فضاهای مسئله میکند، جایی که برای بازگشت باید هر قدم با دقت برگشت داده شود. او زیبایی رقص لینکها را برای حذف و بازگرداندن خانههای ماتریس معرفی میکند، که هم ساده پیادهسازی میشود و هم کارآمد است.»
فهرست مطالب
- Cover
- Half Title
- Title Page
- Copyright Page
- Contents
- Preface
- Notes on the Exercises
- Mathematical Preliminaries Redux
- Inequalities
- Martingales
- Tail inequalities from martingales
- Applications
- Statements that are almost sure, or even quite sure
- Exercises
- Chapter 7—Combinatorial Searching
- 7.2. Generating All Possibilities
- 7.2.1. Generating Basic Combinatorial Patterns
- 7.2.2. Backtrack Programming
- 7.2.2.1. Dancing links
- 7.2.2.2. Satisfiability
- Answers to Exercises
- Appendix A—Tables of Numerical Quantities
- 1. Fundamental Constants (decimal)
- 2. Fundamental Constants (hexadecimal)
- 3. Harmonic Numbers, Bernoulli Numbers, Fibonacci Numbers
- Appendix B—Index to Notations
- Appendix C—Index to Algorithms and Theorems
- Appendix D—Index to Combinatorial Problems
- Appendix E—Answers to Puzzles in the Answers
- Index and Glossary
مشخصات
نام کتاب
The Art of Computer Programming: Volume 4B: Combinatorial Algorithms. Part 2 Edition:
نویسنده
Donald Knuth(Author)
انتشارات
Addison-Wesley
تاریخ انتشار
2022
ISBN
9780201038040
تعداد صفحات
734
زبان
انگلیسی
فرمت
حجم
10.2MB
موضوع
Computer Science; Computer Programming; Algorithms; Algorithm Analysis; Mathematical Preliminaries Redux; Combinatorial Searching; Combinatorial Algorithms; Backtrack Programming; Dancing Links Backtracking; SAT Solver; Data Structures; Optimum Partitioning