Wednesday, 8. March 2006Fragen an BB
Vor Kurzem bin ich zu DB2 und Performance befragt worden. Leider konnte ich nicht alles vollständig und zu meiner Zufriedenheit beantworten. Ab morgen gibt es auf der CeBit die Gelegenheit, all die offen gebliebenen Themen kompetent schließen zu lassen. Hier ein Auszug der Fragen (Q) und Antworten (A).
Q: Kann man bei der DB2 auch Datenbanken komprimieren? A: Auf jeden Fall bei der neuen Version. Ich bin nicht sicher, was die aktuelle Version 8.2 angeht. AA: "Row Compression" ist ein neues Feature der DB2 Viper und nicht zu verwechseln mit der Komprimierung von Nullen und Standardwerten (VALUE COMPRESSION) der aktuellen Version. Q: Sind die dann Read-only oder noch schreibbar? A: (zensiert) AA: Da in der "Ankündigung" keine Einschränkung hierzu gemacht wurde, werden komprimierte Tabellen wohl auch beschreibbar sein. Q: Hab heute extra mal nen Benchmark laufen lassen. Approx 10k Records pro Stunde... Ist das gut? A: Kommt natürlich darauf an ... (die übliche Antwort bei solchen Fragen nach HW, SW, Größe der Tabelle, Indizes, Schuhgröße des Benutzers usw.) AA: Das klingt immer noch nach keiner guten Performance. Das sollte aber besser am lebenden Objekt, soll heißen an der Tabelle, getestet werden. Q: Macht es eigentlich mehr Sinn 1 mil. Records mit einem Select abzurufen oder anhand des prim. key in 10 Selects aufzuspalten? A: Hast du genug RAM sollte, das egal sein. AA: Das ist wieder so eine "Das kommt darauf an"-Frage: wie will der geneigte Frager die selektierten Daten weiterverarbeiten? An dieser Stelle ist es wieder notwendig, etwas zu APL zu schreiben: Seit ich ihn kenne vertritt Axel G. die Auffassung, dass es stets schneller ist, APL soviel RAM wie möglich zu geben, alle zu verarbeitende Daten in den APL-Workspace zu laden, um dann darauf rumzufuhrwerken. Ich habe dazu stets gemäß Radio Eriwan "Im Prizip ja" gesagt. Letztlich habe ich die Performance einer APL-Anwendung, die viele Inserts und Updates absetzte, um Faktoren verbessert, indem ich der Anwendung weniger RAM gelassen habe. Warum wohl? Da haben sich zwei um all meinen schönen Speicher geprügelt. Zum letzten Q hatte ich dann noch ein A: Du kannst die DB2 so konfigurieren, dass große Resultsets am besten mit viel Speicher performen. AA: Das macht die DB2 inzwischen auch selbst. Per Advisor schlägt sie für eine konkrete Datenbank eine optimale Konfiguration vor. Dem bin ich dann gefolgt und habe nun überraschend gute Antwortzeiten auch bei komplexen bei Selects. Mal sehen was BB dazu auf der CeBit meint. Monday, 6. March 2006Gefahr im Verzug
Sicher, wir hätten ja nachgeben können, d.h. die Unterlassungserklärung unterschreiben und die geforderten Gebühren bezahlen können. Das wäre möglicherweise bequemer gewesen, hätte aber ungeahnte Folgen gehabt:
Unsere Rechtsanwältin erläuterte mir, dass eine Marke, nachdem sie als 10 Jahre eingetragen und genutzt ist, danach nicht mehr zu löschen ist. Dies wäre für "Neuronales Netzwerk" nächstes Jahr der Fall gewesen. Formulierungen mit diesem Begriff wären - wo auch immer angreifbar - geworden. Die Rechtsabteilungen auch der großen Softwarehersteller hätten möglicherweise Einiges zu tun bekommen. Denn viele Statistik-Pakete oder Data Mining Anwendungen implementieren neuronale Netzwerke. Man hätte dies natürlich weiterhin tun können, man hätte aber möglicherweise nicht mehr darüber reden dürfen. Gefahr war also im Verzuge. Die Welt musste wieder einmal gerettet werden. Naja, das ist sicher ein wenig großspurig, aber die akademische Welt hätte schon ein Problem bekommen können. Aber was sind das für Leute, die sich einen Begriff, mit dem sie sicherlich während ihres Informatik-Studiums und sogar während der Promotion gearbeitet haben, für die eigenen Geschäftszwecke aneignen wollten. Da könnte ich ja versuchen, "Homologische Algebra" als Marke anzumelden, um Software, die Gruppen in Cokettenkomplexe auflöst mit dieser Marke zu versehen. Jeder einigermaßen vernünftige Patentanwalt hätte dieses Ansinnen zurückgewiesen. Aber vor fast 10 Jahren hat wohl ein Anwalt im Patentamt herrlich gepennt. Angriff ist die beste Verteidigung
Das konnte und durfte nicht sein!
Wir waren von Anfang an der festen Überzeugung, dass dieses Ansinnen absolut nicht gerechtfertigt war. Denn "Neuronales Netz" ist ein Begriff aus der Künstlichen Intelligenz, einem Forschungsgebiet der Informatik. Hebb und Kohonen würden sich im Grabe herumdrehen, Letzterer allerdings nur, wenn er bereits verstorben wäre. Dieser Begriff konnte nur der Allgemeinheit gehören. Es war also klar, dass wir die uns zugeschickte Unterlassungserklärung nie und nimmer unterschreiben konnten. Im Gegenteil: Die Marke "Neuronales Netz" musste gelöscht werden. Dies war auch die Ansicht unserer Rechtsanwältin, deren Kanzlei glücklicherweise auch auf das deutsche Markenrecht spezialisiert ist. In einem Erwiderungsschreiben an die Kollegen, das vor Paragraphen aus den Markenrecht nur so strotzte, wurde festgestellt, - dass unsere Nutzung des Begriffs "Neuronales Netzwerk" nicht monierbar ist, und - dass deren Mandantin sogar die Löschung der Marke zu beantragen hat, da die Eintragung von vornherein nichtig war, und - dass die Gegenseite unsere Anwaltskosten zu tragen hat. Die Sache fing an Spaß zu machen. Der Sündenfall
Es gibt schon sehr dreiste Menschen ...
Da flatterte doch per Fax Ende Januar uns eine Abmahnung ins Haus. Eine Berliner Anwaltskanzlei monierte auf unseren Webseiten eine Markenrechtsverletzung. So weit so gut. Das kann schon mal passieren, da keiner so genau weiß, worauf alles eine Marke eingetragen ist. Aber dieser Fall war schon ein starkes Stück: Da hatte es doch eine Berliner Firma namens "Public Financial Consulting Gmbh" vor fast 10 Jahren geschafft, den Begriff "Neuronale Netze" als Marke eintragen zu lassen. Daher sah der abmahnende Anwalt die Rechte seiner Mandantin durch unsere Formulierung "Baysian Neural Network Classifier - neuronales Netz ..." auf einer unserer Webseiten verletzt. Wir sind bestimmt nicht die Einzigen, die es gewagt haben, den Begriff "Neuronale Netzwerk" auf ihren Webseiten zu führen. Man google nur mal danach ... Da findet man Universitäten, Pharmaunternehmen, Verlage, Amazon, Softwarehersteller und viele mehr. Für einen Anwalt, in unserem Fall ein Familienrechtler, ist das heute sehr einfach: google nach der "Marke" und mahne alle Firmen und Institutionen ab, die diese auf ihren Webseiten nutzen. Klar, dass der Anwalt seine Mühe den abgemahnten Firmen dann in Rechnung stellen muss. Für einen so gebräuchlichen Begriff wie "Neuronales Netz" kann da schon eine nette Summe zusammen kommen. Und das war sicher auch der Anlass für diese Aktion. Da dachte wohl jemand, er hätte die Lizenz zum Geld drucken gefunden ... Sunday, 5. March 2006Noch mehr Dimensionen?
Nein, das sind genug Dimensionen. Damit wird die Struktur eines Sudokus perfekt modelliert.
5 Dimensionen sind für die meisten von uns schwer vorzustellen, wir haben ja schon Probleme mit 4 Dimensionen. Für APL ist das aber eine noch eher überschaubare Anzahl. Das Maximum von Achsen, die die Struktur einer APL-Matrix haben kann, ist 72. Warum gerade 72? Keine Ahnung. Ist aber heute noch mehr als genug: Man stelle sich vor, jede der 72 Achsen hat eine Länge von 2, so ist die Anzahl der Elemente dieser Matrix eine Zahl mit 22 Stellen. Überraschung
Freitag hatte mir Bernd einen Link zu den Statistiken für diese Domain zugeschickt. Danach war ich, wie nicht anders zu erwarten war, fast alleine hier - nur Bernd und Christiane haben mal vorbei geschaut. Ansonsten habe ich bewusst niemanden von diesem Blog erzählt oder geschrieben. Das soll erst im April geschehen.
Aber da ist mir wohl jemand zuvor gekommen. Wie man hier sieht, hat es prompt gewirkt. Und jede Menge Besucher. "Das Thema mag für den einen oder anderen mehr als gewöhnungsbedürftig sein ...", ja, so soll es sein. APL ist nun mal kein Mainstream. "... aber hin und wieder auch mal sehr interessant, gerade wenn man sich für Mathematik o.ä. begeistern kann." Vielen Dank für den Hinweis auf Mathematik. Ich nehme das als Herausforderung. Aber warte, bis ich zu meinem Thema "Neuronale Netze" komme. The Fifth Dimension
Eine Sudoku-Lösungsmatrix enthält in jeder Zelle des Sudokus alle noch möglichen Lösungen. Wie auch immer das Sudoku dargestellt wird, kann jedes Element der zugehörigen Lösungsmatrix z.B. einen numerischen Vektor mit Werten aus (⍳9) enthalten (⎕io=1). Es geht aber auch anders:
Statt mit Einträgen von unterschiedlicher Länge können für jede Zelle alle noch möglichen Lösungen mit einem boolschen Vektor der Länge 9 repräsentiert werden. Eine 1 an der 5.Stelle eines solchen Vektors bedeutet dann, dass die 5 zur Lösungsmenge gehört. Zusammen mit "Wie könnte also eine Alternative aussehen?" ergibt das eine 3x3x3x3 Matrix mit Vektoren der Länge 9 als Elemente. Diese Vektoren kann man auch entlang einer beliebigen neuen Dimension auftragen. Durch Anwendung von z.B. ⊃[1] erhalte ich eine neue erste Achse, d.h. meine Lösungsmatrix hat letztendlich 5 Achsen der Längen 9,3,3,3,3. Ist SDL diese Matrix, so werden in SDL[5;;;;] alle möglichen Plätze für die 5 mit einer 1 markiert. Auf die so beschriebene Lösungsmatrix werden dann verschiedene Algorithmen angewandt mit dem Ziel schrittweise die Anzahl möglicher Lösungen zu vermindern bis das Sudoku komplett gelöst ist. Saturday, 4. March 2006Wo APL drauf steht, sollte auch APL drin sein
Bisher kam ich in diesem Blog ohne APL-Zeichen aus. Doch jetzt geht es nicht mehr ohne. Es ist schwer, Lösungen mit APL ohne APL-Zeichen darzustellen.
Sehr schlaue Menschen entschieden mal, die APL-Symbole in den Unicode-Zeichensatz aufzunehmen. Eine der wahren weisen Entscheidungen. Moderne Browser unterstützen Unicode, daher ist es kein Problem APL-Code mit Browsern darzustellen: "&#x234E;" ist z.B. die Kodierung für "Execute" (⍎). "A&#x2190;(1,&#x2374;A)&#x2374;A" wird als A←(1,⍴A)⍴A dargestellt. Wie dies letztendlich aussieht, hängt von den in den Browser-Einstellungen definierten Zeichensätzen ab. Durch Nutzung von style-Attributen oder Cascading Style Sheets (css) läßt sich die Darstellung von APL-Sequenzen im Browser noch verbessern, vor allem wenn die unter "font-family" angegebene Schriftart auf dem Rechner installiert ist. Ich werde hier Adrian Smiths "APL385 Unicode" Font eintragen. In der Regel wird es keine Probleme geben, APL-Zeichen auf Rechnern ohne diese Schriftart im Browser darzustellen. Die Verwendung von "APL385 Unicode" in "<pre style="font-family:APL385 Unicode;monospace;">A&#x2190;(1,&#x2374;A)&#x2374;A</pre>" sieht dann so auch: A←(1,⍴A)⍴A
Geschrieben von Axel Holzmüller
in APL
um
19:47
| Kommentare (0)
| Trackbacks (0)
Tags für diesen Artikel: APL, APL-Zeichensatz
Friday, 3. March 2006Fußball und APL
Das Cairos-System gab mir bishjer Anlass zu drei Vorträgen:
Den Erste ging zum Thema "Fußball, Mathematik und APL" unter dem damals schon zum zweiten Male verwendeten Titel "Der Ball ist rund, ein Spiel dauert 10 GB". Ich habe nicht mal ein Copyright auf diese Formulierung. Wenn sie schützenswert wäre, hätte Christiane den Anspruch auf das geistige Eigentum. Das erste mal hat unter dieser Headline Dirk einen von mir erstellten Foliensatz zum Thema Data Minig im Sport auf einer IBM-Veranstaltung in Dortmund vorgetragen. Doch zurück zu APL und Fußball: Ende 2003 bekam ich von Marcus simulierte Positionsdaten über die 10 Sekunden vor und während des ominösen Wembley-Tors. Das waren ca. 20.000 3D-Koordinaten. Mit meinen APL-Baukasten und ein wenig Mathematik konnte ich daraus die Spielzüge als einen Satz von Polynomen reproduzieren. Das war einfach, zu einfach, da es keine real-life Daten waren. Mit echten Daten aus dem Cairos-System hätte ich schon mehr Probleme gehabt. Damals war das System aber noch nicht so weit. So war ich mit Hilfe von Taylor-Reihen schnell erfolgreich. Mit APL und Grundkenntnissen in Analysis machte das auch noch Spaß. Ich habe natürlich versucht, das alles per Präsentation auf einem GSE-APL Treffen rüberzubringen, also quasi zu Hause und im Trikot von Stefan Reuter. Meine Erkenntnisse und Ergebnisse von damals konnte ich seitdem nicht mehr anwenden. Was bleibt ist ein Satz analytischer APL-Funktionen und ... der Beweis, dass der Ball nicht hinter der Linie war! "Fußball und APL" vollständig lesen Thursday, 2. March 2006Fußball, der Vortag an sich
Was wollen wir also erzählen?
Für Christian liegt das auf der Hand: Als erstes muss das System beschrieben werden mit seinen Besonderheiten und Vorteilen vor allem gegenüber RFID- und WLAN-basierten Systemen. Die Lokalisierungsgenauigkeit des Cairos-Systems wird von diesen anderen Ansätzen bei weitem nicht erreicht. Und dann wird als die spannendste Anwendung der Cairos-Technologie das Tracking eines Fußballs während des Spiels vorgestellt. Um das hier klar zu machen: Gestern Abend hätte es der deutschen Mannschaft nicht geholfen, wenn Ball und Spieler getrackt worden wären. Ich hoffe Christian wird einige Beispiele von Daten und Analysen vorführen, die bei der U17-WM in Peru gesammelt wurden. Zum Abschluß seines Parts will Christian noch einen Ausblick auf Lokalisierungsmöglichkeiten, also Einsatz des Cairos-Systems, in anderen Bereichen geben. Nicht nur Football statt Soccer, sondern auch außerhalb des Sports. Mir bleibt danach der Blick mit der Lupe auf das was ich vor einem Jahr in Düsseldorf bei der GSE-APL-Tagung erzählt habe. Und das hat mit meinen Lieblingsbeschäftigungen zu tun: Mathematik und APL. Das wäre dann also ... Ein AP145 Grid drucken
Das war mein Wunsch letztes Jahr, der als Requirement in die Liste der GSE-AG APL aufgenommen wurde. Keine Ahnung, wie die anderen Teilnehmer votiert haben. Trotzdem sollte ich jetzt mal genauer formulieren, was ich eigentlich meine. David hatte mir dazu schon ein oder zwei Fragen gestellt.
Leider habe ich sie nicht per E-Mail bekommen. Dort finde ich: "Printing grids would be nice, but it would be a lot of work" und weiter "If they need it immediately, I suggest you build something for them." Das habe ich auch getan mit meiner Excel-Schnittstelle: Mit den XL_-Funktionen baue ich aus dem APL2 heraus im Excel das Grid noch einmal auf. Das Excel-Grid hat aber keine Verbindung mehr zum APL2, ist also komplett selbständig. Nun kann ich die Druckfunktion mit all ihren Einstellmöglichkeiten nutzen, um das Grid zu drucken. Dies kann aber nur ein Workaround sein. Schöner wäre eine Lösung, die den APL145 um die Möglichkeit erweitert, ein aktives AP145-Grid zu speichern mit der Möglichkeit, den einen oder anderen Parameter hierzu zu setzen. Letzteres ist also zu formulieren und zwar in Englisch ... Fußball
Liebes Tagebuch,
auch dies sollst du wissen: Der Vortrag, den ich vor einem Jahr über das Cairos-System, nach gelagerte Aufgaben und die Modellierung einer mathematischen Lösung mit APL2 in Düsseldorf gehalten habe, wurde inzwischen zweimal weitergereicht - dank Bernd und Dieter. Als Coreferent habe ich Christian Holzer gewonnen, es gibt keinen Besseren zu diesem Thema. Hier nun der Abstrakt dazu: Nun hält die Informationstechnologie Einzug in des Deutschen liebsten Hobbys: den Fußball. Mit Hilfe eines Tracking-Systems sollen in Zukunft Wembley-Tore verhindert werden. Diese Idee war der Start der Cairos AG, die sich zum Ziel gemacht hat, Entscheidungen durch genaueste Lokalisierung von Objekten zu ermöglichen und abzusichern. Trotz einer extrem hohen Frequenz der Positionsmeldungen durch das Cairos-System erfordert es noch weitere Schritte, die Lage des „getrackten“ Objekts zu interpretieren. Am Beispiel Fußball bedeutet das, letztendlich zu entscheiden, ob der Ball sich im Tor, im Toraus, im Seitenaus oder noch im Spielfeld befindet. Mit Hilfe der Positionen der Spieler werden sich in Zukunft damit detaillierte Spielanalysen erstellen lassen. Anhand des Einsatzes im Fußball wird das Cairos-System vorgestellt. Es wird ein weiterer Ausblick auf Anwendungen des Systems in anderen Bereichen gegeben. Die Cairos technologies AG erhielt den diesjährigen Innovationspreis der Deutschen Wirtschaft. Wednesday, 1. March 2006Wie könnte also eine Alternative aussehen?
Warum genestete Strukturen nutzen, die es erst mit APL Systemen der 2.Generation gibt, wenn auch "einfach" mit flachen Strukturen geht:
Ein Sudoku besteht doch aus 9 3x3-Blöcken, die als 3x3-Matrix angeordnet sind. Die Regeln des Rätsels bedeuten zusätzlich, dass die Bedeutung von Zeilen, Spalten und Blöcke jeweils austauschbar sind. Diese Symmetrie-Eigenschaft eines Sudokus ist hervorragend durch eine 3x3x3x3 Struktur darstellbar: [1] s_apl←3 3 3 3⍴Sudoku Eine aus oben genannten Symmetriegründen gleichwertige Variante ist: [2] s_apl←1 3 2 4⍉3 3 3 3⍴Sudoku In der ersten Darstellung [1] erhalte ich die 6.Zeile des 9x9 Sudokus als 3x3 Matrix mit s_apl[2;3;;], in Darstellung [2] dagegen mit s_apl[2;;3;]. So oder so bleibt die Struktur einer Sudoku-Zeile als Tripel aus jeweils 3 Werten erhalten. Das gleiche gilt für Spalten und trivialerweise für Blöcke. Zeilen, Spalten und Blöcke eines Sudokus haben also die gleiche Darstellung, anders als in einem 9x9 Sudoku.
« vorige Seite
(Seite 2 von 2, insgesamt 28 Einträge)
|
KalenderSucheKategorienBlog abonnierenVerwaltung des BlogGetaggte Artikel ap127
apl apl grundfunktionen apl+win APL-Zeichensatz apl2 apl2 mainframe apl2 workstation bi computerwoche data mining data studio data warehouse Datenbanken DB2 DB2 Express-C dwe fußball graphpak Homologische Algebra ibm ids inkompatibilität installation Kompression linux Mathematik Microsoft MS Access ms agent MySQL oracle oracle db oss performance sicherheit softwarequaliät sql SQL Server Standards tpc unique vista visual basic windows XML |