AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Suche schnelle Speichermöglichkeit

Offene Frage von "KahPee"
Ein Thema von KahPee · begonnen am 4. Jan 2010 · letzter Beitrag vom 5. Jan 2010
Antwort Antwort
Seite 2 von 3     12 3      
Benutzerbild von KahPee
KahPee

Registriert seit: 12. Mai 2009
214 Beiträge
 
Turbo Delphi für Win32
 
#11

Re: Suche schnelle Speichermöglichkeit

  Alt 4. Jan 2010, 22:40
Das Auslesen sollte in Echtzeit sein, allerdings habe ich bei den Datenmengen angefangen umzudenken, da selbst bei hohem Rechneraufwand das nen weilchen länger dauert als gedacht . Ich werde die verschiedenen Möglichkeiten kategorisieren, d.h. die Menge wird deutlich kleiner und es wird auch nicht mehr alles ausgerechnet.

Teile der Werte habe ich schon als Tabelle vorliegen (Excel/OOo). Die Frage ist weiterhin was eine möglichst schnelle Datenbank ist. Jetzt würde auch interessant sein ob man da möglichst elegant Werte aus Excel- oder OOoCalc tabellen übernehmen kann. Gibt es da etwas praktisches mit MySQL?

Wie lange sucht man in einer solchen Datenbank (deutlich kleiner als 56GB eher unter 1GB)? Bzw. welche effizienten Suchmethoden gibt es um ein Suche in der jeweiligen DB schnell zu gestalten?

mfg KahPee
  Mit Zitat antworten Zitat
Benutzerbild von rollstuhlfahrer
rollstuhlfahrer

Registriert seit: 1. Aug 2007
Ort: Ludwigshafen am Rhein
1.529 Beiträge
 
Delphi 7 Professional
 
#12

Re: Suche schnelle Speichermöglichkeit

  Alt 4. Jan 2010, 22:46
a) Gibt's was praktisches an MySQL: Die Verbreitung! Ansonsten fühlt sich MySQL rasant schnell an.
b) Die Suche ist immer am schnellsten, wenn du stehts nur nach 1 oder 2 Zahlen suchst. Wenn du die Bläter in 2 Integer bekommst, sollte das reichen. Ansonsten kannst du auch 52-boolean Felder machen.

Bernhard
Bernhard
Iliacos intra muros peccatur et extra!
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#13

Re: Suche schnelle Speichermöglichkeit

  Alt 4. Jan 2010, 22:50
Reicht es denn nich schon die vorhandenen Statistikdaten wie hier oder hier hier mit ein bischen Mathematik?
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#14

Re: Suche schnelle Speichermöglichkeit

  Alt 4. Jan 2010, 22:54
Könnte man eventuell mit Bitmasken arbeiten? Dann reichen zwei Integerfelder aus. Eins für die Bitmaske der Hand und eins für die Wahrscheinlichkeit. Nachkommastellen halte ich für Blödsinn bei der Wahrscheinlichkeit.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#15

Re: Suche schnelle Speichermöglichkeit

  Alt 4. Jan 2010, 23:55
Zitat von Luckie:
Eins für die Bitmaske der Hand und eins für die Wahrscheinlichkeit. Nachkommastellen halte ich für Blödsinn bei der Wahrscheinlichkeit.
Also für mich sind Wahrscheinlichkeiten Kommazahlen zwischen 0 und 1, zumindest wenn man nah an der Mathematik bleiben möchte...
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

Registriert seit: 15. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#16

Re: Suche schnelle Speichermöglichkeit

  Alt 5. Jan 2010, 06:39
Ich denke man kann das am Besten zur Laufzeit berechnen.
Du hast 3 Karten auf der Hand und möchtest deine Siegchancen berechnen wenn du 2 weitere Karten erhalten hat.
Also sind noch (52 - 3) * (52 - 4) = 2352 Kombinationen zu bewerten.
Man braucht eine Schleife über diese Kombinationen und eine Bewertungsfunktion.
Die Bewertungsfunktion bekommt 5 Karten als Input und liefert als Ergebnis ob es sich um
eine Einzelkarte, ein Paar, Drilling, Strasse, Flush, Full House, Vierling, Straight Flush oder Royal Flush handelt.
In einem Array mit 10 Einträgen werden nun die Stückzahlen aufsummiert.
Die Gesamtsumme dieses Arrays muss wieder 2352 ergeben.
Am Ende lassen sich die Stückzahlen in Prozente umrechnen.

Ich schätze, dass ein Programm diese Arbeit in weniger als 1 Sekunde erledigen kann.
Wenn man nur 2 Karten auf der Hand hat, muss man 117600 Kombinationen berechnen;
nicht gerade wenig, aber Computer sind ja schnell.
fork me on Github
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.140 Beiträge
 
Delphi 12 Athens
 
#17

Re: Suche schnelle Speichermöglichkeit

  Alt 5. Jan 2010, 07:22
52 Karten + 12 Bit (0..4095) für die Wahrscheinlichkeit = 64 Bit aka 2 Integer

Das ließe sich sogar sehr gut in einer einfachen Binärdatei vorhalten
und da man diese Liste eh sortiert abspeichert, würde man dort auch sehr schnell suchen können ... also theoretsich wäre man so sogar schneller als eine DB.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von KahPee
KahPee

Registriert seit: 12. Mai 2009
214 Beiträge
 
Turbo Delphi für Win32
 
#18

Re: Suche schnelle Speichermöglichkeit

  Alt 5. Jan 2010, 07:29
Also ich rede hier im Moment von Hold'em. Wenn der Flop schon liegt bedeutet dass: 2 Karten auf der Hand sind bekannt und 3 sind offen. Im Extremfall sind 9 Gegner noch dabei. Jetzt müssen alle Kombinationen mit den restlichen 47 Karten durchgespielt werden (Turn, River sowie die Gegnerhände) [ca. 2,3*10^28 Berechnungen (teils schon optimiert)]. Selbst nach optimierung bleiben da zuviele Berechnungen um es zur Laufzeit zu machen.

Aber ich werde, das ganze anders aufziehen . Bleibt die Frage was ob es ei MysQL oder anderen Datenbanken eine schnelle gibt, die einen Import aus Excel/OOo ermöglicht.

mfg KahPee

P.S.: Das Problem bei der erstmals angesprochenen Variante ist nicht die Speicherplatzgröße sondern die benötigte Rechenzeit! Die obige Nummer zeigt die Berechnungen die bei einer hand nötig sind!
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.140 Beiträge
 
Delphi 12 Athens
 
#19

Re: Suche schnelle Speichermöglichkeit

  Alt 5. Jan 2010, 07:46
Der Excelimport sollte notfalls kein Problem darstellen.
Von Delphi aus, kann man auf Excel zugreifen und da man ja auch zugriff auf die DB oder Sonstwas hat, kann man natürlich auch beliebig hin- und hertransferieren.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Reinhard Kern

Registriert seit: 22. Okt 2006
772 Beiträge
 
#20

Re: Suche schnelle Speichermöglichkeit

  Alt 5. Jan 2010, 07:53
Zitat von Delphi-Laie:
Wenn ich diese Datenmengen lese, so garantiere ich, daß das für die derzeitig verfügbare, erschwingliche Heimelektronik auch unter dem Einsatz von 64 Bit, Terabyte an HDD-, etlichen Gigabyte an Hauptspeicherkapazität, einigen Megahertz an Prozessortakt und mehreren Prozessoren oder wenigstens Prozessorkernen dennoch eine solch gewaltige Herausforderung sein wird, daß diese nur äußerst zäh reagieren wird.
Alles relativ - ich habe in den letzten Tagen eine Pressemitteilung gelesen über eine 48 Core-Maschine (6 x 4 + HT) mit 64 GB Ram. Zum Schnäppchenpreis bei "das ist MEIN Laden" gibts die allerdings nicht, und man darf auch nicht den Zeitaufwand unterschätzen, einen 64 GB-Speicher vollzuladen.

Gruss Reinhard
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:49 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz