-5

Dies ist vielleicht nicht der richtige Ort dafür, aber ich interessiere mich für künstliche neuronale Netze und möchte mehr erfahren.Wie schreibe ich ein Programm, das den Quellcode ausgibt

Wie entwirfst du ein Netzwerk und trainierst es im Quellcode, damit es Programme für z. B. einfache Zahlentheorieprobleme entwickeln kann?

Wie lautet der allgemeine Name dieses Forschungsfeldes?

+1

Ich verstehe, dass Sie einen Programmgenerator basierend auf neuronalen Netzen schreiben wollen, nach dem Training mit Beispielprogrammen, die Nummerntheorie Probleme lösen, richtig? Wenn das stimmt, ist Ihre Frage aus mindestens zwei Gründen sehr naiv. 1) Neuronale Netze befassen sich nicht mit Zeichenketten und noch weniger wohlgeformten grammatikalischen Ausdrücken. 2) Programme, die ähnlich aussehen, werden nicht notwendigerweise ähnliche Ergebnisse liefern (die meisten auf diese Weise synthetisierten Programme werden einfach versagen oder für immer eine Schleife bilden). –

+0

Der Bereich, den Sie (wahrscheinlich) ansprechen möchten, heißt * Automatische Problemlösung *. (Auch verwandt mit * Automatisierter Theorembeweis *, der nicht wirklich ein Zweig der KI ist.) –

+0

Vielen Dank für die schnelle Antwort. 1) Ich bin mir bewusst, dass neuronale Netze nicht mit Strings umgehen, aber was ist, wenn das Modell N Ausgangsknoten hat, die grundlegende Programmierblöcke darstellen (Schleifen, bedingte Sprünge usw.) und abhängig davon, welcher dieser Knoten ausgelöst wird. – dreizehnutters

Antwort

0

Dies ist eine sehr interessante und sehr harte Problemzone. Es wird wahrscheinlich Monate dauern, bis Sie genug gelesen haben, um zu verstehen, wie Sie das Problem angehen können. Hier ein paar Dinge, die Ihnen helfen zu beginnen, und sie sind, um die Probleme zu zeigen, wird das Gesicht als Lösungen anbieten zu können:

http://karpathy.github.io/2015/05/21/rnn-effectiveness/

dies Dann lesen und verwandte Papiere:

https://arxiv.org/pdf/1410.5401v2.pdf

Als nächstes wollen Sie wahrscheinlich die klassischen Papiere in Programmsynthese und die Erzeugung an der Parsing-Baum/AST-Ebene lesen (meist aus mIT, glaube ich, in den frühen 90er Jahren.)

Viel Glück. Das ist nicht trivial.

+0

Ich habe über Parser/Compiler und AST letztes Semester gelernt, wo ich die Idee von bekam. Die Synthese ist vielleicht nicht der schwierige Teil (nicht in Loops/Halte-Problem stecken) aber die Frage ist, was versuchst du zu synthetisieren ... – dreizehnutters

+0

Wie gesagt, es ist schwer zu verstehen, wie man das Problem angreift :) Sie könnten a) eine große Codebasis finden, kleine Änderungen als Bugfixes voraussetzen und vorhersagen, ob Codeblöcke Fehler enthalten - das wäre cool! b) Lies auf Eurisko nach und versuche herauszufinden, wie man eine moderne Version mit ANNs erstellt. – MMN

Verwandte Themen