Autor Beitrag
ManuelGS
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 173

Win XP HE, Suse Linux
D6, D7, D2005 Personal
BeitragVerfasst: So 31.07.05 21:04 
Also ich arbeite hier gerade ein Buch durch - es geht um Spezifikation...

"In einer Spezifikation {P}A{Q} gehen wir immer von der Terminierung des Algorithmus A aus. Wenn A nicht terminiert, so erfüllt er trivialerweise die Spezifikation."
(das ganze für ein Q <> false, sonst wäre es ja klar)

Stimmt das so? Ein nicht terminierender Algorithmus kommt doch nie bei {Q} an!?

Ich hoffe, hier kann jemand Aufklärung leisten!

_________________
"Leben ist gänzlich Bühne und Spiel; so lerne denn spielen
und entsage dem Ernst - oder erdulde das Leid." - Palladas von Alexandria
BJ
Hält's aus hier
Beiträge: 13

Win XP
D7 Pers
BeitragVerfasst: So 31.07.05 21:53 
Hi,

wenn eine Spezifikation zu einen nicht terminierenden Algorithmus paßt, dann doch nur wenn in der Spezifikation selbst keine Terminierung erfolg.

Normalerweise wird in der Spezifikation die Terminierung mittels mathematischem Modell eindeutig bestimmt.

Selbst bei Berechnungen von Nährungswerten, deren Algorithmen nicht terminierend sind, wenn das Ergebnis irrational ist, muß ein Schlußstrich gesetzt werden (z.B. max. Genauigkeit).

Falls das nicht in der Spezifikation berücksichtigt wird, ist die Spezifikation fehlerhaft, denn sie verstoßt gegen die allgemeinen Anforderungen an einen Algorithmus (Terminierung, Korrektheit,...).

Man könnte höchstens formulieren, daß das Ergebnis des nicht terminierenden Algorithmus im Unendlichen liegt, doch dabei "beißt sich die Katze in der Schwanz".

(In Haskel gibt es die Möglichkeit mit unendlichen Listen zu arbeiten, evtl. kann dir das auch schon weiterhelfen.)

MfG BJ

_________________
Studium non semper delectat, sed nihil agere delectat.
ManuelGS Threadstarter
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 173

Win XP HE, Suse Linux
D6, D7, D2005 Personal
BeitragVerfasst: So 31.07.05 22:08 
Danke für die Antwort!
Wenn ich dich richtig verstanden habe, dann habe ich also Recht und der zweite Satz muss da lauten:
"Wenn A nicht terminiert, so erfüllt er trivialerweise nicht die Spezifikation."

_________________
"Leben ist gänzlich Bühne und Spiel; so lerne denn spielen
und entsage dem Ernst - oder erdulde das Leid." - Palladas von Alexandria
BJ
Hält's aus hier
Beiträge: 13

Win XP
D7 Pers
BeitragVerfasst: So 31.07.05 22:11 
Jo, genau das.

Nachdem, was ich in den Vorlesungen zu Algorithmen und Datenstrukturen gehört und gelernt habe, ist bei einer Spezifikation die Terminierung immer eindeutig bestimmt. (Auch wenn man den Algorithmus mit beispielsweiser einer Hilfsvariable zum terminieren zwingen muß).

MfG BJ
ManuelGS Threadstarter
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 173

Win XP HE, Suse Linux
D6, D7, D2005 Personal
BeitragVerfasst: So 31.07.05 22:17 
Okay. Vielen Dank für deine Hilfe. :D
Dachte schon, ich hätte was Grundlegenes nicht verstanden... 8)

_________________
"Leben ist gänzlich Bühne und Spiel; so lerne denn spielen
und entsage dem Ernst - oder erdulde das Leid." - Palladas von Alexandria