Wenn ich mein Problem mit Hardware erschlagen und mit einer 100 Item Liste umgehen kann wäre das gut genug.
Lt. meinem Mathematiker Kollegen gibt es keine optimale Lösung für das sog. Rucksack Problem, als alles zu probieren.
Python nehme ich, weil ich es einfach nebenbei wieder erlernen wollte ...
Die Suche ergab 11 Treffer
- Freitag 19. Januar 2024, 19:07
- Forum: Allgemeine Fragen
- Thema: brute force und Rechenzeitverkürzung
- Antworten: 31
- Zugriffe: 7041
- Freitag 19. Januar 2024, 18:05
- Forum: Allgemeine Fragen
- Thema: brute force und Rechenzeitverkürzung
- Antworten: 31
- Zugriffe: 7041
Re: brute force und Rechenzeitverkürzung
Hab heute mal ein paar Graphen mit Cores vs. Chunks gemacht. Folgen noch...
Musste auch in meine Windows Umgebung umziehen Jupyter Notebook war zu instabil.
Wie misst du denn den Speicherbedarf? Ich schaue im Taskmanager bei Details auf maximalen Speicher im Python Prozess.
Musste auch in meine Windows Umgebung umziehen Jupyter Notebook war zu instabil.
Wie misst du denn den Speicherbedarf? Ich schaue im Taskmanager bei Details auf maximalen Speicher im Python Prozess.
- Freitag 19. Januar 2024, 08:47
- Forum: Allgemeine Fragen
- Thema: brute force und Rechenzeitverkürzung
- Antworten: 31
- Zugriffe: 7041
Re: brute force und Rechenzeitverkürzung
Ich werte 'res' im nachhinnein aus:
# my little children
def process_index2(data, index):
if sum(int(data[idx][8]) for idx in index) > min_sum and sum(int(data[idx][2]) for idx in index) < max_total_price :
return(index)
# send the children to work
with futures.ProcessPoolExecutor(max_workers ...
# my little children
def process_index2(data, index):
if sum(int(data[idx][8]) for idx in index) > min_sum and sum(int(data[idx][2]) for idx in index) < max_total_price :
return(index)
# send the children to work
with futures.ProcessPoolExecutor(max_workers ...
- Freitag 19. Januar 2024, 07:42
- Forum: Allgemeine Fragen
- Thema: brute force und Rechenzeitverkürzung
- Antworten: 31
- Zugriffe: 7041
Re: brute force und Rechenzeitverkürzung
Uuuh, mit euren Tipps habe ich im Moment einen lauffähigen parallelen Code. THX , aber dazu später mehr...
Was Parallelisierung und Memory angeht:
Habe gestern eine 50 Elemente-Liste (10.272.278.170 Kombinationen) mit 8 Workern und 100.000er Chunks laufen lassen. Die ist aber nach ein paar Stunden ...
Was Parallelisierung und Memory angeht:
Habe gestern eine 50 Elemente-Liste (10.272.278.170 Kombinationen) mit 8 Workern und 100.000er Chunks laufen lassen. Die ist aber nach ein paar Stunden ...
- Mittwoch 17. Januar 2024, 10:22
- Forum: Allgemeine Fragen
- Thema: brute force und Rechenzeitverkürzung
- Antworten: 31
- Zugriffe: 7041
Re: brute force und Rechenzeitverkürzung
1000000x Danke @Qubit! Das sieht sehr gut aus.
Versuche gerade testweise meinen Datensatz zu integrieren, der ist aber in den Child-Prozessen ja nicht lesbar.
import csv
def read_csv(file_path):
data = []
with open(file_path, 'r') as csvfile:
csvreader = csv.reader(csvfile)
for row in ...
Versuche gerade testweise meinen Datensatz zu integrieren, der ist aber in den Child-Prozessen ja nicht lesbar.
import csv
def read_csv(file_path):
data = []
with open(file_path, 'r') as csvfile:
csvreader = csv.reader(csvfile)
for row in ...
- Dienstag 16. Januar 2024, 14:22
- Forum: Allgemeine Fragen
- Thema: brute force und Rechenzeitverkürzung
- Antworten: 31
- Zugriffe: 7041
Re: brute force und Rechenzeitverkürzung
sleep: Ich habe das mit meinem abgespeckten Datensatz aus einer Kombinaton 10 aus 30 laufen lassen (30 Mio Varianten). Da verringert sich die Laufzeit von 53s (1 core) auf 28s (4 cores).
Leider bleibt mein Jupyter Notebook bei Datensätzen > 30 schnell hängen. Mir ist unklar warum. Hmmm. Ich tue ...
Leider bleibt mein Jupyter Notebook bei Datensätzen > 30 schnell hängen. Mir ist unklar warum. Hmmm. Ich tue ...
- Dienstag 16. Januar 2024, 06:49
- Forum: Allgemeine Fragen
- Thema: brute force und Rechenzeitverkürzung
- Antworten: 31
- Zugriffe: 7041
Re: brute force und Rechenzeitverkürzung
Ich 'lerne' mich langsam ran.
Mit multiprocessing konnte ich nun in einem Testcase tatsächlich zeit einsparen. Ich habe Child-Processe mit einem sleep=5. Führe ich alle Combinations von 2 aus 4 Elementen aus (=6), dauert mein Skript 30s. Mit 6 Child-Prozessen nur noch 5. Wahnsinn!
Wichtig: ich ...
Mit multiprocessing konnte ich nun in einem Testcase tatsächlich zeit einsparen. Ich habe Child-Processe mit einem sleep=5. Führe ich alle Combinations von 2 aus 4 Elementen aus (=6), dauert mein Skript 30s. Mit 6 Child-Prozessen nur noch 5. Wahnsinn!
Wichtig: ich ...
- Montag 15. Januar 2024, 11:18
- Forum: Allgemeine Fragen
- Thema: brute force und Rechenzeitverkürzung
- Antworten: 31
- Zugriffe: 7041
Re: brute force und Rechenzeitverkürzung
Vielen Dank für alle eure Tipps!!!! Nur nochmal um es klarzustellen: ich bin blutiger Anfänger, der viele Ressourcen über jupyter Notebook ansteuern kann. In meinen 180 Zeilen Code stecken bestimmt schon 20h Arbeit u.A. mit Hilfe von ChatGPT :-). Noch mehr bzw. andere Tools und Bibliotheken (Fortran ...
- Sonntag 14. Januar 2024, 09:39
- Forum: Allgemeine Fragen
- Thema: brute force und Rechenzeitverkürzung
- Antworten: 31
- Zugriffe: 7041
Re: brute force und Rechenzeitverkürzung
@blackjack. Okay, berechnen kann ich die Anzahl der Kombinationen natürlich. Dachte ich kann einfach die Anzahl der Elemente in "results" auslesen. Das wäre natürlich einfacher.
Konkret zur Aufgabe:
ich habe eine Liste mit 50-600 Spielern. Jeder davon hat einen Preis, eine Leistung, einen Verein ...
Konkret zur Aufgabe:
ich habe eine Liste mit 50-600 Spielern. Jeder davon hat einen Preis, eine Leistung, einen Verein ...
- Freitag 12. Januar 2024, 21:31
- Forum: Allgemeine Fragen
- Thema: brute force und Rechenzeitverkürzung
- Antworten: 31
- Zugriffe: 7041
Re: brute force und Rechenzeitverkürzung
Ihr müsst wissen ich habe seit 10 Jahren nicht programmiert. Ist für mich gerade wie als wenn Mama den Zylinderkopf wechseln muss. Haha
Hab jetzt itertools combinations im Einsatz. Die Combis erstellen geht echt flott, aber mit diesen Indizes meine Daten prüfen ist, was dauert. Das müsste doch ...
Hab jetzt itertools combinations im Einsatz. Die Combis erstellen geht echt flott, aber mit diesen Indizes meine Daten prüfen ist, was dauert. Das müsste doch ...
- Freitag 12. Januar 2024, 08:57
- Forum: Allgemeine Fragen
- Thema: brute force und Rechenzeitverkürzung
- Antworten: 31
- Zugriffe: 7041
brute force und Rechenzeitverkürzung
Hallo.
Allem voran: ICH BIN EIN PY-NEULING! Also bitte verzeiht mir meinen Wissensstand.
Ich möchte aus einer Liste mit n Elementen alle 10-stelligen Kombinationen erstellen. Das wird also hinlänglich zeitaufwändig. Im Moment mache ich das wie folgt:
for i in range(2 ** len(data)):
selected ...
Allem voran: ICH BIN EIN PY-NEULING! Also bitte verzeiht mir meinen Wissensstand.
Ich möchte aus einer Liste mit n Elementen alle 10-stelligen Kombinationen erstellen. Das wird also hinlänglich zeitaufwändig. Im Moment mache ich das wie folgt:
for i in range(2 ** len(data)):
selected ...
