Metode de rezolvare a ecuațiilor logice. Rezolvarea ecuațiilor logice în matematică

Utilizarea ecuațiilor este larg răspândită în viața noastră. Ele sunt folosite în multe calcule, construcție de structuri și chiar sport. Ecuațiile au fost folosite de om din cele mai vechi timpuri și de atunci utilizarea lor a crescut. În matematică, există anumite sarcini care sunt dedicate logicii propozițiilor. Pentru a rezolva acest tip de ecuație, trebuie să aveți o anumită cunoștințe: cunoașterea legilor logicii propoziționale, cunoașterea tabelelor de adevăr ale funcțiilor logice a 1 sau 2 variabile, metode de transformare a expresiilor logice. În plus, trebuie să cunoașteți următoarele proprietăți ale operațiilor logice: conjuncții, disjuncții, inversiuni, implicații și echivalențe.

Orice funcție logică din \ variabile - \ poate fi specificată printr-un tabel de adevăr.

Să rezolvăm câteva ecuații logice:

\[\rightharpoondown X1\vee X2=1 \]

\[\rightharpoondown X2\vee X3=1\]

\[\rightharpoondown X3\vee X4=1 \]

\[\rightharpoondown X9\vee X10=1\]

Să începem soluția cu \[X1\] și să stabilim ce valori poate lua această variabilă: 0 și 1. Apoi, luați în considerare fiecare dintre valorile de mai sus \u200b\u200și vedeți ce \[X2.\] poate fi in acest caz

După cum se poate vedea din tabel, ecuația noastră logică are 11 soluții.

Unde pot rezolva o ecuație logică online?

Puteți rezolva ecuația pe site-ul nostru https: // site-ul. Gratuit rezolvator online vă va permite să rezolvați o ecuație online de orice complexitate în câteva secunde. Tot ce trebuie să faci este să introduci datele în solutor. De asemenea, puteți viziona instrucțiunile video și puteți afla cum să rezolvați ecuația pe site-ul nostru. Și dacă aveți întrebări, le puteți adresa în grupul nostru Vkontakte http://vk.com/pocketteacher. Alăturați-vă grupului nostru, suntem întotdeauna bucuroși să vă ajutăm.

Fie o funcție logică a n variabile. Ecuația logică este:

Constanta C are valoarea 1 sau 0.

Ecuația logică poate avea de la 0 la diverse solutii. Dacă C este egal cu 1, atunci soluțiile sunt toate acele seturi de variabile din tabelul de adevăr pe care funcția F ia valoarea adevărată (1). Mulțimile rămase sunt soluții ale ecuației pentru C egale cu zero. Putem considera întotdeauna doar ecuații de forma:

Într-adevăr, să fie dată ecuația:

În acest caz, puteți merge la ecuația echivalentă:

Să considerăm un sistem de k ecuații logice:

Soluția sistemului este un set de variabile pe care toate ecuațiile sistemului sunt satisfăcute. În ceea ce privește funcțiile logice, pentru a obține o soluție a sistemului de ecuații logice, ar trebui să găsim o mulțime pe care funcția logică Ф este adevărată, reprezentând conjuncția funcțiilor originale:

Dacă numărul de variabile este mic, de exemplu, mai mic de 5, atunci nu este dificil să construiți un tabel de adevăr pentru funcția , care vă permite să spuneți câte soluții are sistemul și care sunt mulțimile care dau soluții.

În unele sarcini ale Examenului de stat unificat privind găsirea de soluții la un sistem de ecuații logice, numărul de variabile ajunge la valoarea de 10. Apoi construirea unui tabel de adevăr devine o sarcină aproape de nerezolvat. Rezolvarea problemei necesită o abordare diferită. Pentru un sistem arbitrar de ecuații, nu există mod general, care este diferit de enumerare, care permite rezolvarea unor astfel de probleme.

În problemele propuse în examen, soluția se bazează de obicei pe luarea în considerare a specificului sistemului de ecuații. Repet, în afară de enumerarea tuturor variantelor unui set de variabile, nu există o modalitate generală de rezolvare a problemei. Soluția trebuie construită pe baza specificului sistemului. Este adesea util să se efectueze o simplificare preliminară a unui sistem de ecuații folosind legile logice cunoscute. O altă tehnică utilă pentru rezolvarea acestei probleme este următoarea. Nu ne interesează toate mulțimile, ci doar acelea pe care funcția are valoarea 1. În loc să construim un tabel de adevăr complet, vom construi analogul său - un arbore de decizie binar. Fiecare ramură a acestui arbore corespunde unei soluții și specifică mulțimea pe care funcția are valoarea 1. Numărul de ramuri din arborele de decizie coincide cu numărul de soluții ale sistemului de ecuații.

Ce este un arbore de decizie binar și cum este construit, voi explica cu exemple de mai multe sarcini.

Problema 18

Câte seturi diferite de valori ale variabilelor booleene x1, x2, x3, x4, x5, y1, y2, y3, y4, y5 există care satisfac un sistem de două ecuații?

Răspuns: Sistemul are 36 de soluții diferite.

Rezolvare: Sistemul de ecuații include două ecuații. Să găsim numărul de soluții pentru prima ecuație în funcție de 5 variabile - . Prima ecuație poate fi considerată la rândul său ca un sistem de 5 ecuații. După cum sa arătat, sistemul de ecuații reprezintă de fapt o conjuncție de funcții logice. Afirmația inversă este de asemenea adevărată - conjuncția condițiilor poate fi considerată ca un sistem de ecuații.

Să construim un arbore de decizie pentru implicația () - primul termen al conjuncției, care poate fi considerat ca prima ecuație. Iată cum arată imagine grafică acest copac


Arborele are două niveluri variabilele ecuației. Primul nivel descrie prima variabilă. Două ramuri ale acestui nivel reflectă valorile posibile ale acestei variabile - 1 și 0. La al doilea nivel, ramurile arborelui reflectă numai acele valori posibile ale variabilei pentru care ecuația ia valoarea adevărată. Deoarece ecuația definește o implicație, ramura pe care are valoarea 1 necesită ca pe acea ramură să aibă valoarea 1. Ramura pe care are valoarea 0 generează două ramuri cu valori egale cu 0 și 1. Arborele construit definește trei soluții, unde implicația ia valoarea 1. Pe fiecare ramură este scris setul corespunzător de valori ale variabilelor, care oferă o soluție ecuației.

Aceste seturi sunt: ​​((1, 1), (0, 1), (0, 0))

Să continuăm construirea arborelui de decizie adăugând următoarea ecuație, următoarea implicație. Specificul sistemului nostru de ecuații este că fiecare nouă ecuație a sistemului utilizează o variabilă din ecuația anterioară, adăugând o nouă variabilă. Deoarece variabila are deja valori în arbore, atunci pe toate ramurile în care variabila are valoarea 1, variabila va avea și valoarea 1. Pentru astfel de ramuri, construcția arborelui continuă la nivelul următor, dar nu apar ramuri noi. Singura ramură în care variabila are valoarea 0 va da o ramură în două ramuri, unde variabila va obține valorile 0 și 1. Astfel, fiecare adăugare a unei noi ecuații, având în vedere specificitatea ei, adaugă o soluție. Prima ecuație originală:

are 6 solutii. Iată cum arată arborele de decizie complet pentru această ecuație:


A doua ecuație a sistemului nostru este similară cu prima:

Singura diferență este că ecuația folosește variabile Y. Această ecuație are și 6 soluții. Deoarece fiecare soluție variabilă poate fi combinată cu fiecare soluție variabilă, atunci numărul total soluții este 36.

Rețineți că arborele de decizie construit oferă nu numai numărul de soluții (în funcție de numărul de ramuri), ci și soluțiile în sine, scrise pe fiecare ramură a arborelui.

Problema 19

Câte seturi diferite de valori ale variabilelor booleene x1, x2, x3, x4, x5, y1, y2, y3, y4, y5 există care îndeplinesc toate următoarele condiții?

Această sarcină este o modificare a sarcinii anterioare. Diferența este că se adaugă o altă ecuație care leagă variabilele X și Y.

Din ecuație rezultă că atunci când are valoarea 1 (există o astfel de soluție), atunci are valoarea 1. Astfel, există o mulțime pe care și are valorile 1. Când este egal cu 0, poate avea orice valoare, atât 0, cât și 1. Prin urmare, fiecare set cu egal cu 0 și există 5 astfel de mulțimi, corespunde tuturor celor 6 mulțimi cu variabile Y. Prin urmare, numărul total de soluții este 31.

Problema 20

Rezolvare: amintindu-ne echivalența de bază, scriem ecuația noastră ca:

Lanțul ciclic de implicații înseamnă că variabilele sunt identice, deci ecuația noastră este echivalentă cu:

Această ecuație are două soluții când toate sunt fie 1, fie 0.

Problema 21

Câte soluții are ecuația:

Rezolvare: La fel ca în problema 20, trecem de la implicații ciclice la identități prin rescrierea ecuației sub forma:

Să construim un arbore de decizie pentru această ecuație:


Problema 22

Câte soluții are următorul sistem de ecuații?

J ∧ ¬K ∧ L ∧ ¬M ∧ (N ∨ ¬N) = 0, unde J, K, L, M, N sunt variabile booleene?

Explicaţie.

Expresia (N ∨ ¬N) este adevărată pentru orice N, deci

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

Aplicați negația ambelor părți ale ecuației logice și folosiți legea lui De Morgan ¬ (A ∧ B) = ¬ A ∨ ¬ B. Obținem ¬J ∨ K ∨ ¬L ∨ M = 1.

Suma logică este egală cu 1 dacă cel puțin una dintre afirmațiile sale constitutive este egală cu 1. Prin urmare, orice combinație de variabile logice satisface ecuația rezultată, cu excepția cazului în care toate mărimile incluse în ecuație sunt egale cu 0. Fiecare dintre cele 4 variabile pot fi egale fie cu 1, fie cu 0, deci posibile combinații 2 2 2 2 = 16. Prin urmare, ecuația are 16 −1 = 15 soluții.

Rămâne de menționat că cele 15 soluții găsite corespund oricăreia dintre cele două valori posibile valorile variabilei logice N, deci ecuația originală are 30 de soluții.

Raspuns: 30

Câte soluții diferite are ecuația

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

unde J, K, L, M, N sunt variabile booleene?

Răspunsul nu trebuie să enumere toate seturile diferite de valori J, K, L, M și N pentru care este valabilă această egalitate. Ca răspuns, trebuie să indicați numărul de astfel de seturi.

Explicaţie.

Folosim formulele A → B = ¬A ∨ B și ¬(A ∨ B) = ¬A ∧ ¬B

Luați în considerare prima subformulă:

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

Luați în considerare a doua subformulă

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

Luați în considerare a treia subformulă

1) M → J = 1 deci

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

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

Combina:

¬K ∨ N ∧ L ∧ K ∨ ¬N ∨ ¬L = 0 ∨ L ∨ 0 ∨ ¬L = L ∨ ¬L = 1 deci 4 soluții.

(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

Combina:

K ∨ 1 ∨ ¬N ∨ ¬L ∧ ¬K = 1 ∨ ¬N ∨ ¬L deci există 4 soluții.

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.

Răspuns: 4 + 4 = 8.

Raspuns: 8

Câte soluții diferite are ecuația

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

unde K, L, M, N sunt variabile booleene? Răspunsul nu trebuie să enumere toate seturile diferite de valori K, L, M și N pentru care este valabilă această egalitate. Ca răspuns, trebuie să indicați numărul de astfel de seturi.

Explicaţie.

Să rescriem ecuația folosind o notație mai simplă pentru operații:

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

1) din tabelul de adevăr al operației de „implicație” (vezi prima problemă) rezultă că această egalitate este adevărată dacă și numai dacă simultan

K + L = 1 și L M N = 0

2) din prima ecuație rezultă că cel puțin una dintre variabile, K sau L, este egală cu 1 (sau ambele împreună); deci luați în considerare trei cazuri

3) dacă K = 1 și L = 0, atunci a doua egalitate este valabilă pentru orice M și N; deoarece există 4 combinații de două variabile booleene (00, 01, 10 și 11), avem 4 soluții diferite

4) dacă K = 1 și L = 1, atunci a doua egalitate este valabilă pentru M · N = 0; sunt 3 astfel de combinatii (00, 01 si 10), mai avem 3 solutii

5) dacă K = 0, atunci neapărat L = 1 (din prima ecuație); în acest caz, a doua egalitate este satisfăcută la М · N = 0; sunt 3 astfel de combinatii (00, 01 si 10), mai avem 3 solutii

6) în total obținem 4 + 3 + 3 = 10 soluții.

Raspuns: 10

Câte soluții diferite are ecuația

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

Explicaţie.

Expresia este adevărată în trei cazuri când (K ∧ L) și (M ∧ N) sunt 01, 11, respectiv 10.

1) "01" K ∧ L = 0; M ∧ N = 1, => M, N sunt 1, iar K și L sunt oricare, cu excepția ambelor 1. Prin urmare, 3 soluții.

2) "11" K ∧ L = 1; M ∧ N = 1. => 1 soluție.

3) "10" K ∧ L = 1; M ∧ N = 0. => 3 soluții.

Raspuns: 7.

Raspuns: 7

Câte soluții diferite are ecuația

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

unde X, Y, Z, P sunt variabile booleene? Răspunsul nu trebuie să enumere toate seturile diferite de valori pentru care este valabilă această egalitate. Ca răspuns, trebuie să furnizați doar numărul de astfel de seturi.

Explicaţie.

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

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

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

SAU logic este fals doar într-un caz: când ambele expresii sunt false.

Prin urmare,

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

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

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

Prin urmare, există o singură soluție a ecuației.

Raspunsul 1

Câte soluții diferite are ecuația

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

unde K, L, M, N sunt variabile booleene? Răspunsul nu trebuie să enumere toate seturile diferite de valori ale lui K, L, M și N pentru care este valabilă această egalitate. Ca răspuns, trebuie să furnizați doar numărul de astfel de seturi.

Explicaţie.

ȘI logic este adevărat doar într-un caz: când toate expresiile sunt adevărate.

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

Fiecare dintre ecuații oferă 3 soluții.

Luați în considerare ecuația A ∧ B = 1 dacă atât A cât și B iau valori adevărate în trei cazuri fiecare, atunci, în general, ecuația are 9 soluții.

Prin urmare, răspunsul este 9.

Raspuns: 9

Câte soluții diferite are ecuația

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

unde A, B, C, D sunt variabile booleene?

Răspunsul nu trebuie să enumere toate seturile diferite de valori A, B, C, D pentru care această egalitate este valabilă. Ca răspuns, trebuie să specificați numărul de astfel de seturi.

Explicaţie.

„SAU” logic este adevărat atunci când cel puțin una dintre afirmații este adevărată.

(D ∧ ¬D)= 0 pentru orice D.

Prin urmare,

(A → B)∧ C) = 1 => C = 1; A → B = 1 => ¬ A ∨ B = 1, ceea ce ne oferă 3 soluții pentru fiecare D.

(D ∧ ¬ D)=0 pentru orice D, ceea ce ne oferă două soluții (pentru D = 1, D = 0).

Prin urmare: soluții totale 2*3 = 6.

În total 6 soluții.

Raspuns: 6

Câte soluții diferite are ecuația

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

unde K, L, M, N sunt variabile booleene? Răspunsul nu trebuie să enumere toate seturile diferite de valori ale lui K, L, M și N pentru care este valabilă această egalitate. Ca răspuns, trebuie să furnizați doar numărul de astfel de seturi.

Explicaţie.

Aplicați negația ambelor părți ale ecuației:

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

SAU logic este adevărat în trei cazuri.

Opțiunea 1.

K ∧ L ∧ M = 1, apoi K, L, M = 1 și ¬L ∧ M ∧ N = 0. Orice N, adică 2 soluții.

Opțiunea 2.

¬L ∧ M ∧ N = 1, apoi N, M = 1; L = 0, K oricare, adică 2 soluții.

Prin urmare, răspunsul este 4.

Raspuns: 4

A, B și C sunt numere întregi pentru care afirmația este adevărată

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

Cu ce ​​este B egal dacă A = 45 și C = 43?

Explicaţie.

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

2) aceste afirmații simple sunt legate prin operația ∧ (ȘI, conjuncție), adică trebuie efectuate simultan;

3) din ¬(А = B)=1 rezultă imediat că А B;

4) să presupunem că A > B, atunci din a doua condiție obținem 1→(B > C)=1; această expresie poate fi adevărată dacă și numai dacă B > C = 1;

5) deci avem A > B > C, numai numarul 44 corespunde acestei conditii;

6) pentru orice eventualitate, verificați varianta A 0 →(B > C)=1;

această expresie este adevărată pentru orice B; acum ne uităm la a treia condiție, obținem

această expresie poate fi adevărată dacă și numai dacă C > B, și aici avem o contradicție, deoarece nu există un astfel de număr B pentru care C > B > A.

Raspuns: 44.

Raspuns: 44

Faceți un tabel de adevăr pentru o funcție logică

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

în care coloana valorilor argumentului A este notația binară a numărului 27, coloana valorilor argumentului B este numărul 77, coloana valorilor argumentului C este numărul 120. Numărul din coloană se scrie de sus în jos de la cea mai semnificativă cifră la cea mai puțin semnificativă (inclusiv setul zero). Convertiți reprezentarea binară rezultată a valorilor funcției X în sistemul numeric zecimal.

Explicaţie.

Scriem ecuația folosind o notație mai simplă pentru operații:

1) aceasta este o expresie cu trei variabile, deci vor exista linii în tabelul de adevăr; prin urmare, notația binară a numerelor prin care sunt construite coloanele tabelului A, B și C trebuie să fie formată din 8 cifre

2) vom traduce numerele 27, 77 și 120 în sistem binar, completând imediat intrarea la 8 caractere cu zerouri la începutul numerelor

3) este puțin probabil să puteți scrie imediat valorile funcției X pentru fiecare combinație, deci este convenabil să adăugați coloane suplimentare la tabel pentru a calcula rezultatele intermediare (vezi tabelul de mai jos)

X0
AÎNCU
0 0
0 1 1
0 0 1
1 0 1
1 1 1
0 1 0
1 0 0
1 1 0

4) completați coloanele tabelului:

AÎNCU 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

valoarea este 1 numai în acele linii în care A = B

valoarea este 1 în acele linii în care fie B, fie C = 1

valoarea este 0 numai în acele rânduri în care A = 1 și B + C = 0

valoarea este inversul coloanei precedente (0 este înlocuit cu 1 și 1 este înlocuit cu 0)

rezultatul X (ultima coloană) este suma logică a celor două coloane și

5) pentru a obține răspunsul, scriem biții din coloana X de sus în jos:

6) traduceți acest număr în sistemul zecimal:

Raspuns: 171

Care este cel mai mare număr întreg X pentru care afirmația (10 (X+1)·(X+2)) este adevărată?

Explicaţie.

O ecuație este o operație de implicare între două relații:

1) Desigur, aici puteți aplica aceeași metodă ca în exemplul 2208, dar în acest caz va trebui să rezolvați ecuații pătratice(Nu vreau…);

2) Rețineți că, prin condiție, ne interesează doar numerele întregi, așa că puteți încerca să transformați cumva expresia originală, obținând o declarație echivalentă (valorile exacte ale rădăcinilor nu ne interesează deloc!);

3) Luați în considerare inegalitatea: este evident că poate fi atât un număr pozitiv, cât și unul negativ;

4) Este ușor să verificați dacă afirmația este adevărată pentru toate numerele întregi din domeniu și pentru toate numerele întregi din domeniu (pentru a nu vă confunda, este mai convenabil să folosiți inegalități nestrictive și , în loc de și );

5) Prin urmare, pentru numere întregi, acesta poate fi înlocuit cu o expresie echivalentă

6) regiunea de adevăr a unei expresii este unirea a două intervale infinite;

7) Acum luați în considerare a doua inegalitate: este evident că poate fi și un număr pozitiv și negativ;

8) În regiune, afirmația este adevărată pentru toate numerele întregi, iar în regiune - pentru toate numerele întregi, prin urmare, pentru numerele întregi, poate fi înlocuită cu o expresie echivalentă

9) regiunea de adevăr a expresiei este un interval închis;

10) Expresia dată este adevărată peste tot, cu excepția zonelor în care și ;

11) Rețineți că valoarea nu se mai potrivește, deoarece acolo și , adică implicația dă 0;

12) Când înlocuiți 2, (10 (2+1) · (2+2)), sau 0 → 0 care satisface condiția.

Deci raspunsul este 2.

Raspuns: 2

Care este cel mai mare număr întreg X pentru care afirmația este adevărată?

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

Explicaţie.

Aplicați transformarea implicației și transformați expresia:

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

Un SAU logic este adevărat atunci când cel puțin o afirmație logică este adevărată. După ce am rezolvat ambele inegalități și ținând cont că vedem că cel mai mare număr întreg pentru care cel puțin unul dintre ele este adevărat este 7 (în figură, o soluție pozitivă a celei de-a doua inegalități este afișată cu galben, iar prima este cu albastru) .

Raspuns: 7

Precizați valorile variabilelor K, L, M, N, pentru care expresia logică

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

fals. Scrieți răspunsul ca șir de 4 caractere: valorile variabilelor K, L, M și N (în această ordine). Deci, de exemplu, linia 1101 corespunde cu K=1, L=1, M=0, N=1.

Explicaţie.

Se dublează sarcina 3584.

Raspuns: 1000

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

Explicaţie.

Să aplicăm transformarea implicației:

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

Aplicați negația ambelor părți ale ecuației:

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

Să transformăm:

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

Prin urmare, M = 0, N = 0, considerăm acum (¬K ∧ L ∨ M ∧ L):

faptul că M = 0, N = 0 implică că M ∧ L = 0, apoi ¬K ∧ L = 1, adică K = 0, L = 1.

Raspuns: 0100

Precizați valorile variabilelor K, L, M, N, pentru care expresia logică

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

fals. Scrieți răspunsul ca un șir de patru caractere: valorile variabilelor K, L, M și N (în această ordine). Deci, de exemplu, linia 1101 corespunde cu K=1, L=1, M=0, N=1.

Explicaţie.

Să scriem ecuația folosind o notație mai simplă a operațiilor (condiția „expresia este falsă” înseamnă că este egală cu zero logic):

1) rezultă din enunțul condiției că expresia trebuie să fie falsă pentru un singur set de variabile

2) din tabelul de adevăr al operației „implicație” rezultă că această expresie este falsă dacă și numai dacă simultan

3) prima egalitate (produsul logic este egal cu 1) este adevărată dacă și numai dacă și ; de aici rezultă (suma logică este egală cu zero), care poate fi numai când ; astfel, am definit deja trei variabile

4) din a doua condiție, , pentru și obținem .

Sarcină duplicată

Raspuns: 1000

Indicați valorile variabilelor logice P, Q, S, T, pentru care expresia logică

(P ∨ ¬Q) ∨ (Q → (S ∨ T)) este falsă.

Scrieți răspunsul ca un șir de patru caractere: valorile variabilelor P, Q, S, T (în această ordine).

Explicaţie.

(1) (Р ∨ ¬Q) = 0

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

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

(2) (Q → (S ∨ Т)) = 0 Aplicați transformarea implicației:

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

Raspuns: 0100

Precizați valorile variabilelor K, L, M, N, pentru care expresia logică

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

fals. Scrieți răspunsul ca un șir de patru caractere: valorile variabilelor K, L, M și N (în această ordine). Deci, de exemplu, linia 1101 corespunde cu K=1, L=1, M=0, N=1.

Explicaţie.

„SAU” logic este fals dacă și numai dacă ambele afirmații sunt false.

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

Să aplicăm transformarea implicației pentru prima expresie:

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

Luați în considerare a doua expresie:

(L ∧ K) ∨ ¬N = 0 (vezi rezultatul primei expresii) => L ∨ ¬N = 0 => L = 0, N = 1.

Răspuns: 1001.

Răspuns: 1001

Precizați valorile variabilelor K, L, M, N, pentru care expresia logică

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

Adevărat. Scrieți răspunsul ca un șir de patru caractere: valorile variabilelor K, L, M și N (în această ordine). Deci, de exemplu, linia 1101 corespunde cu K=1, L=1, M=0, N=1.

Explicaţie.

„ȘI” logic este adevărat dacă și numai dacă ambele afirmații sunt adevărate.

1) (K → M) = 1 Aplicați transformarea implicației: ¬K ∨ M = 1

2) (K → ¬M) = 1 Aplicați transformarea implicației: ¬K ∨ ¬M = 1

Aceasta înseamnă că K = 0.

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

M ∧ ¬L ∧ N = 1 => M = 1, L = 0, N = 1.

Raspuns: 0011

Se știe că pentru numerele întregi X, Y și Z afirmația este adevărată

(Z Cu ce ​​este Z egal dacă X=25 și Y=48?

Explicaţie.

Prin înlocuirea numerelor, obținem că Z = 47.

Rețineți că această afirmație complexă constă din trei simple.

1) (Z 2) aceste afirmații simple sunt legate prin operația ∧ (ȘI, conjuncție), adică trebuie efectuate simultan.

3) de la ¬(Z+1 24 și de la ¬(Z+1 47.

4) din (Z Z Răspuns: 47.

Raspuns: 47

A, B și C sunt numere întregi pentru care afirmația este adevărată:

(C Cu ce ​​este C egal dacă A=45 și B=18?

Explicaţie.

„ȘI” logic este adevărat dacă și numai dacă ambele afirmații sunt adevărate.

Înlocuiți valorile numerelor din expresia:

1) (C (C2) ¬(C+1, C ≥ 44.

3) ¬(C+1, C ≥ 17.

Din punctele 2) și 1) rezultă că C

Raspuns: 44

¬(A = B) ∧ ((B A)) ∧ ((A 2C))

Cu ce ​​este A egal dacă C = 8 și B = 18?.

Explicaţie.

„ȘI” logic este adevărat dacă și numai dacă ambele afirmații sunt adevărate.

1) ¬(A \u003d B) \u003d 1, adică A ≠ 18 \u003d 1.

2) ((B A)) Aplicați transformarea implicației: (18 > A) ∨ (16 > A) = 1

3) (A 2C) Aplicați transformarea implicației: (A > 18) ∨ (A > 16) = 1

Din 2) și 3) rezultă că (18 > A) și (A > 16), deoarece în caz contrar apare contradicția A = 17.

Raspuns: 17

A, B și C sunt numere întregi pentru care afirmația este adevărată

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

Cu ce ​​este B egal dacă A = 45 și C = 18?

Explicaţie.

„ȘI” logic este adevărat numai atunci când toate afirmațiile sunt adevărate.

Cum să rezolvi unele probleme din secțiunile A și B ale examenului de informatică

Lecția numărul 3. Logice. Funcții logice. Rezolvarea ecuațiilor

Un număr mare de sarcini USE sunt dedicate logicii propozițiilor. Pentru a rezolva majoritatea dintre ele, este suficient să cunoașteți legile de bază ale logicii propoziționale, cunoașterea tabelelor de adevăr ale funcțiilor logice ale unei și două variabile. Voi da legile de bază ale logicii propoziționale.

  1. Comutativitatea disjuncției și conjuncției:
    a ˅ b ≡ b ˅ a
    a^b ≡ b^a
  2. Legea distributivă privind disjuncția și conjuncția:
    a ˅ (b^c) ≡ (a ˅ b) ^(a ˅ c)
    a ^ (b ˅ c) ≡ (a ^ b) ˅ (a ^ c)
  3. Negație negativă:
    ¬(¬a) ≡ a
  4. Consecvență:
    a ^ ¬a ≡ fals
  5. Al treilea exclusiv:
    a ˅ ¬a ≡ adevărat
  6. Legile lui De Morgan:
    ¬(a ˅ b) ≡ ¬a ˄ ¬b
    ¬(a ˄ b) ≡ ¬a ˅ ¬b
  7. Simplificare:
    a ˄ a ≡ a
    a ˅ a ≡ a
    a ˄ adevărat ≡ a
    a ˄ fals ≡ fals
  8. Absorbţie:
    a ˄ (a ˅ b) ≡ a
    a ˅ (a ˄ b) ≡ a
  9. Înlocuirea implicației
    a → b ≡ ¬a ˅ b
  10. Schimbarea identității
    a ≡ b ≡(a ˄ b) ˅ (¬a ˄ ¬b)

Reprezentarea funcţiilor logice

Orice funcție logică a n variabile - F(x 1 , x 2 , ... x n) poate fi definită printr-un tabel de adevăr. Un astfel de tabel conține 2 n seturi de variabile, pentru fiecare dintre acestea fiind specificată valoarea funcției de pe acest set. Această metodă este bună atunci când numărul de variabile este relativ mic. Chiar și pentru n > 5, reprezentarea devine slab vizibilă.

O altă modalitate este de a defini funcția printr-o formulă, folosind funcții destul de simple cunoscute. Sistemul de funcții (f 1 , f 2 , … f k ) se numește complet dacă orice funcție logică poate fi exprimată printr-o formulă care conține numai funcții f i .

Sistemul de funcții (¬, ˄, ˅) este complet. Legile 9 și 10 sunt exemple ale modului în care implicația și identitatea sunt exprimate prin negație, conjuncție și disjuncție.

De fapt, sistemul a două funcții este de asemenea complet - negație și conjuncție sau negație și disjuncție. Reprezentările decurg din legile lui De Morgan care permit exprimarea unei conjuncții prin negație și disjuncție și, în consecință, exprimarea unei disjuncții prin negație și conjuncție:

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

Paradoxal, un sistem format dintr-o singură funcție este complet. Există două funcții binare - anticonjuncție și antidisjuncție, numite săgeata lui Pierce și lovitura lui Schaeffer, reprezentând un sistem gol.

Funcțiile de bază ale limbajelor de programare includ de obicei identitatea, negația, conjuncția și disjuncția. În sarcinile examenului, alături de aceste funcții, există adesea o implicație.

Să ne uităm la câteva sarcini simple legate de funcțiile logice.

Sarcina 15:

Este dat un fragment din tabelul de adevăr. Care dintre cele trei funcții date corespunde acestui fragment?

x1 x2 x3 x4 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)

Caracteristica numărul 3.

Pentru a rezolva problema, trebuie să cunoașteți tabelele de adevăr ale funcțiilor de bază și să aveți în vedere prioritățile operațiunilor. Permiteți-mi să vă reamintesc că conjuncția (înmulțirea logică) are o prioritate mai mare și se realizează înaintea disjuncției (adunarea logică). La calcul, este ușor de observat că funcțiile cu numerele 1 și 2 de pe al treilea set au valoarea 1 și din acest motiv nu corespund fragmentului.

Sarcina 16:

Care dintre următoarele numere îndeplinește condiția:

(cifrele, începând cu cifra cea mai semnificativă, merg în ordine descrescătoare) → (număr - par) ˄ (cifra cea mai mică - par) ˄ (cifra cea mai mare - impar)

Dacă există mai multe astfel de numere, indicați-l pe cel mai mare.

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

Condiția este îndeplinită de numărul 4.

Primele două numere nu îndeplinesc condiția pentru motivul că cea mai mică cifră este impară. O conjuncție de condiții este falsă dacă unul dintre termenii conjuncției este fals. Pentru al treilea număr, condiția pentru cea mai mare cifră nu este îndeplinită. Pentru al patrulea număr sunt îndeplinite condițiile impuse cifrelor minore și majore ale numărului. Primul termen al conjuncției este de asemenea adevărat, deoarece o implicație este adevărată dacă premisa ei este falsă, ceea ce este cazul în acest caz.

Problema 17: Doi martori au depus mărturie după cum urmează:

Primul martor: Dacă A este vinovat, atunci B este cu siguranță vinovat, iar C este nevinovat.

Al doilea martor: Doi sunt vinovați. Și unul dintre cei rămași este cu siguranță vinovat și vinovat, dar nu pot spune exact cine.

Ce concluzii despre vinovăția lui A, B și C pot fi trase din probe?

Răspuns: Din mărturie rezultă că A și B sunt vinovați, dar C este nevinovat.

Soluție: Desigur, răspunsul poate fi dat pe baza bun simț. Dar să vedem cum se poate face acest lucru în mod strict și formal.

Primul lucru de făcut este să oficializați declarațiile. Să introducem trei variabile booleene, A, B și C, fiecare dintre acestea fiind adevărată (1) dacă suspectul corespunzător este vinovat. Apoi, mărturia primului martor este dată prin formula:

A → (B ˄ ¬C)

Depozitia celui de-al doilea martor este data prin formula:

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

Se presupune că mărturiile ambilor martori sunt adevărate și reprezintă conjuncția formulelor corespunzătoare.

Să construim un tabel de adevăr pentru aceste lecturi:

A B C F1 F2 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

Probele sumare sunt adevărate într-un singur caz, ceea ce duce la un răspuns clar - A și B sunt vinovați, iar C este nevinovat.

De asemenea, din analiza acestui tabel rezultă că depoziţia celui de-al doilea martor este mai informativă. Din adevărul mărturiei sale, urmează doar două opțiuni posibile - A și B sunt vinovați și C este nevinovat, sau A și C sunt vinovați și B este nevinovat. Depoziția primului martor este mai puțin informativă - sunt 5 diverse opțiuni corespunzătoare mărturiei sale. Împreună, mărturiile ambilor martori dau un răspuns fără echivoc cu privire la vinovăția suspecților.

Ecuații logice și sisteme de ecuații

Fie F(x 1 , x 2 , …x n) o funcție logică a n variabile. Ecuația logică este:

F(x 1, x 2, ... x n) \u003d C,

Constanta C are valoarea 1 sau 0.

O ecuație logică poate avea de la 0 la 2n soluții diferite. Dacă C este egal cu 1, atunci soluțiile sunt toate acele seturi de variabile din tabelul de adevăr pe care funcția F ia valoarea adevărată (1). Mulțimile rămase sunt soluții ale ecuației pentru C egale cu zero. Putem considera întotdeauna doar ecuații de forma:

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

Într-adevăr, să fie dată ecuația:

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

În acest caz, puteți merge la ecuația echivalentă:

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

Considerăm un sistem de k ecuații logice:

F 1 (x 1, x 2, ... x n) \u003d 1

F 2 (x 1, x 2, ... x n) \u003d 1

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

Soluția sistemului este un set de variabile pe care toate ecuațiile sistemului sunt satisfăcute. În ceea ce privește funcțiile logice, pentru a obține o soluție a sistemului de ecuații logice, ar trebui să găsim o mulțime pe care funcția logică Ф este adevărată, reprezentând conjuncția funcțiilor originale F:

Ф = F 1 ˄ F 2 ˄ … F k

Dacă numărul de variabile este mic, de exemplu, mai mic de 5, atunci nu este dificil să construiți un tabel de adevăr pentru funcția Ф, care vă permite să spuneți câte soluții are sistemul și care sunt mulțimile care dau soluții.

În unele sarcini ale Examenului de stat unificat privind găsirea de soluții la un sistem de ecuații logice, numărul de variabile ajunge la valoarea de 10. Apoi construirea unui tabel de adevăr devine o sarcină aproape de nerezolvat. Rezolvarea problemei necesită o abordare diferită. Pentru un sistem arbitrar de ecuații, nu există o modalitate generală, în afară de enumerarea, care să permită rezolvarea unor astfel de probleme.

În problemele propuse în examen, soluția se bazează de obicei pe luarea în considerare a specificului sistemului de ecuații. Repet, în afară de enumerarea tuturor variantelor unui set de variabile, nu există o modalitate generală de rezolvare a problemei. Soluția trebuie construită pe baza specificului sistemului. Este adesea util să se efectueze o simplificare preliminară a unui sistem de ecuații folosind legile logice cunoscute. O altă tehnică utilă pentru rezolvarea acestei probleme este următoarea. Nu ne interesează toate mulțimile, ci doar acelea pe care funcția Ф are valoarea 1. În loc să construim un tabel de adevăr complet, vom construi analogul său - un arbore de decizie binar. Fiecare ramură a acestui arbore corespunde unei soluții și specifică o mulțime pe care funcția Ф are valoarea 1. Numărul de ramuri din arborele de decizie coincide cu numărul de soluții ale sistemului de ecuații.

Ce este un arbore de decizie binar și cum este construit, voi explica cu exemple de mai multe sarcini.

Problema 18

Câte seturi diferite de valori ale variabilelor booleene x1, x2, x3, x4, x5, y1, y2, y3, y4, y5 există care satisfac un sistem de două ecuații?

Răspuns: Sistemul are 36 de soluții diferite.

Rezolvare: Sistemul de ecuații include două ecuații. Să găsim numărul de soluții pentru prima ecuație, în funcție de 5 variabile – x 1 , x 2 , …x 5 . Prima ecuație poate fi considerată la rândul său ca un sistem de 5 ecuații. După cum sa arătat, sistemul de ecuații reprezintă de fapt o conjuncție de funcții logice. Afirmația inversă este de asemenea adevărată - conjuncția condițiilor poate fi considerată ca un sistem de ecuații.

Să construim un arbore de decizie pentru implicația (x1→ x2), primul termen al conjuncției, care poate fi considerată ca prima ecuație. Iată cum arată reprezentarea grafică a acestui arbore:

Arborele este format din două niveluri în funcție de numărul de variabile din ecuație. Primul nivel descrie prima variabilă X 1 . Două ramuri ale acestui nivel reflectă valorile posibile ale acestei variabile - 1 și 0. La al doilea nivel, ramurile arborelui reflectă numai acele valori posibile ale variabilei X 2 pentru care ecuația ia valoarea adevărată. Deoarece ecuația definește o implicație, ramura pe care X 1 are valoarea 1 necesită ca X 2 să aibă valoarea 1 pe acea ramură. Ramura pe care X 1 are valoarea 0 generează două ramuri cu valorile X 2 egale cu 0 și 1 Arborele construit specifică trei soluții, pe care implicația X 1 → X 2 ia valoarea 1. Pe fiecare ramură, se scrie setul corespunzător de valori ale variabilelor, care dă soluția ecuației.

Aceste seturi sunt: ​​((1, 1), (0, 1), (0, 0))

Să continuăm construirea arborelui de decizie adăugând următoarea ecuație, următoarea implicație X 2 → X 3 . Specificul sistemului nostru de ecuații este că fiecare nouă ecuație a sistemului utilizează o variabilă din ecuația anterioară, adăugând o nouă variabilă. Deoarece variabila X 2 are deja valori în arbore, atunci pe toate ramurile în care variabila X 2 are valoarea 1, variabila X 3 va avea și valoarea 1. Pentru astfel de ramuri, construcția arborelui continuă să nivelul următor, dar nu apar ramuri noi. Singura ramură în care variabila X 2 are valoarea 0 va da o ramură în două ramuri, unde variabila X 3 va obține valorile 0 și 1. Astfel, fiecare adăugare a unei noi ecuații, având în vedere specificul ei, adaugă câte una. soluţie. Prima ecuație originală:

(x1→x2) /\ (x2→x3) /\ (x3→x4) /\ (x4→x5) = 1
are 6 solutii. Iată cum arată arborele de decizie complet pentru această ecuație:

A doua ecuație a sistemului nostru este similară cu prima:

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

Singura diferență este că ecuația folosește variabile Y. Această ecuație are și 6 soluții. Deoarece fiecare soluție variabilă X i poate fi combinată cu fiecare soluție variabilă Y j , numărul total de soluții este 36.

Rețineți că arborele de decizie construit oferă nu numai numărul de soluții (în funcție de numărul de ramuri), ci și soluțiile în sine, scrise pe fiecare ramură a arborelui.

Problema 19

Câte seturi diferite de valori ale variabilelor booleene x1, x2, x3, x4, x5, y1, y2, y3, y4, y5 există care îndeplinesc toate următoarele condiții?

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

Această sarcină este o modificare a sarcinii anterioare. Diferența este că se adaugă o altă ecuație care leagă variabilele X și Y.

Din ecuația X 1 → Y 1 rezultă că atunci când X 1 are valoarea 1 (există o astfel de soluție), atunci Y 1 are valoarea 1. Astfel, există o mulțime pe care X 1 și Y 1 au valorile ​​1. Cu X 1 egal cu 0, Y 1 poate avea orice valoare, atât 0, cât și 1. Prin urmare, fiecare set cu X 1 egal cu 0 și există 5 astfel de mulțimi, corespunde tuturor celor 6 seturi cu variabile Y. Prin urmare , numărul total de soluții este 31 .

Problema 20

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

Rezolvare: amintindu-ne echivalența de bază, scriem ecuația noastră ca:

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

Lanțul ciclic de implicații înseamnă că variabilele sunt identice, deci ecuația noastră este echivalentă cu:

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

Această ecuație are două soluții când toți X i sunt fie 1, fie 0.

Problema 21

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

Rezolvare: La fel ca în problema 20, trecem de la implicații ciclice la identități prin rescrierea ecuației sub forma:

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

Să construim un arbore de decizie pentru această ecuație:

Problema 22

Câte soluții are următorul sistem de ecuații?

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

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

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

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

Raspuns: 64

Soluție: Să trecem de la 10 variabile la 5 variabile introducând următoarea modificare a variabilelor:

Y1 = (X1 ≡ X2); Y 2 \u003d (X 3 ≡ X 4); Y3 = (X5 = X6); Y 4 \u003d (X 7 ≡ X 8); Y 5 \u003d (X 9 ≡ X 10);

Atunci prima ecuație va lua forma:

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

Ecuația poate fi simplificată scriind-o astfel:

(Y 1 ≡ Y 2) = 0

A se intoarce catre forma traditionala, scriem sistemul după simplificări sub forma:

¬(Y 1 ≡ Y 2) = 1

¬(Y 2 ≡ Y 3) = 1

¬(Y 3 ≡ Y 4) = 1

¬(Y 4 ≡ Y 5) = 1

Arborele de decizie pentru acest sistem este simplu și constă din două ramuri cu valori variabile alternative:


Revenind la variabilele X originale, rețineți că fiecare valoare a variabilei Y corespunde cu 2 valori ale variabilelor X, astfel încât fiecare soluție din variabilele Y generează 2 5 soluții în variabilele X. Două ramuri generează 2 * 2 5 soluții , deci numărul total de soluții este 64.

După cum puteți vedea, fiecare sarcină pentru rezolvarea unui sistem de ecuații necesită propria sa abordare. Recepție generală este de a efectua transformări echivalente pentru a simplifica ecuațiile. O tehnică comună este construirea arborilor de decizie. Abordarea aplicată seamănă parțial cu construcția unui tabel de adevăr cu particularitatea că nu sunt construite toate seturile de valori posibile ale variabilelor, ci numai acelea pe care funcția ia valoarea 1 (adevărat). Adesea, în problemele propuse, nu este nevoie să construiți un arbore decizional complet, deoarece este deja în funcțiune stadiul inițial este posibil să se stabilească o regularitate în apariția unor noi ramuri la fiecare nivel următor, așa cum sa făcut, de exemplu, în problema 18.

În general, problemele pentru găsirea de soluții la un sistem de ecuații logice sunt exerciții matematice bune.

Dacă problema este dificil de rezolvat manual, atunci puteți încredința computerului soluția problemei prin scrierea unui program adecvat pentru rezolvarea ecuațiilor și sistemelor de ecuații.

Este ușor să scrii un astfel de program. Un astfel de program va face față cu ușurință tuturor sarcinilor oferite în cadrul examenului.

Destul de ciudat, dar sarcina de a găsi soluții la sistemele de ecuații logice este dificilă și pentru un computer, se dovedește că un computer are limitele sale. Un computer poate face față cu ușurință sarcinilor în care numărul de variabile este de 20-30, dar va începe să se gândească la sarcini mult timp dimensiune mai mare. Ideea este că funcția 2 n care specifică numărul de mulțimi este un exponent care crește rapid cu n. Atât de rapid încât un computer personal normal nu poate face față unei sarcini cu 40 de variabile într-o zi.

Program C# pentru rezolvarea ecuațiilor logice

Este util să scrieți un program pentru rezolvarea ecuațiilor logice din multe motive, fie și doar pentru că poate fi folosit pentru a verifica corectitudinea propriei soluții la problemele testului USE. Un alt motiv este că un astfel de program este un exemplu excelent de problemă de programare care îndeplinește cerințele pentru problemele de categoria C în USE.

Ideea de a construi un program este simplă - se bazează pe o enumerare completă a tuturor seturilor posibile de valori variabile. Deoarece numărul de variabile n este cunoscut pentru o anumită ecuație logică sau sistem de ecuații, se cunoaște și numărul de mulțimi - 2 n , care trebuie sortate. Folosind funcțiile de bază ale limbajului C# - negație, disjuncție, conjuncție și identitate, este ușor de scris un program care, pentru un anumit set de variabile, calculează valoarea unei funcții logice corespunzătoare unei ecuații logice sau unui sistem de ecuații.

Într-un astfel de program, trebuie să construiți un ciclu după numărul de seturi, în corpul ciclului, după numărul setului, să formați setul în sine, să calculați valoarea funcției pe acest set și dacă această valoare este egală la 1, atunci mulțimea oferă o soluție ecuației.

Singura dificultate care apare în implementarea programului este legată de sarcina de a forma setul de valori variabile în sine prin numărul setului. Frumusețea acestei sarcini este că această sarcină aparent dificilă, de fapt, se rezumă la o sarcină simplă care a apărut deja în mod repetat. Într-adevăr, este suficient să înțelegem că setul de valori ale variabilelor corespunzătoare numărului i, format din zerouri și unu, reprezintă reprezentarea binară a numărului i. Asa de sarcină dificilă obținerea unui set de valori ale variabilelor prin numărul mulțimii se reduce la binecunoscuta problemă a conversiei unui număr într-un sistem binar.

Așa arată funcția C# care ne rezolvă problema:

///

/// program de numărare a numărului de soluții

/// ecuație logică (sistem de ecuații)

///

///

/// funcție logică - metodă,

/// a cărui semnătură este stabilită de delegatul DF

///

/// numărul de variabile

/// număr de soluții

static int Rezolva ecuații (DF fun, int n)

bool set = new bool[n];

int m = (int)Math.Pow(2, n); //numar de seturi

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

//Enumerarea completă după numărul de seturi

pentru (int i = 0; i< m; i++)

//Formarea următorului set — set,

//date de reprezentarea binară a numărului i

pentru (int j = 0; j< n; j++)

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

//Calculează valoarea funcției pe set

Pentru a înțelege programul, sper că explicațiile despre ideea programului și comentariile din textul acestuia vor fi suficiente. Mă voi opri doar asupra explicației titlului funcției de mai sus. Funcția SolveEquations are doi parametri de intrare. Parametrul fun specifică o funcție logică corespunzătoare ecuației sau sistemului de ecuații care se rezolvă. Parametrul n specifică un număr variabilele funcţiei distracţie. Ca rezultat, funcția SolveEquations returnează numărul de soluții ale funcției logice, adică numărul de mulțimi pe care funcția evaluează ca adevărat.

Pentru școlari, se obișnuiește când pentru o anumită funcție F(x) parametrul de intrare x este o variabilă de tip aritmetic, șir sau boolean. În cazul nostru, se folosește un design mai puternic. Funcția SolveEquations se referă la funcții de ordin superior– funcții de tip F(f), ai căror parametri pot fi nu numai variabile simple, ci și funcții.

Clasa de funcții care poate fi transmisă ca parametru la funcția SolveEquations este definită după cum urmează:

delegat bool DF(bool vars);

Această clasă include toate funcțiile care sunt transmise ca parametru un set de valori ale variabilelor booleene specificate de matricea vars. Rezultatul este o valoare booleană reprezentând valoarea funcției din acest set.

În concluzie, voi oferi un program în care funcția SolveEquations este folosită pentru a rezolva mai multe sisteme de ecuații logice. Funcția SolveEquations face parte din următoarea clasă ProgramCommon:

clasa ProgramCommon

delegat bool DF(bool vars);

static void Main(string args)

Console.WriteLine("Funcție și soluții - " +

SolveEquations(FunAnd, 2));

Console.WriteLine("Funcția are 51 de soluții - " +

RezolvaEcuații(Fun51, 5));

Console.WriteLine("Funcția are 53 de soluții - " +

Rezolvare ecuații(Fun53, 10));

static bool FunAnd(bool vars)

returnează vars && vars;

static bool Fun51(bool vars)

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

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

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

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

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

static 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 == vars) || (vars == vars)));

Iată cum arată rezultatele soluției pentru acest program:

10 sarcini pentru muncă independentă

  1. Care dintre cele trei funcții sunt echivalente:
    1. (X → Y) ˅ ¬Y
    2. ¬(X ˅ ¬Y) ˄ (X → ¬Y)
    3. ¬X ˄ Y
  2. Este dat un fragment din tabelul de adevăr:
x1 x2 x3 x4 F
1 0 0 1 1
0 1 1 1 1
1 0 1 0 0

Care dintre cele trei funcții corespunde acestui fragment:

  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. Juriul este format din trei persoane. Decizia se ia în cazul în care președintele juriului o votează, susținut de cel puțin unul dintre membrii juriului. Altfel, nu se ia nicio decizie. Construiți o funcție logică care formalizează procesul de luare a deciziilor.
  5. X câștigă peste Y dacă patru aruncări de monede ies cu capul de trei ori. Definiți o funcție booleană care descrie profitul X.
  6. Cuvintele dintr-o propoziție sunt numerotate începând de la unu. O propoziție este considerată bine formată dacă sunt îndeplinite următoarele reguli:
    1. Dacă un cuvânt cu număr par se termină cu o vocală, atunci următorul cuvânt, dacă există, trebuie să înceapă cu o vocală.
    2. Dacă un cuvânt cu numere impar se termină cu o consoană, atunci următorul cuvânt, dacă există, trebuie să înceapă cu o consoană și să se termine cu o vocală.
      Care dintre următoarele propoziții sunt corecte:
    3. Mama a spălat-o pe Masha cu săpun.
    4. Liderul este întotdeauna un model.
    5. Adevărul este bun, dar fericirea este mai bună.
  7. Câte soluții are ecuația:
    (a ˄ ¬ b) ˅ (¬a ˄ b) → (c ˄ d) = 1
  8. Enumerați toate soluțiile ecuației:
    (a → b) → c = 0
  9. Câte soluții are următorul sistem de ecuații:
    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. Câte soluții are ecuația:
    ((((X 0 → X 1) → X 2) → X 3) → X 4) → X 5 = 1

Răspunsuri la sarcini:

  1. Funcțiile b și c sunt echivalente.
  2. Fragmentul corespunde funcției b.
  3. Fie ca variabila booleană P să ia valoarea 1 atunci când președintele juriului votează „pentru” decizia. Variabilele M 1 și M 2 reprezintă opinia membrilor juriului. Funcția booleană, prin care se precizează adoptarea unei hotărâri pozitive se poate scrie după cum urmează:
    P ˄ (M 1 ˅ M 2)
  4. Fie ca variabila booleană P i să ia valoarea 1 atunci când aruncarea i-a de monede apare cu capul. Funcția logică care definește câștigul X poate fi scrisă după cum urmează:
    ¬((¬P 1 ˄ (¬P 2 ˅ ¬P 3 ˅ ¬P 4)) ˅
    (¬P 2 ˄ (¬P 3 ˅ ¬P 4)) ˅
    (¬P 3 ˄ ¬P 4))
  5. Oferta b.
  6. Ecuația are 3 soluții: (a = 1; b = 1; c = 0); (a = 0; b = 0; c = 0); (a=0; b=1; c=0)

Noskin Andrei Nikolaevici,
profesor de IT
cea mai înaltă categorie de calificare,
Candidat la științe militare, conferențiar
Liceul GBOU №1575 Moscova

Metodă de cartografiere optimizată pentru rezolvarea problemei 23 din KIM USE în Informatică și TIC

Una dintre cele mai dificile sarcini din KIM USE este sarcina 23, în care trebuie să găsiți numărul de seturi diferite de valori ale variabilelor logice care îndeplinesc condiția specificată.
Această sarcină este poate cea mai dificilă sarcină a KIM USE în informatică și TIC. De regulă, nu mai mult de 5% dintre examinați îi fac față (1).
Un procent atât de mic de studenți care au finalizat această sarcină se explică prin următoarele:
- elevii pot confunda (uita) semnele operaţiilor logice;
- erori matematice în procesul de efectuare a calculelor;
- erori de raționament la căutarea unei soluții;
- erori în procesul de simplificare a expresiilor logice;
- profesorii recomandă rezolvarea acestei probleme după finalizarea tuturor lucrărilor, deoarece probabilitatea de a face o presupunere
erorile este foarte mare, iar „greutatea” sarcinii este doar un punctaj primar.
În plus, unor profesori înșiși le este greu să rezolve acest tip de probleme și, prin urmare, încearcă să rezolve probleme mai simple cu copiii.
Se complică și situația pe care o există în acest bloc un numar mare de varietate de sarcini și este imposibil să găsiți o soluție șablon.
Pentru a corecta această situație, comunitatea pedagogică finalizează principalele două metode de rezolvare a problemelor de acest tip: soluție șir de biți (2) și metoda de cartografiere (3).
Necesitatea de a rafina (optimiza) aceste metode se datorează faptului că sarcinile sunt în continuă schimbare atât ca structură, cât și ca număr de variabile (doar un tip de variabile X, două tipuri de variabile X și Y, trei tipuri: X, Y , Z).
Complexitatea stăpânirii acestor metode de rezolvare a problemelor este confirmată de faptul că pe site-ul K.Yu. Polyakov, există analize ale acestui tip de probleme în valoare de 38 de bucăți (4). În unele analize, se oferă mai mult de un tip de soluție de problemă.
În ultima vremeîn KIM USE în informatică există sarcini cu două tipuri de variabile X și Y.
Am optimizat metoda de afișare și sugerez studenților mei să folosească metoda îmbunătățită.
Aceasta dă un rezultat. Procentul studenților mei care termină această sarcină variază până la 43% dintre trecători. De regulă, în fiecare an de la 25 la 33 de persoane din toate clasele a XI-a trec examenul de informatică.
Înainte de apariția sarcinilor cu două tipuri metoda variabilei elevii au folosit display-ul cu mare succes, dar după apariția lui Y în expresia logică, am început să observ că răspunsurile copiilor nu mai coincid cu testele. S-a dovedit că nu au înțeles foarte clar cum să creeze un tabel de mapare cu un nou tip de variabilă. Apoi mi-a venit gândul că, pentru comoditate, este necesar să aducem întreaga expresie la un singur tip de variabilă, deoarece este convenabil pentru copii.
Permiteți-mi să descriu această metodă mai detaliat. Pentru comoditate, îl voi lua în considerare folosind exemplul unui sistem de expresii logice dat în (4).
Câte soluții diferite are sistemul de ecuații logice

(x 1 ^ y1)=(¬x 2 V ¬ y 2 )
(x2 ^ y2)= (¬ X 3 V ¬ y 3 )
...
(x5 ^ y 5) = (¬ X 6 V ¬ y 6 )

UndeX 1 , …, X 6 , y 1 , …, y 6 , - Variabile booleene? Răspunsul nu trebuie să enumere toate seturile diferite de valori variabile pentru care este valabilă această egalitate. Ca răspuns, trebuie să indicați numărul de astfel de seturi.
Soluţie:
1. Din analiza sistemului de ecuații logice, vedem că sunt 6 variabile Xși 6 variabile La. Deoarece oricare dintre aceste variabile poate lua doar două valori (0 și 1), vom înlocui aceste variabile cu 12 variabile de același tip, de exemplu Z.
2. Acum să rescriem sistemul cu variabile noi de același tip. Complexitatea sarcinii va consta în notarea atentă la schimbarea variabilelor.

(z1 ^ z2)= (¬z 3V¬ z 4 )
(z3 ^ z4)= (¬ z 5 V¬ z 6 )
...
(z9 ^ z 10) = (¬ z 11 V¬ z 12)


3. Să construim un tabel în care vom sorta toate opțiunile z 1 , z 2 , z 3 , z 4 , deoarece sunt patru variabile în prima ecuație logică, tabelul va avea 16 rânduri (16=2 4); eliminați astfel de valori din tabel z 4 , pentru care prima ecuație nu are soluție (numerele tăiate).
0 0 0 0
1
1 0
1
1 0 0
1
1 0
1
1 0 0 0
1
1 0
1
1 0 0
1
1 0
1

4. Analizând tabelul, construim o regulă pentru afișarea perechilor de variabile (de exemplu, o pereche Z 1 Z 2 =00 meciuri pereche Z 3 Z 4 = 11) .

5. Completați tabelul calculând numărul de perechi de variabile pentru care sistemul are o soluție.

6. Adună toate rezultatele: 9 + 9 + 9 + 27 = 54
7. Raspuns: 54.
Metoda optimizată de mai sus pentru rezolvarea problemei 23 din KIM USE a permis elevilor să-și recapete încrederea și să rezolve cu succes acest tip de problemă.

Literatură:

1. FIPI. Instrucțiuni pentru profesori, pregătit pe baza unei analize a greșelilor tipice ale participanților la USE 2015 în INFORMATICĂ și TIC. Mod de acces: http://www.fipi.ru/sites/default/files/document/1442163533/informatika_i_ikt.pdf

2. K.Yu. Polyakov, M.A. Roitberg.Sisteme de ecuații logice: soluție folosind șiruri de biți. Jurnal Informatică, Nr. 12, 2014, p. 4-12. Editura „Primul septembrie”, Moscova.
3. E.A. Mironchik, Metoda de afișare. Revistă Informatică, Nr. 10, 2013, p. 18-26. Editura „Primul septembrie”, Moscova.