Sistema experto en rieles

El art铆culo est谩 dedicado a la creaci贸n de un sistema experto. Al comienzo del art铆culo hay un diagrama de bloques de un libro de la lista de referencias, luego una descripci贸n de la base de datos y el algoritmo. Luego viene la "ayuda sobre c贸mo hacer este proyecto", que describe el algoritmo para crear este proyecto. Al final del art铆culo hay una lista de referencias. Tambi茅n tiene un par de capturas de pantalla.


Diagrama de flujo

La base de datos contiene tres tablas: im谩genes, preguntas y resultados. El primero de ellos es el principal en "clasificaci贸n e identificaci贸n", contiene un signo de reconocimiento exitoso (campo de marca) y el n煤mero de pares de "objeto, respuesta" en la "muestra de entrenamiento" (campo n). El segundo contiene esta misma selecci贸n (campo de valor), as铆 como los nombres de "propiedades y atributos" (campo de nombre) y el campo de regla utilizado en el algoritmo de reconocimiento. Finalmente, la tercera tabla contiene posibles respuestas (lluvia / no lluvia, etc.).


Espect谩culo de acci贸n

El algoritmo funciona de la siguiente manera. En la iteraci贸n actual, la suma del valor de la regla * no excede la regla * n (ya que el valor tiene uno de dos valores: 0 o 1). En la siguiente iteraci贸n, el valor 煤nico de la regla excede esta suma, es decir, regla = regla * n + 1.

El n煤mero de inercia con una unidad restada (la respuesta es desconocida en la primera iteraci贸n con una suma cero) es el n煤mero de la respuesta (para K. Naylor, una suma positiva de reglas * valor significa la primera respuesta, negativa - la segunda).

Obviamente, en la primera iteraci贸n (valores predeterminados de la regla cero), la suma de los valores tambi茅n ser谩 cero. En la segunda iteraci贸n, estar谩 en el rango [1, n] (vea la f贸rmula para la regla anterior), en la tercera estar谩 en el rango [n + 1, (n + 1) * n]; en el cuarto rango ser谩 as铆: [(n + 1) * n + 1, ((n + 1) * n + 1) * n] y as铆 sucesivamente.

Por lo tanto, el borde derecho del rango se calcula mediante la f贸rmula sum = (sum + 1) * n. Cuando se verifican todas las respuestas posibles, restablecemos la regla.


C贸mo se ve en un navegador web

Ayuda sobre c贸mo hacer este proyecto


Casi todos los archivos de proyecto se pueden crear usando comandos

rails generate scaffold Image name:string flag:boolean n:integer rails generate scaffold Question name:string value:integer rule:integer image:references rails generate scaffold Outcome name:string image:references 

En el archivo db / migrate / aaaaMMddhhmmss_create_images.rb, en lugar de la l铆nea t.boolean: flag, escriba t.boolean: flag, default: false. Tambi茅n agregamos valores predeterminados cero para los campos images.n, question.value y question.rule. Y rake db: migrate.

A continuaci贸n, en el archivo config / routes.rb, haga que las preguntas y los recursos de resultados se subordinen al recurso de im谩genes. Tambi茅n en el archivo app / models / image.rb agregue has_many: preguntas y has_many: resultados. Permanece en los controladores y vistas para cambiar las rutas en consecuencia: reemplace question_path con image_questions_path (params [: image_id]), etc.

Creamos los parciales _question.html.erb y _outcome.html.erb, y luego los procesamos en la vista images / show.html.erb. Puede obtener m谩s informaci贸n sobre esta t茅cnica viendo el video tour en Rails 5, que se encuentra en la p谩gina principal del sitio web oficial de este marco web.

Como resultado de todas estas acciones, las vistas new.html.erb y edit.html.erb para ambos recursos subordinados se rompen. Junto con el 煤nico _form.html.erb parcial, obtienen la misma ruta para la acci贸n de este formulario, que es incorrecta. Estamos corrigiendo

El algoritmo con el rec谩lculo de los valores del campo de la regla (si es necesario) se describe anteriormente. Se inicia cuando se actualiza la p谩gina web mostrada por la acci贸n de mostrar de ImageController.

Y finalmente, pruebas autom谩ticas. Debido al cambio de rutas, los cambios correspondientes tambi茅n se requieren en pruebas y accesorios.

Literatura


C. Naylor. C贸mo construir su sistema experto - Energoatomizdat Publishing House, 1991

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


All Articles