اصل شمول و عدم شمول

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

حالت ۲ مجموعه

ابتدا حالت ۲ مجموعه را در نظر بگیرید. اصل شمول و عدم شمول می‌گوید: |AB|=|A|+|B||AB| با کشیدن نمودار ون، بیش‌تر می‌توانید عبارت بالا را درک کنید.

مثال: در یک مدرسه، ۲۳ نفر در تیم فوتبال و ۱۲ نفر در تیم والیبال عضو هستند. ۴ نفر نیز در هر دو تیم عضو هستند. چند نفر از دانش‌آموزان مدرسه، در دست کم یکی از ۲ تیم ورزشی مدرسه هستند؟

پاسخ

اگر A و B را به ترتیب، مجموعه‌ی دانش‌آموزان عضو در تیم فوتبال و والیبال در نظر بگیریم، طبق اصل شمول و عدم شمول، پاسخ ما 23+124=41 خواهد بود.

حالت ۳ مجموعه

حال فرض کنیم ۳ مجموعه‌ی A,B,C داریم و می‌خواهیم |ABC| را محاسبه کنیم. اصل شمول و عدم شمول می‌گوید: |ABC|=|A|+|B|+|C||AB||BC||CA|+|ABC| سعی کنید با استفاده از شکل زیر، عبارت بالا را بهتر درک کنید:

مثال: در یک مدرسه، ۱۲ فوتبالیست، ۱۶ والیبالیست و ۸ تیرانداز وجود دارد. ۴ نفر هم فوتبالیست و هم والیبالیست هستند. ۳ نفر هم فوتبالیست و هم تیرانداز هستند. ۱ نفر در هر ۳ ورزش فعالیت می‌کند و در مجموع کسانی که ورزش می‌کنند، ۴۰ نفر هستند. چند نفر در این مدرسه، هم والیبالیست و هم تیرانداز هستند؟

پاسخ

اگر A و B و C را به ترتیب مجموعه‌ی فوتبالیست‌ها، والیبالیست‌ها و تیراندازهای مدرسه در نظر بگیریم، در واقع باید |BC را پیدا کنیم. طبق اصل شمول و عدم شمول داریم: 40=12+16+843|BC|+1 پس پاسخ برابر ۲ است.

حالت کلی

در حالت کلی اگر n مجموعه‌ی، A1,A2,,An را داشته باشیم، اصل شمول و عدم شمول برای محاسبه‌ی |A1A2An| می‌گوید: |A1A2An|=1in|Ai|1i<jn|AiAj|+1i<j<kn|AiAjAk|+(1)n1|A1A2An| در واقع عبارت بالا به صورت خودمانی می‌گوید که ابتدا باید جمع تعداد اعضای تک تک مجموعه‌ها را حساب کنیم؛ سپس آن را منهای تعداد اعضای اشتراک‌های دو به دوی مجموعه‌ها کنیم؛ سپس آن را با تعداد اعضای اشتراک‌های ۳-تایی مجموعه‌ها جمع کنیم و همین طور ادامه دهیم.

به صورت فشرده‌تر، اصل شمول و عدم شمول را می‌توان به صورت زیر هم بیان کرد: |A1A2An|=i=1n(1)i+1(1j1<j2<<jin|Aj1Aj2Aji|)

مثال:

  1. ثابت کنید تعداد اعضایی از مجموعه‌ی {1,2,,n} که بر عدد طبیعی k بخش‌پذیر هستند، برابر nk است.
  2. تعداد اعداد طبیعی مجموعه‌ی M={1,2,,1000} که نه بر ۲، نه بر ۳، نه بر ۵ و نه بر ۷ بخش‌پذیرند، چندتاست؟

پاسخ

قسمت اول: اعدادی که بر k بخش‌پذیر هستند، به صورت ck هستند. باید 1ckn باشد. پس داریم 1kcnk. از آن‌جایی که c نیز عددی طبیعی است، پس داریم 1cnk. پس c، nk حالت دارد.

قسمت دوم: اگر A و B و C و D را به ترتیب، تعداد اعدادی از M بگیریم که بر ۲، بر ۳، بر ۵ و بر ۷ بخش‌پذیر هستند، ما باید |(AB)| را بیابیم. طبق اصل شمول و عدم شمول، پاسخ برابر است با: |M||AB| =1000(10002+1000710002×310005×7+10002×3×5+10003×5×710002×3×5×7) =1000500333200142+166+100+71+66+47+283323149+4=251

پریش‌ها

پریش از پریشانی می‌آید. یک جایگشت <π1,π2,,πn> از اعداد 1,2,,n را پریش (پریشان) می‌گوییم، هرگاه هیچ i-ای وجود نداشته باشد که πi=i باشد. در واقع هیچ کس سر جای خودش نیست. مثلن جایگشت <2,3,4,1> یک پریش است. تعداد پریش‌های n-عنصره را با Dn نشان می‌دهیم؛ هر چند در برخی از منابع، آن را !n نیز نمایش داده‌اند.

می‌خواهیم تعداد پریش‌های n عنصره را بیابیم. زیرمجموعه‌های A1,A2,,An از تمام جایگشت‌های خطی n عنصره را به این صورت تعریف می‌کنیم که Ai، شامل جایگشت‌هایی است که عنصر i-ام سر جای خودش باشد. در واقع ما باید n!|A1A2An| را پیدا کنیم.

ابتدا با اصل شمول و عدم شمول، مقدار S=|A1A2An| را می‌یابیم. S=1in|Ai|1i<jn|AiAj|+1i<j<kn|AiAjAk|+(1)n1|A1A2An| از طرفی می‌دانیم هر یک از های بالا، شامل تعدادی جمله‌ی برابر هستند؛ زیرا Ai-ها تقارن دارند. پس داریم: S=n×|A1|(n2)|A1A2|+(n3)|A1A2A3|+(1)n1(nn)|A1A2An| حال بیابید به ازای یک k، مقدار |A1A2Ak| را محاسبه کنیم. به وضوح باید عناصر 1,2,,k سر جای خود باشند و بقیه‌یک جایگشت (nk)-عنصره هستند که (nk)! حالت دارند. پس داریم: S=(n1)×(n1)!(n2)×(n2)!++(1)n1(nn)×0! از طرفی داریم: (nk)×(nk)!=n!k!(nk)!×(nk)!=n!k! پس داریم: S=n!1!n!2!++(1)n1n!n! پس پاسخ برابر است با: n!S=n!0!S=n!0!n!1!++(1)nn!n! پس: Dn=n!(10!11!+12!+(1)n1n!)

یک نکته: اگر چنان‌چه مفهوم حد در بی‌نهایت و بسط تیلور ex (e همان عدد نپر است که حدود 2.71 می‌باشد) را بدانید، با بردن n به سمت و قرار دادن x=1، Dn به n!e میل می‌کند و این نتیجه می‌دهد اگر n به حد کافی زیاد باشد (از حدود n=10 به بعد این را خواهید دید)، از حدود هر ۳ جایگشت تصادفی، انتظار می‌رود حدود یکی از آن‌ها پریش باشد! در شکل زیر می‌توانید رشد تعداد پریش‌ها را با رشد تعداد کل جایگشت‌ها، با بالا رفتن n، مقایسه کنید:

مثال: چند پریش از اعداد 1,2,,10 وجود دارد که عدد ۹ در مکان ۱۰-ام جایگشت آمده باشد؟

پاسخ

در یک پریش، مکان عدد ۹ هر جایی جز مکان ۹-ام می‌تواند باشد؛ پس ۹ حالت دارد و طبق تقارن، این ۹ حالت تفاوتی با هم ندارند. پس پاسخ برابر D109 است که D10 از فرمول بالا به دست می‌آید.

در بخش روابط بازگشتی، بیش‌تر در مورد پریش‌ها بحث خواهد شد.

تابع فی اویلر

تعداد اعداد M={1,2,,n} که نسبت به n اول هستند را φ(n) می‌نامیم. این تابع را فی اویلر می‌گویند. برای مثال φ(4)=2 زیرا ۱ و ۳ نسبت به ۴، اول هستند.

فرض کنید تجزیه‌ی n به عوامل اول، به صورت n=p1a1p2a2pkak باشد. می‌خواهیم فرمولی برای φ(n) بر حسب piها (عوامل اول n) بیابیم. مجموعه‌های A1,A2,,An را به این صورت تعریف می‌کنیم که Ai، شامل اعدادی از M است که بر Pi بخش‌پذیر هستند. داریم: φ(n)=n|A1A2An| طبق اصل شمول و عدم شمول داریم: φ(n)=n(1in|Ai|1i<jn|AiAj|+1i<j<kn|AiAjAk|+(1)n1|A1A2An|)

از طرفی، طبق مثال‌های ذکر شده، مقدار |Ai1Ai2Aik| برابر npi1pi2pik است. از آن‌جایی که تمام pjها عامل اول n هستند، پس مقدار داخل   عددی طبیعی است. پس: |Ai1Ai2Aik|=npi1pi2pik

پس داریم: φ(n)=ni=1nnpi+1i<jnnpipj+(1)n1np1p2pk

از طرفی با بسط دادن عبارت n(11p1)(11p2)(11pk) مقدار بالا به دست می‌آید. پس داریم: φ(n)=n×i=1k(11pi) برای مثال، با استفاده از فرمول، مقدار φ(4) برابر 4×(112) به دست می‌آید که برابر ۲ است (همان مقداری که به دست آورده بودیم).

تعداد توابع پوشا

فرض کنید مجموعه‌های A و B به ترتیب a و b عضو داشته باشند. می‌خواهیم تعداد توابع پوشای f:AB را بیابیم.

مجموعه‌های S1,S2,,Sb را به این صورت تعریف می‌کنیم که Si شامل توابعی است که عضو i-ام B پوشش داده نشده باشد (یعنی هیچ x-ای وجود نداشته باشد که f(x) برابر عضو i-ام B شود).

ابتدا مقدار |Si1Si2Sik| را به ازای 1i1<i2<<ikb حساب می‌کنیم. تابع ما باید عضوهای i1-ام، i2-ام، … و ik-ام از B را پوشش ندهد. پس برای هر عضو A مانند x، مقدار f(x)، bk حالت دارد. پس تعداد حالات مطلوب، (bk)a است.

اگر تعداد کل توابع f:AB را با M نشان دهیم، پاسخ طبق اصل شمول و عدم شمول برابر است با: M|S1S2Sb| =ba(i=1b|Si|1i<jb|SiSj|++(1)b1|S1S2Sb|) =(b0)ba(b1)(b1)a+(b2)(b2)a+(1)b(bb)(bb)a =i=0b(1)i(bi)(bi)a

سایر مثال‌ها

مثال: به چند طریق می‌توان ۱۰ خانه از یک جدول 3×20 را علامت زد؛ طوری که در هر سطر، حداقل یک خانه، علامت زده شده باشد؟

پاسخ

مجموعه‌های A1,A2,A3 را به این صورت تعریف می‌کنیم که Ai شامل حالاتی است که سطر i-ام، خانه‌ی علامت زده نداشته باشد. طبق اصل شمول و عدم شمول برای حالت ۳ مجموعه، داریم: S=|A1A2A3|=|A1|+|A2|+|A3||A1A2||A2A3||A3A1|+|A1A2A3| با توجه به این‌که Aiها از نظر تعداد شبیه هم هستند و تقارن دارند، داریم: S=3|A1|3|A1A2|+|A1A2A3| از طرفی، |A1|=(4010)، |A1A2|=(2010)=1| و |A1A2A3|=0. پس: S=3(4010)3(2010) اگر M تعداد کل حالات قرار دادن مهره‌ها در جدول باشد، پاسخ برابر است با: |(A1A2A3)|=MS=(6010)3(4010)+3(2010)

مثال: با استفاده از اصل شمول و عدم شمول ثابت کنید: r=0n(1)r(nr)=0

پاسخ

مجموعه‌های A1=A2==An={1} را در نظر بگیرید. طبق اصل شمول و عدم شمول داریم: |A1A2An|=1in|Ai|1i<jn|AiAj|+1i<j<kn|AiAjAk|+(1)n1|A1A2An| از آن‌جایی که اشتراک و اجتماع هر چندتا از |Ai|-ها یک عضوی است، داریم: 1=(n1)(n2)++(1)n(nn) با قرار دادن (n0) به جای ۱ و بردن تمام جملات به سمت چپ داریم: (n0)(n1)+(n2)+(1)n(nn)=0 پس: r=0n(1)r(nr)=0 پس حکم ثابت شد.

مسائل نمونه

  • سوال ۲ مرحله اول دوره ۵