Ir arriba
A los padres de los Paradigmas:
Bernstein, Kunh, Mac Cartdy, Minsky,
Moore, Newell, Rochester, Samuel, Selfrige, Simon, V Neumann

Nace un paradigma
Un científico cerró 5 monos en una jaula, en cuyo centro ubicó una escalera, en la cima puso bananas.
Si un mono trepaba la escalera a tomar bananas, a los que quedaban en el piso lanzaba un chorro de agua fría.
Asi, cuando un mono trataba de subir la escalera, el resto le daba una paliza.
A pesar de tentarse con las bananas, ninguno optaba por subir la escalera.

Luego, sustituyó uno de los monos, quién al tratar subir la escalera, era bajado con paliza de los otros.
Pasadas algunas palizas, el nuevo de grupo ya no subió más la escalera.

El 2do, 3ro, 4to y 5to mono fueron sustituidos, y siempre ocurrió lo mismo. Además, el sustituto participaba de la paliza al novato.

Así quedaron 5 monos que:
- Aunque nunca recibieron un baño con el chorro de agua fria,
- Continuaban golpeando al mono que intentase llegar a las bananas.

Paradigma
Es mas facil
desintegrar un atomo
que un preconcepto.!!

Albert Einstein


Qué es un paradigma

Thomas S. Kuhn
En su obra, "La estructura de las revoluciones científicas", dice que paradigma es el "lente" con los que captamos el mundo, es decir es una interpretación de la realidad.

Paradigma es un:
Modelo de acción
frente a una realidad

Así, los paradigmas son modelos que rigen el pensamiento científico de una época, orientados por reglas e ideas que guían las acciones.
Por ello, los cambios paradigmáticos implican revoluciones científicas surgidas con nuevos paradigmas, que muestra la ciencia de manera revolucionaria.
Ejemplo el paradigma geocéntrico, de Aristóteles, según el cual la Tierra es el centro del universo, es cambiado por el paradigma heliocéntrico, de Nicolás Copérnico, donde el Sol es el centro del universo.

Estos aspectos indican que..
Paradigma puede ser un:

  1. Modelo de comportamiento
    Mis paradigmas son:

  2. Modelo algorítmico de
    Proceso de datos, como el:

Paradigma de
PROGRAMACION
Es un:

          MODELO CONCEPTUAL
                     |
                 que guía un
                     |
         PROCESO de DISEÑO
                     | 
               y determina un
                     |
        FORMATO de PROGRAMA         
Según este Formato, el paradigma puede ser:
  1. Orientado a Objetos

  2. Procedimental

  3. Declarativo

  4. Demostrativo

  5. Funcional

  6. Heurístico

  7. Imperativo

  8. Lógico

El Paradigma
ORIENTADO a OBJETOS

P O O
A semejanza del mundo real, opera eventos que activan un conjunto de objetos, que dan vida a:
  1. Bases de datos
  2. Interfaces gráficas
  3. Sistemas operativos
  4. Ingeniería de Software
  5. Sistemas de información
  6. Sistemas portables y reusables.
  7. Sistemas sin listas, árboles, registros.
Lenguajes Orientado a Objetos
C++, C#
Builder
Basic
Delphi
Java
F o x

Componentes del POO:
Las
Clases
Los
Objetos
Los
Metodos
Las
Propiedades

POO:
C L A S E S
Estructura intangible de datos que registra formato y acción del objeto.
Una clase define un objeto y este a otro objeto.
Ejemplo:
La clase automotor, puede generar objetos tipo motos, coches, con elementos afines y una común: sirven para transportar carga.

En lenguaje orientado a objetos
La sintáxis de una clase es:


DEFINE  CLASS nombreClaseDefinida
 ADD OBJECT nombreObjeto AS nombreClase 
  WITH Propiedades
  PROCEDURE / FUNCTION
    Instrucciones
    . . . . . 
  ENDPROC / RETURN   
ENDDEFINE

SUBCLASE:
Clase generada a partir de otra clase base. Ambas, con aspectos similares y partes propias.

Paradigma:
En los ojos del joven
arde la llama.
En los ojos del viejo
brilla la luz.

Víctor Hugo

POO:
O B J E T O S
Ente tangible operable que actua frente a otros objetos.
Posee:
  1. Atributos:
    Propiedades del objeto.

  2. Estado:
    Valor del atributo en un instante

  3. Método de instancia:
    Modifica los valores del objeto .

  4. Interfase del objeto:
    Comandos de acciones:
    Emisor: Objeto que envía el mensaje, al receptor quien devuelve un valor, cuyo el contenido es el Argumento.

Para resolver problemas
Utilizando objetos:
Requiere:
  1. Identificar el problema,
    Ejemplo:
    Calcular la suma de dos números e imprimir el resultado

  2. Identificar los objetos necesarios para la solución,
    Ejemplo:
    Num1: 1er número (objeto).
    Num2: 2do número (objeto).
    Suma: Suma (objeto).

  3. Identificar mensajes a enviar:
    Ejemplo:
    + unNum - Mensaje al receptor con parámetro unNum.
    Resultado: Objeto suma del receptor y unNum.
    print: Muestra el valor del objeto receptor.

  4. Crear secuencia de mensajes
    Para resuelver el problema.
    Ejemplo:
    (Num1 + Num2)print
    El mensaje + con un parámetro Num2, es enviado a Num1.
    Resultado: (Num1 + Num2), enviado por mensaje print.
    
    Ejemplo: 
         2 + 3 * 4     es 20
     y   2 +(3 * 4)    es 14
    

POO:
M E T O D O S
Es el Código procedural de programa asociado al objeto que genera acciones mediante eventos.
Puede ser:
  1. PROPIO:
    Incluidos en la cápsula del objeto.

  2. HEREDADO:
    Definido en objeto antepasado.

  3. DEMONIO:
    Ocurre al asignar un valor a una propiedad del objeto.


POO:
FUNCIÓN y PROCEDIMIENTO
A) Funcion:
Método que actua como bloque operativo independiente, usado cuando el objeto serà activado varias veces.
Si la función es convocada en un método, genera un nuevo dato.

La funciòn pueden requerir de valores que reciben desde el exterior (parámetros).
Ejemplo: Función de búsqueda:


   FUNCTION EstaGrabado
     PARAMETER LegajoLeido
    YaEsta = .F.
    GO Top                                           
    LOCATE FOR Taller.Legajo = AllTrim(LegajoLeido)    
    IF Found()                                        
       =MessageBox('Ya fué grabada esta ficha',0+64,legajo+'  '+nombre)
       YaEsta = .T.
	   MenuCambios.Hojas.Page1.BotonGuardar.Enabled = .F.
    ENDIF
   RETURN YaEsta

B) Procedimiento:
Subprograma que funciona independiente y que puede o no, recibir paràmetros.
Ejemplo:


PROCEDURE BotonBuscar.Click 
  Set Near On
  Set Exact Off
  Buscado = Upper(AllTrim(ThisForm.ModNombre.Value))
  GO Top                                           

  LOCATE FOR Upper(Telf.Nombre) = Buscado    

  IF Found()
     ThisForm.ModNombre.Visible    = .F.
     ThisForm.ModDireccion.Visible = .F.
     ThisForm.ModTelefono.Visible  = .F.
     ThisForm.BoxNombre.Visible    = .T.
     ThisForm.BoxDireccion.Visible = .T.
     ThisForm.BoxTelefono.Visible  = .T.
     ThisForm.CancelaBuscar.Visible = .F.
     This.Visible = .F.
     ThisForm.BotonBajas.Visible = .T.
     ThisForm.BotonAltas.Visible = .T.
     ThisForm.Modificacion.Visible = .T.
     Formulario.Refresh

    ELSE 
      =MessageBox('No esta registrado',0+64,Buscado)
  ENDIF

  Set Exact On
 ENDPROC
Procedimientos o funciones
Usadas para efectuar altas, bajas, modificaciones, búsqueda, etc.
Ejemplo:
Definir una clase e incrustar objetos, cuyos métodos son activados por eventos.

DEFINE CLASS ContainerLeeFecha AS ContainerWilo
  HEIGHT = 100
  ADD OBJECT RotDia AS Label  WItd TOP=10, LEFT=80,Autosize=.T.,HEIGHT=10, 
             FontBold = .T.,
             Caption='DIA       MES        AÑO'
  ADD OBJECT BoxDia AS SpiDia 
  ADD OBJECT BoxMes AS ComboMes 
  ADD OBJECT BoxAno AS SpiAno 
  ADD OBJECT DeterminarHoroscopo AS CommandButton WItd TOP=10, LEFT=250, 
             CAPTION='Suerte', HEIGHT=55, Width=50, Picture='Ver.ico',
             ToolTipText='Aceptar estos datos',BackStyle=0
  ADD OBJECT Cancelar AS Image WItd TOP=60, LEFT=80, Picture='Borrar.ico',
             ToolTipText='Limpiar los datos',BackStyle=0
	  
  PROCEDURE Init
	tdisForm.LeeFecha.DeterminarHoroscopo.Visible = .F.
  ENDPROC  
	
  PROCEDURE BoxDia.LostFocus
	tdisForm.Caption='Selecciona el mes que naciste, luego ENTER' 
	FormuWilo.LeeFecha.BoxMes.Visible = .T.
  ENDPROC  
  PROCEDURE BoxMes.LostFocus
	tdisForm.Caption='Ahora el año que naciste, luego ENTER' 
	FormuWilo.LeeFecha.BoxAno.Visible = .T.
  ENDPROC  
  PROCEDURE BoxAno.LostFocus
	tdisForm.Caption='Click ..!! sobre el ojo para ver tu horóscopo' 
	FormuWilo.LeeFecha.DeterminarHoroscopo.Visible = .T.
	FormuWilo.LeeFecha.DeterminarHoroscopo.SetFocus
  ENDPROC  
	
  PROCEDURE DeterminarHoroscopo.Click
	FormuWilo.LeeFecha.VISIBLE=.F.
	DO MostrarSuerte 
  ENDPROC
  PROCEDURE Cancelar.Click
	FormuWilo.LeeFecha.DeterminarHoroscopo.VISIBLE=.F.
	FormuWilo.LeeFecha.BoxDia.Value=1
	FormuWilo.LeeFecha.BoxMes.Value='Ene'
	FormuWilo.LeeFecha.BoxAno.Value=2019
	FormuWilo.LeeFecha.BoxDia.SetFocus
  ENDPROC
ENDDEFINE


POO:
PROPIEDADES
Características:
1) PROPIAS:
Formadas en la cápsula del objeto.

2) HEREDADAS:
Formadas en objetos antepasados: padre, abuelo.
Abarca:

  1. POLIMORFISMO
    Permite efecto distinto en métodos de clases derivadas.
    Un mismo mensaje enviado a objetos de clases diferentes, actúan de distinta forma:
    Ejemplo: Un mensaje "+" a un objeto:
    -Entero: Produce Suma de dígitos
    -Cadena: Produce Concatenación.

  2. ESTRUCTURA
    Como instancia una clase tiene estado, identidad y comportamiento predefinidos:
    Se caracteriza por ser un dato:
    - Compuesto: De componente estructurado.
    - Aislado: De una organización jerárquica.

  3. ORGANIZACIÓN
    Los Objetos se organizan como:
    Simples:
    Con estructura de árbol.

    Complejos:
    En caso contrario dentro de tres niveles:
    1) RAÍZ de JERARQUÍA:
    Objeto superior único de la estructura (Raiz).

    2) INTERMEDIO:
    Ubicados bajo de la raíz, tiene descendientes y constituyen clases de objetos.

    3) TERMINAL:
    Objeto sin descendientes

  4. ABSTRACCION de DATOS
    Ignora detalles internos del objeto, asì el operador se concentra en aspectos de uso.
    Diferencia la acción a realizar y cómo lleva a cabo tal acciòn.

  5. ENCAPSULACION
    Oculta atributos y métodos en una cápsula en la estructura del objeto.
    La cápsula facilita al objeto transportarlo a otra ubicación.

  6. MODULARIDAD
    Descompone al sistema en módulos operativos, cohesivos y casi independientes para ejecutar una tarea.

  7. JERARQUIA: De dos tipos:
    1.- Jerarquía de clases:
    De semántica: "es un": que puede ser de herencia:
    1.a) Simple: La clase comparte la estructura de comportamiento de otra clase antecesora.
    1.b) Múltiple: Comparte la estructura con varias clases definidas anteriormente.

    2.- Jerarquía de partes:
    De semántica: "parte de": Donde:
    - Clase de objeto parte, pertenece a clase de objeto todo
    - La parte es independiente de la existencia del todo.
    - Eliminar todo, no siempre elimina parte
    - Ausencia de una parte no implica la ausencia de todo.

  8. HERENCIA
    La clase puede tener igual acción que otra y extender o limitar ese comportamiento.
    La clase derivada, hereda atributos y métodos de su clase primigenia.
    Ejemplo:
    Motocicletas y automóviles, tienen similares atributos y métodos de la clase automotor.

  9. COMPOSICION
    Agrega clase de objeto parte de una única clase de objeto todo.
    Produce efecto inverso a la herencia, así, si no está todo, no está parte.

  10. TIPIFICACIÓN
    Cada objeto posee propiedades dentro de un tipo de entidades.
    Ejemplo: objetos impresora y mouse, enchufados en conectores de distinto tipo, no funcionaran.

  11. PERSISTENCIA
    El objeto conserva su estado a través del tiempo y el espacio.

  12. REUTILIZACIÓN
    Modificar soluciones existentes, ressuelven nuevos problemas.
    Si un problema fue resuelto, otro problema se resuelve cambiando protocolos objeto-mensaje ya existentes.

  13. RELACION
    Inserta dinámicamente un objeto al programa usando punteros a otros objetos, como enlaces a tros componentes.
    Existen dos tipos:

    Relaciòn JERARQUICA:
    Bidireccional, donde un objeto situado encima, es padre de otro objeto.
    Si un objeto es padre de otro, este último es hijo del primero.

    Un objeto tiene un solo padre, pero puede existir un hijo con varios padres.

    Relaciòn SEMANTICA:
    Las propiedades y efectos dependen del significado y no de su posición en la organización.

    Ejemplo: En un diccionario informatizado para obtener la definición de una palabra cualquiera.
    - Las palabras son objetos y
    - La jerárquia proviene de la estructura de conocimientos.
    Ejemplo:

                   
        /
        |  VIDA:   Ciencias:    Biología y 
        |          Biológicas   Medicina.  
        |                                           
    TEMA < MUNDO:  Ciencias de:       Matemáticas, 
        |          la naturaleza      Física, 
        |          inerte             Química y  
        |                             Geología  
        | 
        |  HOMBRE. Ciencias:          Geografía, 
         \          humanas            Historia.
    	 


POO:
ACTIVIDADES
  1. Establece PROPIEDADES
    Define formato físico (Color, tamaño, ubicación, etc) de objetos:
    1) Establecimiento SIMPLE:
    Asigna un valor a cada propiedad de cada objeto, usando para esto la sintaxis

    Primario.Objeto.Propiedad = Valor

    2) Establecimiento MULTIPLE
    Asignar valores a cada una de las propiedades de varios objetos similares usando la sintaxis WITH... ENDWTH

    Ejemplo:
    
      WITH  MiFormulario.MiGrilla.Colum1 
          Width = 69 
          BackColor=RGB(255,255,255)
      ENDWITH
    
    Las propiedades del objeto pueden establecerse en tiempo de diseño o de ejecución.
    Ejemplo: 
    
       Caption (Etiqueta del objeto) 
       Visible (Muestra u Oculta el objeto) 
       Enabled (Habilita el objeto) 
       Left  (Absisa del Objeto 
       Top   (Ordenada del objeto)
       ForeColor(Color del texto) 
       Value  (Valor del Objeto)
        . . . y muchos otros..!!!  
    

  2. Llama a METODOS
    Primario . Objeto . Metodo:
    Invoca el métodos para activar la tarea a cumplir el objeto.

  3. Referencia a OBJETOS
    Para convocar al objeto, dispones la referencia:

    ABSOLUTA:
    Convoca al objeto que no esta presente, algo así: "Que Leo Messi.. meta un gol !", al objeto invocado se proporcionar su jerarquía completa de contenedor.
    Ejemplo: ConjuntoForm.Form1.BotonComando1

    RELATIVA:
    Si Leo Messi està frente tuyo, solo le diras "Vos, meté un gol !", abreviando la identificación del objeto a manipular, con THIS o THISFORM.
    Ejemplo: Case.This.Value=1

  4. El OBJETO:
    puede contener otros OBJETOS

    Si es tipo contenedor o formulario, puedes "pegar" mas objetos.
    Alternativas:

    ADD OBJECT en el comando DEFINE CLASS.

    Ejemplo: 
      DEFINE CLASS ClaseCreada As ClaseBase 
          Add Object ObjetoAdicionado1 As ObjetoBase1 With Propiedades
          Add Object ObjetoAdicionado2 As ObjetoBase2 With Propiedades
          Add Object ObjetoAdicionado3 As ObjetoBase3 With Propiedades
           ...........
      END Define
    

    ADDOBJECT dentro de un PROCEDURE:

    
      PROCEDURE NombreProcedimiento 
        This.AddObject(ObjetoAdicionado1, ObjetoBase1)
        This.AddObject(ObjetoAdicionado2, ObjetoBase2)
        This.AddObject(ObjetoAdicionado3, ObjetoBase3)
        ...............
      ENDProc 
    
    En esta opción los objetos se pegan en tiempo de ejecución.

  5. Objeto: OBEDECE
    Responde a eventos activados por el sistema, o por el usuario, tales como:
    1. Clicks con el ratón,
    2. Movimientos del ratón,
    3. Pulsaciones sobre pantallas,
    4. Digitaciones de teclas.
    5. Otros..

    Ejemplos: Acción de eventos Click y MoveMouse
    
    *********************************************
    *   ACTIVAR MENU DE ABM
    *********************************************
    PROCEDURE Modificar.Click
     DO ActivarPantallaPrincipal 
     ThisForm.Caption = 'BASE DE DATOS: SELECCIONA UNA OPCION' 
     ThisForm.VerSuerte.Visible=.F.
     ThisForm.LogoUTN.Visible=.F.
     This.Visible=.F.
     ThisForm.MenuPrincipal.Visible=.T.
    ENDPROC
    
    *********************************************
    *   VISUALIZAR CONTAINER DE INGRESO DE FECHA
    *********************************************
    PROCEDURE VerSuerte.MouseMove
      PARAMETER a, b, c, d, e
     DO ActivarPantallaPrincipal 
     ThisForm.Caption = 'INGRESA EL DIA QUE NACISTE, luego ENTER' 
     ThisForm.Modificar.Visible=.F.
     ThisForm.LogoUTN.Visible=.F.
     This.Visible=.F.
     ThisForm.LeeFecha.Visible=.T.
    ENDPROC
    


El paradigma
PROCEDIMENTAL

Activa con Llamadas a conjuntos de secuencias de Procedimientos, así, el
Programa principal pasa datos individuales en cada llamada.
Resultado final son datos al termino del programa procesado en:
a) Serie
b) Paralelo:
b.1- Asincronico:
Cooperación de procesos paralelos
b.2- Sincrónico:
Procesos simples aplicados simultáneamente a muchos objetos.

Por la forma de procesar datos, este Paradigma:
1.- MODIFICA REPETIDAMENTE
el valor de sus DATOS

(Con efectos laterales).

2.- GENERA NUEVOS DATOS
(sin efectos laterales).

Incluyen al Paradigma:

  1. FUNCIONAL
    Define la secuencia operativa a realizar, utilizando abstracción matemática de función.

  2. DEMOSTRATIVO o por EJEMPLO
    Propone soluciones de problemas similares en lugar de especificar como lograr una solución.
    Luego GENERALIZA una solución procedimental.

  3. DE DEFINICION
    Señala hechos, reglas, restricciones, ecuaciones, etc. de valores para la solución.
    Con tal información,
    - El sistema proporciona un esquema del orden de evaluación que genera una solución.
    - Especifica la solución sin indicar cómo construirla,
    - La calidad se prueba mediante depuración y verificación.
    - El procedimiento correcto, produce resultado correcto.
    - Caso contrario se búscan errores para repararlos.

En este enfoque existen Paradigmas:
- ORIENTADOS a OBJETO.
- IMPERATIVOS.

C++, C#
Delphi

Funciona bajo el criterio de la máquina de Von Newmann.
Constan de:

  Input -> | Unidad     |  <->  CONTROL
           | Aritmética |          |
  Ouput <- | Lógica     |  <->  MEMORIA
  1. UAL: Unidad Aritmetica Logica,
    Con datos de la memoria
    - Realiza cálculos
    - Escribe resultados en la memoria
    - Resultado: Valor final de la variable.

  2. MEMORIA:
    Unidad de almacenamiento de información

  3. UNIDAD de CONTROL:
    Regula el flujo operativo

  4. Unidades de
    -INPUT: Entrada de datos
    -OUTPUT: Salida de datos

Paradigma:
Inteligente no es el que
dice lo que piensa,
es el que piensa lo que dice.!
( Anonimo )

Paradigma Procedimental:
Programacion

Ejemplo en lenguaje C: Manejo de matrices


/////////////////////////////////////////////
//   Manejo de matrices
//      Wilo Carpio
/////////////////////////////////////////////
 #include < stdio.h>
 #include < conio.h>
 #include < iostream.h>
		
void main()
{
  int i,j,n,m;
  int matriz[30][30];
  clrscr();//limpio la pantalla
  cout  \n \ t \ t Wilo Carpio: C++  MANEJO DE MATRICES NUMERICAS \ n  ;
  cout  \t INDICA LOS DATOS DE LA MATRIZ: A(n,m) \ n;
  cout Nro de Filas de la matriz: n = ;cin  n;
  cout Nro de Columnas de la matriz: m = ;cin  m;
/////////////////////////////////////////////
// Carga del valor de cada elemento
/////////////////////////////////////////////
cout \n\t DIGITA EL VALOR DE CADA ELEMENTO \n;
for(i=1;i=n;i++)
 {
   cout Fila   i \n;
   for(j=1;j=m;j++)
	 {
	  cout A( i , j ) = ;cin  matriz[i][j];
		 }
	  }
/////////////////////////////////////////////
// Mostrar por pantalla los datos cargados
/////////////////////////////////////////////
cout \n\t ELEMENTOS DE LA MATRIZ CARGADA \n;
for(i=1;i=n;i++)
{
  for(j=1;j = m;j++)
   {
	coutA( i,j )=  matriz[i][j] |  ;
   }
   cout\n;
	}
	getch();//espera que presione una tecla
	}


El Paradigma
HEURÍSTICO
Se usa en problemas de múltiples alternativas de solución
Opera algorítmos inteligentes
Requiere:
- Profundo conocimiento del problema y su operatoria.
- Reglas de lógica o heurísticas que detectan acciones.
- Inteligencia Artificial, de Ingeniería del Conocimiento

Caracteristicas:
Análiza problemas de múltiple alternativa de solución, como determinar:

  1. El mejor:
    - Camino desde diversos orígenes hacia diferentes destinos.
    - Postulante para asignarle tareas entre varias posibles.
    - Asignación de n puestos de trabajo.

  2. Problemas:
    - Con funciones de evaluación heurística.
    - Sin solución algorítmica, o alternativas de solución múltiple.
    - No algorítmicos: Juego damas, ajedrez, de múltiples alternativas de acción.
Se codifica en lenguajes heurísticos:
L I S P
P R O L O G

Programación Heurística:
Búsca soluciones a problemas computacionales complejos:
Cómo se genera y que efectos produce minimizar el tiempo de búsqueda.
Considera información del problema, como:
- Heurística simple, bajo consumo de memoria, alta velocidad de búsqueda.
- Especificar problemas para generar una o múltiples soluciones.
- Heurísticas codificadas con cualquier lenguajes de programación.

El lenguaje heurístico usa heurísticas, como conclusiónes del razonamiento humano y "reglas de buena lógica".
- Búsca metas a problemas no algorítmicos, o algoritmos que generan explosión combinatoria (Ej: damas, ajedrez)
- Aproxima soluciones a problemas con funciones de evaluación de tipo heurístico.
- Poda estrategias de programas.
- Ser lenguaje conversacional, de interacción con el programador para procesar el problema.
- Tratamiento simbólico para problemas que precisan tratamiento heurístico y estructura simbólica.
- Funciones para modelar heurísticas de módulos independientes.
- Alternativas adecuadas a determinadas circunstancias.

El algoritmo heurístico usa procedimientos:
De búsqueda de soluciones óptimas a bajos costos operativos.
- Sin garantizar la optimización de las soluciones generadas.
- Sin determinar la distancia a la solución óptima.
Que dan forma a la configuración del problema mediante:
- Representación del modelo de su estructura.
- Estrategias de búsqueda y métodos de resolución.

Ejemplo 1:
Optimizar la provisión de caña de azúcar a ingenios azucareros.
En este problema, son factores de decisión:
- Distancia y estado de caminos entre cargaderos con los ingenios.
- Costo unitario del medio de transporte.
- Precio de venta de la caña de cada proveedor.
- Precio de compra que paga cada ingenio, etc.
- La cantidad de alternativas de solución a evaluar serían:


         Alternativas  Nº Ingenios  Nº Cargaderos
	       1=1!                1             1 
	       2=2!                2             2 
	       6=3!                3             3 
	      24=4!                4             4 
	     120=5!                5             5 
	     720=6!                6             6 
	
Tucumán tiene 14 ingenios azucareros, con 14 cargaderos tendríamos factorial de 14.
Un número muy grande, complejo de evaluar uno a uno. Haría falta algún algoritmo como:
a - Recocido simulado
b - Búsqueda Tabú
c - Algoritmos evolutivos:
d - Algoritmos Genéticos
e - Programación evolutiva
f - Estrategias evolutivas
g - Programación genética
h - Redes Neuronales Artificiales
i - Relajación lagrangiana
j - Algoritmos fractales /Alienor-Gabriel


Paradigma
Heurístico
METODOS DE BUSQUEDA
  1. Búsqueda Breadtd-First Search
    (primero en ancho)

    Accede a todos los nodos de un nivel, antes de visitar los del siguiente.
    El pseudo-código de este algoritmo es:
    
    	Mientras Not Vacia(lista_nodos) 
    	  estado_actual = lista_nodos.primero; 
    	  Si EstadoFinal(estado_actual) entonces 
    	  Terminar;
    	Sino 
    	  lista_reglas = ReglasAplicables (estado_actual); 
    	  Mientras NOT Vacia(lista_reglas) 
    	     estado_sucesor = AplicarRegla (lista_reglas); 
    	     lista_nodos = lista_nodos + [estado_sucesor];
    	  Fin Mientras;
    	Fin Sino;
    	Fin Mientras; 
    

  2. Búsqueda Deptd-First Search
    (primero en profundidad)

    La búsqueda sigue una rama del árbol hasta encontrar la solución o terminar la búsqueda por esa dirección.
    Al fracasar una ruta, se realiza un backtracking o vuelta atrás, explorando en el paso inmediatamente anterior.

    Pseudo-código de este algoritmo recursivo, incialmente es llamado con el estado_inicial:

    
    Función Buscar (estado_actual) devuelve Boolean 
     Comienzo 
     Si EstadoFinal(estado_actual) entonces 
    	    Devolver TRUE;
       Sino 
        exito = FALSE; 
        lista_reglas = ReglasAplicables (estado_actual); 
        Mientras NOT exito AND NOT Vacia(lista_reglas) 
           estado_sucesor = AplicarRegla (lista_reglas); 
           exito = Buscar (estado_sucesor);
        Fin Mientras; 
    	    Devolver exito;
      Fin Sino;
    	Fin Buscar; 
    


En el Paradigma
DECLARATIVO
El modelo es un sistema cuya solución describe características.
No describe pasos para procesarla.
Señala propiedades, ecuaciones y reglas.

Caracteristicas:
Almacena valores intermedios en variables.
- Determina el nro de orden de evaluación de calidad solución.
- No prueba que el valor logrado sea el resultado esperado.
- Codifica sus programas en lenguajes declarativos:
A S P
H A S K E L L
L I S P
P R O L O G
S Q L
Programación Declarativa:
  1. Permite diseñar programas "declarando":
    - Condiciones, proposiciones, afirmaciones, restricciones, ecuaciones del problema.
    - La solución se logra con mecanismos de control, sin describir cómo encontrarla.

  2. Las sentencias describen el problema a solucionar.
    - No las instrucciones para solucionarlo.
    - Infiere información desde la descripción realizada.

  3. El dato tipo lista es la estructura fundamental.

  4. El programa describe cálculos, pero no la forma de hacerlo.

  5. Incorpora recursividad, recolección de basura y definición del lenguaje.
    La misma plataforma agrupa editor, interprete y depurador.
    El programador busca la lógica del algoritmo, más que controlar la secuencia

  6. Carece de efectos colaterales.
    El orden de ejecución no importa.
    Calcular un valor no afecta el calculo de otro.
    La secuencia de ejecución lleva al mismo resultado.

  7. Las expresiones son usadas como argumentos de otras definiciones.

  8. Usa funciones de lógica de predicados y sus ramas son

    PROGRAMACIóN:
    a)FUNCIONAL:
    - Basado en la evaluación de funciones matemáticas.

    b)LOGICA:
    - Describe relaciones sobre un conjunto de datos.
    - Logra conclusiones desde premisas validas, a partir de reglas de deducción.

Paradigma:
Demostrado adecuadamente
un error puede llevarnos a
conclusiónes correctas!!
( Wilucha )

En el paradigma
DEMOSTRATIVO

(Por ejemplos)

El modelo es un sistema:
- Que describe soluciones de problemas similares.
- Generaliza una solución procedimental a partir de tales descripciones.
- No asegura la eficiencia de la solución encontrada.
Caracteristicas
El algoritmo de la solución es interna y su validez requiere probarse.

Ejemplo:
Una maquina generadora de números pares, usa la siguiente regla de recursividad:
- Se establece que el numero 2 es par; por tanto 2 pertenece al conjunto de pares.
- Si él numero x pertenece al conjunto de pares, entonces x + 2 es par. Por tanto:

	
	2 + 2 = 4
	2 + 4 = 6
	2 + 6 = 8
- La maquina toma el resultado de las sumas y lo incrementa en dos, asi genera los números pares.

Programación Demostrativa
Capta aspectos similares de objetos y a partir de ellos generaliza similitudes para resolver los nuevos casos.
Especifica la solución mediante ejemplos, para que el sistema generalice la solución para otros casos.
A partir de sus demostraciones, generaliza una o mas soluciones.
Para esto, puede:

  1. SIMULAR:
    La acción operativa que produce una secuencia procedimental.

  2. INFERIR:
    Las intenciones de conocimiento donde:
    1. LOS SISTEMAS INFIEREN:
      La solución, desde similitudes del grupo de datos u objetos, generalizando singularidades.

    2. POR PROGRAMACION ASISTIDA:
      Pueden inferir la próxima acción del programa desde acciones similares o pasadas

DESVENTAJAS:
No se conoce cuándo el programa funciona correctamente.
- Algun programa trabaja bién con datos de prueba, pero que falla con otros.
- La capacidad de inferencia es limitada, tanto que el usuario debe guiar el proceso.


Paradigma:
Hay ciertos defectos
que bién manejados
brillan más que la misma virtud !

(Rochefocauld)

<
En el paradigma
IMPERATIVO

Algoritmo + Datos = Programa

- Un programa en memoria, se ejecuta secuencialmente.
- Efectúa cálculos con datos de tal memoria.
Asocia datos para cálculos, con direcciones de memoria.
- Transforma datos almacenados.
- El resultado es el valor final de la variable.

Usa para los cálculos, estructuras de control de flujos de datos:
  1. SECUENCIAL:
    Ejecuta una a continuación de otra cada instrucción del programa almacenado en su memoria.

  2. SELECCION CONDICIONAL:
    Al cumplirse una condición predefinida, bifurca el flujo de datos, caso contrario, sigue el curso secuencial del programa.

  3. SELECCION INCONDICIONAL:
    Bifurca forzadamente la secuencia del flujo de datos, ejecutando una instrucción distinta a la siguiente del orden.

  4. ITERACION:
    Itera el flujo de datos controlando la condición de while, do.

Funciona bajo el criterio de la máquina de Von Newmann.
Constan de:

  Input -> | Unidad     |  <->  CONTROL
           | Aritmética |          |
  Ouput <- | Lógica     |  <->  MEMORIA
  1. UAL: Unidad Aritmetica Logica,
    Con datos de la memoria
    - Realiza cálculos
    - Escribe resultados en la memoria
    - Resultado: Valor final de la variable.

  2. MEMORIA:
    Unidad de almacenamiento de información

  3. UNIDAD de CONTROL:
    Regula el flujo operativo

  4. Unidades de
    -INPUT: Entrada de datos
    -OUTPUT: Salida de datos
El Algoritmo:
Sus datos y pasos resuelven un problema.
- Describe el orden de los pasos.
- Estructura de las acciones del programa.

La Celda de memoria ( variable ):
Almacena datos en la memoria de celdas donde guarda valores de variables.
Las celdas tienen nombre (concepto de variable) que las referencian.
Estos producen efectos de lado y definiciones de alias, que manejan el concepto de celda de memoria.
Los cálculos intermedios modificaran tales celdas, variables o estructuras de datos del estado actual del problema.
Para simplificar se usa abstracciones tipo registros, array y otros tipos.

Las Asignaciones:
Cada valor calculado es almacenado o asignado a la celda, de manera de actualizar el valor grabado.
La asignacion es registrada en una celda. Con el formato:

expresión1:=expresión2
Donde:
- 1: denota la localidad de memoria y
- 2 : denota un valor.

REPETICION
El programa imperativo efectua su tarea iterando secuencias de pasos elementales.
Ejecuta repetidamente una secuencia de pasos elementales.


Paradigma
Imperativo
P R O G R A M A C I Ó N
Permite la manipulación controlada de datos de manera secuencial.
Sus características son:
  1. El Dato:
    Tiene un "Tipo" que representa sus propiedades.

  2. Estado de Programa: El cambio del estado
    - Interno del computador es representado por valores de las variables
    - Externo es representado por las entradas y salidas a dispositivos.

  3. Flujo De Control:
    - Permite control extensivo sobre el orden de ejecución de los enunciados en el programa.
    - Los mecanismos usuales son: secuencia, selección, repetición e invocación de rutinas.

  4. Composicion de Programas
    - Tiene 4 niveles de jerarquía: bloques, rutinas, paquetes (módulo o tareas) y programas.

  5. Efectos de Asignación:
    - Cambia el valor almacenado (estado actual) en una dirección (localidad) de memoria del computador.
    - El "estado" y "localidad" vienen del modelo del computador para el lenguaje imperativo.

Ejemplo 1:


Programa:	 a:=b+c
		 b:=b+1

	Estado 0:	a=2
		b=3
		c=4

	 Modificacion:	a:=b+c
	 Estado 1:	a=7
			b=3
			c=4

	 Modificacion:	 b:=b+1
	 Estado 2:	 a=7
			 b=4
			 c=4
Ejemplo 2: Cálculo del modulo entre 2 números

  función mod (x, y: enteros) : entero
	inicio
	  z := x
	mientras z >= y hacer
	  z := z - y
	finmientras
	devolver z
  fin


Paradigma:
Errar es humano, pero para
enrredar las cosas en grande
hace falta una computadora
con muchas funciones..!!
( Wilucha )

En el paradigma
FUNCIONAL

El modelo es un sistema matemàtico funcional:
Funciones + Datos = Programa

Donde:
  1. Cada función ejecuta las mismas operaciones, como modulo de programa para procesar datos.
    1. La función es correspondencia entre dos elementos: Origen y Destino.
    2. Produce un resultado: "valor de la función" que es el nuevo parámetro operable.
    3. El resultado es entrada del siguiente y así sucesivamente hasta producir el valor deseado.

  2. El parámetro calculado y devuelto como valor para calcular otros datos,cumple:
    1. La función puede tener varios argumentos, incluyendo cero, pero siempre devuelve un valor único.
    2. La definición de función proporciona:
      b.1- Un parámetro formal o un nombre y
      b.2- La llamada a la función proporciona un argumento real o un valor.
    3. En lugar de secuencias de eventos, existe composición de funciones.

La celda de memoria refiere a la lista sucesivamente modificada, por cálculos previos, hasta generar un resultado.


Ej: Programa FUNCIONAL en Pseudolenguaje:

  siguiente ( x ) : int [ 10 ] -> int [ 10 ] = 
            { xi = xi + 1; i = 0 .. 9 };
  cuadrado ( x ) : int [ 10 ] -> int [ 10 ] = 
            { xi = xi * xi; i = 0 .. 9 };  

  cuadrado ( siguiente ( [ 1,2,3,4,5,6,7,8,9,0 ] ) )
Programación Funcional
Basado en funciones matemáticas, para:
- Aplicar operaciones sobre algunos argumentos.
- Obtener un valor de función para esos argumentos.
- Argumentos y resultado, son constantes numéricas. Ejemplo:

Para:
f(x) = x2 + x,
con el argumento constante entera 2:
La función f de potencia cuadrada, y de suma, genera:
f(2) = 22 + 2 = 6 como valor de la función.

Un argumento y resultado de la función, pueden ser otra función.
O incluso la misma, por recursividad.

La programació funcional opera como modelo de computación "cálculo lambda",
que:

  1. Define función de un solo argumento y con cuerpo específico, con la terminología: lx.B,
    donde:
    a.1) x : Define el parámetro o argumento formal.
    a.2) B : Representa el cuerpo de la función. Por tanto: f(x) = B.

  2. REDUCCION:
    Aplica alguna de las funciones creadas, sobre un argumento real (A);
    b.1) Resultado de sustituir las ocurrencias del argumento formal (x),
    b.2) Que aparezcan en el cuerpo (B) de la función, con el argumento (A). Es decir: (lx.B)

Ejemplo:
( lx . ( x + 5 ) ) 3,
indica que en x + 5,
debe sustituirse el valor de x por 3.
Se encontro su valor cuando ya no es posible reducir la función.
Tendrá la consistencia de regresar el mismo valor para los mismos argumentos.

Paradigma:
En los ojos del joven
arde la llama.
En los ojos del viejo
brilla la luz.

( Víctor Hugo)


El paradigma
LÓGICO
Lógica + EstructuraDeDatos = Programa

Su modelo es un sistema

  1. Con reglas de deducción que genera conclusiones aceptadas como validas.

  2. Usa lógica de predicados o aserciones lógicas como conocimiento sobre el problema.

  3. Selecciona normas para generar:
    -Reglas base para deducir metas desde hechos conocidos.
    -Seleccion, tipo "búscar 1ro en profundidad" (BackTracking).
    El cual:
    -Para elegir una regla, selecciona la 1ra que encuentra.
    - Si conduce a un punto muerto, selecciona la 2da.
    - Así hasta que hayan sido probadas todas las alternativas.

Codifica sus programas en lenguaje LÓGICO:
PROLOG
  1. Especifica hechos y propiedades del problema:
    El sistema busca la solución, usando:
    - Hechos o asertos y reglas para representar la información.
    - Deducciones que generen nuevos hechos, partiendo de componentes lógicos y secuencias de control del sistema.
    - Automatiza así la corrección del programa.
    - Verificación de transformaciones, evaluadas partiendo de metas.
    - Pruebas que se ajustan a hechos o deducen de alguna regla, sus antecedentes se convierten en nuevas metas.
    - No describe como debe resolverse el problema.

  2. Resuelve problemas:
    Plantea en términos de reglas lógicas:
    - La lógica de solución de problemas es una modelización a través de un conjunto de fórmulas.
    - Hay al menos una interpretación que es modelo de dichas fórmulas y que es la especificación del problema.
    - Asume la definición de asertos o hechos (Ej: Pity es padre) y reglas para deducir nuevos hechos
    Ej: para todo y, Si y es padre, y es masculino; luego se deduce que Pity es masculino.

  3. La evaluación:
    Empieza definiéndo una meta y probando que se ajusta a un hecho o deduce de alguna regla.
    - Tal meta se deduce de una regla si todos sus antecedentes verifican con la transformación existente.
    - Tales antecedentes seran nuevas metas que deben equipararse con hechos o resolverse vía otras reglas.
    - El proceso termina cuando todas las sub_metas han sido probadas.
    - La solución final resulta de aplicar los resultados intermedios obtenidos a las variables de la meta inicial.

  4. El Paradigma lógico, es usado:
    En aplicaciones vinculados con:
    Inteligencia Artificial: Sistemas informáticos que simulan el funcionamiento del pensamiento humano.
    Sistema Experto: Imita el comportamiento de un experto humano. Mediante:
    - "Base de Conocimiento": Base de datos con información de estructura lógica.
    - Herramienta para comprender las preguntas.
    - "Motor de Inferencias": Para encontrar la respuesta correcta examinando la base de datos.
    Procesamiento de Lenguaje Natural: En el lenguaje humano:
    - Trata de dividir el lenguaje en partes.
    - Relaciona y trata de comprender su significado.


Paradigma
Lógico
E S T R U C T U R A
Contiene:
  1. TERMINOS:
    - Variables (A, B, X),
    - Constantes (Cayo, 2, Moto) y
    - Funciones cuyos argumentos son términos (f(x), padre(Cayo)).

  2. PREDICADOS: Símbolos de n argumentos (que son términos) que toman el valor verdadero o falso.

    Moto(X), Valioso(veloz), Es-padre(veloz, padre(cometa)).

  3. CLAUSULAS DE HORN:
    - Hechos o reglas formadas por varios antecedentes (conjunción) y un consecuente.
    - Consecuente: antecedente1, antecedente2.
    - La disyunción se representa añadiendo reglas.

    Robert Kowalski crea este Paradigma, sobre estas cláusulas, como subconjunto de la Lógica de Predicados de 1er orden.
    - Casado( x, y )
    - SI esposo( y , x ) o
    - esposa( x , y )

  4. UNIFICACION DE PREDICADOS:
    Los símbolos de predicados deben ser iguales y con el mismo número de argumentos.
    Si no, termina en error: Por cada término de ambos predicados puede suceder:
    - Si un término es variable y el otro es cualquier término sin esa variable, se sustituye la variable por el término.
    - Si los dos términos son constantes con el mismo valor, ya están unificados.
    - Si el valor es distinto se termina con fallo.
    - Si los términos son funciones, deberán llamarse igual y tener el mismo número de argumentos.
    - - Se aplica recursivamente el algoritmo a los argumentos de la función.
    - Si no se cumple ningún caso, se termina con fallo.

  5. ENCADENAMIENTO DE REGLAS
    Parte de una lista L de objetivos O1 O2 ... On..
    1) Selección:
    - Seleccionar un objetivo Oi por orden de aparición
    - Seleccionar una cláusula Rj por orden de aparición.
    - Renombrar sus variables.
    - Si el consecuente de Rj puede unificarse con Oi, se crea una nueva rama
    - Realizando sustituciones necesarias;
    - Si no se puede unificar la rama termina en fracaso.

    2) Solución:
    Oi se sustituye en L por el antecedente de Rj.
    A todas las cláusulas de L se les aplica sustituciones de unificación.

    - Si L vacía -> la rama termina en éxito; si no, volver al paso 2.

    El algoritmo termina cuando se han recorrido todas las ramas

  6. ASERTOS o PROPOSICIONES
    O hechos de reglas lógicas establecidas apriori que generen conclusiones para deducir nuevos hechos.
    Ejemplo:
    - Para el aserto Pity es padre:
    - Para todo y, Si y es padre, y es masculino,
    - Se puede deducir que Pity es masculino.

    Para evaluar se define una meta, luego se prueba si se ajusta a un hecho o se deduce de alguna regla.
    - Si la transformación es verificada por sus antecedentes, entonces:
    - - Estos se convierten en nuevas metas a equipararse con hechos o resolver por otras reglas.
    El proceso:
    - Termina cuando todas las sub-metas han sido probadas.
    - La solución final aplica a las variables de la meta inicial, los resultados intermedios obtenidos.

  7. MECANISMOS de BUSQUEDA de REGLAS
    Para seleccionar reglas, se requiere:
    - Buscar en profundidad con un algoritmo de BackTracking ó método de resolución.
    - Cuando requiere elegir una regla, selecciona la 1ra que encuentra.
    - Si la regla elegida conduce a un punto muerto, selecciona la 2da.
    - Así hasta que hayan sido probadas todas las alternativas.

    El Paradigma Lógico crea reglas, mediante:
    - Ejecución: Meta que intenta probarse a partir de los hechos y reglas.
    - Aplicación de reglas por backtracking: Método de resolución.
    - Soporte de la información Lista.
    - Lógica: Asertos y reglas.
    - Control: Mecanismo de resolución.
    - Estructuras de datos: Constantes, variables y listas.

    En síntesis:
    - Un programa lógico se configura como un conjunto de hechos( asertos o proposiciones ) y
    - De reglas lógicas previamente establecidas.
    - Genera conclusiones a partir de preguntas o cuestiones lógicas.
    - Tales hechos o asertos y reglas permiten deducir nuevos hechos. Por ejemplo:

Lógica + Control + Estructuras de datos = Programa

Donde :
LOGICA: Constituida por
HECHOS:
Establecen relaciones entre objetos. Ejemplo:


    Chita es amiga de Tarzan
       OBJETOS: Chita y Tarzan
       RELACION: amiga
REGLAS LOGICAS:
Expresan que un hecho depende de otros hechos. Ejemplo:

   X es el abuelo paterno de Y si
   X es el padre de Z
   Z es el padre de Y  
CONTROL:
Mediante estrategias para investigar las cuestiones lógicas.
Ejemplo:
estrategia de búsqueda “ primero en profundidad”

ESTRUCTURA DE DATOS:
Son los elementos de la base de conocimiento y cuestiones lógicas.
Ejemplo: variables, listas, constantes, etc.

Paradigma Lógico: Programación
El Lenguaje PROLOG:
Es nativo y es capaz de pensar, sacar conclusiones, emitir juicios e incluso comprender las palabras escritas y orales.
Dotado de un motor de inferencia que búsca en su base de hechos, es lenguaje de programación declarativa; donde:
- El programador declara los objetos del dominio.
- El programador declara en forma de lógica formal las relaciones entre tales objetos.
- A partir de esos datos, PROLOG aplicando lógica, infiere consecuencias.

Paradigma
Cultivo una rosa blanca
..en julio, como en enero
para el amigo sincero
que me da su mano franca..!!

Y para el cruel que me arranca
el corazón con que vivo,
cardo ni ortiga cultivo;
..cultivo una rosa blanca..!

José Martí


Teoría de paradigmas
CLASES de
PARADIGMAS

- BASADO EN REGLAS:
De aplicación en ingeniería del conocimiento para desarrollar sistemas expertos, con reglas de producción del tipo if tden.

- LÓGICA:
Entorno de programación conversacional, deductivo, simbólico y no determinista apoyada en asertos y reglas lógicas.

- FUNCIONAL:
Entorno de programación interpretativo, funcional y aplicativo, de formato funcional.

- HEURÍSTICA:
Aplican heurísticas de visualización, búsqueda y métodos de solución. Pueden ser Programación:
- Paralela
- Orientado a Objetos
- Basado en Restricciones
- Basado en Flujo de Datos

ANTECEDENTES
de la teoría de
PARADIGMAS

  1. Paradigma de la Simplicidad o Newtoniano:
    Basado en la dinámica de Newton, caracterizada por:
    - Dotado de explicaciones simplistas,
    - Desarrollos de leyes deterministas,
    - Fundamentos en modelos ideales,
    - Usar el método analítico.
    - La búsqueda de unidades fundamentales.
    - Estudio del comportamiento de conjunto, por ensamble de sus partes.

    De estos aspectos surgen los grandes Paradigmas conceptuales del siglo XX. Así, nace con:

    - Darwin: La Teoría de la Evolución.

    - Fourier: La "Entropia" en su "Nueva Ciencia del Calor" y el concepto de "flecha del tiempo".

  2. Paradigma segun FLOYD:
    Para resolver un problema, el Paradigma se codifica en lenguaje compatible con él y capaz soportar los mismos conceptos del Paradigma.
    Tal compatibilidad que confunde al Paradigma y lenguaje de programación, mezcla paradigma con su herramienta de proceso, pero un mismo Paradigma puede ser soportado por más de un lenguaje. Por ello, destacamos que:

    Paradigma es concepto o heurística intangible, mientras que lenguaje es su materialización en forma de códigos operacionales.

    Tal confusión llevo, Floyd a clasificar los Paradigmas, de acuerdo a la capacidad de expresión, en 3 categorías.

    1) ParadigmaS que soportan PROGRAMACION DE BAJO NIVEL:
    Operan como los componentes internos del computador, mediante lenguajes de 2da generación, como BASIC, FORTRAN o COBOL,
    - Emulaban al LENGUAJE ENSAMBLADOR, accediendo a sus componentes del hardware.
    - No soportaban algoritmos con procedimientos, funciones, variables, ni punteros, listas, pilas, colas o árboles con asignación dinámica de memoria.

    2) Paradigmas que soportan PROGRAMACION DE ALTO NIVEL:
    Usan lenguajes orientados a objetos, cuyo pionero es PROLOG, superado por la potencia de Delphi o C#.NET, o Basic.NET, o J#.NET, etc.

    3) Paradigmas que soportan DISEÑO de ALGORITMOS:
    Con lenguajes de 3ra generación manejan procedimientos, funciones, variables y punteros para la asignación dinámica de memoria.
    Con Delphi o C#, o C++, o Basic, etc. puedes generar programas que operan bases de datos sin digitar ni una línea de código.

  3. Paradigma segun el tipo de PROGRAMACION:
    Asimilables a los siguientes tipos de PROGRAMACIÓN:

    - BASADO EN REGLAS:
    De aplicación en ingeniería del conocimiento para desarrollar sistemas expertos, con reglas de producción del tipo if tden.

    - LÓGICA:
    Entorno de programación conversacional, deductivo, simbólico y no determinista apoyada en asertos y reglas lógicas.

    - FUNCIONAL:
    Entorno de programación interpretativo, funcional y aplicativo, de formato funcional.

    - HEURÍSTICA:
    Aplican heurísticas de visualización, búsqueda y métodos de solución. Pueden ser Programación:
    - Paralela
    - Orientado a Objetos
    - Basado en Restricciones
    - Basado en Flujo de Datos

  4. Paradigma segun AMBLER:
    De acuerdo al tipo de solución aplicada pueden existir las categorías:
    
    	Solución        =>    Paradigma  
    	 
    	PROCEDIMENTAL    =>   PROCEDIMENTAL
    	 
    	DEMOSTRATIVA     =>   DEMOSTRATIVO
    	 
    	DECLARATIVA      =>   DECLARATIVO
    
    La solución PROCEDIMENTAL U OPERACIONAL:
    Determina cada etapa para construir la solución y describe cómo obtener un resultado a partir de un estado inicial.
    Usa lenguajes de 1ra a 3ra generación, cuyas variables se relacionan con direcciones de memoria, mediante técnicas:

    - MODIFICADAS: CON EFECTO DE LADO:
    Actualiza iterando datos y direcciones de memoria de variables, registra múltiples asignaciones hasta lograr el resultado.
    Sus tipos son Paradigma:
    - Imperativo.

    - Orientado a Objetos.

    - NO MODIFICADAS: SIN EFECTO DE LADO:
    Crean continuamente nuevos datos.
    Resuelve problemas aplicando PROGRAMACION por EJEMPLO o DEMOSTRATIVA:
    donde el programador resuelve programas similares,
    y generaliza soluciónes, por medio de simulación o por inferencias.

    EJEMPLO:
    Para enseñar a la máquina a dividir, pueden proponerse algunos ejemplos

                            
                   Ejemplo:  2/1 = 2
                   Ejemplo:  2/2 = 1 
        
    La máquina infiere que la división requiere fraccionar el digito anterior a la barra en tantas partes como indica el posterior a dicha barra.
    Ejemplo: Si preguntas: Pregunta: 2/0, las respuestas de la maquina pueden ser:
                            
                    Indefinido: Si se la dota de cierto conocimiento matemático. 
    
                    No se:      Que demostraría el gran sentido común de la máquina
    
                    Dígito 2:    Porque fraccionar algo en ninguna parte, deja a ese algo inalterado.
        

  5. Paradigma segun EFECTO de LADO:
    - Paradigma IMPERATIVO:
    Procedimental con efecto de lado, representado por la arquitectura de Von Neumman.

    Algoritmo + Estructura de datos = Programa

    - Paradigma FUNCIONAL: Procedimental sin efecto de lado, basado en el modelo matemático de composición de funciones.

    Funciones + Estructura de datos = Programa

    - Paradigma LOGICO: Seudo declarativo, basado en conjuntos de hechos y reglas lógicas pre establecidas.

    Lógica + Control de datos = Programa

    - Paradigma ORIENTADO A OBJETO: Procedimental con efecto de lado

    - Paradigma HEURISTICO: Basado en reglas de buena lógica.


Antecedentes de paradigmas:
Estructura de las
Revoluciones Científicas
(Thomas Kuhn)

Cambia el enfoque de la ciencia e impone el actual concepto de Paradigma:
- "Modelo que guía las investigaciones en áreas del conocimiento y
que son sustituidos por otros nuevos mediante verdaderas revoluciones científicas".

- Revisa conceptos de la ciencia, su producción, impacto social, conexiones con la filosofía.

Para Kuhn la historia representa el color del cristal con el que debe mirarse toda la filosofía de la ciencia.
A través de este cristal, resultan las dos características:
El "relativismo" y a la "irracionalidad", que revelan la relación de las ideas de Kuhn con el método científico.

La historia de la ciencia muestra, de acuerdo con Kuhn, que a lo largo de su evolución las distintas disciplinas
han pasado por uno o más ciclos bifásicos, que llama "ciencia normal" y "revolución"

En forma paralela a este concepto cíclico de la evolución de las ciencias, Kuhn introdujo también la famosa idea del "Paradigma",
que fué la teoría general o conjunto de ideas aprobadas y sostenidas por una generación o un grupo coherente de científicos contemporáneos.

Kuhn usó el término "Paradigma" con otras acepciones distintas lo que contribuyó a hacerlo un poco confuso.
En publicaciones posteriores, Kuhn sustituyó el término "Paradigma" por otros dos, "matriz disciplinaria" y "ejemplar",
con objeto de ganar precisión, pero como para nuestros fines tal precisión no es necesaria, seguiré usando el término Paradigma.

De acuerdo con el esquema de Kuhn, los ciclos a que están sometidas las ciencias a través de la historia
se inician por una etapa más o menos prolongada de "preciencia" o periodo "pre-paradigmático",
durante el cual se colectan observaciones casi al azar, sin plan definido y sin referencia a un esquema general

En ese periodo puede haber varias escuelas de pensamiento compitiendo pero sin que alguna de ellas prevalezca sobre las demás.
Sin embargo, poco a poco un sistema teórico adquiere aceptación general, con lo que surge el primer Paradigma de la disciplina.

Los ejemplos de Kuhn para ilustrar el sentido de Paradigma son la astronomía ptolemaica, la "nueva" química de Lavoisier,
la óptica corpuscular de Newton, o la dinámica aristotélica.

De acuerdo con Kuhn, un Paradigma está formado por la amalgama de una teoría y un método,
que juntos constituyen casi una forma especial de ver al mundo, sin embargo, el estado ontológico del Paradigma kuhniano no es claro,
se trata de una entidad curiosa, algo camaleónica y hasta acomodaticia, de la que a veces se oye hablar
como si fuera algo real y con existencia independiente.
"Una vez establecido el Paradigma, la etapa de "preciencia" es sustituida por un periodo de "ciencia normal",
caracterizado porque la investigación se desarrolla de acuerdo con los dictados del Paradigma prevalente,
o sea que se siguen los modelos que ya han demostrado tener éxito dentro de las teorías aceptadas...".
Los siguientes aspectos son la sintesis de la propuesta de Kuhn:

- Durante el periodo de "ciencia normal" los investigadores no se dedican a avanzar
el conocimiento sino a resolver problemas o "acertijos" dentro de la estructura del Paradigma correspondiente.

Lo que se pone a prueba no es la teoría o hipótesis general, como quiere Popper,
sino la habilidad del hombre de ciencia para desempeñar su oficio,
en vista de que si sus resultados no son compatibles con el Paradigma dominante,
lo que está mal no es la teoría sino los resultados del trabajo del investigador.

Durante el periodo de "ciencia normal" los resultados incompatibles con el Paradigma prevalente
se acumulan progresivamente en forma de anomalías, en lugar de usarse como argumentos para forzar el cambio
de la teoría por otra u otras que las expliquen.

- Sólo cuando se alcanza un nivel intolerable de anomalías es que el Paradigma se abandona y se adopta uno
nuevo que satisfaga no sólo los hechos explicados por el Paradigma anterior sino también todas las anomalías acumuladas.

A la ciencia que se realiza durante el periodo en que ocurre este cambio, de un Paradigma por otro,
Kuhn la llama "ciencia revolucionaria".
Pero es precisamente en su análisis de este cambio donde Kuhn introdujo una de sus ideas más revolucionarias

  • Propuso que el rechazo de un Paradigma rebasado por las anomalías acumuladas y la adopción de un nuevo Paradigma
    históricamente no ha sido un proceso racional, entre otras razones porque los distintos Paradigmas son inconmensurables,
    lo que no significa que sean incompatibles, sino simplemente que no son comparables entre sí.

    Kuhn comparó al cambio de Paradigmas del periodo de "ciencia revolucionaria" con un "cambio de Gestalt",
    y hasta con una conversión religiosa.

    - La inconmensurabilidad del Paradigma antiguo con el nuevo determina que sus respectivos partidarios hablen distintos idiomas,
    o sea que los mismos términos tengan diferentes significados, lo que dificulta o imposibilita la comunicación entre ellos.

    Frecuentemente, otra diferencia significativa entre los científicos que patrocinan los dos Paradigmas en conflicto,
    el saliente y el entrante, es la edad promedio de cada grupo:
    muchos de los partidarios del Paradigma que se abandona son individuos mayores,
    mientras que la mayoría de los devotos del nuevo Paradigma son jóvenes.

    Esta diferencia generacional no sólo se suma al bloqueo en la comunicación,
    sino que también contribuye a la irracionalidad del cambio,
    que culmina cuando fallecen los últimos miembros del grupo de científicos partidarios del Paradigma saliente,
    con lo que se legaliza la hegemonía del Paradigma entrante y se inicia un nuevo periodo de "ciencia normal".

    Estas ideas de Kuhn se oponen de manera más o menos frontal al esquema hipotético-deductivo de la ciencia de Popper
    al mismo tiempo que postulan otro, que podría llamarse histórico-cíclico
    (Popper lo llama, con toda justicia, relativismo histórico).

    - Obviamente, Kuhn no está hablando de la lógica del descubrimiento científico sino más bien de la psico-sociología de la ciencia.
    Pero Kuhn y Popper coinciden en pasar por alto los mecanismos de generación de las hipótesis aunque el primero las atribuye a la intuición estimulada por la acumulación progresiva de anomalías y el segundo nada más a la intuición

    En cambio, mientras Popper postula que el cambio de una teoría científica por otra proviene de la falsificación de la primera
    y el mayor poder explicativo de la segunda, o sea que se trata de un proceso lógico y racional,
    Kuhn insiste en que la historia muestra que el rechazo de una teoría científica
    y su sustitución por otra ha obedecido mucho más a fuerzas irracionales e ilógicas,
    más relacionadas con factores sociológicos que con principios racionales.

    - El concepto del crecimiento de la ciencia según Kuhn es muy distinto del postulado clásicamente,
    como puede sospecharse al contemplar el resultado de sus ciclos de ciencia normal acumulación de anomalías,
    revolución con cambio de Paradigmas, ciencia normal, etc.,

    En vista de que la inconmensurabilidad de los Paradigmas entrante y saliente impiden que se aproveche toda la
    información acumulada durante el periodo de ciencia normal anterior a la revolución,
    que termina por cambiar un Paradigma por otro.
    Kuhn tiene plena conciencia de esto, por lo que el último capítulo de La estructura se titula
    "El progreso por medio de revoluciones" y en él se pregunta:

    - ¿Por qué es que la empresa detallada antes [la ciencia] avanza continuamente,
    - como no lo hacen, digamos, el arte, la teoría política, o la filosofía?

    - ¿Por qué es el progreso una propiedad reservada
    casi exclusivamente para las actividades que llamamos ciencia?

    Las respuestas más comunes a estas preguntas han sido refutadas en este ensayo,
    de modo que conviene concluirlo preguntándonos si podemos encontrar otras que las sustituyen.

    - Quien haya leído a Kuhn sabe que un solo repaso de sus textos es generalmente insuficiente
    para capturar todas sus ideas y comprender todos sus alcances además de lecturas repetidas.

    Kuhn exige meditación seria sobre lo que dice, con la consecuencia que el lector que medita
    no siempre llega a la misma conclusión que el autor sobre un mismo párrafo.

    Por lo menos, eso es lo que todavía me pasa a mí con Kuhn (¡y con muchos otros autores!)
    pero acepto que seguramente se trata de un problema personal.
    Kuhn propone que en los periodos de ciencia normal, el progreso científico:

    - No es diferente en calidad del progreso en otros campos, pero la ausencia habitual de grupos competitivos
    que cuestionen mutuamente sus respectivos fines y estándares facilita la percepción del progreso de una comunidad científica normal.

    - Después de examinar el papel de la educación científica en las culturas occidentales,
    destacando que en las humanidades la consulta de los textos originales es mucho más frecuente que en las ciencias,
    Kuhn se pregunta:

    ¿Por qué es el progreso una concomitante universal de las revoluciones científicas?

    Una vez más tenemos mucho que ganar si preguntamos qué otra cosa podría provenir de una revolución.
    Las revoluciones terminan con la victoria total de uno de los dos campos opuestos,

    - ¿podrá tal grupo decir alguna vez que su triunfo no representa un progreso?

    Si lo hubiera sería como aceptar que ellos estaban equivocados y que sus oponentes tenían la razón.

    Por lo menos, para ellos el resultado de la revolución debe ser el progreso,
    y se encuentran en una posición excelente para asegurarse de que los miembros futuros
    de su comunidad acepten la historia anterior a ellos de la misma manera.

    - Kuhn examina el papel fundamental que desempeña la comunidad científica como árbitro de lo que es la ciencia y de su calidad,
    que es lo que caracteriza a las civilizaciones derivadas de la Grecia helénica;

    Kuhn identifica a la Europa de los últimos cuatro siglos como el origen de la mayor parte del conocimiento científico que poseemos actualmente,
    gracias a su tolerancia y apoyo a grupos de sujetos interesados en resolver problemas específicos del comportamiento de la naturaleza.

    Ofreciéndoles a tales sujetos, soluciones aceptables a la mayor parte de los miembros de los distintos grupos
    y sin interés primario en reclutar opiniones favorables de las autoridades oficiales de su tiempo
    (rey, papa, dictador, sultán, primer ministro, sátrapa o presidente), o del pueblo en general.

    La pequeña cofradía de científicos establece sus propias reglas del juego,
    al margen de intereses ideológicos o políticos, y se da el imperial y legítimo hijo de regirse exclusivamente por ellos.

    Este episodio solamente ha ocurrido una vez en toda la historia universal,
    y ni siquiera como una corriente ininterrumpida de desarrollo sino más bien como una serie de episodios más o menos breves,
    a veces infelices y otras veces afortunados, con largos intervalos sujetos a la hegemonía de la sinrazón.

    En La estructura, Kuhn incluye un párrafo en donde señala con claridad el mecanismo de crecimiento de la ciencia
    en los periodos de "ciencia revolucionaria"; hablando del cambio de un Paradigma por otro, Kuhn dice que el nuevo Paradigma:

    - No será aceptado por los científicos a menos que se convenzan de que se cumplen dos importantes condiciones:

    En primer lugar, el nuevo Paradigma debe parecer resolver algún problema importante y
    generalmente reconocido, que no se ha podido resolver de ninguna otra manera

    En segundo lugar, el nuevo Paradigma debe garantizar la conservación de una parte relativamente grande de la capacidad
    para resolver problemas concretos que la ciencia ha alcanzado a través de sus predecesores.

    La novedad por sí misma no es un desideratum de las ciencias, pero sí lo es en muchos otros campos creativos.

    De esto resulta que, aunque los nuevos Paradigmas rara vez o nunca poseen todas las capacidades de sus predecesores,
    generalmente conservan una gran parte de los aspectos más concretos de los triunfos previos
    y además siempre permiten soluciones adicionales a otros problemas concretos.

    - Finalmente según Kuhn, podemos concluir que a pesar de la inconmensurabilidad de los Paradigmas en competencia, y de que el cambio de uno por otro durante las revoluciones científicas se parece más a una conversión religiosa que a una acción racional.
    El nuevo Paradigma está obligado a garantizar la preservación de mucho de lo aprendido en los periodos previos de ciencia normal, lo que permite el crecimiento de la ciencia.

    Paradigma
    Hay hombres que de su ciencia
    tienen la cabeza llena
    Hay sabios de todas mentas
    Mas digo sin ser muy ducho
    Que es mejor que aprender mucho
    El aprender cosas buenas..!!
    José Hernández


    Paradigmas
    IMPRESOS
    Lenguajes
    Gramáticas
    Autómatas
    Series
    Laplace
    Ecuación
    Operador
    Compilador
    En la sociedad globalizada, el homo sapiens, en su rol de homo digitalis, actua frente a la realidad de la sociedad digitalizada, con paradigmas, como:
    Start-ups: Negocios escalables
    Energías alternativas(solar, eólica) Electricidad limpia y barata.
    Moneda virtual: Reemplaza al dinero físico en transacciónes electrónicas
    Automovil Autónomo Computadora con ruedas y sin conductor.
    Universidades: Migran a laboratorios de desarrollo con instrucción y evaluaciones en modo remoto
    Tricorder Star Trek: Escanea la retina, detecta marcadores biológicos e identifica dolencias.
    Watson Healtd: Diagnostica cáncer con mayor precisión que la humana.
    Placa Petri: Produce bistecs más sabrosos y baratos que las de vacunos.
    APP (Marketplace: Plataforma móvil): Gestiona on line actividades comerciales o servicios.
    - Airbnb(Airbed and breakfast): Reserva alojamiento en viviendas
    - Uber: Conecta taxis con pasajeros.

    Cada paradigma requiere un:

    Lenguaje de
    Programación
    Lenguaje
    HTML
    C++, C#
    Basic
    Lenguaje
    Delphi
    Fox
    Builder
    Lenguaje
    Haskell
    Java
    A S P
    Lenguaje
    PHP
    Small
    UML
    Lenguaje
    Lisp
    Prolog
    C S S


    Paradigma
    Cultivo una rosa blanca
    ..en julio, como en enero
    para el amigo sincero
    que me da su mano franca..!!

    Y para el cruel que me arranca
    el corazón con que vivo,
    cardo ni ortiga cultivo;
    ..cultivo una rosa blanca..!

    José Martí

    Te espero en: wilocarpio@gmail.com

    Esta page está en: www.wilocarpio.com

    11/11/2018

    Volver al principio

    Password: