| PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here! |
 |

11-03-2010, 16:57
|
|
CrazyPip
Registrierter Benutzer
|
|
Registriert seit: Mar 2002
Beiträge: 328
|
|
Mustererkennung bei Zahlenfolgen mit PHP
Hi @all,
ich habe ein Frage und weiss nicht, in wieweit ich eine Lösung mittels PHP realisieren kann.
Also: Ich habe ein Zahlenfolge in einer Tabelle einer Datenbank. Diese besteht lediglich aus 0 und 1.
Bsp.:
0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 1 0 1 0 1 0 0 0 0 0 1 0 0 0 0 0 1
usw (die Zeichenkette wächst ständig an)
Innerhalb dieser Zahlenfolgen befinden sich immer wieder Muster über kürzere oder längere Abschnitte was die Zahl 1 betrifft. Bsp.: Im ersten Abschnitt: 4x0, 1x1, 4x0, 1x1; mittlerer Abschnitt: 1x0, 1x1, 1x0, 1x1, ... usw
Ich würde gerne ein Script schreiben, diese Muster zu identifizieren, sodass man das Kommen der nächsten 1 aufgrund des Musterverhaltens "vorhersagen" kann. Dabei soll berücksichtigt werden, dass die Muster eben nicht immer gleich bleiben, sondern mitunter recht schnell variieren. Wie muss so ein Script angegangen werden? Und wie kann man in so einem Script die Erkennung von Mustern innerhalb eines Musters einbinden? Bsp: 0000001001010101010010000001 Muster 01: 6x0,1x1 und innerhalb dieses Musters ergibt sich Muster 02: 1x0, 1x1
so in der Art
Ich hoffe ich habe die Fragestellung deutlich formuliert^^
Danke für jeden Hinweis und Denkanstoß
cya CrazyPip
|

11-03-2010, 17:23
|
 |
onemorenerd
 Moderator
|
|
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.481
|
|
Was verstehst du unter Muster? Willst du nur bestimmte Folgen erkennen, die du schon kennst, oder suchst du einen Algorithmus, der sich wiederholende Folgen in dem Bitmuster findet? Falls du Wiederholungen suchst, musst du die einschränken - wie lang sollen sie minimal (>= 3 Bit) und maximal sein? Wie geht man mit Überlappungen um? Willst du möglichst kurze oder lange Muster erkennen?
Wenn du aus dem Bitstream erstmal Muster extrahieren kannst, musst du den Algorithmus nur noch rekursiv auf die gefundenen Muster anwenden, um Muster in Mustern zu finden.
|

11-03-2010, 18:50
|
|
CrazyPip
Registrierter Benutzer
|
|
Registriert seit: Mar 2002
Beiträge: 328
|
|
Mit Muster meine ich das Auftreten der Zahl 1 in bestimmten gleichbleibenden Abständen (5x0, 1x1, 5x0, 1x1) . Ich denke, das Auftreten der 1 liegt einem Algorhytmus zugrunde. Da sich der Algorhytmus aber zu verändern scheint, tritt die 1 nicht immer in den gleichbleibenden Abständen auf, sondern sie scheint nach 2 oder 3 gleichen Intervallen in anderen Abständen aufzutreten (5x0 1x1 5x0 1x1 nächster Intervall 10x0 1x1 10x0 1x1 ... ). Dazwischen gibt es aber immer wieder Stellen, in denen 20x0 oder mehr auftreten und danach erst wieder ein neues Muster beginnt. D.h. sobald sich ein neues Muster abzeichnet, soll das von PHP ermittelt werden.
Ich würde gerne alle möglichen Muster erkennen. Was genau meinst du mit dieser Einschränkung? Und was mit Überlappungen?
THX
|

11-03-2010, 18:55
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Ort: Dresden
Beiträge: 5.463
|
|
Hallo,
du kannst dich ja mal mit der DCT beschäftigen (gibt's auch als fertige PHP-Funktion) und deine Daten dort durchjagen, vielleicht ist es ja eine komplex-periodische Folge?
Gruß,
Amica
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

11-03-2010, 19:09
|
|
CrazyPip
Registrierter Benutzer
|
|
Registriert seit: Mar 2002
Beiträge: 328
|
|
Sry hab mich früher eingehender mit PHP beschäftigt und bin deswegen heute nicht mehr so ganz auf dem Laufenden.
Was ist DCT?
Google und die Forumssuche haben nichts zu DCT gefunden, ausser irgendwas mit einer Funktion, in der es um das Frequenzspektrum in einem Bild geht. Denke mal, dass du das nicht gemeint hast^^
|

11-03-2010, 19:17
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Ort: Dresden
Beiträge: 5.463
|
|
Zitat:
Zitat von CrazyPip
Denke mal, dass du das nicht gemeint hast^^
|
Doch, aber nicht im Zusammenhang mit Bildern. Die DCT nimmt als Eingabe viele Samples (also die y-Werte einer periodischen Funktion) und gibt dir als Ausgabe genausoviele Frequenzbänder (also deren Amplitude) zurück. Wenn dein Datenstrom ein periodisches Muster ist, kannst du damit also genau berechnen, welche Werte als nächstes kommen.
Gruß,
Amica
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

11-03-2010, 19:20
|
|
CrazyPip
Registrierter Benutzer
|
|
Registriert seit: Mar 2002
Beiträge: 328
|
|
Zitat:
Zitat von AmicaNoctis
gibt's auch als fertige PHP-Funktion
|
sorry ich hab die Funktion nicht gefunden, weder bei Google, noch hier, noch bei php.net
Hast du einen Link für mich?
gruss
|

11-03-2010, 19:47
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Ort: Dresden
Beiträge: 5.463
|
|
Zend Technologies - Code GalleryFast Fourier Transform
Das ist zwar die FFT, aber das schadet ja auch nicht. Das Prinzip ist dasselbe.
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|