Könnt man eine selbst weiterentwickelnde Software schreiben?

  • Meine persönliche Kurzdefinition von "lernen": Man speichert Informationen ab um sie zu einem späteren Zeitpunkt wieder abrufen zu können.

    Deine ANwendung wird nie auf eine heisse Herdplatte fassen und den Schmerz als "Bähbäh-Erfahrung" abspeichern können. Ein "lernendes" Programm kann nur dann etwas lernen, wenn es wess welche INformatonen es speichern soll. Das kannst nur du als Programmierer festlegen. Damit ist die Lernfähigkeit schonmal auf einen bestimmten Rahmen begrenzt. Selbst wenn es dann aus den gemachten "Erfahrungen" neue Lernmethoden entwickeln soll, benötgt es dafür immernoch einer gewissen VOrgabe durch den Programmierer.

    Um diesen stupiden Weg mit den IFs zu verlassen würde ich einen egenen, simplen Interpreter vorschlagen. nformatonen sammeln -> auswerten -> möglche AKtionen/Methoden in einer simlen Skriptsprache abspeichern. Für sowas würde sich eigentlich auch XML anbieten.

  • Ihr kommt mir so vor, als müsste ich Jemand, der vor 100Jahren gelebt hat den Computer erklären....

    ihr redet von einem Programm, das Daten auswertet und je nach Prozentwerte(oder was auch immer) das beste aussucht, ich rede von einem Programm, der seine normalen Begrenzung übertrifft
    Was ist den der Mensch? Kein weit entwickelter Computer?

  • Ich meine, es müsste wahrscheinlich die ganze Programmiersprache angepasst werden. Habe aber auch nicht gesagt, dass es einfach ist ;)

  • Um das Thema abzuschließen würde ich allgemein sagen:
    Ja es ist möglich, allerdings ist das das Henne-Ei Problem der Anwendungsentwicklung.

    "Woher stammt eigentlich der erste Compiler? Mit was wurde der programmiert?"
    Das könnte man hier vermutlich ewig diskutieren, gibt aber für mich keinen Sinn, weil hier vllt jeder 1000te wirklich mitreden kann.

    Wenn du Lust hast google einfach mal nach Bootstrapping und Ähnlichem.

    Achja gib Bescheid, wenn du nen Compiler gebastelt hast der sich selbst compiliert ;)


  • Was ist den der Mensch? Kein weit entwickelter Computer?

    Ahh, endlich einer der auch meiner Meinung ist, dass Gehirne nichts anderes als hochleistungsfähige Computer sind.


    An dem Gehirn-Vergleich halte ich mal fest.
    Wie arbeitet das Gehirn? Daten (Augen, Ohren, Geruch etc.) werden aufgenommen, bei Unwichtigkeit (d.h. fehlender Kontext) sofort verworfen. Dann gibt es bestimmte Asoziationen mit den Daten, von denen immer weiter gesprungen wird und man dadurch zu einem Ziel kommt.
    Das könnte man auch in einem Programm machen, wenn auch in kleinerem Maßstab.
    Beispiel (sehr stark vereinfacht):
    Gehirn: Apfel in blauer Schale -> Apfel schmeckt lecker [Farbinfo wird verworfen] -> andere Infos mit einbeziehen (man hat Hunger) -> man könnte den Apfel essen -> Apfel nehmen und essen
    Programm: Taste G wird gedrückt, Virenscannerupdate -> G könnte ein Wortanfang sein [AV-Info wird verworfen] -> andere Infos mit einbeziehen (Browser ist offen) -> könnte Addresse sein -> Google als Seitenvorschlag anbieten

    Arbeitet beides ähnlich, nur dass das Gehirn wesentlich mehr Leistung hat. Man müsste also für eine halbwegs brauchbare Lösung in Assembler (bzw. direkt in Maschinensprache) arbeiten und durch viele Funktionsaufrufe wichtige Hintergrundinfos filtern und auswerten und durch goto-Befehle zu entsprechenden Stellen springen.



    Achja gib Bescheid, wenn du nen Compiler gebastelt hast der sich selbst compiliert ;)

    FASM

  • Ich bin an einem ähnlichen Programm zu schreiben (neben bei) jedoch weicht es schon von deinem ab!
    Bei dir müsste man es so machen:
    Das Script sammelt Informationen. Und überprüft sie immer wieder ob ein Muster darin vorkommt. Wenn dies Vorkommt. Schreibt er eine neue Funktion. Natürlich muss das Script wissen was Func XXX() & alles andere bedeutet.
    Das müsste musst du ihm erst beibringen. Das heißt, du musst ein Script schreiben das zumindest alleine etwas coden kann.
    Das reicht schon wenn es mit If fragen basiert. If $Createfunc = True Then FileWrite($File, "Func _" & $name & "()" & @CRLF)
    Das müsste man natürlich erweitern und das Script muss wissen, wann was eingesetzt wird. Ist eine heiden Arbeit, wäre aber zumindest nicht unmöglich ;)

  • Schön das so viele hier diskutieren. Ich wollte das Projekt erst gar nicht anfangen, aber weil ihr so viele Ideen habt hab ichs mir mal anders überlegt, weil das wirklich ziemlich lustig wird :D.
    Aber ich scheitere an der einzigsten Grundlage für das Programm: Das Programm muss lernen!? Aber How-To? Ich brauche erst einmal Informationen, die habe ich schon. Aber wie kann das Programm daraus lernen? Analysieren und daraus Schlüsse ziehen ist ja ohne weiteres möglich, aber wie kann das Programm denn wirlich lernen?

    Nur keine Hektik - das Leben ist stressig genug

  • Zuerst mal, was sollte es überhaupt lernen? ;) Was(Welche Programme) man gerne braucht?

  • Also man darf den Menschen grundsätzlich nie mit dem PC vergleichen.
    Wir lernen doch auch nur durch andere Aktionen - ABER wir haben bereits die Fähigkeit zu lernen durch:
    Sehen, Hören, Sprechen, Fühlen, Riechen, das Gehirn.
    Vergiss also nie dass wir dieses Programm was uns das lernen lehrt, unser Gehirn, angeboren ist.

    Und man müsste eben ein Gehirn schreiben, was lernen kann.

    Es gibt sehr viele Leute, die glauben. Aber aus Aberglauben.
    - Blaise Pascal

  • Ein Gehirn arbeitet einfach völlig anders als ein PC. Wenn du eine lernfähige Software schreiben willst, müsstest du dafür sorgen, dass sie entscheiden kann ob 2 verschiedene Dinge zusammengehören obwohl sie nicht exakt gleich sind. Das menschliche Gehirn macht das auch, nur wesentlich komplexer.

  • ich wurde sagen man kann ein programm nicht min einem gehirn vergleichen und wenn du es vergleichst es hat auch millionen jahre gedauert bis es sich entwickelt hat :D

  • Ich finds einfach lustig, dass so "kleine" Leute hier über solche Dinge diskutieren, wobei sie überhaupt selbst kaum Ahnung haben, wie überhaupt ein PC funktioniert und diese wollen ein menschliches Gehirn nachprogrammieren.
    Glaubt mir, wäre das so simpel wie ihr es hier beschreibt, wären schon die besten Roboter programmiert werden und glaubt mir, an den mechanischen Bewegungen haperts in der heutigen Zeit eher nicht, sondern viel mehr am Denken (KI).
    Diese Leute bekommen viel Geld, sie verstehen einiges auf dem Gebiet und bekommen es nicht hin.

    Fakt ist jedoch, dass eine sich-weiterkompilierende-Software unnötig ist, da man diese ganzen Informationen perfekt in Dateien speichern kann.

  • Der Unterschied ist, dass wir Menschen Gefühle und ein Gewissen besitzen.
    Wir unterscheiden nicht stupuide, wie ein Computer, zwischen irgendwelchen Fakten.
    Wenn man einem Computer "beibringen" KÖNNTE, nur die Wahrheit zu sagen, würde er dann für seine "Freunde", "Geliebte" lügen?
    All unsere Entscheidungen werden davon beeinflusst.
    Für meinen besten Freund, würde ich alle meine Aktionen und Reaktionen verändern, da mein Gewissen sagt: "Tus für ihn".

    Das ist der wichtige Unterschied.

  • Mal ganz ehrlich es ist von mir aus ne super idee sowas zu machen ... ein PC der selber lernt.
    Oder ein Programm aber trotzdem würde ich sowas nicht machen bzw ich würde eine programm nur das machen lassen wofür ich es geschrieben habe.
    Und auch nicht mehr informationen geben.
    Ich finde es kann nicht so schwer sein sie alle möglichkeiten aufzuschreiben und auszumalen.
    Vorallem wenn das Programm selber lernt für was braucht man noch programmierer mal ehrlich?

    Idee is toll von mir aus auch umsetzbar aber nicht wirklich nötig.
    Ich hätte viel lieber ne hand voll menschen in nem AKW als ein Programm das es autonom steuert

    vorallem denke ich noch das das Problem echt im filtern liegt, denn die KI würde dan von mir, genau so wie von Hitler oder Captain Kirk lernen ?
    vlt blödes Beispiel aber ich finde das bringt es auf den punkt

  • Eigentlich ist das Problem doch: Unser Gehirn hat die Fähigkeit zu lernen - Ein Programm hat auch die Fähigkeit zu lernen, aber nur das was es lernen kann, es kann nicht lernen zu lernen ;)

    Es gibt sehr viele Leute, die glauben. Aber aus Aberglauben.
    - Blaise Pascal

  • "Wir" wohl kaum, das schafft sowieso niemand; imnmernoch: Ein Programm kann nur lernen was es lernen kann, aber es kann nicht lernen zu lernen ;)

    Es gibt sehr viele Leute, die glauben. Aber aus Aberglauben.
    - Blaise Pascal