Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [algorytm] analogiczne ciągi znaków
Kabraxis
post 11.04.2011, 22:52:12
Post #1





Grupa: Zarejestrowani
Postów: 81
Pomógł: 2
Dołączył: 28.03.2003

Ostrzeżenie: (0%)
-----


Czy jest komuś znany algorytm, który działa w poniżej opisany sposób?

Algorytm dostaje na wejście parę ciągów znaków, np.:
1) a b c;anna1;23.43
2) a bc;anna;23,43

ciąg 2) to zmodyfikowany tekst 1). Na wejście może być też zapodane x takich par.

Następnie algorytm dostaje na wejście ciągi 1) i ma sam zbudować z nich 2) na podstawie wzorca, z tym że cały problem polega na tym, że sam ma ten wzorzec wykryć.

PS. Tak wiem przykład nie jest najlepszy ale chodzi o idee. Powstał już taki algorytm poza sztuczną inteligencją?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
everth
post 11.04.2011, 22:57:25
Post #2





Grupa: Zarejestrowani
Postów: 782
Pomógł: 153
Dołączył: 21.07.2010

Ostrzeżenie: (0%)
-----


Nie jest to dokładnie odpowiedź na twoje pytanie - ale wydaje mi się że blisko.


--------------------
Już mi się ani wiedzieć, ani tym bardziej myśleć nie chce.
[Think different]!
Go to the top of the page
+Quote Post
nasty
post 11.04.2011, 23:42:24
Post #3





Grupa: Zarejestrowani
Postów: 634
Pomógł: 14
Dołączył: 27.05.2006
Skąd: Berlin

Ostrzeżenie: (0%)
-----


O ile dobrze rozumiem pytanie i zadanie postawione przed algorytmem, to wydaję mi się, że najwygodniejszym (i zarazem najszybszym) algorytmem jaki można tu zatrudnić to jakiś oparty o automat skończony.

W tym automacie skończonym byś miał zdefiniowane stany takie jak:
  1. pierwszy_ciag
  2. imie
  3. zmienna_calkowita
  4. zmienna_przecinkowa


Po przeczytaniu kolejnego znaku, uruchamiasz funkcję przejścia która zmienia aktualny stan automatu na taki który odpowiada nowo przeczytanemu znakowi.
Potem tworzysz funkcje które są powiązane z danymi przejściami. Np. dla przejścia (1,3) => a(). (2, 4) => b() and so on...

Takie coś da Ci nie tylko dużą swobodę w manipulowaniu formatem (zmiena schematu sprowadza się tylko do zmiany diagramu stanów, bez ingerencji w kod) a jeszcze przy okazji dostaniesz walidację poprawności za free ;-)

http://pl.wikipedia.org/wiki/Automat_sko%C5%84czony
Ciebie raczej by interesowała Deterministyczna wersja tego automatu: http://pl.wikipedia.org/wiki/Deterministyc..._sko%C5%84czony
Go to the top of the page
+Quote Post
hwao
post 12.04.2011, 08:36:04
Post #4


Developer


Grupa: Moderatorzy
Postów: 2 844
Pomógł: 20
Dołączył: 25.11.2003
Skąd: Olkusz




diff na stringach i "różniące się elementy" to operacje jakie musisz wykonać
Go to the top of the page
+Quote Post
nasty
post 12.04.2011, 13:45:52
Post #5





Grupa: Zarejestrowani
Postów: 634
Pomógł: 14
Dołączył: 27.05.2006
Skąd: Berlin

Ostrzeżenie: (0%)
-----


Hwao, To będzie dużo wolniejsze, trudniejsze w zmianie i w ogóle z dupy ;-)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 18:20