Sistema de IA passa no exame de geometria

Um grupo de cientistas do Instituto de Inteligência Artificial Paul Allen e da Universidade de Washington anunciou a criação de um sistema de inteligência artificial chamado GeoS, que é capaz de passar no teste SAT americano em geometria no nível do aluno do meio do 11º ano. E não se trata do fato de que as tarefas precisam ser preparadas de alguma maneira especial e inseridas no computador na forma de algum tipo de esquema: o GeoS usa a visão computacional para analisar desenhos e um sistema de processamento de texto simples para "entender" a essência do problema. Um exemplo de como a IA lida com a solução do problema de um triângulo inscrito em um círculo (e 4 outros problemas) pode ser encontrado aqui.

A porcentagem de tarefas com as quais o sistema lida e considera a solução confiável é de 96%. Ao mesmo tempo, resolvendo o teste SAT oficial, o GeoS mostra uma precisão de 49%. Em outras palavras, verifica-se que, do número máximo possível de pontos, que é igual a 800, o sistema pode receber cerca de 500. Até agora, o GeoOS lida com sucesso apenas com as tarefas de planimetria, está planejado para aprimorá-lo para tarefas estereométricas nos próximos três anos. Uma apresentação rigorosa dos princípios do sistema é apresentada no artigo ( pdf ).

Se você tentar seguir o processo de solução de um problema geométrico, poderá descobrir que, no processo de análise do desenho e do texto que o acompanha, o GeoS constrói um conjunto de instruções, “entendendo”, por exemplo, a redação da tarefa “AB é 5” sobre o seguinte: IsLine (AB) ou comprimento (AB) = 5. Ao mesmo tempo, o sistema é capaz de compensar referências implícitas à relação dos elementos de desenho no texto, determinando que algumas linhas se cruzam em um determinado ponto, se necessário para a solução. Um exemplo de desenho de uma tarefa e o conjunto de instruções resultante é o seguinte:

imagem

Como resultado, o próprio subsistema de solução recebe aproximadamente o seguinte "código" como entrada:

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


Todos os materiais utilizados na preparação de GeoS, vídeos, artigos e software com códigos-fonte estão disponíveis para todos.

Source: https://habr.com/ru/post/pt384445/


All Articles