Por otro lado, y de manera general, en los lenguajes de representación del conocimiento el proceso de evaluación o estrategias de control tienen el fin de calcular los valores de las FRC del tipo concepto (hechos y variables) para inferir otros hechos o para brindar una solución y sólo así, es posible obtener el valor de un conocimiento de este tipo.

Algunos lenguajes, después de calculados estos valores y determinado por el propio problema, es posible que ocurra una nueva evaluación de los conceptos, lo cual se conoce como razonamiento no monótono y es un mecanismo que permite que el valor de una estructura pueda cambiar durante la ejecución del sistema.

Sin embargo, fuera de esta forma de evaluación, esto es, aquella dada por la máquina de inferencia, no existe la posibilidad de que ocurra una reevaluación de sus estructuras y mucho menos, la asignación de valores a éstas directamente.

Para poder modificar la forma de evaluación natural que tienen las estructuras del lenguaje, las cuales están programadas en la máquina de inferencia, se proponen los siguientes aspectos:

  • Definir un conjunto de FRC del tipo regla que permita:
    1. Solicitar explícitamente la evaluación de una estructura.
    2. Asignar valores a las estructuras de la BC: proposiciones y variable semánticas.
    3. Reevaluar las estructuras de acuerdo a las necesidades de la aplicación y no en dependencia de las estrategias de control de la máquina de inferencia.
  • Que estas FRC formen parte de la BC, lo cual le permite al IC modificar el proceso evaluativo de las estructuras del tipo concepto, de acuerdo a las necesidades del problema.
  • Crear un ambiente para la adquisición y manipulación de las reglas propuestas.
  • Incluir las nuevas capacidades en la máquina de inferencia de la Base de Control.
  • Solicitud de la evaluación de una forma de representación del conocimiento del lenguaje

    Este tipo de regla de apoyo tiene el objetivo de posibilitar la ejecución de acciones a través del propio mecanismo de evaluación de las diversas FRC. En específico, para ordenar la ejecución de la lógica de procesamiento de una estructura o FRC se ha definido una regla denominada Regla de Evaluación.

    Sintaxis de la regla de evaluación

    Se llama Regla de Evaluación a una expresión ordena a la máquina de inferencia correspondiente al tipo de conocimiento que aparece en el sucedente, comenzar el proceso evaluativo de dicha estructura utilizando para ello la siguiente sentencia:

    ANT => AA {AA1, AA2,..., AAa}
    AN {AN1, AN2,..., ANn}; donde:

    Los parámetros de los sucedentes AAi, ANi = { P#, V#, D#, R#, C# } y representan una lista de acciones a ejecutar según el siguiente convenio:

    P# Evaluar proposición #. Esto implica una reevaluación independientemente del estatus de la proposición.

    V# Evaluar variable semántica #. Esto implica una reevaluación independientemente del estatus de la variable semántica.

    D# Evaluar división #

    R# Evaluar regla de conclusión #

    C# Evaluar regla de conclusión de Apoyo #

    Semántica de la regla de evaluación Una regla de evaluación se comporta como se expresa a continuación:

    “De cumplirse la condición expresada por el antecedente, entonces se ejecuta la lista de acciones definida para la afirmación del antecedente, en el orden definido y por el contrario, se ejecuta la lista de acciones definidas para la negación, también en el orden establecido”.

    Asignación de valores a las formas de representación del conocimiento del lenguaje

    Una vía de evaluación muy común en los lenguajes de programación es la asignación directa de un valor a una variable, cuestión ésta que no es posible en los lenguajes de representación del conocimiento pues el propósito de estos es calcular los valores de sus conceptos mediante la lógica de procesamiento definida para ello. Sin embargo, como en la programación estándar, en estos lenguajes se requiere en ocasiones de forzar a una FRC a tomar un valor específico y es por ello, que se propone que otra vía de evaluación para las proposiciones y las variables semánticas sea a través de la asignación directa de valores, lo cual se podrá ejecutar mediante un determinado tipo de regla denominada Regla de Asignación, que permite definir nuevos valores para las proposiciones y variables.

    Sintaxis de la regla de asignación

    Se llama Regla de Asignación a una expresión que le fija un valor a un concepto independientemente de su proceso evaluativo a través de la siguiente sentencia:

    ANT => E1 +,- #1 (V11 ,V21) ,..., En+,- #n (V1n ,V2n); donde:

    Ei = {P, V} lo cual significa que los elementos del sucedente pueden ser proposiciones o variables semánticas,

    +,- son opcionales y definen si sólo tiene sentido la afirmación (+) o la negación (-) para cada caso respectivamente y

    (V11,V21) representan los valores que se asignarán a E para el cumplimiento del antecedente (V11) y para el incumplimiento de éste (V21).

    Semántica de la regla de asignación

    La asignación de valores a través de esta regla se efectúa como se explica a continuación:

    Si se cumple el antecedente entonces se asignan valores como sigue:

    Si es una proposición: C(P#1) = V11 , C(P#2) = V 12 , …, C(P#n) = V 1n

    Si es una variable semántica: V#1 = V11, V#2 = V12,…, V#nn = V1n

    Si NO se cumple el antecedente entonces los valores se asignan:

    Si es una proposición: C(P#1) = V21 , C(P#2) = V22 , …, C(P#n) = V2n

    Si es una variable semántica: V#1 = V21, V#2 = V22,…, V#n = V2n

    Ei +#i Indica que sólo la afirmación tiene sentido.

    Ei -#i Indica que sólo la negación tiene sentido.

    Ei #i Indica que ambos tienen sentido.

    La evaluación de este tipo de regla causa la siguiente conducta de la máquina de inferencia:

    “Si se satisface la condición definida en el antecedente “ANT”, entonces las proposiciones sucedentes “#i” toman los pesos marcados como V1i , es decir C(#1)= V11 , C(#2)= V12 y así sucesivamente hasta C(#n)= VW1n y las variable semánticas V#1 = V11, V#2 = V12, V#n = V1n , pero en caso contrario, las proposiciones toman los pesos definidos como W2i al igual que las variable semánticas, sabiendo además, que los signos + y - son opcionales y definen si tiene sentido la afirmación y negación para cada caso respectivamente (i=1,...,n). Cuando estos signos no aparecen la asignación se realiza independientemente del cumplimiento del antecedente, pues éste es válido tanto para la afirmación como para la negación”.

    Solicitud de la reevaluación de una forma de representación del conocimiento del lenguaje

    Resulta común en la vida diaria enfrentarse a situaciones donde se necesite reanalizar y cuestionar un conocimiento o criterio ya establecido sobre algo, para la búsqueda de nuevos hechos que pueden variar las ideas iniciales, lo cual se conoce en IA como Razonamiento no monótono. Desde este punto se implementa la reevaluación de las proposiciones.

    Se denomina Reevaluación de una proposición Pj cualquiera, cuyo proceso evaluativo ha concluido, a la ejecución de los siguientes pasos:

    • Inicializar el peso actual de Pj y el de todas las proposiciones accesibles desde ella.
    • Ejecutar de nuevo el proceso evaluativo de Pj ignorando los pasos dados anteriormente.

    Sintaxis de la regla de reevaluación

    Se llama Regla de Reevaluación a una expresión ignora el valor de las proposiciones que aparecen en el sucedente de la regla y las inicializa para un nuevo proceso evaluativo. Esta expresión tiene la forma:

    ANT => RA {PA1,...,PAa} tipoA alcanceA [DA]
    RN {PN1,...,PNn} tipoN alcanceN [DN]; donde:

    {PA1, PA2,..., PAa} y {PN1, PN2,..., PNN} representan las listas de proposiciones a ser reevaluadas para la afirmación y negación del antecedente respectivamente.

    TipoA, TipoN = {S, C} expresan el tipo de reevaluación Simple o Completa.

    AlcanceA, AlcanceN = {L, G, T, N} expresan dónde continúa el proceso evaluativo.

    DA y DN sólo se usan para el caso Alcance = G.

    Semántica de la regla de reevaluación

    La lógica del procesamiento de la regla de reevaluación se expresa como:

    “Si se satisface la condición definida en el antecedente “ANT”, entonces las proposiciones sucedentes “PAi” con (i=1,...,a) serán evaluadas o reevaluadas, si ya lo estaban, en correspondencia con los parámetros definidos por TipoA = { Simple (S), Completa (C) } y AlcanceA = { Local (L), Global (G), Total (T), Normal (N) }; de igual forma serán evaluadas o reevaluadas las proposiciones de la componente negativa del sucedente no se cumple el antecedente”.

    La acción que provocan los parámetros de la definición de regla de reevaluación se detalla a continuación:

    Los parámetros TipoA y TipoN imponen un tipo de reevaluación que puede ser:

    • Simple (S). Afecta solamente a las proposiciones sucedentes.
    • Completa (C). Incluye además, a todas las proposiciones accesibles desde ella, efectuándose un verdadero proceso de reevaluación.

    Mientras que los parámetros AlcanceA y AlcanceN influyen en el alcance de la reevaluación como se describe a continuación:

    • Reevaluación Local (L). Indica que el flujo de control debe ir hacia atrás, comenzando de nuevo el proceso evaluativo de la división actual.
    • Reevaluación Global (G). Define que el proceso evaluativo continúe por la división número D, señalada en la regla, no incluyéndose las subdivisiones.
    • Reevaluación Total (T). Establece que se inicialice la BC completamente, como si no hubiera ocurrido nada, es decir, se ordena comenzar todo el proceso desde el principio. La forma típica de definir este tipo de acción es mediante la siguiente regla: ANT R {} C T; donde el tipo de reevaluación definida no tiene influencia.
    • Reevaluación Normal (N). En este caso, se indica que el proceso de evaluación de las reglas continuará normalmente, una vez concluido el proceso de reevaluación.