SIC-based decoding can be viewed as message passing on a bipartite graph [1]}, and thus IRSA, which uses SIC decoding, can be decoded on graphs.
A typical IRSA frame can be represented as a bipartite graph, which is made up of \(M\)  user nodes (one node for each user), \(T\)  RE nodes (one node for each RE), and the edges between them.
An edge connects a user node to an RE node if and only if that user has transmitted a packet in that corresponding RE.
During decoding, edges that connect to users whose SINR is above a threshold are removed from each RE.
Each decoding iteration consists of several intra-RE SIC and inter-RE SIC steps.
Once an SIC step is performed, the corresponding edge in the bipartite graph is removed.
Decoding is successful if, at the end of the SIC process, all edges in the graph get removed.
A decoding failure is declared if not all edges have been removed or no new edge is removed from the graph in two consecutive iterations.
<TABLE>