آنالیز ترکیبی
ترکیبیات، ریاضیات انتخاب یا آنالیز ترکیبی یکی از شاخه‌های جذاب ریاضیات است که به بررسی مسائل شمارش، گرافها، بازی‌ها و نیز مسائل ساختاری روی مجموعه‌ها متناهی می‌پردازد. از جمله کاربردهای مهم این شاخه می‌توان به استفاده آن در برنامه‌نویسی کامپیوتر و الگوریتم‌ها اشاره کرد. یکی از مسائلی که ترکیبیات را از دیگر شاخه‌های ریاضی متمایز می‌کند این است که آموختن آن نیاز به اطلاعات خاصی از ریاضیات ندارد و داشتن معلومات ریاضی دوره راهنمایی نیز برای درک آن کافی به نظر می‌رسد چرا که ریشه‌های ترکیبیات در واقع به مسائل معماگونه ریاضی و بازی‌ها می‌رسد. بسیاری از مسائل ترکیبیات که در گذشته برای تفریح بررسی شده‌اند امروزه اهمیت زیادی در ریاضیات محض و کاربردی دارند. در قرن اخیر ترکیبیات به یکی از مهم‌ترین شاخه‌های ریاضیات تبدیل شده و مرزهای آن همواره گسترش پیدا می‌کند که یکی از مهم‌ترین علل این گسترش سریع، اختراع کامپیوتر است: به علت سرعت بالای کامپیوترها بسیاری از مسائلی که قبلاً قابل بررسی نبودند، بررسی شدند. البته تقابل کامپیوتر و ترکیبیات یک طرفه نبوده‌است و کامپیوترها نمی‌توانستند مستقل عمل کنند و برای عمل نباز به برنامه داشتند. اساس برنامه‌های کامپیوتری غالباً الگوریتم‌های ترکیبیاتی اند و به همین دلیل اهمیت و کاربرد ترکیبیات پس از اختراع کامپیوتر چندین برابر معلوم شد و باعث شد تا ریاضیدانان بسیاری به تحقیقات گسترده در این زمینه رو آوردند. مباحث ترکیبیات بسیار گسترده‌اند ولی اساس آن بر پایه روش‌های شمارش است که از جمله این روش‌ها می‌توان به اصل جمع، اصل ضرب، جایگشت اشاره کرد. یکایک شمردن یا شمارش، ممکن است به عنوان فرآیندی آشکار تلقی شود که هر دانشجو در آغاز مطالعه علم حساب فرا می‌گیرد؛ ولی به نظر می‌رسد که پس از آن، به تدریج که دانشجو به زمینه‌های «دشوارتر» ریاضیات، چون جبر، هندسه، مثلثات، و حساب دیفرانسیل و انتگرال می‌رسد توجه بسیار کمتری به گسترش بیشتر مفهوم شمارش مبذول می‌شود. یکایک شمردن محدود به حساب نیست. کاربردهایی نیز در زمینه‌هایی چون نظریه کدگذاری، حساب احتمالات، و آمار (در ریاضیات) و در تحلیل الگوریتم‌ها (در علم کامپیوتر) دارد.
مطالعه خود را در ریاضیات گسسته و ترکیبیاتی، با دو اصل اساسی شمارش آغاز می‌کنیم قاعده‌های حاصل جمع و حاصل ضرب، بیان این قاعده‌ها و کاربردهای اولیه آن‌ها نسبتاً ساده به نظر می‌رسد. هنگام تحلیل مسائل پیچیده‌تر، غالباً قادریم مسئله را به بخش‌هایی قسمت کنیم که با به‌کارگیری این اصول اساسی قابل حل است. هدف ما ایجاد قدرت «تجزیه» ی این‌گونه مسائل و ترکیب راه حل‌های جزئی برای رسیدن پاسخ نهایی است. یک راه مناسب برای انجام این امر، تجزیه و تحلیل و حل تعداد زیادی از مسائل گوناگون مربوط به شمردن است. ضمن اینکه تمام مدت باید اصولی را که در راه حل‌ها به کار می‌روند در نظر داشت. این همان رهیافتی است که ما در اینجا دنبال خواهیم کرد.
اصل نخست شمارش را می‌توان به صورت زیر بیان کرد: قاعده حاصل جمع:اگر کاری را بتوان به m طریق و کار دیگری را بتوان به n طریق انجام داد، و اگر این دو کار را نتوان همزمان انجام داد، آنگاه دو کار را می‌توان به m+n طریق انجام داد.
توجه داشته باشید که وقتی می‌گوییم رویدادی خاص، مثلاً کاری از نوع نخست، می‌تواند به m طریق رخ دهد، فرض بر این است که این m طریق متمایزند، مگر آنکه خلاف آن بیان شود.
مثال ۱ کتابخانه دانشکده‌ای ۴۰ کتاب درسی دربارهٔ جامعه‌شناسی و ۵۰ کتاب درسی دربارهٔ انسان‌شناسی دارد. بنابر قاعده حاصل جمع، دانشجویی که در این دانشکده تحصیل می‌کند، به منظور فراگیری بیشتر دربارهٔ این یا آن موضوع، می‌تواند بین ۹۰ = ۵۰ + ۴۰ کتاب درسی انتخاب به عمل آورد. مثال ۲ قاعده بالا را می‌توان به بیشتر از دو کار تعمیم داد مشروط برآنکه هیچ جفتی از کارها را نتوان همزمان انجام داد. به عنوان مثال، یک مدرس علم کامپیوتر که در هر یک از زمینه‌ها اپل، بیسیک، فرترن، و پاسکال مثلاً پنج کتاب مقدماتی دارد، می‌تواند هر یک از این ۲۰ کتاب را به دانشجوی علاقه‌مند به فراگیری نخستین و برنامه‌نویسی توصیه کند.
مثال زیر مدخلی برای معرفی اصل دوم شمارش است. مدیر کارخانه‌ای به منظور اتخاذ تصمیمی دربارهٔ توسعه کارخانه، ۱۲ نفر از کارمندان خود را در دو گروه گرد آورد. گروه A مرکب از پنج عضو است و بناست دربارهٔ نتایج مساعد احتمالی چنین توسعه تحقیقاتی به عمل آورد. گروه دیگر، یعنی گروه Bکه مرکب از هفت کارمند است دربارهٔ نتایج نامساعد احتمالی بررسی‌هایی به عمل خواهد آورد. اگر، قبل از اتخاذ تصمیم، مدیر نامبرده بخواهد فقط با یکی از این اعضا دربارهٔ تصمیم صحبت کند، آنگاه بنابر قانون حاصل جمع، می‌تواند ۱۲ کارمند را احضار کند؛ ولی، به منظور قضاوت بی طرفانه مدیر نامبرده تقسیم می‌گیرد که روز دوشنبه با عضوی از گروه Aو سپس روز سه شنبه با عضوی از گروه B صحبت کند تا به اتخاذ تصمیمی نائل گردد. با به‌کارگیری اصل زیر، ملاحظه می‌کنیم که او می‌تواند به ۳۵ = ۷ * ۵ طریق دو کارمند متعلق به گروه‌های دوگانه را برگزیند و با آن‌ها صحبت کند.
اگر عملی به دو مرحله اول و دوم تقسیم شود و اگر در مرحله اول m نتیجه ممکن و برای هر یک از این نتایج، nنتیجه ممکن در مرحله دوم وجود داشته باشد، آنگاه کل عمل نامبرده می‌تواند با ترتیب یاد شده، به mn طریق انجام شود.
گاهی این قاعده را اصل انتخاب نیز می‌نامند.
مفهوم جایگشت که یکی از مفاهیم مهم در اصول شمارش است را می‌توان در اثر عبری سفر یتزیر (سفر آفرینش)، که دستنوشته‌ای است از یک صوفی بین سال‌های ۲۰۰و ۶۰۰، یافت؛ ولی شایان توجه است که، حتی قبل از آن، یکی از نتایجی که زنوکراتس از اهالی کالسدان (۳۹۶–۳۱۴ قبل از میلاد مسیح) به دست آورده بود احتمالاً حاوی «نخستین تلاش ثبت شده برای حل مسئله‌ای دشوار دربارهٔ ترتیبها و ترکیبها» است. نخستین متن درسی که دربارهٔ برخی از مباحثی که ما در این فصل مورد بحث قرار دادیم کتاب فن حدس زدن اثر ریاضیدان سویسی یاکوب برنولی یکی از هشت ریاضیدان برجسته خانواده برنولی، است. این کتاب مدتی پس از فوت یاکوب برنولی در ۱۷۱۳ منتشر شد و شامل تجدید چاپ نخستین رساله صوری دربارهٔ حساب احتمالات بود. این رساله در ۱۶۵۷ به وسیله کریستیان هویگنس فیزیکدان، ریاضیدان، و منجم هلندای که حلقه‌های دور مشتری را کشف کرد، نوشته شده بود.
قضیه دو جمله‌ای به ازای ۲n= در اثر اقلیدس) ۳۰۰ سال قبل از میلاد مسیح) دیده می‌شود، ولی عملاً در قرن شانزدهم اصطلاح «ضریب دو جمله‌ای» به وسیله میشل اشفل وضع شد. او در اثرش به نام حساب صحیح ضرایب دوجمله‌ای را تا مرتبه به دست می‌دهد. بلزپاسکال در پژوهش‌های خود دربارهٔ حساب احتمالات، در دهه ۱۶۵۰ رساله‌ای منتشر کرد که در آن ارتباط‌های موجود ضرایب دو جمله‌ای، ترکیب‌ها، و چندجمله‌ای‌ها را بررسی می‌کرد. این نتایج را یاکوب برنولی هنگام اثبات صورت کلی قضیه دو جمله‌ای، با روشی مشابه با آنچه ما در این فصل ارائه کردیم، به کار برد. استفاده از نماد تا قرن نوزدهم که به وسیله آندره اس فن اتینگهاوزن به کار برده شد، هنوز متداول نشده بود.
در قرن بیستم بود که ظهور کامپیوتر امکان تحلیل منظم و اصولی فرایندها و الگوریتم‌هایی را که برای تولید جایگشتها و ترکیب‌ها به کار می‌روند. فراهم ساخت. به‌طور کلی برای شمارش جایگشت از روش زیر استفاده می‌کنند.
اگر به عنوان n شی دو به دو متمایز باشند آنگاه هر حال کنار هم قرار گرفتن این n شی کنار هم در یک ردیف را یک جایگشت از این n شی می‌گوییم. برای ردیف کردن این n شی کنار هم به n مکان نیاز است. برای قرار دادن اولین شی در خانه اول n حالت انتخاب داریم. برای قرار دادن دومین شی در خانه دوم n-۱ حالت انتخاب داریم و به همین ترتیب برای قرار داردن n امین شی باقی مانده در خانه nام (خانه آخر) ۱ حالت انتخاب داریم به این ترتیب بر طبق اصل ضرب برای قرار دادن این n شی در کنار هم در یک ردیف: به این ترتیب تعداد حالات جایگشت n شی دو به دو متمایز برابر است.
جایگشت خود می‌توان به ۲ بخش تقسیم شود: در قسمت قبل در مورد گونه‌ای جایگشت توضیح دادیم که در آن اشیا در به دو متمایز بودند اما گاهی ممکن است این اشیا در به دو متمایز نباشند و مثلاً ۳ عدد از آن‌ها از یک نوع باشند. چنین حالاتی را جایگشت باتکرار بررسی می‌کند. با یک مثال روش محاسبه را توضیح می‌دهیم و سپس فرمولی برای محاسبه حالات بیان می‌کنیم:
فرض کنید می‌خواهیم فقط با ارقام ۱٫۲٫۲٫۳ اعداد چهار رقمی بسازیم. یعنی عدد ۱ یکبار، عدد ۲ دو بار، عدد ۳ یکبار آمده باشد. بدیهی است که اگر این چهار رقم متمایز و به غیر صفر بودند تعداد اعداد برابر ۲۴=!۴ عدد می‌شد ولی اصل ضرب در این مورد ناخواسته دو عدد ۲ را متمایز در نظر گرفته‌است و مثلاً ۱۲۲۳ و ۱۲۲۳ را دو حالت متمایز در نظر گرفته‌است در حالی که این دو تفاوتی با هم ندارند. با نوشتن تعداد حالات متوجه می‌شویم که تعداد حالات واقعی این جایگشت !۲ برابر مقدار محاسبه شده با اصل ضرب است به این ترتیب تعداد حالات واقعی برابر است. پس به این ترتیب تعداد k شی از یک نوع، به اندازه !K حالات اضافه تولید می‌کنند که باید از کل حالات که با اصل ضرب محاسبه می‌شود برداشته شوند.
تعریف: اگر n شی در اختیار داشته باشیم که تا از نوع اول، تا از نوع دوم، تا از نوع سوم،... و تا از نوع k ام باشند به گونه‌ای که این n شی به طریق می‌توانند در کنار هم قرار بگیرند. در فرمول فوق علت تقسیم‌ها حذف حالات اضافی به وجود آمده‌است.
تا به حال در مورد جایگشتهایی بحث کردیم که در مورد کنار هم قرار دادن چند شی در یک ردیف بودند. حال می‌خواهیم گونه‌ای جایگشت را بررسی کنیم که در آن اشیا به صورت دوری در کنار هم قرار گیرند. با یک مثال نحوه محاسبه تعداد حالات جایگشت را توضیح می‌دهیم و در نهایت فرمولی برای محاسبه ان ارائه می‌دهیم: فرض کنید می‌خواهیم تعداد حالاتی را که ممکن است ۳ نفر به دور یک میز گرد بنشینند محاسبه کنیم. اگر قرار بر این بود که این افراد در یک ردیف کنار هم باشند این عمل به ۶=!۳ حالت صورت می‌پذیرفت. اما در نشستن به دور میز گرد مسئله متفاوت است چرا که بر طبق شکل در این جایگشت هر ۳ حالت:
یک حالت محسوب می‌شوند چرا که هر یک دوران یافته دیگری در یک زاویه معین است و نیز هر سه حالت:
نیز یک حالت محسوب محسوب می‌شوند. پس تعداد کل حالات متمایز برابر دو عدد است.
به عبارت دیگر می‌توان A را یکجا قرار داده و B و C را در اطراف او نشاند. این کار به !۲=!(۱–۳) طریق رخ می‌دهد.
نتیجه: در حالت کلی برای محاسبه جایگشت‌های دوری n شی دو به دو متمایز ابتدا یکی آن‌ها را ملاک قرار داده (فرق نمی‌کند کدام را) و سپس n-۱ شی باقی مانده را به !(n-1) حالت به دور او قرار می‌دهیم. پس تعداد حالات جایگشت دوری n شی دو به دو متمایز برابر است با