Система ИИ сдаёт экзамен по геометрии

в 17:20, , рубрики: геометрия, ИИ, искусственный интеллект, экзамен

Группа учёных из Института искусственного интеллекта Пола Аллена и Вашингтонского университета объявила о создании системы искусственного интеллекта под названием GeoS, которая в состоянии сдать американский SAT-тест по геометрии на уровне среднего ученика 11 класса. Причём речь идёт не о том, что задания необходимо каким-то специальным образом подготовить и ввести в компьютер в виде какой-то схемы: GeoS использует компьютерное зрение для анализа чертежей и систему обработки обычного текста для «понимания» сути задачи. Пример того, как ИИ справляется с решением задачи о вписанном в окружность треугольнике (и 4 другие задачи) можно посмотреть здесь.

Процент задач, с которыми справляется система и считает решение надёжным, составляет 96%. При этом, решая официальный SAT-тест, GeoS демонстрирует точность, равную 49%. Другими словами, получается, что из максимально возможного числа баллов, которое равно 800, система способна получить примерно 500. Пока что GeoOS успешно справляется только с задачами по планиметрии, усовершенствовать её до стереометрических задач планируется в ближайшие три года. Строгое изложение принципов работы системы приведено в статье (pdf).

Если попробовать проследить процесс решения геометрической задачи, то можно обнаружить, что в процессе анализа чертежа и сопровождающего текста, GeoS строит набор утверждений, «понимая», к примеру, под формулировкой задания «AB is 5» примерно следующее: IsLine(AB) или length(AB)=5. При этом система способна восполнять неявные указания на отношения элементов чертежа в тексте, определяя, что некоторые прямые пересекаются в заданной точке, если это необходимо для решения. Пример чертежа задачи и полученного набора утверждений выглядит следующим образом:

image

В итоге собственно подсистема решения получает в качестве входных данных примерно следующий «код»:

IsDiameterLineOf(Line($point_0:point,$point_3:point),Circle($point_1:point,$radius_1_0:number)) IsCenterOf($point_1:point,Circle($point_1:point,$radius_1_0:number)) Equals(LengthOf(Line($point_0:point,$point_2:point)),LengthOf(Line($point_0:point,$point_1:point))) PointLiesOnCircle($point_2:point,Circle($point_1:point,$radius_1_0:number)) PointLiesOnCircle($point_3:point,Circle($point_1:point,$radius_1_0:number)) PointLiesOnLine($point_1:point,Line($point_0:point,$point_3:point)) Is(MeasureOf(Angle($point_1:point,$point_2:point,$point_0:point)),$What:number) IsInscribedIn(Triangle($point_3:point,$point_2:point,$point_0:point),Circle($point_1:point,$radius_1_0:number)) PointLiesOnCir

Все материалы, которые использовались при подготовке GeoS, видео, статьи и программное обеспечение с исходниками доступны всем желающим.

Автор: jeston

Источник

Поделиться новостью

* - обязательные к заполнению поля