Leela Chess Zero

What is Leela Chess Zero?

Leela Chess Zero (short Lc0 or Leela) is a free open source chess engine based on neural networks. Lc0 was developed from the Go engine Leela Zero Go, which in turn was developed from the research results of AlphaGo Zero by Google DeepMind. Through this model, Leela is able to learn chess without being taught by humans. Leela starts with only knowing the rules of chess and increases her playing strength with reinforcing learning by constantly playing against herself.

It is difficult to determine an Elo figure for Leela, as the playing strength increases with each additional game against itself. But Leela is also at a similar level to Stockfish 15 and Komodo 3 in 2022, the two leading chess programmes.

Leela Chess Zero and AlphaZero

One of the main reasons for the development of Leela Chess Zero is to improve the functioning of AlphaZero to confirm. After AlphaZero significantly beat the previously leading chess program Stockfish 8 in 2017, an uproar went through the chess community. AlphaZero's new approach of not relying on a human-generated database of countless moves and plays, as with Stockfishbut mastering chess through knowledge of the rules and self-play alone was a completely new approach. The AlphaZero project was discontinued a short time later, but continued in some form through Leela Chess Zero. The code of AlphaZero is still a secret today, but an ambitious community of developers around Gary Linscott managed to create Leela based on its model. By the way, there is no official game by Leela and AlphaZero.

Leela Chess Zero and Stockfish

Stockfish is the world's leading chess engine and, like Lc0, can be used free of charge as open source. The decisive difference between the two, apart from their approach to chess, also lies in the different nature of the engine itself. While Stockfish is a "classic" engine with enormous computing power, Leela is a Artificial intelligence with neural networks. Since Stockfish 12, it has combined the strengths of both programmes and also uses the Efficiently Updatable Neural Network (NNUE) for positional evaluation, greatly improving its performance. Today, Stockfish 15 is one of the best chess engines in the world.

Leela Chess Zero and Stockfish play regular matches against each other, the majority of which Stockfish wins. But Leela's playing strength is getting closer and closer to Stockfish, and in 2021 it was the second best chess program, behind Stockfish 14.

Online resources

Leela can be with GitHub as an open source engine free of charge. Since Lc0 is not a complete chess program but a Universal Chess Interface (UCI), a graphical user interface (GUI) is also required. Popular GUIs are for example Chessbase, Cutechess, Nibbler or BanksiaGUI. Another possibility to play against Leela are the Lichess bots. No additional programme needs to be downloaded to play. At https://lichess.org/team/all-the-leelas are the bots Lc0Test, leela2200 or MiniHuman, which are almost always online. The Maia bots are also under https://lichess.org/player/bots available to play.

Logit

What is a logit function?

The logit function (also called logit, logit model or logistic regression) belongs to the regression analyses. A Regression indicates the relationship between two or more variables. A logit makes it possible to explain a dependent binary variable and also to make a prediction about the probability of an event occurring.

The approach of logistic regression largely corresponds to linear regression. The main difference is in the dependent variable. In linear regression it is metric (for example, amounts of money) and in logistic regression it is binary (there are exactly two expressions, for example, male and female, coded as 0 and 1).

The logit function is:

logit(p):= In (p / p-1)

Where "p" is the probability and "p-1" is the counter probability.

Applications of logit functions

  • Predicting the purchase decision: Does a person buy a certain product?
  • Brand awareness: Does a person know a certain brand?
  • Creditworthiness: Can a person repay a certain amount of credit?
  • Party preference: If there were a federal election on Sunday, would a person vote for a certain party?
  • Audience ratings: Did a person watch a particular programme?

What are the requirements for using this function?

  1. The dependent variable is binary, in other words coded as 0 and 1.
  2. The model should show no or little multicollinearity (two or more explanatory variables have a very strong correlation to each other) and be as simple as possible.
  3. There is a linear relationship between the independent variables and the "log odds" (the chances of occurrence of the characteristic expression of the dependent variable under consideration).
  4. A fairly large sample size is needed.

What are alternatives to the logit function?

Logistic regression is used in machine learning as a classification algorithm to predict the probability of a dependent variable. It is uncomplicated, but does not work properly with highly complex models.

In such cases, other classification options should be used, for example:

Logical programming

What is logical programming?

These are a programming paradigm based to a large extent on formal logic. Each programme developed in a logical programming language is a series of logically formed sentences describing facts and rules about a particular subject area. Logical programming belongs to the declarative programming languages and is the basis for application in the area of machine learning and Artificial intelligence.

This type of programming is a branch of computer programming that uses formal logical rules. In a sense, logic programming is the application of mathematical equations and other logical constructs to achieve programming results.

There is object-oriented and inductive logical programming:

  • with object-oriented programming, real requirements can be implemented in the system in order to derive realistic conclusions from them
  • inductive logic programming (ILP) is a certain area of machine learning. Thus, there is a procedure for automatically creating entire logical programmes from examples

One of the most important representatives of logical programming is the programming language Prolog. Prolog programmes consist of an extensive knowledge base and the entries are facts and rules. A user can formulate queries to this knowledge base.

The Prolog interpreter can use facts and rules to systematically find the appropriate answer. There are positive and negative results. With positive results, a query can be logically derived and with a negative result, the database is not able to find a derivation.

In which areas is logic programming used?

The Typical applications of logic programming are simulators, generators and systems for diagnosis and prognosis.. Applications can be found in the fields of artificial intelligence, Databases and expert systems.

Other areas of application are:

  • In business and commerce:
    Product configurator, route planner, market simulation (such as pricing)
  • Medicine:
    Diagnostic systems
  • Mathematics:
    Theorem provers and theorem generators
  • general natural sciences:
    Evaluate and interrogate geological and meteorological data collections as well as simulators and forecasting systems for weather, earthquakes and water levels.
  • Technique:
    CAD and CAM
  • Sociology
  • Psychology
  • Computational Linguistics:
    Machine translation natural language and the recognition and understanding of spoken language
  • Computer technology:
    Design and simulation of specific processors and of circuits
  • Compiler construction
  • Computer games:
    "intelligent" behaviour of simulated players, tactics and strategy
  • Document management:
    Systematically processing structured documents, semantic web and XSLT
  • Rapid prototyping

What is an example of a programme?

A declarative programming language always describes the desired end result and then lets the solution path be determined automatically. This always works quite well as long as the final state is clearly defined and a suitable execution procedure exists for it. If both are present, declarative programming is extremely efficient.

The following example illustrates the application:

Programme:

female(monika).

female(karin).

female(susanne).

female(aline).

male(werner).

male(klaus).

male(gerd).

male(peter).

male(dominique).

married(werner, monika).

married(gerd, renate).

married(klaus, susanne).

motherFrom(monika, karin).

motherFrom(monika, klaus).

motherFrom(renate, susanne).

motherFrom(renate, peter).

motherFrom(susanne, aline).

motherFrom(susanne, dominique).

human(X).

Queries:

?- male(gerd).

true

?- married(gerd, monika).

false

?man(gerd).

true

Long Short-Term Memory (LSTM)

What is a Long Short-Term Memory?

A Long Short-Term Memory (LSTM) is a long short-term memory in artificial intelligence. Thus, in the training of Artificial neural networks a method of error signal descent is used.

This can be compared to the search of a mountain climber for the deepest valley. If there are several deepening layers, this will fall short if the forgetful mountaineer thus ends up in the first best valley on the descent and thus can no longer find his village in a deeper valley. With an LSTM method, however, this problem can be solved quite easily.

There are LSTM cells with three types of gates for better memory. With an input gate, a forget gate and an output gate, it is possible to LSTM equipped so that memories of previous experiences are possible. The short-term memory lasts for a long time and the principle behaviour of the network is encoded in the weights. Such neural networks, which are equipped with many layers, are really extremely capable of learning. Long Short-Term Memory can ensure that such multi-layered networks function excellently. With this technique, a breakthrough in artificial intelligence has been made possible.

What is the purpose of LSTM networks?

LSTM networks are particularly suitable for classifying, processing and making predictions based on time series data. LSTM is applicable to tasks such as handwritten text recognition and speech recognition. It can also be used for anomaly detection in network traffic or intrusion detection systems.

What are the benefits of Long Short-Term Memory?

LSTM is a methodology from the field of artificial intelligence. Neural networks work with LSTM and they describe a very special functional block of recurrent neural networks with a kind of "long short-term memory". The neural networks become much more powerful with LSTM.

With Long Short-Term Memory, a short-term memory is created that lasts for a long time and allows that Recurrent Neural Networks (RNN) are able to remember certain long-term dependencies and past experiences. Thus, every task and every problem should not be started from scratch. Knowledge already acquired should be used and RNNs can fall back on experiences made.

What makes Long Short-Term Memory so special?

LSTMs are simply evolutions of recurrent neural networks. What particularly distinguishes LSTM is its ability to select past information in certain sequential data. This makes it possible to learn from training data which information from the past can be used for the current output and which information can simply be forgotten.

Such a capability is the result of years of research and development. With the help of Backpropagation the artificial neural networks are trained and LSTM enables them to find their way. The use of LSTM is worthwhile for many companies because of its great potential for use.

Logarithm

A logarithm is the power to which a number must be raised to get another number. Example: Since 102 = 100, logarithm 100 = 2. This is one of the examples of the base ten logarithm. The name is due to the fact that ten is the number that is exponentiated. A wide range of base units is used for logarithmic calculations. For example, 3 is the base for eight, since two raised to the power of three makes eight.  

Since 23 = 8, logarithm2 8 = 3. The logarithm must always be written so that the base number is subscript. Logarithms with a base of 10 and natural logarithms are the most common types of logarithm. They always have special notations.

What are the properties of the logarithm?

Logarithms have a number of useful properties, which is why scientists have been quick to adopt them. First, they are the best solutions for avoiding long, tedious calculations. For example, scientists can use a special table to look up the logarithm of any number. They then add the logarithms together before consulting the table again to identify the number with the calculated logarithm.

History of the logarithm

The invention of logarithms was the result of comparing geometric and arithmetic sequences. Each time a constant arises in a geometric sequence, and each constant has a successor. Example: ... 1/1,000, 1/100, 1/10, 1, 10, 100, 1,000... has ten as a constant quotient. In arithmetic sequence, all successive terms differ by a constant. They are also called common difference. Example: ... 3, 2, 1, 0, 1, 2, 3... has 1 as the common difference.  
 
Note that it is possible to write a geometric sequence in terms of its constant quotient. Take a look at the example below: 
... 10 x 3, 10, 2, 10, 100, 101, 102, 103.

Master data

Master data are the facts and statistics of companies in the context of their business transactions. They contain important details concerning a company's largest business areas, including its customers, prospects, suppliers, websites and accounts. It is shared across multiple systems within the company, facilitating analysis, planning and commercial expansion.  

Master data is used by numerous applications and processes within any business. For example, it is referenced in a variety of transactions in the form of buyer, product or dealer data. Details of employees, suppliers, parts, locations and contact mechanisms are also categorised as master data. Each business considers different categories of information to be essential, so what is considered core for one business in a particular industry may not be necessary for another business in the same industry.  
 
These data objects play the biggest role for the company. They are regularly assessed and reported to improve decisions and manage market responses after being processed in analytical systems. Companies store and manage this information about their services and products through a system known as PMDM or Product Master Data Management. Companies need to manage this multitude of data well in order to be successful. This corporate information asset is used to shape the future of the company. 

Summary

The logarithm is a tool used by scientists and mathematicians to perform complex calculations. It was invented in the 17th century and has since been adopted in a variety of fields that rely heavily on calculations.