Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Anwendung bremst Betriebssystem aus
Gehe zu Seite 1, 2  Weiter
 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
chutullu



Anmeldungsdatum: 18.10.2005
Beiträge: 77

BeitragVerfasst am: 20.03.2007, 15:53    Titel: Anwendung bremst Betriebssystem aus Antworten mit Zitat

Hallo Forum,

habe ein kleines Problem, da ich z.Z. mein Neuronales Netzwerk trainiere und es ungestöhrt im Hintergrund laufen lassen möchte stoße ich auf ein unschönes Problem, es bremst alle anderen Anwendungen aus.

Erst wenn ich im Taskmanager die Priorität des Prozesses auf "niedrig" einstelle kann ich wie gewohnt weiterarbeiten.

Nun zu meiner Frage, gibt es eine Möglichkeit eine Anwendung als "Hintergrundprozess" mit relativ "niedriger" Priorität laufen zu lassen ? So in der Art eines TSR mit eigenem Prozess. Wunschdenken wäre natürlich eine Hintergrundanwendung wo die Rechenleistung an die CPU Auslastung koppelt ist und so ihre Priorität selbst bestimmt ...

Für hilfreiche Antworten vielen Dank.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
PMedia



Anmeldungsdatum: 14.08.2006
Beiträge: 2847

BeitragVerfasst am: 20.03.2007, 16:14    Titel: Antworten mit Zitat

Äh erstmal, TPM wird dir weiterhelfen können, einfach warten bis er on is.
Zweitens mein Rat: Schnapp dir nen ausgedienten Rechner, oder besorg dir billig einen dafür, weil es sonst endlooooos lange dauern wird, eh der anfängt zu arbeiten...

Alternativ kann man auch überlegen, ob man das ganze irgendwie optimiert.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Eternal_pain



Anmeldungsdatum: 08.08.2006
Beiträge: 1783
Wohnort: BW/KA

BeitragVerfasst am: 20.03.2007, 16:17    Titel: Antworten mit Zitat

Meine überlegung wäre das Programm in mehrere Threads aufzuteilen, aber ich glaube das bringt nichts, das Programm will resourcen und holt sie sich, also entweder wie PMedia schon sagte, extra einen rechner dafür hinstellen oder ggf. gibt es bei Win ME und XP glaub die möglichkeit die Prozessoerauslastung eines Programms einzustellen...
_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger
PMedia



Anmeldungsdatum: 14.08.2006
Beiträge: 2847

BeitragVerfasst am: 20.03.2007, 16:18    Titel: Antworten mit Zitat

Man könnt auch in die Schleifen ein Sleep einbauen, dass das Programm gebremst wird...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
volta



Anmeldungsdatum: 04.05.2005
Beiträge: 1876
Wohnort: D59192

BeitragVerfasst am: 20.03.2007, 16:27    Titel: Antworten mit Zitat

'sleep 1' an einer Stelle im Prog die mehrfach pro Sekunde abgearbeitet wird sorgt dafür, dass Prozesse gleicher Priorität ausgeführt werden können. Nachteil, diese Pausen werden auch eingelegt wenn keine weiteren gleichwertigen Prozesse anstehen.
Eine weitere Möglichkeit ist das Programm nach dem Start auf einen niedrigen Prioritätslevel zu setzen. Damit dürfen Prozesse höherer Priorität sich vordrängen, stehen keine an, arbeitet dein Programm still vor sich hin.
_________________
Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
ThePuppetMaster



Anmeldungsdatum: 18.02.2007
Beiträge: 1839
Wohnort: [JN58JR]

BeitragVerfasst am: 20.03.2007, 16:32    Titel: Antworten mit Zitat

jo .. du kannst die Priorität ändern. Dafür gibts gute APIs (müsst ich aber jetz selbst erstman nach suchen .. Lad dir ma den ApiGuide runter, da findest sicher was dazu ..)

In Threads auslagern: Bringt nicht viel, die Threads verbrauchen nur noch mehr leistung, als das Prog es eh schon tut, auser man hat n Dual oder Quad core, udn läst durch explizite anweisung des Threads, diesen auf einem Core rennen, was allerdings NICHT ZU EMPFEHLEN IST, da es zu massiven Problemen in der geschwindigkeit kommen kann. Wenn man das nicht richtig kontroliert, kann es das ganze noch langsamer machen, als es eh schon der fall ist.

Sleep .. wäre ne alternative ... is dann die Frage, ob es den herren stört, wenn das Prog noch etwas länger arbeitet fürn den Lernprozess, oder nicht.

Alternativ kannst du auch einen SystemCounter nutzen, um jeden Start durch einen Intervall fest zu legen.

Aber, du wirst warscehinlich mit nem 2ten Rechern einfacher weg kommen, wenn es denn man vernümpftig und schnell lernen soll.

aber... @chutullu ... Was für ein NN ist das? ... bzw. was soll "es" erlernen?
Sonst kann man keine gute aussage treffen, was denn für dich das optimalste wäre.

[EDIT]
Nachtrag ... du könntest auch ein Dynamische Lastverteilugn nutzen. Du misst dieCPU aktivität, und setzt dadurch die Prozesslevel entsprechend. Dann hast du immer eine gute auslastung deiner CPU. (PS: Denke an die Stromrechnung!!! zwinkern) )

MfG
TPM
_________________
[ WebFBC ][ OPS ][ ToOFlo ][ Wiemann.TV ]


Zuletzt bearbeitet von ThePuppetMaster am 20.03.2007, 16:34, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
chutullu



Anmeldungsdatum: 18.10.2005
Beiträge: 77

BeitragVerfasst am: 20.03.2007, 16:33    Titel: Antworten mit Zitat

Zitat:
Zweitens mein Rat: Schnapp dir nen ausgedienten Rechner, oder besorg dir billig einen dafür, weil es sonst endlooooos lange dauern wird, eh der anfängt zu arbeiten...


sehr witzig

Zitat:
Eine weitere Möglichkeit ist das Programm nach dem Start auf einen niedrigen Prioritätslevel zu setzen. Damit dürfen Prozesse höherer Priorität sich vordrängen, stehen keine an, arbeitet dein Programm still vor sich hin.


Gibts dafür eine programmtechnische Lösung, in Basic, ich dachte immer mit Hilfe Windows API kann eine Anwendung als Hintergrundprozess, welcher von Haus aus eine kleine Priorität besitzt, starten ?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
ThePuppetMaster



Anmeldungsdatum: 18.02.2007
Beiträge: 1839
Wohnort: [JN58JR]

BeitragVerfasst am: 20.03.2007, 16:41    Titel: Antworten mit Zitat

Code:
Declare Function SetPriorityClass Lib "kernel32" Alias "SetPriorityClass" (ByVal hProcess As Long, ByVal dwPriorityClass As Long) As Long

Code:
Declare Function GetPriorityClass Lib "kernel32" Alias "GetPriorityClass" (ByVal hProcess As Long) As Long

Zitat:
The SetPriorityClass function sets the priority class for the specified process. This value together with the priority value of each thread of the process determines each thread’s base priority level.

Zitat:
· hProcess
Identifies the process.
Windows NT: The handle must have the PROCESS_SET_INFORMATION access right. For more information, see Process Objects.

· dwPriorityClass
Specifies the priority class for the process. Specify one of the following values:
HIGH_PRIORITY_CLASS
Specify this class for a process that performs time-critical tasks that must be executed immediately. The threads of the process preempt the threads of normal or idle priority class processes. An example is Windows Task List, which must respond quickly when called by the user, regardless of the load on the operating system. Use extreme care when using the high-priority class, because a high-priority class application can use nearly all available CPU time.
IDLE_PRIORITY_CLASS
Specify this class for a process whose threads run only when the system is idle. The threads of the process are preempted by the threads of any process running in a higher priority class. An example is a screen saver. The idle-priority class is inherited by child processes.
NORMAL_PRIORITY_CLASS
Specify this class for a process with no special scheduling needs.
REALTIME_PRIORITY_CLASS
Specify this class for a process that has the highest possible priority. The threads of the process preempt the threads of all other processes, including operating system processes performing important tasks. For example, a real-time process that executes for more than a very brief interval can cause disk caches not to flush or cause the mouse to be unresponsive.

Zitat:
If the function succeeds, the return value is nonzero.

If the function fails, the return value is zero. To get extended error information, call GetLastError.

_________________
[ WebFBC ][ OPS ][ ToOFlo ][ Wiemann.TV ]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
PMedia



Anmeldungsdatum: 14.08.2006
Beiträge: 2847

BeitragVerfasst am: 20.03.2007, 16:42    Titel: Antworten mit Zitat

chutullu hat Folgendes geschrieben:
Zitat:
Zweitens mein Rat: Schnapp dir nen ausgedienten Rechner, oder besorg dir billig einen dafür, weil es sonst endlooooos lange dauern wird, eh der anfängt zu arbeiten...


sehr witzig


Das war kein Witz
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
volta



Anmeldungsdatum: 04.05.2005
Beiträge: 1876
Wohnort: D59192

BeitragVerfasst am: 20.03.2007, 16:54    Titel: Antworten mit Zitat

Code:
#include "windows.bi"
....
SetPriorityClass (GetCurrentProcess(), IDLE_PRIORITY_CLASS)

...

'SetPriorityClass (GetCurrentProcess(), NORMAL_PRIORITY_CLASS)
End

wenn es sich nicht bessert solltest du 'sleep 1' irgendwo mit einbauen!
_________________
Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater.


Zuletzt bearbeitet von volta am 20.03.2007, 16:57, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 20.03.2007, 16:55    Titel: Antworten mit Zitat

Und chutullu's Kommentar war so zu verstehen, dass er das nicht machen wird...

Aber um nochmal die höhere Auslastung bei mehreren Threads aufzugreifen:
Jeder Thread der gestartet wird, benötigt natürlich auch Ressourcen zur Verwaltung. Und so ein "einfacher" Prozess- bzw. Taskwechsel hat 'nen größeren Overhead, als man vllt. denken mag.
Sinnvoll werden Threads nur, wenn etwas wirklich (pseudo-)parallel ablaufen muss bzw. wenn ein Prozess auf Eingaben warten muss oder ähnliches.
Wollt ich nur mal so bemerkt haben...
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
ThePuppetMaster



Anmeldungsdatum: 18.02.2007
Beiträge: 1839
Wohnort: [JN58JR]

BeitragVerfasst am: 20.03.2007, 17:02    Titel: Antworten mit Zitat

und, wenn das OS nix ab zu arbeiten hat, udn man mehrere CPUs zur verfügung hat. Dann kann man die Threads entsprechend auf die CPUs verteilen, udn dort dauerhaft arbeiten lassen. Das beschleunigt enorm, vorrausgesetzt, die CPUs erhalten vom OS keien anderen aufgaben ( welche man nicht so einfach auf bestimmte CPUs setzen kann)


MfG
TPM
_________________
[ WebFBC ][ OPS ][ ToOFlo ][ Wiemann.TV ]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 20.03.2007, 17:05    Titel: Antworten mit Zitat

Kann man unter Win direkt auf eine spezielle CPU setzen lassen?
Na, auch egal. Fällt zwar auch Verwaltungsaufwand an, der wird aber meist ruck-zuck wieder ausgeglichen. lächeln
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
chutullu



Anmeldungsdatum: 18.10.2005
Beiträge: 77

BeitragVerfasst am: 20.03.2007, 17:17    Titel: Antworten mit Zitat

Zitat:
aber... @chutullu ... Was für ein NN ist das? ... bzw. was soll "es" erlernen?
Sonst kann man keine gute aussage treffen, was denn für dich das optimalste wäre.


Ein "Multilayer Perceptron" 2 Hiddenlayern (war nach reichlichen probieren die ausgewogenste Variante) und knapp 200 Neuronen, zum Lernen benutze ich "Error Backpropagation". Der Lernfaktor ist bei mir sehr niedrig (etwa 0.03) was auf die große Anzahl meiner zu lernenden Muster >4500 zurückzuführen ist.

Zur Zeit lernt das Netzwerk seit 3 Tagen optimal, hatte zuvor reichliche Rückschläge...

Das Netzwerk soll assoziieren, aus einem festen Eingangsmuster folgt ein festes Ausgangsmuster. Da es sich um gleichverteilte Muster handelt ist es kompliziert Analogien zwischen den einzelnen Sequenzen zu finden. Obwohl ein Korrelation >0.7 Vorlag ist es mir nicht gelungen die Verbindung zwischen Ist und Sollwert zu erkennen. Daraus folgt eigentlich nur ein Neuronales Netzwerk.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
ThePuppetMaster



Anmeldungsdatum: 18.02.2007
Beiträge: 1839
Wohnort: [JN58JR]

BeitragVerfasst am: 20.03.2007, 17:25    Titel: Antworten mit Zitat

chutullu ... Was ein NN macht, weis ich, aber wollte wissen, WAS du dem bei bringst zwinkern

@Mao .. Jo .. kann man machen .. is aber wie schon gesagt, nicht zu empfehlen ..!!


MfG
TPM
_________________
[ WebFBC ][ OPS ][ ToOFlo ][ Wiemann.TV ]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
chutullu



Anmeldungsdatum: 18.10.2005
Beiträge: 77

BeitragVerfasst am: 20.03.2007, 18:53    Titel: Antworten mit Zitat

@ThePuppetMaster:

Die Idee ist aus einer Schnapslauner heraus entstanden. Ein guter Freund hat eine Modell zur Vorausberechnung von Lottozahlen anhand der letzten paar Ziehungen erstellt. Wie man nach einem reichlich durchzechten Abend so ist hat man den großen Mund und sagt man kann es besser. Die ganze Sache ist nun schon ein paar Monde her...

Das zur Disposition stehende Vorhersagemodell umfasst 12 Zahlen wobei mit einer Wahrscheinlichkeit von 66% mindestens 2 Treffer dabei sind.

So nun war mein erster Gedanke das bei man mit angenommen unendlich vielen Zahlenreihen eine 100%'ige Vorhersage treffen kann. Bei ca. 4500 Ziehungen wird schnell klar das die Datenmenge zu wenig ist um relativ gesicherte Werte zu bekommen.

Der zweite Ansatz ist etwas unspektakulärer und ist einfach an der geringen Rechenleistung gescheitert. Wenn man von allen gezogenen Zahlen die 12 Zahlen herausfindet die in Kombination miteinander die meisten Gewinne erziehlt haben, so müsste man unter Berücksichtigung der aktuellen Zahlen eine gute Quote erreichen. Der Programmlaufzeit um alle Kombination von 12Zahlen bei einem Zahlenumfang von 1..49 zu durchlaufen und mit allen bekannten Ziehungen zu vergleichen war >2 Wochen. Wahrscheinlich wäre die Stromrechnung im Verhältnis zum erwartbaren Gewinn wesentlich größer gewesen. Ich habe es einmal durchlaufen lassen und war vom Ergenis enttäuscht.

Der dritte Ansatz kam etwas später. Man kann die Lottomaschine welche die Ziehung vornimmt auch als Zufallsgenerator betrachten. Die Zusammenhänge innerhalb dieses geschlossenen Systems hängen von so vielen Komponenten ab das man diese als "rein" zufällig ansehen kann.
Also nichts wie ran an die Mathematik. Mit Hilfe der "mathmatischen Systemanalyse" wollte ich versuchen das Ergebnis zu emulieren wobei ich eine Wechselwirkung zwischen "meiner" Erwartungshaltung und dem "realen" Ergebnis vorfand. Habe ich mit einem Gewinn gerechnet trat er nicht ein, habe ich nicht mit einem Gewinn gerechnet trat er ein ... In einem Doppelblindversuch sollte eine persönliche Beeinflussung ausgeschlossen werden. Es führte dazu das die Vorhersage genauso zufällig nicht stimmte, wie sie genauso zufällig stimmte. Also alles
quatsch ?

Eigentlich schon aufgebend und zähneknirschend meine Wettschulden bezahlend, kam der Rettungsanker. Neuronale Netzwerke. Wieder die Literatur bemühmt, Internet durch'googelt mit dem Ergebnis, was Börsenkurse vorhersagen kann, kann das auch mit anderen Zahlen, so meine Meinung. Nach reichlichen Überlegungen habe ich mich fürs MLP entschieden und ein bißchen herumexperimentiert. Leider gibt es nicht wirklich viele Erfahrungsberichte zu diesem Thema und man muss vom Urschleim alles neu entdecken. Wobei sich jeder der mit dieser Materie vertraut ist sehr bedeckt hällt - mittlerweile weiß ich auch wieso.
Selbst ein ehemaliger Kommilitone, hat ein paar wirklich gute NN Applikationen geschrieben, hat sich sehr bedeckt gehalten und meine Frage ausweichend bzw. nicht beantwortet. In 2h war das Netzwerk
erstellt, nach ca. 3 Wochen wußte ich was alles nicht funktioniert und jetzt scheint es ohne Probleme zu laufen. Für mich kam nur FreeBasic in Frage, der Code ist ausreichend schnell und alles was zu langsam ist wird in Assembler geschrieben. Den einzigsten Nachteil den ich bis jetzt entdeckt habe ist das Fehlen von OOP Strukturen, obwohl ich die neuste Compiler Version (laut CVS) habe funktioniert nichts von den vielen versprochenen Sachen. Na ja, geht zur Not auch ohne. Das Ergebnis war sehr beeindruckend, nach einem Tag lernen konnte das Netzwerk bei allen Ziehungen zu 75% mit 12 Zahlen, 2 Treffer vorhersagen, mit einer Chance von etwa 1/4 ist ein dreier drin ...

Wenn die Sache über einen Zeitraum von einem Monat klappt habe ich gewonnen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
ThePuppetMaster



Anmeldungsdatum: 18.02.2007
Beiträge: 1839
Wohnort: [JN58JR]

BeitragVerfasst am: 20.03.2007, 19:24    Titel: Antworten mit Zitat

Deine Ideen udn ansätze sind ja nicht schlecht, aber du vergisst (bis auf den 2ten ansatz), das du immer gegen eine Zufallsmaschien arbeitest, die ein "Logisches" Denken nicht lössen kann.

Versuch dich doch mal an die Chaostheorie.

Du versuchst etwas "Unlogisches" durch etwas "Logisches" zu lösen. Das wird niemals gehen.
Natürlich ist diese Zufallsmaschine auch auf gewisse art Logisch, jedoch nicht so stur logisch, wie dein NN. Und darum wirst du das niemals so gut bekommen, wie du es bräuchtest.

Wie du schon geschrieben hast, sind die einflüsse der ZM (Zufallsmaschine) so gewaltig, und unvorhersehbar, das man es nicht einfach nachbilden kann. Wenn du alle Parameter zur verfügugn hast, is das natürlich durchaus möglich, jedoch fehlen dir die Werte der Trommel, der Verschleissfaktor, der Aktuelle Material-zustand der Trommel, die Abnutzung dr Trommel, Laufgeschwindigkeit, Verschleiss der Bälle, usw. usw. usw. ... wenn du diese Faktoren alle in dein NN integrieren würdest, wäre die Trefferwarscheinlichkeit nahezu 50% ... dann wäre noch die Error-Backprozessing wichtig, mit der du dann warscheinlich auf ca. 90% Trefferwarscheinlichkeit steigen würdest.

Ich finde, das ein NN für solche aufgaben das Falsche mittel ist. Wie schon geschrieben, kann man etwas "unlogisches" oder "Chaotisches" nicht mit etwas "logischen" "geordnetem" vergleichen bzw. simulieren / emulieren.

Du kommt mit der Chaostheorie warscheinlich weiter vorran, als mit Logik. Wenn du ein genauso "Stabiles" chaos schaffen kannst, das dem des ZM ähnelt, dann steigt deine Trefferwarscheinlichkeit sicher auch auf 75 - 80%.

Eine andere möglichkeit wäre beide zu Kombinieren. Du nutzt die Chaostheorie im Neuronalem Netz um Chaosverhersagen zu treffen.

Wenn du willst, können wir uns gerne einmal im Chat oder im TS darüber unterhalten. Wobei ich eher für TS wäre, da man sich dort einfach effektiver austauschen kann.


MfG
TPM
_________________
[ WebFBC ][ OPS ][ ToOFlo ][ Wiemann.TV ]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
chutullu



Anmeldungsdatum: 18.10.2005
Beiträge: 77

BeitragVerfasst am: 20.03.2007, 19:52    Titel: Antworten mit Zitat

Die Berühmte Theorie vom Chaos - besagt doch nicht anderes als den Versuch ein dynamisches System zu klassifizieren - was macht ein Neuronales Netzwerk ?

Ich denke es gibt nichts bessers als ein NN da bei jedem Iterationsschritt der Eingang in einen Folgezustand übergeht. Genau wie die Kugeln im Ziehungsautomaten der Lottogesellschaft.
Für mich ist nicht der Weg das Ziel, sondern das Ergebnis.

mfg
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4704
Wohnort: ~/

BeitragVerfasst am: 20.03.2007, 20:05    Titel: Antworten mit Zitat

Mit dem höchsten Gewinn kannst du rechnen, wenn du die Zahlen ankreuzt, die sonst nur wenige nehmen. Du gewinnst genauso oft wie mit allen anderen Zahlen, aber die Ausschüttung ist größer cool

Für einen emulierten Zufallsgenerator könnte es sogar sein, dass du gute Vorhersagen treffen kannst. Der Computer erzeugt ja nicht wirklich Zufallszahlen, sondern er stellt anhand der zuletzt gefallenen Zahl eine komplizierte Rechnung an. Ziel ist es, das Ergebnis so zu optimieren, dass es für uns zufällig erscheint. Ein Übertrag auf die Lottomaschine ist da aber nicht ohne weiteres möglich.
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
ThePuppetMaster



Anmeldungsdatum: 18.02.2007
Beiträge: 1839
Wohnort: [JN58JR]

BeitragVerfasst am: 20.03.2007, 21:04    Titel: Antworten mit Zitat

chutullu hat Folgendes geschrieben:
Die Berühmte Theorie vom Chaos - besagt doch nicht anderes als den Versuch ein dynamisches System zu klassifizieren - was macht ein Neuronales Netzwerk ?

Ein NN ist ein Logsiches System. Es Asoziiert gelernte Dinge mit neuen Dingen auf einem Logischem Weg.

Die Chaosthechnik nutzt zufällige Dinge um auf ein gleiches Chaotisches System zu schliessen.

Das sind 2 föllig unterschiedliche Systeme.

Als Beispiel:
Logische NN asoziation
1+1 = 2
2+2 = 4
3+3 = 6
4+4 = 8
10 + 10 = ?
11 + 11 = ?
12 + 12 = ?
13 + 13 = ?
Logischer zusammenhang zu den davor gelernten eingaben ist hier auch zu finden.
Die Warscheinlichkeit eines Treffers ist nahezu 99% <+>/<->1% Fehlinterpretation durch NN fehler. Die Zunahme von Fehler erhöht sich durch die Laufzeit der Analyse immer mehr. anstat zu sinken, wie man es eigentlich annimmt. Ein Logisches System muss in der regel IMMER zu 100% korreckt sein. Beim Einsatz eines Neuronalem Netz sind jedoch Fehler vorprogrammiert, da es eine "Intelligenz" >Simmuliert<. Es muss lernen. Anfangs erzeugt es sehr viele Fehler, die sich nach und nach verbessern, jedoch nie zu 100% treffer leistung mindern. Es werden bei unbekannten Fragen immer eine gewisse Fehlerwarscheinlichkeit vorhanden blieben, jedoch die QUote steigend fallen.


Chaotische Assiziation
1+1 = 11
2+2 = 2
3+3 = 15
4+4 = 21
10+10 = ?
11 + 11 = ?
12 + 12 = ?
13 + 13 = ?
Hier kann man durch vorherige analysen des Chaotischen "Quasi" Systems auf ein ähnliches Chaotisches "Quasi"-system schliessen. Die warscheinlichkeit eines Treffers. Hier verhält sich jeder Durchlauf umgekert proportional zu deren Fehlerwarscheinlichkeit. Die Warscheinlichkeit einen Fehler zu Produzieren ist nahezu 99% >+</>-<1%. Je mehr Chaotische ergebnisse man erhölt, desto "perfekter" wird der Chaos im zusammenhang des zu errechnendem Chaos.

Du kannst ein Chaotisches system am besten mit einem Chaotischem System analysieren. So wie man Feuer mit Feuer bekämpft. Natürlich kann man Feuer auch mit Wasser bekämpfen, aber man hat einen viel grösseren aufwand zu leisten, um das selbe ergebniss zu erziehlen. Das Feuer macht es selbst, man braucht es nur "anzünden". Das Wasser muss man an die richtige stelle lenken.

So wie dein NN musst du es zu einem bestimmten Punkt hin trainieren, und die gesammte Syntaktische Struktur anpassen, was ein extermer aufwand ist. Nutzt du jedoch ein System, das von haus aus Chaotisch arbeitet, dann stellt sich das ergebniss später von selbst ein.


MfG
TPM
_________________
[ WebFBC ][ OPS ][ ToOFlo ][ Wiemann.TV ]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
Gehe zu Seite 1, 2  Weiter
Seite 1 von 2

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz