در دنیای امروزی، ما به طور فزاینده ای از انواع ماشین ها و ابزارها استفاده می کنیم. و نه تنها در مواقعی که لازم است به معنای واقعی کلمه نیروی غیرانسانی اعمال شود: بار را حرکت دهید، آن را به ارتفاعی ببرید، یک سنگر طولانی و عمیق حفر کنید، و غیره. امروزه اتومبیل ها توسط روبات ها مونتاژ می شوند، غذا توسط چند پز تهیه می شود و محاسبات اولیه حسابی توسط ماشین حساب انجام می شود. بیشتر و بیشتر ما عبارت "جبر بولی" را می شنویم. شاید زمان آن فرا رسیده باشد که نقش انسان در خلق ربات ها و توانایی ماشین ها در حل مسائل نه تنها ریاضی، بلکه منطقی را نیز درک کنیم.
منطق
ترجمه شده از یونانی، منطق یک سیستم تفکر منظم است که روابطی بین شرایط داده شده ایجاد می کند و به شما امکان می دهد بر اساس مقدمات و مفروضات نتیجه گیری کنید. اغلب اوقات از یکدیگر می پرسیم: "منطقی است؟" پاسخ دریافتی فرضیات ما را تایید می کند یا رشته فکری را نقد می کند. اما این روند متوقف نمی شود: ما به استدلال ادامه می دهیم.
گاهی اوقات تعداد شرایط (مقدمه) آنقدر زیاد است و روابط بین آنها به قدری پیچیده و پیچیده است که مغز انسان قادر به "هضم" همه چیز به یکباره نیست. ممکن است بیش از یک ماه (هفته، سال) طول بکشد تا بفهمیم چه اتفاقی در حال رخ دادن است. ولیزندگی مدرن چنین فواصل زمانی برای تصمیم گیری در اختیار ما قرار نمی دهد. و ما به کمک کامپیوترها متوسل می شویم. و اینجاست که جبر منطق با قوانین و ویژگی های خاص خود ظاهر می شود. با دانلود تمام داده های اولیه، ما به رایانه اجازه می دهیم همه روابط را بشناسد، تناقضات را از بین ببرد و یک راه حل رضایت بخش پیدا کند.
ریاضی و منطق
گوتفرید ویلهلم لایبنیتس معروف مفهوم "منطق ریاضی" را تدوین کرد که مسائل آن فقط برای دایره باریکی از دانشمندان قابل درک بود. این جهت علاقه خاصی برانگیخت و تا اواسط قرن نوزدهم، افراد کمی از منطق ریاضی اطلاع داشتند.
علاقه زیاد به جامعه علمی باعث اختلاف شد که جورج بول انگلیسی قصد خود را برای ایجاد شاخه ای از ریاضیات که مطلقاً هیچ کاربرد عملی ندارد اعلام کرد. همانطور که از تاریخ به یاد داریم، تولید صنعتی در آن زمان به طور فعال در حال توسعه بود، انواع ماشین های کمکی و ماشین آلات در حال توسعه بودند، یعنی تمام اکتشافات علمی تمرکز عملی داشتند.
با نگاهی به آینده، بیایید بگوییم که جبر بولی پرکاربردترین بخش ریاضیات در دنیای مدرن است. بنابراین بول استدلال خود را از دست داد.
George Buhl
شخصیت نویسنده شایسته توجه ویژه است. حتی با توجه به اینکه در گذشته مردم قبل از ما بزرگ شدهاند، هنوز نمیتوان به این نکته توجه کرد که در سن 16 سالگی، جی. بوهل در یک مدرسه روستایی تدریس میکرد و در 20 سالگی مدرسه خود را در لینکلن افتتاح کرد. این ریاضیدان به پنج زبان خارجی مسلط بود و در اوقات فراغت خود آثاری را می خواندنیوتن و لاگرانژ. و همه اینها درباره پسر یک کارگر ساده است!
در سال 1839 بول برای اولین بار مقالات علمی خود را به مجله ریاضی کمبریج ارسال کرد. این دانشمند 24 ساله است. کار بول آنقدر علاقه مند به اعضای انجمن سلطنتی بود که در سال 1844 برای کمک به توسعه تحلیل ریاضی مدالی دریافت کرد. چندین اثر منتشر شده دیگر که عناصر منطق ریاضی را توصیف می کرد، به ریاضیدان جوان اجازه داد تا پست استادی در کالج شهرستان کورک را بگیرد. به یاد بیاورید که خود بوهل هیچ تحصیلی نداشت.
ایده
در اصل جبر بولی بسیار ساده است. عباراتی (عبارات منطقی) وجود دارد که از دیدگاه ریاضیات فقط با دو کلمه قابل تعریف است: "درست" یا "نادرست". به عنوان مثال، در بهار درختان شکوفه می دهند - درست است، در تابستان برف می بارد - دروغ است. زیبایی این ریاضی این است که نیازی جدی به استفاده از اعداد نیست. هر گزاره ای با معنای روشن کاملاً برای جبر احکام مناسب است.
بنابراین، جبر منطق را می توان به معنای واقعی کلمه در همه جا استفاده کرد: در برنامه ریزی و نوشتن دستورالعمل ها، تجزیه و تحلیل اطلاعات متناقض در مورد رویدادها، و تعیین توالی اعمال. مهمترین چیز این است که بفهمیم این کاملاً بیاهمیت است که چگونه درستی یا نادرستی گزاره را تعیین کنیم. این «چگونه» و «چرا» باید انتزاع شوند. فقط بیان واقعیت مهم است: درست-کاذب.
البته برای برنامه نویسی توابع جبر منطق مهم است که توسط مربوطه نوشته می شود.نشانه ها و نمادها و یادگیری آنها به معنای تسلط بر یک زبان خارجی جدید است. هیچ چیز غیر ممکن نیست.
مفاهیم و تعاریف اساسی
بدون پرداختن به عمق، بیایید به اصطلاحات بپردازیم. بنابراین جبر بولی فرض می کند:
- بیانات؛
- عملیات منطقی؛
- کارکردها و قوانین.
گزاره ها هر گونه عبارات تأییدی هستند که نمی توانند به طور مبهم تفسیر شوند. آنها به صورت اعداد نوشته می شوند (5 > 3) یا با کلمات آشنا فرموله می شوند (فیل بزرگترین پستاندار است). در عین حال، عبارت "زرافه گردن ندارد" نیز حق وجود دارد، فقط جبر بولی آن را به عنوان "نادرست" تعریف می کند.
همه عبارات باید بدون ابهام باشند، اما می توانند ابتدایی و مرکب باشند. دومی از اتصالات منطقی استفاده می کند. یعنی در جبر احکام، گزاره های مرکب با افزودن گزاره های ابتدایی به وسیله عملیات منطقی تشکیل می شوند.
عملیات جبر بولی
ما قبلاً به یاد داریم که عملیات در جبر قضاوت ها منطقی هستند. همانطور که جبر اعداد از حساب برای جمع، تفریق یا مقایسه اعداد استفاده می کند، عناصر منطق ریاضی به شما امکان می دهد جملات پیچیده بسازید، نفی کنید یا نتیجه نهایی را محاسبه کنید.
عملیات منطقی برای رسمیسازی و سادگی با فرمولهایی که برای ما در محاسبات آشنا هستند نوشته میشوند. ویژگی های جبر بولی امکان نوشتن معادلات و محاسبه مجهولات را فراهم می کند. عملیات منطقی معمولاً با استفاده از جدول حقیقت نوشته می شود. ستون های آنعناصر محاسبه و عملیاتی که روی آنها انجام می شود را تعریف کنید و خطوط نتیجه محاسبه را نشان می دهد.
عملکردهای منطقی اساسی
متداول ترین عملیات در جبر بولی نفی (NOT) و منطقی AND و OR هستند. تقریباً تمام اعمال در جبر احکام را می توان به این صورت توصیف کرد. بیایید هر یک از این سه عملیات را با جزئیات بیشتری مطالعه کنیم.
نفی (نه) فقط برای یک عنصر (عملوند) اعمال می شود. بنابراین عمل نفی را unary می نامند. برای نوشتن مفهوم "نه A" از نمادهای زیر استفاده کنید: ¬A، A¯¯¯ یا !A. در شکل جدول به این صورت است:
تابع نفی با عبارت زیر مشخص می شود: اگر A درست است، B نادرست است. به عنوان مثال، ماه به دور زمین می چرخد - درست است. زمین به دور ماه می چرخد - نادرست.
ضرب و جمع منطقی
عملیات AND منطقی را عملیات ربط می نامند. چه مفهومی داره؟ اول اینکه می توان آن را روی دو عملوند اعمال کرد، یعنی و یک عملیات باینری است. ثانیاً این که فقط در مورد صدق هر دو عملوند (هر دو A و B) خود عبارت صادق است. ضرب المثل "صبر و کار همه چیز را خرد می کند" نشان می دهد که فقط هر دو عامل به فرد کمک می کند تا با مشکلات کنار بیاید.
نمادهای مورد استفاده برای نوشتن: A∧B، A⋅B یا A&&B.
پیوند ربط شبیه ضرب در حساب است. گاهی اوقات می گویند که - ضرب منطقی. اگر عناصر جدول را ردیف در ردیف ضرب کنیم، نتیجه ای مشابه استدلال منطقی بدست می آوریم.
Disjunction یک عملیات OR منطقی است. ارزش حقیقت را می گیردزمانی که حداقل یکی از گزاره ها درست باشد (الف یا ب). به این صورت نوشته می شود: A∨B، A+B یا A||B. جداول صدق این عملیات عبارتند از:
تجزیه مانند جمع حسابی است. عملیات جمع منطقی تنها یک محدودیت دارد: 1+1=1. اما ما به یاد داریم که در فرمت دیجیتال، منطق ریاضی به 0 و 1 محدود می شود (که 1 درست است، 0 نادرست است). به عنوان مثال، عبارت "در یک موزه می توانید یک شاهکار ببینید یا با یک همکار جالب ملاقات کنید" به این معنی است که می توانید آثار هنری را ببینید یا می توانید با یک فرد جالب ملاقات کنید. در عین حال، احتمال وقوع هر دو رویداد به طور همزمان منتفی نیست.
کارکردها و قوانین
بنابراین، ما از قبل می دانیم که جبر بولی از چه عملیات منطقی استفاده می کند. توابع تمام خواص عناصر منطق ریاضی را توصیف می کنند و به شما امکان می دهند شرایط پیچیده پیچیده مسائل را ساده کنید. به نظر می رسد قابل فهم ترین و ساده ترین ویژگی رد کردن عملیات مشتق شده باشد. مشتقات انحصاری OR، دلالت و معادل هستند. از آنجایی که ما فقط عملیات اصلی را مطالعه کرده ایم، ویژگی های آنها را نیز در نظر خواهیم گرفت.
Associativity به این معنی است که در عباراتی مانند "و A، و B، و C" ترتیب عملوندها مهم نیست. فرمول به این صورت نوشته شده است:
(A∧B)∧V=A∧(B∧V)=A∧B∧V،
(A∨B)∨C=A∨(B∨C)=A∨B∨C.
همانطور که می بینید، این ویژگی نه تنها مربوط به ربط است، بلکه برای جدایی نیز مشخص است.
Cututativity بیان می کند که نتیجهپیوند یا تفکیک به این بستگی ندارد که کدام عنصر ابتدا در نظر گرفته شده است:
A∧B=B∧A; A∨B=B∨A.
توزیع اجازه گسترش پرانتزها در عبارات منطقی پیچیده را می دهد. قوانین مشابه باز کردن پرانتز در ضرب و جمع در جبر است:
A∧(B∨C)=A∧B∨A∧B; A∨B∧B=(A∨B)∧(A∨B).
خواص یک و صفر که می تواند یکی از عملوندها باشد نیز شبیه ضرب جبری در صفر یا یک و جمع با یک است:
A∧0=0، A∧1=A; A∨0=A، A∨1=1.
Idempotency به ما می گوید که اگر با توجه به دو عملوند مساوی، نتیجه یک عملیات مشابه باشد، می توانیم عملوندهای اضافی را که مسیر استدلال را پیچیده می کنند، «دور بیاندازیم». ربط و تفکیک هر دو عملیات بی قدرت هستند.
B∧B=B; B∨B=B.
جذب همچنین به ما امکان می دهد معادلات را ساده کنیم. Absorption بیان میکند که وقتی عملیات دیگری با همان عنصر به عبارتی با یک عملوند اعمال میشود، نتیجه عملوند حاصل از عملیات جذب است.
A∧B∨B=B; (A∨B)∧B=B.
توالی عملیات
توالی عملیات اهمیت کمی ندارد. در واقع، در مورد جبر، اولویت توابعی وجود دارد که جبر بولی از آنها استفاده می کند. تنها در صورتی می توان فرمول ها را ساده کرد که اهمیت عملیات مشاهده شود. با رتبه بندی از مهم ترین به کمترین، دنباله زیر را دریافت می کنیم:
1. انکار.
2. ربط.
3. تفکیک، انحصارییا.
4. مفهوم، معادل.
همانطور که می بینید، فقط نفی و ربط تقدم مساوی ندارند. و اولویت تفکیک و XOR و همچنین اولویت های دلالت و هم ارزی برابر هستند.
توابع مفهومی و هم ارزی
همانطور که قبلاً گفتیم، منطق ریاضی و تئوری الگوریتم ها علاوه بر عملیات منطقی پایه، از مشتقات نیز استفاده می کنند. متداولترینها دلالت و معادلسازی هستند.
استلزام یا نتیجه منطقی عبارتی است که در آن یک عمل شرط است و دیگری نتیجه اجرای آن است. به عبارت دیگر، این جمله ای است با حروف اضافه «اگر … آنگاه». "اگر دوست دارید سوار شوید، عاشق حمل سورتمه هستید." یعنی برای اسکی باید سورتمه را روی تپه محکم کنید. اگر تمایلی به حرکت به سمت پایین کوه وجود ندارد، لازم نیست سورتمه را حمل کنید. اینطور نوشته می شود: A→B یا A⇒B.
Equivalence فرض می کند که عمل حاصل تنها زمانی رخ می دهد که هر دو عملوند درست باشند. برای مثال، زمانی که (و تنها زمانی) که خورشید از افق طلوع می کند، شب به روز تبدیل می شود. در زبان منطق ریاضی این عبارت به صورت زیر نوشته می شود: A≡B, A⇔B, A==B.
سایر قوانین جبر بولی
جبر قضاوت ها در حال توسعه است و بسیاری از دانشمندان علاقه مند قوانین جدیدی را تدوین کرده اند. فرضیه های ریاضیدان اسکاتلندی O. de Morgan مشهورترین آنها در نظر گرفته می شود. او به ویژگی هایی مانند نفی نزدیک، متمم و نفی مضاعف توجه و تعریف کرد.
نفی نزدیک به این معنی است که هیچ نفی قبل از پرانتز وجود ندارد:نه (A یا B)=نه A یا NOT B.
وقتی یک عملوند بدون توجه به مقدارش نفی می شود، از یک مکمل صحبت می شود:
B∧¬B=0; B∨¬B=1.
و بالاخره نفی مضاعف خودش را جبران می کند. آن ها یا نفی قبل از عملوند ناپدید می شود، یا فقط یکی باقی می ماند.
چگونه تست ها را حل کنیم
منطق ریاضی دلالت بر ساده سازی معادلات داده شده دارد. دقیقاً مانند جبر، ابتدا باید شرایط را تا حد امکان آسان کنید (از شر ورودی ها و عملیات پیچیده با آنها خلاص شوید) و سپس به دنبال پاسخ مناسب باشید.
برای ساده کردن چه کاری می توان انجام داد؟ همه عملیات مشتق شده را به عملیات ساده تبدیل کنید. سپس تمام براکت ها را باز کنید (یا برعکس، آن را از براکت ها خارج کنید تا این عنصر کوتاه شود). گام بعدی باید اعمال ویژگی های جبر بولی در عمل باشد (جذب، ویژگی های صفر و یک و غیره).
در نهایت، معادله باید از حداقل تعداد مجهولات ترکیب شده با عملیات ساده تشکیل شود. ساده ترین راه برای یافتن راه حل، دستیابی به تعداد زیادی منفی نزدیک است. سپس پاسخ به خودی خود ظاهر می شود.