Laden...

Wie finde ich ein Pattern für ein bestimmtes Problem

Letzter Beitrag vor 19 Jahren 7 Posts 3.020 Views
Wie finde ich ein Pattern für ein bestimmtes Problem

Stichwort Pattern Mining: Wird zwar in einigen Büchern kurz angerissen aber in die Tiefe wird nicht gegangen. Google gibt ebenfalls recht wenig zu diesem Thema her.
Wisst Ihr was zu diesem Thema oder habt Ihr sogar Quellen?

Gibt es andere Wissenschaftliche Methoden (neben Googeln, Bibliotheken- und Zeitschriftenrecherche...)?

Gruß Markus

Du kannst z.B. hier suchen:

Shareaza/EDonkey (oft werden hier kurze einschlägige PDFs zum Download angeboten)

Google groups (da guckt zu meinem oftmaligen Erstaunen fast keiner nach)
du kannst auch in den groups aktiv teilnehmen. Es wird bestimmt jemand Deinen Beitrag beantworten.

Yahoo.de (yahoo bringt oft ganz andere Suchergebnisse)

Bibliothekenserver von Unis per Telnet (z.B. Stuttgart), dort kannst Du suchen welche Bücher es zum Thema gibt.

Universitäten anschreiben. Gibt es z.B. einen Lehrstuhl für Data mining? Dann wirst Du wenn Du den entsprechenden Prof anschreibst normalerweise fündig.
Kannst ja auch anrufen und Dich am Telefon als Student ausgeben. Man hilft Dir gerne weiter...

Frag in einem Forum zu KI bzw. engl. AI nach.

Google selbst sucht Leute zu diesem Bereich. Ich meine wenn Du nach google faq in google selber suchst, solltest Du auch fündig werden!?

Frag im IRC-Chat bei Topic-Channels nach, die Deinem nahe verwandt sind.

Du kannst auch in Voice-Chats nachfragen.

Ich denke mal die Möglichkeiten sollten Dich weiter bringen.

Such nach verwandten Kategorien, vielleicht auch in anderen Sprachen z.B.
Mustererkennung.

Mit einem Newsreader suchen, z.B. Gravity oder direkt in Google...

Kombiniere die Suchergebniss in Google mit dem Or-Operator (Pipe-Symbol)

Ach ja:

Erstell dir Google alerts, die du per E-Mail bekommst, wenn es etwas neues zu dem Thema gibt.

Direkter Vorschlag, diese google groups abonnieren:

comp.software.patterns

eine aus dieser Liste:

http://groups.google.de/groups/dir?lnk=gh&hl=de&sel=33583203

comp.ai
comp.ai.alife
comp.ai.digest
comp.ai.doc-analysis.* (2)
comp.ai.edu
comp.ai.fuzzy
comp.ai.games.* (1)
comp.ai.genetic
comp.ai.jair.* (2)
comp.ai.nat-lang
comp.ai.neural-nets
comp.ai.nlang-know-rep
comp.ai.philosophy.* (1)
comp.ai.shells
comp.ai.vision

So, hoffe geholfen zu haben.

Seit der Erkenntnis, dass der Mensch eine Nachricht ist, erweist sich seine körperliche Existenzform als überflüssig.

Msdn

Pattern sind eine feine Sache. Oft werden sie aber auch falsch verstanden. Es gibt Leute, die versuchen für jede Aufgabe in ihren Programmen ein passendes Pattern zu finden und bauen dieses gezungenermassen ein. Ich hab schon Leute getroffen, die ein Observer-Pattern von Hand in ihre C#-Programme eingebaut haben. Dabei gibt es in C# Events bzw. Delegaten, die viel Leistungsfähiger sind.

Patterns eher als Richtlinien zu verstehen. Es ist einfach gut ein paar Konzepte zu kennen, wie man was aufbauen kann. Oft passen Pattern erst dann richtig zum Problem, wenn man sie etwas abwandelt.

Es gibt Bücher mit Pattern-Sammlungen, es gibt Foren und natürlich die MSDN. Im Patterns & Practise Bereich der MSDN Library findest Du eine vielzahl von Pattern beschrieben. Außerdem gibt es Implementierungsbeispiele:

http://msdn.microsoft.com/library/en-us/dnpatterns/html/MSpatterns.asp?frame=true

Der Sinn von Pattern Mining ist das erkennen , isolieren und dokumentieren von Pattern. Das bezieht sich aber nicht auf bereits bekannte Pattern, sondern auf die Entwicklung von neuen Entwurfsmustern. Irgendwer muss die Pattern ja entwerfen. Dabei geht niemand so vor: So jetzt entwerfe ich ein neues Pattern für ... .

Patterns entstehen meistens beim Lösen von neuen Aufgaben und der Arbeit mit neuen Technologieen. Deshalb ist es wichtig modular und strukturiert zu programmieren. Egal ob es ein kleines oder großes Projekt ist. Besonders wichtig sind auch saubere Schnittstellen. In einem "Wurstel-Code" wird man nur schwer neue Pattern erkennen, die man allgemein zu Lösung bestimmter Aufgaben einsetzen kann. Pattern Mining bedeutet, wiederverwendbare Lösungswege in eigenem Code zu erkennen und diese zu dokumentieren (damit andere auch davon profitieren können). Mit der Zeit sammelt man ein Schatzkiste von Pattern an, auf die man immer wieder zurückgreifen kann. So werden die eigenen Programme in immer kürzerer Zeit entwickelt, da man auch gespeichertes Wissen zurückgreifen kann. Deshalb ist es auch wichtig, bestehende Pattern zu kennen, damit man das Rad nicht ein zweites Mal erfindet.

@Rainbird: Sorry, aber ich glaube er meint etwas ganz anderes.

Pattern Mining bezeichnet das (halb-)automatische extrahieren von bestimmten Mustern in Daten (z.B. Mustererkennung in Bildern) und automatisches dokumentieren derselben.

Das hat IMHO rein gar nichts mit Software-Design-Patterns zu tun...

Ok, hab gesehen, dass du selber weiter unten was dazu gesehen hast. Wenn das ein Admin liest, bitte DIESEN Beitrag löschen...

Seit der Erkenntnis, dass der Mensch eine Nachricht ist, erweist sich seine körperliche Existenzform als überflüssig.

Warum schreibt er dann folgende Überschrift:

"Wie finde ich ein Pattern für ein bestimmtes Problem"

Vielen Dank für die Antworten:

@dr4g0n76: Den großteil deiner Vorschläge habe ich bereits im Vorfeld umgesetzt...

Die Sache ist die: bei meinem Problem geht es weder um die konkrete Implementierung noch um fertigen (oder geplanten) Quellcode.

Ich habe einfach einige "in Prosa ausgedrückte" Probleme für die ich Muster benötige. Meine Frage war nun ob es außer dem manuellen Recherchieren in diversen Quellen und Bibs weitere Möglichkeiten gibt, bzw. wissenschaftliche Ansätze mit denen man gewisse Entscheidungen bzgl. der Musterauswahl begründen kann... Aber wie gesagt. das ganze auf der höchsten Abstraktionsebene ohne Quellcodes, etc...
Es geht einfach um ein "Muster zur Musterfindung" 😉

>Es geht einfach um ein "Muster zur Musterfindung" 😉

Da gibt es zur Zeit nur das "GMV-Tool".