Home
Xinyue Liu's Blog
Cancel

Easy Foundations for Programming Languages II — Notation and Mathematical Conventions

In this article, we recover some notation and mathematical conventions that will be frequently used in subsequent articles. We assume readers have basic knowledge of grammar and logic. Grammars G...

Easy Foundations for Programming Languages I — Introduction

Programming language theory (PLT) is a branch of computer science that deals with the design, implementation, analysis, characterization, and classification of programming languages. In some ways,...

Randomized Algorithm VII — Fingerprinting

In computer science, fingerprinting is a procedure that maps an arbitrarily large data item (such as a computer file) to a much shorter bit string, its fingerprint, that uniquely identifies the ori...

Randomized Algorithm VI — Bipartite Perfect Matching & Parallel Algorithm

In the last part of the previous article, we disucssed how to determine the existence of perfect matching in a bipartite graph. Today, we are gonna to propose a way to find such a perfect matching....

Randomized Algorithm V — Polynomial Identity Testing

Checking whether two arithmatic expressions (polynomials) are identical is one of the most important open problems in the intersection of algebra and computational complexity. Many hard problems in...

Programming Language Pragmatics

Why are there so many programming languages in the world? What’s the art behind their miscellaneous designs? Nowadays, there are thousands of high-level programming languages, and new ones continu...

Randomized Algorithm IV— Integer Programming

Integer programming is a type of optimization problem where the goal is to find the best integer solution to a problem. Integer programming is a powerful problem-solving tool used in many research...

Randomized Algorithm III— Concentration Inequalities

In this article, we will introduce three important inequalities for possibility concentration. Then, we provide an example problem - Mean Estimation - to show the application of Chernoff bound. In...

Randomized Algorithm II — Global Min Cut & Median

In this article, we discuss two typical and educational problems which can be well solved using randomized algorithm - global min cut problem and median problem. Global Min Cut Problem Background...

Randomized Algorithm I — Introduction

What is Randomized Algorithm? Randomness is a basic and extremely useful concept in algorithm design. Introducing randomness allows us to deal with some very hard questions. Although we cannot pro...