elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Curso de javascript por TickTack


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Crear programa de logica
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] Ir Abajo Respuesta Imprimir
Autor Tema: Crear programa de logica  (Leído 9,425 veces)
ShotgunLogic

Desconectado Desconectado

Mensajes: 233


Claws so razor sharp


Ver Perfil
Re: Crear programa de logica
« Respuesta #10 en: 18 Septiembre 2011, 21:06 pm »

Te comento que tienes que trabajar con lógica Proposicional. Vamos, básicamente lo que estas haciendo, unas proposiciones que son las variables, y las conectivas que son los enlaces(&&, |, etc...).

El problema que tienen estos programas es que el algoritmo de resolución básico que harías(que son las tablas de verdad) tiene esta forma:

2^n

Donde n es el número de proposiciones(ya que pueden ser verdaderas o falsas).

Es un verdadero problema, ya que una vez que tengas un gran número de proposiciones se va a disparar el número de ejecuciones que vas a realizar. Para eso se han creado una serie de métodos(como sacarlo por contradicción) que hacen que el algoritmo tenga una complejidad menor. De hecho, asi fue como surgio uno de los primeros problemas np complejos, que todavia sigue sin resolver.

Pero bueno, el caso es que hay una pagina en la que se compite por ver quien es capaz de idear el algoritmo mas eficiente:

http://www.satcompetition.org

Se trata de saber si una fórmula es satisfacible, lo que usaras para ver si un razonamiento es correcto(el razonamiento deberia de ser siempre satisfacible).

http://es.wikipedia.org/wiki/Problema_de_satisfacibilidad_booleana#Algoritmos

En el apartado de algoritmos tienes un resumen, yo que tu me lo leeria, ya que el tema de logica es muy importante en el desarrollo de la computacion y la algoritmia en general, ademas de ser realmente fascinante.

Cualquier duda pregunta, que probablemente me pase poniendo conceptos XD

Un saludo!





En línea

The clans are marching against the law, bagpipers play the tunes of war, death or glory I will find, rebellion on my mind.
$Edu$


Desconectado Desconectado

Mensajes: 1.842



Ver Perfil
Re: Crear programa de logica
« Respuesta #11 en: 18 Septiembre 2011, 22:16 pm »

eso de 2 a la n, lo hice ya, es decir mire que si tenia hasta la variable S serian 16 el tamaño de mis arrays para lo de VVVVVVVVFFFFFFFF para la preposicion S, pero claro si ponian otra variable mas ya mi codigo no funciona, pero es que mi idea era para hacer ejercicios que nos mandaba el profesor de filosofia, que son de los simples:

Si Juan estudia mucho entonces salvara el examen.
Juan estudio mucho por lo tanto salvara el examen.

[(p>q).(q)]>q

Creo que seria asi, como ves son cosas simples pero veo que para hacerlo bien de bien necesitare estudiar mucho asique lo dejo para cuando aprenda en la universidad mejor.

Aunque yo queria lograr hacerlo con lo poco que se hasta ahora, es decir tomando un string que ingresara el usuario en el programa como por ejemplo:

[(p>q).(q)]>q

Y mi programa haria (p>q) y lo guardaria en un array a su valor que sera un array de strings [ "V", "V", etc, etc]
Luego haria (q) y lo guardaria en otro array.
Despues haria lo mismo con q, para despues hacer el primer array con el segundo por medio del "." y ese resultado con el resultado del q por medio del >


Mis avances son:

- El programa capta el tamaño de esos strings, ya que puede aparecer otra preposicion y se hara mas largo el tamaño.
- Tengo un metodo que si le envias (p>q), te lee esas preposiciones para saber cuales son y cual es el simbolo ( el operador  ">" en este caso) y luego envia esos datos a otro metodo que devuelve el string[] resultado.

El problema que tengo es como ir guardando esos arrays de resultados, ya que pueden ser muchos, a veces pocos, etc. Pense en una lista de arrays ya que lo estoy haciendo en C# en .net y se me hace facil eso. Pero si una vez que los guarde en una lista, como se cuales son los que se tienen que operar otra vez y cual es el que queda al final?
La logica me llevo a que los 2 primeros en el ejemplo que puse, son los que se tienen que operar otra vez y luego el resultado de esos con el 3ero que es solamente "q".
Pero que pasa? cuando no es asi? cuando esta mas desordenado? con "[" por ejemplo aca me caga todo:

[(p>q)].[(q>r).p] -- para dar un ejemplo nomas.

Ya que ahi seria al revez, se operarian otra vez los 2 ultimos xD.
Y otra cosa, como leo el simbolo que hara que se operen otra vez esos 2, en este ultimo caso el "." ?


Si alguien leyo todo esto y lo entendio, se merece un premio jajaja


En línea

$Edu$


Desconectado Desconectado

Mensajes: 1.842



Ver Perfil
Re: Crear programa de logica
« Respuesta #12 en: 22 Septiembre 2011, 17:53 pm »

No te entendi un poroto :)
En línea

тαптяα


Desconectado Desconectado

Mensajes: 1.151


Sic utere tuo ut alienum non laeda


Ver Perfil WWW
Re: Crear programa de logica
« Respuesta #13 en: 22 Septiembre 2011, 18:15 pm »

Y que parentesis, coges como prioridad? te habran enseñado los conectivos logicos supongo..y sabras su jerarquia.

Y sabiendo su jerarquia, debes saber que no hace falta que hayan parentesis en algunas proposiciones logicas. Asi que en lo que debes centrarte, es en analizar la proposicion, buscando los conectivos, dando prioridad para hacer la tabla de la verdad    a la conjunción y ddisyunción, luego a la condicional y por ultimo a la bicondicional.

Y apartir de ahi, vas sacando tablas y tablas hasta que llegas a hacer todo.

Yo la idea la tengo clara, loo que no tengo es el tiempo

Saludos
En línea

$Edu$


Desconectado Desconectado

Mensajes: 1.842



Ver Perfil
Re: Crear programa de logica
« Respuesta #14 en: 22 Septiembre 2011, 18:46 pm »

Mmm pero el usuario lo que ingresara sera la ecuacion , ya pensada por el, el programa solo hara las operaciones, fijate en mi penultimo mensaje a ver en que me podrias dar una mano
En línea

Páginas: 1 [2] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Crear programa...
Programación Visual Basic
_DeMoN_ 4 1,823 Último mensaje 12 Septiembre 2005, 20:33 pm
por programatrix
Crear una bomba logica
Programación Visual Basic
Flamareoon2000 4 4,004 Último mensaje 16 Marzo 2006, 15:59 pm
por MazarD
crear programa p2p
Programación Visual Basic
bautistasbr 4 7,774 Último mensaje 28 Marzo 2006, 18:18 pm
por bautistasbr
Crear un programa desde un programa XD « 1 2 »
Programación Visual Basic
Karcrack 13 3,914 Último mensaje 8 Noviembre 2006, 00:11 am
por ranslsad
Ayuda lógica para crear una tool SQLi
Nivel Web
PanConMantequilla 5 4,982 Último mensaje 3 Febrero 2012, 20:22 pm
por PanConMantequilla
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines