Classical communication complexity requires one protocol (binary tree with edges labeled by bits Alice and Bob send) to solve the problem for every pair of inputs. What if we allow Alice and Bob to choose protocols separately depending on the input they have?
Consider the following communication model. Alice and Bob are trying to compute $f (x,y) $, $x $ is given to Alice, $y $ is given to Bob. At the begining of communication Alice chooses protocol $P_A =P_A (x) $, Bob chooses protocol $P_B=P_B (y) $. They follow their protocols as in the classical case. They compute $f (x,y) $ if at the end they both come to leaves labeled with $f (x,y) $.
As $P_A $ is not necessary equal to $P_B $ at some round they may decide (according to their protocols) to either both send a bit or both wait for a bit - in these cases we say that the communication is invalid but Alice and Bob do not know about it: if they both send a bit they don't receive anything (as in half-duplex channels), if they both wait for a bit they receive "some" bit (uninitialized variable, potentially adversarial).
What is the relation to classical communication complexity? Trivially this model is at least as powerful as a classical one: Alice and Bob can use the same protocol for all inputs. Is it strictly more powerful? Is there any studies of this model? (I think I've seen something similar but I don't remember when and where.)