phpbar.de logo

Mailinglisten-Archive

[php] Mustererkennung

[php] Mustererkennung

Sebastian Nohn Sebastian.Nohn at t-online.de
Mon Okt 20 14:35:03 CEST 2003


Hallo zusammen,

zur Lösung eines Problems muss ich eine Mustererkennung in PHP
implementieren. Alle Werte des folgenden Arrays sind dabei als gleich
zu betrachten:

$hoppings = array(
                12323 => "- 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2
2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2",
                15073 => "- 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1
1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1"
                31337 => "- 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 1 3 3 3 3 3 3
3 1 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3",
            );

Klarer wird das ganze vielleicht, wenn ich es in folgender Darstellung
zeige:

CI: 12323
---------------
- 2 2 2 2 2 2 2 
1 2 2 2 2 2 2 2 
1 2 2 2 2 2 2 2 
1 2 2 2 2 2 2 2 
1 2 2 2 2 2 2 2 
1 2 2 2 2 2 2 2

CI: 15073
---------------
- 1 1 1 1 1 1 1 
2 1 1 1 1 1 1 1 
2 1 1 1 1 1 1 1 
2 1 1 1 1 1 1 1 
2 1 1 1 1 1 1 1 
2 1 1 1 1 1 1 1

CI: 31337
---------------
- 3 3 3 3 3 3 3
1 3 3 3 3 3 3 3
1 3 3 3 3 3 3 3
1 3 3 3 3 3 3 3
1 3 3 3 3 3 3 3
1 3 3 3 3 3 3 3

Es handelt sich also immer um ein vielfaches von 8 (maximal 16
"Zeilen"), die einzelnen Werte sind jeweils durch ein Leerzeichen
getrennt und als Wertebereich ist 0-9 und - für nicht gesetzt zulässig.
Der eigentliche Wert ist jedoch egal, es geht lediglich um das Muster,
wie diese Werte angeordnet sind, und das ist eben bei allen drei
Beispielen gleich.

Erschwert wird das ganze dadurch, das auch völlig andere Kombinationen
möglich sind wie:

- - 1 1 1 1 1 1 
2 2 1 1 1 1 1 1 
3 3 3 3 3 3 3 3 
4 4 4 4 4 4 4 4

usw. (diese ist natürlich nicht gleichwertig mit den anderen
Beispielen).

So, bevor es hier ausartet: Kennt oder hat jemand eine Klasse zur
Mustererkennung, die flexibel genug ist, das hier abzudecken oder hat
jemand einen grundsätzlichen Lösungsansatz für das geschilderte
Problem?

MfG, Sebastian Nohn
-- 
Sebastian Nohn - Wismarer Str. 22 - D-53757 Sankt Augustin - Germany
mobile: +49 170 471 8105 email: sebastian at nohn.net web:
http://nohn.net
did i help you? consider a gift: http://wishlist.nohn.net/

php::bar PHP Wiki   -   Listenarchive