Our paper, titled How to Realize a Graph on Random Points, has gone up in the Arxiv. I’ll write more about it in future posts.

**Abstract:**

Continue reading “Our Paper on Realizing a Graph on Random Points”

Skip to content
The magic of mathematics and theoretical computer science is all the unexpected connections. You start looking for general principles and then mysterious connections emerge. Nobody can say why this is. — Robert Endre Tarjan

# Category: Randomized Algorithms

# Our Paper on Realizing a Graph on Random Points

# Notes on the PCP Theorem and the Hardness of Approximation: Part 1

## PCP Theorem: the Interactive Proof View

# Notes On Unbiased Random Walks

# Forkable Strings are Rare

# Some Facts about the Gambler’s Ruin Problem

# Vandermonde Submatrices and Arithmetic Progressions

# Finding a Primitive p-th Root of Unity in a Finite Field, with C++ Code

Our paper, titled How to Realize a Graph on Random Points, has gone up in the Arxiv. I’ll write more about it in future posts.

**Abstract:**

Continue reading “Our Paper on Realizing a Graph on Random Points”

Advertisements

In this note, we are going to state the PCP theorem and its relation to the hardness of approximating some NP-hard problem.

Intuitively, a PCP (Probabilistically Checkable Proof) system is an interactive proof system where the verifier is given random bits and he is allowed to look into the proof in many locations. If the string is indeed in the language, then there exists a proof so that the verifier always accepts. However, if is not in the language, no prover can convince this verier with probability more than . The proof has to be short i.e., of size at most . This class of language is designated as **PCP[r(n), q(n)].**

Theorem A (PCP theorem).Every NP language has a highly efficient PCP verifier. In particular,.

Continue reading “Notes on the PCP Theorem and the Hardness of Approximation: Part 1”

Imagine that a particle is walking in a two-dimensional space, starting at the origin . At every time-step (or “epoch”) it takes a vertical step. At every step, the particle either moves up by , or down by $altex -1$. This walk is “unbiased” in the sense that the up/down steps are equiprobable.

In this post, we will discuss some natural questions about this “unbiased random walk.” For example, how long will it take for the particle to return to zero? What is the probability that it will ever reach +1? When will it touch for the first time? Contents of this post are a summary of the Chapter “Random Walks” from the awesome “Introduction to Probability” (Volume I) by William Feller.

In a blockchain protocol such as Bitcoin, the users see the world as a sequence of states. A simple yet functional view of this world, for the purpose of analysis, is a Boolean string of zeros and ones, where each bit is independently biased towards favoring the “bad guys.”

A bad guy is activated when for some . He may try to present the good guys with a conflicting view of the world, such as presenting multiple candidate blockchains of equal length. This view is called a “fork”. A string that allows the bad guy to fork (with nonnegligible probability) is called a “forkable string”. Naturally, we would like to show that forkable strings are rare: that the manipulative power of the bad guys over the good guys is negligible.

**Claim **([1], Bound 2)**.** Suppose is a Boolean string, with every bit independently set to with probability for some . The probability that is forkable is at most .

In this post, we present a commentary on the proof that forkable strings are rare. I like the proof because it uses simple facts about random walks, generating functions, and stochastic domination to bound an apparently difficult random process.

Consider a random walk in the two-dimensional discrete space, where the horizontal direction is indexed by nonnegative time steps and the vertical direction is indexed by integers.

A particle is at its initial position at time . At every time step, it independently takes a step up or down: up with probability and down with probability . If the walk is called *symmetric*. Let and be the probabilities that the particle ever reaches some level or , respectively. When it does, the walk stops. The quantity is the *ruin probability*. We set the initial conditions as .

The Gambler’s Ruin Problem:What is the probability that a walk, starting at some , eventually reaches the origin?

Continue reading “Some Facts about the Gambler’s Ruin Problem”

*[This post, which is based on an ongoing discussion with Alex Russell and Ravi Sundaram, contains some unpublished results.]*

Currently, we are asking whether all submatrices of the order- Vandermonde matrix over a finite extension of are invertible where is prime. The answer is “no” in general: there are examples of fields where the Vandermonde matrix has a singular submatrix.

We can ask an easier(?) question, though. What happens if we randomly sample a set of columns and look into submatrices formed by a subset of the sampled columns. With a touch of beautiful insight, Professor Russell has connected Szemeredi’s theorem on arithmetic progressions with this question.

Let denote an arithmetic progression of length $latek k$. Let for .

The Szemerédi theorem says, any “sufficiently dense” subset contains infinitely many for all . A finitary version says: Fix your favourite . Then, there exists a natural such that if you look any subset of size at least , you will find an . Yet another version says:

Szemerédi’s Theorem.The size of the largest subset without an cannot be too large; in particular, it is .

Recall that a function is if it grows too slow compared to , so that .

Continue reading “Vandermonde Submatrices and Arithmetic Progressions”

To this day, no method of finding a generator of is known to be more efficient than essentially trying 2, then 3, and so on. Who cares? Well, the difficulty of breaking a certain public key cryptosystem (due to El Gamal) depends on the difficulty of working with generators of .— Keith Conrad

An th root of unity in a finite field is an element satisfying , where is an integer. If is the smallest positive integer with this property, is called a *primitive* th root of unity. If is a primitive th root of unity, then all elements in the set are also roots of unity. Actually, the set form a cyclic group of order under multiplication, with generator .

**Problem:** Suppose you are given a finite field of degree , and you are promised that there indeed exists a primitive th root of unity for prime. Find , and in particular, produce a C++code that finds it.

In what follows, we talk about how to find such a root and provide my C++ code; the code uses the awesome NTL library.

Continue reading “Finding a Primitive p-th Root of Unity in a Finite Field, with C++ Code”