Məntiqi tənliklərin həlli. Məntiq tənliyini həll edin

İnformatika imtahanının A və B bölmələrindəki bəzi problemləri necə həll etmək olar

3-cü dərs. Məntiqlər. Məntiq funksiyaları. Tənliklərin həlli

Çox sayda Vahid Dövlət İmtahan problemləri təklif məntiqinə həsr edilmişdir. Onların əksəriyyətini həll etmək üçün təklif məntiqinin əsas qanunlarını bilmək, bir və iki dəyişənli məntiqi funksiyaların həqiqət cədvəllərini bilmək kifayətdir. Mən təklif məntiqinin əsas qanunlarını verəcəyəm.

  1. Dizyunksiya və birləşmənin kommutativliyi:
    a ˅ b ≡ b ˅ a
    a^b ≡ b^a
  2. Diszyunsiya və birləşmə ilə bağlı paylama qanunu:
    a ˅ (b^с) ≡ (a ˅ b) ^(a ˅ с)
    a ^ (b ˅ c) ≡ (a ^ b) ˅ (a ^ c)
  3. İnkarın inkarı:
    ¬(¬a) ≡ a
  4. Ardıcıllıq:
    a ^ ¬a ≡ yanlış
  5. Eksklüziv üçüncü:
    a ˅ ¬а ≡ doğrudur
  6. De Morqanın qanunları:
    ¬(a ˅ b) ≡ ¬a ˄ ¬b
    ¬(a ˄ b) ≡ ¬a ˅ ¬b
  7. Sadələşdirmə:
    a ˄ a ≡ a
    a ˅ a ≡ a
    a ˄ doğru ≡ a
    a ˄ false ≡ false
  8. Absorbsiya:
    a ˄ (a ˅ b) ≡ a
    a ˅ (a ˄ b) ≡ a
  9. Məntiqin dəyişdirilməsi
    a → b ≡ ¬a ˅ b
  10. Şəxsiyyətin dəyişdirilməsi
    a ≡ b ≡(a ˄ b) ˅ (¬a ˄ ¬b)

Məntiqi funksiyaların təmsili

n dəyişənin istənilən məntiqi funksiyası - F(x 1, x 2, ... x n) həqiqət cədvəli ilə təyin oluna bilər. Belə cədvəldə hər biri üçün bu çoxluqdakı funksiyanın qiyməti təyin olunan 2n dəyişən dəsti var. Dəyişənlərin sayı nisbətən az olduqda bu üsul yaxşıdır. Artıq n > 5 üçün təmsil zəif görünür.

Başqa bir yol, məlum olduqca sadə funksiyalardan istifadə edərək funksiyanı hansısa düsturla müəyyən etməkdir. Hər hansı bir məntiqi funksiya yalnız f i funksiyalarını ehtiva edən düsturla ifadə oluna bilərsə, funksiyalar sistemi (f 1, f 2, ... f k) tam adlanır.

Funksiyalar sistemi (¬, ˄, ˅) tamamlandı. 9 və 10-cu qanunlar təsir və eyniliyin inkar, birləşmə və disyunksiya vasitəsilə necə ifadə olunduğunu nümayiş etdirən nümunələrdir.

Əslində, iki funksiyadan ibarət sistem – inkar və birləşmə və ya inkar və disjunksiya – həm də tamdır. De Morqanın qanunlarından inkar və disjunksiya vasitəsilə birləşməni ifadə etməyə və müvafiq olaraq, inkar və birləşmə vasitəsilə ayrılığı ifadə etməyə imkan verən ideyalar gəlir:

(a ˅ b) ≡ ¬(¬a ˄ ¬b)
(a ˄ b) ≡ ¬(¬a ˅ ¬b)

Paradoksal olaraq, yalnız bir funksiyadan ibarət bir sistem tamamlandı. İki binar funksiya var - antikonyunksiya və antidisjunction, Peirce oxu və Schaeffer vuruşu adlanır, içi boş bir sistemi təmsil edir.

Proqramlaşdırma dillərinin əsas funksiyalarına adətən identiklik, inkar, birləşmə və ayırma daxildir. Vahid Dövlət İmtahanında problemlər, bu funksiyalarla yanaşı, tez-tez əks göstərişlərə də rast gəlinir.

Məntiqi funksiyaları əhatə edən bir neçə sadə məsələyə baxaq.

Problem 15:

Həqiqət cədvəlinin bir parçası verilmişdir. Verilmiş üç funksiyadan hansı bu fraqmentə uyğundur?

X 1 X 2 X 3 X 4 F
1 1 0 0 1
0 1 1 1 1
1 0 0 1 0
  1. (X 1 → X 2) ˄ ¬ X 3 ˅ X 4
  2. (¬ X 1 ˄ X 2) ˅ (¬ X 3 ˄ X 4)
  3. ¬ X 1 ˅ X 2 ˅ (X 3 ˄ X 4)

Funksiya nömrəsi 3.

Problemi həll etmək üçün əsas funksiyaların həqiqət cədvəllərini bilmək və əməliyyatların prioritetlərini yadda saxlamaq lazımdır. Nəzərinizə çatdırım ki, birləşmə (məntiqi vurma) daha yüksək prioritetə ​​malikdir və disjunksiyadan (məntiqi toplama) daha tez yerinə yetirilir. Hesablamalar zamanı üçüncü çoxluqda 1 və 2 rəqəmləri olan funksiyaların 1 qiymətinə malik olduğunu və bu səbəbdən fraqmentə uyğun gəlmədiyini görmək asandır.

Problem 16:

Verilmiş ədədlərdən hansı şərti ödəyir:

(ən əhəmiyyətli rəqəmdən başlayaraq rəqəmlər azalan sıradadır) → (ədəd - cüt) ˄ (aşağı rəqəm - cüt) ˄ (yüksək rəqəm - tək)

Bir neçə belə rəqəm varsa, ən böyüyü göstərin.

  1. 13579
  2. 97531
  3. 24678
  4. 15386

Şərt 4 rəqəmi ilə təmin edilir.

İlk iki rəqəm ən aşağı rəqəmin tək olması şərtini ödəmir. Bağlamanın şərtlərindən biri yalan olarsa, şərt bağlayıcısı yanlışdır. Üçüncü nömrə üçün ən yüksək rəqəmin şərti yerinə yetirilmir. Dördüncü nömrə üçün rəqəmin aşağı və yüksək rəqəmlərinə qoyulan şərtlər yerinə yetirilir. Bağlamanın birinci həddi də doğrudur, çünki onun müqəddiməsi yalan olarsa, təlqin doğrudur, burada da belədir.

Problem 17: İki şahid aşağıdakı ifadələri verdi:

Birinci şahid: Əgər A günahkardırsa, B daha da günahkardır, C isə günahsızdır.

İkinci şahid: İki nəfər günahkardır. Qalanlardan biri isə mütləq günahkar və günahkardır, amma kimin olduğunu dəqiq deyə bilmərəm.

İfadədən A, B və C-nin təqsiri ilə bağlı hansı nəticələrə gəlmək olar?

Cavab: İfadədən belə çıxır ki, A və B təqsirkar, C isə günahsızdır.

Həll yolu: Əlbəttə, sağlam düşüncə əsasında cavab vermək olar. Ancaq gəlin bunun ciddi və rəsmi şəkildə necə edilə biləcəyinə baxaq.

İlk iş bəyanatları rəsmiləşdirməkdir. Üç məntiqi dəyişəni təqdim edək - A, B və C, uyğun şübhəli şəxs günahkardırsa, hər biri true (1) dəyərinə malikdir. Sonra birinci şahidin ifadəsi düsturla verilir:

A → (B ˄ ¬C)

İkinci şahidin ifadəsi düsturla verilir:

A ˄ ((B ˄ ¬C) ˅ (¬B ˄ C))

Hər iki şahidin ifadəsinin doğru olduğu qəbul edilir və müvafiq düsturların birləşməsini təmsil edir.

Bu oxunuşlar üçün həqiqət cədvəli quraq:

A B C F 1 F 2 F 1 ˄ F 2
0 0 0 1 0 0
0 0 1 1 0 0
0 1 0 1 0 0
0 1 1 1 0 0
1 0 0 0 0 0
1 0 1 0 1 0
1 1 0 1 1 1
1 1 1 0 0 0

Xülasə dəlilləri yalnız bir halda doğrudur və aydın cavab verir - A və B günahkardır, C isə günahsızdır.

Bu cədvəlin təhlilindən də belə nəticə çıxır ki, ikinci şahidin ifadəsi daha informativdir. Onun ifadəsinin həqiqətindən yalnız iki mümkün variant gəlir - A və B günahkardır və C günahsızdır və ya A və C günahkardır və B günahsızdır. Birinci şahidin ifadəsi daha az məlumatlıdır - onun ifadəsinə uyğun gələn 5 müxtəlif variant var. Birlikdə hər iki şahidin ifadəsi şübhəlilərin günahı ilə bağlı aydın cavab verir.

Məntiqi tənliklər və tənliklər sistemləri

F(x 1, x 2, …x n) n dəyişənin məntiqi funksiyası olsun. Məntiqi tənlik belə görünür:

F(x 1, x 2, …x n) = C,

C sabiti 1 və ya 0 dəyərinə malikdir.

Məntiqi tənliyin 0-dan 2 n-ə qədər müxtəlif həlli ola bilər. Əgər C 1-ə bərabərdirsə, onda həllər həqiqət cədvəlindən F funksiyasının true (1) qiymətini qəbul etdiyi bütün dəyişənlər toplusudur. Qalan çoxluqlar C sıfıra bərabər olan tənliyin həlləridir. Həmişə yalnız formanın tənliklərini nəzərdən keçirə bilərsiniz:

F(x 1 , x 2 , …x n) = 1

Həqiqətən, tənlik verilsin:

F(x 1, x 2, …x n) = 0

Bu halda, ekvivalent tənliyə keçə bilərik:

¬F(x 1 , x 2 , …x n) = 1

k məntiqi tənliklər sistemini nəzərdən keçirək:

F 1 (x 1, x 2, …x n) = 1

F 2 (x 1, x 2, …x n) = 1

F k (x 1 , x 2 , …x n) = 1

Sistemin həlli sistemin bütün tənliklərinin təmin olunduğu dəyişənlər toplusudur. Məntiqi funksiyalar baxımından məntiqi tənliklər sisteminin həllini əldə etmək üçün F məntiqi funksiyasının doğru olduğu, ilkin F funksiyalarının birləşməsini təmsil edən çoxluğu tapmaq lazımdır:

Ф = F 1 ˄ F 2 ˄ … F k

Əgər dəyişənlərin sayı azdırsa, məsələn, 5-dən azdırsa, onda sistemin neçə həlli olduğunu və həlləri təmin edən çoxluqların nə olduğunu söyləməyə imkan verən Ф funksiyası üçün həqiqət cədvəlini qurmaq çətin deyil.

Məntiqi tənliklər sisteminin həllinin tapılması ilə bağlı bəzi İSTİFADƏ problemlərində dəyişənlərin sayı 10-a çatır. Sonra həqiqət cədvəlinin qurulması demək olar ki, qeyri-mümkün bir işə çevrilir. Problemin həlli fərqli yanaşma tələb edir. İxtiyari tənliklər sistemi üçün bu cür məsələlərin həllinə imkan verən sadalamadan başqa ümumi üsul yoxdur.

İmtahanda təklif olunan məsələlərdə həll adətən tənliklər sisteminin xüsusiyyətlərinin nəzərə alınmasına əsaslanır. Təkrar edirəm, dəyişənlər dəsti üçün bütün variantları sınamaqdan başqa, problemi həll etməyin ümumi yolu yoxdur. Həll sistemin xüsusiyyətlərinə əsaslanaraq qurulmalıdır. Məlum məntiq qanunlarından istifadə edərək tənliklər sisteminin ilkin sadələşdirilməsini həyata keçirmək çox vaxt faydalıdır. Bu problemi həll etmək üçün başqa bir faydalı texnika aşağıdakı kimidir. Bizi bütün çoxluqlar maraqlandırmır, yalnız F funksiyasının 1 qiyməti olanlar maraqlandırır. Biz tam həqiqət cədvəli qurmaq əvəzinə onun analoqunu - binar qərar ağacını quracağıq. Bu ağacın hər bir budağı bir həllə uyğundur və F funksiyasının 1 qiymətinə malik olduğu çoxluğu müəyyən edir. Qərar ağacındakı budaqların sayı tənliklər sisteminin həllər sayı ilə üst-üstə düşür.

Mən ikili qərar ağacının nə olduğunu və onun necə qurulduğunu bir neçə məsələnin nümunələri ilə izah edəcəyəm.

Problem 18

İki tənlik sistemini təmin edən x1, x2, x3, x4, x5, y1, y2, y3, y4, y5 məntiqi dəyişənlərin neçə müxtəlif dəyər çoxluğu var?

Cavab: Sistemdə 36 fərqli həll var.

Həlli: Tənliklər sisteminə iki tənlik daxildir. 5 dəyişəndən - x 1, x 2, ...x 5-dən asılı olaraq birinci tənliyin həllərinin sayını tapaq. Birinci tənliyi öz növbəsində 5 tənlik sistemi kimi qəbul etmək olar. Göstərildiyi kimi, tənliklər sistemi əslində məntiqi funksiyaların birləşməsini təmsil edir. Bunun əksi də doğrudur: şərtlərin birləşməsini tənliklər sistemi kimi qəbul etmək olar.

Gəlin implikasiya (x1→ x2) üçün qərar ağacı quraq - birinci tənlik kimi qəbul edilə bilən birləşmənin birinci üzvü. Bu ağacın qrafik təsviri belə görünür:

Ağac tənlikdəki dəyişənlərin sayına görə iki səviyyədən ibarətdir. Birinci səviyyə birinci dəyişəni X 1-i təsvir edir. Bu səviyyənin iki budağı bu dəyişənin mümkün dəyərlərini əks etdirir - 1 və 0. İkinci səviyyədə ağacın budaqları yalnız tənliyin doğru olduğu X 2 dəyişəninin mümkün dəyərlərini əks etdirir. Tənlik təsir göstərdiyindən, X 1 dəyərinin 1 olduğu budaq, həmin budaqda X 2-nin 1 dəyərinə malik olmasını tələb edir. X 1-in 0 dəyərinə malik olduğu budaq X 2 qiymətləri ilə iki budaq yaradır. 0 və 1-ə bərabər qurulmuş ağac üç həlli müəyyənləşdirir, bunun üzərinə X 1 → X 2 mənası 1 qiymətini alır. Hər bir budaqda tənliyə həll verən müvafiq dəyişən dəyərlər dəsti yazılır.

Bu çoxluqlar: ((1, 1), (0, 1), (0, 0))

Aşağıdakı tənliyi, aşağıdakı X 2 → X 3 mənasını əlavə etməklə qərar ağacının qurulmasına davam edək. Tənliklər sistemimizin spesifikliyi ondan ibarətdir ki, sistemin hər bir yeni tənliyi əvvəlki tənlikdən bir dəyişən istifadə edir və bir yeni dəyişən əlavə edir. X 2 dəyişəni artıq ağacda dəyərlərə malik olduğundan, X 2 dəyişəninin 1 dəyərinə malik olan bütün budaqlarda X 3 dəyişəninin də qiyməti 1 olacaq. Belə budaqlar üçün ağacın qurulması növbəti səviyyəyə davam edir, lakin yeni filiallar görünmür. X 2 dəyişəninin 0 dəyərinə malik olduğu tək budaq, X 3 dəyişəninin 0 və 1 dəyərlərini alacağı iki budaqda budaqlanacaq. Beləliklə, yeni tənliyin hər bir əlavəsi, onun xüsusiyyətlərini nəzərə alaraq, bir həll əlavə edir. Orijinal ilk tənlik:

(x1→x2) /\ (x2→x3) /\ (x3→x4) /\ (x4→x5) = 1
6 həlli var. Bu tənlik üçün tam qərar ağacı belə görünür:

Sistemimizin ikinci tənliyi birinciyə bənzəyir:

(y1→y2) /\ (y2→y3) /\ (y3→y4) /\ (y4→y5) = 1

Yeganə fərq ondadır ki, tənlikdə Y dəyişənlərindən istifadə olunur.Bu tənliyin də 6 həlli var. X i dəyişənləri üçün hər bir həll Y j dəyişənləri üçün hər bir həll ilə birləşdirilə bildiyindən, həllərin ümumi sayı 36-dır.

Nəzərə alın ki, qurulmuş qərar ağacı təkcə həllərin sayını (budaqların sayına görə) deyil, həm də ağacın hər bir budağına yazılmış həllərin özlərini verir.

Problem 19

Aşağıda sadalanan bütün şərtləri ödəyən x1, x2, x3, x4, x5, y1, y2, y3, y4, y5 məntiqi dəyişənlərin neçə müxtəlif dəyər dəsti var?

(x1→x2) /\ (x2→x3) /\ (x3→x4) /\ (x4→x5) = 1
(y1→y2) /\ (y2→y3) /\ (y3→y4) /\ (y4→y5) = 1
(x1→ y1) = 1

Bu tapşırıq əvvəlki tapşırığın modifikasiyasıdır. Fərq ondadır ki, X və Y dəyişənləri ilə əlaqəli başqa bir tənlik əlavə olunur.

X 1 → Y 1 tənliyindən belə çıxır ki, X 1 dəyəri 1 olduqda (belə bir həll mövcuddur), onda Y 1 də 1 dəyərinə malikdir. Beləliklə, X 1 və Y 1 qiymətlərinə malik olan bir çoxluq var. 1. X 1 0-a bərabər olduqda, Y 1 həm 0, həm də 1 hər hansı qiymətə malik ola bilər. Buna görə də, X 1-i 0-a bərabər olan hər bir çoxluq və 5 belə çoxluq var, Y dəyişənləri olan 6 çoxluğun hamısına uyğun gəlir. Beləliklə, həllərin ümumi sayı 31-dir.

Problem 20

(¬X 1 ˅ X 2) ˄ (¬X 2 ˅ X 3) ˄ (¬X 3 ˅ X 4) ˄ (¬X 4 ˅ X 5) ˄ (¬X 5 ˅ X 1) = 1

Həlli: Əsas ekvivalentləri xatırlayaraq tənliyimizi belə yazırıq:

(X 1 → X 2) ˄ (X 2 → X 3) ˄ (X 3 → X 4) ˄ (X 4 → X 5) ˄ (X 5 → X 1) = 1

Tövsiyələrin siklik zənciri dəyişənlərin eyni olması deməkdir, buna görə də tənliyimiz tənliyə ekvivalentdir:

X 1 ≡ X 2 ≡ X 3 ≡ X 4 ≡ X 5 = 1

Bütün X i ya 1, ya da 0 olduqda bu tənliyin iki həlli var.

Problem 21

(X 1 → X 2) ˄ (X 2 → X 3) ˄ (X 3 → X 4) ˄ (X 4 → X 2) ˄ (X 4 → X 5) = 1

Həlli: 20-ci məsələdə olduğu kimi, tənliyi aşağıdakı formada yenidən yazaraq, tsiklik təsirlərdən eyniliklərə keçirik:

(X 1 → X 2) ˄ (X 2 ≡ X 3 ≡ X 4) ˄ (X 4 → X 5) = 1

Bu tənlik üçün qərar ağacı quraq:

Problem 22

Aşağıdakı tənliklər sisteminin neçə həlli var?

((X 1 ≡X 2) ˄ (X 3 ≡X 4)) ˅(¬(X 1 ≡X 2) ˄ ¬(X 3 ≡X 4)) = 0

((X 3 ≡X 4) ˄ (X 5 ≡X 6)) ˅(¬(X 3 ≡X 4) ˄ ¬(X 5 ≡X 6)) = 0

((X 5 ≡X 6) ˄ (X 7 ≡X 8)) ˅(¬(X 5 ≡X 6) ˄ ¬(X 7 ≡X 8)) = 0

((X 7 ≡X 8) ˄ (X 9 ≡X 10)) ˅(¬(X 7 ≡X 8) ˄ ¬(X 9 ≡X 10)) = 0

Cavab: 64

Həlli: Aşağıdakı dəyişən dəyişikliyini tətbiq etməklə 10 dəyişəndən 5 dəyişənə keçək:

Y 1 = (X 1 ≡ X 2); Y 2 = (X 3 ≡ X 4); Y 3 = (X 5 ≡ X 6); Y 4 = (X 7 ≡ X 8); Y 5 = (X 9 ≡ X 10);

Onda birinci tənlik aşağıdakı formanı alacaq:

(Y 1 ˄ Y 2) ˅ (¬Y 1 ˄ ¬Y 2) = 0

Tənliyi aşağıdakı kimi yazmaqla sadələşdirmək olar:

(Y 1 ≡ Y 2) = 0

Ənənəvi formaya keçərək sistemi sadələşdirmələrdən sonra formada yazırıq:

¬(Y 1 ≡ Y 2) = 1

¬(Y 2 ≡ Y 3) = 1

¬(Y 3 ≡ Y 4) = 1

¬(Y 4 ≡ Y 5) = 1

Bu sistem üçün qərar ağacı sadədir və dəyişən dəyərləri dəyişən iki filialdan ibarətdir:


Orijinal X dəyişənlərinə qayıdaraq, qeyd edin ki, Y dəyişənindəki hər bir dəyər üçün X dəyişənlərində 2 dəyər var, buna görə də Y dəyişənlərindəki hər bir həll X dəyişənlərində 2 5 həll yaradır. İki budaq 2 * 2 yaradır. 5 məhlul olduğu üçün məhlulların ümumi sayı 64-dür.

Göründüyü kimi, tənliklər sisteminin həlli ilə bağlı hər bir məsələ özünəməxsus yanaşma tələb edir. Ümumi bir texnika tənlikləri sadələşdirmək üçün ekvivalent çevrilmələri yerinə yetirməkdir. Ümumi bir texnika qərar ağaclarının qurulmasıdır. İstifadə olunan yanaşma, dəyişənlərin mümkün dəyərlərinin bütün dəstlərinin deyil, yalnız funksiyanın 1 (doğru) dəyərini qəbul etdiyi xüsusiyyətlərin qurulması xüsusiyyəti ilə həqiqət cədvəlinin qurulmasını qismən xatırladır. Çox vaxt təklif olunan problemlərdə tam bir qərar ağacı qurmağa ehtiyac yoxdur, çünki ilkin mərhələdə, məsələn, problem 18-də edildiyi kimi, hər bir sonrakı səviyyədə yeni budaqların görünüşünün nümunəsini qurmaq mümkündür. .

Ümumiyyətlə, məntiqi tənliklər sisteminin həlli yollarının tapılması ilə bağlı problemlər yaxşı riyazi məşqlərdir.

Əgər məsələni əl ilə həll etmək çətindirsə, o zaman tənliklərin və tənliklər sistemlərinin həlli üçün müvafiq proqram yazaraq həllini kompüterə həvalə edə bilərsiniz.

Belə bir proqramı yazmaq çətin deyil. Belə bir proqram Vahid Dövlət İmtahanında təklif olunan bütün tapşırıqların öhdəsindən asanlıqla gələcəkdir.

Qəribədir ki, məntiqi tənliklər sistemlərinin həlli tapşırığı kompüter üçün çətindir və belə çıxır ki, kompüterin öz sərhədləri var. Kompüter dəyişənlərin sayının 20-30 olduğu problemlərin öhdəsindən asanlıqla gələ bilər, lakin daha böyük ölçülü problemlər üzərində uzun müddət düşünməyə başlayacaq. Fakt budur ki, çoxluqların sayını təyin edən 2 n funksiyası n artdıqca sürətlə artan eksponensialdır. O qədər sürətlidir ki, adi fərdi kompüter gündə 40 dəyişən olan işin öhdəsindən gələ bilmir.

Məntiqi tənliklərin həlli üçün C# dilində proqram

Məntiqi tənlikləri həll etmək üçün bir proqram yazmaq bir çox səbəbə görə faydalıdır, əgər yalnız Vahid Dövlət İmtahanı test problemlərinin öz həllinizin düzgünlüyünü yoxlamaq üçün istifadə edə bildiyiniz üçün. Başqa bir səbəb belə bir proqramın Vahid Dövlət İmtahanında C kateqoriyalı tapşırıqlar üçün tələblərə cavab verən proqramlaşdırma tapşırığının əla nümunəsidir.

Proqramın yaradılması ideyası sadədir - bu, dəyişən dəyərlərin bütün mümkün dəstlərinin tam axtarışına əsaslanır. Verilmiş bir məntiqi tənlik və ya tənliklər sistemi üçün dəyişənlərin sayı n məlum olduğu üçün çoxluqların sayı da məlumdur - sıralanması lazım olan 2 n. C# dilinin əsas funksiyalarından - inkar, disjunksiya, birləşmə və eynilikdən istifadə edərək, verilən dəyişənlər toplusu üçün məntiqi tənliyə və ya tənliklər sisteminə uyğun gələn məntiqi funksiyanın qiymətini hesablayan proqram yazmaq çətin deyil. .

Belə bir proqramda çoxluqların sayına görə dövrə qurmaq lazımdır, dövrənin gövdəsində çoxluğun nömrəsindən istifadə edərək çoxluğun özünü formalaşdırmaq, bu çoxluqdakı funksiyanın qiymətini hesablamaq və əgər bu qiymət 1-dir, onda çoxluq tənliyin həllini verir.

Proqramı həyata keçirərkən ortaya çıxan yeganə çətinlik, müəyyən edilmiş nömrə əsasında dəyişən dəyərlər dəstinin özü yaratmaq vəzifəsi ilə bağlıdır. Bu problemin gözəlliyi ondadır ki, çətin görünən bu iş əslində artıq dəfələrlə yaranmış sadə bir problemə gəlir. Həqiqətən, sıfır və birlərdən ibarət olan i nömrəsinə uyğun gələn dəyişən dəyərlər dəstinin i ədədinin ikili təsvirini təmsil etdiyini başa düşmək kifayətdir. Beləliklə, müəyyən edilmiş nömrə ilə dəyişən dəyərlər toplusunu əldə etmək kimi mürəkkəb vəzifə, bir nömrəni ikiliyə çevirmək üçün tanış vəzifəyə endirilir.

Problemimizi həll edən C#-da funksiya belə görünür:

///

/// həllərin sayını hesablamaq üçün proqram

/// məntiqi tənlik (tənliklər sistemi)

///

///

/// məntiqi funksiya - metod,

/// imzası DF nümayəndəsi tərəfindən müəyyən edilir

///

/// dəyişənlərin sayı

/// həllərin sayı

statik int Həll Tənlikləri (DF əyləncə, int n)

bool dəsti = yeni bool[n];

int m = (int)Math.Pow(2, n); //dəstlərin sayı

int p = 0, q = 0, k = 0;

//Dəstlərin sayına görə axtarışı tamamlayın

üçün (int i = 0; i< m; i++)

//Növbəti çoxluğun formalaşması - çoxluğun,

//i ədədinin ikili təsviri ilə müəyyən edilir

üçün (int j = 0; j< n; j++)

k = (int)Math.Pow(2, j);

//Topluqda funksiyanın qiymətini hesablayın

Proqramı başa düşmək üçün ümid edirəm ki, verilişin ideyasının izahı və mətnindəki şərhlər kifayətdir. Mən yalnız verilən funksiyanın başlığını izah etməyə diqqət yetirəcəyəm. SolveEquations funksiyası iki giriş parametrinə malikdir. Əyləncəli parametr həll olunan tənliyə və ya tənliklər sisteminə uyğun məntiqi funksiyanı təyin edir. n parametri əyləncəli dəyişənlərin sayını təyin edir. Nəticədə, SolveEquations funksiyası məntiqi funksiyanın həllər sayını, yəni funksiyanın doğru olaraq qiymətləndirdiyi çoxluqların sayını qaytarır.

Bəzi F(x) funksiyasının arifmetik, sətir və ya məntiqi tipli dəyişən olan x giriş parametrinə malik olması məktəblilər üçün adi haldır. Bizim vəziyyətimizdə daha güclü bir dizayn istifadə olunur. SolveEquations funksiyası daha yüksək dərəcəli funksiyalara - F(f) tipli funksiyalara aiddir ki, onların parametrləri təkcə sadə dəyişənlər deyil, həm də funksiyalar ola bilər.

SolveEquations funksiyasına parametr kimi ötürülə bilən funksiyalar sinfi aşağıdakı kimi müəyyən edilir:

delegate bool DF(bool vars);

Bu sinif, vars massivi tərəfindən müəyyən edilmiş məntiqi dəyişənlərin qiymətləri dəsti parametr kimi ötürülən bütün funksiyalara malikdir. Nəticə bu çoxluqdakı funksiyanın dəyərini ifadə edən Boolean dəyəridir.

Nəhayət, burada bir neçə məntiqi tənlik sistemini həll etmək üçün SolveEquations funksiyasından istifadə edən proqram təqdim olunur. SolveEquations funksiyası aşağıdakı ProgramCommon sinifinin bir hissəsidir:

sinif proqramı Ümumi

delegate bool DF(bool vars);

statik boşluq Əsas (sətir args)

Console.WriteLine("Və Funksiyalar - " +

SolveEquations(FunAnd, 2));

Console.WriteLine("Funksiyada 51 həll var - " +

Tənlikləri həll edin(Fun51, 5));

Console.WriteLine("Funksiyada 53 həll var - " +

SolveEquations(Fun53, 10));

statik bool FunAnd(bool vars)

qaytarmaq vars && vars;

statik bool Fun51 (bool var)

f = f && (!vars || vars);

f = f && (!vars || vars);

f = f && (!vars || vars);

f = f && (!vars || vars);

f = f && (!vars || vars);

statik bool Fun53 ​​(bool vars)

f = f && ((vars == vars) || (vars == vars));

f = f && ((vars == vars) || (vars == vars));

f = f && ((vars == vars) || (vars == vars));

f = f && ((vars == vars) || (vars == vars));

f = f && ((vars == vars) || (vars == vars));

f = f && ((vars == vars) || (vars == vars));

f = f && (!((vars == var) || (vars == var))));

Bu proqram üçün həll nəticələrinin necə göründüyü budur:

Müstəqil iş üçün 10 tapşırıq

  1. Üç funksiyadan hansı ekvivalentdir:
    1. (X → Y) ˅ ¬Y
    2. ¬(X ˅ ¬Y) ˄ (X → ¬Y)
    3. ¬X ˄Y
  2. Həqiqət cədvəlinin bir parçası verilmişdir:
X 1 X 2 X 3 X 4 F
1 0 0 1 1
0 1 1 1 1
1 0 1 0 0

Bu fraqment üç funksiyadan hansına uyğundur:

  1. (X 1 ˅ ¬X 2) ˄ (X 3 → X 4)
  2. (X 1 → X 3) ˄ X 2 ˅ X 4
  3. X 1 ˄ X 2 ˅ (X 3 → (X 1 ˅ X 4))
  4. Münsiflər heyəti üç nəfərdən ibarətdir. Qərar münsiflər heyətinin sədri münsiflər heyətinin üzvlərindən ən azı biri tərəfindən dəstəklənən onun lehinə səs verdikdə qəbul edilir. Əks halda heç bir qərar verilmir. Qərar vermə prosesini rəsmiləşdirən məntiqi funksiya qurun.
  5. Dörd sikkə atılması üç dəfə başlarla nəticələnərsə, X Y üzərində qalib gəlir. X-in qazancını təsvir edən məntiqi funksiyanı təyin edin.
  6. Cümlədəki sözlər birdən başlayaraq nömrələnir. Aşağıdakı qaydalara əməl olunarsa, cümlə düzgün qurulmuş hesab olunur:
    1. Əgər cüt nömrəli söz saitlə bitirsə, növbəti söz, əgər varsa, saitlə başlamalıdır.
    2. Tək nömrəli söz samitlə bitirsə, növbəti söz, əgər varsa, samitlə başlamalı və saitlə bitməlidir.
      Aşağıdakı cümlələrdən hansı düzgün qurulub:
    3. Ana Maşanı sabunla yudu.
    4. Lider həmişə bir modeldir.
    5. Həqiqət yaxşıdır, amma xoşbəxtlik daha yaxşıdır.
  7. Tənliyin neçə həlli var:
    (a ˄ ¬ b) ˅ (¬a ˄ b) → (c ˄ d) = 1
  8. Tənliyin bütün həll yollarını sadalayın:
    (a → b) → c = 0
  9. Aşağıdakı tənliklər sisteminin neçə həlli var:
    X 0 → X 1 ˄ X 1 → X 2 = 1
    X 2 → X 3 ˄ X 3 → X 4 = 1
    X 5 → X 6 ˄ X 6 → X 7 = 1
    X 7 → X 8 ˄ X 8 → X 9 = 1
    X 0 → X 5 = 1
  10. Tənliyin neçə həlli var:
    ((((X 0 → X 1) → X 2) → X 3) →X 4) →X 5 = 1

Problemlərə cavablar:

  1. b və c funksiyaları ekvivalentdir.
  2. Fraqment b funksiyasına uyğundur.
  3. Münsiflər heyətinin sədri qərara “lehinə” səs verdikdə P məntiqi dəyişəni 1 qiymətini alsın. M 1 və M 2 dəyişənləri jüri üzvlərinin fikirlərini ifadə edir. Müsbət qərar qəbul etməyi təyin edən məntiqi funksiya aşağıdakı kimi yazıla bilər:
    P ˄ (M 1 ˅ M 2)
  4. Məntiqi dəyişən P i i-ci sikkə atılan zaman 1 qiymətini alsın. X-nin faydasını təyin edən məntiqi funksiya aşağıdakı kimi yazıla bilər:
    ¬((¬P 1 ˄ (¬P 2 ¬¬P 3 ˅ ¬P 4)) ˅
    (¬P 2 ˄ (¬P 3 ˅ ¬P 4)) ˅
    (¬P 3 ˄ ¬P 4))
  5. Cümlə b.
  6. Tənliyin 3 həlli var: (a = 1; b = 1; c = 0); (a = 0; b = 0; c = 0); (a = 0; b = 1; c = 0)

Bələdiyyə büdcəli təhsil müəssisəsi

“18 nömrəli tam orta məktəb”

Başqırdıstan Respublikasının Salavat şəhərinin şəhər rayonu

Məntiqi tənliklər sistemləri

Kompüter elmində Vahid Dövlət İmtahan Problemləri

Vahid Dövlət İmtahan tapşırıqlarında "Məntiq cəbrinin əsasları" bölməsi ən çətin və həlli çətin olanlardan biri hesab olunur. Bu mövzu üzrə yerinə yetirilən tapşırıqların orta faizi ən aşağıdır və 43,2-dir.

Kurs bölməsi

Tapşırıq qrupları üzrə orta icra faizi

İnformasiyanın kodlaşdırılması və onun kəmiyyətinin ölçülməsi

İnformasiya Modelləşdirmə

Say sistemləri

Məntiq cəbrinin əsasları

Alqoritmləşdirmə və proqramlaşdırma

İnformasiya və kommunikasiya texnologiyalarının əsasları

2018 KIM spesifikasiyasına əsasən, bu bloka müxtəlif çətinlik səviyyələrində dörd tapşırıq daxildir.

tapşırıqlar

Doğrulana bilər

məzmun elementləri

Tapşırıq çətinlik səviyyəsi

Həqiqət cədvəlləri və məntiq sxemləri qurmaq bacarığı

İnternetdə məlumat axtarmaq bacarığı

Əsas anlayışları və qanunları bilmək

riyazi məntiq

Məntiqi ifadələri qurmaq və çevirmək bacarığı

Tapşırıq 23 yüksək çətinlik səviyyəsinə malikdir, ona görə də ən aşağı icra faizinə malikdir. Hazırlanmış məzunlar arasında (81-100 bal) 49,8%, orta hazırlıqlı məzunlar (61-80 bal) 13,7%, qalan qrup tələbələr isə bu tapşırığı yerinə yetirməmişdir.

Məntiqi tənliklər sisteminin həllinin uğuru məntiq qanunlarını bilməkdən və sistemin həlli üsullarının dəqiq tətbiqindən asılıdır.

Xəritəçəkmə üsulundan istifadə edərək məntiqi tənliklər sisteminin həllini nəzərdən keçirək.

(23.154 Polyakov K.Yu.) Tənliklər sisteminin neçə müxtəlif həlli var?

((x1 y1 ) (x2 y2 )) (x1 x2 ) (y1 y2 ) =1

((x2 y2 ) (x3 y3 )) (x2 x3 ) (y2 y3 ) =1

((x7 y7 ) (x8 y8 )) (x7 x8 ) (y7 y8 ) =1

Harada x1 , x2 ,…, x8, saat1 ,y2 ,…,y8 - məntiqi dəyişənlər? Cavab bu bərabərliyin mövcud olduğu bütün müxtəlif dəyişən dəyər dəstlərini sadalamağa ehtiyac yoxdur. Cavab olaraq, belə dəstlərin sayını göstərməlisiniz.

Həll. Sistemə daxil olan bütün tənliklər eyni tiplidir və hər bir tənlik dörd dəyişəndən ibarətdir. x1 və y1-i bilməklə, birinci tənliyi təmin edən x2 və y2-nin bütün mümkün qiymətlərini tapa bilərik. Bənzər şəkildə düşünərək məlum x2 və y2-dən ikinci tənliyi təmin edən x3, y3 tapa bilərik. Yəni (x1, y1) cütünü bilmək və (x2, y2) cütünün qiymətini təyin etməklə (x3, y3) cütünü tapacağıq, bu da öz növbəsində (x4, y4) cütlüyünə səbəb olacaqdır. və s.

Birinci tənliyin bütün həll yollarını tapaq. Bunu iki yolla etmək olar: məntiq qanunlarını əsaslandırmaq və tətbiq etməklə həqiqət cədvəli qurmaq.

Həqiqət cədvəli:

x 1 y 1

x 2 y 2

(x 1 y 1) (x2 y2)

(x 1 x2)

(y 1 y2)

(x 1 x2) (y 1 y2)

Həqiqət cədvəlinin qurulması çox əmək tələb edir və vaxt səmərəsizdir, ona görə də biz ikinci üsuldan - məntiqi əsaslandırmadan istifadə edirik. Məhsul 1-ə bərabərdir, o zaman və yalnız hər bir amil 1-ə bərabərdir.

(x1 y1 ) (x2 y2 ))=1

(x1 x2 ) =1

(y1 y2 ) =1

Birinci tənliyə baxaq. Nəticə 0 0, 0 1, 1 1 olduqda 1-ə bərabərdir ki, bu da (01), (10) üçün (x1 y1)=0, sonra cütlük deməkdir. (x2 y2 ) hər hansı (00), (01), (10), (11) ola bilər və (x1 y1) = 1 olduqda, yəni (00) və (11) cütü (x2 y2) = 1 eyni dəyərlər (00) və (11). İkinci və üçüncü tənliklərin yalan olduğu, yəni x1=1, x2=0, y1=1, y2=0 olan cütləri bu həlldən xaric edək.

(x1 , y1 )

(x2 , y2 )

Cütlərin ümumi sayı 1+1+1+22= 25

2) (23.160 Polyakov K.Yu.) Məntiqi tənliklər sisteminin neçə müxtəlif həlli var?

(x 1 (x 2 y 2 )) (y 1 y 2 ) = 1

(x 2 (x 3 y 3 )) (y 2 y 3 ) = 1

...

( x 6 ( x 7 y 7 )) ( y 6 y 7 ) = 1

x 7 y 7 = 1

Həll. 1) Tənliklər eyni tiplidir, ona görə də əsaslandırmadan istifadə edərək birinci tənliyin bütün mümkün cütlərini (x1,y1), (x2,y2) tapacağıq.

(x1 (x2 y2 ))=1

(y1 y2 ) = 1

İkinci tənliyin həlli (00), (01), (11) cütləridir.

Birinci tənliyin həlli yollarını tapaq. x1=0 olarsa, x2, y2 - hər hansı, x1=1 olarsa, x2, y2 (11) qiymətini alır.

(x1, y1) və (x2, y2) cütləri arasında əlaqə yaradaq.

(x1 , y1 )

(x2 , y2 )

Hər mərhələdə cütlərin sayını hesablamaq üçün cədvəl yaradaq.

0

Son tənliyin həllərini nəzərə alaraq x 7 y 7 = 1, (10) cütünü istisna edək. Həlllərin ümumi sayını tapın 1+7+0+34=42

3)(23.180) Məntiqi tənliklər sisteminin neçə müxtəlif həlli var?

(x1 x2 ) (x3 x4 ) = 1

(x3 x4 ) (x5 x6 ) = 1

(x5 x6 ) (x7 x8 ) = 1

(x7 x8 ) (x9 x10 ) = 1

x1 x3 x5 x7 x9 = 1

Həll. 1) Tənliklər eyni tiplidir, ona görə də əsaslandırmadan istifadə edərək birinci tənliyin bütün mümkün cütlərini (x1,x2), (x3,x4) tapacağıq.

(x1 x2 ) (x3 x4 ) = 1

Ardıcıllıqla 0 (1 0) verən cütləri həlldən xaric edək, bunlar (01, 00, 11) və (10) cütləridir.

(x1,x2), (x3,x4) cütləri arasında əlaqə yaradaq.

Xidmətin məqsədi. Onlayn kalkulyator üçün nəzərdə tutulmuşdur məntiqi ifadə üçün həqiqət cədvəlinin qurulması.
Həqiqət cədvəli – giriş dəyişənlərinin bütün mümkün kombinasiyalarını və onların müvafiq çıxış qiymətlərini ehtiva edən cədvəl.
Həqiqət cədvəli 2n sətirdən ibarətdir, burada n giriş dəyişənlərinin sayı, n+m isə sütunlardır, burada m çıxış dəyişənləridir.

Təlimatlar. Klaviaturadan daxil olarkən aşağıdakı konvensiyalardan istifadə edin:

Boolean ifadəsi:

Həqiqət cədvəli üçün aralıq cədvəllərin çıxarılması
SKNF-nin tikintisi
SDNF-nin tikintisi
Jeqalkin polinomunun qurulması
Veitch-Karnaugh xəritəsinin tikintisi
Boolean funksiyasının minimuma endirilməsi
Məsələn, abc+ab~c+a~bc məntiqi ifadəsi belə daxil edilməlidir: a*b*c+a*b=c+a=b*c
Məntiqi diaqram şəklində məlumatları daxil etmək üçün bu xidmətdən istifadə edin.

Məntiqi funksiyanın daxil edilməsi qaydaları

  1. v (disjunction, OR) simvolu əvəzinə + işarəsindən istifadə edin.
  2. Məntiqi funksiyadan əvvəl funksiya təyinatını təyin etməyə ehtiyac yoxdur. Məsələn, F(x,y)=(x|y)=(x^y) əvəzinə sadəcə (x|y)=(x^y) daxil etməlisiniz.
  3. Dəyişənlərin maksimum sayı 10-dur.

Kompüter məntiqi sxemlərinin layihələndirilməsi və təhlili riyaziyyatın xüsusi bölməsindən - məntiq cəbrindən istifadə etməklə həyata keçirilir. Məntiq cəbrində üç əsas məntiqi funksiyanı ayırd etmək olar: “NOT” (inkar), “AND” (birləşmə), “OR” (disjunction).
Hər hansı məntiqi qurğu yaratmaq üçün çıxış dəyişənlərinin hər birinin mövcud giriş dəyişənlərindən asılılığını müəyyən etmək lazımdır, bu asılılığa keçid funksiyası və ya məntiqi cəbr funksiyası deyilir.
Məntiqi cəbr funksiyası, onun bütün 2n dəyəri verildiyi təqdirdə tam müəyyən edilmiş adlanır, burada n çıxış dəyişənlərinin sayıdır.
Bütün dəyərlər müəyyən edilməmişdirsə, funksiya qismən müəyyən edilmiş adlanır.
Cihazın vəziyyəti məntiqi cəbr funksiyasından istifadə edərək təsvir edilirsə, məntiqi adlanır.
Məntiqi cəbr funksiyasını təmsil etmək üçün aşağıdakı üsullardan istifadə olunur:
Cəbri formada məntiqi elementlərdən istifadə edərək məntiqi cihazın dövrəsini qura bilərsiniz.


Şəkil 1 - Məntiq cihaz diaqramı

Məntiq cəbrinin bütün əməliyyatları müəyyən edilmişdir həqiqət cədvəlləri dəyərlər. Həqiqət cədvəli əməliyyatın nəticəsini müəyyən edir hər kəs mümkündür x orijinal ifadələrin məntiqi dəyərləri. Əməliyyatların tətbiqinin nəticəsini əks etdirən variantların sayı məntiqi ifadədəki ifadələrin sayından asılı olacaq. Əgər məntiqi ifadədə ifadələrin sayı N olarsa, onda həqiqət cədvəlində 2 N sətir olacaq, çünki mümkün arqument dəyərlərinin 2 N müxtəlif kombinasiyası mövcuddur.

DEYİL əməliyyatı - məntiqi inkar (inversiya)

Sadə və ya mürəkkəb məntiqi ifadə ola bilən tək arqumentə məntiqi əməliyyat tətbiq olunmur. Əməliyyatın nəticəsi aşağıdakı DEYİL:
  • ilkin ifadə doğrudursa, onun inkarının nəticəsi yalan olacaq;
  • ilkin ifadə yalan olarsa, onun inkarının nəticəsi doğru olacaqdır.
Aşağıdakı konvensiyalar inkar əməliyyatı üçün QƏBUL EDİLMİR:
A, Ā deyil, A, ¬A, !A deyil
İnkar əməliyyatının nəticəsi aşağıdakı həqiqət cədvəli ilə təyin olunmur:
Ayox A
0 1
1 0

İnkar əməliyyatının nəticəsi orijinal ifadə yalan olduqda doğrudur və əksinə.

OR əməliyyat - məntiqi əlavə (ayrılma, birləşmə)

Məntiqi OR əməliyyatı sadə və ya mürəkkəb məntiqi ifadə ola bilən iki ifadəni birləşdirmək funksiyasını yerinə yetirir. Məntiqi əməliyyat üçün başlanğıc nöqtəsi olan ifadələrə arqumentlər deyilir. OR əməliyyatının nəticəsi orijinal ifadələrdən ən azı biri doğru olduqda doğru olacaq ifadədir.
İstifadə olunan təyinatlar: A və ya B, A V B, A və ya B, A||B.
OR əməliyyatının nəticəsi aşağıdakı həqiqət cədvəli ilə müəyyən edilir:
OR əməliyyatının nəticəsi A doğru olduqda doğrudur və ya B doğrudur və ya A və B hər ikisi doğrudur, A və B arqumentləri yanlış olduqda isə yanlışdır.

AND əməliyyatı - məntiqi vurma (bağlama)

AND məntiqi əməliyyatı sadə və ya mürəkkəb məntiqi ifadə ola bilən iki ifadənin (arqumentlərin) kəsişməsi funksiyasını yerinə yetirir. AND əməliyyatının nəticəsi yalnız və yalnız hər iki orijinal ifadə doğru olduqda doğru olacaq ifadədir.
İstifadə olunan təyinatlar: A və B, A Λ B, A & B, A və B.
AND əməliyyatının nəticəsi aşağıdakı həqiqət cədvəli ilə müəyyən edilir:
ABA və B
0 0 0
0 1 0
1 0 0
1 1 1

AND əməliyyatının nəticəsi o halda doğrudur ki, A və B ifadələri həm doğru, həm də bütün digər hallarda yanlışdır.

"ƏGƏR-ONDAN" əməliyyatı - məntiqi nəticə (təsir)

Bu əməliyyat iki sadə məntiqi ifadəni birləşdirir, onlardan birincisi şərt, ikincisi isə bu şərtin nəticəsidir.
İstifadə olunan təyinatlar:
A, onda B; A B ehtiva edir; əgər A onda B; A→B.
Həqiqət cədvəli:
ABA → B
0 0 1
0 1 1
1 0 0
1 1 1

İmplikasiya əməliyyatının nəticəsi yalnız A müddəasının doğru olduğu və B nəticəsinin (nəticə) yalan olduğu halda yanlışdır.

“A, əgər və yalnız B olarsa” əməliyyatı (ekvivalentlik, ekvivalentlik)

İstifadə olunan təyinat: A ↔ B, A ~ B.
Həqiqət cədvəli:
ABA↔B
0 0 1
0 1 0
1 0 0
1 1 1

"Əlavə modulu 2" əməliyyatı (XOR, eksklüziv və ya ciddi disjunksiya)

İstifadə olunan qeyd: A XOR B, A ⊕ B.
Həqiqət cədvəli:
ABA⊕B
0 0 0
0 1 1
1 0 1
1 1 0

Ekvivalentlik əməliyyatının nəticəsi yalnız A və B eyni zamanda doğru və ya yanlış olduqda doğrudur.

Məntiqi əməliyyatların prioriteti

  • Mötərizədə hərəkətlər
  • İnversiya
  • Bağlayıcı (&)
  • Disjunksiya (V), Eksklüziv OR (XOR), cəmi modulu 2
  • Təsir (→)
  • Ekvivalentlik (↔)

Mükəmməl disjunktiv normal forma

Düsturun mükəmməl disjunktiv normal forması(SDNF) elementar birləşmələrin disjunksiyasından ibarət ekvivalent düsturdur və aşağıdakı xüsusiyyətlərə malikdir:
  1. Düsturun hər bir məntiqi termini F(x 1,x 2,...x n) funksiyasına daxil olan bütün dəyişənləri ehtiva edir.
  2. Düsturun bütün məntiqi şərtləri fərqlidir.
  3. Heç bir məntiqi termində dəyişən və onun inkarı yoxdur.
  4. Düsturda heç bir məntiqi termin eyni dəyişəni iki dəfə ehtiva etmir.
SDNF ya həqiqət cədvəllərindən, ya da ekvivalent çevrilmələrdən istifadə etməklə əldə edilə bilər.
Hər bir funksiya üçün SDNF və SCNF, permutasiyaya qədər unikal şəkildə müəyyən edilir.

Mükəmməl konyunktiv normal forma

Düsturun mükəmməl konyunktiv normal forması (SCNF) Bu, elementar disjunksiyaların birləşməsindən ibarət olan və xassələri təmin edən ona ekvivalent bir düsturdur:
  1. Bütün elementar disjunksiyalar F(x 1 ,x 2 ,...x n) funksiyasına daxil olan bütün dəyişənləri ehtiva edir.
  2. Bütün elementar disjunksiyalar fərqlidir.
  3. Hər elementar disjunksiya bir dəfə dəyişən ehtiva edir.
  4. Heç bir elementar disjunksiya dəyişən və onun inkarını ehtiva etmir.

J ∧ ¬K ∧ L ∧ ¬M ∧ (N ∨ ¬N) = 0, burada J, K, L, M, N məntiqi dəyişənlərdir?

Həll.

Buna görə də (N ∨ ¬N) ifadəsi istənilən N üçün doğrudur

J ∧ ¬K ∧ L ∧ ¬M = 0.

Məntiqi tənliyin hər iki tərəfinə inkar tətbiq edək və De Morqan qanunundan ¬ (A ∧ B) = ¬ A ∨ ¬ B istifadə edək. ¬J ∨ K ∨ ¬L ∨ M = 1 alırıq.

Məntiqi cəmi 1-ə bərabərdir, əgər onun tərkib müddəalarından ən azı biri 1-ə bərabərdir. Buna görə də, tənliyə daxil edilmiş bütün kəmiyyətlərin 0-a bərabər olduğu hal istisna olmaqla, nəticədə yaranan tənlik məntiqi dəyişənlərin istənilən kombinasiyası ilə təmin edilir. 4 dəyişən ya 1, ya da 0-a bərabər ola bilər, ona görə də bütün mümkün birləşmələr 2·2·2·2 = 16-dır. Buna görə də tənliyin 16 −1 = 15 həlli var.

Qeyd etmək qalır ki, tapılan 15 həll N məntiqi dəyişəninin iki mümkün dəyərindən hər hansı birinə uyğundur, buna görə də orijinal tənliyin 30 həlli var.

Cavab: 30

Tənliyin neçə fərqli həlli var?

((J → K) → (M ∧ N ∧ L)) ∧ ((J ∧ ¬K) → ¬ (M ∧ N ∧ L)) ∧ (M → J) = 1

J, K, L, M, N məntiqi dəyişənlərdir?

Cavabda bu bərabərliyin mövcud olduğu J, K, L, M və N dəyərlərinin bütün müxtəlif dəstlərini sadalamaq lazım deyil. Cavab olaraq, belə dəstlərin sayını göstərməlisiniz.

Həll.

A → B = ¬A ∨ B və ¬(A ∨ B) = ¬A ∧ ¬B düsturlarından istifadə edirik.

Birinci alt düsturu nəzərdən keçirək:

(J → K) → (M ∧ N ∧ L) = ¬(¬J ∨ K) ∨ (M ∧ N ∧ L) = (J ∧ ¬K) ∨ (M ∧ N ∧ L)

İkinci alt düsturu nəzərdən keçirək

(J ∧ ¬K) → ¬(M ∧ N ∧ L) = ¬(J ∧ ¬K) ∨ ¬(M ∧ N ∧ L) = (¬J ∨ K) ∨ ¬M ∨ ¬N ∨ ¬L

Üçüncü alt düsturu nəzərdən keçirək

1) M → J = 1 buna görə də,

(J ∧ ¬K) ∨ (M ∧ N ∧ L) = (1 ∧ ¬K) ∨ (1 ∧ N ∧ L) = ¬K ∨ N ∧ L;

(0 ∨ K) ∨ 0 ∨ ¬N ∨ ¬L = K ∨ ¬N ∨ ¬L;

Gəlin birləşdirək:

¬K ∨ N ∧ L ∧ K ∨ ¬N ∨ ¬L = 0 ∨ L ∨ 0 ∨ ¬L = L ∨ ¬L = 1 deməli 4 həll.

(J ∧ ¬K) ∨ (M ∧ N ∧ L) = (1 ∧ ¬K) ∨ (0 ∧ N ∧ L) = ¬K;

(¬J ∨ K) ∨ ¬M ∨ ¬N ∨ ¬L = (0 ∨ K) ∨ 1 ∨ ¬N ∨ ¬L = K ∨ 1 ∨ ¬N ∨ ¬L

Gəlin birləşdirək:

K ∨ 1 ∨ ¬N ∨ ¬L ∧ ¬K = 1 ∨ ¬N ∨ ¬L deməli 4 həll.

c) M = 0 J = 0.

(J ∧ ¬K) ∨ (M ∧ N ∧ L) = (0 ∧ ¬K) ∨ (0 ∧ N ∧ L) = 0.

(¬J ∨ K) ∨ ¬M ∨ ¬N ∨ ¬L = (1 ∨ K) ∨ 1 ∨ ¬N ∨ ¬L.

Cavab: 4 + 4 = 8.

Cavab: 8

Tənliyin neçə fərqli həlli var?

((K ∨ L) → (L ∧ M ∧ N)) = 0

harada K, L, M, N məntiqi dəyişənlərdir? Cavabda bu bərabərliyin mövcud olduğu K, L, M və N dəyərlərinin bütün müxtəlif dəstlərini sadalamağa ehtiyac yoxdur. Cavab olaraq belə dəstlərin sayını göstərməlisiniz.

Həll.

Əməliyyatlar üçün daha sadə qeydlərdən istifadə edərək tənliyi yenidən yazaq:

((K + L) → (L M N)) = 0

1) “təsir” əməliyyatının həqiqət cədvəlindən (birinci məsələyə bax) belə çıxır ki, bu bərabərlik o halda doğrudur ki, və yalnız eyni zamanda

K + L = 1 və L M N = 0

2) birinci tənlikdən belə çıxır ki, dəyişənlərdən ən azı biri K və ya L 1-ə bərabərdir (və ya hər ikisi birlikdə); ona görə də üç halı nəzərdən keçirək

3) əgər K = 1 və L = 0 olarsa, onda ikinci bərabərlik istənilən M və N üçün ödənilir; iki Boolean dəyişəninin 4 kombinasiyası (00, 01, 10 və 11) olduğundan 4 fərqli həllimiz var

4) əgər K = 1 və L = 1 olarsa, M · N = 0 üçün ikinci bərabərlik yerinə yetirilir; 3 belə kombinasiya var (00, 01 və 10), daha 3 həllimiz var

5) K = 0 olarsa, L = 1 (birinci tənlikdən); bu halda ikinci bərabərlik M · N = 0 olduqda təmin edilir; 3 belə kombinasiya var (00, 01 və 10), daha 3 həllimiz var

6) cəmi 4 + 3 + 3 = 10 həll alırıq.

Cavab: 10

Tənliyin neçə fərqli həlli var?

(K ∧ L) ∨ (M ∧ N) = 1

Həll.

(K ∧ L) və (M ∧ N) müvafiq olaraq 01, 11, 10-a bərabər olduqda ifadə üç halda doğrudur.

1) "01" K ∧ L = 0; M ∧ N = 1, => M, N 1-ə bərabərdir və K və L eyni vaxtda 1-dən başqa hər şeydir. Buna görə də 3 həll yolu var.

2) "11" K ∧ L = 1; M ∧ N = 1. => 1 məhlul.

3) "10" K ∧ L = 1; M ∧ N = 0. => 3 məhlul.

Cavab: 7.

Cavab: 7

Tənliyin neçə fərqli həlli var?

(X ∧ Y ∨ Z) ​​→ (Z ∨ P) = 0

burada X, Y, Z, P məntiqi dəyişənlərdir? Cavabda bu bərabərliyin mövcud olduğu bütün müxtəlif dəyər dəstlərini sadalamaq lazım deyil. Cavab olaraq, yalnız belə dəstlərin sayını göstərməlisiniz.

Həll.

(X ∧ Y ∨ Z) ​​→ (Z ∨ P) = 0 =>

¬(X ∧ Y ∨ Z) ​​∨ (Z ∨ P) = 0;

(¬X ∨ ¬Y ∧ ¬Z) ∨ (Z ∨ P) = 0;

Məntiqi OR yalnız bir halda yanlışdır: hər iki ifadə yanlış olduqda.

Beləliklə,

(Z ∨ P) = 0 => Z = 0, P = 0.

¬X ∨ ¬Y ∧ ¬Z = 0 => ¬X ∨ ¬Y ∧ 1 = 0 =>

¬X ∨ ¬Y = 0 => X = 1; Y = 1.

Buna görə də tənliyin yalnız bir həlli var.

Cavab: 1

Tənliyin neçə fərqli həlli var?

(K ∨ L) ∧ (M ∨ N) = 1

harada K, L, M, N məntiqi dəyişənlərdir? Cavab üçün bu bərabərliyin mövcud olduğu K, L, M və N dəyərlərinin bütün müxtəlif dəstlərini sadalamaq lazım deyil. Cavab olaraq, yalnız belə dəstlərin sayını göstərməlisiniz.

Həll.

Məntiqi Və yalnız bir halda doğrudur: bütün ifadələr doğru olduqda.

K ∨ L = 1, M ∨ N = 1.

Hər bir tənlik 3 həlli verir.

A ∧ B = 1 tənliyini nəzərdən keçirin, əgər həm A, həm də B hər biri üç halda həqiqi qiymətlər alırsa, cəmi tənliyin 9 həlli var.

Buna görə cavab 9-dur.

Cavab: 9

Tənliyin neçə fərqli həlli var?

((A → B)∧ C) ∨ (D ∧ ¬D)= 1,

harada A, B, C, D məntiqi dəyişənlərdir?

Cavabda bu bərabərliyin mövcud olduğu A, B, C, D dəyərlərinin bütün müxtəlif dəstlərini sadalamaq lazım deyil. Cavab olaraq, belə dəstlərin sayını göstərməlisiniz.

Həll.

Məntiqi "OR" ifadələrindən ən azı biri doğru olduqda doğrudur.

(D ∧ ¬D)= istənilən D üçün 0.

Beləliklə,

(A → B)∧ C) = 1 => C = 1; A → B = 1 => ¬ A ∨ B = 1, bu da bizə hər D üçün 3 mümkün həll yolu verir.

(D ∧ ¬ D)= 0 istənilən D üçün, bu bizə iki həll yolu verir (D = 1, D = 0 üçün).

Buna görə də: cəmi həllər 2*3 = 6.

Cəmi 6 həll.

Cavab: 6

Tənliyin neçə fərqli həlli var?

(¬K ∨ ¬L ∨ ¬M) ∧ (L ∨ ¬M ∨ ¬N) = 0

harada K, L, M, N məntiqi dəyişənlərdir? Cavab üçün bu bərabərliyin mövcud olduğu K, L, M və N dəyərlərinin bütün müxtəlif dəstlərini sadalamaq lazım deyil. Cavab olaraq, yalnız belə dəstlərin sayını göstərməlisiniz.

Həll.

Tənliyin hər iki tərəfinə inkar tətbiq edək:

(K ∧ L ∧ M) ∨ (¬L ∧ M ∧ N) = 1

Məntiqi OR üç halda doğrudur.

Seçim 1.

K ∧ L ∧ M = 1, onda K, L, M = 1 və ¬L ∧ M ∧ N = 0. N ixtiyari, yəni 2 həlldir.

Seçim 2.

¬L ∧ M ∧ N = 1, onda N, M = 1; L = 0, K hər hansı, yəni 2 məhlul.

Buna görə cavab 4-dür.

Cavab: 4

A, B və C ifadənin doğru olduğu tam ədədlərdir

¬ (A = B) ∧ ((A > B)→(B > C)) ∧ ((B > A)→(C > B)).

A = 45 və C = 43 olarsa, B nəyə bərabərdir?

Həll.

Nəzərə alın ki, bu mürəkkəb ifadə üç sadə ifadədən ibarətdir

1) ¬(A = B); (A > B)→(B > C); (B > A)→(C > B);

2) bu sadə ifadələr ∧ (AND, birləşmə) əməliyyatı ilə bağlanır, yəni eyni vaxtda yerinə yetirilməlidir;

3) ¬(A = B)=1-dən dərhal belə nəticə çıxır ki, A B;

4) tutaq ki, A > B, onda ikinci şərtdən 1→(B > C)=1 alırıq; bu ifadə yalnız və yalnız B > C = 1 olduqda doğru ola bilər;

5) buna görə də bizdə A > B > C var, bu şərtə yalnız 44 rəqəmi uyğun gəlir;

6) hər halda, A variantını da yoxlayaq 0 →(B > C)=1;

bu ifadə istənilən B üçün doğrudur; İndi üçüncü şərtə baxırıq və əldə edirik

bu ifadə yalnız və yalnız C > B olduqda doğru ola bilər və burada ziddiyyət yaranır, çünki C > B > A olan elə B rəqəmi yoxdur.

Cavab: 44.

Cavab: 44

Məntiqi funksiya üçün həqiqət cədvəlini qurun

X = (A ↔ B) ∨ ¬(A → (B ∨ C))

burada A arqumentinin dəyərlərinin sütunu 27 rəqəminin ikili təsviri, B arqumentinin dəyərlərinin sütunu 77 nömrəsi, C arqumentinin dəyər sütunu 120 rəqəmidir. sütunda yuxarıdan aşağıya ən əhəmiyyətlidən ən az əhəmiyyətliyə (sıfır çoxluğu daxil olmaqla) yazılır. X funksiyasının dəyərlərinin ikili təsvirini onluq say sisteminə çevirin.

Həll.

Əməliyyatlar üçün daha sadə qeydlərdən istifadə edərək tənliyi yazaq:

1) bu üç dəyişənli ifadədir, ona görə də həqiqət cədvəlində sətirlər olacaq; buna görə də A, B və C cədvəl sütunlarını qurmaq üçün istifadə olunan ədədlərin ikili təsviri 8 rəqəmdən ibarət olmalıdır.

2) 27, 77 və 120 rəqəmlərini ikili sistemə çevirin, dərhal ədədlərin əvvəlinə 8 rəqəmə qədər sıfır əlavə edin

3) hər kombinasiya üçün X funksiyasının dəyərlərini dərhal yaza bilməyəcəyiniz ehtimalı azdır, buna görə aralıq nəticələri hesablamaq üçün cədvələ əlavə sütunlar əlavə etmək rahatdır (aşağıdakı cədvələ baxın)

X0
AINİLƏ
0 0
0 1 1
0 0 1
1 0 1
1 1 1
0 1 0
1 0 0
1 1 0

4) cədvəlin sütunlarını doldurun:

AINİLƏ X
0 0 0 1 0 1 0 1
0 1 1 0 1 1 0 0
0 0 1 1 1 1 0 1
1 0 1 0 1 1 0 0
1 1 1 1 1 1 0 1
0 1 0 0 1 1 0 0
1 0 0 0 0 0 1 1
1 1 0 1 1 1 0 1

qiymət yalnız A = B olduğu sətirlərdə 1-dir

B və ya C = 1 olduğu sətirlərdə qiymət 1-dir

qiymət yalnız A = 1 və B + C = 0 olduğu sətirlərdə 0-dır

dəyər əvvəlki sütunun tərsidir (0 1 ilə, 1 isə 0 ilə əvəz olunur)

X (son sütun) nəticəsi iki sütunun məntiqi cəmidir və

5) Cavab almaq üçün X sütunundan yuxarıdan aşağıya qədər bitləri yazın:

6) bu ədədi onluq sistemə çevirin:

Cavab: 171

(10 (X+1)·(X+2)) ifadəsinin doğru olduğu ən böyük X tam ədədi hansıdır?

Həll.

Tənlik iki əlaqə arasındakı təsir əməliyyatıdır:

1) Əlbəttə, burada 2208-ci misaldakı kimi eyni metodu tətbiq edə bilərsiniz, lakin siz kvadrat tənlikləri həll etməli olacaqsınız (mən istəmirəm...);

2) Qeyd edək ki, şərtlə bizi yalnız tam ədədlər maraqlandırır, buna görə də ekvivalent ifadə əldə edərək orijinal ifadəni birtəhər çevirməyə cəhd edə bilərik (köklərin dəqiq dəyərləri bizi heç maraqlandırmır!);

3) Bərabərsizliyi nəzərdən keçirək: aydındır ki, o, ya müsbət, ya da mənfi ədəd ola bilər;

4) Domendə ifadənin bütün tam ədədlər üçün, domendə isə bütün tam ədədlər üçün doğru olduğunu yoxlamaq asandır (çaşqınlıq yaratmamaq üçün qeyri-ciddi bərabərsizliklərdən istifadə etmək daha rahatdır və əvəzinə . və );

5) Buna görə də tam ədədlər üçün onu ekvivalent ifadə ilə əvəz etmək olar

6) ifadənin həqiqət sahəsi iki sonsuz intervalın birləşməsidir;

7) İndi ikinci bərabərsizliyə nəzər salaq: aydındır ki, o, həm də müsbət və ya mənfi ədəd ola bilər;

8) Bölgədə ifadə bütün tam ədədlər üçün, regionda isə bütün tam ədədlər üçün doğrudur, ona görə də tam ədədlər üçün onu ekvivalent ifadə ilə əvəz etmək olar.

9) ifadənin həqiqət dairəsi qapalı intervaldır;

10) Verilən ifadə və olduğu sahələr istisna olmaqla, hər yerdə doğrudur;

11) Nəzərə alın ki, qiymət artıq uyğun deyil, çünki orada və , yəni implikasiya 0 verir;

12) Şərti ödəyən 2, (10 (2+1) · (2+2)), və ya 0 → 0 əvəz edilərkən.

Beləliklə, cavab 2-dir.

Cavab: 2

Bəyanatın doğru olduğu ən böyük X tam ədədi hansıdır

(50 (X+1)·(X+1))?

Həll.

Gəlin implikasiya çevrilməsini tətbiq edək və ifadəni çevirək:

(50 (X+1)·(X+1)) ⇔ ¬(X 2 > 50) ∨ ((X+1) 2) ∨ (|X+1|).

Məntiqi OR ən azı bir məntiqi ifadə doğru olduqda doğrudur. Hər iki bərabərsizliyi həll edərək və nəzərə alsaq ki, onlardan ən azı birinin ödənildiyi ən böyük tam ədədin 7 olduğunu görürük (şəkildə ikinci bərabərsizliyin müsbət həlli sarı, birinci isə mavi rənglə göstərilmişdir).

Cavab: 7

Məntiqi ifadənin olduğu K, L, M, N dəyişənlərinin qiymətlərini göstərin

(¬(M ∨ L) ∧ K) → (¬K ∧ ¬M ∨ N)

yalan. Cavabı 4 simvoldan ibarət sətir kimi yazın: K, L, M və N dəyişənlərinin dəyərləri (bu ardıcıllıqla). Beləliklə, məsələn, 1101-ci sətir K=1, L=1, M=0, N=1 faktına uyğun gəlir.

Həll.

Dublikat tapşırığı 3584.

Cavab: 1000

(¬K ∨ M) → (¬L ∨ M ∨ N)

Həll.

Təsir çevrilməsini tətbiq edək:

(K ∧ ¬M) ∨ (¬L ∨ M ∨ N) = 0

Tənliyin hər iki tərəfinə inkar tətbiq edək:

(¬K ∨ M) ∧ L ∧ ¬M ∧ ¬N = 1

Gəlin çevirək:

(¬K ∧ L ∨ M ∧ L) ∧ ¬M ∧ ¬N = 1

Buna görə də, M = 0, N = 0, indi nəzərdən keçirin (¬K ∧ L ∨ M ∧ L):

M = 0, N = 0 olmasından belə çıxır ki, M ∧ L = 0, onda ¬K ∧ L = 1, yəni K = 0, L = 1 olur.

Cavab: 0100

Məntiqi ifadənin olduğu K, L, M, N dəyişənlərinin qiymətlərini göstərin

(¬(M ∨ L) ∧ K) → ((¬K ∧ ¬M) ∨ N)

yalan. Cavabınızı dörd simvoldan ibarət sətir kimi yazın: K, L, M və N dəyişənlərinin dəyərləri (bu ardıcıllıqla). Beləliklə, məsələn, 1101-ci sətir K=1, L=1, M=0, N=1 faktına uyğun gəlir.

Həll.

Əməliyyatların daha sadə qeydindən istifadə edərək tənliyi yazaq (“ifadə yanlışdır” şərti onun məntiqi sıfıra bərabər olduğunu bildirir):

1) şərtin tərtibindən belə çıxır ki, ifadə yalnız bir dəyişənlər toplusu üçün yalan olmalıdır

2) "təsir" əməliyyatının həqiqət cədvəlindən belə nəticə çıxır ki, bu ifadə yalnız və yalnız eyni zamanda yanlışdır.

3) birinci bərabərlik (məntiqi hasil 1-ə bərabərdir) və yalnız və olduqda ödənilir; bundan belə nəticə çıxır (məntiqi cəmi sıfıra bərabərdir), bu yalnız olduqda baş verə bilər; Beləliklə, biz artıq üç dəyişən müəyyən etmişik

4) ikinci şərtdən, , üçün və alırıq.

Tapşırığı təkrarlayır

Cavab: 1000

Məntiqi ifadənin olduğu P, Q, S, T məntiqi dəyişənlərin dəyərlərini göstərin

(P ∨ ¬Q) ∨ (Q → (S ∨ T)) yanlışdır.

Cavabı dörd simvoldan ibarət bir sətir kimi yazın: P, Q, S, T dəyişənlərinin dəyərləri (bu ardıcıllıqla).

Həll.

(1) (P ∨ ¬Q) = 0

(2) (Q → (S ∨ Т)) = 0

(1) (P ∨ ¬Q) = 0 => P = 0, Q = 1.

(2) (Q → (S ∨ Т)) = 0 Təsir çevrilməsini tətbiq edək:

¬Q ∨ S ∨ T = 0 => S = 0, T = 0.

Cavab: 0100

Məntiqi ifadənin olduğu K, L, M, N dəyişənlərinin qiymətlərini göstərin

(K → M) ∨ (L ∧ K) ∨ ¬N

yalan. Cavabınızı dörd simvoldan ibarət sətir kimi yazın: K, L, M və N dəyişənlərinin dəyərləri (bu ardıcıllıqla). Beləliklə, məsələn, 1101-ci sətir K=1, L=1, M=0, N=1 faktına uyğun gəlir.

Həll.

Məntiqi OR yalnız və yalnız hər iki ifadə yalan olduqda yanlışdır.

(K → M) = 0, (L ∧ K) ∨ ¬N = 0.

Birinci ifadə üçün implikasiya çevrilməsini tətbiq edək:

¬K ∨ M = 0 => K = 1, M = 0.

İkinci ifadəni nəzərdən keçirin:

(L ∧ K) ∨ ¬N = 0 (birinci ifadənin nəticəsinə bax) => L ∨ ¬N = 0 => L = 0, N = 1.

Cavab: 1001.

Cavab: 1001

Məntiqi ifadənin olduğu K, L, M, N dəyişənlərinin qiymətlərini göstərin

(K → M) ∧ (K → ¬M) ∧ (¬K → (M ∧ ¬L ∧ N))

doğru. Cavabınızı dörd simvoldan ibarət sətir kimi yazın: K, L, M və N dəyişənlərinin dəyərləri (bu ardıcıllıqla). Beləliklə, məsələn, 1101-ci sətir K=1, L=1, M=0, N=1 faktına uyğun gəlir.

Həll.

Məntiqi "AND" yalnız və yalnız hər iki ifadə doğru olduqda doğrudur.

1) (K → M) = 1 Təsir çevrilməsini tətbiq edin: ¬K ∨ M = 1

2) (K → ¬M) = 1 Təsir çevrilməsini tətbiq edin: ¬K ∨ ¬M = 1

Buradan belə çıxır ki, K = 0.

3) (¬K → (M ∧ ¬L ∧ N)) = 1 Təsir çevrilməsini tətbiq edək: K ∨ (M ∧ ¬L ∧ N) = 1 K = 0 olması faktından əldə edirik.