Yes, they are. I think we can agree that there is a beautiful elegance to it that is similar to that of mathematics.
But that doesn't answer my question, which asked how to write a program that was capable of outputting the Mona Lisa while rationalizing the decisions it is making. Shouldn't we be able to feed everything we know about the Mona Lisa into a program so it could generate something similar? If not, why not?
I'd say that simply because something is rational doesn't mean it can be codified into a computer program (yet). (Maybe my example code disrupted my point more than helped.) The design of most computer programs is rational, but a computer isn't sophisticated enough to program itself.
I'm actually having trouble thinking of an important human endeavor this was not in some way rational. Maybe some `Outsider Art` created by mental patients? Programmers who work in `BrainFuck` or `LOLCODE`? I guess I'd only think of something as irrational if I thought a reasonable person would not come to a given conclusion based on the same inputs (such as knowledge, skill, experience, etc).
But that doesn't answer my question, which asked how to write a program that was capable of outputting the Mona Lisa while rationalizing the decisions it is making. Shouldn't we be able to feed everything we know about the Mona Lisa into a program so it could generate something similar? If not, why not?