mkfree wrote:
bzt,
Artificial intelligence can be applied to programming as you wish.
Okay, first things first, there's no such thing "Artificial Intelligence". It is just a buzzword used by marketing people to almost everything these days. From technical perspective the closest things are heavily statistical methods and algorithms used on big data, that's why I've mentioned that.
The most accepted definition is that AI is a program that can pass the Turing test, however the
Loebner prize made for this test was and still is criticised widely (and not without reason may I add). No real "AI" ever passed the test, but a fake chatbot (like ELIZA) could easily.
mkfree wrote:
I give you a basic example
Thank you, I'm quite familiar with neural networks, I had to learn two semester at the university (and honestly I hated it. A cleverly applied and optimized minmaxsearch algorithm is always more performant and easier to use for me. Circumstances and properties by which your code measures the environment don't change in a game nor in a kernel). Interestingly neither my prof, no other serious scholar ever called a neural network an AI (but AI wasn't the buzzword back then as it is these days).
mkfree wrote:
I can optimize my code just by using a mathematical formula.
Now there's a big difference optimizing your code and optimizing run-time execution by analyzing input data. I taught "proving program correctness using math" lectures at my university, I should know
(if interested what that is,
look here for the definition of sequence, conditional and iteration. Sorry, Hungarian only). Optimizing code using math is not as easy as you would assume. There's only 3 systems that's code have been described entirely using math (all three related to DoD and DARPA), because it is extremely hard to do, and even harder to do it right. This is the mathematical formula of a loop for example (the part when the loop's condition is evaluated to true at first, therefore the loop's body is not skipped in the first place):
If you're interested in using math for programming, try the Eiffel language, that's the closest.
mkfree wrote:
the behavior of processes over time to obtain the best form of planning.
This makes more sense, but don't think you can optimize your code for this, unless you allow dynamically changing your code, but then you'd be better off with
evolutionary computation. I mean the properties by which you describe a "plan" is finite, and they won't change in run-time for sure, so I don't think using such complex things like NN or EC worth it at all.
mkfree wrote:
The benefits would be in performance, but I have yet to prove it.
I doubt using neural network for scheduling going to be performant at all, but at least there's no evidence to say otherwise either, so it is an interesting area to research.
Check out the
KANN library, maybe it's useful to you. (Note: I did not wrote that lib, I've just bookmarked it because it looked like something that could be integrated into a kernel).
Cheers,
bzt