Q: Why there is no alpha parameter for GaussianNB()? Why there is no alpha argument ( smoothing parameter in Laplace smoothing) for GaussianNB() in sklearn library? ? Although BernoulliNB() and MultinomialNB() have an alpha parameter but GaussianNB() doesn't have ? So how the zero probability problem is handled with GaussianNB()

A: Just to recall: With $y_i, i=1,\ldots,k$ being the possible classes and $x_i, i=1,\ldots,n$, the features, Naive Bayes does classification by ranking the product
$$
R(y | \mathbf x) := p(y)\prod_{i=1}^n p(x_i|y)
$$
and assigning to $\mathbf x$ the class $y$ for which $R(y|\mathbf x)$ is maximal.
Now, the expression for $R(y|\mathbf x)$ above shows, that it suffices to have just one single $x_i$ with $p(x_i|y)=0$ to set $R(y|\mathbf x)$ to zero. This is often not wanted, because the estimation of $p(x_i|y)$ is often not very accurate. So people apply Laplace or Lidstone smoothing, which consists in setting each $p(y|x_i)$ to at least a small value $\alpha$. This way, other features $x_j$ with large conditionals $p(x_j|y)$ still have a chance of bringing $R(y|\mathbf x)$ to the top.
Now let's consider GaussianNB. Since a Gaussian pdf is always positive, one could argue that $\alpha$ should not be necessary here.
However, we could still get problems with Gaussian pdfs with arbitrarily high precision which could again result in probabilities $p(x_i|y)$ with values below the resolution of doubles and numerical instability. That's why scikit-learn added another smoothing parameter, var_smoothing, which makes sure that all Gaussian pdfs $p(y|x_i)$ have a positive lower bound on variance.
