Как расчитать произвольный дешифратор?
пните пожалуйста в какую сторону читать На мой взгляд, тут хватит знания таблиц истинности элементарных функций и умения их комбинировать.
Мой вариант:x1 = bx2 = a И НЕ bx3 = a ИЛИ bx4 = НЕ x3 = НЕ a И НЕ b 
В вентилях можно реализовать по-разному (например, x4 выводить от x3 или от входов).
если 2 входа и 4 выхода это немного странная ситуация, но принципиально сложного в ней нет,   дешифратор планируется построить в железе или программно? 
если в железе то тут 4 блока из простейших и\или 00 10 01 11 , соответственно с каждого из них будет соединение на 4 "выхода". Если программно тем более проблем нет.