Polar Code Construction is the phase of selecting the set of $K$ good channels out of $N$ channels over which uncoded information bits will be transmitted. The selection of the information set $\mathbb{A}$ is done in a channel dependent manner.
For finite length polar codes, the synthesized channels are not fully polarized. Bit errors over the semipolarized channels are inevitable. Thus the phase of polar code construction is critical to obtain the best possible performance.
To construct a polar code, the $K$ reliable channels are chosen to minimize the sum of their Bhattacharyya parameter values $\left(\sum_{i \in \mathbb{A}} \ Z\left(W_N^{(i)}\right)\right)$ in order to minimize the upper bound on the block error probability of the constructed polar code.
For the BEC, the Bhattacharyya parameter can be calculated using some recursive formulas. Thus, the polar code construction problem can be solved exactly (without the need of approximations). The Bhattacharyya parameter can be calculated using the recursive formulas shown below with a complexity of $\mathcal{O}(N)$
\begin{equation} Z(W_N^{(2j-1)})=2Z(W_{N/2}^{(j)})-Z(W_{N/2}^{(j)})^2, \end{equation}
\begin{equation} Z(W_N^{(2j)})=Z(W_{N/2}^{(j)})^2, \end{equation}
with $Z(W_1^{(1)})=\epsilon$.
Unfortunately, for the AWGN channel, no efficient algorithm for calculating the Bhattacharyya parameter per synthesized channel is known. Approximating the exact polar code construction is possible to reduce complexity by calculating an estimate of the Bhattacharyya parameter per synthesized channel. Many suboptimal construction methods were proposed, in the literature, with different computational complexities.
The main difference between polar codes and Reed-Muller codes is the choice of the information set $\mathbb{A}$.
In the case of Reed-Muller codes, the indices of the highest weight rows of the generator matrix $\mathrm{\mathbf{G}}$ are selected to carry the information.