Permalink
Browse files

Se arreglaron casos de prueba.

Se agregaron métodos para imprimir pila de objetivos.
  • Loading branch information...
1 parent 0e2de37 commit a375ee47bdf0e639f3ea24fbab91db8b1abbda3e Charlie Corner committed Apr 13, 2012
Showing with 27 additions and 7 deletions.
  1. +27 −7 Firenze/src/firenze/MainParaPruebas.java
@@ -1,11 +1,14 @@
package firenze;
+import algoritmosdeinferencia.Abduccion;
+import algoritmosdeinferencia.AlgoritmoDeInferencia;
import algoritmosdeinferencia.Deduccion;
import algoritmosdeinferencia.Induccion;
import algoritmosdeinferencia.Regla;
import capasdecontrol.FirenzeUtil;
import java.util.Arrays;
import java.util.List;
+import java.util.Stack;
/**
* Determina la clase para hacer pruebas de funcionalidad sin ninguna interfaz
@@ -19,8 +22,8 @@
* @param args the command line arguments
*/
public static void main(String[] args) {
- correrAlgoritmoDeduccion(args);
- // correrAlgoritmoInduccion(args);
+ // correrAlgoritmoDeduccion(args);
+ correrAlgoritmoInduccion(args);
// correrAlgoritmoAbduccion(args);
}
@@ -48,7 +51,7 @@ private static void correrAlgoritmoDeduccion(String[] args) {
// imprimirListaReglas(listaDeReglas);
// imprimirListaString(hechos);
- Deduccion nuevoAlgoritmo = new Deduccion(listaDeReglas, hechos);
+ AlgoritmoDeInferencia nuevoAlgoritmo = new Deduccion(listaDeReglas, hechos);
String resultado = nuevoAlgoritmo.correrAlgoritmo();
System.out.println(resultado);
@@ -58,29 +61,30 @@ private static void correrAlgoritmoInduccion(String[] args) {
String lineaDeReglas[] = null;
String hechosDeInicio[] = null;
String objetivo = "";
-
+
if (0 == args.length) {
lineaDeReglas = new String[]{"L=J",
"F^J=M",
"I^K=P",
"L^M=N",
"N=G",
"G=H"};
- hechosDeInicio = new String[]{"L", "F", "I"};
+ hechosDeInicio = new String[]{"L"};
objetivo = "H";
} else {
String reglasHechos[][] = parsearArchivo(args[0]);
lineaDeReglas = reglasHechos[0];
hechosDeInicio = reglasHechos[1];
objetivo = reglasHechos[2][0];
}
-
+
List<Regla> listaDeReglas = FirenzeUtil.listaFromLineasSinParsear(lineaDeReglas);
List<String> hechos = Arrays.asList(hechosDeInicio);
-
+
Induccion nuevoAlgoritmo = new Induccion(listaDeReglas, hechos, objetivo);
String resultado = nuevoAlgoritmo.correrAlgoritmo();
System.out.println(resultado);
+ imprimirPilaObjetivos(nuevoAlgoritmo.getPilaDeObjetivos());
}
private static void correrAlgoritmoAbduccion(String[] args) {
@@ -103,6 +107,10 @@ private static void correrAlgoritmoAbduccion(String[] args) {
hechosDeInicio = reglasHechos[1];
objetivo = reglasHechos[2][0];
}
+
+ AlgoritmoDeInferencia nuevoAlgoritmo = new Abduccion();
+ String resultado = nuevoAlgoritmo.correrAlgoritmo();
+ System.out.println(resultado);
}
private static void imprimirListaReglas(List<Regla> lista) {
@@ -127,6 +135,18 @@ private static void imprimirListaString(List<String> lista) {
System.out.println("");
}
+ private static void imprimirPilaObjetivos(Stack<List<String>> pila) {
+ System.out.println("*****Pila de objetivos en orden inverso******");
+
+ for (List<String> l : pila) {
+ for(String s: l){
+ System.out.print(s + " ");
+ }
+ System.out.println("");
+ }
+ System.out.println("");
+ }
+
private static String[][] parsearArchivo(String string) {
// TODO implementación de leer archivos de prueba desde argumento
// de terminal

0 comments on commit a375ee4

Please sign in to comment.