ในโลกปัจจุบัน เราใช้รถยนต์และอุปกรณ์ต่างๆ เพิ่มมากขึ้น และไม่เพียงแต่เมื่อจำเป็นต้องใช้กำลังที่ไร้มนุษยธรรมอย่างแท้จริง: เคลื่อนย้ายสิ่งของ ยกขึ้นให้สูง ขุดคูน้ำที่ยาวและลึก เป็นต้น รถยนต์ในปัจจุบันประกอบขึ้นด้วยหุ่นยนต์ อาหารถูกเตรียมโดยผู้เล่นหลายคน และการคำนวณทางคณิตศาสตร์เบื้องต้นคือ ดำเนินการโดยเครื่องคิดเลข บ่อยครั้งที่เราได้ยินนิพจน์ "บูลีนพีชคณิต" อาจถึงเวลาแล้วที่จะเข้าใจบทบาทของมนุษย์ในการสร้างหุ่นยนต์และความสามารถของเครื่องจักรในการแก้ปัญหาไม่เพียงแต่ทางคณิตศาสตร์ แต่ยังรวมถึงปัญหาเชิงตรรกะด้วย
ลอจิก
ที่แปลจากภาษากรีก ตรรกะคือระบบการคิดแบบมีลำดับซึ่งสร้างความสัมพันธ์ระหว่างเงื่อนไขที่กำหนดและช่วยให้คุณสรุปผลตามสถานที่และสมมติฐานได้ บ่อยครั้งที่เราถามกัน: "มันสมเหตุสมผลไหม" คำตอบที่ได้รับยืนยันสมมติฐานของเราหรือวิพากษ์วิจารณ์ความคิด แต่กระบวนการไม่หยุด: เรายังคงให้เหตุผล
บางครั้งจำนวนของเงื่อนไข (เบื้องต้น) นั้นยอดเยี่ยมมาก และความสัมพันธ์ระหว่างเงื่อนไขเหล่านั้นก็ซับซ้อนและซับซ้อนมากจนสมองของมนุษย์ไม่สามารถ "ย่อย" ทุกสิ่งในคราวเดียวได้ อาจต้องใช้เวลามากกว่าหนึ่งเดือน (สัปดาห์, ปี) เพื่อทำความเข้าใจว่าเกิดอะไรขึ้น แต่ชีวิตสมัยใหม่ไม่ได้ให้ช่วงเวลาดังกล่าวแก่เราในการตัดสินใจ และเราหันไปใช้คอมพิวเตอร์ช่วย และนี่คือจุดที่พีชคณิตของตรรกะปรากฏขึ้น พร้อมกฎและคุณสมบัติของมันเอง โดยการดาวน์โหลดข้อมูลเริ่มต้นทั้งหมด เราอนุญาตให้คอมพิวเตอร์รับรู้ถึงความสัมพันธ์ทั้งหมด ขจัดความขัดแย้ง และค้นหาวิธีแก้ปัญหาที่น่าพอใจ
คณิตศาสตร์และตรรกะ
กอตต์ฟรีด วิลเฮล์ม ไลบนิซ ผู้มีชื่อเสียงได้กำหนดแนวคิดของ "ตรรกศาสตร์ทางคณิตศาสตร์" ซึ่งปัญหาดังกล่าวสามารถเข้าใจได้เฉพาะกลุ่มนักวิทยาศาสตร์ที่แคบเท่านั้น ทิศทางนี้ไม่ได้กระตุ้นความสนใจเป็นพิเศษ และจนถึงกลางศตวรรษที่ 19 มีเพียงไม่กี่คนที่รู้เกี่ยวกับตรรกะทางคณิตศาสตร์
ความสนใจในชุมชนวิทยาศาสตร์อย่างมากทำให้เกิดการโต้เถียงกัน ซึ่งจอร์จ บูล ชาวอังกฤษได้ประกาศความตั้งใจที่จะสร้างสาขาวิชาคณิตศาสตร์ที่ไม่มีการใช้งานจริงโดยสิ้นเชิง ตามที่เราจำได้จากประวัติศาสตร์ การผลิตภาคอุตสาหกรรมมีการพัฒนาอย่างแข็งขันในเวลานั้น เครื่องจักรเสริมและเครื่องมือกลทุกชนิดได้รับการพัฒนา กล่าวคือ การค้นพบทางวิทยาศาสตร์ทั้งหมดมีจุดมุ่งหมายในทางปฏิบัติ
มองไปข้างหน้า สมมติว่าพีชคณิตบูลีนเป็นส่วนที่ใช้มากที่สุดของคณิตศาสตร์ในโลกสมัยใหม่ บูลจึงแพ้ข้อโต้แย้ง
จอร์จ บูล
บุคลิกของผู้เขียนสมควรได้รับความสนใจเป็นพิเศษ แม้จะพิจารณาว่าคนในอดีตเติบโตมาก่อนหน้าเรา ก็ยังเป็นไปไม่ได้ที่จะไม่สังเกตว่าเมื่ออายุ 16 ปี J. Buhl สอนที่โรงเรียนในหมู่บ้าน และเมื่ออายุ 20 ปี เขาก็ได้เปิดโรงเรียนของตัวเองในลิงคอล์น นักคณิตศาสตร์พูดภาษาต่างประเทศได้ 5 ภาษา และเวลาว่างก็อ่านผลงานนิวตันและลาเกรนจ์ และทั้งหมดนี้เป็นลูกชายของคนทำงานธรรมดาๆ!
ใน พ.ศ. 2382 บูลส่งเอกสารทางวิทยาศาสตร์ของเขาไปยังวารสารคณิตศาสตร์เคมบริดจ์เป็นครั้งแรก นักวิทยาศาสตร์อายุ 24 ปี งานของ Boole สมาชิก Royal Society ให้ความสนใจมากจนในปี 1844 เขาได้รับเหรียญรางวัลจากการมีส่วนร่วมในการพัฒนาการวิเคราะห์ทางคณิตศาสตร์ ผลงานตีพิมพ์อีกหลายชิ้น ซึ่งอธิบายองค์ประกอบของตรรกะทางคณิตศาสตร์ ทำให้นักคณิตศาสตร์รุ่นเยาว์รับตำแหน่งศาสตราจารย์ที่วิทยาลัยคอร์กเคาน์ตี้ จำได้ว่าบูห์ลเองไม่มีการศึกษา
ไอเดีย
โดยหลักการแล้ว พีชคณิตบูลีนนั้นง่ายมาก มีข้อความ (นิพจน์เชิงตรรกะ) ที่ในแง่ของคณิตศาสตร์สามารถกำหนดได้ด้วยคำสองคำเท่านั้น: "จริง" หรือ "เท็จ" ตัวอย่างเช่น ในฤดูใบไม้ผลิ ต้นไม้จะผลิบาน - จริง ในฤดูร้อน หิมะจะตก - เป็นเรื่องโกหก ความงามของคณิตศาสตร์นี้คือไม่จำเป็นต้องใช้ตัวเลขเพียงอย่างเดียว ข้อความใด ๆ ที่มีความหมายชัดเจนค่อนข้างเหมาะสมสำหรับพีชคณิตของการตัดสิน
ดังนั้น พีชคณิตของตรรกะจึงสามารถใช้ได้ทุกที่: ในการกำหนดเวลาและการเขียนคำสั่ง การวิเคราะห์ข้อมูลที่ขัดแย้งกันเกี่ยวกับเหตุการณ์ และการกำหนดลำดับของการกระทำ สิ่งสำคัญที่สุดคือต้องเข้าใจว่ามันไม่สำคัญเลยว่าเราตัดสินความจริงหรือความเท็จของคำกล่าวนั้นได้อย่างไร "วิธีการ" และ "เหตุผล" เหล่านี้จะต้องถูกแยกออกจากกัน เฉพาะข้อความของข้อเท็จจริงเท่านั้นที่สำคัญ: จริง-เท็จ
แน่นอน สำหรับการเขียนโปรแกรม ฟังก์ชันของพีชคณิตของลอจิกมีความสำคัญ ซึ่งเขียนโดยค่าที่สอดคล้องกันป้ายและสัญลักษณ์ และการเรียนรู้พวกเขาหมายถึงการเรียนรู้ภาษาต่างประเทศใหม่ ไม่มีอะไรที่เป็นไปไม่ได้
แนวคิดและคำจำกัดความพื้นฐาน
ไม่ลงลึก มาจัดการกับคำศัพท์กันดีกว่า ดังนั้นพีชคณิตแบบบูลถือว่า:
- statements;
- ปฏิบัติการเชิงตรรกะ
- หน้าที่และกฎหมาย
ข้อความยืนยันใดๆ ที่ไม่สามารถตีความอย่างคลุมเครือได้ พวกเขาเขียนเป็นตัวเลข (5 > 3) หรือสูตรในคำที่คุ้นเคย (ช้างเป็นสัตว์เลี้ยงลูกด้วยนมที่ใหญ่ที่สุด) ในขณะเดียวกัน วลีที่ว่า “ยีราฟไม่มีคอ” ก็มีสิทธิ์มีอยู่เช่นกัน มีเพียงพีชคณิตบูลีนเท่านั้นที่จะให้คำจำกัดความว่า “เท็จ”
ข้อความทั้งหมดต้องมีความชัดเจน แต่สามารถเป็นแบบพื้นฐานและแบบผสมได้ หลังใช้การเชื่อมต่อแบบลอจิคัล นั่นคือ ในพีชคณิตของการตัดสิน ประโยคประสมเกิดจากการบวกประโยคพื้นฐานโดยใช้วิธีดำเนินการทางตรรกะ
ปฏิบัติการพีชคณิตบูลีน
เราจำได้แล้วว่าการดำเนินการในพีชคณิตของการตัดสินนั้นสมเหตุสมผล เช่นเดียวกับพีชคณิตตัวเลขใช้เลขคณิตในการบวก ลบ หรือเปรียบเทียบตัวเลข องค์ประกอบของตรรกะทางคณิตศาสตร์ช่วยให้คุณสร้างประโยคที่ซับซ้อน ปฏิเสธ หรือคำนวณผลลัพธ์สุดท้ายได้เช่นเดียวกับที่พีชคณิตจำนวนใช้เลขคณิตในการบวก ลบ หรือเปรียบเทียบตัวเลข
การดำเนินการลอจิกสำหรับการทำให้เป็นทางการและเรียบง่ายนั้นเขียนโดยสูตรที่เราคุ้นเคยในรูปแบบเลขคณิต คุณสมบัติของพีชคณิตบูลีนทำให้สามารถเขียนสมการและคำนวณค่าที่ไม่รู้จักได้ การดำเนินการเชิงตรรกะมักจะเขียนโดยใช้ตารางความจริง คอลัมน์ของมันกำหนดองค์ประกอบของการคำนวณและการดำเนินการที่ดำเนินการ และเส้นแสดงผลการคำนวณ
การกระทำเชิงตรรกะพื้นฐาน
การดำเนินการที่พบบ่อยที่สุดในพีชคณิตบูลีนคือการปฏิเสธ (NOT) และตรรกะ AND และ OR การกระทำเกือบทั้งหมดในพีชคณิตของการตัดสินสามารถอธิบายได้ด้วยวิธีนี้ มาศึกษาการดำเนินการแต่ละอย่างโดยละเอียดกันดีกว่า
การปฏิเสธ (ไม่) ใช้กับองค์ประกอบเดียวเท่านั้น (ตัวถูกดำเนินการ) ดังนั้นการดำเนินการปฏิเสธจึงเรียกว่าเอกภาพ ในการเขียนแนวคิดเรื่อง "ไม่ใช่ A" ให้ใช้สัญลักษณ์ต่อไปนี้: ¬A, A¯¯¯ หรือ !A ในรูปแบบตารางจะมีลักษณะดังนี้:
ฟังก์ชันปฏิเสธมีลักษณะดังนี้: ถ้า A เป็นจริง ดังนั้น B จะเป็นเท็จ ตัวอย่างเช่น ดวงจันทร์โคจรรอบโลก - จริง; โลกหมุนรอบดวงจันทร์ - เท็จ
การคูณตรรกะและการบวก
ตรรกะ AND เรียกว่าการดำเนินการร่วม มันหมายความว่าอะไร? ประการแรก มันสามารถนำไปใช้กับตัวถูกดำเนินการสองตัว นั่นคือ และเป็นการดำเนินการแบบไบนารี ประการที่สอง เฉพาะในกรณีของความจริงของตัวถูกดำเนินการทั้งสอง (ทั้ง A และ B) เท่านั้นที่นิพจน์นั้นเป็นจริง สุภาษิต "ความอดทนและการทำงานจะบดขยี้ทุกอย่าง" แสดงให้เห็นว่ามีเพียงทั้งสองปัจจัยเท่านั้นที่จะช่วยให้คนรับมือกับความยากลำบาก
สัญลักษณ์ที่ใช้เขียน: A∧B, A⋅B หรือ A&&B
คำสันธานคล้ายกับการคูณเลขคณิต บางครั้งพวกเขาบอกว่า - การคูณเชิงตรรกะ ถ้าเราคูณองค์ประกอบของตารางทีละแถว เราจะได้ผลลัพธ์ที่คล้ายกับการใช้เหตุผลเชิงตรรกะ
Disjunction เป็นตรรกะหรือการดำเนินการ มันใช้ค่าของความจริงเมื่อข้อความอย่างน้อยหนึ่งข้อความเป็นจริง (A หรือ B) มันเขียนแบบนี้: A∨B, A+B or A||B. ตารางความจริงสำหรับการดำเนินการเหล่านี้คือ:
การแตกแยกก็เหมือนการบวกเลขคณิต การดำเนินการเพิ่มเติมแบบลอจิคัลมีข้อจำกัดเดียวเท่านั้น: 1+1=1 แต่เราจำได้ว่าในรูปแบบดิจิทัล ตรรกะทางคณิตศาสตร์จำกัดไว้ที่ 0 และ 1 (โดยที่ 1 เป็นจริง 0 เป็นเท็จ) ตัวอย่างเช่น คำว่า "ในพิพิธภัณฑ์คุณสามารถเห็นผลงานชิ้นเอกหรือพบคู่สนทนาที่น่าสนใจ" หมายความว่าคุณสามารถเห็นผลงานศิลปะหรือคุณสามารถพบคนที่น่าสนใจ ในเวลาเดียวกัน ความเป็นไปได้ของทั้งสองเหตุการณ์ที่เกิดขึ้นพร้อมกันจะไม่ถูกตัดออก
หน้าที่และกฎหมาย
เรารู้แล้วว่าพีชคณิตบูลีนใช้การดำเนินการเชิงตรรกะแบบใด ฟังก์ชันอธิบายคุณสมบัติทั้งหมดขององค์ประกอบของตรรกะทางคณิตศาสตร์ และช่วยให้คุณลดความซับซ้อนของเงื่อนไขประกอบของปัญหาที่ซับซ้อนได้ คุณสมบัติที่เข้าใจได้ง่ายและเรียบง่ายที่สุดน่าจะเป็นการปฏิเสธการดำเนินการที่ได้รับ อนุพันธ์เป็นเอกสิทธิ์ OR ความหมายและความเท่าเทียมกัน เนื่องจากเราได้ศึกษาเฉพาะการดำเนินการพื้นฐานแล้ว เราจะพิจารณาเฉพาะคุณสมบัติด้วย
Associativity หมายความว่าในคำสั่งเช่น "และ A และ B และ C" ลำดับของตัวถูกดำเนินการไม่สำคัญ สูตรเขียนดังนี้:
(A∧B)∧V=A∧(B∧V)=A∧B∧V, (A∨B)∨C=A∨(B∨C)=A∨B∨C.
อย่างที่คุณเห็น นี่ไม่ใช่แค่การรวมกันเท่านั้น แต่ยังรวมถึงการแยกออกจากกันด้วย
ผลัดเปลี่ยนกันระบุว่าผลลัพธ์การรวมหรือการแตกแยกไม่ได้ขึ้นอยู่กับองค์ประกอบที่พิจารณาก่อน:
A∧B=B∧A; A∨B=B∨A
การกระจายช่วยให้ขยายวงเล็บในนิพจน์เชิงตรรกะที่ซับซ้อน กฎจะคล้ายกับวงเล็บเปิดในการคูณและบวกในพีชคณิต:
A∧(B∨C)=A∧B∨A∧B; A∨B∧B=(A∨B)∧(A∨B).
คุณสมบัติของหนึ่งและศูนย์ ซึ่งสามารถเป็นหนึ่งในตัวถูกดำเนินการ ก็คล้ายกับการคูณพีชคณิตด้วยศูนย์หรือหนึ่งและบวกด้วยหนึ่ง:
A∧0=0, A∧1=A; A∨0=A, A∨1=1.
Idempotency บอกเราว่าหากเทียบกับตัวถูกดำเนินการที่เท่ากันสองตัว ผลลัพธ์ของการดำเนินการกลายเป็นแบบเดียวกัน เราสามารถ "ทิ้ง" ตัวถูกดำเนินการพิเศษที่ทำให้กระบวนการให้เหตุผลยุ่งยากขึ้นได้ ทั้งการร่วมและการแตกแยกเป็นการดำเนินการที่ไร้อำนาจ
B∧B=B; B∨B=B.
การดูดกลืนยังช่วยให้เราลดสมการได้ การดูดซับระบุว่าเมื่อการดำเนินการอื่นที่มีองค์ประกอบเดียวกันถูกนำไปใช้กับนิพจน์ที่มีตัวถูกดำเนินการตัวเดียว ผลลัพธ์คือตัวถูกดำเนินการจากการดำเนินการดูดซับ
A∧B∨B=B; (A∨B)∧B=B.
ลำดับของการดำเนินการ
ลำดับของการดำเนินการมีความสำคัญไม่น้อย ที่จริงแล้ว สำหรับพีชคณิต มีลำดับความสำคัญของฟังก์ชันที่พีชคณิตแบบบูลใช้ สูตรสามารถทำให้ง่ายขึ้นได้ก็ต่อเมื่อสังเกตถึงความสำคัญของการดำเนินการ ลำดับจากมากไปหาน้อยจะได้ลำดับดังนี้
1. ปฏิเสธ
2. คำสันธาน
3. Disjunction, พิเศษอ.
4. ความหมาย สมมูล
อย่างที่คุณเห็น การปฏิเสธและการรวมกันเท่านั้นที่ไม่มีลำดับความสำคัญเท่ากัน และลำดับความสำคัญของการแตกแยกและ XOR เท่ากัน เช่นเดียวกับลำดับความสำคัญของนัยและความเท่าเทียมกัน
ฟังก์ชันความหมายและความสมมูล
ดังที่เราได้กล่าวไปแล้วว่า นอกเหนือจากการดำเนินการเชิงตรรกะพื้นฐานแล้ว ตรรกะทางคณิตศาสตร์และทฤษฎีของอัลกอริธึมยังใช้อนุพันธ์ ที่ใช้บ่อยที่สุดคือความหมายและความเท่าเทียมกัน
ความหมายหรือผลที่ตามมาคือคำสั่งที่การกระทำหนึ่งเป็นเงื่อนไข และอีกการกระทำเป็นผลมาจากการนำไปปฏิบัติ กล่าวอีกนัยหนึ่งนี่คือประโยคที่มีคำบุพบท "ถ้า … แล้ว" "ถ้าคุณชอบขี่รถเลื่อนหิมะ" นั่นคือสำหรับการเล่นสกีคุณต้องขันแคร่เลื่อนขึ้นเขาให้แน่น หากไม่มีความปรารถนาที่จะเคลื่อนลงจากภูเขา คุณก็ไม่ต้องแบกเลื่อน มันเขียนแบบนี้: A→B หรือ A⇒B.
Equivalence ถือว่าผลที่ได้จะเกิดขึ้นก็ต่อเมื่อตัวถูกดำเนินการทั้งสองเป็นจริงเท่านั้น ตัวอย่างเช่น กลางคืนกลายเป็นกลางวันเมื่อ (และเมื่อ) พระอาทิตย์ขึ้นเหนือขอบฟ้า ในภาษาของตรรกะทางคณิตศาสตร์ ข้อความนี้เขียนดังนี้: A≡B, A⇔B, A==B.
กฎอื่นๆ ของพีชคณิตบูลีน
พีชคณิตของการตัดสินกำลังพัฒนา และนักวิทยาศาสตร์ที่สนใจจำนวนมากได้กำหนดกฎหมายใหม่ สมมุติฐานของนักคณิตศาสตร์ชาวสก็อต O. de Morgan ถือว่ามีชื่อเสียงมากที่สุด เขาสังเกตเห็นและกำหนดคุณสมบัติเช่นการปฏิเสธที่ใกล้ชิด การเติมเต็ม และการปฏิเสธสองครั้ง
การปฏิเสธแบบปิดหมายความว่าไม่มีการปฏิเสธก่อนวงเล็บ:ไม่ (A หรือ B)=ไม่ใช่ A หรือไม่ใช่ B.
เมื่อตัวถูกปฏิเสธโดยไม่คำนึงถึงค่า คนหนึ่งพูดถึงส่วนเติมเต็ม:
B∧¬B=0; B∨¬B=1.
และสุดท้าย การปฏิเสธสองครั้งก็ชดเชยตัวเอง เหล่านั้น. การปฏิเสธจะหายไปก่อนตัวถูกดำเนินการ หรือเหลือเพียงอันเดียว
วิธีแก้ข้อสอบ
ตรรกะทางคณิตศาสตร์แสดงถึงการลดความซับซ้อนของสมการที่กำหนด เช่นเดียวกับในพีชคณิต คุณต้องทำให้เงื่อนไขง่ายที่สุดก่อน (กำจัดอินพุตและการดำเนินการที่ซับซ้อนด้วย) จากนั้นเริ่มค้นหาคำตอบที่ถูกต้อง
ลดความซับซ้อนได้อย่างไร? แปลงการดำเนินการที่ได้รับทั้งหมดเป็นแบบง่าย ๆ จากนั้นเปิดวงเล็บทั้งหมด (หรือกลับกัน นำออกจากวงเล็บเพื่อย่อองค์ประกอบนี้) ขั้นตอนต่อไป ควรใช้คุณสมบัติของพีชคณิตแบบบูลในทางปฏิบัติ (การดูดซับ คุณสมบัติของศูนย์และหนึ่ง ฯลฯ)
ในที่สุด สมการควรประกอบด้วยจำนวนค่านิรนามขั้นต่ำที่รวมกันโดยการดำเนินการอย่างง่าย วิธีที่ง่ายที่สุดในการหาวิธีแก้ปัญหาคือการได้ค่าเนกาทีฟใกล้เคียงจำนวนมาก แล้วคำตอบก็จะเด้งขึ้นมาเอง