Begriff für "Problem herunterbrechen"...

Alles, was nicht direkt mit Python-Problemen zu tun hat. Dies ist auch der perfekte Platz für Jobangebote.
Antworten
mutetella
User
Beiträge: 1695
Registriert: Donnerstag 5. März 2009, 17:10
Kontaktdaten:

Hallo,

bitte, helft einem alten Mann auf die Sprünge!!

Mir fällt partout nicht ein, wie man den Vorgang nennt, ein Problem zu analysieren und auf kleinere Probleme herunterzubrechen. Das, was man beim Programmieren ständig macht...

Ich werd' noch wahnsinnig!!!! :?

mutetella
Entspanne dich und wisse, dass es Zeit für alles gibt. (YogiTea Teebeutel Weisheit ;-) )
mutetella
User
Beiträge: 1695
Registriert: Donnerstag 5. März 2009, 17:10
Kontaktdaten:

@BlackJack
Nee..., also doch, schon analysieren, aber dann eben das gesamte Problem in kleinere Probleme aufteilen und so zur Ursache und damit zur Lösung zu kommen...

Nachdem ich schon unzählige Synonym-Seiten durch bin glaub' ich schon fast, es gibt dafür gar kein eigenes Wort, ich bilde mir das alles nur ein... aber ich könnte schwören, dass dieser Begriff im Zusammenhang mit Programmieren immer wieder fällt... das kann doch nicht wahr sein!!! :evil:

Ist ja jetzt auch nicht soo existentiell wichtig, macht mich nur gerade total kirre....

mutetella
Entspanne dich und wisse, dass es Zeit für alles gibt. (YogiTea Teebeutel Weisheit ;-) )
Benutzeravatar
snafu
User
Beiträge: 6878
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Du meinst jetzt aber nicht "abstrahieren", oder? Falls ja, dann hat es allerdings eine andere Bedeutung als die, die du hier beschrieben hast.
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Ich kann nicht anders: Denken 8)

Ich hoffe auch du meinst nicht "Abstraktion" (wobei man Funktionen durchaus als solche bezeichnet und damit bricht man Probleme ja auch herunter ..) und gebe BlackJacks Analyse einen Push :)

Ansonsten faellt mir nichts ein was das zusammenfassungen koennte.
BlackJack

Nach der Analyse kommt der Entwurf. War's das vielleicht?
mutetella
User
Beiträge: 1695
Registriert: Donnerstag 5. März 2009, 17:10
Kontaktdaten:

Doch, ich meine 'abstrahieren'! :mrgreen: Oh Mann, genau das meine ich!

Ok, ich habe unter abstrahieren bisher wohl nicht so ganz das verstanden, wofür es wohl verwendet wird. Aber irgendwie abstrahiert man beim Lösen eines Problems doch auch das nicht Relevante vom relevanten Problemkern?

Na ja, wie auch immer, vielen Dank für eure Hilfe! Jetzt kann ich in aller Ruhe Tatort gucken... :D

mutetella
Entspanne dich und wisse, dass es Zeit für alles gibt. (YogiTea Teebeutel Weisheit ;-) )
Benutzeravatar
snafu
User
Beiträge: 6878
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Abstrahieren bedeutet eigentlich, dass man ein spezielles Problem zu einem allgemeinen Problem macht. Ein Beispiel: "Baum" ist die Abstraktion und "Lerche" ist die Spezialisierung. In der Informatik abstrahiert man spezielle Probleme gerne so, dass man sie in ein bereits bekanntes Modell überführt und zu diesem Modell kennt man dann einen passenden Algorithmus, den man verwenden kann. Man kann das gewissermaßen mit Ober- und Unterkategorien vergleichen. Wie gesagt: Es ist nicht unbedingt das Zerlegen von großen Problemen in kleinere Probleme. Man kann das natürlich machen, um die passenden Modelle zu finden, aber der Vorgang des Zerlegens an sich wird nicht als Abstraktion bezeichnet.

EDIT: "Modell" ist im Sinne eines bereits bekannten Musters gemeint, falls dir der Begriff jetzt zu abstrakt war (höhöhö). Man denkt nicht ständig an Modelle, aber man erkennt ja durchaus, dass man in der-und-der Situation meinetwegen eine ``for``-Schleife verwenden sollte. Es ist einfach das Wiedererkennen von ähnlichen Problemstellungen. Oder sagen wir mal: Die Fähigkeit, zu abstrahieren hilft dabei, Probleme miteinander vergleichbar zu machen bzw passend einordnen zu können.
mutetella
User
Beiträge: 1695
Registriert: Donnerstag 5. März 2009, 17:10
Kontaktdaten:

@snafu
Ok, da lag ich dann mit meiner Vorstellung, was abstrahieren bedeutet, doch ziemlich daneben. Danke für Deine Erklärung, in dem Fall war meine fortschreitende Wortfindungsstörung dann doch nicht umsonst... :)

mutetella
Entspanne dich und wisse, dass es Zeit für alles gibt. (YogiTea Teebeutel Weisheit ;-) )
Benutzeravatar
bwbg
User
Beiträge: 407
Registriert: Mittwoch 23. Januar 2008, 13:35

Juhu, Begrifferaten ...: "refactoring"
"Du bist der Messias! Und ich muss es wissen, denn ich bin schon einigen gefolgt!"
mutetella
User
Beiträge: 1695
Registriert: Donnerstag 5. März 2009, 17:10
Kontaktdaten:

@bwbg
Zu spät, snafu hat bereits gewonnen... :)

mutetella
Entspanne dich und wisse, dass es Zeit für alles gibt. (YogiTea Teebeutel Weisheit ;-) )
jerch
User
Beiträge: 1669
Registriert: Mittwoch 4. März 2009, 14:19

@mutetella
snafu hat ja selber schon darauf hingewiesen, das Abstraktion bzw. Abstrahieren eigentlich eine Problemverallgemeinerung meint, wodurch bekannte Muster (oder mathematischer Algorithmen) in den "Äquivalenzklassen" zur Lösung genutzt werden können (Analogiebildung).

Dein eingangs beschriebenes Herunterbrechen in Teilprobleme findest Du in Wikipedia als Unterschiedsreduktion.
Benutzeravatar
snafu
User
Beiträge: 6878
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Und das interessante: Man kann sich durchaus ein Problem "zurechtabstrahieren". Ein Baseballschläger lässt sich je nach Fragestellung sowohl als Sportgerät als auch als Waffe einordnen und ein Messser kann ebenfalls Waffe oder Küchengerät sein. Je nachdem, was mein Ziel ist, kann ich in der Informatik also ähnlich wie bei einer mathematischen Formel durch geschickte Umwandlung mein Problem manchmal "über drei Ecken" in die passende Form bringen - auch wenn diese zunächst nicht das naheliegendste war - und so zum Teil eine erstmal unlösbar erscheinende Frage plötzlich doch beantworten können, da nun ein bereits bekanntes Muster entstanden ist. Wenn wir hier wieder auf den Begriff der Kategorien zurückgreifen wollen, dann kann ein Problem also gleichzeitig zu mehreren Oberkategorien gehören. Man muss diese Oberkategorien nur erkennen können, was manchmal nicht so einfach ist.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

So ähnlich läuft das in der Informatik auch mit Komplexitätsklassen ab, indem neue Probleme auf bereits bekannte Probleme mit bekannter Komplexität abgebildet werden, womit man dann die Komplexität des neuen Problems bestimmen kann.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Shortfinga
User
Beiträge: 2
Registriert: Samstag 24. Mai 2014, 12:43

Das heißt glaube ich
divide and conquer
(Wikipedia)
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

In der Informatik bezeichnet das aber etwas sehr spezielles, naemlich eine Klasse von rekursiven Algorithmen - siehe dein Link, und eher weniger einen Ansatz zur Problemloesung. Caesar war damit ein Stueckchen frueher dran aber ich glaube nicht, dass das mutetella im Sinn hatte :)
Antworten