MichelM: Künstliche Intelligenz ?

Hallo,

kennt jemad eine URL oder Beispiele zu Implementation von künstlicher Intelligenz in PHP,Perl,CGI,Python oder ähnlicher Serversprachen. Es kan n auch die Kombination von JavaScript/ActionScript und der Serversprache sein. (nur kein Java-Servlet oder Applet).
Das einzige was ich fand, war so ein Spass-Chat, oder Avatare, die aber nicht in den Bereich KI fallen, sondern mehr in den Bereich Zufallsgenerator. Lisp und Prolog kämen auch nicht in Frage.
Mein Ziel wäre aber, mal das Experiment oder ein Projekt anzugehen, das es erlaubt, lernfähige websites zu erstellen, e.g in Form von Avataren oder "intelligenten" Spielen. Für den Anfang würde auch ein einfacher Merken-und-bei-Bedarf-Anwenden-Alg. reichen.

Bitte auch pro-und-contra-KI-im-Web-Meinungen posten !

Danke schonmal für die Antworten :)

Michael

  1. sers..

    ich weiß das posting is jetzt ziemlich sinnlos, aber ich find da machste dich an vieeeel Arbeit aber auch an ein sehr interessantes Thema ran ;)

    bye

    1. Hi,

      ich weiß das posting is jetzt ziemlich sinnlos,

      ja, meins aber nicht minder :-)

      aber ich find da machste dich an vieeeel Arbeit aber auch an ein sehr interessantes Thema ran ;)

      Vor allem ist das Thema in höchstem Maße komplex, Stichwort neuronale Netze und so... Mit "URLs und Beispielen" ist da nur schwerlich geholfen, da gehört zunächst einmal eine unerhörte Menge[1] Theorie zu. Allenfalls könnte ich mir vorstellen, dass irgendwo hinreichend ausführlich und ohne diese Theorie verständlich erklärt wird, wie man derartiges in einer zustandslosen Umgebung wie HTTP implementiert :-)

      Cheatah

      [1] In der Größenordnung einiger Semester.

  2. Hallo Michael,

    kennt jemad eine URL oder Beispiele zu Implementation von künstlicher Intelligenz in PHP,Perl,CGI,Python oder ähnlicher Serversprachen. Es kan n auch die Kombination von JavaScript/ActionScript und der Serversprache sein. (nur kein Java-Servlet oder Applet).

    Fertige Beispiele kann ich dir nicht nennen. Aber KI sollte man mal so definieren, dass man zumindest eher weiss, wonach man suchen soll. Generell sollte man denke ich nur solche Systeme als KI-faehig bezeichnen, die lernfaehig sind. D.h. Programme, die aus allen Entscheidungen, die sie bislang getroffen haben, Erfahrungen ziehen, und die diesen Erfahrungsschatz als Entscheidungs-"Spielraum" in neue Entscheidungen mit einbringen. Dazu gehoert wesentlich mehr als eine moeglichst umfangreiche Serie von if-elseif - oder switch(case)-Abfragen. Die Bedingungen, aufgrund derer eine Entscheidung getroffen wird, sollten nicht oder nur teilweise fix einprogrammiert sein. Das Programm muss in der Lage sein, sich seine eigenen Kontrollstrukturen aufgrund selbst gespeicherter Daten zu erweitern und zu verfeinern.

    Es gibt glaube ich noch nicht sehr viele Programme, die das tun. Und wenn, dann auf einem so primitiven Niveau, dass sie mehr schaden als nutzen. Beispiel: Office 2000 und seine Vorstellungen von "Mitdenken". Das ist KI, wie sie nicht sein sollte: aufdringlich, bevormundend und nur allzuleicht als nicht-menschlich, als programmiert erkennbar. Da Office 2000 nicht merkt, wenn der User genervt ist von seiner Mitdenkerei, ist es nicht wirklich KI-faehig. Denn ein KI-faehiges Programm wuerde auch das merken.

    Die Messlatte fuer echte KI haengt also sehr hoch. Und deshalb gibt es auch nur wenige echte KI-Projekte. Und diese wahrscheinlich eher im wissenschaftlichen Bereich oder im Hightech-Bereich, dann aber nicht unbedingt als Web-Anwendung "ausgestellt".

    Aber vielleicht kommen ja doch noch ein paar Links ... ;-)

    viele Gruesse
      Stefan Muenz

    Das einzige was ich fand, war so ein Spass-Chat, oder Avatare, die aber nicht in den Bereich KI fallen, sondern mehr in den Bereich Zufallsgenerator. Lisp und Prolog kämen auch nicht in Frage.
    Mein Ziel wäre aber, mal das Experiment oder ein Projekt anzugehen, das es erlaubt, lernfähige websites zu erstellen, e.g in Form von Avataren oder "intelligenten" Spielen. Für den Anfang würde auch ein einfacher Merken-und-bei-Bedarf-Anwenden-Alg. reichen.

    Bitte auch pro-und-contra-KI-im-Web-Meinungen posten !

    Danke schonmal für die Antworten :)

    Michael

    1. Moin Stefan

      Da Office 2000 nicht merkt, wenn der User genervt ist von seiner Mitdenkerei, ist es nicht wirklich KI-faehig. Denn ein KI-faehiges Programm wuerde auch das merken.

      Dann hast Du's ihm vielleicht nicht deutlich genug gezeigt (in _seiner_ Sprache meine ich)? Ich spreche aus eigener Erfahrung, denn meine ersten Kommunikationsversuche in die Richtung blieben auch erfolglos, da Office 2000 auf Zurufe wie "Schnauzehauab!" oder "Ohmanno, nich du schon wieder!" nicht reagierte. Is ja auch klar, hat mein Computer doch keine Ohren...

      Nachdem ich es dann mit dem Ausknipsen der Funktion "Hilfe-Assistent" probiert hatte, ging's eine ziemliche Weile gut. Ob das allerdings jetzt bedeutet, daß Office 2000 über Intelligenz verfügt, wage ich nicht zu beurteilen... ;o)

      (Okay, damit hab ich meine heutige Dosis Microsoft-Spöttelei abgesondert und bin jetzt wieder still... ;o))

      Herzliche Grüße,
      Meg

      1. Hallo Meg,

        "Schnauzehauab!" oder "Ohmanno, nich du schon wieder!"

        Jaja, es ist schon interessant, was die Menschen so reden mit ihren PCs. Ich selber neige in solchen Faellen meistens dazu, mich an eine imaginaere menschliche Person im Raum zu wenden (weil ich es offenbar nicht fuer wuerdig befinde, direkt mit dem gescholtenen Rechner zu reden) und sage dann zu dieser Person, gleichzeitig mit boesen Finger auf den Rechner zeigend, so Sachen wie "hey, guck dir das an, was der da macht, das kann doch nicht wahr sein!"...

        Nachdem ich es dann mit dem Ausknipsen der Funktion "Hilfe-Assistent" probiert hatte, ging's eine ziemliche Weile gut. Ob das allerdings jetzt bedeutet, daß Office 2000 über Intelligenz verfügt, wage ich nicht zu beurteilen... ;o)

        Ja, das erste, was man nach einer Office-2000-Installation machen muss, ist, diesen ganzen Mist abzustellen. Aber das kann dauern. Wenn man die Bueroklammer gekillt und dafuer gesorgt hat, dass die Menuepunkte immer am gleichen Ort stehen, lauert das Grauen noch in den Tiefen - z.B. wenn Word versucht, nummerierte Listen automatisch zu erkennen oder der Meinung ist, in einem Wort dürfen keine zwei Großbuchstaben nebeneinander vorkommen (auch wenn es eine Abkuerzung ist) usw. Je mehr man von dem Zeug deaktiviert, desto intelligenter und besser angepasst kommt einem das Programm schliesslich vor. Klar, das koennte einen zu der Behauptung verleiten, kuenstliche Intelligenz bei Software bestehe darin, dass die Software auf alle Versuche verzichtet, so was wie kuenstliche Intelligenz zu besitzen. Vielleicht ist es ja auch tatsaechlich so, und die Sache mit der KI ist nur einer der vielen abstrusen Wuensche, die Menschen in ihrer Geschichte schon hatten ...

        viele Gruesse
          Stefan Muenz

    2. Hallo Stefan,

      ich dachte da vielleicht an z.B.:
      onerror=lerne_diesen_Fehler_und_mache_in_nicht_mehr("gehirnJS.pl");
      (gem. try..catch..finally  merken und ausschliessen), das Serverscript erzeugt dann diese Fehler bei bestimmten Browsern nicht mehr, sodass Abfrage wie document.layers etc. gar nicht erst angewendet werden müssen, eine browscab.ini wird automatisch erweitert.)

      wäre schonmal so der erste Schritt,
      der zweite Schritt wäre die website dem Benutzerverhalten anzupassen,
      die website verbessert sich ständig selbst.

      Beispiel: Ich habe eine Seite, die interaktiv personalisiert werden kann,und Elemente der Seite wie Fenster weggeklickt werden können oder per drag&drop verschoben werden.
      Nun ändert sich das Besucherverhalten bezüglich der Ergonomie vielleicht ständig und die Seite passt sich diese automatisch an, z.B. die beliebtesten Farben und Schriftgrössen immer beim 1.Besuch, genauso die am meisten verwendete Menueeinstellung, die meist besuchten Themen usw. wäre ja noch einfach mit einem Counter zu lösen. Jetzt soll aber die website anhand einer Statistik lernen, die Besucherwünsche im voraus zu berechnen und das ist eben mit Wahrscheinlichkeit und "Intelligenz" zu lösen. Ich könnte hier auch einfach einen Zufallsgenerator einsetzen,z.B. die am meisten benutzten Farben zufällig auswählen, aber das wäre ja nicht so interessant als webexperiment ;-)
      Da die Seite dann auch interaktiv ist und von Besuchern Worte eingegeben werden können, soll die Seite Worte und Antworten lernen, also mittels eines Avatars auch mit dem Besucher sich unterhalten (chatten)können..

      Das ist sicher ein bisschen gesponnen, aber doch mal eine Sache so zum Nachdenken und Knobeln..

      Ciao

      Michael

      1. Hallo Stefan,

        ich dachte da vielleicht an z.B.:
        onerror=lerne_diesen_Fehler_und_mache_in_nicht_mehr("gehirnJS.pl");

        Auja, das ist es, darauf hat die Softwareentwicklungsindustrie schon seit Jahren gewartet: aufgefangene Fehler werden einfach nicht mehr gemacht! _Die_ Lösung all unserer Probleme!
        Aber... Moment, da war doch noch was...
        Was ist mit den Fehlern, die nur temporär oder aus bestimmten Situationen heraus oder aufgrund von Fehlbedienung auftreten?
        Z.B.: "Die Seite ist zur Zeit nicht erreichbar" - Soll er jetzt gar nicht mehr versuchen, die Seite zu finden?
        "Die Datei wurde nicht gefunden" - tja, dann versuchen wir halt gar nicht mehr, auf irgendwelche Dateien zuzugreifen.
        Nene, so einfach geht das nicht.

        Beispiel: Ich habe eine Seite, die interaktiv personalisiert werden kann,

        Alter Kaffee. Personalisierte Sites sind mitlerweile auch schon wieder out. ;-)

        Nun ändert sich das Besucherverhalten bezüglich der Ergonomie vielleicht ständig und die Seite passt sich diese automatisch an, z.B. die beliebtesten Farben und Schriftgrössen immer beim 1.Besuch,

        Ja klar, alle Webseiten werden in meiner Lieblingsfarbe angezeigt! Aber... wo bleibt denn dann die Individualität einer Seite? Ich halte es für wichtig, dass jede Site ihren eigenen Stil hat.
        Les mal in "Stark, der Traumdetektiv" von Michael Marshall Smith die Beschreibung des "Farben-Viertels". Das kommt Deinen Ideen sehr nahe...

        VG Simon

      2. Hallo Michael,

        Nun ändert sich das Besucherverhalten bezüglich der Ergonomie vielleicht ständig und die Seite passt sich diese automatisch an, z.B. die beliebtesten Farben und Schriftgrössen immer beim 1.Besuch, genauso die am meisten verwendete Menueeinstellung, die meist besuchten Themen usw. wäre ja noch einfach mit einem Counter zu lösen.  Jetzt soll aber die website anhand einer Statistik lernen, die Besucherwünsche im voraus zu berechnen und das ist eben mit Wahrscheinlichkeit und "Intelligenz" zu lösen. Ich könnte hier auch einfach einen Zufallsgenerator einsetzen,z.B. die am meisten benutzten Farben zufällig auswählen, aber das wäre ja nicht so interessant als webexperiment ;-)

        Im Prinzip laesst sich so was mit Cookies loesen. Eine Seite im Web speichert verschiedene solcher Informationen gut verdichtet in einem einzigen Cookie-String und erweitert diesen, wenn sie neues ueber den Anwender "herausfindet" (was sie sowohl client-seitig mit JavaScript als auch serverseitig tun kann, sofern sie eine dynamisch generierte Seite ist). Helfen tun ihr ausserdem noch solche Sachen wie "Anwender-relative Farbangaben" in CSS (vergleiche http://selfhtml.teamone.de/css/formate/wertzuweisung.htm#farben). Aber ob man mit all diesen Dingen tatsaechlich ueber jenes Stadium hinaus kommt, das ich im Posting vorher als aufdringliches und bevormundendes Mitdenken seitens der Software bezeichnet habe, wage ich doch leicht zu bezweifeln.

        Am wohlsten fuehle ich mich bei Software, die ich selber sehr weitgehend konfigurieren und individuell anpassen kann, die mir aber in keiner Weise irgendetwas von diesen Anpassungen "aufdraengt". Ich freue mich immer bei Programmen, wenn ich dort einen ueppigen Preferences-Dialog finde. Aber ich mag es zum Teufel nicht, wenn sich ein Programm beim naechsten Aufruf anders verhaelt als beim letzten mal, nur weil es aufgrund irgendwelcher Statistiken glaubt, mir mit dem veraenderten Verhalten eine Freude zu machen. Software ist fuer mich nun mal kein Mensch, und eigentlich schaetze ich an Software gerade die Berechenbarkeit im Verhalten (Menschen lassen diesbezueglich oft zu wuenschen uebrig, was aber wiederum auch gut ist, sonst waere es verdammt langweilig auf der Welt ;-).

        Da die Seite dann auch interaktiv ist und von Besuchern Worte eingegeben werden können, soll die Seite Worte und Antworten lernen, also mittels eines Avatars auch mit dem Besucher sich unterhalten (chatten)können..

        Lernfaehigkeit bei Interaktion dieser Art halte ich durchaus fuer einen sinnvollen Anwendungsbereich von KI. Denn da will der Anwender ja, dass sich die Software tendenziell "menschlich" verhaelt, und er wird es nicht negativ, sondern positiv bewerten, wenn sich die Software etwa beim Chatten nicht wie berechnet verhaelt. Denn die Bedeutung von etwas Gesagtem ist eigentlich nichts anderes als der Grad, in dem man nicht erwartet hat, dass gerade dies gesagt werden wuerde. Bei solchen kontrollierten Anwendungen also macht KI Sinn. Aber weniger bei der Programm-Bedienung - so zumindest meine Meinung.

        viele Gruesse
          Stefan Muenz

  3. Hallo,

    kennt jemad eine URL oder Beispiele zu Implementation von künstlicher Intelligenz in PHP,Perl,CGI,Python oder ähnlicher Serversprachen. Es kan n auch die Kombination von JavaScript/ActionScript und der Serversprache sein. (nur kein Java-Servlet oder Applet).
    Das einzige was ich fand, war so ein Spass-Chat, oder Avatare, die aber nicht in den Bereich KI fallen, sondern mehr in den Bereich Zufallsgenerator. Lisp und Prolog kämen auch nicht in Frage.

    Vielleicht nicht nach KI (künstlicher Intelligenz) sondern nach AI (artificial intelligence) suchen?
    Glaube zwar kaum, daß Du etwas in PHP, Python oder gar Javascript finden wirst (Bei Perl bin ich mir da nicht so sicher ;-) BTW: CGI ist "nur" ein Wrapper, keine Sprache) aber hier habe ich mal für Dich in meinen üblichen Quellen durchsucht:

    http://freshmeat.net/search/?q=AI+intelligence&section=projects
    http://sourceforge.net/search/?type_of_search=soft&exact=1&words=AI+intelligence

    Mein Ziel wäre aber, mal das Experiment oder ein Projekt anzugehen, das es erlaubt, lernfähige websites zu erstellen, e.g in Form von Avataren oder "intelligenten" Spielen. Für den Anfang würde auch ein einfacher Merken-und-bei-Bedarf-Anwenden-Alg. reichen.

    Dann vielleicht Selbermachen? ;-)
    http://www.google.com/search?q=AI+intelligence

    Bitte auch pro-und-contra-KI-im-Web-Meinungen posten !

    Da würde ich die comp.ai* Newsgroups empfehlen. Leider kenne ich keine genauer, kann also keine exakte Empfehlung aussprechen. Allerdings gibt es comp.ai (moderated), wäre vielleicht ein Anfang (weniger Rauschen ;-)

    so short

    Christoph Zurnieden

  4. Moin

    kennt jemad eine URL oder Beispiele zu Implementation von künstlicher Intelligenz in PHP,Perl,CGI,Python oder ähnlicher Serversprachen. Es kan n auch die Kombination von JavaScript/ActionScript und der Serversprache sein. (nur kein Java-Servlet oder Applet).

    nicht ganz ernst gemeint:

    http://www.assoziations-blaster.de/forum.de.selfhtml.org/?m=74686&t=13472

    Ich finde ja, der Assoziations-Blaster hat viel mit KI zu tun :-)

    Bitte auch pro-und-contra-KI-im-Web-Meinungen posten !

    Wobei: Ich bin mir nicht mal sicher, was KI denn nun eigentlich so genau sein soll: Das imitieren von "natürlicher" Intelligenz (was immer _das_ denn auch ist ...); Oder was "besseres", "anderes" als "menschliche" Intelligenz (was immer _das_ nun wieder ist ..) oder was?.
    Nehme ich Stefans These (wonach Intelligenz mit Lernfähigkeit einhergeht), dann fürchte ich, dass es z.B. genug "intelligente" Menschen gibt, die nicht wirklich lernfähig sind.

    Noch weniger sicher bin ich mir, ob der Stellenwert, der  Intelligenz gemeinhin einnimmt, nicht tendentiell überhöht ist. Ich fahr im Moment ja eher auf Gefühl ab (was immer _das_ denn nun wieder ist :-))))

    Viele Grüße

    Swen

    1. Hallo Swen

      Noch weniger sicher bin ich mir, ob der Stellenwert, der  Intelligenz gemeinhin einnimmt, nicht tendentiell überhöht ist. Ich fahr im Moment ja eher auf Gefühl ab (was immer _das_ denn nun wieder ist :-))))

      Womit wir beim Thema "Computer und Gefuehle" waeren. Na OK, dann lasst uns mal alle wieder die alte Kamelle aus NDW-Zeiten mitsingen, als Computer noch richtige Maschinen waren:
      http://www.tzwaenn.de/lyrics/Paso_Doble_-_Computerliebe.html ;-)

      viele Gruesse
        Stefan Muenz

  5. Hi Michael,

    kennt jemad eine URL oder Beispiele zu Implemen-
    tation von künstlicher Intelligenz in  ...
    Serversprachen. Es kan n auch die Kombination von
    JavaScript/ActionScript und der Serversprache sein.
    (nur kein Java-Servlet oder Applet).

    wie Du selbst schon bemerkt hast, ist ein unverzicht-
    bares Element von Intelligenz die Verfügbarkeit eines
    Gedächnisses. "Lernen" besteht daraus, den Inhalt die-
    ses Gedächtnisses zu erweitern - es ist also ein
    Schreibzugriff auf dieses Gedächtnis erforderlich.

    Gleichzeitig möchtest Du aber die Lernfähigkeit der
    KI-Anwendung individuell auf den einzelnen Benutzer
    bezogen sehen. Das erzwingt die zusätzliche Anforde-
    rung, daß die KI-Anwendung den Benutzer erkennen kann.

    Mit diesen beiden Forderungen bist Du allerdings bei
    HTTP, einem zustandslosen Protokoll ohne zuverlässige
    Identifikation (das ist _nicht_ dasselbe wie Authenti-
    fizierung!) eines Benutzers schon mal schlecht aufge-
    hoben. Es hat schon seinen Grund, weshalb Netscape
    die HTTP-Spezifikation um Cookies erweitert hat; es
    hat seinen Grund, weshalb es in PHP ein Paket zur
    Behandlung von Sessions gibt.
    Sessions kommen dem, was Du für ein persönliches,
    schreibbares Gedächtnis mindestens brauchst, nahe
    genug für den praktischen Einsatz; aber Sessions sind
    für HTTP-Anwendungen immer ein Fremdkörper, egal mit
    welcher Krücke sie implementiert werden.

    Insofern solltest Du Dich erst mal mit KI als solcher
    beschäftigen und den gesamten Anwendungsbereich von
    Web & Co. außen vor lassen. Wenn Du im Bereich von KI
    fit genug bist, um die konkreten Voraussetzungen des
    jeweiligen Einsatzfalles zu überblicken, dann wirst
    Du auch in der Lage sein, zu beurteilen, ob diese in
    einem Web-Kontext gegeben sind oder nicht (und welche
    Realisierungstechniken sich dafür wie gut anbieten).

    Mein Ziel wäre aber, mal das Experiment oder ein
    Projekt anzugehen, das es erlaubt, lernfähige
    websites zu erstellen, e.g in Form von Avataren
    oder "intelligenten" Spielen. Für den Anfang würde
    auch ein einfacher Merken-und-bei-Bedarf-Anwenden-
    Alg. reichen.

    Wenn es denn unbedingt im Web sein muß, dann mach Dich
    in der Tat zuerst mal mit Session-Konzepten vertraut.
    Ob Du Cookies einsetzen darfst, das kann an dieser
    Stelle eine Entscheidung von weitreichender Konsequenz
    sein. In jedem Fall wirst Du aber nicht den Benutzer
    wiedererkennen, sondern den Kommunikationspartner der
    aktuellen Session für denselben halten, der aufgrund
    entsprechender Authentifizierung in vorherigen Sessions
    bestimmte Verhaltensweisen gezeigt hat. Das _kann_
    ausreichen - es kann aber auch zu wenig sein, etwa
    wenn Dein Dialogkonzept die Möglichkeit mehrerer
    gleichzeitiger Dialogsitzungen unter derselben Identi-tät nicht ausschließen würde (wie das bei Server Au-
    thentication beispielsweise der Fall wäre - in diesem
    Falle würde Dein KI-Roboter wahrscheinlich schizophren
    werden) oder wenn es eine vom Benutzer nicht korrekt
    abgeschlossene Session in seinen Daten vorfindet und
    jetzt beim Versuch, unter derselben Kennung eine neue
    Session aufzubauen, irgendwas Sinnvolles mit den ange-
    fangenen Erkenntnissen aus der vorherigen Session-
    Leiche anfangen soll.

    All diese Probleme hat ein WinWord mit seiner doofen
    Büroklammer nicht - das weiß, daß es nicht mehrfach
    laufen kann (weil es das selbst aktiv verhindert), es
    weiß, daß der PC offensichtlich genau einem Menschen
    gehört und nicht mehreren, und es hat entweder den
    letzten Stand seines Wissens erfolgreich abgespeichert
    oder ihn komplett vergessen.
    (Oder ein kaputtes Gedächtnis, das es ggf. einer auto-
    matischen Reparatur zuführen kann, falls die vorherige
    Sitzung mit einem blauen Bildschirm endete. ;-)

    Viele Grüße
          Michael