Skip to content

Commit

Permalink
Parte 1 de teoria programacion logica (#238)
Browse files Browse the repository at this point in the history
  • Loading branch information
tquijano authored Nov 13, 2023
1 parent 38d56dc commit b208891
Show file tree
Hide file tree
Showing 5 changed files with 56 additions and 11 deletions.
1 change: 1 addition & 0 deletions proglogica/logica_teoria/aplicaciones.html
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,7 @@
<li><a href="lenguaje.html#prolog">Prolog</a></li>
<li><a href="lenguaje.html#mercury">Mercury</a></li>
<li><a href="lenguaje.html#clp">CLP (FD)</a></li>
<li><a href="lenguaje.html#cycl">CycL</a></li>
<li><a href="lenguaje.html#godel">Godel</a></li>
<li><a href="lenguaje.html#minikanren">miniKanren</a></li>
<li><a href="lenguaje.html#sequencel">SequenceL</a></li>
Expand Down
16 changes: 11 additions & 5 deletions proglogica/logica_teoria/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,7 @@
<li><a href="lenguaje.html#prolog">Prolog</a></li>
<li><a href="lenguaje.html#mercury">Mercury</a></li>
<li><a href="lenguaje.html#clp">CLP (FD)</a></li>
<li><a href="lenguaje.html#cycl">CycL</a></li>
<li><a href="lenguaje.html#godel">Godel</a></li>
<li><a href="lenguaje.html#minikanren">miniKanren</a></li>
<li><a href="lenguaje.html#sequencel">SequenceL</a></li>
Expand Down Expand Up @@ -125,11 +126,11 @@ <h2>Presentación del paradigma de programación lógica por estudiantes de la U

<div class="col-lg-6 content order-lg-1 order-2">
<h2 class="title">¿Qué es un paradigma?</h2>
<p>
<center><i>"Es el conjunto de principios subyacentes que dan forma al estilo de un lenguaje de
programación."</i></center>
</p>
<p align="right">
<blockquote class="text-center font-italic">
"Es el conjunto de principios subyacentes que dan forma al estilo de un lenguaje de
programación."
</blockquote>
<p class="text-right">
<small>
<b>
-Concepts, Techniques, and Models of Computer Programming.
Expand All @@ -143,6 +144,11 @@ <h2 class="title">¿Qué es un paradigma?</h2>
<p>
Representa un enfoque particular o filosofía para diseñar soluciones.
</p>
<p>
Adoptar un paradigma es elegir una lente a través de la cual se examinarán los problemas y se diseñarán las soluciones.
Esta elección puede tener un impacto profundo en el proceso de desarrollo, ya que cada paradigma lleva consigo principios
y prácticas inherentes que moldean la toma de decisiones.
</p>
</div>

<div class="col-lg-6 background order-lg-2 order-1 wow fadeInRight"></div>
Expand Down
25 changes: 25 additions & 0 deletions proglogica/logica_teoria/lenguaje.html
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,7 @@
<li><a href="lenguaje.html#prolog">Prolog</a></li>
<li><a href="lenguaje.html#mercury">Mercury</a></li>
<li><a href="lenguaje.html#clp">CLP (FD)</a></li>
<li><a href="lenguaje.html#cycl">CycL</a></li>
<li><a href="lenguaje.html#godel">Godel</a></li>
<li><a href="lenguaje.html#minikanren">miniKanren</a></li>
<li><a href="lenguaje.html#sequencel">SequenceL</a></li>
Expand Down Expand Up @@ -124,6 +125,7 @@ <h2 class="title"><strong>Lenguajes</strong></h2>
<li>Prolog</li>
<li>Mercury</li>
<li>CLP (FD)</li>
<li>CycL</li>
<li>CSP (Constraint Satisfaction Problem)</li>
<li>Lambda Prolog</li>
<li>Logtalk</li>
Expand Down Expand Up @@ -256,6 +258,29 @@ <h2 class="title"><strong>CLP (FD)</strong></h2>
</div>
</section><!-- #content -->

<!--==========================
Content Section
============================-->
<section id="cycl" style="margin-top:50px;">
<div class="container">
<div class="text_cell_render border-box-sizing rendered_html">
<h2 class="title"><strong>CycL</strong></h2>
<p>
CycL es el lenguaje de programación lógica asociado con el sistema Cyc, que es una base de conocimiento
de inteligencia artificial y un proyecto de investigación con el objetivo de codificar conocimientos
generales en forma computable. El sistema Cyc utiliza CycL para representar la información y las reglas
que permiten a la máquina razonar acerca de ese conocimiento de una manera que imita el razonamiento humano.
</p>
<p>
CycL es un lenguaje extremadamente expresivo y permite la representación de conocimientos muy detallados
y sutiles sobre el mundo. Permite declarar hechos, reglas, y realizar consultas complejas. También puede
manejar excepciones y tiene la capacidad de representar el conocimiento contextual, lo que significa que
puede entender cuándo ciertas reglas o hechos se aplican y cuándo no, basándose en el contexto dado.
</p>
</div>
</div>
</section><!-- #content -->

<!--==========================
Content Section
============================-->
Expand Down
6 changes: 6 additions & 0 deletions proglogica/logica_teoria/presentaciones.html
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,7 @@
<li><a href="lenguaje.html#prolog">Prolog</a></li>
<li><a href="lenguaje.html#mercury">Mercury</a></li>
<li><a href="lenguaje.html#clp">CLP (FD)</a></li>
<li><a href="lenguaje.html#cycl">CycL</a></li>
<li><a href="lenguaje.html#godel">Godel</a></li>
<li><a href="lenguaje.html#minikanren">miniKanren</a></li>
<li><a href="lenguaje.html#sequencel">SequenceL</a></li>
Expand Down Expand Up @@ -232,6 +233,11 @@ <h2 class="title"><strong>Referencias y bibliografía</strong></h2>
<li><a href="https://mercurylang.org/">Mercury</a></li>
</ul>
</li>
<li>CycL
<ul>
<li><a href="https://en.wikipedia.org/wiki/CycL">Wikipedia-CycL</a></li>
</ul>
</li>
<li>miniKanren:
<ul>
<li><a href="http://minikanren.org/">MiniKanren</a></li>
Expand Down
19 changes: 13 additions & 6 deletions proglogica/logica_teoria/proglogica.html
Original file line number Diff line number Diff line change
Expand Up @@ -125,14 +125,18 @@ <h2 class="title"><strong>Filosofia del paradigma</strong></h2>
comportamientos de orden superior, en este sentido, destacan los lenguajes funcionales
ya que se basan en el Calculo Lambda, es la única teoría lógica de orden superior.
</p>
<h5 class="frase">
<center><i>"Modelar problemas por medio de la abstracción, utilizando un sistema de lógica
<p>
Busca modelar problemas abstractos utilizando un conjunto de reglas, predicados,
hechos lógicos y sus relaciones para llegar a conclusiones por medio de la indución.
</p>
<h5 class="frase text-center font-italic">
"Modelar problemas por medio de la abstracción, utilizando un sistema de lógica
formal que permite llegar
a una conclusión por medio de hechos y reglas"</i></center>
a una conclusión por medio de hechos y reglas"
</h5>
<h5 class="frase">
<center><i>"Aplicación de reglas de la lógica para inferir conclusiones a partir de
datos."</i></center>
<h5 class="frase text-center font-italic">
"Aplicación de reglas de la lógica para inferir conclusiones a partir de
datos."
</h5>

</div>
Expand Down Expand Up @@ -780,6 +784,7 @@ <h3>Ventajas</h3>
<li>Descripciones independientes de la implementación (unificación semántica).</li>
<li>Puede mejorarse la eficiencia modificando el componente de control sin tener que modificar la lógica
del algoritmo.</li>
<li>Se separan los datos (los hechos) del programa (las reglas), lo que puede facilitar el mantenimiento y la modificación del programa.</li>
<li>Base de conocimiento fácilmente escalable.</li>
<li>Relaciones multipropósito.</li>
<li>Expresión simple y precisa de los problemas.</li>
Expand All @@ -792,6 +797,8 @@ <h3>Ventajas</h3>
<h3>Desventajas</h3>
<li>Dependiendo del problema a solucionar, la implementación y el motor de inferencia,
puede llegar a ser extremadamente ineficiente.</li>
<li>Para aquellos acostumbrados a paradigmas de programación imperativa u orientada a objetos,
la programación lógica puede tener una curva de aprendizaje pronunciada</li>
<li>Pocas y muy específicas áreas de aplicación.</li>
<li>Existen muy pocas herramientas de depuración, en su mayoría poco efectivas.</li>
<li>En problemas reales, es poco utilizado.</li>
Expand Down

0 comments on commit b208891

Please sign in to comment.