Қазіргі әлемде біз әртүрлі көліктер мен гаджеттерді жиі қолданамыз. Тек сөзбе-сөз адамгершілікке жатпайтын күш қолдану қажет болғанда ғана емес: жүкті жылжытыңыз, оны биіктікке көтеріңіз, ұзын және терең ор қазыңыз және т.б.. Қазіргі уақытта машиналарды роботтар жинайды, тамақты мультиварктер дайындайды, қарапайым арифметикалық есептеулер калькуляторлар арқылы орындалады. «Бульдік алгебра» өрнегін жиі естиміз. Мүмкін роботтарды жасаудағы адамның рөлін және машиналардың тек математикалық емес, логикалық есептерді де шешу қабілетін түсінетін кез келді.
Логика
Грек тілінен аударғанда логика – берілген шарттар арасында қарым-қатынас жасайтын және алғышарттар мен болжамдар негізінде қорытынды жасауға мүмкіндік беретін реттелген ойлау жүйесі. Біз бір-бірімізден: «Бұл қисынды ма?» Деп сұраймыз. Алынған жауап біздің болжамдарымызды растайды немесе ой пойызын сынайды. Бірақ процесс тоқтамайды: біз пайымдауды жалғастырамыз.
Кейде шарттардың саны (кіріспе) өте көп және олардың арасындағы қарым-қатынастар өте күрделі және күрделі болғандықтан, адам миы бәрін бірден «қорыта» алмайды. Не болып жатқанын түсіну үшін бір айдан астам уақыт қажет болуы мүмкін (апта, жыл). БірақҚазіргі өмір бізге шешім қабылдау үшін мұндай уақыт аралығын бермейді. Ал біз компьютердің көмегіне жүгінеміз. Міне, өз заңдары мен қасиеттері бар логика алгебрасы осы жерде пайда болады. Барлық бастапқы деректерді жүктеп алу арқылы біз компьютерге барлық қатынастарды тануға, қайшылықтарды жоюға және қанағаттанарлық шешім табуға мүмкіндік береміз.
Математика және логика
Әйгілі Готфрид Вильгельм Лейбниц «математикалық логика» ұғымын тұжырымдады, оның мәселелері ғалымдардың тар шеңберіне ғана түсінікті болды. Бұл бағыт ерекше қызығушылық тудырмады және 19 ғасырдың ортасына дейін математикалық логиканы аз адамдар білетін.
Ғылыми қоғамдастықтың үлкен қызығушылығы ағылшын Джордж Буль математиканың практикалық қолданбалы саласын құру ниетін жариялаған дау тудырды. Тарихтан есімізде бұл кезде өнеркәсіп өндірісі белсенді дамып, көмекші машиналар мен станоктардың барлық түрлері жасалып жатқан, яғни барлық ғылыми жаңалықтардың практикалық бағыты болған.
Алға қарайтын болсақ, буль алгебрасы қазіргі әлемдегі математиканың ең көп қолданылатын бөлігі делік. Осылайша, Булл өз аргументін жоғалтты.
Джордж Бюль
Автордың жеке тұлғасы ерекше назар аударуға тұрарлық. Бұрынғы адамдардың бізден бұрын өскенін ескерсек, Дж. Бюль 16 жасында ауыл мектебінде сабақ беріп, 20 жасында Линкольн қаласында өзінің жеке мектебін ашқанын әлі де ескермеу мүмкін емес. Математик бес шет тілін жетік меңгерген, бос уақытында шығармаларды оқитынНьютон және Лагранж. Мұның бәрі қарапайым жұмысшының баласы туралы!
1839 жылы Буль алғаш рет Кембридж математикалық журналына ғылыми жұмыстарын жіберді. Ғалым 24 жаста. Бульдің жұмысы Корольдік қоғам мүшелерін соншалықты қызықтырды, ол 1844 жылы математикалық талдауды дамытуға қосқан үлесі үшін медаль алды. Математикалық логиканың элементтерін сипаттайтын тағы бірнеше жарияланған еңбектер жас математикке Корк округінің колледжінде профессор лауазымын алуға мүмкіндік берді. Еске сала кетейік, Бюльдің өзі де білімі болмаған.
Идея
Негізінде логикалық алгебра өте қарапайым. Математика тұрғысынан тек екі сөзбен анықтауға болатын мәлімдемелер (логикалық өрнектер) бар: «шын» немесе «жалған». Мысалы, көктемде ағаштар гүлдейді – рас, жазда қар жауады – өтірік. Бұл математиканың сұлулығы - тек сандарды пайдаланудың қатаң қажеттілігі жоқ. Бір мәнді мағынасы бар кез келген мәлімдеме пайымдаулар алгебрасы үшін өте қолайлы.
Осылайша, логика алгебрасын барлық жерде сөзбе-сөз қолдануға болады: нұсқауларды жоспарлау және жазу, оқиғалар туралы қарама-қайшы ақпаратты талдау және әрекеттер тізбегін анықтау. Ең бастысы, мәлімдеменің ақиқаттығын немесе жалғандығын қалай анықтайтынымыз мүлдем маңызды емес екенін түсіну. Бұл «қалай» және «неліктен» абстракциялау керек. Тек факт мәлімдемесі маңызды: шын-жалған.
Әрине, программалау үшін логикалық алгебраның функциялары маңызды, олар сәйкесінше жазылады.белгілер мен белгілер. Ал оларды үйрену жаңа шет тілін меңгеру деген сөз. Мүмкін емес ештеңе жоқ.
Негізгі ұғымдар мен анықтамалар
Тереңге бармай-ақ, терминологияға тоқталайық. Демек, буль алгебрасы былай деп есептейді:
- мәлімдемелер;
- логикалық амалдар;
- функциялар мен заңдар.
Мәліметтер – екі мағыналы түсіндіруге болмайтын кез келген растайтын өрнектер. Олар сандар түрінде жазылған (5 > 3) немесе таныс сөздермен тұжырымдалған (піл - сүтқоректілердің ең үлкені). Сонымен қатар, «жирафтың мойыны жоқ» деген тіркестің де өмір сүруге құқығы бар, тек буль алгебрасы оны «жалған» деп анықтайды.
Барлық мәлімдемелер бір мағыналы болуы керек, бірақ олар қарапайым және күрделі болуы мүмкін. Соңғылары логикалық жалғауларды пайдаланады. Яғни пайымдаулар алгебрасында логикалық амалдар арқылы элементар сөйлемдерді қосу арқылы құрама мәлімдемелер жасалады.
Бульдік алгебра амалдары
Біз пайымдаулар алгебрасындағы амалдардың логикалық екенін есте ұстадық. Сан алгебрасы сандарды қосу, азайту немесе салыстыру үшін арифметиканы пайдаланатыны сияқты, математикалық логика элементтері күрделі мәлімдемелер жасауға, теріске шығаруға немесе соңғы нәтижені есептеуге мүмкіндік береді.
Формалдау мен қарапайымдылыққа арналған логикалық амалдар арифметикадан бізге таныс формулалар арқылы жазылады. Буль алгебрасының қасиеттері теңдеулерді жазуға және белгісіздерді есептеуге мүмкіндік береді. Логикалық операциялар әдетте ақиқат кестесі арқылы жазылады. Оның бағандарыесептеу элементтерін және олармен орындалатын операцияны анықтаңыз, ал жолдар есептеу нәтижесін көрсетеді.
Негізгі логикалық әрекеттер
Буль алгебрасында ең көп таралған амалдар терістеу (ЕМЕС) және логикалық ЖӘНЕ және НЕМЕСЕ. Үкімдер алгебрасында іс-әрекеттердің барлығын дерлік осылай сипаттауға болады. Үш операцияның әрқайсысын толығырақ қарастырайық.
Теріс (жоқ) тек бір элементке (операнд) қолданылады. Сондықтан терістеу операциясы унарлық деп аталады. «А емес» ұғымын жазу үшін келесі таңбаларды пайдаланыңыз: ¬A, A¯¯¯ немесе !A. Кесте түрінде ол келесідей көрінеді:
Терістеу функциясы келесі мәлімдемемен сипатталады: егер А ақиқат болса, онда В жалған. Мысалы, Ай Жерді айналады – шын; Жер айды айналады - жалған.
Логикалық көбейту және қосу
Логикалық AND конъюнктура операциясы деп аталады. Бұл нені білдіреді? Біріншіден, оны екі операндқа қолдануға болады, яғни екілік операция болып табылады. Екіншіден, екі операндтың да (А және В екеуі де) ақиқат болған жағдайда ғана өрнектің өзі ақиқат болады. «Шыдамдылық пен еңбек бәрін жояды» деген нақыл екі фактордың ғана адамға қиындықты жеңуге көмектесетінін айтады.
Жазу үшін қолданылатын белгілер: A∧B, A⋅B немесе A&&B.
Жалғау арифметикадағы көбейтуге ұқсас. Кейде олар былай дейді - логикалық көбейту. Егер кестенің элементтерін жолға көбейтсек, логикалық пайымдауға ұқсас нәтиже аламыз.
Дизъюнкция – логикалық НЕМЕСЕ операция. Ол шындықтың бағасын аладытұжырымдардың кем дегенде біреуі дұрыс болғанда (А немесе В). Ол былай жазылады: A∨B, A+B немесе A||B. Бұл амалдар үшін ақиқат кестелері:
Дизъюнкция арифметикалық қосу сияқты. Логикалық қосу операциясының бір ғана шектеуі бар: 1+1=1. Бірақ сандық форматта математикалық логика 0 және 1 (мұнда 1 ақиқат, 0 жалған) шектелетінін есте ұстаймыз. Мысалы, «мұражайда сіз шедеврді көре аласыз немесе қызықты әңгімелесушіні кездестіре аласыз» деген мәлімдеме сіз өнер туындыларын көре аласыз немесе қызықты адамды кездестіре аласыз. Сонымен бірге екі оқиғаның да бір уақытта орын алу мүмкіндігі жоққа шығарылмайды.
Функциялар мен заңдар
Сонымен, біз логикалық алгебра қандай логикалық амалдарды қолданатынын білеміз. Функциялар математикалық логика элементтерінің барлық қасиеттерін сипаттайды және есептердің күрделі құрама шарттарын жеңілдетуге мүмкіндік береді. Ең түсінікті және қарапайым қасиет туынды операцияларды қабылдамау болып көрінеді. Туынды құралдар эксклюзивті НЕМЕСЕ, импликация және эквиваленттілік болып табылады. Біз тек негізгі операцияларды ғана зерттегендіктен, олардың тек қасиеттерін де қарастырамыз.
Ассоциативтілік «және A, және B және C» сияқты мәлімдемелерде операндтардың реті маңызды емес екенін білдіреді. Формула былай жазылған:
(A∧B)∧V=A∧(B∧V)=A∧B∧V, (A∨B)∨C=A∨(B∨C)=A∨B∨C.
Көріп отырғаныңыздай, бұл конъюнкцияға ғана емес, сонымен қатар дизъюнкцияға да тән.
Коммутативтілік нәтижені көрсетедіконъюнкция немесе дизъюнкция қай элементтің бірінші қарастырылғанына байланысты емес:
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.
Идемпотенттілік екі бірдей операндқа қатысты операцияның нәтижесі ұқсас болып шықса, онда пайымдау барысын қиындататын қосымша операндтарды «тастай» алатынымызды айтады. Конъюнкция да, дизъюнкция да идемпотентті амалдар.
B∧B=B; B∨B=B.
Сіңіру бізге теңдеулерді оңайлатуға да мүмкіндік береді. Абсорбция бір операнды бар өрнекке бірдей элементі бар басқа операция қолданылғанда, нәтиже жұту операциясынан алынған операнд болатынын айтады.
A∧B∨B=B; (A∨B)∧B=B.
Әрекеттер тізбегі
Әрекеттер реті маңызды емес. Шын мәнінде, алгебраға келетін болсақ, буль алгебрасы қолданатын функциялардың басымдығы бар. Формулаларды амалдардың маңыздылығы сақталған жағдайда ғана жеңілдетуге болады. Ең маңыздыдан ең кішісіне қарай келесі реттілікке ие боламыз:
1. Бас тарту.
2. Жалғау.
3. Дизьюнкция, эксклюзивтіНЕМЕСЕ.
4. Салым, эквиваленттілік.
Көріп отырғаныңыздай, тек терістеу мен жалғаулардың басымдығы бірдей емес. Ал дизъюнкция мен XOR басымдығы, сонымен қатар импликация мен эквиваленттілік басымдықтары тең.
Салдау және эквиваленттік функциялар
Айтқанымыздай, негізгі логикалық операциялардан басқа, математикалық логика және алгоритмдер теориясы туындыларды пайдаланады. Ең жиі қолданылатындары – импликация және эквиваленттілік.
Салдау немесе логикалық нәтиже – бұл бір әрекет шарт, ал екіншісі оның орындалуының салдары болатын мәлімдеме. Басқаша айтқанда, бұл «егер … онда» предлогтары бар сөйлем. «Егер сен мінгенді ұнатсаң, шанамен жүргенді жақсы көр». Яғни, шаңғы тебу үшін шананы төбеден қатайту керек. Егер таудан төмен түскіңіз келмесе, шанамен жүрудің қажеті жоқ. Ол былай жазылған: A→B немесе A⇒B.
Эквиваленттік нәтиже екі операнд ақиқат болғанда ғана орындалатынын болжайды. Мысалы, күн көкжиектен шыққанда (тек қашан) түн күндізге айналады. Математикалық логика тілінде бұл мәлімдеме былай жазылады: A≡B, A⇔B, A==B.
Буль алгебрасының басқа заңдары
Пікірлер алгебрасы дамып келеді және көптеген қызығушылық танытқан ғалымдар жаңа заңдарды тұжырымдады. Шотланд математигі О.де Морганның постулаттары ең әйгілі болып саналады. Ол жақын терістеу, толықтауыш және қосарлы терістеу сияқты қасиеттерді байқап, анықтады.
Жабық терістеу жақша алдында терістеу жоқ екенін білдіреді:емес (А немесе В)=А емес немесе В ЕМЕС.
Операнд теріске шығарылған кезде, оның мәніне қарамастан, толықтауыш туралы айтылады:
B∧¬B=0; B∨¬B=1.
Соңында қосарлы терістеу өзін өтейді. Анау. не операнд алдында терістеу жойылады, не тек біреуі ғана қалады.
Тесттерді шешу жолы
Математикалық логика берілген теңдеулерді оңайлатуды білдіреді. Алгебрадағы сияқты, алдымен шартты мүмкіндігінше жеңілдету керек (күрделі кірістер мен олармен орындалатын амалдардан құтылу), содан кейін дұрыс жауапты іздеуді бастау керек.
Жеңілдету үшін не істеуге болады? Барлық туынды амалдарды қарапайымға түрлендіру. Содан кейін барлық жақшаларды ашыңыз (немесе керісінше, бұл элементті қысқарту үшін оны жақшалардан алыңыз). Келесі қадам логикалық алгебраның қасиеттерін тәжірибеде қолдану болуы керек (жұтылу, нөл мен бірдің қасиеттері және т.б.).
Түптеп келгенде, теңдеу қарапайым амалдармен біріктірілген белгісіздердің ең аз санынан тұруы керек. Шешімді табудың ең оңай жолы - жақын негативтердің көп санына қол жеткізу. Содан кейін жауап өздігінен пайда болады.