Логик тэгшитгэлийн системийг шийдвэрлэх зураглалын арга. Логик

Тэгшитгэлийн хэрэглээ бидний амьдралд өргөн тархсан. Тэдгээрийг олон тооны тооцоолол, барилга байгууламж барих, тэр ч байтугай спортод ашигладаг. Эрт дээр үед хүн тэгшитгэлийг ашигладаг байсан бөгөөд түүнээс хойш тэдний хэрэглээ улам бүр нэмэгдсээр байна. Математикийн хувьд саналын логиктой холбоотой тодорхой асуудлууд байдаг. Энэ төрлийн тэгшитгэлийг шийдэхийн тулд та тодорхой хэмжээний мэдлэгтэй байх хэрэгтэй: саналын логикийн хуулиудын мэдлэг, 1 эсвэл 2 хувьсагчийн логик функцүүдийн үнэний хүснэгтүүдийн мэдлэг, логик илэрхийллийг хөрвүүлэх аргууд. Нэмж дурдахад та логик үйлдлүүдийн дараах шинж чанаруудыг мэдэх хэрэгтэй: коньюнкц, дизъюнкц, урвуу, импликация, эквивалент.

\variables - \-ийн аливаа логик функцийг үнэний хүснэгтээр тодорхойлж болно.

Хэд хэдэн логик тэгшитгэлийг шийдье:

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

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

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

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

Шийдвэрийг \[X1\]-ээр эхлүүлж, энэ хувьсагч ямар утгыг авч болохыг тодорхойлъё: 0 ба 1. Дараа нь дээрх утгууд тус бүрийг авч үзээд \[X2.\] гэж юу болохыг харна.

Хүснэгтээс харахад бидний логик тэгшитгэл 11 шийдэлтэй байна.

Логик тэгшитгэлийг онлайнаар хаанаас шийдэж болох вэ?

Та манай https://site сайтаас тэгшитгэлийг шийдэж болно. Үнэгүй онлайн шийдүүлэгч нь танд ямар ч төвөгтэй онлайн тэгшитгэлийг хэдхэн секундын дотор шийдэх боломжийг олгоно. Таны хийх ёстой зүйл бол зүгээр л шийдвэрлэгч рүү өгөгдлөө оруулах явдал юм. Та мөн видео зааварчилгааг үзэж, тэгшитгэлийг хэрхэн шийдвэрлэх талаар манай вэбсайтаас сурах боломжтой. Хэрэв танд асуулт байгаа бол манай ВКонтакте группээс http://vk.com/pocketteacher асууж болно. Манай группт нэгдээрэй, бид танд туслахдаа үргэлж баяртай байх болно.

Логик тэгшитгэлийн системийг шийдвэрлэх арга

Киргизова Е.В., Немкова А.Е.

Лесосибирскийн сурган хүмүүжүүлэх дээд сургууль -

ОХУ-ын Сибирийн Холбооны Их Сургуулийн салбар

Тогтвортой сэтгэх, үнэмшилтэй үндэслэл гаргах, таамаглал дэвшүүлэх, сөрөг дүгнэлтийг няцаах чадварыг логикийн шинжлэх ухаан өөрөө бий болгодоггүй; Логик бол бусад мэдэгдлийн үнэн эсвэл худал дээр үндэслэн зарим мэдэгдлийн үнэн эсвэл худал байдлыг тогтоох аргуудыг судалдаг шинжлэх ухаан юм.

Энэ шинжлэх ухааны үндсийг эзэмших нь логик асуудлыг шийдэхгүйгээр боломжгүй юм. Мэдлэгээ шинэ нөхцөл байдалд ашиглах чадварыг хөгжүүлэх туршилтыг дамжих замаар явуулдаг. Ялангуяа энэ бол логик асуудлыг шийдвэрлэх чадвар юм. Улсын нэгдсэн шалгалтын В15 даалгаврууд нь логик тэгшитгэлийн системийг агуулдаг тул нарийн төвөгтэй ажил юм. Логик тэгшитгэлийн системийг шийдэх янз бүрийн арга байдаг. Энэ нь нэг тэгшитгэл болгон бууруулах, үнэний хүснэгт байгуулах, задлах, тэгшитгэлийн дараалсан шийдэл гэх мэт.

Даалгавар:Логик тэгшитгэлийн системийг шийд:

Ингээд авч үзье нэг тэгшитгэл болгон бууруулах арга . Энэ арга нь логик тэгшитгэлийг баруун гар тал нь үнэний утгатай (өөрөөр хэлбэл 1) тэнцүү байхаар хувиргах явдал юм. Үүнийг хийхийн тулд логик үгүйсгэх үйлдлийг ашиглана. Дараа нь тэгшитгэлүүд нь нарийн төвөгтэй логик үйлдлүүдийг агуулж байвал бид тэдгээрийг үндсэн зүйлээр солино: "AND", "OR", "NOT". Дараагийн алхам бол "AND" логик үйлдлийг ашиглан тэгшитгэлүүдийг системтэй тэнцэх нэг болгон нэгтгэх явдал юм. Үүний дараа та логик алгебрийн хуулиуд дээр үндэслэн үүссэн тэгшитгэлийг хувиргаж, системийн тодорхой шийдлийг олж авах хэрэгтэй.

Шийдэл 1:Эхний тэгшитгэлийн хоёр талд урвуу хувилбарыг хэрэглэнэ.

"OR" болон "NOT" гэсэн үндсэн үйлдлүүдийн үр дагаврыг төсөөлье.

Тэгшитгэлийн зүүн тал нь 1-тэй тэнцүү тул бид тэдгээрийг "AND" үйлдлийг ашиглан анхны системтэй тэнцэх нэг тэгшитгэл болгон нэгтгэж болно.

Бид Де Морганы хуулийн дагуу эхний хаалтыг нээж, олж авсан үр дүнг хувиргана.

Үүссэн тэгшитгэл нь нэг шийдэлтэй байна: A= 0, B =0 ба C =1.

Дараагийн арга бол үнэний хүснэгт байгуулах . Логик хэмжигдэхүүн нь зөвхөн хоёр утгатай байдаг тул та бүх хувилбаруудыг үзэж, тэдгээрийн дундаас өгөгдсөн тэгшитгэлийн систем хангагдсаныг олох боломжтой. Өөрөөр хэлбэл, бид системийн бүх тэгшитгэлийн хувьд нэг нийтлэг үнэний хүснэгтийг байгуулж, шаардлагатай утгууд бүхий шугамыг олдог.

Шийдэл 2:Системийн үнэний хүснэгтийг байгуулъя:

0

0

1

1

0

1

Даалгаврын нөхцөл хангагдсан мөрийг тодоор тэмдэглэнэ. Тэгэхээр A =0, B =0, C =1.

Арга зам задрал . Гол санаа нь нэг хувьсагчийн утгыг засах (үүнийг 0 эсвэл 1-тэй тэнцүүлэх) бөгөөд ингэснээр тэгшитгэлийг хялбарчлах явдал юм. Дараа нь та хоёр дахь хувьсагчийн утгыг засах боломжтой, гэх мэт.

Шийдэл 3:Болъё A = 0, тэгвэл:

Эхний тэгшитгэлээс бид олж авдагБ =0, хоёр дахь нь - C=1. Системийн шийдэл: A = 0, B = 0, C = 1.

Та мөн аргыг ашиглаж болно тэгшитгэлийн дараалсан шийдэл , алхам бүр дээр авч үзэж буй олонлогт нэг хувьсагчийг нэмнэ. Үүнийг хийхийн тулд хувьсагчдыг цагаан толгойн үсгийн дарааллаар оруулахын тулд тэгшитгэлийг хувиргах шаардлагатай. Дараа нь бид шийдвэрийн модыг бий болгож, түүнд хувьсагчдыг дараалан нэмнэ.

Системийн эхний тэгшитгэл нь зөвхөн А ба В-ээс, хоёр дахь тэгшитгэл нь А ба С-ээс хамаарна. А хувьсагч нь 0 ба 1 гэсэн 2 утгыг авч болно:


Эхний тэгшитгэлээс энэ нь дараах байдалтай байна , тэгээд хэзээ A = 0, бид B = 0, A = 1-ийн хувьд B = 1 байна. Тиймээс эхний тэгшитгэл нь A ба B хувьсагчтай холбоотой хоёр шийдэлтэй байна.

Хоёрдахь тэгшитгэлийг дүрсэлж, сонголт бүрийн хувьд C-ийн утгыг тодорхойлно. A =1 үед далд утга нь худал байж болохгүй, өөрөөр хэлбэл модны хоёр дахь мөчир шийдэлгүй болно. At A= 0 Бид цорын ганц шийдлийг олж авдаг C= 1 :

Тиймээс бид системийн шийдлийг олж авсан: A = 0, B = 0 ба C = 1.

Компьютерийн шинжлэх ухааны улсын нэгдсэн шалгалтанд логик тэгшитгэлийн системийн шийдлүүдийн тоог тодорхойлох шаардлагатай байдаг бөгөөд үүний тулд тодорхой аргууд байдаг. Логик тэгшитгэлийн системийн шийдлийн тоог олох гол арга хувьсагчдыг орлуулах. Эхлээд логик алгебрийн хуулиудад үндэслэн тэгшитгэл бүрийг аль болох хялбарчилж, дараа нь тэгшитгэлийн нийлмэл хэсгүүдийг шинэ хувьсагчаар сольж, шинэ системийн шийдлүүдийн тоог тодорхойлох хэрэгтэй. Дараа нь орлуулалт руу буцаж очоод шийдлийн тоог тодорхойлно уу.

Даалгавар:Тэгшитгэл хэдэн шийдэлтэй вэ ( A → B ) + (C → D ) = 1? Энд A, B, C, D нь логик хувьсагч юм.

Шийдэл:Шинэ хувьсагчдыг танилцуулъя: X = A → B ба Y = C → D . Шинэ хувьсагчдыг харгалзан тэгшитгэлийг дараах байдлаар бичнэ. X + Y = 1.

Дизьюнкци нь (0;1), (1;0) ба (1;1) гурван тохиолдолд үнэн юм X ба Y гэдэг нь далд утгатай, өөрөөр хэлбэл гурван тохиолдолд үнэн, нэг тохиолдолд худал байна. Тиймээс (0;1) тохиолдол нь параметрийн гурван боломжит хослолтой тохирно. Тохиолдол (1;1) - анхны тэгшитгэлийн параметрүүдийн есөн боломжит хослолтой тохирно. Энэ тэгшитгэлийн нийт боломжит шийд 3+9=15 гэсэн үг.

Логик тэгшитгэлийн системийн шийдлүүдийн тоог тодорхойлох дараагийн арга бол хоёртын мод. Энэ аргыг жишээ ашиглан харцгаая.

Даалгавар:Логик тэгшитгэлийн систем хэдэн өөр шийдэлтэй вэ?

Өгөгдсөн тэгшитгэлийн систем нь тэгшитгэлтэй тэнцүү байна:

( x 1 x 2 )*( x 2 x 3 )*…*( х м -1 х м) = 1.

Ингэж бодъёx 1 - үнэн, тэгвэл эхний тэгшитгэлээс бид үүнийг олж авнаx 2 бас үнэн, хоёрдугаарт -x 3 =1 гэх мэт х м= 1. Тиймээс (1; 1; …; 1) олонлогм нэгж нь системийн шийдэл юм. Одоо больёx 1 =0, тэгвэл эхний тэгшитгэлээс бид байнаx 2 =0 эсвэл x 2 =1.

Хэзээ x 2 үнэн бол бид үлдсэн хувьсагчид нь үнэн, өөрөөр хэлбэл олонлог (0; 1; ...; 1) нь системийн шийдэл гэдгийг олж авна. Atx 2 =0 бид үүнийг ойлгодог x 3 =0 эсвэл x 3 = гэх мэт. Сүүлчийн хувьсагчийг үргэлжлүүлбэл тэгшитгэлийн шийдлүүд нь дараах хувьсагчдын багц болохыг олж мэдэв (м Уусмал бүрт +1 уусмалм хувьсах утгууд):

(1; 1; 1; …; 1)

(0; 1; 1; …; 1)

(0; 0; 0; …; 0)

Энэ аргыг хоёртын мод байгуулах замаар сайн тайлбарласан болно. Боломжит шийдлүүдийн тоо нь барьсан модны янз бүрийн салбаруудын тоо юм. Энэ нь тэнцүү гэдгийг харахад хялбар байдагм +1.

Хувьсагч

Мод

Шийдлийн тоо

x 1

x 2

x 3

Шийдвэрлэх, шийдвэрийн модыг бий болгоход бэрхшээлтэй байгаа тохиолдолд та үүнийг ашиглан шийдлийг хайж болно үнэний хүснэгтүүд, нэг эсвэл хоёр тэгшитгэлийн хувьд.

Тэгшитгэлийн системийг дараах хэлбэрээр дахин бичье.

Нэг тэгшитгэлийн хувьд үнэний хүснэгтийг тусад нь байгуулъя:

x 1

x 2

(x 1 → x 2)

Хоёр тэгшитгэлийн үнэний хүснэгтийг байгуулъя:

x 1

x 2

x 3

x 1 → x 2

x 2 → x 3

(x 1 → x 2) * (x 2 → x 3)

Дараа нь (0; 0), (0; 1), (1; 1) гэсэн гурван тохиолдолд нэг тэгшитгэл үнэн болохыг харж болно. Хоёр тэгшитгэлийн систем нь дөрвөн тохиолдолд (0; 0; 0), (0; 0; 1), (0; 1; 1), (1; 1; 1) үнэн байдаг. Энэ тохиолдолд зөвхөн тэг ба түүнээс дээш тооноос бүрдэх шийдэл байгаа нь шууд тодорхой болно мСүүлчийн байрлалаас эхлэн бүх боломжит газруудыг дүүргэх хүртэл нэг нэгжийг нэг удаа нэмж оруулах шийдлүүд. Ерөнхий шийдэл нь ижил хэлбэртэй байна гэж таамаглаж болох боловч ийм арга нь шийдэл болохын тулд таамаглал зөв болохыг нотлох шаардлагатай.

Дээр дурдсан бүх зүйлийг нэгтгэн дүгнэхийн тулд хэлэлцсэн бүх аргууд нь бүх нийтийнх биш гэдгийг би та бүхний анхаарлыг татахыг хүсч байна. Логик тэгшитгэлийн систем бүрийг шийдвэрлэхдээ түүний онцлогийг харгалзан үзэх шаардлагатай бөгөөд үүний үндсэн дээр шийдлийн аргыг сонгох хэрэгтэй.

Уран зохиол:

1. Логик асуудлууд / O.B. Богомолов - 2-р хэвлэл. – М.: БИНОМ. Мэдлэгийн лаборатори, 2006. – 271 х.: өвчтэй.

2. Поляков К.Ю. Логик тэгшитгэлийн системүүд / Информатикийн багш нарт зориулсан сургалт, арга зүйн сонин: Информатик 2011 оны №14.

Носкин Андрей Николаевич,
компьютерийн шинжлэх ухааны багш
хамгийн дээд мэргэшлийн ангилал,
Цэргийн шинжлэх ухааны нэр дэвшигч, дэд профессор
GBOU лицей №1575, Москва

Компьютерийн шинжлэх ухаан, МХХТ-ийн KIM улсын нэгдсэн шалгалтын 23-р асуудлыг шийдвэрлэх зураглалын оновчтой арга.

Улсын нэгдсэн шалгалтын KIM-ийн хамгийн хэцүү даалгавруудын нэг бол 23-р асуудал бөгөөд үүнд заасан нөхцөлийг хангасан логик хувьсагчийн өөр өөр багц утгуудын тоог олох хэрэгтэй.
Энэ даалгавар нь компьютерийн шинжлэх ухаан, мэдээллийн технологийн чиглэлээр KIM улсын нэгдсэн шалгалтын хамгийн хэцүү ажил байж магадгүй юм. Дүрмээр бол шалгуулагчдын 5-аас илүүгүй хувь нь үүнийг даван туулж чаддаг (1).
Энэ даалгаврыг гүйцэтгэсэн оюутнуудын ийм бага хувийг дараахь байдлаар тайлбарлав.
- оюутнууд логик үйлдлийн шинж тэмдгийг төөрөлдүүлж (мартаж) болно;
- тооцоолол хийх явцад гарсан математикийн алдаа;
- шийдлийг хайх явцад үндэслэл гаргахад алдаа гардаг;
- логик илэрхийллийг хялбарчлах явцад гарсан алдаа;
- Боломжтой тул бүх ажлыг дуусгасны дараа багш нар энэ асуудлыг шийдэхийг зөвлөж байна
Алдаа нь маш том бөгөөд даалгаврын "жин" нь зөвхөн нэг гол зүйл юм.
Нэмж дурдахад зарим багш нар өөрсдөө ийм төрлийн асуудлыг шийдвэрлэхэд бэрхшээлтэй тул хүүхдүүдтэй илүү энгийн асуудлыг шийдвэрлэхийг хичээдэг.
Нөхцөл байдлыг улам хүндрүүлдэг зүйл бол энэ блокт олон тооны өөр өөр даалгавар байдаг бөгөөд ямар ч загвар шийдлийг сонгох боломжгүй юм.
Энэ байдлыг засахын тулд сурган хүмүүжүүлэгчийн нийгэмлэг энэ төрлийн асуудлыг шийдвэрлэх үндсэн хоёр аргыг эцэслэн боловсруулж байна: битийн гинж (2) ба зураглалын арга (3) ашиглан шийдвэрлэх.
Эдгээр аргуудыг боловсронгуй болгох (оновчлох) хэрэгцээ нь даалгаврууд нь бүтэц болон хувьсагчдын тоо (зөвхөн нэг төрлийн X хувьсагч, хоёр төрлийн X, Y хувьсагч, гурван төрөл: X, Y) байнга өөрчлөгдөж байдагтай холбоотой юм. , Z).
Асуудлыг шийдвэрлэх эдгээр аргуудыг эзэмшихэд хүндрэлтэй байгаа нь К.Ю. Поляковын хувьд энэ төрлийн асуудлын 38 шинжилгээ байдаг (4). Зарим шинжилгээ нь асуудлыг шийдэх нэгээс олон төрлийн шийдлийг өгдөг.
Саяхан KIM-ийн компьютерийн шинжлэх ухааны улсын нэгдсэн шалгалтад X ба Y гэсэн хоёр төрлийн хувьсагчтай холбоотой асуудал гарсан.
Би харуулах аргыг оновчтой болгож, сайжруулсан аргыг ашиглахыг оюутнууддаа урамшуулсан.
Энэ нь үр дүнг өгдөг. Энэ даалгаврыг даван туулж буй оюутнуудын маань хувь тэнцсэн хүмүүсийн 43% хүртэл хэлбэлздэг. Дүрмээр бол жил бүр 11-р ангиас 25-33 хүн компьютерийн шинжлэх ухааны улсын нэгдсэн шалгалт өгдөг.
Хоёр төрлийн хувьсагчтай асуудлууд гарч ирэхээс өмнө оюутнууд зураглалын аргыг маш амжилттай ашигладаг байсан бол логик илэрхийлэлд Y гарч ирсний дараа хүүхдүүдийн хариулт тесттэй давхцахаа больсон гэдгийг би анзаарч эхлэв. Тэд шинэ төрлийн хувьсагчтай зураглалын хүснэгтийг хэрхэн үүсгэх талаар төдийлөн ойлгомжгүй байсан нь тогтоогдсон. Дараа нь хүүхдэд тохиромжтой байхын тулд илэрхийлэлийг бүхэлд нь нэг төрлийн хувьсагч болгон багасгах хэрэгтэй гэсэн бодол надад төрсөн.
Би энэ техникийг илүү дэлгэрэнгүй өгөх болно. Тохиромжтой болгох үүднээс би үүнийг (4)-д өгөгдсөн логик илэрхийллийн системийн жишээн дээр авч үзэх болно.
Логик тэгшитгэлийн систем хэдэн өөр шийдэлтэй вэ?

(x 1 ^ y 1)=(¬x 2 В ¬ y 2 )
(x 2 ^ y 2)= (¬ x 3 В ¬ y 3 )
...
(x 5 ^ y 5) = (¬ x 6 В ¬ y 6 )

Хаанаx 1 , …, x 6 , y 1 , …, y 6 , - логик хувьсагч? Хариулт нь энэ тэгш байдлыг хангах хувьсагчийн утгуудын бүх багцыг жагсаах шаардлагагүй. Хариулт нь та ийм багцын тоог зааж өгөх хэрэгтэй.
Шийдэл:
1. Логик тэгшитгэлийн системийн шинжилгээнээс 6 хувьсагч байгааг харж байна Xба 6 хувьсагч У. Эдгээр хувьсагчийн аль нэг нь зөвхөн хоёр утгыг (0 ба 1) авах боломжтой тул бид эдгээр хувьсагчдыг ижил төрлийн 12 хувьсагчаар солино, жишээ нь Z.
2. Одоо ижил төрлийн шинэ хувьсагчтай системийг дахин бичье. Даалгаврын хүндрэл нь хувьсагчдыг солихдоо анхааралтай тэмдэглэл хөтлөх явдал юм.

(z 1 ^ z 2)= (¬z 3В¬ z 4 )
(z 3 ^ z 4)= (¬ z 5 В¬ z 6 )
...
(z 9 ^ z 10) = (¬ z 11 В¬ z 12)


3. Бүх сонголтуудыг авч үзэх хүснэгтийг байгуулцгаая z 1 , z 2 , z 3 , z 4 , эхний логик тэгшитгэлд дөрвөн хувьсагч байгаа тул хүснэгт 16 мөртэй байна (16=2 4); хүснэгтээс ийм утгыг хас z 4 , эхний тэгшитгэлд шийдэл байхгүй (загалсан тоо).
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. Хүснэгтэд дүн шинжилгээ хийхдээ бид хос хувьсагчдыг (жишээлбэл, хос) харуулах дүрмийг бий болгодог. З 1 З 2 =00 таарч байнахос З 3 З 4 = 11) .

5. Системийн шийдэлтэй хувьсагчийн хосын тоог тооцоолж хүснэгтийг бөглөнө үү.

6. Бүх үр дүнг нэгтгэ: 9 + 9 + 9 + 27 = 54
7. Хариулт: 54.
Улсын нэгдсэн шалгалтын KIM-ийн 23-р асуудлыг шийдвэрлэх дээрх оновчтой аргачлал нь оюутнуудад өөртөө итгэх итгэлийг сэргээж, энэ төрлийн асуудлыг амжилттай шийдвэрлэх боломжийг олгосон.

Уран зохиол:

1. FIPI. 2015 оны МЭДЭЭЛЭЛ ШИНЖЛЭХ УХААН, МХХТ-ийн улсын нэгдсэн шалгалтанд оролцогчдын ердийн алдааны дүн шинжилгээнд үндэслэн бэлтгэсэн багш нарт зориулсан арга зүйн зөвлөмж. Хандалтын горим: http://www.fipi.ru/sites/default/files/document/1442163533/informatika_i_ikt.pdf

2. К.Ю. Поляков, М.А. Ройтберг.Логик тэгшитгэлийн системүүд: бит мөрүүдийг ашиглан шийдэл. Мэдээлэл зүйн сэтгүүл, No12, 2014, х. 4-12."9-р сарын 1" хэвлэлийн газар, Москва.
3. Э.А. Мирончик, Дэлгэцийн арга.Сэтгүүл Мэдээлэл зүй, No10, 2013, х. 18-26. "9-р сарын 1" хэвлэлийн газар, Москва.

Компьютерийн шинжлэх ухааны шалгалтын А, В хэсгийн зарим асуудлыг хэрхэн шийдвэрлэх талаар

Хичээл №3. Логик. Логик функцууд. Тэгшитгэл шийдвэрлэх

Улсын нэгдсэн шалгалтын олон тооны асуудал нь саналын логикт зориулагдсан болно. Тэдгээрийн ихэнхийг шийдвэрлэхийн тулд саналын логикийн үндсэн хуулиудыг, нэг ба хоёр хувьсагчийн логик функцүүдийн үнэний хүснэгтийн талаархи мэдлэгийг мэдэхэд хангалттай. Би саналын логикийн үндсэн хуулиудыг өгөх болно.

  1. Дизюнкц ба коньюнкцийн шилжих чадвар:
    a ˅ b ≡ b ˅ a
    a^b ≡ b^a
  2. Дизюнкц ба коньюнкцийн талаарх хуваарилалтын хууль:
    a ˅ (b^с) ≡ (a ˅ b) ^(a ˅ с)
    a ^ (b ˅ c) ≡ (a ^ b) ˅ (a ^ c)
  3. Үгүйсгэхийг үгүйсгэх:
    ¬(¬a) ≡ a
  4. Тохиромжтой байдал:
    a ^ ¬а ≡ худал
  5. Онцгой гурав дахь:
    a ˅ ¬а ≡ үнэн
  6. Де Морганы хуулиуд:
    ¬(a ˅ b) ≡ ¬a ˄ ¬b
    ¬(a ˄ b) ≡ ¬a ˅ ¬b
  7. Хялбарчлал:
    a ˄ a ≡ a
    a ˅ a ≡ a
    a ˄ үнэн ≡ a
    a ˄ худал ≡ худал
  8. Шингээлт:
    a ˄ (a ˅ b) ≡ a
    a ˅ (a ˄ b) ≡ a
  9. Далд утгыг солих
    a → b ≡ ¬a ˅ b
  10. Баримт бичгийг солих
    a ≡ b ≡(a ˄ b) ˅ (¬a ˄ ¬b)

Логик функцүүдийн төлөөлөл

n хувьсагчийн аливаа логик функц - F(x 1, x 2, ... x n)-ийг үнэний хүснэгтээр тодорхойлж болно. Ийм хүснэгтэд 2n олонлог хувьсагч агуулагддаг бөгөөд тус бүрд нь энэ олонлог дээрх функцийн утгыг зааж өгсөн болно. Хувьсагчийн тоо харьцангуй бага үед энэ арга сайн. Аль хэдийн n > 5-ын хувьд дүрслэл муу харагдах болно.

Өөр нэг арга бол мэдэгдэж буй нэлээн энгийн функцуудыг ашиглан ямар нэг томъёогоор функцийг тодорхойлох явдал юм. Аливаа логик функцийг зөвхөн f i функц агуулсан томьёогоор илэрхийлэх боломжтой бол функцүүдийн системийг (f 1, f 2, ... f k) бүрэн гэж нэрлэдэг.

Функцийн систем (¬, ˄, ˅) дууссан. 9 ба 10-р хууль нь үгүйсгэх, коньюнкц, салгах замаар далд утга, ижил төстэй байдлыг хэрхэн илэрхийлдгийг харуулсан жишээ юм.

Үнэн хэрэгтээ үгүйсгэх ба холбогч эсвэл үгүйсгэх ба салгах гэсэн хоёр функцээс бүрдсэн систем мөн бүрэн дүүрэн байдаг. Де Морганы хуулиас үгүйсгэх, салгах замаар холболтыг илэрхийлэх, үүний дагуу үгүйсгэх, салгах замаар салгах санааг илэрхийлэх санаануудыг дагаж мөрддөг.

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

Хачирхалтай нь, зөвхөн нэг функцээс бүрдэх систем бүрэн дүүрэн байдаг. Хоёр хоёртын функц байдаг - эсрэг холболт ба задралын эсрэг, Peirce сум ба Шефферийн харвалт гэж нэрлэгддэг, хөндий системийг төлөөлдөг.

Програмчлалын хэлний үндсэн функцууд нь ихэвчлэн таних, үгүйсгэх, холбох, салгах зэрэг орно. Улсын нэгдсэн шалгалтын асуудалд эдгээр чиг үүргүүдийн зэрэгцээ үр дагавар нь ихэвчлэн олддог.

Логик функцтэй холбоотой хэд хэдэн энгийн бодлогуудыг авч үзье.

Асуудал 15:

Үнэний хүснэгтийн фрагментийг өгөв. Өгөгдсөн гурван функцийн аль нь энэ фрагментэд тохирох вэ?

X 1 X 2 X 3 X 4 Ф
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)

Функцийн дугаар 3.

Асуудлыг шийдэхийн тулд та үндсэн функцүүдийн үнэний хүснэгтийг мэдэж, үйл ажиллагааны тэргүүлэх чиглэлийг санах хэрэгтэй. Холбогч (логик үржүүлэх) нь дизюнкцаас (логик нэмэх) илүү давуу эрхтэй бөгөөд эрт гүйцэтгэдэг гэдгийг сануулъя. Тооцооллын явцад гурав дахь багц дахь 1 ба 2 тоотой функцууд нь 1 утгатай бөгөөд энэ шалтгааны улмаас фрагменттэй тохирохгүй байгааг анзаарахад хялбар байдаг.

Асуудал 16:

Өгөгдсөн тоонуудын аль нь нөхцөлийг хангаж байна:

(хамгийн чухал цифрээс эхэлсэн цифрүүд буурах дарааллаар байна) → (тоо - тэгш) ˄ (бага орон - тэгш) ˄ (өндөр орон - сондгой)

Хэрэв хэд хэдэн ийм тоо байгаа бол хамгийн томыг нь зааж өгнө үү.

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

Нөхцөл 4-ийн тоогоор хангагдсан байна.

Эхний хоёр тоо нь хамгийн бага орон сондгой байх нөхцөлийг хангахгүй байна. Холболтын нөхцлийн аль нэг нь худал байвал нөхцлийн холбоо худал болно. Гурав дахь тооны хувьд хамгийн өндөр оронтой байх нөхцөл хангагдаагүй байна. Дөрөв дэх тооны хувьд тухайн тооны бага, өндөр оронтой тоонд тавигдах нөхцөлийг хангасан. Энд байгаа нөхцөл байдал нь худал бол далд утга нь үнэн тул холболтын эхний гишүүн нь бас үнэн юм.

Асуудал 17: Хоёр гэрч дараах мэдүүлэг өгсөн.

Нэгдүгээр гэрч: А буруутай бол Б нь бүр ч буруутай, С нь гэм буруугүй.

Хоёр дахь гэрч: Хоёр нь буруутай. Үлдсэн хүмүүсийн нэг нь гарцаагүй буруутай, буруутай, гэхдээ яг хэн гэдгийг хэлж чадахгүй байна.

Мэдүүлгээс А, Б, С нарын гэм буруугийн талаар ямар дүгнэлт хийж болох вэ?

Хариулт: Мэдүүлгээс харахад А, Б буруутай, С нь гэм буруугүй.

Шийдэл: Мэдээжийн хариултыг эрүүл ухаанд тулгуурлан хэлж болно. Гэхдээ үүнийг хэрхэн хатуу, албан ёсоор хийж болохыг харцгаая.

Хамгийн эхний хийх зүйл бол мэдэгдлийг албан ёсны болгох явдал юм. Хэрэв холбогдох сэжигтэн гэм буруутай бол үнэн (1) гэсэн утгатай A, B, C гэсэн гурван логик хувьсагчийг оруулъя. Дараа нь анхны гэрчийн мэдүүлгийг дараах томъёогоор өгнө.

A → (B ˄ ¬C)

Хоёр дахь гэрчийн мэдүүлгийг дараах томъёогоор өгнө.

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

Хоёр гэрчийн мэдүүлгийг үнэн гэж тооцож, харгалзах томъёоны холболтыг илэрхийлнэ.

Эдгээр уншилтын үнэний хүснэгтийг байгуулцгаая.

А Б 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

Товч нотлох баримт нь зөвхөн нэг тохиолдолд үнэн бөгөөд тодорхой хариулт өгөхөд хүргэдэг - А, Б буруутай, С нь гэм буруугүй.

Энэ хүснэгтийн дүн шинжилгээнээс харахад хоёр дахь гэрчийн мэдүүлэг илүү мэдээлэлтэй байна. Түүний мэдүүлгийн үнэнээс харахад А, Б гэм буруутай, С буруугүй, эсвэл А, С буруугүй, Б гэм буруугүй гэсэн хоёр л боломжит хувилбар гарч ирж байна. Эхний гэрчийн мэдүүлэг нь мэдээлэл багатай байдаг - түүний мэдүүлэгт тохирсон 5 өөр сонголт байдаг. Хоёр гэрчийн мэдүүлэг нийлээд сэжигтнүүдийн гэм буруугийн талаар тодорхой хариулт өгдөг.

Логик тэгшитгэл ба тэгшитгэлийн систем

F(x 1, x 2, …x n) нь n хувьсагчийн логик функц байг. Логик тэгшитгэл нь дараах байдлаар харагдаж байна.

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

Тогтмол С нь 1 эсвэл 0 утгатай байна.

Логик тэгшитгэл нь 0-ээс 2 n хүртэл өөр шийдэлтэй байж болно. Хэрэв C нь 1-тэй тэнцүү бол F функц үнэн (1) утгыг авдаг үнэний хүснэгтээс бүх хувьсагчдын багц шийдэл болно. Үлдсэн олонлогууд нь C нь тэгтэй тэнцүү тэгшитгэлийн шийдлүүд юм. Та үргэлж дараах хэлбэрийн тэгшитгэлийг авч үзэж болно.

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

Үнэн хэрэгтээ тэгшитгэлийг өгье:

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

Энэ тохиолдолд бид ижил тэгшитгэл рүү явж болно:

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

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

Системийн шийдэл нь системийн бүх тэгшитгэл хангагдсан хувьсагчдын багц юм. Логик функцүүдийн хувьд логик тэгшитгэлийн системийн шийдлийг олж авахын тулд анхны F функцүүдийн холболтыг төлөөлсөн Ф логик функц үнэн байх олонлогийг олох хэрэгтэй.

Ф = F 1 ˄ F 2 ˄ … F k

Хэрэв хувьсагчийн тоо бага, жишээлбэл, 5-аас бага бол Ф функцийн үнэний хүснэгтийг байгуулах нь тийм ч хэцүү биш бөгөөд энэ нь системд хэдэн шийдэлтэй, шийдлийг өгдөг олонлогуудыг хэлэх боломжийг олгодог.

Логик тэгшитгэлийн системийн шийдлийг олох зарим USE асуудалд хувьсагчийн тоо 10 хүрдэг. Дараа нь үнэний хүснэгт байгуулах нь бараг боломжгүй ажил болдог. Асуудлыг шийдэх нь өөр арга барилыг шаарддаг. Дурын тэгшитгэлийн системийн хувьд тоолохоос өөр ерөнхий арга байхгүй бөгөөд ийм асуудлыг шийдвэрлэх боломжтой.

Шалгалтанд санал болгож буй асуудлын шийдэл нь ихэвчлэн тэгшитгэлийн системийн онцлогийг харгалзан үздэг. Би давтан хэлье, олон тооны хувьсагчийн бүх сонголтыг туршиж үзэхээс гадна асуудлыг шийдэх ерөнхий арга байхгүй. Шийдэл нь системийн онцлогт тулгуурлан бүтээгдсэн байх ёстой. Мэдэгдэж буй логик хуулиудыг ашиглан тэгшитгэлийн системийг урьдчилан хялбарчлах нь ихэвчлэн ашигтай байдаг. Энэ асуудлыг шийдэх өөр нэг ашигтай арга бол дараах байдалтай байна. Бид бүх олонлогийг сонирхдоггүй, зөвхөн Ф функц нь 1 гэсэн утгатай байх болно. Бид бүрэн үнэний хүснэгтийг бүтээхийн оронд түүний аналог буюу хоёртын шийдвэрийн модыг бүтээх болно. Энэ модны мөчир бүр нь нэг шийдэлтэй тохирч, Ф функц 1 гэсэн утгатай олонлогийг зааж өгдөг. Шийдвэрлэх модны мөчрүүдийн тоо нь тэгшитгэлийн системийн шийдүүдийн тоотой давхцдаг.

Би хоёртын шийдвэрийн мод гэж юу болох, түүнийг хэрхэн бүтээх талаар хэд хэдэн асуудлын жишээн дээр тайлбарлах болно.

Асуудал 18

Хоёр тэгшитгэлийн системийг хангадаг x1, x2, x3, x4, x5, y1, y2, y3, y4, y5 логик хувьсагчдын утгын хэдэн өөр багц байдаг вэ?

Хариулт: Систем нь 36 өөр шийдэлтэй.

Шийдэл: Тэгшитгэлийн системд хоёр тэгшитгэл багтана. x 1, x 2, ...x 5 гэсэн 5 хувьсагчаас хамаарч эхний тэгшитгэлийн шийдийн тоог олъё. Эхний тэгшитгэлийг эргээд 5 тэгшитгэлийн систем гэж үзэж болно. Дээр дурдсанчлан тэгшитгэлийн систем нь логик функцүүдийн нэгдлийг илэрхийлдэг. Мөн эсрэгээр нь үнэн юм: нөхцлийн холболтыг тэгшитгэлийн систем гэж үзэж болно.

Анхны тэгшитгэл гэж үзэж болох холболтын эхний гишүүн (x1→ x2)-д зориулсан шийдвэрийн модыг байгуулъя. Энэ модны график дүрслэл дараах байдалтай байна.

Мод нь тэгшитгэл дэх хувьсагчдын тоогоор хоёр түвшнээс бүрдэнэ. Эхний түвшин нь эхний хувьсагч X 1-ийг тодорхойлдог. Энэ түвшний хоёр салбар нь энэ хувьсагчийн боломжит утгуудыг тусгадаг - 1 ба 0. Хоёр дахь түвшинд модны мөчрүүд нь зөвхөн тэгшитгэл үнэн болох X 2 хувьсагчийн боломжит утгуудыг тусгасан болно. Тэгшитгэл нь далд санааг зааж байгаа тул X 1 нь 1 утгатай салбар нь тухайн салбар дээр X 2 нь 1 утгатай байхыг шаарддаг. X 1 нь 0 утгатай салбар нь X 2 утгатай хоёр салбар үүсгэдэг. 0 ба 1-тэй тэнцүү Баригдсан мод нь гурван шийдлийг тодорхойлдог бөгөөд үүнд X 1 → X 2 утга нь 1 гэсэн утгыг авдаг. Салбар бүр дээр хувьсах утгуудын харгалзах багцыг бичиж, тэгшитгэлийн шийдийг өгдөг.

Эдгээр багцууд нь: ((1, 1), (0, 1), (0, 0))

Дараахь X 2 → X 3 гэсэн утгатай дараах тэгшитгэлийг нэмж шийдвэрийн модыг үргэлжлүүлэн байгуулъя. Манай тэгшитгэлийн системийн онцлог нь системийн шинэ тэгшитгэл болгонд өмнөх тэгшитгэлийн нэг хувьсагчийг ашиглаж, нэг шинэ хувьсагчийг нэмдэгт оршино. X 2 хувьсагч нь модонд аль хэдийн утгуудтай байдаг тул X 2 хувьсагч нь 1 утгатай бүх салбарууд дээр X 3 хувьсагч нь мөн 1 утгатай байх болно. Ийм салбаруудын хувьд модыг барих дараагийн түвшинд хүртэл үргэлжлэх боловч шинэ салбарууд гарч ирэхгүй байна. X 2 хувьсагч нь 0 утгатай ганц салбар нь X 3 хувьсагч 0 ба 1 утгыг хүлээн авах хоёр салбар болж салбарлана. Тиймээс шинэ тэгшитгэлийн нэмэлт болгонд өөрийн онцлогийг харгалзан нэг шийд нэмнэ. Анхны анхны тэгшитгэл:

(x1→x2) /\ (x2→x3) /\ (x3→x4) /\ (x4→x5) = 1
6 шийдэлтэй. Энэ тэгшитгэлийн бүрэн шийдвэрийн мод дараах байдалтай байна.

Манай системийн хоёр дахь тэгшитгэл нь эхнийхтэй төстэй:

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

Ганц ялгаа нь тэгшитгэл нь Y хувьсагчийг ашигладаг. X i хувьсагчдын шийд бүрийг Y j хувьсагчийн шийдэл бүртэй нэгтгэж болох тул нийт шийдлийн тоо 36 байна.

Баригдсан шийдвэрийн мод нь зөвхөн шийдлүүдийн тоог (салбарын тоогоор) төдийгүй модны мөчир тус бүр дээр бичсэн шийдлүүдийг өөрөө өгдөг гэдгийг анхаарна уу.

Асуудал 19

X1, x2, x3, x4, x5, y1, y2, y3, y4, y5 гэсэн логик хувьсагчдын утгын хэдэн өөр багц доор жагсаасан бүх нөхцлийг хангасан бэ?

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

Энэ даалгавар нь өмнөх даалгаврын өөрчлөлт юм. Үүний ялгаа нь X ба Y хувьсагчдыг холбосон өөр нэг тэгшитгэл нэмэгдсэнд оршино.

X 1 → Y 1 тэгшитгэлээс харахад X 1 нь 1 утгатай байхад (ийм нэг шийдэл байгаа) Y 1 нь мөн 1 утгатай байна. Тиймээс X 1 ба Y 1 нь утгыг агуулсан нэг олонлог байна. 1. X 1 нь 0-тэй тэнцүү бол Y 1 нь 0 ба 1 гэсэн ямар ч утгатай байж болно. Тиймээс X 1-тэй олонлог бүр 0-тэй тэнцүү бөгөөд ийм 5 олонлог байдаг нь Y хувьсагчтай бүх 6 олонлогтой тохирч байна. Тиймээс нийт шийдлийн тоо 31 байна.

Асуудал 20

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

Шийдэл: Үндсэн тэгшитгэлийг санаж, тэгшитгэлээ дараах байдлаар бичнэ.

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

Цикл нөлөөллийн гинжин хэлхээ нь хувьсагчид ижил байна гэсэн үг тул бидний тэгшитгэл нь тэгшитгэлтэй тэнцүү байна:

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

Бүх X i нь 1 эсвэл 0 байх үед энэ тэгшитгэл нь хоёр шийдэлтэй байна.

Асуудал 21

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

Шийдэл: 20-р асуудлын нэгэн адил бид мөчлөгийн үр дагавраас ижил төстэй байдал руу шилжиж, тэгшитгэлийг дараах хэлбэрээр дахин бичнэ.

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

Энэ тэгшитгэлийн шийдвэрийн модыг байгуулъя:

Асуудал 22

Дараах тэгшитгэлийн систем хэдэн шийдэлтэй вэ?

((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

Хариулт: 64

Шийдэл: Дараах хувьсагчийн өөрчлөлтийг оруулан 10 хувьсагчаас 5 хувьсагч руу шилжье.

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);

Дараа нь эхний тэгшитгэл нь дараах хэлбэртэй болно.

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

Тэгшитгэлийг дараах байдлаар бичих замаар хялбарчилж болно.

(Y 1 ≡ Y 2) = 0

Уламжлалт хэлбэр рүү шилжсэнээр бид системийг хялбаршуулсаны дараа дараах хэлбэрээр бичнэ.

¬(Y 1 ≡ Y 2) = 1

¬(Y 2 ≡ Y 3) = 1

¬(Y 3 ≡ Y 4) = 1

¬(Y 4 ≡ Y 5) = 1

Энэ системийн шийдвэрийн мод нь энгийн бөгөөд хувьсах утга бүхий хоёр салбараас бүрдэнэ.


Анхны X хувьсагчид руу буцахдаа Y хувьсагчийн утга тус бүрийн хувьд X хувьсагчийн 2 утга байгаа тул Y хувьсагчийн шийдэл бүр X хувьсагчид 2 5 шийдлийг үүсгэдэг болохыг анхаарна уу 5 шийдэлтэй тул нийт шийдлийн тоо 64 байна.

Таны харж байгаагаар тэгшитгэлийн системийг шийдвэрлэх асуудал бүр өөрийн гэсэн арга барилыг шаарддаг. Түгээмэл арга бол тэгшитгэлийг хялбарчлахын тулд эквивалент хувиргалт хийх явдал юм. Нийтлэг арга бол шийдвэрийн модыг барих явдал юм. Ашигласан арга нь хувьсагчийн боломжит утгуудын бүх багцыг бүтээгээгүй, зөвхөн функц 1 (үнэн) утгыг авдаг онцлогтой нь үнэний хүснэгтийг байгуулахыг хэсэгчлэн санагдуулдаг. Санал болгож буй асуудлуудад ихэнхдээ шийдвэрийн модыг бүрэн бүтээх шаардлагагүй байдаг, учир нь эхний шатанд, жишээлбэл, 18-р асуудалд хийсэн шиг дараагийн түвшин бүрт шинэ мөчрүүдийн харагдах хэв маягийг тогтоох боломжтой байдаг. .

Ерөнхийдөө логик тэгшитгэлийн системийн шийдлийг олохтой холбоотой асуудлууд нь математикийн сайн дасгалууд юм.

Хэрэв асуудлыг гараар шийдвэрлэхэд хэцүү бол тэгшитгэл, тэгшитгэлийн системийг шийдвэрлэх зохих програм бичиж компьютерт даатгаж болно.

Ийм программ бичих нь тийм ч хэцүү биш юм. Ийм хөтөлбөр нь улсын нэгдсэн шалгалтанд санал болгож буй бүх даалгаврыг амархан даван туулах болно.

Хачирхалтай нь, логик тэгшитгэлийн системийн шийдлийг олох ажил нь компьютерт хэцүү байдаг бөгөөд компьютерт өөрийн гэсэн хязгаар байдаг. Компьютер нь 20-30 хувьсагчийн тоотой асуудлуудыг амархан даван туулж чаддаг ч том хэмжээтэй асуудлуудыг удаан хугацаанд бодож эхэлдэг. Баримт нь олонлогийн тоог тодорхойлдог 2 n функц нь n нэмэгдэх тусам хурдацтай өсдөг экспоненциал юм. Өдөрт 40 хувьсагчтай даалгаврыг энгийн персонал компьютер даван туулах чадваргүй тийм хурдан байдаг.

Логик тэгшитгэлийг шийдвэрлэх C# хэл дээрх програм

Логик тэгшитгэлийг шийдвэрлэх програм бичих нь зөвхөн Улсын нэгдсэн шалгалтын тестийн асуудлыг өөрийн шийдлийн зөв эсэхийг шалгахад ашиглаж болох юм бол олон шалтгааны улмаас ашигтай байдаг. Өөр нэг шалтгаан нь ийм хөтөлбөр нь Улсын нэгдсэн шалгалтын С ангиллын даалгаварт тавигдах шаардлагыг хангасан програмчлалын даалгаврын маш сайн жишээ юм.

Хөтөлбөрийг бүтээх санаа нь энгийн бөгөөд энэ нь хувьсах утгын бүх боломжит багцыг бүрэн хайхад суурилдаг. Өгөгдсөн логик тэгшитгэл эсвэл тэгшитгэлийн системийн хувьд n хувьсагчийн тоо мэдэгдэж байгаа тул олонлогийн тоо бас мэдэгдэж байна - 2 n тэдгээрийг эрэмбэлэх шаардлагатай. C# хэлний үндсэн функцууд болох үгүйсгэх, салгах, коньюнкц ба ижил төстэй байдлыг ашиглан өгөгдсөн хувьсагчдын багцад логик тэгшитгэл эсвэл тэгшитгэлийн системд тохирох логик функцийн утгыг тооцоолох програм бичих нь тийм ч хэцүү биш юм. .

Ийм программ дээр та олонлогийн тоонд тулгуурлан гогцоо бүтээх хэрэгтэй бөгөөд давталтын биед багцын дугаарыг ашиглан олонлогийг өөрөө бүрдүүлж, энэ олонлог дээрх функцийн утгыг тооцоолох, хэрэв энэ нь утга нь 1 бол олонлог нь тэгшитгэлийн шийдийг өгнө.

Хөтөлбөрийг хэрэгжүүлэхэд тулгардаг цорын ганц бэрхшээл нь тогтоосон тоон дээр үндэслэн хувьсах утгуудын багцыг өөрөө бий болгох ажилтай холбоотой юм. Энэ асуудлын гоо үзэсгэлэн нь энэ хэцүү мэт санагдах ажил нь үнэндээ олон удаа үүссэн энгийн асуудал дээр ирдэг. Үнэн хэрэгтээ тэг ба нэгээс бүрдэх i тоотой харгалзах хувьсах утгуудын багц нь i тооны хоёртын дүрслэлийг төлөөлдөг гэдгийг ойлгоход хангалттай. Тиймээс багц тоогоор хувьсах утгуудын багцыг олж авах нарийн төвөгтэй ажил нь тоог хоёртын тоо руу хөрвүүлэх танил даалгавар болж буурдаг.

Бидний асуудлыг шийдэж буй C# хэл дээрх функц иймэрхүү харагдаж байна:

///

/// шийдлийн тоог тоолох програм

/// логик тэгшитгэл (тэгшитгэлийн систем)

///

///

/// логик функц - арга,

/// түүний гарын үсгийг ХС-ийн төлөөлөгч тодорхойлсон

///

/// хувьсагчийн тоо

/// шийдлийн тоо

static int SolveEquations(DF хөгжилтэй, int n)

bool set = new bool[n];

int m = (int)Math.Pow(2, n); // багцын тоо

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

//Багцын тоогоор хайлтыг гүйцээнэ

хувьд (int i = 0; i< m; i++)

//Дараагийн багцыг бүрдүүлэх - багц,

//i тооны хоёртын дүрслэлээр тодорхойлогддог

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

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

//Олонлог дээрх функцын утгыг тооцоол

Хөтөлбөрийг ойлгохын тулд хөтөлбөрийн санааны тайлбар, текст дэх тайлбар нь хангалттай байх гэж найдаж байна. Би зөвхөн өгөгдсөн функцийн гарчгийг тайлбарлахад анхаарлаа хандуулах болно. SolveEquations функц нь хоёр оролтын параметртэй. Хөгжилтэй параметр нь шийдэж буй тэгшитгэл эсвэл тэгшитгэлийн системд тохирох логик функцийг тодорхойлдог. n параметр нь хөгжилтэй хувьсагчдын тоог тодорхойлдог. Үүний үр дүнд SolveEquations функц нь логик функцийн шийдүүдийн тоог, өөрөөр хэлбэл функц үнэн гэж үнэлдэг олонлогуудын тоог буцаана.

Зарим F(x) функц нь арифметик, мөр эсвэл логик төрлийн хувьсагч x оролтын параметртэй байх нь сургуулийн сурагчдад түгээмэл байдаг. Манай тохиолдолд илүү хүчирхэг загварыг ашигладаг. SolveEquations функц нь параметрүүд нь зөвхөн энгийн хувьсагчаас гадна функц байж болох F(f) төрлийн функцуудыг хэлдэг.

SolveEquations функцэд параметр болгон дамжуулж болох функцүүдийн ангиллыг дараах байдлаар тодорхойлно.

delegate bool DF(bool vars);

Энэ анги нь vars массиваар тодорхойлсон логик хувьсагчийн утгуудын багцыг параметр болгон дамжуулсан бүх функцийг эзэмшдэг. Үр дүн нь энэ олонлог дээрх функцийн утгыг илэрхийлэх логик утга юм.

Эцэст нь, хэд хэдэн логик тэгшитгэлийн системийг шийдвэрлэхийн тулд SolveEquations функцийг ашигладаг програмыг энд оруулав. SolveEquations функц нь доорх ProgramCommon ангийн нэг хэсэг юм:

ангийн програм Нийтлэг

delegate bool DF(bool vars);

статик хүчингүй Үндсэн(string args)

Console.WriteLine("Ба функцууд - " +

Шийдэх тэгшитгэл(Зөөлөн ба, 2));

Console.WriteLine("Функц нь 51 шийдэлтэй - " +

Тэгшитгэлийг шийдвэрлэх(Зөөлөн51, 5));

Console.WriteLine("Функц нь 53 шийдэлтэй - " +

Шийдэх тэгшитгэл(Хөгжилтэй53, 10));

статик bool FunAnd(bool vars)

буцаах vars && vars;

статик bool Fun51(bool vars)

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

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

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

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

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

статик 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)));

Энэ програмын шийдлийн үр дүн дараах байдалтай байна.

Бие даасан ажилд зориулсан 10 даалгавар

  1. Гурван функцийн аль нь тэнцүү вэ:
    1. (X → Y) ˅ ¬Y
    2. ¬(X ˅ ¬Y) ˄ (X → ¬Y)
    3. ¬X ˄Y
  2. Үнэний хүснэгтийн фрагментийг өгөв.
X 1 X 2 X 3 X 4 Ф
1 0 0 1 1
0 1 1 1 1
1 0 1 0 0

Энэ хэсэг нь гурван функцийн алинд нь тохирох вэ:

  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. Шүүгчдийн бүрэлдэхүүн гурван хүний ​​бүрэлдэхүүнтэй. Шүүгчийн гишүүдийн дор хаяж нэг нь дэмжсэн тангарагтны дарга санал өгсөн тохиолдолд шийдвэр гарна. Тэгэхгүй бол шийдвэр гарахгүй. Шийдвэр гаргах үйл явцыг албан ёсны болгох логик функцийг байгуул.
  5. Дөрвөн зоос шидэхэд гурван удаа толгой цохиход X нь Y-г хожно. X-ийн өгөөжийг тодорхойлсон логик функцийг тодорхойлно уу.
  6. Өгүүлбэр дэх үгсийг нэгээс эхлэн дугаарлана. Дараах дүрмийг хангасан тохиолдолд өгүүлбэрийг зөв зохиосон гэж үзнэ.
    1. Тэгш тоотой үг эгшгээр төгсдөг бол дараагийн үг байгаа бол эгшгээр эхлэх ёстой.
    2. Хэрэв сондгой тоотой үг гийгүүлэгчээр төгссөн бол дараагийн үг байгаа бол гийгүүлэгчээр эхэлж, эгшгээр төгсөх ёстой.
      Дараах өгүүлбэрүүдийн аль нь зөв зохиогдсон бэ?
    3. Ээж Машаг савангаар угаав.
    4. Удирдагч хүн үргэлж үлгэр жишээ байдаг.
    5. Үнэн сайхан ч аз жаргал илүү дээр.
  7. Тэгшитгэл хэдэн шийдэлтэй вэ:
    (a ˄ ¬ b) ˅ (¬a ˄ b) → (c ˄ d) = 1
  8. Тэгшитгэлийн бүх шийдлийг жагсаа:
    (a → b) → c = 0
  9. Дараахь тэгшитгэлийн систем хэдэн шийдэлтэй вэ?
    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. Тэгшитгэл хэдэн шийдэлтэй вэ:
    ((((X 0 → X 1) → X 2) → X 3) → X 4) → X 5 = 1

Асуудлын хариултууд:

  1. b ба c функцүүд нь тэнцүү байна.
  2. Фрагмент нь b функцтэй тохирч байна.
  3. Шүүгчдийн зөвлөлийн дарга шийдвэрт санал өгөхөд P логик хувьсагч 1-ийн утгыг ав. M 1 ба M 2 хувьсагч нь тангарагтны гишүүдийн санал бодлыг илэрхийлдэг. Эерэг шийдвэр гаргах логик функцийг дараах байдлаар бичиж болно.
    P ˄ (M 1 ˅ M 2)
  4. i-р зоос толгой дээр буухад P i логик хувьсагч 1 утгыг авъя. X өгөөжийг тодорхойлдог логик функцийг дараах байдлаар бичиж болно.
    ¬((¬P 1 ˄ (¬P 2 ¬ ¬P 3 ˅ ¬P 4)) ˅
    (¬P 2 ˄ (¬P 3 ˅ ¬P 4)) ˅
    (¬P 3 ˄ ¬P 4))
  5. Өгүүлбэр b.
  6. Тэгшитгэл нь 3 шийдэлтэй: (a = 1; b = 1; c = 0); (a = 0; b = 0; c = 0); (a = 0; b = 1; c = 0)

J ∧ ¬K ∧ L ∧ ¬M ∧ (N ∨ ¬N) = 0, энд J, K, L, M, N нь логик хувьсагч мөн үү?

Тайлбар.

(N ∨ ¬N) илэрхийлэл нь дурын N-ийн хувьд үнэн юм

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

Логик тэгшитгэлийн хоёр талд үгүйсгэхийг хэрэглэж, Де Морганы хуулийг ¬ (A ∧ B) = ¬ A ∨ ¬ B. Бид ¬J ∨ K ∨ ¬L ∨ M = 1 болно.

Логик нийлбэр нь 1-тэй тэнцүү байна. Хэрэв түүний бүрдүүлэгч мэдэгдлүүдийн дор хаяж нэг нь 1-тэй тэнцүү бол үүссэн тэгшитгэл нь тэгшитгэлд орсон бүх хэмжигдэхүүнүүд 0-тэй тэнцүү байхаас бусад тохиолдолд логик хувьсагчийн дурын хослолоор хангагдана. 4 хувьсагч нь 1 эсвэл 0-тэй тэнцүү байж болох тул бүх боломжит хослолууд нь 2·2·2·2 = 16. Тиймээс тэгшитгэл нь 16 −1 = 15 шийдтэй байна.

Олдсон 15 шийдэл нь N логик хувьсагчийн хоёр боломжит утгын аль нэгэнд тохирч байгаа тул анхны тэгшитгэл нь 30 шийдэлтэй байна.

Хариулт: 30

Тэгшитгэл хэдэн өөр шийдэлтэй вэ?

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

J, K, L, M, N нь логик хувьсагчууд вэ?

Хариулт нь J, K, L, M, N-ийн өөр өөр утгуудыг жагсаах шаардлагагүй. Хариулт нь та ийм багцын тоог зааж өгөх хэрэгтэй.

Тайлбар.

Бид A → B = ¬A ∨ B ба ¬(A ∨ B) = ¬A ∧ ¬B томъёог ашигладаг.

Эхний дэд томъёог авч үзье.

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

Хоёрдахь дэд томъёог авч үзье

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

Гурав дахь дэд томъёог авч үзье

1) M → J = 1 тиймээс,

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

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

Нэгтгэцгээе:

¬K ∨ N ∧ L ∧ K ∨ ¬N ∨ ¬L = 0 ∨ L ∨ 0 ∨ ¬L = L ∨ ¬L = 1 тул 4 шийдэл байна.

(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

Нэгтгэцгээе:

K ∨ 1 ∨ ¬N ∨ ¬L ∧ ¬K = 1 ∨ ¬N ∨ ¬L тул 4 шийдэл байна.

в) 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.

Хариулт: 4 + 4 = 8.

Хариулт: 8

Тэгшитгэл хэдэн өөр шийдэлтэй вэ?

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

Энд K, L, M, N логик хувьсагчууд вэ? Хариулт нь энэ тэгш байдлыг хангах K, L, M ба N утгын бүх багцыг жагсаах шаардлагагүй. Хариултын хувьд та ийм багцын тоог зааж өгөх хэрэгтэй.

Тайлбар.

Үйлдлийн энгийн тэмдэглэгээг ашиглан тэгшитгэлийг дахин бичье.

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

1) "далд" үйлдлийн үнэний хүснэгтээс (эхний асуудлыг үзнэ үү) энэ тэгш байдал нь зөвхөн нэгэн зэрэг үнэн болно гэсэн үг юм.

K + L = 1 ба L M N = 0

2) эхний тэгшитгэлээс K эсвэл L хувьсагчийн дор хаяж нэг нь 1-тэй тэнцүү байна (эсвэл хоёулаа хамтдаа); Тиймээс гурван тохиолдлыг авч үзье

3) хэрэв K = 1 ба L = 0 бол ямар ч M ба N-ийн хувьд хоёр дахь тэгшитгэл хангагдана; Хоёр Булийн хувьсагчийн 4 хослол (00, 01, 10, 11) байгаа тул бидэнд 4 өөр шийдэл байна.

4) хэрэв K = 1 ба L = 1 бол хоёр дахь тэгш байдал нь M · N = 0-д тохирно; Ийм 3 хослол байдаг (00, 01 ба 10), бидэнд өөр 3 шийдэл байна

5) хэрэв K = 0 бол L = 1 (эхний тэгшитгэлээс); энэ тохиолдолд M · N = 0 үед хоёр дахь тэгш байдал хангагдана; Ийм 3 хослол байдаг (00, 01 ба 10), бидэнд өөр 3 шийдэл байна

6) нийтдээ бид 4 + 3 + 3 = 10 шийдлийг авна.

Хариулт: 10

Тэгшитгэл хэдэн өөр шийдэлтэй вэ?

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

Тайлбар.

(K ∧ L) ба (M ∧ N) нь 01, 11, 10-тай тэнцүү байх гурван тохиолдолд илэрхийлэл үнэн байна.

1) "01" K ∧ L = 0; M ∧ N = 1, => M, N нь 1-тэй тэнцүү, K ба L нь нэгэн зэрэг 1-ээс бусад бүх зүйл. Тиймээс 3 шийдэл байна.

2) "11" K ∧ L = 1; M ∧ N = 1. => 1 уусмал.

3) "10" K ∧ L = 1; M ∧ N = 0. => 3 шийдэл.

Хариулт: 7.

Хариулт: 7

Тэгшитгэл хэдэн өөр шийдэлтэй вэ?

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

X, Y, Z, P нь логик хувьсагч вэ? Хариулт нь энэ тэгш байдлыг хангасан бүх үнэт зүйлсийн багцыг жагсаах шаардлагагүй. Хариулт нь та зөвхөн ийм багцын тоог зааж өгөх хэрэгтэй.

Тайлбар.

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

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

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

Логик OR нь зөвхөн нэг тохиолдолд худал болно: хоёр илэрхийлэл худал үед.

Тиймээс,

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

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

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

Тиймээс тэгшитгэлийн цорын ганц шийдэл байна.

Хариулт: 1

Тэгшитгэл хэдэн өөр шийдэлтэй вэ?

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

Энд K, L, M, N логик хувьсагчууд вэ? Хариулт нь энэ тэгш байдлыг хангах K, L, M, N утгын бүх багцыг жагсаах шаардлагагүй. Хариулт нь та зөвхөн ийм багцын тоог зааж өгөх хэрэгтэй.

Тайлбар.

Логик Мөн зөвхөн нэг тохиолдолд үнэн болно: бүх илэрхийлэл үнэн байх үед.

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

Тэгшитгэл бүр 3 шийдлийг өгдөг.

A ∧ B = 1 тэгшитгэлийг авч үзье, хэрэв A ба B хоёулаа тус бүр гурван тохиолдолд үнэн утгыг авдаг бол тэгшитгэл нь нийт 9 шийдэлтэй байна.

Тиймээс хариулт нь 9.

Хариулт: 9

Тэгшитгэл хэдэн өөр шийдэлтэй вэ?

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

Энд A, B, C, D нь логик хувьсагчууд вэ?

Хариулт нь энэ тэгш байдлыг хангасан A, B, C, D утгын бүх багцыг жагсаах шаардлагагүй. Хариулт нь та ийм багцын тоог зааж өгөх хэрэгтэй.

Тайлбар.

Логик "OR" нь хамгийн багадаа нэг нь үнэн байвал үнэн болно.

(D ∧ ¬D)= дурын D хувьд 0.

Тиймээс,

(A → B)∧ C) = 1 => C = 1; A → B = 1 => ¬ A ∨ B = 1 бөгөөд энэ нь D тус бүрийн 3 боломжит шийдлийг бидэнд өгдөг.

(D ∧ ¬ D)= 0 ямар ч D-ийн хувьд энэ нь бидэнд хоёр шийдлийг өгдөг (D = 1, D = 0).

Тиймээс: нийт шийдлүүд 2*3 = 6.

Нийт 6 шийдэл.

Хариулт: 6

Тэгшитгэл хэдэн өөр шийдэлтэй вэ?

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

Энд K, L, M, N логик хувьсагчууд вэ? Хариулт нь энэ тэгш байдлыг хангах K, L, M, N утгын бүх багцыг жагсаах шаардлагагүй. Хариулт нь та зөвхөн ийм багцын тоог зааж өгөх хэрэгтэй.

Тайлбар.

Тэгшитгэлийн хоёр талд үгүйсгэлийг хэрэглэцгээе.

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

Гурван тохиолдолд логик OR үнэн байна.

Сонголт 1.

K ∧ L ∧ M = 1, дараа нь K, L, M = 1, ¬L ∧ M ∧ N = 0. N нь дурын, өөрөөр хэлбэл 2 шийдэл.

Сонголт 2.

¬L ∧ M ∧ N = 1, дараа нь N, M = 1; L = 0, K ямар ч, өөрөөр хэлбэл 2 шийдэл.

Тиймээс хариулт нь 4.

Хариулт: 4

A, B, C нь мэдэгдэл үнэн байх бүхэл тоо юм

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

A = 45, C = 43 бол B нь хэдтэй тэнцүү вэ?

Тайлбар.

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

2) эдгээр энгийн мэдэгдлүүд нь ∧ (AND, холболт) үйлдлээр холбогдсон, өөрөөр хэлбэл тэдгээрийг нэгэн зэрэг гүйцэтгэх ёстой;

3) ¬(A = B)=1-ээс шууд A B гэж гарна;

4) A > B гэж бодъё, тэгвэл хоёр дахь нөхцлөөс бид 1→(B > C)=1 болно; B > C = 1 тохиолдолд энэ илэрхийлэл үнэн байж болно;

5) тиймээс бидэнд A > B > C байна, зөвхөн 44 тоо энэ нөхцөлтэй тохирч байна;

6) ямар ч тохиолдолд A 0 →(B > C)=1 сонголтыг шалгая;

энэ илэрхийлэл нь ямар ч B-д үнэн; Одоо бид гурав дахь нөхцөлийг хараад бид олж авлаа

Энэ илэрхийлэл нь зөвхөн C > B тохиолдолд л үнэн байж болох бөгөөд энд бид зөрчилтэй байна, учир нь C > B > A гэсэн B тоо байхгүй.

Хариулт: 44.

Хариулт: 44

Логик функцийн үнэний хүснэгтийг байгуул

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

Үүнд А аргументын утгын багана нь 27 тооны хоёртын дүрслэл, В аргументын утгын багана нь 77 тоо, С аргументын утгын багана нь 120 тоо байна. Тоо баганад хамгийн чухалаас хамгийн бага ач холбогдол бүхий (тэг багцыг оруулаад) дээрээс доошоо бичнэ. Үүссэн X функцийн утгуудын хоёртын дүрслэлийг аравтын тооллын системд хөрвүүлнэ.

Тайлбар.

Үйлдлийн энгийн тэмдэглэгээг ашиглан тэгшитгэлийг бичье.

1) энэ нь гурван хувьсагчтай илэрхийлэл тул үнэний хүснэгтэд мөрүүд байх болно; тиймээс хүснэгтийн A, B, C багануудыг байгуулахад ашигласан тоонуудын хоёртын дүрслэл нь 8 цифрээс бүрдэх ёстой.

2) 27, 77, 120 тоонуудыг хоёртын систем болгон хувиргаж, тоонуудын эхэнд 8 хүртэлх тооны тэгийг нэн даруй нэмнэ.

3) та хослол бүрийн хувьд X функцийн утгыг шууд бичих боломжгүй тул завсрын үр дүнг тооцоолохын тулд хүснэгтэд нэмэлт багана нэмэх нь тохиромжтой (доорх хүснэгтийг үзнэ үү)

X0
АINХАМТ
0 0
0 1 1
0 0 1
1 0 1
1 1 1
0 1 0
1 0 0
1 1 0

4) хүснэгтийн баганыг бөглөнө үү:

АINХАМТ 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

утга нь зөвхөн A = B гэсэн мөрөнд 1 байна

B эсвэл C = 1 гэсэн мөрөнд утга нь 1 байна

утга нь зөвхөн A = 1 ба B + C = 0 байгаа мөрөнд 0 байна

утга нь өмнөх баганын урвуу утгатай (0-ийг 1-ээр, 1-ийг 0-ээр сольсон)

X-ийн үр дүн (сүүлийн багана) нь хоёр баганын логик нийлбэр ба

5) хариултыг авахын тулд X баганаас дээрээс доош битүүдийг бичнэ үү.

6) энэ тоог аравтын бутархай систем рүү хөрвүүлнэ:

Хариулт: 171

(10 (X+1)·(X+2)) мэдэгдэл үнэн байх хамгийн том бүхэл X хэд вэ?

Тайлбар.

Тэгшитгэл нь хоёр харилцааны хоорондын хамаарлын үйлдэл юм:

1) Мэдээжийн хэрэг, энд та жишээ 2208-тай ижил аргыг хэрэглэж болно, гэхдээ та квадрат тэгшитгэлийг шийдэх хэрэгтэй болно (би хүсэхгүй байна ...);

2) Нөхцөлөөр бид зөвхөн бүхэл тоонуудыг сонирхож байгаа тул ижил утгатай мэдэгдлийг олж авснаар анхны илэрхийлэлийг ямар нэгэн байдлаар өөрчлөхийг оролдож болно гэдгийг анхаарна уу (бид язгуурын яг утгыг огт сонирхдоггүй!);

3) Тэгш бус байдлыг авч үзье: мэдээжийн хэрэг, энэ нь эерэг эсвэл сөрөг тоо байж болно;

4) Домэйн дэх мэдэгдэл нь бүх бүхэл тоонуудын хувьд үнэн эсэхийг шалгахад хялбар бөгөөд домэйнд - бүх бүхэл тоонуудын хувьд (андуурахгүйн тулд хатуу бус тэгш бус байдлыг ашиглах нь илүү тохиромжтой. ба );

5) Тиймээс бүхэл тоонуудын хувьд үүнийг эквивалент илэрхийллээр сольж болно

6) илэрхийллийн үнэний талбар нь хоёр хязгааргүй интервалын нэгдэл юм;

7) Одоо хоёр дахь тэгш бус байдлыг авч үзье: энэ нь эерэг эсвэл сөрөг тоо байж болох нь ойлгомжтой;

8) Бүс нутагт мэдэгдэл нь бүх бүхэл тоонд үнэн, бүс нутагт - бүх бүхэл тоонд үнэн байдаг тул бүхэл тоонуудын хувьд үүнийг тэнцүү илэрхийллээр сольж болно.

9) илэрхийллийн үнэний талбар нь хаалттай интервал юм;

10) Өгөгдсөн илэрхийлэл нь хаана болон ;

11) Утга нь тохирохгүй болсныг анхаарна уу, учир нь тэнд ба , өөрөөр хэлбэл 0-ийг өгдөг;

12) Нөхцөлийг хангасан 2, (10 (2+1) · (2+2)), эсвэл 0 → 0-ийг орлуулах үед.

Тэгэхээр хариулт нь 2.

Хариулт: 2

Энэ мэдэгдэл үнэн байх хамгийн том бүхэл X хэд вэ?

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

Тайлбар.

Дуудлагын хувиргалтыг хэрэглэж, илэрхийллийг хувиргацгаая:

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

Логик OR нь ядаж нэг логик хэллэг үнэн байвал үнэн байна. Тэгш бус байдлын аль алиныг нь шийдэж, тэдгээрийн дор хаяж нэг нь хангагдсан хамгийн том бүхэл тоо нь 7 байгааг харж байна (зураг дээр хоёр дахь тэгш бус байдлын эерэг шийдийг шараар, эхнийх нь цэнхэр өнгөөр ​​харуулсан).

Хариулт: 7

Логик илэрхийлэл болох K, L, M, N хувьсагчдын утгыг заана уу

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

худлаа. Хариултыг 4 тэмдэгтийн мөр болгон бичнэ үү: K, L, M, N хувьсагчдын утгууд (энэ дарааллаар). Жишээлбэл, 1101-р мөр нь K=1, L=1, M=0, N=1 гэсэн утгатай тохирч байна.

Тайлбар.

3584-р даалгаврыг давхардуулж байна.

Хариулт: 1000

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

Тайлбар.

Дуудлагын хувиргалтыг хэрэгжүүлье:

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

Тэгшитгэлийн хоёр талд үгүйсгэлийг хэрэглэцгээе.

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

Өөрчлүүлье:

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

Тиймээс, M = 0, N = 0, одоо (¬K ∧ L ∨ M ∧ L) авч үзье.

M = 0, N = 0 гэсэн баримтаас M ∧ L = 0, дараа нь ¬K ∧ L = 1, өөрөөр хэлбэл K = 0, L = 1 байна.

Хариулт: 0100

Логик илэрхийлэл болох K, L, M, N хувьсагчдын утгыг зааж өгнө үү

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

худлаа. Хариултаа дөрвөн тэмдэгтийн мөр болгон бичнэ үү: K, L, M, N хувьсагчдын утгууд (энэ дарааллаар). Жишээлбэл, 1101-р мөр нь K=1, L=1, M=0, N=1 гэсэн утгатай тохирч байна.

Тайлбар.

Үйлдлийн энгийн тэмдэглэгээг ашиглан тэгшитгэлийг бичье ("илэрхийлэл худал" гэсэн нөхцөл нь логик тэгтэй тэнцүү гэсэн үг):

1) нөхцөлийг томъёолсноор илэрхийлэл нь зөвхөн нэг багц хувьсагчийн хувьд худал байх ёстой.

2) "дүр дагавар" үйл ажиллагааны үнэний хүснэгтээс энэ илэрхийлэл нь зөвхөн нэгэн зэрэг худал болохыг харуулж байна.

3) эхний тэгш байдал (логик үржвэр нь 1-тэй тэнцүү) нь зөвхөн ба тохиолдолд л хангагдана; үүнээс үүдэн гарч ирдэг (логик нийлбэр нь тэгтэй тэнцүү), энэ нь зөвхөн үед л тохиолдож болно; Тиймээс бид гурван хувьсагчийг аль хэдийн тодорхойлсон

4) хоёр дахь нөхцлөөс , for болон бид .

Даалгаврыг давхардуулдаг

Хариулт: 1000

Логик илэрхийлэл болох P, Q, S, T логик хувьсагчдын утгыг зааж өгнө үү

(P ∨ ¬Q) ∨ (Q → (S ∨ T)) нь худал.

Хариултыг дөрвөн тэмдэгтийн мөр болгон бичнэ үү: P, Q, S, T хувьсагчдын утгууд (энэ дарааллаар).

Тайлбар.

(1) (P ∨ ¬Q) = 0

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

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

(2) (Q → (S ∨ Т)) = 0 Импликацын хувиргалтыг хэрэгжүүлье:

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

Хариулт: 0100

Логик илэрхийлэл болох K, L, M, N хувьсагчдын утгыг зааж өгнө үү

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

худлаа. Хариултаа дөрвөн тэмдэгтийн мөр болгон бичнэ үү: K, L, M, N хувьсагчдын утгууд (энэ дарааллаар). Жишээлбэл, 1101-р мөр нь K=1, L=1, M=0, N=1 гэсэн утгатай тохирч байна.

Тайлбар.

Логик OR нь хоёр мэдэгдэл худал байвал худал болно.

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

Эхний илэрхийлэлд далд хувиргалтыг хэрэгжүүлье:

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

Хоёр дахь илэрхийлэлийг авч үзье:

(L ∧ K) ∨ ¬N = 0 (эхний илэрхийллийн үр дүнг харна уу) => L ∨ ¬N = 0 => L = 0, N = 1.

Хариулт: 1001.

Хариулт: 1001

Логик илэрхийлэл болох K, L, M, N хувьсагчдын утгыг зааж өгнө үү

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

үнэн. Хариултаа дөрвөн тэмдэгтийн мөр болгон бичнэ үү: K, L, M, N хувьсагчдын утгууд (энэ дарааллаар). Жишээлбэл, 1101-р мөр нь K=1, L=1, M=0, N=1 гэсэн утгатай тохирч байна.

Тайлбар.

Логик "AND" нь үнэн бөгөөд хэрэв хоёр мэдэгдэл үнэн бол л үнэн болно.

1) (K → M) = 1 Доорын хувиргалтыг хэрэгжүүл: ¬K ∨ M = 1

2) (K → ¬M) = 1 Импликацын хувиргалтыг хэрэгжүүл: ¬K ∨ ¬M = 1

Эндээс K = 0 байна.

3) (¬K → (M ∧ ¬L ∧ N)) = 1 Доорын хувиргалтыг хэрэгжүүл: K ∨ (M ∧ ¬L ∧ N) = 1 K = 0 гэсэн баримтаас бид дараахь зүйлийг олж авна.

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

Хариулт: 0011

X, Y, Z бүхэл тоонуудын хувьд дараах мэдэгдэл үнэн болох нь мэдэгдэж байна.

(Z X=25, Y=48 бол Z хэдтэй тэнцүү вэ?

Тайлбар.

Тоонуудыг орлуулсны дараа бид Z = 47 болно.

Энэхүү нарийн төвөгтэй мэдэгдэл нь гурван энгийн мэдэгдлээс бүрддэг болохыг анхаарна уу

1) (Z 2) эдгээр энгийн хэллэгүүд нь ∧ (AND, холболт) үйлдлээр холбогдсон, өөрөөр хэлбэл тэдгээрийг нэгэн зэрэг гүйцэтгэх ёстой.

3) ¬(Z+1 24, ¬(Z+1 47)-аас.

4) -аас (Z Z Хариулт: 47.

Хариулт: 47

A, B, C нь бүхэл тоонуудын хувьд дараах мэдэгдэл үнэн:

(C A=45, B=18 бол C-ийн утга хэд вэ?

Тайлбар.

Логик "AND" нь үнэн бөгөөд хэрэв хоёр мэдэгдэл үнэн бол л үнэн болно.

Илэрхийлэлд тоонуудыг орлъё:

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

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

2) ба 1)-ээс C гэсэн үг гарч байна

Хариулт: 44

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

C = 8, B = 18 бол А-ийн утга хэд вэ?

Тайлбар.

Логик "AND" нь үнэн бөгөөд хэрэв хоёр мэдэгдэл үнэн бол л үнэн болно.

1) ¬(A = B) = 1, өөрөөр хэлбэл, A ≠ 18 = 1.

2) ((B A)) Дуудлагын хувиргалтыг хэрэгжүүл: (18 > A) ∨ (16 > A) = 1

3) (A 2C) Дуудлагын хувиргалтыг хэрэгжүүл: (A > 18) ∨ (A > 16) = 1

2) ба 3)-аас (18 > A) ба (A > 16) гэсэн үг, өөрөөр хэлбэл зөрчил үүснэ: A = 17.

Хариулт: 17

A, B, C нь мэдэгдэл үнэн байх бүхэл тоо юм

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

A = 45, C = 18 бол В-ийн утга хэд вэ?

Тайлбар.

Логик "AND" нь зөвхөн бүх мэдэгдэл үнэн байвал үнэн болно.



Танд нийтлэл таалагдсан уу? Найзуудтайгаа хуваалцаарай!