Algoritmo tiempo mas corto y al azar en C#

En esta ocasión les quiero compartir este trabajo que me toco hacer como requisito en la materia de Sistemas Operativos 1. consiste en desarrollar un simulador o cualquier aplicación que implemente estos algoritmos para funcionamientos. yo lo que hice fue desarrollar un reproductor multimedia que utiliza estos dos algoritmos, claro algo sencillo pero es chevere.

La funcionalidad de estos algoritmos se basa en lo siguiente:

  • Algoritmo Tiempo mas corto: lo que hace es mirar entre todos los procesos y ver cual tiene menor tiempo de duración entonces ira ejecutando el que tenga menor tiempo de duración.  para un reproductor que implementa esta funcionalidad solo consiste en leer el tiempo de duración de la canción que se selecciono (Lista de canciones)cada una de esta representa un proceso luego lo que hago es ordenarlos de menor a mayor y listo voy reproduciendo.
  • Algoritmo al Azar: este algoritmo es sencillo  entre todas las canciones seleccionadas (procesos) va reproduciendo al azar.
Capturas de la aplicación.

En la siguiente pantalla se seleccionan las canciones a reproducir.


las canciones quedaran cargadas en la ventana de configuración (Si alguna no les carga el tiempo. hacer clic en la fila para que capture el tiempo de la canción).


luego hacer clic en el botón inferior simular tiempo mas corto. y el sistema organizara las canciones según el algoritmo de planificación q se halla seleccionado para este caso tiempo mas corto.

Panel izquierdo (Procesos en estado esperando). Panel Central (Procesos en Ejecución  y Panel derecho (Procesos Terminados).


A continuación podrán descargar el proyecto, esta desarrollado en Visual Studio 2010 Profesional


Saber si Javascript no esta habilitado en el navegador en asp.net

Hola a todos.

llevo bastante tiempo sin escribir pero es debido al tiempo :D estaba haciendo unas revisiones y me tope con la necesidad de saber si nuestro script se ejecuta o no. coloquemos un ejemplo digamos que mostramos un mensaje al usuario usando alert y si javascript no esta habilitado este usuario no recibirá esta notificación  despues de un rato pensar y explorando entre lo brindado por asp.net llegue a una conclucion senccilla:

colocar un hiddenfield en la pagina pasarle un valor por javascript  en el evento load luego cuando vaya a imprimir el mensaje verifico si ese hiddenfield contiene el valor pasado por javascript si no es así  quiere decir que javascript no esta actualmente habilitado en el navegador entonces lo que hago es mostrar el mensaje en un label que esta visible a la vista.

esa es la explicación teórica ahora les comparto el código que hice para realizar este proceso:


1
2
3
4
5
6
String idHF = HiddenField1.ClientID;

String alerta;

      alerta = "<script> theForm." + idHF + ".value='_true'; </script>";
      ScriptManager.RegisterStartupScript(this, typeof(Page), 'alerta', alerta, false);

Luego antes de enviar la alerta para este caso se verifica cual es el valor del hiddenfield si es _true quiere decir que si esta habilitado javascript en el navegador.

Esto es un ejmplo basico pero se puede extender muy facilmente para implementar otras funcionalidades.


Nota: Hay que saber que es diferente que el navegador no soporte javascript a que el navegador si soporta javascript pero no tienen javascript habilitado actualmente. para este segundo caso es que se aplica el método que acabo de mostrar.

Creando un nntool en matlab




Hola, buenas tardes a todos.

Después de varios pero varios meses sin escribir les traigo esta utilidad que es una interfaz gráfica en matlab que simula las operaciones del nntool y así poder generar redes neuronales.

a tener en cuenta:
las entradas, salidas, pesos iniciales (en el momento que desee cambiarlos), entrada para la simulación (en el momento que desee cambiarla) se ingresan en forma matricial de la siguiente forma:

[-1 -1 1 1; -1 1 -1 1]

El ordene de ejcuccion es:
  1. Seleccionar el algoritmo
  2. escribir el numero de capas
  3. dar clic en el botón generar capas
  4. el el recuadro neuronas por capa ir seleccionando la capa, escribir al frente el numero de neuronas y seleccionar a bajo la función de transferencia a usar.
  5. hacer clic en aplicar
  6. repetir pasos 4 y 5 por cada capa que tenga la red neuronal
  7. ir a datos de entrenamiento
  8. seleccionar función de entrenamiento
  9. escribir los parámetros iniciales epoch, gl, goal
  10. los pesos iniciales pueden ser automáticos o definidos por el usuario, si son definidos por el usuario aparecer un recuadro donde se debe ingresar los pesos iniciales en forma matricial como se explico al comienzo del post
  11. hacer clic en generar red
  12. hacer clic en inicializar y entrenar red (aqui se muesta la grafica de entrenamiento)
  13. ir a datos de simulación
  14. escoger si simular la red con la matriz de entrada (p) o ingresar una matriz con la cual realizar la prueba.
  15. hacer clic en simular red.
  16. los resultados de la simulación se obtienen en el recuadro resultados de la simulación