เหตุใดจึงใช้เครื่องหมาย + เป็นตัวดำเนินการตรรกะหรือตัวดำเนินการ


14

ไม่กี่วันที่ผ่านมาฉันถูกถามว่าทำไมมันเป็นเรื่องธรรมดาที่จะใช้สัญลักษณ์+แทนตัวvดำเนินการบูลีน OR ในตรรกะดิจิทัล

ข้อโต้แย้งของเขาคือมันใช้งานง่ายเพื่อตอบโต้+หรือเพราะเพราะมีแนวโน้มที่จะถูกตีความว่าเป็นและจากการใช้งานทั่วไป / บริบท

จากวิกิ : ในตรรกะและคณิตศาสตร์หรือเป็นตัวดำเนินการตามความจริงที่รู้จักกันในชื่อ (รวม) การแยกและการสลับ เกี่ยวพันตรรกะที่แสดงถึงการดำเนินการนี้เป็นที่รู้จักกันในนาม "หรือ" และมักจะเขียนเป็นหรือv+

ฉันทำวิจัยและมากับต้นกำเนิดของvสัญญาณ มันมาจากคำภาษาละติน "vel" ซึ่งหมายถึง "หรือ"

สิ่งหนึ่งที่เพิ่มความสับสนให้กับธรรมชาติคือ+'และ' จากมุมมองทางประวัติศาสตร์ ตามนี้และสิ่งนี้มันถูกคิดค้นประมาณ 1,603 เป็นและตัวย่อสำหรับละติน "et" ("และ") คล้ายกับเครื่องหมายบวก

อย่างไรก็ตามฉันไม่มีเงื่อนงำที่เกิดขึ้น+ในพีชคณิตบูลีนและทำไมมันจึงเป็นที่ต้องการvในบริบทดิจิทัล / วิศวกรรมตรรกะ


4
หรือคล้ายกับบวกในคณิตศาสตร์ "ปกติ" และคล้ายกับทวีคูณดังนั้นจึงใช้ตัวดำเนินการ·
Majenko

อาจเป็นเพราะในการประเมินผลแบบลอจิกแบบไบนารีผลลัพธ์ที่ไม่เป็นศูนย์ใด ๆ จะถือว่าเป็น "1" จากนั้น "ผลรวม" จะถูกต้อง
Tut

2
0 * 1 = 0 และ 0 และ 1 = 0. 0 + 1 = 1 และ 0 หรือ 1 = 1
The Photon

2
ในทางทฤษฎีแล้ว 0 คือเอกลักษณ์เพิ่มเติมสำหรับจำนวนเต็มและ 0 ยังเป็นค่าเอกลักษณ์สำหรับการดำเนินการ OR บนชุดค่าบูลีน (ขอโทษนักคณิตศาสตร์ทุกคนหากฉันใช้ศัพท์แสงของคุณในทางที่ผิด)
The Photon

1
อาจเป็นไปได้ว่าในขณะที่แป้นพิมพ์มี V เป็นตัวอักษร V ไม่ใช่ V พิเศษสำหรับหรือและพวกเขาไม่มีคว่ำ V สำหรับและ บางทีถ้าแป้นพิมพ์มีปุ่มสำหรับปุ่มเหล่านั้นหรือแม้กระทั่งสำหรับ OR แป้นก็จะไม่ใช้ +
barlop

คำตอบ:


16

หนึ่งคำ: การกระจาย

การคูณคือการกระจายผ่านการบวกและดังนั้นจึงเป็นตรรกะและการกระจายมากกว่าตรรกะหรือ

ในทางตรงกันข้ามการคูณมักใช้โดยไม่มีสัญลักษณ์ ( 2aแทน2*a) และตรรกะ AND นั้นคล้ายกันมาก ถ้าทั้ง A และ B ต้องเป็นจริงมันง่ายและง่ายในการเขียน AB

มันมีประโยชน์มากในการสร้างตารางความจริงและอัลกอริธึมตามพวกมัน

f=A+BC

แม้แต่คนที่มีประสบการณ์น้อยจะสังเกตเห็นได้อย่างรวดเร็วก่อนที่fสามารถเกิดขึ้นได้เมื่อ A เป็นจริงหรือเมื่อทั้ง B และ C เป็นจริง

f=ABC
v^

ความจริงที่ว่า1 * 0 = 0และ1 + 0 = 1ในพีชคณิตแบบบูลนั้นเราเลือกที่1จะหมายถึงความจริงและ0หมายถึงเท็จยังช่วยในการระบุผู้ประกอบการที่เป็นที่ สัญลักษณ์ในคณิตศาสตร์เป็นเพียง: สัญลักษณ์ พวกเขามีความหมายเพราะเราได้กำหนดความหมายให้กับพวกเขาดังนั้นจึงเป็นการดีกว่าถ้าเราเลือกสัญลักษณ์ที่สามารถจดจำได้ง่ายและการใช้งานในสาขาอื่นนั้นคล้ายคลึงกัน


3
ผู้ประกอบการและและหรือหรือกระจายไปทั่วกันในรูปแบบที่การคูณและการเพิ่มไม่ได้ ไม่เพียง แต่เป็นA or (B and C)เทียบเท่า(A or B) and (A or C)แต่เทียบเท่ากับX and (Y or Z) (X and Y) or (X and Z)ถึงกระนั้นฉันคิดว่าความจริงที่ว่าการคูณจะทำตัวเหมือน "และ" เพียงพอสำหรับการตัดสินใจว่า "หรือ" ถูกแมปกับ "+"
supercat

ฉันมักจะยอมรับคำตอบนี้เพราะค่อนข้างสะอาดและตรงประเด็นกว่าคำตอบจาก AndrejaKo
Rev1.0

20

บรรทัดหนึ่งของการให้เหตุผลที่ฉันมักใช้สำหรับสัญญาณตรรกะ AND และ OR คือความสัมพันธ์กับการดำเนินการทางคณิตศาสตร์ที่แสดง

เริ่มจากตรรกะและ มันมักจะแสดงเป็นเครื่องหมายการคูณเช่น * ดังนั้นถ้าคุณมีนิพจน์ที่ยาวเช่น s1 * s2 * s3 * s4 .... และหนึ่งในตัวแปรรับค่า 0 หรือตรรกะลอจิคัลดังนั้นนิพจน์ทั้งหมดจะใช้ค่า 0 ซึ่งค่อนข้างปกติสำหรับการคูณ เพราะ 1 * 1 * 0 * 1 ... เท่ากับ 0

ในทางกลับกันเมื่อเราใช้เครื่องหมาย + ซึ่งโดยทั่วไปหมายถึงการเพิ่มเพื่อแสดงตรรกะหรือเรามีกรณีที่คล้ายกัน ถ้าเรามีตัวแปรหลายตัวที่เป็น ORed เราก็มีอีกกรณีของ s1 + s2 + s3 + s4 ... หากตัวแปรตัวใดตัวหนึ่งไม่ใช่ศูนย์ผลลัพธ์ก็จะไม่เป็นศูนย์เช่นกันซึ่งก็คือ ตรรกะ (IMHO) เมื่อเราเปรียบเทียบหรือเพื่อเพิ่ม ตัวอย่างเช่น 0 + 0 + 1 + 0 ... เท่ากับ 1 จุดหนึ่งที่การแบ่งนี้คือเรามีอีกมากกว่าผลลัพธ์ยังคงเป็นเพียงจุดเดียว วิธีคิดอย่างหนึ่งที่ฉันใช้ในการทำเช่นนี้ก็คือเพียงแค่ระลึกไว้เสมอว่าสิ่งหนึ่งแสดงถึงการมีอยู่ดังนั้นสิ่งที่มีอยู่และคุณเพิ่มการมีอยู่ให้มากขึ้นมันจะยังคงมีอยู่


ฉันคิดว่าเครื่องหมายเป็นเรื่องของการประชุมเนื่องจากการดำเนินการเชิงตรรกะที่กำหนดไว้ในพีชคณิตแบบบูล ผลรวมแบบลอจิคัลถูกกำหนดไว้อย่างดีว่าเป็นผลิตภัณฑ์แบบลอจิคัลเพื่อให้สัญญาณอาจเป็นใครก็ได้ ฉันคิดว่าใช้สัญญาณที่คุ้นเคยมากกว่าซึ่งอาจมีความเกี่ยวข้องกับคำจำกัดความ คำตอบที่ดี.
Martin Petrei

คำตอบที่น่าสนใจ ในฐานะที่เป็นจุดสนใจฉันเพิ่งเสริมโพสต์ของฉันว่าดูเหมือนว่าที่มาทางประวัติศาสตร์ของ+สัญญาณ (ในฐานะผู้ประกอบการแบบไบนารี) ลงมาเป็นตัวย่อสำหรับละติน "et" ("และ") คล้ายกับเครื่องหมายบวก
Rev1.0

5

Michael Shcroeder's "ประวัติโดยย่อของโน้ตพีชคณิตของ Boole", Nordic วารสารปรัชญาปรัชญา 2 (1): 41-62 (1997), คุณลักษณะการใช้ + เพื่อเป็นตัวแทนรวมหรือเพื่อ Leibniz ใน "Elementa Calculi" และ กล่าวถึงการใช้สัญลักษณ์ของ Boole เช่นเดียวกับสัญลักษณ์อื่น ๆ ลิงค์ออนไลน์


2

ไม่มีการอภิปรายว่าทำไมจึงเป็นเรื่องธรรมดาที่จะใช้ + แทน∪, ∩, ∨, ∧จะเสร็จสมบูรณ์โดยไม่ต้องแจ้งว่าเครื่องพิมพ์และรหัสการโอน (เช่น Baudot, ITA และ ASCII) ให้ตัวอักษรตัวเลขและสัญลักษณ์ทางธุรกิจทั่วไป '

มันยากที่จะจินตนาการตอนนี้ แต่มีช่วงเวลาที่สัญลักษณ์พิเศษไม่ได้ถูกนำมาแสดงในอินพุตและแสดงค่าใช้จ่ายเพิ่มเติมแม้ในขณะที่เรียงพิมพ์

นักคณิตศาสตร์ (และผู้สนับสนุนอัลกอลคนอื่น ๆ ) ต้องการสัญลักษณ์ที่มีขนาดใหญ่กว่าด้วยเหตุผลนี้ แต่เมื่อ 50 ปีที่แล้วคุณจะไม่สามารถแสดงคำถามที่มีขนาดใหญ่กว่าได้ยกเว้นการเขียนว่าทำไมเราไม่ใช้สัญลักษณ์ v คว่ำแทน ของการเขียน. AND ?'


แม้วันนี้การป้อนสัญลักษณ์พิเศษยังคงเป็นความพยายามมากกว่าเพียงแค่การพิมพ์สิ่งที่มีคีย์บนแป้นพิมพ์และอักขระที่ไม่ใช่ ascii ในบางครั้งอาจสับสนเมื่อย้ายระหว่างระบบที่แตกต่างกัน (แม้ว่าอักขระ ASCII บางตัวจะมีความเสี่ยงเช่นกัน
ปีเตอร์กรีน
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.