von Patrick Kinter | 30/05/2023
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 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 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
- 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.
von Patrick Kinter | 14/03/2023
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:
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.
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.
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.
To increase the scalability of the server and improve the performance of the client, resources can be stored in the cache.
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.
von Patrick Kinter | 27/02/2023
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 roughly applied in three main categories: stand-alone 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.
von Patrick Kinter | 20/02/2023
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.
von Admin Econsor | 14/12/2022
What is AlphaFold?
AlphaFold is a Artificial intelligencewhich is able to predict the three-dimensional protein structure using only the amino acid sequence of the protein. In 2020, AlphaFold2 has achieved the accuracy of experimental methods, solving a 50-year-old problem in biology: the problem of protein folding.
Since 2021, AlphaFold DB has been available as Database of protein structures is freely available to scientists around the world. In addition, a free version of AlphaFold2 as open source software at Github be used.
The solution to the protein folding problem
AlphaFold is another success story from Google DeepMind (AlphaGo, AlphaZero and Ithaca). Shortly after AlphaGo clearly defeated the famous professional player Lee Sedol in GoIn 2016, a new DeepMind team was put together. Its goal was to solve the problem of protein structure prediction.
2018 marks the team's first success: AlphaFold takes first place in the 13th CASP competition.
The CASP; Critical Assessment of Techniques for Protein Structure Prediction (in German: kritische Bewertung von Techniken zur Vorhersage von Proteinstrukturen) is an association of scientists who have been researching the problem of protein folding since 1994. Every two years, a competition takes place in which research teams are given a selection of amino acid sequences for proteins. Their exact three-dimensional shape is already known, but not publicly available. The teams give their best predictions to see how close they are to the actual structures.
The AlphaFold's outstanding results in this competition are published in the journal Nature and the DeepMind team continues to expand. In 2020, the breakthrough is made: AlphaFold2 wins the 14th CASP competition by a large margin and is recognised by the CASP organisers as the solution to the 50-year-old "protein folding problem". AlphaFold2 can predict protein structures to atomic accuracy with a mean error (RMSD_95) of less than 1 angstrom, making it three times more accurate than the next best system and comparable to experimental methods. Among experts, the solution of the protein folding problem is dubbed one of the most important achievements since the mapping of the human genome.
How does AlphaFold work?
In principle, AlphaFold uses Neural networks which through Deep Learning be trained. After the very good results with CASP13, the programme is being further developed. Its methods and code are published in the scientific journal Nature. This results in Open source implementations from the community. DeepMind itself has added new deep learning architectures and further developed the methods.
Crucial to these methods are the fields of biology, especially in the area of protein folding, as well as physics and machine learning.
To understand the physical interactions within proteins, it is important to understand how a folded protein is constructed. It can be seen as a "spatial graph" in which residues are the nodes and edges connect the residues in close proximity. For AlphaFold2, which wins CASP14, an attention-based neural network system is used. With this, it continuously tries to interpret the structure of the protein while thinking about the diagram it is assembling. Multiple sequence alignment (MSA) and a representation of amino acid residue pairs are used to improve this diagram.
By constantly repeating this process, AlphaFold2 achieves strong predictions of protein structure. By using its own confidence measure, AlphaFold2 is also able to determine which parts of its predicted protein structure can be classified as reliable.
AlphaFold Protein Structure Database
In close cooperation with the European Bioinformatics Institute at the European Molecular Biology Laboratory (EMBL-EBI) DeepMind 2021 launches the AlphaFold Protein Structure Database. Thus the Scientific community free and open access to the human proteome (the totality of all proteins in the human body) together with 20 other model organisms, including mice. The database thus comprises a total of over 350,000 structures. At the beginning of 2022, DeepMind will add another 27 proteomes (corresponding to over 190,000 proteins) to the database.
To date, over 300,000 researchers worldwide have made use of the database. This represents AlphaFold one of AI's most significant contributions to advancing scientific knowledge dar.