If the only input I have, yes that is a good temperature or no that is not (Good) the only output is open hot more (or less) (openhot) and open cold more (or less) it is very hard to build the mapping function f.
good x f --> [openhot, opencold]I would have to build very complex logic to determine if the water was too hot or cold and if the hot and cold are fully open or closed.
Let us change the feature space to temp-is, percent-full-hot, percent-full-cold. And have values for temp-is {too-hot, just-right, too-cold} and for percent-full-hot and percent-full-cold to be values in the range 0-100 indicating for each control how much it opened (or closed). Now it would be much easer to build the function, g to map
temp-is x g --> [perecnt-full-hot,percent-full-cold]It would be much easer to build a function if the feature space was: temp-wanted, hot-water-temp, cold-water-temp, shower-temp. Then the function h
[temp-wanted, hot-water-temp, cold-water-temp, shower-temp] x g --> [percent-full-hot,percent-full-cold]