47 Stimmen

Sind Spiele die komplexesten/beeindruckendsten Anwendungen?

Ich habe heute darüber nachgedacht, was die komplexeste/beeindruckendste Anwendung sein könnte, die je geschrieben wurde. Also habe ich mir überlegt, womit ich gut zurechtkomme und was ich täglich benutze, Datenbanken .

Dann begab ich mich auf das Feld des Unbekannten (für die meisten von uns, nehme ich an), die Regierung . Ich kann mir nur vorstellen, wie komplex die Anwendungen der NASA sind, mit denen sie mit den Rovern auf dem Mars kommunizieren können.

Aber dann habe ich über Dinge nachgedacht, die ich seit meiner Kindheit täglich benutze, Spiele . Da ich kein Spieleentwickler bin, stellte sich mir eine Vielzahl von Fragen zu KI und Computerkomplexität, die über alles hinausgehen, was ich mir vorstellen kann.

Sind Spiele die komplexesten/beeindruckendsten Anwendungen?

7voto

Uri Punkte 86472

Ich würde sagen: definitiv nein.

Moderne Spiele sind sicherlich beeindruckend, aber ihre Software- und Hardwaretechnologie bleibt deutlich hinter dem Stand der Technik in Wissenschaft, Industrie und Militär zurück. Immerhin sind sie dafür gedacht, auf gängiger Heimhardware zu laufen. Ich bin sicher, dass das Militär seine Leute an realistischeren Simulationen ausbildet.

Vom rechnerischen Standpunkt aus gesehen sind Spiele auch nicht besonders interessant. Moderne Spiele (z. B. Fallout 3, GTA4) wirken aufgrund ihrer "offenen Welt" und der extrem langen Geschichte sicherlich beeindruckend, aber das hat nichts mit der Technologie zu tun, sondern eher mit dem Produktionswert. Beliebte Spiele erfordern heute eine größere Besetzung und Investitionen als manche Hollywood-Filme. Sicher, man hat ein Modell von New York statt eines Blocks, aber was soll's?

Selbst MMORPGS sind nicht so beeindruckend. Ja, sie haben viele interagierende Agenten. Unternehmensanwendungen, die automatisierte Agenten enthalten, haben jedoch viel mehr Agenten, arbeiten schneller und haben höhere Zuverlässigkeitsanforderungen.

Abschließend würde ich sagen, dass mit Ausnahme von Spitzenalgorithmen, die anhand von Spielen wie Schach getestet werden, da diese als Benchmark dienen, die Spiele-KI nicht sehr weit fortgeschritten ist. Auch hier haben das Militär (und Finanzunternehmen) viel intelligentere Anwendungen.

0 Stimmen

Nach allem, was ich gehört habe, trägt die High-End-Schach-KI wenig oder gar nicht dazu bei, den Stand der Technik in der allgemeinen KI voranzubringen. Sie ist einfach zu spezialisiert.

0 Stimmen

Das macht Sinn... Es scheint, als hätte es heute mehr mit dem Bau von ausgefallener Hardware mit mehreren Kernen zu tun. Ich habe KI seit dem College nicht mehr wirklich gesehen, und das war viele vor Jahren.

1 Stimmen

@Uri : Eigentlich sagst du es selbst, alle Punkte, die du erwähnst, macht jemand besser, aber nur diesen Punkt. Spiele fassen alles zusammen und sind deshalb die Spitze der Informatik. Es ist auch falsch, dass sie hinterherhinken, die Forschung (Crytek, Epic, Ati ) ist an der Spitze, und sogar Papers werden manchmal nach der Veröffentlichung veröffentlicht.

6voto

Adam Hawes Punkte 5403

Spiele sind von der Komplexität her nicht so beeindruckend. Ich nehme an, Sie dachten an Spiele im FPS-Stil, die mit ihren Grafikfähigkeiten sicherlich beeindrucken. Was die Berechnungen angeht, so leisten sie sicherlich eine Menge, aber es handelt sich meist nur um eine Menge bewährter Algorithmen, die auf immer mehr Polygonen und Texturkarten mit höherer Auflösung laufen.

Eine physikalische Umgebung zu simulieren ist auch nicht so schwer, vorausgesetzt, man will, dass die Umgebung den bekannten Gesetzen der Physik gehorcht, denn das meiste davon ist ziemlich einfach und gut verstanden.

Die Mars-Rover-Missionen sind eine beeindruckende Leistung. Keine dynamische Speicherzuweisung, Debugging des Codes während der Ausführung, auf dem Mars und das Hochladen einer Fehlerbehebung während des laufenden Betriebs. Was die Robustheit angeht, würde ich sagen, dass das fast den Vogel abschießt.

1 Stimmen

Der Mars-Rover-Fixierung kann ich nur zustimmen. Wäre er auf der Erde gelaufen, wäre das nicht so ungewöhnlich gewesen. Aber die Identifizierung eines Fehlers und der anschließende Software-Upload aus dieser Entfernung ist beeindruckend.

1 Stimmen

Insbesondere bei einer Verzögerung von etwa 10 Minuten zwischen der Eingabe eines Debugging-Befehls und dem Erhalt der Ergebnisse sollten Sie genau wissen, welche Informationen Sie benötigen, und eine Reihe gut durchdachter und korrekter Befehle eingeben, um das Gewünschte zu erhalten.

0 Stimmen

Es ist definitiv beeindruckend. aber es ist immer noch nur ein oder zwei felder. system hacking und netzwerk. sie haben auch lag zu berücksichtigen, in spielen. tatsächlich, zu schrecklichen Ebenen der Komplikation wegen cheaters. der server und der client hat die Physik und Spiellogik auszuführen, um lag Wahrnehmung auf der Client-Seite zu reduzieren, dann muss der server das Ergebnis durch die Überprüfung gegen seine eigene Simulation zu validieren. und das muss alles in Echtzeit sein, das ist auch beeindruckend. Was das Hacken des Systems angeht, so hat die PSP nicht genug RAM, um das Spiel selbst zu hosten, auch dafür müssen verrückte Hacks gemacht werden.

5voto

Brian Postow Punkte 10745

Ich widerspreche keiner der Antworten, die hier bereits gegeben wurden, aber ich finde es sehr interessant, dass die Leute, wenn sie an "die Komplexität von Spielen" denken, an GTA oder MMORGs denken. Ich denke an Go und Schach.

Beliebte Spiele mögen rechenintensiv sein und viele Grafiken enthalten, aber das ist nicht per se SCHWER. Go hingegen ist ein rechnerisch unlösbares Problem.

Und wenn man die technische Definition von "Komplexität" zugrunde legt, dann ist das NICHT eine subjektive Frage.

0 Stimmen

Es ist nicht schwer, die Brute-Force-Regeln zu programmieren, die eine vernünftige KI für Schach- und Go-Spiele ergeben. Das kannst du in ein paar Wochen in deiner Freizeit zu Hause machen. Jetzt geh und mach GTA 3 und komm hierher zurück. Eigentlich nur GTA 1, wenn du es vor den nächsten 5 Jahren schaffst, wirst du ein ziemlicher Held sein. Nein Brian, GTA und 3D-Spiele beinhalten eine verrückte Menge an Subsystemen, Physik, Autosimulationen, Wettermaschinen, Rendering, basierend auf jahrzehntelanger akademischer Forschung, und es beinhaltet auch spezielle Hardware-Hersteller (Grafikkarten, Physix, Umwelt-Audio...).

0 Stimmen

Brute-Force-Regeln, klar. Aber eine "Vernünftige KI"? Nein, das erfordert viel mehr KI-Kenntnisse, als wir derzeit haben. Wenn man es schafft, in wenigen Wochen ein Schachprogramm zu entwickeln, das sogar mäßig begabte Menschen schlagen kann, dann hat man etwas sehr Beeindruckendes geleistet. Bei Go ist es noch schwieriger. Nur weil etwas "einfach" ist, heißt es nicht, dass es leicht ist. Die besten Go-Programme, die es derzeit gibt (und die viele Doktorarbeiten in der KI-Forschung ausmachen), können kaum mit wirklich guten Menschen mithalten. Sie können immer noch nicht die besten Menschen schlagen.

0 Stimmen

Wenn Sie von roher Gewalt sprechen, dauert die Ausführung unheimlich lange. Wenn du mir erlaubst, GTA mit roher Gewalt zu erzwingen, kann ich das in 3 Wochen schaffen, ganz einfach. Zugegeben, es wird genauso unspielbar sein wie das mit Brute-Force erzwungene Go-Programm, weil es so langsam ist...

5voto

ryan.scott Punkte 2215

Ich werde Ihnen sagen, was meiner Meinung nach das Einzigartige an Spielprogrammen ist und was sie für mich vielleicht am beeindruckendsten macht... ist, wie sich Fehler auf das Gesamtprodukt auswirken. Wenn Sie einen Fehler in, sagen wir, Outlook (hah) haben, gibt es mehrere Möglichkeiten, ihn zu beheben (ich werde hier zu sehr vereinfachen):

  1. Beheben Sie den Fehler.
  2. Geben Sie dem Benutzer eine Umgehungslösung, wenn es eine andere Möglichkeit gibt, das Gleiche zu erreichen.
  3. Lassen Sie den Fehler einfach so, wie er ist, und machen Sie sich keine Gedanken darüber.

Bei den meisten Spielen, vor allem bei Multiplayer-Spielen, hat man oft nicht die Möglichkeit, sich für Nummer 2 oder 3 zu entscheiden. Die Spieler suchen nach Möglichkeiten, Spiele auszunutzen. Wenn man also einen Fehler einbaut, der ausgenutzt werden kann, dann wird er auch ausgenutzt. Daher ist die Toleranz für Fehler in Spielen wegen des Missbrauchspotenzials viel geringer als bei den meisten Geschäfts- und Produktivitätsprogrammen.

Für mich ist das einer der wichtigsten Punkte, die ein großes, komplexes Spielsystem wie WoW oder Everquest wirklich beeindruckend machen. Der Aufwand, den die Leute betreiben, um Schlupflöcher in einem Spiel zu missbrauchen, ist ziemlich erstaunlich und sehr gut dokumentiert. Dies steht in krassem Gegensatz zu Produkten wie Photoshop oder Bürosoftware, bei denen, solange es eine Möglichkeit gibt, das zu tun, was man tun muss, die Tatsache, dass einige der anderen Arbeitsabläufe vielleicht kaputt sind, nicht unbedingt ein geschäftskritischer Fehler ist ... er hat zumindest das Potenzial, ignoriert zu werden. Diesen Luxus können sich Spieleentwickler einfach nicht leisten.

Nun... im Vergleich zu Dingen wie der Flugsicherung oder der Airbus-Flugsoftware gibt es bei Spielen nicht diese Art von Einschränkungen, die das Leben auf dem Spielfeld betreffen... das ist eine ganz andere Klasse von Herausforderungen.

0 Stimmen

Für ATC stimme ich zu, aber Absturzfestigkeit und Sicherheit sind keine Maßstäbe für die Beeindruckbarkeit, wenn das zu sichernde Programm von vornherein einfach ist. Bei Flugzeugen ist die Größe des Programms begrenzt, um Risiken zu vermeiden, denn das Risiko steigt mit der Komplexität. Aus diesem Grund haben wir immer noch nicht das berühmte verteilte Luftverkehrskontroll- und Überwachungssystem der nächsten Generation. Vor 10 Jahren wäre es möglich gewesen. Aber die Anforderungen in der zivilen Luftfahrt sind so hoch, dass selbst einfache Systeme Jahrzehnte brauchen, um realisiert, genehmigt und zertifiziert zu werden.

3voto

Brian Punkte 115257

Ich weiß nicht, wie Sie "Komplexität" oder "Beeindruckendheit" messen wollen, aber einige Software, die Sie vielleicht auf Ihrem Desktop haben (wie Office oder Visual Studio), ist nach den meisten Maßstäben wahrscheinlich "komplexer" als jedes Videospiel.

(Ich glaube, VS besteht heutzutage aus etwa 50 Millionen Codezeilen, obwohl ich hier nicht unbedingt eine zuverlässige Quelle bin).

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X