KI in Prolog

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • KI in Prolog

    Hallo miteinander!

    Derzeit beschäftige ich mich damit ein KI programm zu erstellen, welches selbständig lernen und sich auf der Basis der Evolution weiterentwickeln kann!

    Wo finde ich hierzu Beispielprogramme, die man eventuell weiterentwickeln kann ?

    Mit freundlichem Gruß
    Lukic
  • Hallo CYA !

    Leider bin ich ein Anfänger, und die Sprache PROLOG war mir auch unbekannt!

    In der Wirtschaftschule habe ich nur etwas in BASIC programmiert!

    Nun da ich mit Prolog zum KI erstellen nützen kann, würde ich mich in diese Programmiersprache einarbeiten wollen!

    Einige Grundkenntnisse wären vorteilhaft für mich, die ich diese dann ausarbeiten könnte!

    Als erstes würde ich gerne ein ein Eingabefeld programmieren, das selbständig durch das Internet surft, und nach meinen gestellten Fragen sucht!

    Das Prolog-Programm sollte in der Lage sein, sein Wissen auf Basis der Evolutionzu erweitern. Sich selbständig wiederum Fragen stellen, und diese wiederum aus dem Internet beantworten zu können!

    Im Klartext:
    Beispiel: Meine Frage --> "Was ist ein Mensch ?"
    Das Program-Prolog sucht nach Antworten im Internet was ein Mensch ist!

    Er findet heraus, dass der Mensch ein Lebewesen mit Persönlichkeit ist!
    Nun unterteilt PROLOG, zwischen Lebewesen und Persönlichkeit !

    PROLOG stellt sich nun die Frage "Was ist ein Lebewesen ?"
    Sucht wiederum nach Antworten im Internet, was ein Lebewesen ist!"
    PROLOG stellt sich die Frage "Was die Persönlichkeit ist ?" Um diese wiederum zu beantworten!

    Sobald ich das Programm gestartet habe, verbindet es sich mit dem Internet, stellt sich selber Fragen, nach den Kriterien die ich eingegeben habe, und sucht nach Antworten.

    Wie schon erläutert aus den gesuchten Antworten sollen sich wieder Fragen etwickeln!

    Es hört sich zwar kompliziert an, aber da es ja nur eine Intelligente Datenbank darstellen soll, wäre ich sehr erfreut, wenn mir hierbei jemand helfen könnte!

    Natürlich besitzt WIKIPEDIA ein sehr umpfangrwiches Wissen! Deshalb würde ich dieses Wissen gerne verwenden!

    Ich bin über jede hilfe sehr Dankbar!
  • mit welchen Programmiersprachen willst du denn eigentlich arbeiten?
    Ich denke ja kaum, dass du mit Prolog Socketverbindungen zu Wikipedia herstellen willst.

    Und auch das Parsen nach häufig vorkommenden, groß geschriebenen Wörtern (die wohl beste Möglichkeit deinen Begriff mit anderen Begriffen zu verbinden) ist wohl in anderen Programmiersprachen wesentlich bequemer.
  • Hallo !

    Ich wäre sehr erfreut, wenn man mir helfen könnte, die richtige KI - Programmiersprache, für derartige Anwendung zu finden!

    Wie gesagt, da ich wenig Erfahrung in den verschiedenen Programmiersprachen habe, wäre es für mich von Vorteil, gleich die richtige für diesen Zweck zu finden, um mich Schritt für Schritt einzuarbeiten!

    Welche Programmiersprache ist für eine solch "KI - Datenbank" die sich auf evolutionärer Basis weiterenwickelt, am besten geeignet ?

    Besten Dank für alle die mir hierbei behilflich sind!
  • Viel weiterhelfen kann ich dir da nicht. Im nächsten Semester habe ich auch KI zur Wahl. Aber ob ich das belege ist eine andere Geschichte ;)
    Vielleicht kann dir mad da mehr erzählen.

    Ich weiß nicht so recht, wie man Prolog mit anderen Sprachen verbinden könnte.
    Programmieren kannst du das in so ziemlich jeder Sprache. Vielleicht C, weil es rasend schnell ist. Vielleicht Java, weil es objektorientiert ist.
    Aber die sind eben nicht so konzipiert um eine Logik wie die von Prolog abzubilden.

    Es wäre eben das Prinzip:
    Begriff eingeben -> Begriff in Wikipedia nachschlagen -> Text analysieren und nach einem einfachen Algorithmus die am häufigsten vorkommenden Substantive herausfinden.
    Dann Begriff -> Unterbegriffe verknüpfen
    Und jeden Unterbegriff nochmal mit dem Begriff verknüpfen. So entsteht eine riesige Datenbank bei dem etliche relevante Wörter (am besten mit einer Gewichtung) zusammenhängen.

    Das ganze könnte man dann "automatisches Tagging" nennen. Obs einer KI sehr nahe kommt ist ein anderes Kapitel.

    Speziell das Tagging verwende ich auch bei einem Projekt: Ich verbinde ähnlich lautende Suchanfragen und die "KI" gibt auf diese Art Empfehlungen für verwandte Suchanfragen heraus: http://www.coder-suche.de/tagging.jsp
  • Also Prolog ist dafür geeignet Logik abzubilden. Hast du zum Beispiel zwei Aussagen wie "Wenn die Straße nass ist, regnet es" und "es regnet" (sehr sehr einfaches Beispiel), so kannst du in Prolog "beweisen" dass die Straße immer nass ist, wenn es regnet. Das klingt jetzt verwirrend glaub ich.

    Prolog hat auch Programmelemente um Oberflächen zu konzipieren, allerdings weiß ich nicht, wie das mit der Internetkommunikation aussieht.

    Wenn du eine Sprache lernen willst, die dir was bringt, dann solltest du dich für C++ oder Java entscheiden. Die Argumente hat d0nUt schon geliefert. Beide Sprachen sind auf vielen Gebieten anwendbar und daher sinnvoll zu lernen.
    Ich denke, dass du solch eine Sache, die du hier programmieren willst, in C++ hinbekommen kannst. Allerdings gehört viel Disziplin dazu, solch eine mächtige Sprache zu lernen.

    Viel Erfolg!

    cya
  • Hallo

    Da mir dass alles einfach zu lange dauert, die C++ Sprache zu erlernen, besonders nur für diesen Zweck eine KI Datenbank zu schreiben, dachte ich an einen anderen Lösungsweg!

    Bei der Firma "Nice - technilogies" aus Berlin, kann man sich einen PC-Robot kaufen! Nun, da ich schon mit der älteren Version gearbeitet habe, werde ich mir die neue Version ( Kaily 2.0 ) kaufen!

    Kann man eigendlich diese "automatische Taggs" nun in die Software einfügen ?

    Danke für die Auskunft!
  • "SunTzu" schrieb:

    Kann man eigendlich diese "automatische Taggs" nun in die Software einfügen ?


    Wo einfügen? In Kaily? Die wirkt nicht gerade OpenSource, geschweigedenn habe ich auf der Homepage (http://www.nice-technologies.de/kaily-computer_robot.php) irgendwas davon gelesen, dass Sie Schnittstellen zur Verfügung stellt.

    Also denke ich nicht, dass du da irgendetwas einfügen kannst. Eine semantische Suche bietet sie von Haus aus -das stillt zwar die Bedürfnisse des Anwenders, aber ein Entwickler kann damit wohl wenig anfangen.