With a few seconds of your time you can help AOCR becoming better by filling out the survey form.
The author of the AOCR Project
In 1993, after I had completed a post-doctorate in mathematical logic, I examined some organic reaction mechanisms under a mathematical, more precisely a graph theoretical, view point. I was determined to apply the way of thinking that I had developed in the 12 years before, during which I occupied myself exclusively with mathematics and particularly with mathematical logic, to chemistry, which is the science in which I obtained a university degree before turning to math.
While examining the reaction mechanisms, an operation on graphs immediately struck my attention. It appeared to me that every organic reaction step could be seen as the result of this operation. Also it appeared to me that not every result of the operation was an organic reaction step. For this reason I found a way to strengthen the operation with additional conditions in such a way that every application resulted in a chemically correct organic reaction step.
When the operation was examined more carefully it revealed interesting mathematical properties that led me to think that a procedure subsequently applying this operation to a graph could be the representation of a procedure computing organic reactions by generating one after the other all products that can be obtained from the starting compounds. The same procedure would of course be able to answer the question whether a target compound could be synthesized from others and, if yes, yield a synthesis.
Once the mathematical foundation were set I decided to implement the procedure first on UNIX machines using the C language. A few years later motivated by the success of the tests, the program was wrapped into a graphical interface written in the Java language that made it much easier to prepare and view the formulas for the input, display the output and run the computation. About at the same time a version for Microsoft Windows became available. Since 2004 it also runs on Linux platforms.
The program corresponds exactly to the initially conceived procedure and is able to
The AOCR Project requires knowledge of chemistry, which is the productive science, software development (C, Java), mathematics (graph and computation theory) and finally marketing and law (web publishing and license issues).