DMUG-Archiv 2005

Frühere   Chronologischer Index   Spätere
Vorherige   Thematischer Index   Nächste

Re: Mathematica & G-Programmierung

NachrichtHallo,

und genau *das* ist der Denkfehler, "etwas was programmierbar ist"
sollte es schon sein. Ich glaube aber nicht, das die Aufgabe  
(selbst wenn so eine Datebank existieren würde) "Überprüfe ob eines der
Ausgabe-Pattern  der Funktion Fx[] mit einem der 
Eingabe Pattern der Funktion Fy[] übereinstimmt" programmierbar ist. 
Man nehme nur mal eine Matrix von reellen Zahlen daß kann
z. B.

_?MatrixQ
m:{__?VectorQ} /; Equal @@ (Length /@ m)
m:{__List} /; Length[Dimensions[m]]==2
m_ /; Length[Dimensions[m]]==2
m:{{__}..} /; Equal @@ (Length /@ m)

sein.
ich halte es schlicht für unmöglich die äquivalenz 
dieser Muster zu überprüfen, und selbst wenn es bei diesem
einfachen Beispiel möglich wäre bin ich sicher, das es für ein
allgemeines Objekt nicht geht.
Das es nicht geht, liegt daran, das ein Pattern in einem bestimmten
Zusammenhang gebraucht wird, es aber durchaus sein kann, 
das es noch weitere Zusammenhänge gibt, die von dem Pattern erfüllt werden
die sich aber nicht in dem aktuellen Pattern wiederspiegeln. 
Um solche nicht expliziten Zusammenhänge zu erkennen wurde Mathematica
eine allgemeine Beschreibung eines Objektes benötigen und die kann ein
Computer-Programm nicht haben. Ein Computer kann auch nicht erkennen,
das die Beschreibungen:

"es quakt und lebt am See"
"es ist grün und hat Schwimmhäute"
"es entwickelt sich aus einer Kaulquappe"

alle eine Frosch meinen. Dazu müßte es eine allgemeine 
Vorstellung von einem Ding das "Frosch" heißt haben. 
Hat es aber nicht ! weil es doof und ein Computer-Programm ist.

Tja und eben weil Mathematica bloß Turing vollständig ist, 
geht das nicht.

Und noch was, "objekt-orientiertes Programmieren" funktioniert weder
in Mathematica noch sonst irgenwo ... und selbst wenn es funktionieren
würde, könntes es ein Problem, das eben nicht berechenbar ist nicht lösen.

Man kann so ein System, für ein spezielle Aufgabe, z. B. eine Bild- oder
Signalverarbeitungskette, schreiben, auch in Mathematica. Dann muß man aber
sehr enge Grenzen für die Daten und Parameter setzen. Das wichtigste daran
ist ein "style guide" für die Programmierer damit eine Matrix eben *immer*
mit _?MatrixQ beschrieben wird und nie anders und damit alle Funtionen
immer eine Matrix zurück geben und nie Liste von Ersetzungsregeln mit den 
Matrizen. Allgemein für Mathematica geht es nicht.


Gruß
  Jens


----- Original Message ----- 
  From: Harald Berndt 
  To: Jens-Peer Kuska ; Nowak Robert ; charivari@XXXXXXX.de ; demug@XXXXXXX.ch 
  Sent: Monday, May 23, 2005 10:03 PM
  Subject: Re: Mathematica & G-Programmierung


  Aber Jens-Peer! Sie wollen doch nicht etwa sagen dass etwas was programmierbar ist (also jede "Maschine"- Hallo, Herr 
Turing!) nicht in Mathematica programmierbar ist? Die graphischen Darstellungen die da benötigt werden sind ja nur 
Representationen von Objekten, und Objekt-orientiertes programmieren funktioniert in Mathematica ja nachweisbar. Und 
Mathematica hat ja sogar schon eingebaute database connectivity. Ich sehe da kein Problem!

  Grüsse,
  Harald
    ----- Original Message ----- 
    From: Jens-Peer Kuska 
    To: Nowak Robert ; charivari@XXXXXXX.de ; demug@XXXXXXX.ch 
    Sent: Monday, May 23, 2005 12:35 PM
    Subject: Re: Mathematica & G-Programmierung


    Hallo,

    das diese Behauptung Unsinn ist, kann man sich sehr leicht
    überlegen. Damit eine solche "graphische Programmierung" 
    funktioniert, braucht man eine Datenbank aller Funktionen die
    alle Eingabe-Parameter mit ihren Eingabe-Pattern und die möglichen
    Ausgabe Pattern enthält. Nur so kann man nämlich sicherstellen das
    die graphisch verbundenen Elemente einander nicht völlig 
    sinnlose Eingaben übergeben. 
    Jetzt erinnert man sich aber, das Mathematica 

    a) keine Datentypen kennt
    b) Pattern eine viel allgemeinere Struktur sind als ein bloßer Datentyp

    ein solches System müßte also überprüfen können, ob eines der möglichen
    Ausgabepattern einer Funktion mit einem der möglichen Eingabepattern
    einer anderen Funktion äquivalent ist. Ich glaube nicht, dass das
    auch nur "theoretisch" möglich ist. 

    Sowas funktioniert nur in Sprachen mit einem strengen Typenkonzept
    aber *nicht* in Mathematica, weil Mathematica das völlige Gegenteil
    zu einer getypten Sprache ist.

    Gruß
      Jens

      ----- Original Message ----- 
      From: Nowak Robert 
      To: charivari@XXXXXXX.de ; demug@XXXXXXX.ch 
      Sent: Monday, May 23, 2005 6:04 PM
      Subject: RE: Mathematica & G-Programmierung


      theoretisch ja,
      praktisch ist mir keine erweiterung bekannt.
      müsste ein spezielles frontend sein welches mit dem mma kernel kommuniziert.

      l.g. robert
        -----Original Message-----
        From: charivari@XXXXXXX.de [mailto:charivari@XXXXXXX.de] 
        Sent: Sunday, May 22, 2005 10:31 PM
        To: demug@XXXXXXX.ch
        Subject: Mathematica & G-Programmierung


        Hallo,

        ist es möglich mit Mathematica auch grafisch zu Programmierungen?

        (Vorbild ist hier Labview)

        Besten Dank und Gruss,

        chari



             
              Verschicken Sie romantische, coole und witzige Bilder per SMS!  
              Jetzt bei WEB.DE FreeMail: http://f.web.de/?mc=021193   
Antworten:
Verweise:
Frühere   Chronologischer Index   Spätere
Vorherige   Thematischer Index   Nächste

DMUG DMUG-Archiv, http://www.mathematica.ch/archiv.html