In de wereld van vandaag gebruiken we steeds meer verschillende auto's en gadgets. En niet alleen wanneer het nodig is om letterlijk onmenselijke kracht toe te passen: verplaats de lading, til hem op een hoogte, graaf een lange en diepe greppel, enz. Auto's worden tegenwoordig geassembleerd door robots, voedsel wordt bereid door multicookers en elementaire rekenkundige berekeningen zijn uitgevoerd door rekenmachines. Steeds vaker horen we de uitdrukking "Booleaanse algebra". Misschien is het tijd om de rol van de mens bij het maken van robots te begrijpen en het vermogen van machines om niet alleen wiskundige, maar ook logische problemen op te lossen.
Logica
Vertaald uit het Grieks, is logica een geordend denksysteem dat relaties schept tussen gegeven omstandigheden en waarmee je conclusies kunt trekken op basis van premissen en aannames. Heel vaak vragen we elkaar: "Is het logisch?" Het ontvangen antwoord bevestigt onze aannames of bekritiseert de gedachtegang. Maar het proces stopt niet: we blijven redeneren.
Soms is het aantal voorwaarden (inleidend) zo groot, en de relaties ertussen zijn zo ingewikkeld en complex dat het menselijk brein niet in staat is om alles tegelijk te "verteren". Het kan meer dan een maand (week, jaar) duren om te begrijpen wat er gebeurt. Maarhet moderne leven geeft ons niet zulke tijdsintervallen voor het nemen van beslissingen. En we nemen de hulp van computers in. En dit is waar de algebra van de logica verschijnt, met zijn eigen wetten en eigenschappen. Door alle initiële gegevens te downloaden, stellen we de computer in staat om alle relaties te herkennen, tegenstrijdigheden te elimineren en een bevredigende oplossing te vinden.
Wiskunde en logica
De beroemde Gottfried Wilhelm Leibniz formuleerde het concept van 'mathematische logica', waarvan de problemen alleen begrijpelijk waren voor een kleine kring van wetenschappers. Deze richting wekte geen bijzondere belangstelling, en tot het midden van de 19e eeuw wisten maar weinig mensen van wiskundige logica.
Grote interesse in de wetenschappelijke gemeenschap veroorzaakte een geschil waarin de Engelsman George Boole zijn voornemen aankondigde om een tak van wiskunde te creëren die absoluut geen praktische toepassing heeft. Zoals we ons uit de geschiedenis herinneren, was de industriële productie in die tijd actief in ontwikkeling, er werden allerlei hulpmachines en werktuigmachines ontwikkeld, dat wil zeggen dat alle wetenschappelijke ontdekkingen een praktische focus hadden.
Vooruitkijkend, laten we zeggen dat Booleaanse algebra het meest gebruikte onderdeel van de wiskunde is in de moderne wereld. Dus Bull verloor zijn argument.
George Buhl
De persoonlijkheid van de auteur verdient speciale aandacht. Zelfs als je bedenkt dat in het verleden mensen voor ons zijn opgegroeid, is het nog steeds onmogelijk om niet op te merken dat J. Buhl op 16-jarige leeftijd lesgaf op een dorpsschool en op 20-jarige leeftijd zijn eigen school in Lincoln opende. De wiskundige sprak vloeiend vijf vreemde talen en in zijn vrije tijd las hij werkenNewton en Lagrange. En dit alles gaat over de zoon van een eenvoudige arbeider!
In 1839 diende Boole zijn wetenschappelijke artikelen voor het eerst in bij de Cambridge Mathematical Journal. De wetenschapper is 24 jaar oud. Boole's werk zo geïnteresseerde leden van de Royal Society dat hij in 1844 een medaille ontving voor zijn bijdrage aan de ontwikkeling van wiskundige analyse. Verschillende meer gepubliceerde werken, waarin de elementen van wiskundige logica werden beschreven, stelden de jonge wiskundige in staat om de functie van professor aan het Cork County College op zich te nemen. Bedenk dat Buhl zelf geen opleiding had genoten.
Idee
Booleaanse algebra is in principe heel eenvoudig. Er zijn uitspraken (logische uitdrukkingen) die, vanuit het oogpunt van wiskunde, slechts door twee woorden kunnen worden gedefinieerd: "waar" of "onwaar". In het voorjaar bloeien de bomen bijvoorbeeld - waar, in de zomer sneeuwt het - een leugen. Het mooie van deze wiskunde is dat er geen strikte noodzaak is om alleen cijfers te gebruiken. Alle uitspraken met een ondubbelzinnige betekenis zijn heel geschikt voor de algebra van oordelen.
De algebra van logica kan dus letterlijk overal worden gebruikt: bij het plannen en schrijven van instructies, het analyseren van tegenstrijdige informatie over gebeurtenissen en het bepalen van de volgorde van acties. Het belangrijkste is om te begrijpen dat het volkomen onbelangrijk is hoe we de waarheid of onwaarheid van de verklaring bepalen. Deze "hoe" en "waarom" moeten worden geabstraheerd. Alleen de feitelijke verklaring is van belang: waar-onwaar.
Voor het programmeren zijn natuurlijk de functies van de algebra van de logica belangrijk, die worden geschreven door de overeenkomstigetekens en symbolen. En om ze te leren, betekent een nieuwe vreemde taal beheersen. Niets is onmogelijk.
Basisconcepten en definities
Zonder in te gaan op de diepte, laten we de terminologie behandelen. Booleaanse algebra neemt dus aan:
- verklaringen;
- logische bewerkingen;
- functies en wetten.
Statements zijn bevestigende uitdrukkingen die niet dubbelzinnig kunnen worden geïnterpreteerd. Ze zijn geschreven als getallen (5 > 3) of geformuleerd in bekende woorden (olifant is het grootste zoogdier). Tegelijkertijd heeft de uitdrukking "de giraf heeft geen nek" ook bestaansrecht, alleen Booleaanse algebra zal het als "vals" definiëren.
Alle uitspraken moeten ondubbelzinnig zijn, maar ze kunnen elementair en samengesteld zijn. Deze laatste gebruiken logische verbindingen. Dat wil zeggen, in de algebra van oordelen worden samengestelde uitspraken gevormd door elementaire uitspraken toe te voegen door middel van logische bewerkingen.
Booleaanse algebra-bewerkingen
We herinneren ons al dat bewerkingen in de algebra van oordelen logisch zijn. Net zoals getallenalgebra rekenkunde gebruikt om getallen op te tellen, af te trekken of te vergelijken, zo kun je met elementen van wiskundige logica complexe uitspraken doen, ontkennen of het eindresultaat berekenen.
Logische bewerkingen voor formalisering en eenvoud worden geschreven door formules die ons bekend zijn in de rekenkunde. De eigenschappen van Booleaanse algebra maken het mogelijk om vergelijkingen te schrijven en onbekenden te berekenen. Logische bewerkingen worden meestal geschreven met behulp van een waarheidstabel. zijn kolommendefinieer de elementen van de berekening en de bewerking die erop wordt uitgevoerd, en de lijnen tonen het resultaat van de berekening.
Basis logische acties
De meest voorkomende bewerkingen in Booleaanse algebra zijn negatie (NIET) en logische AND en OR. Bijna alle acties in de algebra van oordelen kunnen op deze manier worden beschreven. Laten we elk van de drie bewerkingen in meer detail bestuderen.
Negatie (niet) is van toepassing op slechts één element (operand). Daarom wordt de ontkenningsbewerking unair genoemd. Om het concept "niet A" te schrijven, gebruikt u de volgende symbolen: ¬A, A¯¯¯ of !A. In tabelvorm ziet het er als volgt uit:
De ontkenningsfunctie wordt gekenmerkt door de volgende uitspraak: als A waar is, dan is B onwaar. De maan draait bijvoorbeeld om de aarde - waar; De aarde draait om de maan - vals.
Logisch vermenigvuldigen en optellen
De logische AND wordt de voegwoordbewerking genoemd. Wat betekent het? Ten eerste dat het kan worden toegepast op twee operanden, d.w.z. en is een binaire bewerking. Ten tweede, dat alleen in het geval van de waarheid van beide operanden (zowel A als B) de uitdrukking zelf waar is. Het spreekwoord "Geduld en werk zullen alles verpletteren" suggereert dat alleen beide factoren iemand zullen helpen om met moeilijkheden om te gaan.
Symbolen die worden gebruikt om te schrijven: A∧B, A⋅B of A&&B.
Conjunctie is vergelijkbaar met vermenigvuldigen in de rekenkunde. Soms zeggen ze dat - logische vermenigvuldiging. Als we de elementen van de tabel rij voor rij vermenigvuldigen, krijgen we een resultaat dat lijkt op logisch redeneren.
Disjunctie is een logische OF-bewerking. Het neemt de waarde van de waarheid aanwanneer ten minste één van de beweringen waar is (ofwel A of B). Het is als volgt geschreven: A∨B, A+B of A||B. De waarheidstabellen voor deze bewerkingen zijn:
Disjunctie is als rekenkundige optelling. De logische optelbewerking heeft slechts één beperking: 1+1=1. Maar we herinneren ons dat wiskundige logica in digitaal formaat beperkt is tot 0 en 1 (waarbij 1 waar is, is 0 onwaar). De uitspraak "in een museum kun je een meesterwerk zien of een interessante gesprekspartner ontmoeten" betekent bijvoorbeeld dat je kunstwerken kunt zien, of dat je een interessant persoon kunt ontmoeten. Tegelijkertijd is het niet uitgesloten dat beide gebeurtenissen tegelijkertijd plaatsvinden.
Functies en wetten
Dus we weten al welke logische bewerkingen Booleaanse algebra gebruikt. Functies beschrijven alle eigenschappen van elementen van wiskundige logica en stellen u in staat om complexe samengestelde voorwaarden van problemen te vereenvoudigen. De meest begrijpelijke en eenvoudige eigenschap lijkt de afwijzing van afgeleide bewerkingen te zijn. Derivaten zijn exclusieve OR, implicatie en equivalentie. Omdat we alleen de basisbewerkingen hebben bestudeerd, zullen we ook alleen de eigenschappen ervan bekijken.
Associativiteit betekent dat in uitspraken als "en A, en B, en C," de volgorde van de operanden er niet toe doet. De formule is als volgt geschreven:
(A∧B)∧V=A∧(B∧V)=A∧B∧V, (A∨B)∨C=A∨(B∨C)=A∨B∨C.
Zoals je kunt zien, is dit niet alleen kenmerkend voor conjunctie, maar ook voor disjunctie.
Commutativity stelt dat het resultaatconjunctie of disjunctie hangt niet af van welk element als eerste werd beschouwd:
A∧B=B∧A; A∨B=B∨A.
Distributiviteit maakt het mogelijk om haakjes uit te breiden in complexe logische uitdrukkingen. De regels zijn vergelijkbaar met het openen van haakjes bij vermenigvuldigen en optellen in algebra:
A∧(B∨C)=A∧B∨A∧B; A∨B∧B=(A∨B)∧(A∨B).
De eigenschappen van één en nul, die een van de operanden kunnen zijn, zijn ook vergelijkbaar met algebraïsche vermenigvuldiging met nul of één en optellen met één:
A∧0=0, A∧1=A; A∨0=A, A∨1=1.
Idempotentie vertelt ons dat als, met betrekking tot twee gelijke operanden, het resultaat van een operatie vergelijkbaar blijkt te zijn, we de extra operanden die de redenering bemoeilijken, kunnen "weggooien". Zowel conjunctie als disjunctie zijn idempotente bewerkingen.
B∧B=B; B∨B=B.
Absorptie stelt ons ook in staat om vergelijkingen te vereenvoudigen. Absorptie stelt dat wanneer een andere bewerking met hetzelfde element wordt toegepast op een uitdrukking met één operand, het resultaat de operand van de absorberende bewerking is.
A∧B∨B=B; (A∨B)∧B=B.
Volgorde van bewerkingen
De volgorde van bewerkingen is van niet gering belang. Eigenlijk, wat betreft algebra, is er een prioriteit van functies die Booleaanse algebra gebruikt. Formules kunnen alleen worden vereenvoudigd als de significantie van de bewerkingen in acht wordt genomen. Rangschikkend van de meest significante naar de minste, krijgen we de volgende reeks:
1. Ontkenning.
2. Conjunctie.
3. Disjunctie, exclusiefOF.
4. Implicatie, gelijkwaardigheid.
Zoals je kunt zien, hebben alleen ontkenning en conjunctie geen gelijke prioriteit. En de prioriteit van disjunctie en XOR zijn gelijk, evenals de prioriteiten van implicatie en gelijkwaardigheid.
Implicatie- en equivalentiefuncties
Zoals we al hebben gezegd, gebruiken wiskundige logica en de theorie van algoritmen, naast de logische basisbewerkingen, afgeleiden. De meest gebruikte zijn implicatie en equivalentie.
Implicatie, of logisch gevolg, is een uitspraak waarin de ene handeling een voorwaarde is en de andere een gevolg van de uitvoering ervan. Met andere woorden, dit is een zin met voorzetsels "als … dan". "Als je van rijden houdt, draag dan graag sleeën." Dat wil zeggen, om te skiën, moet je de slee de heuvel op spannen. Als je geen zin hebt om de berg af te dalen, hoef je de slee niet te dragen. Het is als volgt geschreven: A→B of A⇒B.
Equivalentie gaat ervan uit dat de resulterende actie alleen plaatsvindt als beide operanden waar zijn. De nacht verandert bijvoorbeeld in dag wanneer (en alleen wanneer) de zon boven de horizon opkomt. In de taal van de wiskundige logica wordt deze verklaring als volgt geschreven: A≡B, A⇔B, A==B.
Andere wetten van Booleaanse algebra
De algebra van oordelen ontwikkelt zich en veel geïnteresseerde wetenschappers hebben nieuwe wetten opgesteld. De postulaten van de Schotse wiskundige O. de Morgan worden als de meest bekende beschouwd. Hij merkte en definieerde eigenschappen als nauwe negatie, complement en dubbele negatie.
Sluit ontkenning betekent dat er geen ontkenning voor de haakjes staat:niet (A of B)=niet A of NIET B.
Wanneer een operand wordt ontkend, ongeacht de waarde, spreekt men van een complement:
B∧¬B=0; B∨¬B=1.
En tot slot compenseert de dubbele ontkenning zichzelf. Die. ofwel verdwijnt de ontkenning voor de operand, of er blijft er maar één over.
Hoe tests op te lossen
Wiskundige logica impliceert de vereenvoudiging van gegeven vergelijkingen. Net als in de algebra, moet je de voorwaarde eerst zo gemakkelijk mogelijk maken (verwijder complexe invoer en bewerkingen ermee), en ga dan op zoek naar het juiste antwoord.
Wat kan er gedaan worden om het te vereenvoudigen? Converteer alle afgeleide bewerkingen naar eenvoudige. Open vervolgens alle haakjes (of haal het uit de haakjes om dit element in te korten). De volgende stap zou moeten zijn om de eigenschappen van Booleaanse algebra in de praktijk toe te passen (absorptie, eigenschappen van nul en één, enz.).
Uiteindelijk moet de vergelijking bestaan uit het minimum aantal onbekenden gecombineerd door eenvoudige bewerkingen. De eenvoudigste manier om een oplossing te vinden, is door een groot aantal minpunten te bereiken. Dan verschijnt het antwoord als vanzelf.