# Programmierte "Intelligenz"



## fadade (28. Mai 2011)

Einen (sehr frühen) guten Morgen 

hat sich mit dem Thema _(guggst du Titel)_ schonmal jemand näher beschäftigt oder kennt gute Lektüre (PDF, Buch) dazu?
Weil ich finde das Thema sehr spannend, aber es ist natürlich auch sehr komplex. Deshalb frage ich mich ob man sowas als Mittel-Anfänger-Noob-Abiturient in *gaaaaaannnnzzzz* kleinem Maße evtl. auch programmieren kann 

Anwendung wäre ja z.B. in der Computerlinguistik, aber das was ich mir da irgendwann mal zu überlegt habe, war eigentlich keine Intelligenz xD
-> Benutzer gibt einen Text ein
-> Programm schaut nach, was man dazu ausgeben kann
-> dann gibt es irgendeine der möglichen antworten aus
-> wenn keine mögliche Antwort existiert, ist das Programm intelligent und lernt vom User eine mögliche Antwort oder so ...

Aber im nachhinein fand ich das total BANANE^^
Mit Audio-Umsetzung gibt es sowas auch schon, jedenfalls hab ich das mal bei utube gesehen.

Also wie gesagt: "hat sich mit dem Thema _(guggst du Titel)_ schonmal jemand näher beschäftigt oder kennt gute Lektüre (PDF, Buch) dazu?"


----------



## WhizZLe (28. Mai 2011)

Schon etwas älter, aber sicher noch hilfreich: Façade

Ich hab vor ein paar Jahren mal davon gelesen und es mal angetestet, es ist recht interessant. Schau es dir einfach mal an.

Bericht von Golem: Façade: KI-Spiel mit handfestem Ehestreit - Golem.de

Seite zum Download: InteractiveStory.net


----------



## KingofKingzZ (29. Mai 2011)

Ich hab mich mit KI noch kaum beschäftigt und kann dir deswegen nicht viel dazu sagen, aber das was du beschreibst ist ziemlich einfach umzusetzen. 
Du brauchst nur ne Datenbank und durchsuchst sie dann einfach nach der Eingabe des Benutzers und wählst dann zufällig eine der möglichen Antworten aus. 
Falls es keine möglichen Antworten gibt oder der Suchbegriff auch gar nicht in der Datenbank ist, dann fragst du den Benutzer einfach ob er denn eine Antwort oder den Suchbegriff hinzufügen will und speicherst das dann. Hat also eigentlich nichts mit Intelligenz zu tun, sondern nur mit der logischen Denkweise des Programmierers. Wenn man das so sieht gibt es eigentlich keine künstliche Intelligenz, denn es muss ja immer vorher festgelegt werden, was mit dem Input gemacht wird. Das einzige was du machen kannst ist dynamisch Möglichkeiten hinzufügen, was eben die Illusion des "künstlichen Lernens" hervorruft. Mit Audio ist es eigentlich ähnlich. Dort werden eben die gesprochenen Samples mit denen aus der Datenbank auf Ähnlichkeit verglichen.  

lg Kok


----------



## fadade (2. Juni 2011)

jo, "Lernprozess" durch interaktion mit bestehender Intelligenz ... hmmm..... 

Ich habe jetzt auch etwas gefuden, wo auf einem High-End-Rechner tausende kleine Programme liefen, die miteinander kommunizierten. Und so hat der /haben die Programmierer irgendwie eine gaaanz kleine "Intelligenz" geschaffen. 
Aber bis ich so weit bin, vergehen wohl noch einige Lebensabschnitte


----------



## Der Maniac (4. Juni 2011)

Ich würd erstmal klein anfangen... Soll heißen mit so dingen wie Algorythmen, die den kürzesten Weg von A nach B suchen... da gibts unter anderem den A* (A-Star)-Algorythmus, den Bellemann-Ford und den Djikstra-Algorythmus... Danach musst du dann selber gucken für was du was basteln willst! Deine Idee ausm Startpost würde ich mal umsetzten, ist fürn Anfang garnicht so verkehrt, immer klein anfangen xD
Ansonsten gibt es da nicht wirklich viel... Kannst ja gucken ob du Infos über KI's aus Spielen bekommst, evtl. sogar vom Hersteller! Wenn das der Fall wäre, wäre das natürlich affengeil!  Muss ja nicht gleich der komplette Quellcode sein, sondern mehr so ein "Wenn das, dann das"-Diagramm^^


----------



## Crysis nerd (5. Juni 2011)

KI aus Spielen zu bekommen,wäre natürlich echt nice, daran wäre auch ich interessiert. Obwohlich bezweifel, dass irgendein Hersteller das herausgeben wird. Außer Crytek vllt. weil die ihre Engine für lau rausgeben.
Sonst is KI auch sehr interessant generell. ich hab mich mal daran versucht "schwarmintelligenz" zu programmieren. D.h. eine große Anzahl von kleinen Einheiten, die alles nur aus ihrer Sicht warnehmen und dieser Schwarm soll dann bestimmte Aufgaben lösen. Also damals bin ich noch an der Darstellung verzweifelt... aber jetzt könnte ich eigentlich mal wieder einen Versuch wagen. 
Anregungen für Aufgaben eines Schwarms: Erstmal sowas wie Fischschwarm: einfach mal schwimmen, vor einem hai ausweichen (und freuen und beobachten, wie sich der schwarm verhällt). Oder etwas, was platt gesagt Roboter machen könnten: Waldlöschroboter, die im Wald patrollieren, Brände melden, und löschen und sowas alles.

Irre interessant.


PS: andere frage... warum wird in diesem Thread fast nur mitten in der Nacht gepostet? -.-


----------



## fadade (5. Juni 2011)

Der Maniac schrieb:


> Ich würd erstmal klein anfangen... Soll heißen  mit so dingen wie Algorythmen, die den kürzesten Weg von A nach B  suchen... da gibts unter anderem den A* (A-Star)-Algorythmus, den  Bellemann-Ford und den Djikstra-Algorythmus... Danach musst du dann  selber gucken für was du was basteln willst! Deine Idee ausm Startpost  würde ich mal umsetzten, ist fürn Anfang garnicht so verkehrt, immer  klein anfangen xD
> Ansonsten gibt es da nicht wirklich viel... Kannst ja gucken ob du Infos  über KI's aus Spielen bekommst, evtl. sogar vom Hersteller! Wenn das  der Fall wäre, wäre das natürlich affengeil!  Muss ja nicht gleich der komplette Quellcode sein, sondern mehr so ein "Wenn das, dann das"-Diagramm^^


 
Jo, also mit Algorithmen beschäftige ich mich schon indirekt. Häufig fällt mir irgendetwas (mehr oder weniger sinnloses^^) ein und das Versuche ich mit einem Programm darzustellen/lösen zu lassen ..... 
Und da komm ich sehr häufig auf Algorithmen, die da unter deinen crazy-names bekannt sind 
Ne KI für ein Spiel wäre natürlich erstmal eine idee. Denke ich versuchs mal mit 4-Gewinnt und danach mit anderen spielen, die hier bei uns so im Regal stehen xD





Crysis nerd schrieb:


> KI aus Spielen zu bekommen,wäre natürlich echt nice, daran wäre auch ich interessiert. Obwohlich bezweifel, dass irgendein Hersteller das herausgeben wird. Außer Crytek vllt. weil die ihre Engine für lau rausgeben.
> Sonst is KI auch sehr interessant generell. ich hab mich mal daran versucht "schwarmintelligenz" zu programmieren. D.h. eine große Anzahl von kleinen Einheiten, die alles nur aus ihrer Sicht warnehmen und dieser Schwarm soll dann bestimmte Aufgaben lösen. Also damals bin ich noch an der Darstellung verzweifelt... aber jetzt könnte ich eigentlich mal wieder einen Versuch wagen.




Da kann ich mir ja jetzt nicht mal ansatzweise einen Ansatz ausdenken 
..... mehrere Progs oder mehrere Threads in einem Prog? und dann einfach ... einer (irgendein Schwarmmitglied) setz die Variable Feuer oder Hai auf true und gibt ungefähr die Koordinaten durch ... tjo und die in der gegend ..... ineragieren eben dementsprechend ^^




Crysis nerd schrieb:


> PS: andere frage... warum wird in diesem Thread fast nur mitten in der Nacht gepostet? -.-



Da sowas nicht Jugendfrei ist. Stell dir ma vor, meine kleine Schwester programmiert mal eben eine Intelligenz, die uns Menschen anfängt zu kontrollieren  
Außerdem: aus meiner Sicht ist es jetzt 2 Uhr *morgens*. Und Folglich geh ich jetzt auchmal schlafen 
cu^^


----------



## Crysis nerd (5. Juni 2011)

fadade schrieb:


> Da kann ich mir ja jetzt nicht mal ansatzweise einen Ansatz ausdenken
> ..... mehrere Progs oder mehrere Threads in einem Prog? und dann einfach ... einer (irgendein Schwarmmitglied) setz die Variable Feuer oder Hai auf true und gibt ungefähr die Koordinaten durch ... tjo und die in der gegend ..... ineragieren eben dementsprechend ^^
> Da sowas nicht Jugendfrei ist. Stell dir ma vor, meine kleine Schwester programmiert mal eben eine Intelligenz, die uns Menschen anfängt zu kontrollieren
> Außerdem: aus meiner Sicht ist es jetzt 2 Uhr *morgens*. Und Folglich geh ich jetzt auchmal schlafen
> cu^^



Ja mehrer Threads. Und du musst versuchen ein Verhalten hinzukriegen, welches dem der echten Lebewesen recht nahe kommt... Und dann kannst du wie gesagt schon besagte Probleme lösen. Und mit Schwarm wesen lassen sich sehr interessante Probleme, interessant lösen! Mir fällt nur nix ein...

Ich hoffe mal, dass du deine kleine Schwester ins Bett geschickt hast, weil ich schon so früh antworte ... Aber heute nach ca. 1/2 der Facharbeit bin ich schon jez ziemlich kaputt 
Morgen kommt mehr 

mfg
Lukas


----------



## KingofKingzZ (6. Juni 2011)

Den Schwarm selbst in Threads zu unterteilen macht kaum Sinn, denn 1. wird der Overhead für den Thread Sprung auf der CPU viel zu groß für die relativ kleine Last, die ein Schwarmmitglied erzeugt. Die maximale Performance erreicht man wenn die Thread anzahl der logischen Kernanzahl entspricht. Alles darüber ist nur unnötiger Overhead und bremst aus. 
2. Wären extrem viele Critical Sections o.ä. nötig um den Schwarm mit mehreren Threads zu berechnen. Ein Thread kann ja nicht einfach auf die Daten eines Schwarmmitglieds zugreifen. Was passiert wenn das im diesem Moment mehrere Threads gleichzeitig tun? Und das ganze mit Critical Sections auszustatten, sodass nicht mehrere Threads zugreifen können macht ebenfalls wenig Sinn, denn dann müsste ja für jedes Schwarmmitglied 1. ggf. gewartet werden, bis der andere Thread aus der CS raus ist, 2. sie muss betreten werden und 3. wieder verlassen. Das alles kostet in diesem Umfang ebenfalls viel Leistung. Im Extremfall könnten z.B. alle Threads auf die CS eines Schwarmmitglieds warten. In diesem Fall wärst du aufgrund des oben erwähnten Overheads sogar langsamer als wenn alles in einem Thread läuft. 
Du kannst einzelne KI`s, die viel Leistung brauchen und nicht/kaum auf die Ergebnisse der anderen warten müssen in Threads laufen lassen, aber wie gesagt sollte das auch nicht in einer riesigen Threadanzahl ausarten. 

Geh das ganze am Besten erst mal langsam und mit einem Thread an, das ist schon schwer genug. Die Schwarmmiglieder hast du ja in ner Liste oder sowas und dann gehst du die einfach durch und verarbeitest bei jedem Schwarmmitglied die Ergebnisse aller anderen. Dass manche dann nur die Ergebnisse der Anderen des letzten Updates verwenden macht nichts aus, du updatest ja relativ oft und wenn es realistisch wirken soll wirst du evtl. sowieso eine Verzögerung einbauen, denn nichts reagiert sofort. Als weitere Steigerung wäre dann z.B. auch noch möglich, dass du nur die Ergebnisse verwendest, die auch in einer bestimmten Reichweite sind, ein Mitglied also nicht auf ein anderes reagiert, welches 10km weg ist.  

lg KoK


----------



## Crysis nerd (6. Juni 2011)

KingofKingzZ schrieb:


> [...]
> lg KoK



Ja, das mit den Threads hab ich auch einfach so gesagt, um klar zu machen, dass es nich unterschiedliche Programme sind. Und ich hab sowieso noch kaum MT gearbeitet, daher bleib ich auch in einem Thread. Und Außerdem:
Das is jez nich gerade ein Projekt von mir, sondern nur eine idee


----------



## Der Maniac (7. Juni 2011)

Wo soll das ganze den Programmiert werden? Forms, WPF, C#, C++? Je nach dem würde ich mit dem WindowsTimer arbeiten, ist auf 55ms genau  Der normale Windowstimer ist so genau wie deine CPU schnell ist!  (umso höher der Takt, umso genauer...^^)


----------



## Supeq (7. Juni 2011)

Amaryllis - Einfhrung genetischer Algorithmen mit Anwendungsbeispiel 
kannste dir mal angucken , ist imo auch für anfänger easy verständlich ^^


----------



## Crysis nerd (7. Juni 2011)

Der Maniac schrieb:


> Wo soll das ganze den Programmiert werden? Forms, WPF, C#, C++? Je nach dem würde ich mit dem WindowsTimer arbeiten, ist auf 55ms genau  Der normale Windowstimer ist so genau wie deine CPU schnell ist!  (umso höher der Takt, umso genauer...^^)


 55ms? pff is das lange -.-

Nimm den Highprecision timer, der im ns bereich misst. So muss das 

Und wegen der Verwirrung: hat jez jemand vor das zu programmieren?


----------



## KingofKingzZ (7. Juni 2011)

öhm welcher Timer soll das den sein, der nur auf 55ms genau ist? 
Die Zeit, die du mit timeGetTime() misst ist normalerweise auf ~1-2ms genau und der QueryPerformanceCounter misst sogar etwa im ns Bereich.
Der hat übrigens auch nichts mit dem Takt der CPU zu tun, sondern ist ein selbständiges, vom Takt unabhängiges Teil in der CPU.

@Crysis Nerd: Das mit den Threads war weniger auf dich bezogen, sondern eher als Antwort auf seine Frage wie er das ganze Angehen soll, da er fragte ob das ganze mit mehreren Threads gemach wird. 

lg Kok


----------



## fadade (7. Juni 2011)

Der Maniac schrieb:


> Wo soll das ganze den Programmiert werden?  Forms, WPF, C#, C++?



 Also ich arbeite zur Zeit mit Visual C# (also C# und Forms^^)




Supeq schrieb:


> Amaryllis - Einfhrung genetischer Algorithmen mit Anwendungsbeispiel
> kannste dir mal angucken , ist imo auch für anfänger easy verständlich ^^


 
DAs ist echt mal eine verständliche Seite, danke für den Link
(Gibts davon mehr? xDD )



Crysis nerd schrieb:


> 55ms? pff is das lange -.-


[lustigkeit]Wobei du "lange" hier relativ verwenden solltest! Denn ich brauch mind 5minuten, um was trinen zu gehen, dazu gehört "überlegen was ikk trinke", "mich hier aus meiner butze rausquälen", "nach unten latschen" und und und  [/lustigkeit]
ne ma im ernst ... ist 55ms in der Programmierwelt wirklich schon so lang?
Mich würde das eigentlich nicht stören, ob mir ein ergebnis nun 55ms später angezeigt wird oder nicht^^
nur bei extrem zeitintensiven sachen könnte ich das schon verstehen .....



Crysis nerd schrieb:


> Und wegen der Verwirrung: hat jez jemand vor das zu programmieren?


 Also richtig vor hatte ich es eigentlich nicht, aber das wird irgendwie immer interessanter 
Nächste Woche werde ich mich da ma ransetzen. Diese Woche is time = not available (deswegen poste ich auch fast nur nachts xD )




KingofKingzZ schrieb:


> Das mit den Threads war weniger auf dich bezogen, sondern eher als Antwort auf seine Frage wie er das ganze Angehen soll, da er fragte ob das ganze mit mehreren Threads gemach wird.


 
Also mit meinem i7 (HT aus) stünden mir die 4 Kerne zur Verfügung. und somit wären 4 Threads optimal oder?
Aber für ne KI fände ich das schon arg wenig mit max. 4 (oder 8) Threads durch die Gegend zu gurken, da müsste einer ja fast alles machen, je nachdem, wieviele Schwarminstanzen (wenn man jetzt das Konzept weiterverfolgt) man erzeugt  
Allein meine normalen Programme sind immer mit 3 Threads erstellt, wobei ich da nicht weiß, ob das so üblich ist 


PS: ich hab mein Abi jetzt zwar mit 1,5 bestanden (ja gaaanz knapp xD ), aber das heißt noch lange nicht, dass ich der übelzte Godfather in Sachen Programmierung bin, also ich bin selbst mal gespannt, was ich da zustande bringe


----------



## Crysis nerd (7. Juni 2011)

fadade schrieb:


> ne ma im ernst ... ist 55ms in der Programmierwelt wirklich schon so lang?


Überleg zb. mal: Damit ein Film nicht als ruckelig erscheint, brauchst du schon 25 fps, bei einem Spiel 30, wobei ich sogar 60 bevorzuge. Und selbst 1000 ms /25fps = 40 ms. Ja es ist recht viel...



fadade schrieb:


> Also mit meinem i7 (HT aus) stünden mir die 4 Kerne zur Verfügung. und somit wären 4 Threads optimal oder?
> Aber für ne KI fände ich das schon arg wenig mit max. 4 (oder 8) Threads durch die Gegend zu gurken, da müsste einer ja fast alles machen, je nachdem, wieviele Schwarminstanzen (wenn man jetzt das Konzept weiterverfolgt) man erzeugt
> Allein meine normalen Programme sind immer mit 3 Threads erstellt, wobei ich da nicht weiß, ob das so üblich ist


 Ich verstehe nicht, was du meinst? Warum sollte ein Thread alles machen? Bei Beispielsweise 100 Schwarminstanzen, warum sollte nicht jeder Thread 25 machen? Aber wie gesagt: komm erstmal vom Thread denken ab, mach falls du es vor hast erstmal alle in einem Thread.
Und mit den 3 normalen Threads: Das ist machwerk von Visual Studio, so weit ich weiß. Aktiv nutzen tust du nur einen Thread, mit dem was du Programmiert hast. Die anderen beiden Threads werden dazu benutzt, MS die Weltherschaft zu erlangen oder was auch immer.


fadade schrieb:


> PS: ich hab mein Abi jetzt zwar mit 1,5 bestanden (ja gaaanz knapp xD ), aber das heißt noch lange nicht, dass ich der übelzte Godfather in Sachen Programmierung bin, also ich bin selbst mal gespannt, was ich da zustande bringe



Also ich finde das Thema auch recht interessant, bin aber noch an anderen Projekten beteiligt und stinkfaul. Aber wenn du anfängst, sag mir mal Bescheid. Ich würde gerne das neuste hören immer


----------



## KingofKingzZ (7. Juni 2011)

Ja wie schon gesagt wurde sind 55ms verdammt lange. 
4 Threads wären bei dir Optimal, aber ob das jetzt 4,5 oder 6 sind macht keinen großen Unterschied. Du bekommst halt nicht mehr Performance, aber so schlimm ist das auch nicht, sofern die Threads nicht aufeinander angewiesen sind. Nur wenn das ausartet und du zu viele Threads hast wird es hässlich von der Performance her 
So aufwendig ist deine KI übrigens auch gar nicht. Was soll da jetzt so groß berechnet werden, wofür du meinst so viel Leistung zu brauchen? In Spielen z.B. braucht das Rendering meistens noch mit Abstand die meiste Zeit, da dies nicht (hat sich mit DX11 gebessert) parallelisierbar ist. Was man in Threads packen kann ist Audio, Physik, Netzwerk, Partikelsysteme und evtl. teile der Spiellogik bzw. der KI. Das Rendering läuft fast immer nur in einem Thread. 

lg Kok


----------



## fadade (10. Juni 2011)

Na denn werde ich es wohl mal alles in einem Thread laufen lassen .. und ggf. in Kauf nehmen: Man klickt auf nen Button mit der Aufschrift "Schwarm angreifen" oder so und dann gehts los .... 1% Fortschrit ..... 2%Fortschritt .... paar Runden BC2 -> 15% Fortschritt 




Crysis nerd schrieb:


> Also ich finde das Thema auch recht interessant, bin aber noch an  anderen Projekten beteiligt und stinkfaul.


 
Soso ... da sind wir beide ja ziemlich ähnlich 
Btw .. was für andere Projekte machste denn so?^^


----------



## KingofKingzZ (10. Juni 2011)

öhh was willst du denn dass passiert, wenn man auf Schwarm angreifen klickt? 
Wenn ein Schwarm nicht aus Millionen besteht wird das alles seehr seehr viel schneller sein. Ich glaube du unterschätzt die Leistung eines heutigen PCs/die Aufwendigkeit deines Vorhabens etwas. 

lg Kok


----------



## fadade (10. Juni 2011)

KingofKingzZ schrieb:


> öhh was willst du denn dass passiert, wenn man auf Schwarm angreifen klickt?


keine Ahnung 



KingofKingzZ schrieb:


> Ich glaube du unterschätzt die Leistung eines heutigen PCs


das kann sein, mit so aufwendigen sachen kenn ich mich eben nicht aus^^
ich weiß nur, dass mein PC (siehe Sig) für das Sortieren von ~613.000 deutschen Wörtern kaum Zeit benötigt, aber alle Wörter mit "A" oder "b" als anfangsbuchstaben in einer Datei zu speichern ne halbe Ewigkeit braucht xD
_"String += [neuer teil];" schein da der übeltäter zu sein -.-_



KingofKingzZ schrieb:


> die Aufwendigkeit deines Vorhabens etwas.


da stimme ich dir zu  
aber wie sagt meine Mutter immer: "Ach mach doch, was de willst" 


PS: 1500 Posts?


----------



## Crysis nerd (10. Juni 2011)

So ich hab mir mal das bischen Mühe gemacht und das Spiel an dem ich werkel umgebaut zu etwas, was schwarm intelligenz schon fast gleich kommt. Nur dass sich die Intelligenz auf zufällige Bewegungsvektoren beschränkt 
Ne echt.. also ich hab hier ein kleines Programm, was mir mehrere Objekte anzeigt, die in einem Raum drin sind. Jedes Objekt hat eine Update funktion, welche jeden Frame aufgerufen wird. Bis jetzt steht in der Update Funktion  nichts weiter drin also eine zufällige Bewegung. 

Was mach ich jetzt?
Ich denke ich werde das jez erstmal mit 10 ausprobieren,die dann versuchen sollen einen bestimmten abstand zu ihren Partnern einzuhalten.
Vllt. fällt mir auch was besseres ein. Oder euch 

btw: bei 300 instanzen und wahrscheinlich (hab die Anzeige dummerweise rausgeschmissen) 60fps ackert meine CPU auf 12%. Hab 4 Kerne (Q6600 4*2,4 GHz)

Warte auf eure antworten 

Lukas


----------



## fadade (10. Juni 2011)

@Crysis nerd (warum eigentlich "nerd? xD):

hast du das echt in 3D gemacht?^^
ich hätte das sonst virtuell gemacht, also jedes Objekt bekommt einfach einen vektor als Variable und dann findet da die "Bewegung" statt
aber so kannste ja jetzt das mit dem bestimmten Abstand auch erstmal machen.
und dann würde ich in die Updatefunktion noch sowas einbauen, dass das Objekt z.B. eine Gefahr erkennt und dann in die entgegengesetzte Richtung ausweicht. tjo und die andern müssen dann eben wieder ihren mindestabstand einhalten.

Obwohl da wüsste ich auch nicht, was sinnvoll ist:


```
switch (variable_umstaende) // oder halt if und elseif, jenachdem^^
case gefahr1: .....
case gefahr2: ....
case doof: ...
case zu_nah: .....
```
aber das wär ja nicht intelligent, da dann ja nur das aus der switch-case-anweisung behandelt wird.

Dann hätt ich persönlich mit meinem mickrigen Kenntnisstand irgendwie eine weitere sache eingefügt:

```
case default (oder unbekannter_umstand)
```
und dann was da passiert irgendwie gespeichert, sodass der schwarm auch lernt.
inwieweit das nun zu realisieren ist weiß ich nicht 

aber das mit der Updatefunktion ist wohl schonmal das sinnvollste, was geht, um die objekte mehr oder weniger unabhängig voneinander interagieren zu lassen.
Sonst pack doch einfach mal was rein und schau mal, was passiert 

So ich bin dann erst am Montag wieder da ....


----------



## KingofKingzZ (10. Juni 2011)

Das Problem bei deinem von a bis b in ner Datei speichern ist wohl kaum das addieren der Strings sondern das schreiben auf die Datei, da deine Festplatte vieeel langsamer ist, als deine CPU könnte. 

lg KoK


----------



## Crysis nerd (11. Juni 2011)

fadade schrieb:


> @Crysis nerd (warum eigentlich "nerd? xD):


Wer redet hier gerade über selbstlernende Schwarmintelligenz? 
Das Crysis find ich viel nerviger... is zwar cool das Spiel, aber nich das beste so...
Bin auch unter Crynerd bekannt, was sich aber iwie emo anhört, aber nunja egal, hab den namen jez ^^
Sorry für OT 


fadade schrieb:


> hast du das echt in 3D gemacht?^^
> ich hätte das sonst virtuell gemacht, also jedes Objekt bekommt einfach einen vektor als Variable und dann findet da die "Bewegung" statt
> aber so kannste ja jetzt das mit dem bestimmten Abstand auch erstmal machen.
> und dann würde ich in die Updatefunktion noch sowas einbauen, dass das Objekt z.B. eine Gefahr erkennt und dann in die entgegengesetzte Richtung ausweicht. tjo und die andern müssen dann eben wieder ihren mindestabstand einhalten.


Nein, hab ich irgendwas mit 3D erwähnt? 0.o
Alles 2D...
Was du mit deinem virtuell meinst, ist mir gerade leider schleierhaft...
Also ich erklär dir mal wie das bei uns ist. Ich nutze, weil ich faul bin, einfach die Physikengine (unserer Gamengine), da die die Bewegungen ein wenig "geschmeidiger" macht. Also in jedem Durchgang wird diese Funktion aufgerufen:

```
m_Physic->AddForce(Vector2D<float>(rand()%101/250.f-0.2f, rand()%101/250.f-0.2f))
```
Es wird also eine Kraft hinzugefügt, die dann in die Geschwindigkeit umgerechnet wird. Und die Kraft wird als 2D Vektor übergeben, wobei beide Werte eine Zufallszahl sind (von -0,2 bis +0,2)

Jetzt eine Gefahr einzubauen sollte nicht sehr schwer sein... Man nimmt dann als Kraft einfach (Object_Position - Gefahr_pos) und schon hat man wieder seinen Bewegungsvektoren.

Ich versuch aber gerade, dass sie einen immer gleichen Abstand zu ihren Partnern haben.
Meine Taktik ist:
Alle anderen Objekte durchgehen, das Objekt mit dem geringsten Abstand auswählen. Wenn dieser Abstand jetzt > 100 ist, wird sich auf das Objekt zu bewegt. Falls kleiner, davon weg.
Nur gestern hatte ich nich mehr so viel zeit... und irgendwie habe ich das mit dem Durchlaufen aller list Elemente gefailt... aber ich mach jez weiter ^^


----------



## KingofKingzZ (11. Juni 2011)

Du könntest doch, falls festgestellt wird, dass einer zu nahe dran ist, den Geschwindigkeitsvektor einfach umdrehen, sodass er in die andere Richtung weiter "schwimmt". 
Sieht dann natürlich noch nicht so realistisch aus, da keine Dämpfung oder Reaktionszeit dabei ist, aber für den Anfang evtl. nicht schlecht.

lg Kok


----------



## Crysis nerd (11. Juni 2011)

Das haben wir doch so... praktisch. Wir bilden die Differenz der beiden  Vektoren und schon haben wir unseren Bewegungsvektoren, der uns entweder  zum anderen Objekt hinbringt oder wegführt (je nachdem wie man sie  voneinander abzieht)
Und die Dämpfung haben wir ja praktisch schon durch die Physikengine  drin. Denn wir nutzen nicht die Funktion SetSpeed(vektor) sondern  AddForce(vektor).
Reaktionszeit will ich auch garnich einplanen eig^^
Also wenn du jez wirklich die Zeit meinst:
"mh ich bin ein fiisch, ein fröhlicher fiiisch. Wow was is das denn da?  Ja is das wohl ein Hai? Ja das könnte sein, ma umdrehen" 

mfg

PS: doofes was auch immer.. jedenfalls wollte ich das schon heute mittag posten, aber iwie hat das Forensystem ein wenig gefailt


EDIT1: Mit ein wenig Hilfe hab ichs jez geschafft, dass die Teile sich tatsächlich richtig schön auf Abstand halten. Sieht richtig lustig aus  (btw: alle lustigen "Stadien" des Projektes Speicher ich)
Zur Zeit bewegen sie sich immer mit dem selben Kraft betrag. Das änder ich jetzt.. dann müssten sie theoretisch mal Ruhelage erreichen..


----------



## joffal (11. Juni 2011)

hi,
verfolge die diskussion nun auch schon seit einiger zeit. seeehr interesting 
Ein freund von mir wollte auchmals so etwas mit intelligenter sprachausgabe machen, er wollte irgendwie für jedes wort eine zahl speichern, die so eine art sinn/intention/zweck darstellt. und je nachdem, was eingegeben wurde, konnte nun (ungefähr) der sinn der eingabe geschätzt werden und dementsprechend behandelt werden. 
aber ich hab gesagt: na denn viel spass bei den 600.000 deutschen wörtern, mehrdeutigkeiten und so weiter  
Seitdem studiert er brav weiter^^

@crysis nerd: könntest du evtl. auch BIlder von den lustigen stadien hier posten? xD


----------



## Crysis nerd (11. Juni 2011)

Ich kann sogar die ausführbaren Datein mal hochladen, wenn jemand Spaß dran hat. Aber im moment haben mein Freund und ich einfach zu viel FUN 
Morgen oder so 
Wir haben es inzwischen geschafft, dass 50 objekte nach 10 secunden in ruhelage sind und einen perfekten Abstand einhalten. Jetzt wollen wir, dass der Schwarm dem mauszeiger folgt..


----------



## joffal (12. Juni 2011)

das will ich auch können -.-


^^
ne (also doch schon .. aber) wär prima mit den dateien 

PS: mal sehn, wer jetz noch wach ist und antwortet


----------



## Crysis nerd (12. Juni 2011)

ALso ich geh jez pennen .. ich hab jez mal einen bösen Fisch eingebaut, vor dem alle fliehen sollten.
Durch ein paar Verwechslungenen von < und > wurde daraus möglicherweise eine schöne Frau und die Objekte eine Horde Männer. Keiner wich auch nur 250 von ihrer Seite  

Bis morgen


----------



## Crysis nerd (12. Juni 2011)

So ich lad jetzt mal eine Version hoch und ihr sagt, was ihr davon haltet 

http://sebi707.de/crap/AI.rar

Einstellungen: in game.ini können Auflösung und Fullscreen verändert werden. In swarm.ini können anzahl der Objekte und Anzahl der Nachbarn umgestellt werden.
Anzahl der Nachbarn ist die Zahl von den nächstens (örtlich nächstens) objekte, auf die geachtet wird. D.h. wenn der Wert 1 ist, orientiert sich jedes Teilchen nur an seinem nächsten Nachbarn und ignoriert alle anderen.
Diesen Wert (NoN) kann man noch im Spiel mit W und S umstellen.
Weitere bedienung: Pfeiltasten -> Kamera steurern
L und P -> Zoomen
Maustaste gedrückt halten -> Hai verschieben

Zum Starten braucht ihr die aktuelle DirectX Version und dieses C++ Redistrituable (ja ich weiß voll fail geschrieben, aber ich kanns mir nich merken -.-) 2010

Das wärs eigentlich...

Pls Meinungen


----------



## joffal (13. Juni 2011)

Meinung:

xDDDDDDDDDDDDDDDD

Die AI lässt sich fast so "spielen" wie diese Strategiespiele auf onemoreleve.com, wo man so Schafe mit der Maus in einen bestimmten Bereich scheuchen muss^^
aber sonst klasse 

Allerdings hab ichs geschfft, alle *hust* Dinger ausm Bildschirm zu jagen und dann war mein Mauszeiger da ganz allerin 

achja Edit: ab 650 Objekten macht hier die Atom-CPU schlapp


----------



## Crysis nerd (14. Juni 2011)

Danke, aber eine wichtige Sache habe ich vergessen:

*Source Code ist für jeden in diesem Forum selbstverständlich offen!*
Ich meine, wir haben hier darüber geredet.. Und mir erst die Anregung geschaffen. Also falls ihr was eigenes Probieren wollte, meldet euch einfach, ich schick euch das dann und erklär mal eben, wo was rein muss und wie das Grundsystem aufgebaut ist..

Ich will ja hier nicht alleine daran programmieren, sondern ich wollte mit euch eig tolle Intelligenz besprechen 

Achja: Wenn jemand sich das programmieren nich zutraut, aber trotzdem irgendwas haben will (außer Käsekuchen, den will jeder), kann er das sagen, vllt schaff ichs ja es einzubauen.

mfg
Lukas


----------



## Fragile Heart (14. Juni 2011)

Hallo Lukas,

also ich würde mir das gerne mal ansehen, wenn ich denn darf.


----------



## fadade (16. Juni 2011)

hi,
so ich meld mich jetzt auch mal wieder .... ehec lässt grüßen -.-

also @Crysis nerd:
die Visualisierung ist super 
ich meinte mit meinem "virtuellen Vektorraum", dass ich genau das mache, nur eben ohne Visualisierung^^
Sobald es mir wieder besser geht, werde ich vllt auch mal in deinen Code spicken wollen, aber .... eigentlich heißt es ja *selbst ist der Mann* 
also ma sehn 

achja und könntest du evtl. auch mehrere "feindliche Objekte" erstellen und je nachdem, ob es die eigenen scharmmitglieder zerstört (kann ja nah einer zufällig gewählten Zeit eintreten) wird dem Objekt eben ausgewichen oder nicht; oder so xD

@Joffal: was fürn Atom ist den das? der muss aber schon ziemlich dröge sein  


Edit: scharmmitglieder 
ich änder das mal nicht ... vielleicht möchte sich ja der eine oder andere von euch darüber lustig machen


----------



## Crysis nerd (16. Juni 2011)

So.. Also erstmal:
Arrg  wollte gerade schreiben, dass ich fadades witz nich ralle, bis ich ihn gerade gerallt habe >.<

Jedenfalls, wie ich schon richtig darauf hingewiesen wurde: das ist nicht richtig Intelligenz, sondern einfach nur "normale Programmierung", ein sog. "Reaktives System" (hab ich natürlich ganz alleine gewusst das wort, damn nagut fragile heart wars -.-). Aber ich wusste nicht, wie man das irgendwie in ein anständiges System für Künstliche Intelligenz quetschen könnte. Aber Fragile Heart guckt sich das mal an und macht ein Verbesserungs vorschlag)

Und achja, der Source, damit ihr euch die PN spart: http://sebi707.de/crap/AISource.rar
Bitte nicht missbrauchen oder so. Ich gebs jez einfach mal raus im guten Glauben an euch, dass damit nix passiert (was immer das auch seien sollte)
Is jez leider nur die Visual Studio 2010 Projektdatei dabei... Achja: das wichtige ist in Object.cpp  Object::Update()

Verbesserungsvorschläge und alles weitere zum Source, meinem Programmierstil oder ALLES höre ich gerne 

Lukas


----------



## fadade (20. Juni 2011)

Crysis nerd schrieb:


> Verbesserungsvorschläge und alles weitere zum Source, meinem Programmierstil oder ALLES höre ich gerne


 
laut Informatikunterricht sollen bzw. soll*ten* wir immer kommentare mit einer gesamtlänge von etwa 1/3 der gesamten Codelänge schreiben    
aber man versteht es trotzdem 
trotz meiner Angewohnheit, dass ich eine variable gut und gerne mal z.B. "var_die_das_und_das_macht" nenne ^^

Also im Modulkatalog für das Informatikstudium an der uni Hannover gibt es auch eine kleine nette Zeichnung zum Thema KI.
Dort läuft es auch mit einer Datenbank ab .....
Irgendwie bzw. irgendwo muss ja noch der Lernprozess rein. und der sollte wohl erstmal auf Benutzereingaben basieren.

Ich glaub ich besorg mir erstmal Lektüre für SQL; damit kann man den "Lernprozess" gut realisieren und es wird später voraussichtlich auch in meinem Studium angewandt 

PS: Schade, dass es hier nicht auch Codebeispiele gibt


----------



## Fragile Heart (20. Juni 2011)

Naja, du müsstest erstmal eine saubere Trennung haben und definieren was das System alles lernen können soll.  Dann können wir gerne über eine Datenbank reden.


----------



## fadade (20. Juni 2011)

Fragile Heart schrieb:


> Naja, du müsstest erstmal eine saubere Trennung haben und definieren was das System alles lernen können soll.  Dann können wir gerne über eine Datenbank reden.



Jo, daran hab ich eben auch grad gedacht 
Wenn man sich da weiter bei OOP aufhält 8was glaube ich unumgänglich ist) dann könnte man ja eine Inputklasse erstellen, die standardisierte Infos zum "Lernobjekt" enthält. Und während des _Lernens_ wird der Kram dann halt aufgewurschtelt und in eine passende Datenbank gespeichert (z.B. Bilder einfach in einen ordner, Wörter in ein "Wörterbuch" Termine in eine Sektion wichtig  ). Damit könnnte man viele Datentypen bearbeiten. Problem ist nur die standardisierung oder? 
Hab eben schonmal ein Codebeispiel gefunden, womit man Websites aufrufen und den Quellcode einsehen kann. Wenn man dort die Tags rausfiltert, hätte man ja schonmal eine Informationsquelle ^^

Dann macht man in die GUI noch eine Drag'n'Drop-Fläche rein und für jeden Dateityp oder was auch immer gibt es eine Überladung der Methode "ki_learn([der drag'n'drop-inhalt])" .....
oder so 


So und nun mal ein bisschen OT an die erfahreneren unter uns: Ich hab gestern Abend meine Bewerbung für ein Praktikum abgeschickt, und mir ist vorhin eingefallen, dass ich eine Änderung nicht rückgängig gemacht habe: "Über eine *positive* Rückmeldung würde ich mich sehr freuen." -> Ja, das positiv ist da noch fett  is das schlimm? ^^


----------



## Crysis nerd (20. Juni 2011)

Erstmal wäre schon eine "richtige Intelligenz" zu haben, bevor wir über selbstlernende nachdenken. Fragile Heart wollte mir eigentlich mal eine verbesserte Version schicken.. aber iwie kommt nix ^_^
und @fadade: was du in deinem letzen Post gesagt hast, ist vllt. ein bischen zu weit gegriffen erstmal.
Andere Sache: wenn das hier weiterentwickelt wird, weiterhin auf der Engine die bei mir dabei war? Wenn ein Projekt darauf aufbaut, müsste ich vllt. nochmal den Besitzer der Engine fragen, is aber zum Glück ein Kumpel...


----------



## Fragile Heart (21. Juni 2011)

> Fragile Heart wollte mir eigentlich mal eine verbesserte Version schicken.. aber iwie kommt nix ^_^


Nun ich muss neben meiner Arbeit ja auch noch ein Haushalt und alle Klischees erfüllen die man so an meine Person stellt, da bleibt wenig Zeit für Sonderwünsche. Und ich sagte die Tage, was bei mir ein dehnbarer Begriff sein kann.



> Erstmal wäre schon eine "richtige Intelligenz" zu haben


Streichen wir sofort mal! Den erstmal geht es darum die Hausaufgabe zu machen, dann können wir uns den unmöglichen annehmen.



Meine Vorschläge:
Ausgliedern des AI Codes in eingene Objekte.
Einfügen eines AI View Objektes, über das du die Sichtbarkeit von anderen Objekten für das jeweilige AI Objekt steuern kannst. Selbst wenn du es jetzt noch nicht brauchst, ist das später nützlich.
Einfügen eines Bewertungssystem um Möglichkeiten zu prüfen.
Einfügen eines Entscheidungsbaums um zwischen mehreren Möglichkeiten zu wählen.
Einführen mehrerer Zonen zur Entscheidungsfindung.
...
Das ganze kann ich hier noch Ewig weiterführen, aber das wichtigste ist das saubere Trennen des Codes (nicht einfach alles in die Update Funktion)


----------



## Crysis nerd (21. Juni 2011)

Fragile Heart schrieb:


> Nun ich muss neben meiner Arbeit ja auch noch ein Haushalt und alle Klischees erfüllen die man so an meine Person stellt, da bleibt wenig Zeit für Sonderwünsche. Und ich sagte die Tage, was bei mir ein dehnbarer Begriff sein kann.


Ich will dich ja nicht hetzen, hab mich nur gewundert  und wollte es nochmal erwähnen 
Bin trotzdem gespannt was dabei rauskommt..



Fragile Heart schrieb:


> Meine Vorschläge:
> [...]
> Das ganze kann ich hier noch Ewig weiterführen, aber das wichtigste ist das saubere Trennen des Codes (nicht einfach alles in die Update Funktion)



Also hab ich das jetzt richtig verstanden, dass es sowas wie ein Projekt wird? Wir paar Leute hier aus diesem Thread, die zusammen programmieren?
Wenn ihr wollt, stelle ich svn zu Verfügung (falls wir den Code nicht ganz offen machen wollen (google)). Und beteiligen will ich mich natürlich auch.

Wer wäre denn dann bei sonem kleinen Projekt dabei?


----------



## Fragile Heart (21. Juni 2011)

Crysis nerd schrieb:


> Also hab ich das jetzt richtig verstanden, dass es sowas wie ein Projekt wird? Wir paar Leute hier aus diesem Thread, die zusammen programmieren?


Ich kann dir gerne helfen wenn du konkrete Fragen hast, aber ich möchte mir jetzt ungern noch ein Projekt ans Bein binden. Ich hab mit meinen aktuellen schon mehr als genug zu tun und so werde ich kaum finden für noch eins. 

Vorschläge und kleinere Korrekturen mache ich gerne, aber für die eigentlich Umsetzung musst du schon selber herhalten.


----------



## fadade (21. Juni 2011)

puh ... wie früh steht ihr immer auf? 


*@Fragile heart:*
- Meinst du jetzt basierend auf der Engine von Crysis nerd und dem unbekannten Besitzer?^^
- Und bei Punkt 4 bin ich mir grad unsicher, was du damit meinst .... räumliche Zonen, wo (und nur da) die viecher "denken"? 
- s. ganz unten

*@Crysis nerd:*
1) was is svn? ^^
2) ich wär dabei. jetzt vielleicht nit als Coder (weil ich da eben nicht so der beste bin) aber beim Planen, oder ausdenken gerne 
Vielleicht kann man das ganze als projekt machen, wenn wir noch a bissle mehr leute finden. (aber es sollte klar sein, dass wir _wahrscheinlich _irgendwann einfach nicht mehr weiterkommen )
3) ganz offen würd ich jetzt erstmal nicht sagen
4) schade, dass meine serverteile noch nicht angekommen sind .... sonst könnte ich auch was zur verwaltung zur verfügung stellen -.-

*@all:*
- C++, C#, C , JAVA, VB, Scala .... ? 
- schwarm"intelligenz", "neuronale" schwarm"intelligenz" oder einzelne "intelligente" software? mit oder ohne lernprozess? (das mit lernen wär ja z.B. etwas, was man auslagern/trennen kann)
- Ansonsten glaub ich mal, das so ein Projekt ein ganz klitzkleines bisschen Planung benötigt


----------



## Fragile Heart (21. Juni 2011)

@Fafade:
Also mein Wecker geht um 5 Uhr und nach einer kurzen Dusche bin ich dann auch wach. 

Was deine Fragen angeht.


> Meinst du jetzt basierend auf der Engine von Crysis nerd und dem unbekannten Besitzer?^^


Ja ich meinte jetzt auf dieses konkrette Codebeispiel bezogen. Leider kann ich euch noch kein eigenes System anbieten, da ich immer noch am entwerfen bin. 



> Und bei Punkt 4 bin ich mir grad unsicher, was du damit meinst .... räumliche Zonen, wo (und nur da) die viecher "denken"?


Das ist im Prinzip doch recht einfach. Ein System kann nur dann "Intelligent" sein, wenn es eigene entscheidugen treffen kann oder? Und dazu muss es wohl auch verschiedene Möglichkeiten prüfen und dazwischen wählen können.


----------



## fadade (21. Juni 2011)

Fragile Heart schrieb:


> Also mein Wecker geht um 5 Uhr und nach einer kurzen Dusche bin ich dann auch wach.


 
 Jeder Wecker, der mich um diese Uhrzeit weckt, hat nicht mehr lange zu leben 
 Wenn man später beim arbeiten immer so früh aufstehen muss .... dann: i wiiillll neeeedddd xDDD




Fragile Heart schrieb:


> [...] da ich immer noch am entwerfen bin.


du entwirfst extra für uns ein system? das wär doch nicht nötig gewesen  
Nej nej, aber Planung ist schon wichtig. [sarcasm] nicht, dass wir schön loslegen und dann am ende doch wieder nur ein reaktives System haben  [/sarcasm]




Fragile Heart schrieb:


> Das ist im Prinzip doch recht einfach. Ein System kann nur dann  "Intelligent" sein, wenn es eigene entscheidugen treffen kann oder? Und  dazu muss es wohl auch verschiedene Möglichkeiten prüfen und dazwischen  wählen können.


 
 /sign, so machts sinn


----------



## Fragile Heart (21. Juni 2011)

fadade schrieb:


> du entwirfst extra für uns ein system? das wär doch nicht nötig gewesen
> Nej nej, aber Planung ist schon wichtig. [sarcasm] nicht, dass wir schön loslegen und dann am ende doch wieder nur ein reaktives System haben  [/sarcasm]


Ich mache das ja nicht für euch, aber ihr dürft es dann auch benutzen.


----------



## Crysis nerd (21. Juni 2011)

fadade schrieb:


> puh ... wie früh steht ihr immer auf?


6 Uhr normal für Schule und dann halt in der schule 


fadade schrieb:


> *@Crysis nerd:*
> 1) was is svn? ^^



SVN ist ein System um Projekte zu verwalten. Man speichert das ganze Projekt auf einem Server und von dort aus können es alle runterladen. Dann kann jeder etwas bearbeiten und seine Änderungen hochladen. Damit erzeugt er eine neue Revision. Es werden immer nur die Änderungen hochgeladen, daher kann UserA an einer datei arbeiten und UserB an einer anderen und beide können es hochladen. Und auf dem Server wird dann jede Revision (jede Version) gespeichert und ist abrufbar. Außerdem sieht man genau die Änderungen. Ganz praktisch..

Als Sprache auf jeden Fall C++, ich denke das das die beste für so ein Projekt ist, wobei eh schon mein Grundsystem auf C++ basiert. 

Aber nochmal wegen Projekt: Ich hab da leider ca. die gleiche Auffasung dazu wie Fragile Heart... Ich bin eig schon zugeplant -.- Also ichhab genug "Projekte" am laufen. Ich kann gerne helfen und soweiter, aber wirklich reinhängen und viel machen dann wieder doch nich :/


----------



## fadade (21. Juni 2011)

Fragile Heart schrieb:


> Ich mache das ja nicht für euch


jetz sach nicht, du hast die Ironie dabei nicht verstanden  



Fragile Heart schrieb:


> aber ihr dürft es dann auch benutzen.


  
worum handelt es sich da überhaupt? 



Crysis nerd schrieb:


> SVN ist ein System um Projekte zu verwalten. Man speichert das ganze Projekt auf einem Server und .....



Hmm... ist das dieser Team Fountdation Server von Visual Studio den ich nicht verstnaden habe? 
Oder sowas dann?
Weil das klingt ja echt ganz praktisch und sowas kann bzw. könnte ich dann auch hosten



Crysis nerd schrieb:


> Als Sprache auf jeden Fall C++, ich denke das das die beste für so ein Projekt ist, wobei eh schon mein Grundsystem auf C++ basiert.
> Aber nochmal wegen Projekt: Ich hab da leider ca. die gleiche Auffasung dazu wie Fragile Heart... Ich bin eig schon zugeplant -.- Also ichhab genug "Projekte" am laufen. Ich kann gerne helfen und soweiter, aber wirklich reinhängen und viel machen dann wieder doch nich :/


 
hmm.. also ich hab viel zu viel Zeit, langweile mich von morgens bis abends zu Tode und hab eigentlich gar nix zu tun 
Außer 2 Monate Praktikum ... Studiumswahl und am 24.06 mein offizielles Abi-Zeugnis entgegennehmen^^

Also ich denk ma ich versuche einfach mal so ein paar Grundsteine zu legen. Theoretische mein ich jetz 
Und dann könnwa _(oder ich mach das)_ ja nochmal einen neuen Treahd speziell dazu öffnen, denn hier ging es mir ja eigentlich darum von bestehenden Sachen was zu lernen, da ich davon ja gar keine Ahnung habe 
Aber jetzt frei nach dem Motto "Probieren geht über studieren" sowas zu lernen klingt auch nicht schlecht xD
Wenn ich ein paar Lektüretipps habe, kann ich euch die ja per PN auch zukommen lassen.


----------



## Crysis nerd (21. Juni 2011)

fadade schrieb:


> Hmm... ist das dieser Team Fountdation Server von Visual Studio den ich nicht verstnaden habe?
> Oder sowas dann?
> Weil das klingt ja echt ganz praktisch und sowas kann bzw. könnte ich dann auch hosten


Keine Ahnung ob der TFS von VS ein SVN Client ist. Also ich nutze als SVN Clienten Tortoise SVN , weil der sich ganz einfach in den Windows Explorer integriert. Aber das kann ich dir nochmal näher erklären.
Und was hosten angeht: Wie gesagt, das kann auch n Kumpel (jaja, wieder der Unbekannte) von mir machen, auf seinem server haben wir sowieso schon mehrere SVN teile (mir is das wort entfallen) laufen. Mir solls egal sein, worauf es läuft.



fadade schrieb:


> hmm.. also ich hab viel zu viel Zeit, langweile mich von morgens bis abends zu Tode und hab eigentlich gar nix zu tun
> Außer 2 Monate Praktikum ... Studiumswahl und am 24.06 mein offizielles Abi-Zeugnis entgegennehmen^^
> 
> Also ich denk ma ich versuche einfach mal so ein paar Grundsteine zu legen. Theoretische mein ich jetz
> ...


Also fürn neuen Thread wäre ich auch. Wenn wir das dann sozusagen als "Community Projekt" aufbauen, könnte der ja einfach mal sticky werden ( *schiel in richtung mods*). Ich würde sagen, du machst einfach einen neuen Thread auf und fragst dadrin auch nochmal nach Leuten die Interesse daran haben. 
Und naja, dann gehts eher darum, dass ihr(also du und eventuell noch andere) dadran rumprobiert und Fragile Heart und ich werden euch dabei ein bischen helfen, wann immer wir können.

Weil KI ist und bleibt Interesant..


----------



## bingo88 (21. Juni 2011)

TFS ist nicht zu SVN kompatibel. Ist eine MS Eigenentwicklung.


----------



## X_overclock (8. August 2011)

also ich hab nur A* und jizzstar algo gelesen und wusste direkt DAS ist der maniac der neben mir bei Hoffi in Informatik sitzt


ich hab mich auhc mal mit dem thema beschäftigt aber meine gedankengänge werde ich nicht veröffentlichen das wäre langweilig


----------



## joffal (8. August 2011)

X_overclock schrieb:


> aber meine gedankengänge werde ich nicht veröffentlichen das wäre langweilig


 
also ich fänds lustig, deswegen kannst du sie gerne mit uns teilen  
@fadade: siehe mal PN


----------



## Der Maniac (8. August 2011)

Ich garantiere euch das ihr die nicht kapieren werdet! xDDDDDD

Bei dem Kram der damit aktuell Programmiert wird erst recht nicht... :p Aber wenn das ganze iwann funktioniert, dann werdet ihr es uns danken! xDD


----------



## joffal (8. August 2011)

aber so doof bin ich gar nicht  

wieso werden wir es euch denn danken? seid ihr da jetz echt elllich an einer ernsthaften angelegenheit dran? ... wöaklich?


----------



## X_overclock (9. August 2011)

joffal schrieb:


> aber so doof bin ich gar nicht
> 
> wieso werden wir es euch denn danken? seid ihr da jetz echt elllich an einer ernsthaften angelegenheit dran? ... wöaklich?


 

Ja maniac und ich sind gerade tatsächlich an sowas dran

ab 27.08.2011 auf der Ideenexpo in Hannover  Kommt mal hin wir sind die ganze zeit da, aussteller und so. Haltet einfach ausschau nach ner riesigen Ampel 

Wie wärs? PCGH Treffen auf der Ideenexpo


Gruß Viktor


----------



## fadade (9. August 2011)

n1ce, warum nicht^^
gleich mal eingetragen: "Ideenexpo, X_overclock ist der Typ an der AMpel"


----------



## Der Maniac (9. August 2011)

Schreib noch dazu:

"Der Maniac müsste da auch mit bei stehen" xDDD

Aber mal zurück zum Thema:

Wir haben weder den einen noch den anderen Algorythmus verwendet... Bei uns wird alles im Kopf gefreestyled und dann programmiert...^^ Wenns lüppt: jut, wenn nich: nachbessern! xD


----------

