Jakob Nielsen wrote:
> HVis vi har to strenge
> A="dette er en test"
> B="det var testen"
>
> så kan b udtrykkes som funktion af a og man kan eventuelt tegne et diagram
> over dem begge som i nedenstående fastbredde ascii-grafik
> te_er_en_
> / \
> det test
> \ / \
> _var_---- en
>
> Den nedre tekst er midterste linie og forgreninger ned og angiver B. B kan
> så beskrives som A plus information om de øvre og nedre linier, hvor den
> øvre er det der er fjernet fra A og de nedre er det der er tilføjet ekstra
> til B. Givet den beskrivelse og A kan man gendanne B.
>
> Det kan løses manuelt, selvom der findes situationer hvor flere løsninger
> findes. Når de forekommer kan man vælge den udgave der fylder mindst.
> Spørgsmålet er bare hvad en algoritme til løsning af opgaven mon kan hedde?
> Jeg har ikke haft meget held med at find brugbar information om det. Måske
> nogen her ved det, eller kan give et bud på en programmeringsmæsig løsning?
>
Jeg er ikke helt sikker på hvad det er du fisker efter, men det lyder
for mig lidt som en gramatik til et sprog - forstået i datalogisk forstand?
Men det giver ikke lige mening. Hvis sproget har sætningerne "det-te er
en test" og "det var test-en" så har du kun een stavelse der er fælles:
nemlig "det".
Alle udfald af sproget kan skrives som (uden den rette nørd jargon):
"det" eferfulgt af "te-er-en" eller "var" efterfulgt af "test" og "en".
Men hov - så passer vores gramatik jo ikke længere med vores sprog...
Kan du se problemet? Der er et "en" for meget i et af udfaldene...
Et sprog kunne bestå af ordene {"Lise", "har", "en", "rød", "blå",
"bold"}. Grammatikken kunne være: "Lise" efterfulgt af "har" efterfulgt
af "en" efterfulgt af ("rød" eller "blå") efterfulgt af "bold".
Man kan altså udtrykke at Lise har enten en rød eller blå bold.
Der er helt formaliserede måder at udtrykke et sprog og en gramatik på,
der er væsentligt nemmere at læse når man kender nomenklaturen.
Jeg vil foreslå at du kikker nærmere på emnerne syntaks og sematik og
sprog. Tingene bruges udbredt inden for programmering af compilere og
fortolkere til computere og er et af de mest underbyggede områder. Der
er nok at sætte tænderne i
Mvh
John Smith