Propositional logic

What is propositional logic?

Propositional logic, also known as propositional logic or propositional logic, is an Subfield of formal logic, which deals with the Analysis and manipulation of statements busy. Statements are in logic defined as simple, fully determined sentenceswhich can be either true or false, but not both at the same time. Propositional logic is an important concept in many areas of mathematics, computer science, philosophy and science, and forms the basis for the analysis and construction of more complex logical systems.

Propositional logic uses a Inductive definitionto define statements. A statement is either an atom or a complex statement formed from other statements and links of junctors. Atoms are the simplest statements that cannot be further broken down into smaller components. Examples of atoms can be: "The sun is shining", "It's raining", "1 + 1 = 2", etc.

Concepts of propositional logic

In propositional logic, there are certain concepts or foundations that enable the understanding and application of this logical discipline. Here are some of the most important concepts in propositional logic:

Statements and links: In propositional logic, all statements are based on the idea of propositions that can be true or false. Statements can be linked together with various logical operations, such as conjunction (∧) and disjunction (∨), to form complex expressions.

Variables and JunctorsIn propositional logic, variables can be used to introduce placeholders for statements. Variables are usually represented by letters or symbols and can take on different truth values. Junctors are logical links used to connect or manipulate statements, such as conjunction (∧), disjunction (∨), negation (¬), implication (→) and equivalence (↔).

Tautologies: Tautologies are statements that are always true regardless of the truth values of the variables involved. Tautologies play an important role in propositional logic, as they serve as the basis for logical proofs and argumentation. Tautologies can be identified with the help of truth tables or with the help of logical laws, such as the laws of propositional logic.

Truth table: A truth table is a tabular representation of all possible combinations of truth values for the statements involved in a logical expression. Truth tables are often used to calculate and analyse the truth values of complex propositional logic expressions and to check the validity of logical laws or tautologies.

Laws of propositional logic

The laws of propositional logic, also known as logical laws or propositional logic laws, are rules and principles that describe the properties and behaviour of propositions and logical expressions in propositional logic. 

Identity laws:

  • Identity law of conjunction: A statement that is linked to itself and the logical operator "AND" (conjunction) remains unchanged. Example: A ∧ Truth = A
  • Identity law of disjunction: A statement that is linked to itself and the logical operator "OR" (disjunction) remains unchanged. Example: A ∨ falsehood = A

Domination laws:

  • Domination law of conjunction: If a statement is linked with "truth" (true) and linked with "AND" (conjunction), the original statement results. Example: A ∧ Truth = A
  • Domination law of disjunction: If a statement is linked with "falsehood" (False) and linked with "OR" (disjunction), the original statement results. Example: A ∨ False = A

Negation laws:

  • Law of double negation: The double negation of a statement cancels itself out and results in the original statement. Example: ¬(¬A) = A
  • Law of negation of conjunction: The negation of a conjunctive statement is equivalent to the disjunctive negation of the individual statements. Example: ¬(A ∧ B) = (¬A) ∨ (¬B)
  • Law of negation of disjunction: The negation of a disjunctive statement is equivalent to the conjunctive negation of the individual statements. Example: ¬(A ∨ B) = (¬A) ∧ (¬B)

De Morgan's Laws:

  • De Morgan's Law of Negation of Conjunction: The negation of a conjunctive statement is equivalent to the disjunctive negation of the individual statements with an inverted operator. Example: ¬(A ∧ B) = (¬A) ∨ (¬B)
  • De Morgan's Law of Negation of Disjunction: The negation of a disjunctive statement is equivalent to the conjunctive negation of the individual statements with an inverted operator. Example: ¬(A ∨ B) = (¬A) ∧ (¬B)

Propositional logic in computer science

Propositional logic plays a central role in computer science, especially in areas such as the formal verification of software and hardware, circuit design, the Artificial Intelligence (AI)knowledge representation and the Database theory.

In the Formal verification of software and hardware propositional logic is used to check the correctness of programmes and circuits. Here, logical formulae are used to specify the desired properties of the system and it is checked whether these properties are fulfilled.

At Circuit design propositional logic and Boolean algebra are used to describe the operation of digital circuits. Circuits are often modelled as a combination of logical gates that implement the basic operations of propositional logic such as conjunction, disjunction and negation. Propositional logic expressions can be used to analyse, optimise and verify the operation of circuits.

In the Artificial intelligence the propositional logic plays a role in the Knowledge modelling and automatic reasoning. Knowledge-based systems often use propositional logic to represent knowledge in the form of logical rules that can be used to automatically draw conclusions and make decisions. Propositional logic is also often used in knowledge representation, i.e. the formulation of knowledge in AI systems.

The propositional logic is also used in the Database theory is used to formulate and evaluate complex queries and requests from databases. Logical expressions can be used to define complex conditions that must be fulfilled in order to retrieve certain data from the database.

In practice, special notations and tools are often used in computer science to efficiently model, analyse and process propositional logic. These include, for example, logical programming languages such as Prolog, model checking tools for hardware and software verification, and database query languages such as SQL.

Application Programming Interface (API)

What is an application programming interface (API)?

API stands for Application Programming Interface and refers to a programming interface that enables the Communication between different applications enables. External programmes can gain access to certain components of a software via an API and transfer data.

Unlike with a binary interface, the programme connection takes place at source code level takes place. Operations are carried out via standard commands so that compatibility with different programming languages is guaranteed. Among other things, an API can be based on Databaseshard disks, graphics cards and user interfaces.

The advantage of a programming interface is the Easy integration of new application components into an existing system. In addition, APIs are usually documented in detail with their associated parameters.

How does an API work?

Programming interfaces (API) are used in particular by developers to allow their programmes to dock with another. A programming interface specifies how data can be received and sent. The commands and data types that an API accepts are defined in protocols. They are used by the corresponding components for uniform communication.

A basic distinction is made between Internal/private APIs and external/open APIs. Private programming interfaces can only be used by programmers within an organisation. This optimises work on internal company processes. In addition, they are protected from unauthorised access by certain security measures. External APIs are available to the public in directories for integration into other systems. However, sometimes the use of an API is restricted or subject to a fee.

Application areas for programming interfaces

APIs can be used to connect a wide range of processes:

Weather forecast

Global weather data from a wide range of international sources are retrieved via programming interfaces and can be displayed to the user via app on the smartphone.

Appointment booking

Service providers can use APIs to enable their customers to make bookings on online portals or search for specific services. These can be, for example, appointment information at doctors' surgeries or the comparison of flight prices. The website connects to the programming interfaces of the respective service providers and generates an overview with the most suitable options.

E-commerce

Retailers use APIs to control the inventory of their products and provide customers with information about availability.

What is the difference between API and REST API?

REST is an abbreviation for Representational State Transfer and refers to a software architecture, which is guided by the principles and behaviour of the World Wide Web. A REST API is a specific form of an APIused for data transfer on distributed systems. Compared to a general API, the REST architecture has the following features six design principleswhich must be adhered to by developers:

Uniform programming interface

The resources are accessible via a specific Uniform Resource Identifier (URI). Different operations can be performed using HTTP methods via the same URI. Suitable formats for resources are, for example, JSON, XML or text.

Independence of client and server

Client and server applications must be decoupled from each other. The client should need nothing more than the URI of the respective resource.

Cache

To increase the scalability of the server and improve the performance of the client, resources can be stored in the cache.

Statelessness

Rest APIs do not require information about sessions. If the server requires data about the client session, this is sent via a separate request.

Multi-layer system architecture

Between the client and the server, there may be a number of other applications that communicate with each other. The client cannot see through how many servers the response was transmitted.

Code on demand (optional)

In most cases, static resources are transferred via REST APIs. Sometimes, however, it can also be executable code such as Java applets. This should only be executed on demand.

AutoML

What is AutoML (Automated Machine Learning)?

"AutoML" is the abbreviation for "Automated Machine Learning". AutoML is a new development in the evolution of the Machine Learning (ML). The aim of AutoML is to provide iterative steps in the ML model development to automate in order to efficiently create an optimised model.

How AutoML solutions work

The degree of difficulty of the automation between the individual steps varies, with the steps of model selection and the Hyperparameter-optimisation offer themselves for automation because of their use case independence. Therefore, automating these two steps is what is commonly understood by AutoML. Ideally, the input includes only a cleaned dataset, an error metric and the maximum time to find the best Model. The output is a ranked list of the tuned models, ordered by the error metric.

AutoML solutions are broadly applied in three main categories: standalone code packages, cloud services and specialised Data Science-platforms.

Benefits and advantages

Overall, the use of AutoML solutions increases the productivity of data scientists and reduces the complexity of ML model development by automating mechanical tasks. Specifically, this means that:

  • less time is spent on repetitive tasks such as model selection and tuning hyperparameters - leaving more time to focus on the business problem, collect and pre-process helpful data, and communicate the approach and results to stakeholders.
  • a solid basis for a proof of concept is provided, which can be further refined in later phases.

If you are interested in a critical examination of AutoML, please have a look at our further reading Blog article over. Stefan Lautenbacher (Senior Data Scientist) uses a stylised workflow of an ML project to discuss the extent to which AutoML can cover the need for human data scientists.

Augmented Analytics

What is Augmented Analytics?

Augmented analytics describes a technology with which Data analysis in the business environment and the so-called Business Intelligence using components of the machine learning and natural language processing (Natural Language Processing - NLP) can be supported. Business intelligence refers to processes for collecting, evaluating and visualising data in the context of a company.

The objective of these "extended analyses" is to assist in the Carrying out and preparing data and insight analyseswhich will subsequently serve as a basis for decision-making.

Process and benefit

In today's business world, generating information and raw data is not a major challenge. A critical path in the context of Big Data However, the following Data analysisThe data collected beforehand is to be processed and interpreted in such a way that it can ultimately serve as a basis for decision-making.

This is exactly where augmented analytics comes in, although data generation can also be included in this concept. The Added value results from the fact that, as a rule, both the manual and the time required for data analysis can be reduced, since machines are able to systematically and quickly search through large amounts of data. In combination with the methods of machine learning, opportunities arise to develop algorithms that are able to.., Identify trends as well as dependencies and patterns or make forecasts using predictive models.. These algorithms can sometimes optimise themselves, which can also result in an improvement in the quality of the results over time.

Although data generation is not the core element of the method, data collection can also be integrated into the technology and, in addition, benefits can be generated by separating useful information from unusable information in the raw data during data cleansing or preparation.

By implementing natural language processing in augmented analytics, this serves as a Communication interface. On the one hand, it is used to correctly interpret questions for carrying out data analyses, on the other hand, this technology is also used to prepare or communicate the results after the analysis has been carried out. This lays the foundation for supporting decisions in the business environment, which is the main benefit of augmented analytics.

Augmented Analytics Applications

Many companies offer software solutions that make use of the skills of augmented analytics and big data. In addition to, for example, SAP Analytics Cloud, Oracle Analytics Cloud, IBM Cognos Analytics or Power BI from Microsoft, the companies Tableau and SAS with SAS Visual Analytics also offer solutions in this area. The technology is used in the following business areas:

  • Healthcare: Companies use augmented analytics to optimise their operations and analyse length of stay and bed occupancy rates. In addition, forecasts of readmissions for recently discharged patients can be made and counteracted accordingly.
  • Finance and bankingIn this industry, augmented analytics is used to improve the services offered to customers and promote business growth. This enables the evaluation of data on trends and customer acquisition costs as a priority, which can subsequently be developed into specific services offered to different customer groups. In addition, it is possible to identify anomalies in transactions and, in the best case, clean them up in advance.
  • Manufacturing and retail: Similar to banking, technology is also used in retail to analyse customer trends and the efficient use of advertising materials. In production, it is used for capacity planning, process and supply chain optimisation, among other things.
  • AirlinesAirlines also use big data to increase customer satisfaction. Furthermore, it is used to forecast fluctuations in demand, which can be responded to with corresponding capacity changes.
  • TelecommunicationsIn the telecommunications industry, data on trends in telephone behaviour and internet usage can be analysed. Based on this, both services for customers and, for example, own bandwidth capacities can be optimised.

AlphaStar

What is AlphaStar?

AlphaStar is the first Artificial intelligencewhich is the real-time strategy game StarCraft 2 mastered at an outstanding level. For this it uses machine learning and deep neural networks. According to AlphaGo, AlphaZero and AlphaFold AlphaStar is another Google DeepMind success.

What is StarCraft 2?

StarCraft 2 is a real-time strategy game by Blizzard Entertainment and is considered one of the most complex and popular of all e-sports games. There are a few things to keep in mind when playing:

Activision Blizzard

1. Micro-Managementalso called micro: The player must permanently direct dozens of game pieces on the playing field at the same time and give orders.

2. Macro managementcalled Macro for short: The player must develop a suitable strategy for constructing buildings, researching upgrades and building new game pieces.

3. Incomplete information: Due to the "fog of war", the enemy's actions are usually not visible. Your own units make the fog disappear within a small radius. Therefore, you have to send them into the enemy's areas to get a glimpse of their tactics. This action is called "scouting".

4. the Rock-paper-scissors principle: every attack can be answered with a suitable defence. This in turn gives an advantage to the counter-attack.

5. everything happens in Real-time: Unlike in chess or go, both players must plan and execute their actions simultaneously and without pause.

6. Three different breedsThere are three different alien races to choose from at the beginning of the game: Protoss,Terran and Zerg. All have their own characteristics and allow for different strategies.

Function and playing strength of AlphaStar

For artificial intelligences, this Complexity a major challenge s. AlphaStar has to choose from up to 1026 possible actions each time, with many more moves whose effects can only be seen after a long period of play. To develop successful strategies for victory, AlphaStar had to learn and further research human strategies.

To do this, it uses various general machine learning techniques, including self-play with reinforcement learning and imitation learning, combined with Neural networks. This makes it AlphaStar to earn a Grandmaster level for all three alien races and play better than 99.8 % of StarCraft players on Battle.net.

AlphaStar's strong results provide evidence of how general learning techniques can strengthen AI systems so that they can function in dynamic and complex environments. These results are expected to be applicable in the real world in the future, making AIs safer and more robust.

Online resources

Github

Since 2017, there has been the StarCraft API PySC2 as open source at Github. It is the result of a cooperation between DeepMind and Blizzard Entertainment. Through the API, computers can receive information directly using feature maps without having to evaluate the game graphics. For example, a feature map can consist of a matrix whose cells indicate the type of a character (for example, 0 for "no character"). This data is much easier for computers to process. Various artificial intelligences have since used the PySC2 API and compete against each other as StarCraft bots.

Nature

DeepMind has published its research results on AlphaStar in the scientific journal Nature. In it you will find Information on the techniques used by AlphaStar and their benefits.