Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Problem accessing input and output data #350

Open
antraxsec opened this issue Mar 27, 2023 · 0 comments
Open

Problem accessing input and output data #350

antraxsec opened this issue Mar 27, 2023 · 0 comments

Comments

@antraxsec
Copy link

antraxsec commented Mar 27, 2023

hello community
Porque esto funciona correctamente pero cuando lo ponemos en una base de conocimientos archivo no funciona

let session = pl.create(); var conocimiento2 =
:- use_module(library(lists)).

                % Base de conocimientos para problemas de PC
                % Problemas
                problema(pantalla_azul, 'Pantalla azul').
                problema(lentitud, 'Lentitud en el sistema').
                problema(calentamiento, 'Calentamiento excesivo').
                problema(conexion_internet, 'Problemas de conexión a Internet').
                problema(sonido, 'Problemas de sonido').
                problema(pantalla_negra, 'Pantalla negra al inicio').
                problema(teclado, 'Teclado no responde').
                problema(raton, 'Ratón no responde').
                problema(arranque, 'Problemas de arranque').
                problema(usb, 'Dispositivos USB no funcionan').
                problema(imagen_distorsionada, 'Imagen distorsionada en pantalla').
                problema(bateria, 'Batería no carga').

                problema(discoduro, 'Problema de disco duro').


                % Síntomas
                sintoma('Pantalla azul de la muerte', pantalla_azul).
                sintoma('Sistema operativo no carga', pantalla_azul).
                sintoma('Aplicaciones tardan en abrir', lentitud).
                sintoma('Ventilador ruidoso', calentamiento).
                sintoma('Apagado inesperado', calentamiento).
                sintoma('No se puede conectar a internet', conexion_internet).
                sintoma('Conexion intermitente', conexion_internet).
                sintoma('No hay sonido', sonido).
                sintoma('Sonido distorsionado', sonido).
                sintoma('Pantalla negra al encender el equipo', pantalla_negra).
                sintoma('Teclado no responde', teclado).
                sintoma('Ratón no responde', raton).
                sintoma('Problemas para encender el equipo', arranque).
                sintoma('Dispositivos USB no son reconocidos', usb).
                sintoma('Imagen distorsionada en pantalla', imagen_distorsionada).
                sintoma('Batería no carga', bateria).

                sintoma('Lentitud extrema', discoduro).
                sintoma('Ruidos extraños', discoduro).
                sintoma('Archivos corruptos', discoduro).
                sintoma('Archivos perdidos', discoduro).

                % Soluciones
                solucion(pantalla_azul, 'Reiniciar el equipo. Si el problema persiste, verificar el hardware y los controladores.').
                solucion(lentitud, 'Limpiar archivos temporales y desinstalar programas innecesarios. Considerar actualizar el hardware.').
                solucion(calentamiento, 'Limpiar el polvo acumulado en los ventiladores y asegurar una adecuada ventilación. Verificar la pasta térmica del procesador.').
                solucion(conexion_internet, 'Reiniciar el módem/router. Verificar la configuración de red y asegurarse de que los cables estén conectados correctamente.').
                solucion(sonido, 'Verificar la configuración de sonido y actualizar los controladores de la tarjeta de sonido.').
                solucion(pantalla_negra, 'Verificar las conexiones del monitor y la fuente de alimentación. Considerar reemplazar la tarjeta gráfica si es necesario.').
                solucion(teclado, 'Verificar las conexiones del teclado y reiniciar el equipo. Si el problema persiste, considerar reemplazar el teclado.').
                solucion(raton, 'Verificar las conexiones del ratón y reiniciar el equipo. Si el problema persiste, considerar reemplazar el ratón.').
                solucion(arranque, 'Verificar que todos los componentes estén conectados correctamente. Si el problema persiste, consultar a un técnico para un diagnóstico más profundo.').
                solucion(usb, 'Reiniciar el equipo y verificar que los controladores estén actualizados. Si el problema persiste, considerar revisar los puertos USB y la placa base.').
                solucion(imagen_distorsionada, 'Verificar las conexiones del monitor y la configuración de la tarjeta gráfica. Considerar reemplazar la tarjeta gráfica si es necesario.').
                solucion(bateria, 'Asegurarse de que el cargador esté funcionando correctamente. Si el problema persiste, considerar reemplazar la batería del equipo.').

                solucion(discoduro, 'Reemplazar el disco duro por uno nuevo').

                % Reglas para diagnosticar problemas

                diagnosticar([], []).
                diagnosticar([Sintoma|Sintomas], [Problema|Problemas]) :-
                sintoma(Sintoma, CodigoProblema),
                problema(CodigoProblema, Problema),
                diagnosticar(Sintomas, Problemas).

                % Eliminar duplicados
                % PROBLEMA CON OPERADOR NOT REEMPLAZA EN TAU POR \+

                eliminar_duplicados([], []).
                eliminar_duplicados([X|Xs], [X|Ys]) :-
                \\+  member(X, Xs),
                eliminar_duplicados(Xs, Ys).
                eliminar_duplicados([X|Xs], Ys) :-
                member(X, Xs),
                eliminar_duplicados(Xs, Ys).

                % Consultar diagnóstico

                consulta_diagnostico(Sintomas, Diagnostico) :-
                diagnosticar(Sintomas, DiagnosticoSinFiltrar),
                eliminar_duplicados(DiagnosticoSinFiltrar, Diagnostico).

                % Consultar soluciones

                consulta_soluciones(Diagnostico, Soluciones) :-
                findall(Solucion, (member(Problema, Diagnostico), problema(CodigoProblema, Problema), solucion(CodigoProblema, Solucion)), Soluciones).
        `;
        session.consult(conocimiento2);

        // session.query(`consulta_diagnostico(['No hay sonido', 'Aplicaciones tardan en abrir'], Diagnostico), consulta_soluciones(Diagnostico, Soluciones).`);
        session.query(`consulta_diagnostico(['Archivos perdidos', 'Ruidos extraños'], Diagnostico), consulta_soluciones(Diagnostico, Soluciones).`);
        session.answers(x => 
        console.log(pl.format_answer(x))
        );

`

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant