21.09.2024
Heim / Mobiles Betriebssystem / Computerprogramm, das menschliches Verhalten nachahmt 3 Buchstaben

Computerprogramm, das menschliches Verhalten nachahmt 3 Buchstaben

Hallo, Habr!

Ich habe kürzlich eine Kursarbeit über genetische Algorithmen im Darwinbots-Programm abgeschlossen und bin zu dem Schluss gekommen, dass sie für die Community interessant sein würde. Darüber hinaus in im Moment Die Projektgemeinschaft ist recht klein. Bei den Artikeln handelt es sich zur Hälfte um Übersetzungen von Dokumentationen und zur Hälfte um eigene Recherchen zum Programm.

1. Erste Bekanntschaft

2.

Das Darwinbots-Programm ist also ein künstlicher Lebenssimulator. Die ersten Versionen wurden vom italienischen Programmierer Carlo Comis mit der Programmiersprache Visual Basic geschrieben. Neueste Version Das aktuelle Programm ist 2.45.02D, veröffentlicht am 21. August 2012. Derzeit wird die dritte Version der Anwendung entwickelt, komplett neu geschrieben in C#. Es gibt auch eine Portierung in C++. Der Quellcode des Projekts wird im Versionskontrollsystem Subversion veröffentlicht und steht jedem zur Verfügung.

Das Programm simuliert das Leben einer Population von Organismen – Bots (Roboter), deren DNA manuell mit einer speziell entwickelten Sprache beschrieben wird. DNA ist im Wesentlichen eine große Zustandsmaschine, die Informationen aus vielen verschiedenen Eingaben liest, sie modifiziert und sie mit umsetzbaren Ausgaben verbindet. Der Bot-Code (im Folgenden als DNA bezeichnet) ist in beschrieben Textdatei mit der Erweiterung .txt, die es Ihnen ermöglicht, in jedem Editor, einschließlich Notepad, damit zu arbeiten. Der Kern der Simulation besteht darin, für jeden Zyklus eine DNA-Analyse durchzuführen und dabei mögliche Wechselwirkungen zwischen Organismen, Mutationen, Viren usw. zu berücksichtigen.

Das Hauptelement der Darwinbots-Programmoberfläche ist die Bot-Welt (oder das Simulationsfeld). Die Welt der Bots ist eine große, nicht diskrete Ebene (ja, das gleiche blaue Rechteck wie früher). Standardmäßig können sich Bots im gesamten Gebiet der Welt bewegen. Welteinstellungen werden in den Simulationseinstellungen festgelegt.

Jeder Bot wird durch einen Kreis einer bestimmten Größe und Farbe mit einem Muster in der Mitte dargestellt. Das „Auge“ des Bots wird durch einen weißen Punkt angezeigt. Es enthält 9 einfache Augen. Wenn Sie einen Bot im Simulationsfeld auswählen, können Sie ein Raster der Sichtfelder jedes Auges sehen. Die Augen übermitteln dem Programm einen Wert, der ungefähr der Größe des Objekts im Sichtfeld entspricht.

Der Bot verfügt über ein System einfacher taktiler Empfindungen, das es ihm ermöglicht, eine Kollision oder einen Angriff eines anderen Bots zu spüren. Die sensorischen Eingaben der Bots werden in DNA analysiert, die in einer Sprache geschrieben wird, die die FILO-Abstraktion (first in, last out) verwendet, die auf dem Prinzip gestapelter Platten basiert. Die meisten Bots verfügen über 6 bis 20 DNA-Prozeduren, sogenannte Gene, die bis zu 200 Operationen durchführen können. Jede Operation kann mutieren.

Jeder Bot verfügt über eine eigene Energiereserve. Die meisten Aktionen reduzieren die Energiemenge. Wenn die Energie Null erreicht, stirbt der Bot, und wenn sie über den in der DNA festgelegten Wert ansteigt, beginnt er sich zu reproduzieren. Energie kann durch die Aufnahme anderer Bots (analog zur Jagd in einer normalen Umgebung) und durch die Speicherung von Energie aus dem eigenen „Körper“ wieder aufgefüllt werden. Wird der Bot als Autotroph ausgewählt, wird über einen längeren Zeitraum automatisch Energie nachgefüllt.

Der Bot kann immaterielle Projektile abschießen, angreifen, Müll bergen, sich infizieren und Informationen mit anderen Bots austauschen. Ein Projektil ist ein Punkt auf dem Modellierungsfeld, der weder Masse noch physikalische Abmessungen hat.

Der Bot kann auch mit anderen Bots kommunizieren und so eine komplexe vielzellige Struktur bilden, innerhalb derer die Bots Energie und Operationen austauschen und sich auf dem Feld bewegen können.

Wenn sich ein Bot vermehrt, wird seine DNA an seine Nachkommen weitergegeben, manchmal mit einigen Änderungen, die sich auf das Verhalten des Bots auswirken. Wie in der realen Welt kann die Evolution mit einer Veränderung der DNA einhergehen – die nächste Generation von Bots könnte in der Lage sein, anzugreifen, sich zu vermehren, Kontakt zu vermeiden usw. Solche Mutationen werden entweder von Generation zu Generation weitergegeben oder verschwinden. Im Laufe der Zeit kann sich in der DNA unerwünschter Code ansammeln, der nichts Nützliches bewirkt. Es wird mehr Energie verbrauchen und die DNA stärker belasten.

Da das Programm nicht entscheidet, welcher Organismus gezüchtet werden soll, manifestieren sich die Fähigkeiten des Bots langfristig durch eine Kombination von Strategien für Bewegung, Energiemanagement, Fortpflanzung usw. Es gibt keine Einschränkungen hinsichtlich der Komplexität des DNA-Codes.

Die Evolution in Darwinbots erfordert ziemlich viel für eine lange Zeit. Eine Generation von Bots kann mehrere tausend Zyklen überleben, und die meisten Simulationen laufen mit etwa 15 Zyklen pro Sekunde, sodass es Stunden bis Tage dauern kann, bis eine signifikante natürliche Selektion stattfindet.

Natürlich konnte ich Sie in diesem Einführungsartikel kaum für dieses Projekt interessieren, aber als Köder kann ich Ihnen sagen, dass das Programm über einen Internetmodus (eine Art PvP) verfügt und Bot-Entwickler an Ligen teilnehmen können – eine Art Wettbewerb.

Im nächsten Artikel werden wir über Simulationseinstellungen und Bot-Programmierung sprechen.

Und schließlich Bilder, die Aufmerksamkeit erregen.

Wissenschaft, Technologie

Ein virtueller Gesprächspartner (engl. Chatterbot) ist ein Computerprogramm, das erstellt wurde, um das menschliche Sprachverhalten bei der Kommunikation mit einem oder mehreren Benutzern nachzuahmen. 1966 schuf Joseph Weizenbaum das erste Konversationsprogramm, Eliza. Sie parodierte das Sprechverhalten eines Psychotherapeuten, nämlich: Sie implementierte die Technik des aktiven Zuhörens, indem sie den Benutzer erneut fragte und Sätze wie „Bitte fahren Sie fort“ verwendete.

Von einem idealen Gesprächspartnerprogramm wird erwartet, dass es den Turing-Test besteht, der bereits 1950 entwickelt wurde, um den Erfolg von Projekten zur künstlichen Intelligenz zu bestimmen. Sein Wesen liegt darin, dass eine Person mit zwei Gesprächspartnern korrespondiert, von denen einer ein Mensch ist, der andere ein Mensch Computerprogramm. Kann nicht festgestellt werden, wer wer ist, gilt der Computer als bestanden. Allerdings ist dies bisher keinem einzigen virtuellen Gesprächspartner gelungen. Die Funktionalität der meisten modernen Programme beschränkt sich auf die Möglichkeit, ein einfaches Gespräch zu führen.

Gesprächspartnerprogramme

Chatmaster

ChatMaster ist einer der ersten guten russischsprachigen virtuellen Gesprächspartner. Es ist ein selbstlernendes Programm. Die Qualität ihres Dialogs mit einer Person kann als „anständig“ bewertet werden. ChatMaster führt ein kontextsensitives Gespräch, das heißt, es versteht die Bedeutung einer Replik, die auf vorherigen Gesprächen basiert. Für den Dialog kann jede nicht-hieroglyphische Sprache (alle europäischen und einige asiatische) verwendet werden. Darüber hinaus verfügt das Programm über eine benutzerfreundliche Oberfläche und eine recht große Wortdatenbank. Der Nachteil von ChatMaster besteht darin, dass es zu lange dauert, alles zu denken und sich zu merken, auch Dinge, an die man sich nicht erinnern sollte.

Elektronisches Gehirn 1300

Electronic Brain 1300 ist ein angenehmes Konversationsprogramm. Verfügt über eine gute Wissensbasis: ziemlich groß und mit Originalnachbildungen. IN neue Version Es wird eine Baumdatenbank verwendet. Darüber hinaus lassen sich mit dem Programm ganz einfach neue Redewendungen erlernen. Der Nachteil von Electronic Brain besteht darin, dass die Benutzeroberfläche nicht benutzerfreundlich ist: Die Bedienelemente befinden sich an ungewöhnlichen Stellen.


Sprecher

Chatterbox ist ein gutes Gesprächspartnerprogramm mit einer guten Basis und einem guten Sinn für Humor. Hier wird sehr schnell geantwortet. Ein Schwätzer braucht nicht unbedingt einen Gesprächspartner; er kann mit sich selbst reden. Obwohl es sich um ein selbstlernendes Programm handelt, kann seine Datenbank durch Hinzufügen von Update-Dateien erweitert werden. Darüber hinaus bietet Chatterbox dem Benutzer die Möglichkeit, Symbole in der Titelleiste und Symbolleistenansicht des Fensters durch eigene zu ersetzen.


DIALA

Dieses Programm führt einen Dialog mit einer Person auf Russisch zu einem beliebigen Thema und versucht dabei, künstliche Intelligenz zu imitieren. Laut den Entwicklern sieht sich DIALA als Frau und steht Männern und der Menschheit im Allgemeinen ziemlich kritisch gegenüber. Um einen mehr oder weniger zusammenhängenden Dialog zu führen, müssen Sie nur vollständige Phrasen eingeben, von denen jede einen vollständigen Gedanken enthält. Es wird nicht empfohlen, das Gesprächsthema abrupt und unangemessen zu wechseln. DIALA ist ein selbstlernendes Programm, also solltest du nichts Dummes dazu sagen, sonst merkt es sich die Dateien sofort und du bekommst sie bald zurück. Dann wird es schwierig sein, sie davon abzubringen.


Virtueller Putin

Diejenigen, die mit V.V. sprechen möchten Putin, stellen Sie ihm ein paar Fragen oder schimpfen Sie ihn einfach für sein schlechtes Leben, sie können über das Programm „Virtual Putin“ mit seinem virtuellen Doppelgänger kommunizieren. Es ist ein praktisches Gesprächspartnerprogramm mit einer angenehmen Benutzeroberfläche. Laut Benutzern, denen es bereits gelungen ist, mit dem virtuellen Putin zu kommunizieren, führt das Programm ein völlig intelligentes und vielseitiges Gespräch mit einer Person, das manchmal durch seine Gelehrsamkeit und sein fortschrittliches Denken überrascht. Darüber hinaus kann Virtual Putin problemlos jedes Gesprächsthema unterstützen. Es gibt nur eine Voraussetzung: Sie müssen in normalem Russisch kommunizieren und dürfen keine Obszönitäten verwenden. Der virtuelle Putin kann leicht beleidigt sein.