


Durch die Umwandlung mathematischer Probleme in Code hat die Forschung von Google die Genauigkeit maschineller Beweise erheblich verbessert.
Computer werden schon seit einiger Zeit zur Verifizierung mathematischer Beweise eingesetzt, allerdings können sie dies nur tun, wenn sie Probleme mit einer speziell entwickelten Beweissprache vorbereiten und nicht mit der von Mathematikern verwendeten Mischung aus mathematischer Notation und geschriebenem Text umgehen können.
Wenn Sie in natürlicher Sprache geschriebene mathematische Probleme in formale Codes umwandeln und sie für Computer leichter lösbar machen, kann dies dazu beitragen, Maschinen zu bauen, die neue Entdeckungen in der Mathematik erforschen können.
Dieser Prozess wird Formalisierung genannt, aber nur ein einziger Beweis kann jahrelange Arbeit erfordern, sodass nur ein kleiner Teil des mathematischen Wissens formalisiert und dann von Maschinen bewiesen wird.
Autoformalisierung bezieht sich auf die Aufgabe, Mathematik automatisch aus der natürlichen Sprache in die formale Sprache zu übersetzen. Die praktischen und philosophischen Implikationen eines erfolgreichen automatisierten Formalisierungstools wären enorm, es könnte die derzeit übermäßig hohen Formalisierungskosten reduzieren und auf lange Sicht könnte es automatisierte Aspekte des mathematischen Denkens in verschiedenen Forschungsbereichen verbinden.
In einer aktuellen Studie verwendeten Yuhuai Wu von Google und seine Mitarbeiter neuronale Netze von OpenAI Codex, um die Formalisierungsarbeit zu automatisieren. Codex wurde auf große Textmengen und Programmierdaten aus dem Web trainiert und Programmierer können damit zuverlässigen Code generieren. 🔜 Potenzial. Bisherige Erfolge beschränkten sich jedoch auf formale Sprachen (wie Python), für die im Web große Korpora existieren. Im Gegensatz dazu sind formale mathematische Daten sehr rar. Eine der größten formalen mathematischen Sprachbibliotheken, Archive of Formal Proofs, ist nur 180 MB groß, was weniger als 0,18 % der Trainingsdaten des großen Sprachmodells Codex ausmacht.
Darüber hinaus gibt es im Gegensatz zu allgemeinen Programmiersprachen, bei denen Docstrings in natürlicher Sprache weit verbreitet sind, kaum eine Datenangleichung zwischen natürlichen Sprachen und formalen mathematischen Sprachen. Daher ist noch nicht bekannt, ob der Erfolg groß angelegter Sprachmodelle die Entwicklung der automatischen Formalisierung direkt fördern kann.
Um die Wirksamkeit dieses automatisierten Formalisierers zu testen, wandte das Team Codex dann auf eine Reihe von Problemen an, für die es bereits menschliche formalisierte Versionen gab, für die Codex auch eigene formalisierte Versionen generierte. Das Team nutzte eine andere KI namens MiniF2F, um beide Versionen des Problems zu lösen.
Die automatische Formalisierung des Problems erhöht die Erfolgsquote von MiniF2F von 29 % auf 35 %, was darauf hindeutet, dass Codex wichtige Fortschritte bei der Problemformalisierung gemacht hat.
Es ist erwähnenswert, dass Aussagen in vielen Mathematikwettbewerben in der Regel so formuliert sind, dass man eher die Antwort auf eine bestimmte Frage finden soll als einen gegebenen Satz zu beweisen. Formale mathematische Aussagen haben jedoch die Form von Sätzen und nicht von Fragen.
Um eine Frage in einen Vorschlag umzuwandeln, fügte der Forscher „Die endgültige Antwort“ nach der Frage hinzu:
Das für die automatische Formalisierung verwendete Eingabeaufforderungsformat ist:
Wird KI mit menschlichen Mathematikern konkurrieren?
Das ist eine interessante Entwicklung, aber Wu sagte: Die Arbeit des Teams ist nur ein Proof of Concept. „Wenn das Ziel darin besteht, eine Maschine zu trainieren, die mit den besten menschlichen Mathematikern vergleichbar ist, dann scheint die automatische Formalisierung der Schlüsselweg zu sein, um dieses Ziel zu erreichen.“ Die Erfolgsquote wird weiter verbessert, die KI wird in der Lage sein, mit menschlichen Mathematikern zu konkurrieren. „
Wenn wir 100 % erreichen, werden wir definitiv einen KI-Agenten entwickeln, der die Goldmedaille der Internationalen Mathematikolympiade gewinnt.“Das unmittelbare Ziel des Teams besteht darin, automatische formale Modelle und automatisierte Beweismaschinen zu verbessern, aber die Zukunft der Forschungsergebnisse Die Auswirkungen werden weitreichend sein. Laut Wu können diese Modelle Bereiche der Mathematik aufdecken, die dem Menschen derzeit unbekannt sind.
Die Argumentationsfähigkeiten dieser Maschine eignen sich auch sehr gut für Verifizierungsaufgaben in einem breiteren Spektrum von Bereichen. „Sie können überprüfen, ob eine Software genau das tut, was Sie wollen, oder Sie können einen Hardware-Chip überprüfen, sodass er sowohl in Finanzhandelsalgorithmen als auch im Hardware-Design Anwendung findet.
Der Einsatz von Maschinen zur Erforschung der Mathematik ist spannend.“ Entwicklung, aber die eigentliche Herausforderung besteht darin, das Modell in der mathematischen Forschung zu verwenden, die größtenteils in LaTex geschrieben ist, sagt Yang-Hui He vom Institute of Mathematical Sciences in London. „Wir verwenden LaTex nur, weil es reibungslos zu tippen ist, aber es ist in gewisser Weise eine natürliche Sprache und hat seine eigenen Regeln
Er sagte, weil Benutzer ihre eigenen Funktionen und Symbole in LaTeX definieren können, diese Funktionen und Symbole.“ darf nur in einer Mathematikarbeit verwendet werden, was für neuronale Netze, die nur auf Klartext trainiert werden, schwierig sein kann.
Das obige ist der detaillierte Inhalt vonDurch die Umwandlung mathematischer Probleme in Code hat die Forschung von Google die Genauigkeit maschineller Beweise erheblich verbessert.. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Das Char -Array speichert Zeichensequenzen in der C -Sprache und wird als char Array_name [Größe] deklariert. Das Zugriffselement wird durch den Einweisoperator weitergeleitet, und das Element endet mit dem Null -Terminator '\ 0', der den Endpunkt der Zeichenfolge darstellt. Die C -Sprache bietet eine Vielzahl von String -Manipulationsfunktionen wie Strlen (), Strcpy (), Strcat () und strcmp ().

Eine Strategie zur Vermeidung von Fehlern, die in C -Switch -Anweisungen standardmäßig verursacht wurden: Verwenden Sie die Umgebungen anstelle von Konstanten, wodurch der Wert der Fallerklärung auf ein gültiges Mitglied des Enum beschränkt wird. Verwenden Sie in der letzten Fallanweisung Falsch, um das Programm weiterhin den folgenden Code auszuführen. Fügen Sie für Switch -Anweisungen ohne Falle immer eine Standardanweisung für die Fehlerbehandlung hinzu oder geben Sie das Standardverhalten an.

Es gibt keine integrierte Summenfunktion in der C-Sprache, daher muss sie selbst geschrieben werden. Die Summe kann erreicht werden, indem das Array durchquert und Elemente akkumulieren: Schleifenversion: Die Summe wird für die Schleifen- und Arraylänge berechnet. Zeigerversion: Verwenden Sie Zeiger, um auf Array-Elemente zu verweisen, und eine effiziente Summierung wird durch Selbststillstandszeiger erzielt. Dynamisch Array -Array -Version zuweisen: Zuordnen Sie Arrays dynamisch und verwalten Sie selbst den Speicher selbst, um sicherzustellen, dass der zugewiesene Speicher befreit wird, um Speicherlecks zu verhindern.

In der C -Sprache können Sie verwenden !! x, aber es verwendet nur zwei boolesche Conversions, und es ist prägnanter und effizienter, X direkt zu verwenden.

Der logische Nichtoperator (!) Hat die Priorität neben Klammern, was bedeutet, dass er den meisten anderen Betreibern in Ausdrücken vorausgeht. Das Verständnis der Priorität erfordert nicht nur ein Auswendiglernen, sondern auch das Verständnis der Logik und der potenziellen Fallstricke, um nicht nachweisbare Fehler in komplexen Ausdrücken zu vermeiden. Das Hinzufügen von Klammern kann die Ausdrucksabsicht klären, die Klarheit und Wartbarkeit der Code verbessern und unerwartetes Verhalten verhindern.

Die Standardanweisung ist in der Switch -Fallanweisung von entscheidender Bedeutung, da sie einen Standardverarbeitungspfad enthält, der sicherstellt, dass ein Codeblock ausgeführt wird, wenn der variable Wert an keine Fallanweisung übereinstimmt. Dies verhindert unerwartetes Verhalten oder Fehler und verbessert die Robustheit des Codes.

Das statische Schlüsselwort wirkt sich auf den Umfang und den Lebenszyklus der Kennung aus: Globale Variable: begrenzt auf die Quelldatei, nur in der aktuellen Datei sichtbar und vermeiden Konflikte. Funktion: Auf die Quelldatei begrenzt ist sie nur in der aktuellen Datei sichtbar, wodurch Implementierungsdetails versteckt und die Kapselung verbessert werden. Lokale Variablen: Der Lebenszyklus wird auf das gesamte Programm ausgedehnt, wobei die Werte zwischen Funktionsaufrufen beibehalten werden, und kann verwendet werden, um Zustände aufzuzeichnen, aber auf das Speicherverwaltungsrisiken zu achten.

Das SUM -Schlüsselwort existiert nicht in der C -Sprache, sondern ist eine normale Kennung und kann als Variable oder Funktionsname verwendet werden. Um Missverständnisse zu vermeiden, wird empfohlen, es für Kennungen mathematischer Codes zu vermeiden. Weitere beschreibende Namen wie Array_Sum oder Calculate_Sum können verwendet werden, um die Code -Lesbarkeit zu verbessern.
