Логикалық операциялар (дизъюнкция, конъюнкция, инверсия)
«Егер ертең күн ашық БОЛСА ЖӘНЕ мен уақытым болса, паркке барамын» дегенде, сен білместен логикалық амал қолданып отырсың. Программалауда `if temperature > 0 and is_sunny:` деген жол да дәл осындай логикамен жұмыс істейді. Бүгін осы «және», «немесе», «емес» деген күнделікті сөздердің қатаң математикалық ережелерін үйренеміз — бұл кез келген бағдарламалау тілінің негізі.
Ежелгі грек ойшылы Аристотель (б.з.д. 384–322 жж.) алғаш рет адам ойлауының заңдарын жүйелі түрде зерттеді. Кейін неміс ғалымы Лейбниц осы заңдарды МАТЕМАТИКАЛЫҚ тілге аударуға тырысты, ал ағылшын математигі Джордж Буль (1815–1864) бұл идеяны толық дамытып, «логикалық алгебраны» жасады — сол себепті оны логикалық алгебраның атасы санайды. ХХ ғасырда ғалымдар Буль алгебрасын екілік санау жүйесімен біріктіріп, дәл осы негізде қазіргі цифрлық компьютер жасалды.
Логика — дұрыс ойлаудың заңдары мен ережелері туралы ғылым.
Логика тек пікірдің МАЗМҰНЫМЕН емес, оның ФОРМАСЫМЕН (байланысу тәсілімен) жұмыс істейді. Осы себепті логикада негізгі «кірпіш» ретінде пікір ұғымы қолданылады.
Пікір — ақиқат немесе жалған деп айтуға болатын хабарлы сөйлем. Мысалы, «Астана — Қазақстанның астанасы» — ақиқат пікір, «2×2=5» — жалған пікір. Ал «Сен неше жастасың?» — леп/сұрақ сөйлемі, пікір ЕМЕС.
Компьютер үшін «ақиқат» пен «жалғанды» сан түрінде жазу керек — сол себепті ақиқат пікірге 1 (логикалық бір), жалған пікірге 0 (логикалық нөл) сәйкестендіріледі. Бірнеше пікірді логикалық амалдармен біріктірсек, күрделі логикалық өрнек шығады.
«Аспан ашық ЖӘНЕ күн жылы болса, аулада ойнаймын» дегенде, бала тек ЕКІ ШАРТ та орындалғанда ғана ойнайды. Дәл осы «ЖӘНЕ» мағынасын білдіретін операция:
Конъюнкция (ЖӘНЕ, ∧, AND) — нәтиже ТЕК ЕКІ пікір де ақиқат болғанда ғана ақиқат болады.
| A | B | F = A∧B |
|---|---|---|
| 1 | 1 | 1 |
| 1 | 0 | 0 |
| 0 | 1 | 0 |
| 0 | 0 | 0 |
Ал енді «Аспан бұлтты НЕМЕСЕ күн суық болмаса, аулада ойнаймын» дегенде, бала осы екі шарттың КЕМ ДЕГЕНДЕ БІРЕУІ орындалмаса да ойнайды — бұл әлдеқайда «жеңіл» шарт:
Дизъюнкция (НЕМЕСЕ, ∨, OR) — нәтиже ТЕК ЕКІ пікір де жалған болғанда ғана жалған болады.
| A | B | F = A∨B |
|---|---|---|
| 1 | 1 | 1 |
| 1 | 0 | 1 |
| 0 | 1 | 1 |
| 0 | 0 | 0 |
Соңғы негізгі операция — пікірді толығымен «терістеу»:
Инверсия (ЕМЕС, ¬, NOT) — пікірді терістейді: ақиқат пікір жалғанға, жалған пікір ақиқатқа айналады.
| A | ¬A |
|---|---|
| 1 | 0 |
| 0 | 1 |
Күнделікті сөйлеуде жиі айтатын «ЕГЕР... ОНДА...» құрылымының да өз логикалық операциясы бар.
Импликация (→, «ЕГЕР..., ОНДА...») — нәтиже ТЕК А ақиқат болып, В жалған болғанда ғана жалған болады.
| A | B | A → B |
|---|---|---|
| 0 | 0 | 1 |
| 0 | 1 | 1 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
Эквиваленттілік (↔, «СОНДА ЖӘНЕ ТЕК СОНДА, БОЛСА») — нәтиже A мен B мәні БІРДЕЙ болғанда ғана ақиқат.
| A | B | A ↔ B |
|---|---|---|
| 0 | 0 | 1 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
Математикада «2+3×4» өрнегінде алдымен көбейтуді, содан кейін қосуды орындайтынымыз сияқты, логикада да ӨЗ басымдылық реті бар:
| Басымдылығы | Операция | Белгіленуі |
|---|---|---|
| I (жоғары) | Жақша іші | ( ) |
| II | ЕМЕС | NOT, ¬ |
| III | ЖӘНЕ | AND, ∧ |
| IV (төмен) | НЕМЕСЕ | OR, ∨ |
Импликация мен эквиваленттілік осы төрт деңгейден де КЕЙІН, ең соңында орындалады.
Берілді: A ∨ B̅ ∧ C → D ↔ E логикалық өрнегі.
Табу керек: операциялардың орындалу реті.
Неге дәл осы ретпен? Басымдылық кестесі бойынша жоғарыдан төменге қарай орындаймыз:
B̅— терістеу (ЕМЕС, ең жоғары басымдылық)(B̅) ∧ C— конъюнкцияA ∨ ((B̅) ∧ C)— дизъюнкция(...) → D— импликация(...) ↔ E— эквиваленттілік (ең соңында)
Жауабы: толық реті — жақша → ЕМЕС → ЖӘНЕ → НЕМЕСЕ → импликация → эквиваленттілік.
- Пікір — ақиқат (1) немесе жалған (0) деп бағалауға болатын хабарлы сөйлем.
- Конъюнкция (ЖӘНЕ) — екеуі де ақиқат болғанда ғана ақиқат; дизъюнкция (НЕМЕСЕ) — екеуі де жалған болғанда ғана жалған.
- Инверсия (ЕМЕС) — пікірді терістейді.
- Импликация («ЕГЕР...ОНДА») мен эквиваленттілік («СОНДА ЖӘНЕ ТЕК СОНДА») — қосымша екі операция.
- Орындалу реті: жақша → ЕМЕС → ЖӘНЕ → НЕМЕСЕ → импликация → эквиваленттілік.