  This paper is concerned with a guessing codeword decoding (GCD) of linear
block codes. Compared with the guessing noise decoding (GND), which is only
efficient for high-rate codes, the GCD is efficient for not only high-rate
codes but also low-rate codes. We prove that the GCD typically requires a fewer
number of queries than the GND. Compared with the ordered statistics decoding
(OSD), the GCD does not require the online Gaussian elimination (GE). In
addition to limiting the maximum number of searches, we suggest limiting the
radius of searches in terms of soft weights or tolerated performance loss to
further reduce the decoding complexity, resulting in the so-called truncated
GCD. The performance gap between the truncated GCD and the optimal decoding can
be upper bounded approximately by the saddlepoint approach or other numerical
approaches. The derived upper bound captures the relationship between the
performance and the decoding parameters, enabling us to balance the performance
and the complexity by optimizing the decoding parameters of the truncated GCD.
We also introduce a parallel implementation of the (truncated) GCD algorithm to
reduce decoding latency without compromising performance. Another contribution
of this paper is the application of the GCD to the polar codes. We propose a
multiple-bit-wise decoding algorithm over a pruned tree for the polar codes,
referred to as the successive-cancellation list (SCL) decoding algorithm by
GCD. First, we present a strategy for pruning the conventional polar decoding
tree based on the complexity analysis rather than the specific bit patterns.
Then we apply the GCD algorithm in parallel aided by the early stopping
criteria to the leaves of the pruned tree. Simulation results show that,
without any performance loss as justified by analysis, the proposed decoding
algorithm can significantly reduce the decoding latency of the polar codes.
