ok, this looks like hard work for NN, but 1. I would do some preprocessing and maybe a post-process script that took care of all your permutations, make sure NN is the easiest possible input. I think that preprocessing will be much easier to achieve your goal than setting up NN (adding one or more hidden layers).
2 & 3 NN . , . ( ) , (, , , NN, - butas, - ).
, . , , - ...