Autor |
Beitrag |
BenBE
Beiträge: 8721
Erhaltene Danke: 191
Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
|
Verfasst: So 02.12.07 16:46
Meine 3 Millisekunden sind komplett ohne ASM. Mit ASM sollte da noch eine ms rauszuquetschen sein, aber nunja ... ASM ist das letzte, womit man beim Optimieren anfängt ...
Ach ja: PNut 2: <1 Sekunde zum Bruteforcen des TSP. Die Abweichungen die man erhält sind aber absolut gigantisch. Meine Antwort ist damit erstmal nur vorläufig, muss das erst Verifizieren.
_________________ Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
|
|
Gausi
Beiträge: 8535
Erhaltene Danke: 473
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: So 02.12.07 16:59
@Ben: Mal Interessehalber: Deine 3ms - ist das ein kompletter Durchlauf des "Zahlenraums", oder nur bis eine Zahl gefunden wurde, die alle Bedingungen erfüllt?
_________________ We are, we were and will not be.
|
|
Allesquarks
Beiträge: 510
Win XP Prof
Delphi 7 E
|
Verfasst: So 02.12.07 17:14
Ich verwende auch nur reines Pascal. Bei mir ist es kein kompletter Durchlauf; und eine Abschätzung wieviel dann nach finden der Zahl weggelassen wird, wäre ja ein Tipp wo die Zahl ungefähr liegt. Deshalb dies erst später. Desweiteren gibt es noch eine Optimierung bzw Annahme meinerseits, die man nicht voraussetzen kann, was aber wahrscheinlich war. Patcht man dies wird der Code länger aber bei der Geschwindigkeit schätze ich mal geht das nur zu Bruchteilen ein.
Schade das man noch nicht drüber reden darf
Edit: @ Gausi: Du als Moderator weißt doch das Ergebnis. du kannst dir also denken wie viel man dann weglässt, wenn man beim ersten Fund aufhört
|
|
F34r0fTh3D4rk
Beiträge: 5284
Erhaltene Danke: 27
Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
|
Verfasst: So 02.12.07 17:24
Er weiß trotzdem nicht, worauf sich die 3ms laufzeit bei Benbes Code beziehen
mfg
|
|
Allesquarks
Beiträge: 510
Win XP Prof
Delphi 7 E
|
Verfasst: So 02.12.07 17:27
@Fear: Ich nehme einfach mal an BenBe hat den gleichen Algorithmus wie ich. Und ich kann nur sagen, dass ich zwar vorher abbreche, aber jeder, der den Algorithmus kennt und die binäre Darstellung der Zahl sieht. Sofort eine Antwort auf die Frage hat. Sorry genauer gehts nicht sonst verderbe ich den anderen den Spaß.
|
|
BenBE
Beiträge: 8721
Erhaltene Danke: 191
Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
|
Verfasst: So 02.12.07 17:29
Durchlauf, bis ne Zahl gefunden wurde, die alle Bedingungen erfüllt.
Wobei ein Gesamtdurchlauf nicht wesentlich länger dauern dürfte (ich schätz mal ~10ms höchstens ...
_________________ Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
Zuletzt bearbeitet von BenBE am So 02.12.07 17:30, insgesamt 1-mal bearbeitet
|
|
Gausi
Beiträge: 8535
Erhaltene Danke: 473
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: So 02.12.07 17:29
Ich frag deswegen, weil ich wissen will, wie nah ich an diesen Optimierer-Freak rankomme
Für einmal komplett brauche ich jetzt ca. 130ms, für Abbruch nach einer gefundenen Zahl ca. 16ms.
_________________ We are, we were and will not be.
|
|
Allesquarks
Beiträge: 510
Win XP Prof
Delphi 7 E
|
Verfasst: So 02.12.07 17:36
Edit vorher falsch: Denkfehler!
@ Gause vlt haben BenBe und ich ja unterschiedliche Zahlen oder Algorithmen. Bei mir könnte es bis zu 7 mal so lange dauern. also dann etwa 15 ms
|
|
Christian R.
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: So 02.12.07 18:11
Jetzt wo ich die Lösung von vornherein auf den möglichen Spielraum, aufgrund der Vorgaben, eingegrenzt habe und dazu von der anderen Seite her rangegangen bin, sind's unter 10 Sekunden. Vorher waren's ca. 10 bis 15 Minuten. Allerdings immer noch nix mit reiner Mathematik. Noch viel zu viel Gemehre.
|
|
Mitmischer 1703
Beiträge: 754
Erhaltene Danke: 19
Win 7, Debian
Delphi Prism, Delphi 7, RAD Studio 2009 Academic, C#, C++, Java, HTML, PHP
|
Verfasst: So 02.12.07 19:16
Wo finde ich denn die Aufgaben?
|
|
Christian S.
Beiträge: 20451
Erhaltene Danke: 2264
Win 10
C# (VS 2019)
|
Verfasst: So 02.12.07 19:20
Im ersten Beitrag dieses Threads ganz unten auf "Und nun zum Adventsgewinnspiel 2007" klicken
_________________ Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
|
|
MrSpock
Beiträge: 262
|
Verfasst: So 02.12.07 20:03
Hallo,
eine Frage zur Paranuss2: Ist der Startpunkt als Punkt1 festgelegt oder "beamt" er sich quasi an einen beliebigen Anfangspunkt?
_________________ Live long and prosper
MrSpock \\//
|
|
Gausi
Beiträge: 8535
Erhaltene Danke: 473
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: So 02.12.07 20:07
Letzteres. Der Weihnachtsmann plant seine Route so, dass er am Anfang der blauen Stunde an einem geeigneten Punkt ist. Welcher das ist, ist erstmal nicht bekannt. Und wie er da hinkommt, ist egal.
_________________ We are, we were and will not be.
|
|
Christian S.
Beiträge: 20451
Erhaltene Danke: 2264
Win 10
C# (VS 2019)
|
Verfasst: So 02.12.07 20:07
Das läuft so: Der Weihnachtsmann isst erst mal ganz gemütlich was bei Mäcces. Dann schwingt der sich auf seinen Schlitten und fährt in aller Ruhe zu einem beliebigen der Orte. Und wenn dann die blaue Stunde anfängt, dann hetzt der sich so richtig ab, um alle Orte noch zu erwischen.
_________________ Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
|
|
MrSpock
Beiträge: 262
|
Verfasst: So 02.12.07 20:10
Danke, und dem Weihnachtsmann einen guten Appetit bei Mäcces.
_________________ Live long and prosper
MrSpock \\//
|
|
Heiko
Beiträge: 3169
Erhaltene Danke: 11
|
Verfasst: So 02.12.07 20:23
Gausi hat folgendes geschrieben: | Für einmal komplett brauche ich jetzt ca. 130ms, für Abbruch nach einer gefundenen Zahl ca. 16ms. |
Langsam frage ich mich, wie ihr das macht. Bei mir braucht eine leere schleife über dem gesamten Zahlenbereich schon ca. 3 Sekunden... (ohne etwas dabei zu machen...).
Nagut, mir fallen nen ganz paar Optimierungen ein, wo ich vlt. auch auf nen paar ms komme, allerdings reichen da meine knappen huindert zeilen nicht mehr, sondern ich bräuchte bestimmt mindestens 200, und dazu fehlt mir einfach die Zeit (da warte ich lieber paar Minütchen länger, bei einem OneTime-Problem).
|
|
Arne K.
Beiträge: 112
C# (VS 2008 Professional)
|
Verfasst: So 02.12.07 20:28
Nein, jetzt frage ich mich langsam, wie hier wer was macht: Ich habe eine leere Schleife in nativem C++ über das Intervall ]0; INT_MAX[ drüber gejagt, und alleine das braucht bei mir eine gute halbe Stunde! Vlt. sollte ich mit meinem PC ja mal zum Mechaniker
|
|
BenBE
Beiträge: 8721
Erhaltene Danke: 191
Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
|
Verfasst: So 02.12.07 20:30
In 200 Zeilen hab ich zwei Lösungsverfahren implementiert ...
Gibt eigentlich um auf solche Zeiten zu kommen ganz einfache Tricks ... Da kann ich ja morgen dann mehr zu erzählen ...
_________________ Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
|
|
Christian R.
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: So 02.12.07 21:23
BenBe hat folgendes geschrieben: | Gibt eigentlich um auf solche Zeiten zu kommen ganz einfache Tricks ... Da kann ich ja morgen dann mehr zu erzählen ... |
Eventuell Pointer?
|
|
Yogu
Beiträge: 2598
Erhaltene Danke: 156
Ubuntu 13.04, Win 7
C# (VS 2013)
|
Verfasst: So 02.12.07 21:26
Och mennöööö... Des Programm will ned!
Ich glaube, ich kann das erste Rätsel erst einmal vergessen... Können wir vielleicht morgen einen Thread aufmachen, in der alle ihre Lösungsvorschläge posten? Würde mich echt interessieren.
|
|