Path: csiph.com!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail From: Hermann Riemann Newsgroups: de.comp.lang.python Subject: Re: [Python-de] source code generation aus Daten ist ein KI-Traum. Date: Tue, 10 Oct 2017 13:33:28 +0200 Lines: 82 Message-ID: References: <7e1f4ce8-8606-588a-7f85-b13f39941ca5@thomas-guettler.de> <27e611d6-b47b-2595-44fc-4a145e929670@thomas-guettler.de> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-Trace: individual.net ygr4t3+g8Rzqox4CisBhtgU5OYEvkiQ+1DSn3Fg69NNqBOBMrQ Cancel-Lock: sha1:xMoHvivb2r4YIC35Cube9KQpyFs= User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.3.0 In-Reply-To: Content-Language: de-DE Xref: csiph.com de.comp.lang.python:4938 Am 10.10.2017 um 12:24 schrieb Thomas Güttler: >> Und source code generation aus Daten >> ist ein KI-Traum. > Ich bin mit dem aktuellen KI-Trend (Tensorflow) noch nicht sehr vertraut. Tensorflow kenne ich praktisch nicht. Dafür habe ich mal lisp verwendet. Da gibt es etwas wie quote. Damit kann man einer Variablen oder Listenelement so etwas wie ein keywort zuweisen. Außerdem gibt es da die polnische Notation, was Unterprogrammen ähnlich ist. Also statt a + b wird + a b. Pythonähnlich wäre dann x = [ quote(if), [ quote(<=), a, b ] [ quote(=) a b ]] eval(x) würde dann if a<=b: a=b ausführen. In Python müsste man erst Quelltext erzeugen und, da eval nach meinem Eindruck auf eine Zeile beschränkt ist, Dateien erzeugen und import anwenden. Etwa so: Datei: a.py s="Mist" if len(s)==4: from b import * else: from c import * print(s) Datei: b.py s="bla" Datei: c.py s="grr" python3 a.py liefert dann bla Mit diesem Verfahren kann ein eval über mehr als 1 Zeile nachgebastelt werden, indem man erstellte Dateien bedingt nachträglich importiert. .. > Warum sollte ich davon träumen, dass aus Daten Quelltext erzeugt wird? Eigentlich ist Quelltext nur eine Kommunikationsdarstellung für Menschen. computer intern sind andere Darstellungen eines Programms besser geeignet. > Was ist der Mehrwehrt? > Warum nicht ein generisches Programm verwendet, > dass direkt auf den Daten arbeitet? Um aus Daten verwertbares Wissen zu machen, benötigt es ein Programm, welches mit den Daten etwas anfangen kann. Wenn aber die Verwertung der Daten erst noch experimentell herausgefunden werden soll, wird damit ein Programm gebastelt. Das muss nicht ein Mensch machen, womit ki .. Hermann der den quote eval Mechanismus aus lisp in Python vermisst. -- http://www.hermann-riemann.de