Inteligencia artificial ia7700 t
Download
1 / 195

Inteligencia Artificial IA7700-T - PowerPoint PPT Presentation


  • 1191 Views
  • Updated On :

Inteligencia Artificial IA7700-T. M.C. Juan Carlos Olivares Rojas olivares@correo.fie.umich.mx. Agenda. Repaso básico de IA sobre: Introducción Agentes lógicos Métodos de Búsqueda Prolog Lisp Planificación. Basic Concepts.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Inteligencia Artificial IA7700-T' - daniel_millan


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Inteligencia artificial ia7700 t l.jpg

Inteligencia ArtificialIA7700-T

M.C. Juan Carlos Olivares Rojas

olivares@correo.fie.umich.mx


Agenda l.jpg
Agenda

Repaso básico de IA sobre:

Introducción

Agentes lógicos

Métodos de Búsqueda

Prolog

Lisp

Planificación


Basic concepts l.jpg
Basic Concepts

  • What’s the diference bewtween Artificial Intelligence (AI) and Human Intelligence?

  • All the sucessfully AI Systems are based on human knowledge and experience.

  • Most of the AI Systems can be costructed only when the human intelligence can be expresed in easily form (for instance: if x then y).


Basic concepts4 l.jpg
Basic Concepts

  • AI Systems extend human experts, but never can’t substituting either “taken” most of human intlligence.

  • AI Systems don’t have common sense and generallity of human beings.

  • Human Intelligence are very complex for computing.


Basic concepts5 l.jpg
Basic Concepts

If a problem can not be described, then can not be programmed

  • Human Intelligence have these features:

    Reasoning.

    Behavior.

    Use of Metaphores and Analogies.

    Concepts Creating and Use.


Problem l.jpg
Problem

Make a Java Program which calculate if a number give for the user is a Perfect Number or not.

What are the steps for solving this problem?


Inteligence l.jpg
Inteligence

  • Capacity to solution all clasess of problems

  • Intelligence is very subjective.

  • “Intelligence Distinguished man of animals”

  • AI is an interdiciplinary science which involves phylosophy, matemathics, biology, electronics, etc,


Turing test l.jpg
Turing Test

Alan M. Turing defined in 1950 one form to check if a machine is intelligent or not.

Turing test consist to set two human and one machine in a dark room. The humans and the machine are not visible between their.

One human must act like an Interviewer asking some questions to the other participants.


Turing test9 l.jpg
Turing Test

Turing Test is passed when the interviewer can not distinguished the answer between the human and the machine.

The new AI systems required the perception sense to pass the test.


Ai genesys l.jpg
AI Genesys

Martin Minsky did cotributions to define brain models in computers.

ELIZA of Joseph Weizenbaum and JULIA of Mauldin were the first AI Systems with Intelligent Dialagues.

The first AI Systems were development for solving some problems like chess.


G nesis de la ia l.jpg
Génesis de la IA

In 1956 John McCarthy and Claude Shanon published “Automata Studies” where defined the Automata Theory.

In 1956 John McCarthy defined the AI concept, reason why he is considered the AI Father.

The AI history is very old. The greeks were the first to use logic to solve a lot of problems.


Ai genesys12 l.jpg
AI Genesys

In 1965 Chomsky defined the Formal Languages Theories.

McCulloh and Pits in 1943 define the relations between neurons and simple computational elements.

In 1962 Rosenblatt defined the Perceptron and the Neuronal Networks Teories.


1 2 applications l.jpg
1.2 Applications

  • Solution Search

  • Expert System

  • Natural Language Recognition

  • Pattern Recognition

  • Robotic

  • Machine Learning

  • Logic

  • Games

  • Neuronal Networks

  • Genetic Algorithms

  • Virtual Reality


Maze problem l.jpg
Maze Problem

Additional Homework: Study Graph Theory, Discret Mathematics, Computing Theory (Compilers). Arrays in some high-level programming languages.

How a person in a maze can be exit without lost?

Are there an optimal solution for the problem?


Solution search l.jpg
Solution Search

The search term appliend in AI, it’s not mean find a specific information piece in a data reporsitory, this term implies to obtain the best solution for a problem. For instance:

Finding the shortest path between two cities, or the famus “Travelling Sales Problem” (TSP). This is a NP-Complete (Not Polinomal) Problem.




Expert systems l.jpg
Expert Systems

They were the first AI comercial product sucessfully.

These Systems let to introduce some information in an specific knowledge area into a computer (knowledge database), they act like a human expert.

These Systems simulate human reasoning by applicating especific knowledge and inferences.


Natural language processing l.jpg
Natural Language Processing

It’s a complex problem. For example (in spanish):

“Ideas verdes descoloridas duermen furiosamente”,

“Ideas furiosamente verdes descoloridas duermen”.


Natural language processing20 l.jpg
Natural Language Processing

“El banco cierra a las 3:00”

“Las almejas están listas para comer”

“Las almejas están listas para [ser] comidas [por nosotros]”


Artificial vision l.jpg
Artificial Vision

It’s an application of patter recognition, this area have a lot of application such as:

Medical Diagnostic

Automatic Signal Processing

Automatic Industrial Product

Automatic Vigilance Systems

OCR (Optical Character Recognition)


Robotic l.jpg
Robotic

This science implies the concepts of perception, motion (spatial reasoning), planning.

The main problem autonomous robots are interacting with the human-world, because exists many obstacles unexpected events and dinamic environments.


Learning l.jpg
Learning

This area studies the way in how computers can obtain new knowledge to solve a problem.

In this sense, learning means to make a computer which is able to benefit for the experience obtained.


Games l.jpg
Games

AI is applied in games to give more realism and complexity. Also AI gives the “Physics”.

The n-queens problem consist in putting n chess queens on an n×n chessboard such that none of them is able to capture any other using the standard chess queen's moves.


Games25 l.jpg
Games

Activitie: Obtain a Solution in a sheet of paper for a 5x5 chessboard. First 100, Second 80, Third 60 pts.


Genetic algorithms l.jpg
Genetic Algorithms

It’s a computational technique inspired in biological models which are used to realize eficient search in spatial solution highly huge and complex.

Genetic Algorithms are adaptative methods which can used to implement searches and optimization problems.

This has given the creation of emergence areas such as evolutionary computation and swarm computing algorithms that rely on events of nature.


The game of life l.jpg
The Game of Life

The Game of Life, also known simply as Life, is a cellular automaton devised by the British mathematician John Horton Conway in 1970. It is the best-known example of a cellular automaton.

The "game" is actually a zero-player game, meaning that its evolution is determined by its initial state, needing no input from human players. One interacts with the Game of Life by creating an initial configuration and observing how it evolves.


The game of life28 l.jpg
The Game of Life

The universe of the Game of Life is an infinite two-dimensional orthogonal grid of square cells, each of which is in one of two possible states, live or dead.

Every cell interacts with its eight neighbours, which are the cells that are directly horizontally, vertically, or diagonally adjacent. At each step in time, the following transitions occur:


The game of life29 l.jpg
The Game of Life

Any live cell with fewer than two live neighbours dies, as if by needs caused by underpopulation.

Any live cell with more than three live neighbours dies, as if by overcrowding.

Any live cell with two or three live neighbours lives, unchanged, to the next generation.



The game of life31 l.jpg
The Game of Life live cell.


The game of life32 l.jpg
The Game of Life live cell.

Find an initial solution with under 16 live cells. The best aproximation wins 100, second 80, third 60 points.

Play the game at: www.bitstorm.org/gameoflife/


Virtual reality l.jpg
Virtual Reality live cell.

It’s one of the most recent applications of AI. It’s consist in the construction of programs which achive to fool the human senses, make it belive that we are floating, running or flying in an airplane.

This application has been used in a fligth simulator for pilots, astronauts and drivers.


Intelligent systems and learning l.jpg
Intelligent Systems and Learning live cell.

Most of the actual system say that they are intelligents (“smart”).

If an application can take autonomous decisions in a real time in independet form, it’s considered intelligent. The main feature of this systems are the “adaptability” like saving energy.


Intelligent systems and learning35 l.jpg
Intelligent Systems and Learning live cell.

The most important feature of an Intelligent System are the way to representing the knowledge, the way in which the information is retrived and the way in which adquire new knowledge (learning).

The representation ways (“explicitation”) of knowledge are diverse and it influences in the retrival informtion and learning ways.


Intelligent systems and learning36 l.jpg
Intelligent Systems and Learning live cell.

Always that a model is developed it has two represetation: logical and physical.

This representations need “mapping” to working together.

When we have a real life problem, this have to mapping in a computer schema for working in a computational system.


Intelligent syst and knowledge l.jpg
Intelligent Syst. and Knowledge live cell.

Tacking back to the Maze Problem ¿How can be represent this model and the knowledge?

It can be represented with a matrix, graph, finite state machine, etc. Also it must rules for play this game.

If we don’t have the two representations we can not understand and learn the game.


Intelligent systems and knowledge l.jpg
Intelligent Systems and Knowledge live cell.

In general, knowledge s define by laws and particular languages. Languages define rules.

The same knowledge is structured in diferents represtentation such as database, semantic networks, frames, conceptual maps, etc., but after all it must have the same meaning (semantics).


Homework and activity l.jpg
Homework and Activity live cell.

Activity: programming the Game of Life using a High-Level language with a 8x8 matrix.

The program can be in text mode and the user only can set the initial configuration. Using a BitMap Matrix (0 and 1 values)

Activity: programming the right-hand heuristic for solve a maze introduced for a used.


Homework and activity40 l.jpg
Homework and Activity live cell.

ExtraPoint: programming a maze generator. The maze only have one input and one output (It can be the same that input).

The maze generation must be ordened by a algorithm using a spatial solution search.

An easy way is put the input and output, generate one path (the correct path) and later generate other incorrect paths, beginning of the correct path.


Maze generator l.jpg
Maze Generator live cell.

We must try to don´t generate a loop


Cellular automata l.jpg
Cellular Automata live cell.

It’s a discrete model studied in computing, mathematics, biology and microstructure modeling.

It consists of a regular grid of cells, each in one of a finite number of states. The grid can be in any finite number of dimensions.

Time is also discrete, and the state of a cell at time t is a function of the states of a finite number of cells (neighborhood) at time t − 1.


Cellular automata43 l.jpg
Cellular Automata live cell.

These neighbors are a selection of cells relative to the specified cell, and do not change (though the cell itself may be in its neighborhood, it is not usually considered a neighbor).

Every cell has the same rule for updating, based on the values in this neighbourhood. Each time the rules are applied to the whole grid a new generation is created.


Cellular automata44 l.jpg
Cellular Automata live cell.


Semantic networks l.jpg
Semantic Networks live cell.

They are other simple form to explicity knowledge, They are conformed by graphs which coding knowledge in a taxonomic form.

Nodes represent categories and Edges represents the relations between this categories.

There are two types of special relatinoships: Is-A y la Have-A.


Semantic networks46 l.jpg
Semantic Networks live cell.

We can access throught of each concepts to infer knowledge.

The scripts are other way to represent knowledge. They are composed by components called slots, these are a set of elements concept-values.

Scripts are more easily to ntroduce than mind maps.


Semantic networks47 l.jpg
Semantic Networks live cell.


Script l.jpg
Script live cell.

Script Example:

Printers

Subset_of: Office_Machine

Superset_of: {Laser_Printer, Inject_Printer}

Feed_Source: Door_Socket

Author: Juan_Perez

Date: 07_January_2008


Onthologies l.jpg
Onthologies live cell.

Other way to represent knowledge with a lot of use recently is Onthology, It’s consist of relations between distinct concepts like definitions. Onthologies can be represented throught languages such as XML.

Knowledge representation has a great importance this is the reason because actually we talk about Knowledge Engineering.


Semantic networks50 l.jpg
Semantic Networks live cell.

Onthologies act like a dictionary. Some elements like agents used this information to represent and retrieve knowledge.

Frames are structure used to represent values, restricctions, process, relation, etc. Frames represent with tuples one propertie of an object. Object-Oriented Programming was originated by Frames.


Concept mind l.jpg
Concept Mind live cell.


Onthology l.jpg
Onthology live cell.


Activity l.jpg
Activity live cell.

Represent one object (one diferent per student, e.g. Wireless Network Card, Telephone, Cow, etc.) and all its features with an Ontology, Script and Frame.


The description and match method l.jpg
The Description and Match Method live cell.

It’s used for AI problem solving and It’s one the most basic method.

The first step consists to identified all features of an object.

Later, It realice a seach in a well-define set of objects.

It needs two very import methods: the extractor and evaluator of knowledge.


The desc and match method l.jpg
The Desc. and Match Method live cell.

  • When the match process is doing, one posibility is the object don’t be the same pattern in the knowledge Database. This is the reason because We need a Similarity Function.

  • For Example (In Spanish):

    AMOR

    Love a person or thing for over all things

    Word composeb dy 4 characters: ‘A’, ‘M’, ‘O’ and ‘R’ yuxtapuestos


The desc and match method56 l.jpg
The Desc. and Match Method live cell.

AMOR = AMOR Exact Macth

AMOR = ROMA 0% similarity but contains for characters

Amor = AMOR 25% similarity, contains all character but in uppercase

Amor = Cariño 0% similarity but the same meaning

Amor = Amar 75% it’s a consequence


The desc and match method57 l.jpg
The Desc. and Match Method live cell.

Circle

Description:

Figure formed by al the points which distance are equidistant of the center point in an angle of 0 a 360 grades.

Properties:

Center (point)

Diametrer (twice radio)

Areas


The desc and match method58 l.jpg
The Desc. and Match Method live cell.

100% Similarity

=

=

?% Have the same form but diferent size and color

?% Have the same high but diferent width

=

?% Have the same color

=


The desc and match method59 l.jpg
The Desc. and Match Method live cell.

  • It`s used in multiples branches such as:

    • Digital Fingerprint Recognition

    • Voice Recognition

    • Natural Language Recognition

    • Software Requirement Validation

    • Etc.

  • We must represent in a correct form the knowledge if We can compare.


The farmer fox g oose and wheat problem l.jpg
The Farmer, Fox, G live cell.oose and Wheat Problem

A farmer wants to move himself, a silver fox, a fat goose, and some tasty grain across a river, from the west side to the east side. Unfortunately, his boat is so small he can take at most one of his possessions across on any trip. Worse yet, an unattended fox will eat a goose, and an unattended goose will eat grain, so the farmer must not leave the fox alone with the goose or the goose alone with the grain. What is he to do?


The farmer fox g oose and wheat problem61 l.jpg
The Farmer, Fox, G live cell.oose and Wheat Problem

Farmer

Fox

Goose

Wheat

Farmer

Fox

Goose

Wheat

¿Se puede utilizar el método de descripción y pareamiento?


The farmer fox g oose and wheat problem62 l.jpg
The Farmer, Fox, G live cell.oose and Wheat Problem

Fox

Farmer

Goose

Wheat

Wheat

Farmer

Fox

Goose

Farmer

Goose

Wheat

Fox

Farmer

Fox

Goose

Wheat

Wheat

Farmer

Fox

Goose

Farmer

Fox

Goose

Wheat

Farmer

Fox

Goose

Wheat

Fox

Wheat

Farmer

Goose

Farmer

Fox

Wheat

Goose

Goose

Wheat

Farmer

Fox

Farmer

Goose

Fox

Wheat

Fox

Goose

Wheat

Farmer

Farmer

Fox

Goose

Wheat

Fox

Goose

Wheat

Farmer

Goose

Wheat

Fox

Farmer

Fox

Goose

Wheat

Farmer


Activity63 l.jpg
Activity live cell.

In a Software Development Company 5 programers implement the same algorithms obtained the follow results:


Activity64 l.jpg
Activity live cell.

The enterprise needs to know how are the best pair (pair programing).

For trying to solve this problem We need to define a similarity function such as:

s(v, w)=|p1-q1| + |p2-q2| + |p3-q3|

Where:

v and w are programmers represent in the form of (p1, p2, p3)


Activity65 l.jpg
Activity live cell.

pi is a propertie

We also need a criteria for similarity in this case consider the lower punctuation as the best solution.

Programming the solution to obtain the best pair.

Programming the solution to obtain the best pair in a specific propertie


Activity66 l.jpg
Activity live cell.

If We changed the criteria in where LOC are more important 60% than the other properties, how must be the new similarity function?

If We need one group with the 3 best programmer, how must be the similarity function?


Analogy problems l.jpg
Analogy Problems live cell.

It’s other form to problem solving tha it’s used in AI.

Analogy is a special type of relation that define how are objects represented los objetos de una categoría y como obtener sus predecesores y antecesores inmediatos.

Generalmente se habla de análogo cuando se tiene el mismo tipo de relación aun cuando sean entidades diferentes.


Problemas de analog as l.jpg
Problemas de Analogías live cell.

Alguna vez nos hemos preguntado ¿por qué en la mayoría de los exámenes de admisión generalmente son más importantes que los de conocimientos?

Por que en la mayoría de los casos el conocimiento de cierta forma se puede adquirir pero la forma de aprender y razonar es sumamente complicado. En muchos casos son más importantes las reglas que el conocimiento.


Problemas de analog as69 l.jpg
Problemas de Analogías live cell.

En matemáticas y en el área de programación se utiliza mucho la analogía para resolver problemas.

De acuerdo con Polya, para resolver problemas se necesita de los siguientes pasos:

1) Comprender el problema

2) Concebir un plan

3) Ejecutar el plan y,

4) Examinar la solución.


Problemas de analog as70 l.jpg
Problemas de Analogías live cell.

A

B

2

3

C

4

1

¿Cómo quedarían D y 5?


Problemas de analog as71 l.jpg
Problemas de Analogías live cell.

A

C

B

1

2

¿Qué problemas se presentan con la Abstracción de la Figura D o bien de la Figura 3?

La resolución de problemas por analogía tiene como base cierto conocimiento previo en ocasiones difícil de obtener.


Reconocimiento de abstracciones l.jpg
Reconocimiento de Abstracciones live cell.

A lo largo de esta presentación se ha podido comprobar que prácticamente el problema está resuelto si el problema está descrito.

El reconocimiento de abstracciones es un concepto muy subjetivo dado que éstas son combinaciones de estados mentales y eventos.

Los SI se basan fundamentalmente en reglas ECA (Evevento-Condición-Acción)


Reconocimiento de abstracciones73 l.jpg
Reconocimiento de Abstracciones live cell.

Generalmente respondemos a estímulos (eventos), y en base a ellos vemos cuales son importantes para nosotros y nos comportamos de cierta manera.

Para lo que a una persona le representa algo para otra representa cosas totalmente distintas.

La abstracción permite llegar a cierto tipo de conclusiones y preguntas resueltas.


Interpretaci n del conocimiento l.jpg
Interpretación del Conocimiento live cell.

La interpretación del conocimiento, es decir la utilización de ese conocimiento es un factor muy importante que aun la IA no ha podido definir bien.

El conocimiento se puede interpretar de muchas formas y sus áreas de aplicación son diversas.

Existen muchas corrientes filosóficas que le tratan de dar sentido al conocimiento: empirismo y racionalismo científico.


Interpretaci n del conocimiento75 l.jpg
Interpretación del Conocimiento live cell.

Se pretende que las reglas y hechos (base de conocimientos) permitan resolver problemas y que a su vez de la resolución de estos problemas se obtenga nuevos conocimientos.


Homework l.jpg
Homework live cell.

Make a survey (Caracterization) about the frecuencie of each character in Spanish Alfabet. For example, in % how many ‘c’ appears.

This surve will aplied on Inteligent Cryptoanalisys System.

Research about cryptograph system by transposition and substitution algorithms.


M todos ciegos l.jpg
Métodos Ciegos live cell.

Las redes son grafos dirigidos, simples con pesos donde se tienen dos nodos especiales: un origen y un destino sin entradas y salidas respectivamente.

Las redes se utilizan en muchos problemas de computación, desafortunadamente para muchos problemas, el espacio de soluciones es grandísimo por lo que la búsqueda se volvería muy extensa.


M todos ciegos78 l.jpg
Métodos Ciegos live cell.

De esta forma, se necesitan de mejores mecanismos de búsqueda. En muchas ocasiones el espacio de búsqueda se puede reducir simplemente con observar simetrías, ignorar detalles y encontrar las abstracciones apropiadas.

Un ejemplo muy representativo de este problema es el espacio de soluciones que se obtiene en el juego puzzle de las ocho piezas. Se requieren de 9! = 362,880 nodos para representar las posibles opciones.


M todos ciegos79 l.jpg
Métodos Ciegos live cell.

El primer método de búsqueda optimizada es el de búsqueda primero en anchura.

La idea de este método es buscar primero en todos los nodos de un mismo nivel sin tener que recurrir por todos los niveles del grafo.

Para ello se necesita definir una función de estados sucesores que indique los nodos que se producirán al aplicar todos los operadores a dicho nodo.


M todos ciegos80 l.jpg
Métodos Ciegos live cell.

Existen otras variantes de este método como la búsqueda de coste uniforme, la cual visita los nodos de acuerdo a sus pesos.

El algoritmo BFS (Breadth First Search) es el siguiente:

Sea G = (V, A) un grafo conexo, V’ = un conjunto de vértice V, A’ un vector de arcos inicialmente vacío y P un vector auxiliar inicialmente vacío:


B squeda en anchura l.jpg
Búsqueda en Anchura live cell.

Se introduce el vértice inicial en P y se elimina del conjunto.

Mientras V’ no sea vacío repetir los puntos 3 y 4. En otro caso parar.

Se toma el primer elemento de P como vértice activo.


B squeda en anchura82 l.jpg
Búsqueda en Anchura live cell.

  • Si el vértice activo tiene algún vértice adyacente que se encuentre en V’:

    • Se toma el de menor índice.

    • Se inserta en P como último elemento.

    • Se elimina de V’.

    • Se inserta en A’ el arco que le une con el vértice activo.

  • Si el vértice activo no tiene adyacentes se elimina de P.


B squeda en profundidad l.jpg
Búsqueda en Profundidad live cell.

También se le conoce como vuelta atrás. Consume menos memoria que el método en anchura pero en algunas ocasiones puede ser contraproducente por lo que se llega a limitar su profundidad.

Los ejemplos más utilizados en búsqueda de profundidad son los algoritmos de preorden, enorden, postorden. Los cuales trabajan sólo con arboles binarios.


B squeda heur stica l.jpg
Búsqueda Heurística live cell.

Heurística viene del griego heuriskein, que significa descubrir. De la misma palabra se deriva la exclamación: ¡Eureka!


Homework85 l.jpg
Homework live cell.

Investigar que problemas de los visto en clases pueden resolver a través de Búsqueda en Anchura y en Profundidad.

Investigar que otro tipo de problemas pueden ser resueltos utilizando búsquedas en anchura y en profundidad.


Backtracking l.jpg
Backtracking live cell.

Este algoritmo consiste en un recorrido en profundidad o anchura analizando sus posibles estados futuros y regresando al estado previo si no fue posible una solución satisfactoria.

El problema de las n reinas se soluciona de esta forma al igual que otros problemas


Problema del caballo l.jpg
Problema del Caballo live cell.

En un tablero de n*n (donde n>2) encontrar todos los movimientos de un caballo que sin repetir ninguna casilla llenen cada una de las casillas del tablero.


Problema del caballo88 l.jpg
Problema del Caballo live cell.

Recordar que los caballos se mueven en forma de L una posición en un sentido (vertical/horizontal) y dos en el otro sentido (horizontal/vertical). Por ejemplo si se mueve una posición al frente, se tendrá que mover la pieza dos posiciones a la izquierda o a la derecha.

Tarea: programar el problema del Caballo. Se parte por heurística de una posición X de la matriz.


Problema del caballo89 l.jpg
Problema del Caballo live cell.

La matriz está inicializada con 0s. Se coloca un 1 en la primera posición. Se escoge una nueva solución que no esté ocupada colocando el siguiente número (secuencia del viaje). Si todas las celdas están ocupadas se debe regresar a la solución anterior y tratar con un nuevo camino.

Se necesita ir guardando las celdas ya visitadas en un nivel


Problema del caballo90 l.jpg
Problema del Caballo live cell.

El algoritmo termina cuando o se llenan todas las celdas o cuando se tiene la “mejor” solución (más celdas llenas).

Se recomienda utilizar búsqueda por anchura calculando previamente el espacio de solución de cada nivel.

El usuario deberá dar el tamaño de la matriz y la posición inicial del caballo y el programa deberá mostrar la matriz con los movimientos del caballo.


B squeda heur stica91 l.jpg
Búsqueda Heurística live cell.

Heurística viene del griego heuriskein, que significa descubrir. De la misma palabra se deriva la exclamación: ¡Eureka!

El algoritmo más conocido de este tipo es el A* que basa su funcionamiento en obtener dos distancias del origen a la raíz y de la raíz al nodo objetivo.

f(n) = g(n) + h(n)


La mejor trayectoria l.jpg
La mejor trayectoria live cell.

Es otro algoritmo heurístico que trata de encontrar la mejor trayectoria depende de lo que se trate.

Ejemplo de este tipo de algoritmos se encuentra la ruta crítica, la ruta más corta, el canal con más ancho de banda, etc.

A los algoritmos heurísticos reciben el nombre de búsqueda informada, mientras que los ciegos son búsquedas no informadas.


La mejor trayectoria93 l.jpg
La mejor trayectoria live cell.

Las heurísticas no son otra cosa que estrategias de búsquedas informada.

Desafortunadamente las heurísticas no lo miden todo, simplemente pretende encontrar una solución lo mejor posible al problema.

Un método heurístico más avanzado lo comprenden los algoritmos genéticos.


Trayectorias redundantes l.jpg
Trayectorias Redundantes live cell.

Son algoritmos que pretenden eliminar todos aquellos espacios que no son soluciones viables dado que consume mucho tiempo.

Los algoritmos de planificación son un ejemplo de este tipo de herramientas.

Se debe cuidar de no repetir estados. Una posible solución es ver la simetría de los árboles.


La mejor trayectoria95 l.jpg
La Mejor Trayectoria live cell.

Son dependientes a los máximos y mínimos locales.

En la naturaleza nos basamos mucho en como trabajan los organismos como las abejas y en fenómenos físicos como el recocido simulado.


Problema del cajero autom tico l.jpg
Problema del Cajero Automático live cell.

Los cajeros automáticos (ATM por sus siglas en inglés) son dispositivos embebidos cuya función consiste en despachar a clientes proporcionando dinero en efectivo.

Cuentan con recursos finitos en este caso billetes de distintas nominaciones $1000, 500, 200, 10 y 50 en distintas cantidades.

Al solicitar una cantidad el cajero debe “ingeniarselas” para dar la mejor combinación de dinero.


Problema del cajero autom tico97 l.jpg
Problema del Cajero Automático live cell.

Se debe brindar de una buena combinación ya que sino se pueden acabar los billetes de cierta denominación pudiendo dejar sin operaciones a muchos clientes.

Una heurística balanceada muy simple pero poco eficiente consiste en repartir dinero de una denominación hasta tratar de completar la suma (por ejemplo dar billetes muy altos –puede ser bajos pero no es tan eficiente- y después completarlos con los de siguiente denominación).


Problema del cajero autom tico98 l.jpg
Problema del Cajero Automático live cell.

Esta solución da como resultado que primero se acaben todos los billetes de una denominación.

Una solución simple y más eficiente es repartir dinero en forma balanceada, empezando por billetes de altas denominaciones hasta bajas. Este esquema es más justo ya que va quitando billetes por igual, desgraciadamente esta es su deficiencia ya que un billete de 50 tendría un peso igual a uno de 500.


Problema del cajero autom tico99 l.jpg
Problema del Cajero Automático live cell.

Una mejor solución consiste en ponerle ponderación a cada recurso (billete) de acuerdo a su valor monetario y a la cantidad de recurso disponible, por lo que se ocuparía una función de similaridad que quizás tenga que ser dinámica y quizás no muy sencilla de calcular.


Problema del cajero autom tico100 l.jpg
Problema del Cajero Automático live cell.

En general existen diversas alternativas de solución para el mismo problema. En el caso de los cajeros se prefiere una heurística de acabar primero los billetes más grandes ya que de los chicos hay mayor cantidad.


Problema del cajero autom tico101 l.jpg
Problema del Cajero Automático live cell.

Otra solución de entre las mejores consiste en crear diversas soluciones para después comparar aquellas que sean más benéficas, pero esto requiere de tiempo y de espacio.

Este problema se puede solucionar a través de autómatas (gramáticas), búsquedas ciegas, búsquedas heurísticas y algoritmos de planificación.


Problema del cajero autom tico102 l.jpg
Problema del Cajero Automático live cell.

Tarea: realizar un programa que funcione como cajero automático. El usuario deberá introducir un valor a retirar y el cajero deberá indicarle la combinación de dinero.

El programa debe preguntar la cantidad de billetes al inicio de la simulación, por lo que se puede calcular el total de dinero.

Existe un límite máximo de retiro de $4000 en múltiplos de 50


Problema del cajero autom tico103 l.jpg
Problema del Cajero Automático live cell.

El cajero deberá validar que la cantidad no se pase y que el sistema la pueda dar (que sea múltiplo y haya recurso). En caso de que el sistema por falta de recurso del sistema no pueda cubrir la cantidad total, se dará lo que quede en el cajero activando una alarma de dinero no disponible.

El programa en cada transacción mostrará la cantidad de billetes disponibles así como la combinación de billetes entregada.


Problema del cajero autom tico104 l.jpg
Problema del Cajero Automático live cell.

El programa deberá mostrar cuantos clientes ha atendido (este parámetro será el que mida el desempeño del sistema para las mismas entradas).

Se deberá ejecutar el programa n veces hasta que se acabe el dinero.

Se recomienda que se realice una opción de simulación en donde se generen retiros al azar.


Rboles y b squeda con adversarios m todos algor tmicos l.jpg
Árboles y Búsqueda con Adversarios Métodos Algorítmicos live cell.

En este tipo de búsqueda no sólo importa los movimientos de una persona o proceso implica además considerar otro factor cambiante llamado jugador adversario.

Todo método de búsqueda con adversario debe de tener los siguientes elementos: estado inicial, función sucesor, test terminal y una función de utilidad que ayuda a determinar los pesos.


B squeda con adversarios l.jpg
Búsqueda con Adversarios live cell.

El algoritmo más representativo es el algoritmo minimax donde a un jugador se le asigna las propiedades de max y al otro min.

Las decisiones de que ruta tomar se toman en base a la siguiente función:

vMiniMax(n) = Utilidad(n) si n es un estado terminal ó max elemento s perteneciente a sucesores(n) vMiniMax(s) si n es un estado MAX ó


B squeda con adversarios107 l.jpg
Búsqueda con Adversarios live cell.

min elemento s de sucesores(n) vMiniMax(s) si n es un estado min.

Por ejemplo para el juego del gato, la función para vMiniMax contaría todas aquellas posiciones que están libres para MAX – todas aquellas posiciones para MIN. Si la posición es ganadora para MAX devuelve un número infinito positivo, si la posición es ganadora para MIN


Algoritmo minimax l.jpg
Algoritmo Minimax live cell.

Función MiniMax(Estado) Devuelve Acción

V ← Valor_Max(Estado)

devolver Acción de Sucesores[Estado] con valor V.

Función Valor_Max(Estado) Devuelve Utilidad

Si test_terminal(Estado) Entonces Devolver

Utilidad[Estado]

V ← –∞


Algoritmo minimax109 l.jpg
Algoritmo Minimax live cell.

Para cada S ∈ sucesores[Estado] Hacer

V ← Max(V, Valor_MIn(S))

devolver V

Función Valor_Min(Estado) Devuelve Utilidad

Si test_terminal(Estado) Entonces Devolver

Utilidad[Estado]

V ← ∞


Algoritmo minimax110 l.jpg
Algoritmo Minimax live cell.

Para cada S ∈ sucesores[Estado] Hacer

V ← Min(V, Valor_Max(S))

devolver V


Poda alfa beta l.jpg
Poda Alfa-Beta live cell.

Es muy parecido al algoritmo de MiniMax pero permite no expandir nodos que no se vayan a ocupar.

En un juego es imposible o impráctico realizar todo el árbol de juego. Una mejor forma es almacenar los elementos del árbol que ya se tienen para que no haya necesidad de volver a calcularlos.


Poda alfa beta112 l.jpg
Poda Alfa-Beta live cell.

Es un algoritmo que pretende mejor al algoritmo minimax calculando dos valores umbrales, que representan las cotas inferior (Alfa) para los nodos maximizantes y una cota superior (Beta) para los nodos minimizantes.

Función Alfa-Beta(Estado) Devuelve Acción

V ← Valor_Max(Estado, –∞, ∞)

devolver Acción de Sucesores[Estado] con valor V.


Poda alfa beta113 l.jpg
Poda Alfa-Beta live cell.

Función Valor_Max(Estado,Alfa,Beta) Devuelve Utilidad

Si test_terminal(Estado) Entonces Devolver

Utilidad[Estado]

V ← –∞

Para cada S ∈ sucesores[Estado] Hacer

V ← Max(V, Valor_Min(S,Alfa,Beta))

Si V ≥ Beta Entonces devolver V

Alfa ← Max(Alfa,V)

devolver V


Poda alfa beta114 l.jpg
Poda Alfa-Beta live cell.

Función Valor_Min(Estado,Alfa,Beta) Devuelve Utilidad

Si test_terminal(Estado) Entonces Devolver

Utilidad[Estado]

V ← ∞

Para cada S ∈ sucesores[Estado] Hacer

V ← Min(V, Valor_Max(S,Alfa,Beta))

Si V ≤ Alfa Entonces devolver V

Beta ← Min(Beta,V)

devolver V


Rboles y b squeda con adversarios m todos heur sticos l.jpg
Árboles y Búsqueda con Adversarios Métodos Heurísticos live cell.

Las heurísticas pueden ser muy variadas y depender del tipo de juego.

Para el juego de ajedrez, se puede definir matemáticamente una función que permita encontrar la mejor jugada a realizar. Como se puede hacer esto?, a través de la colocación de valores a los distintos tipos de elementos como los caballosmreyna, etc.


Representaci n del conocimiento l.jpg
Representación del Conocimiento live cell.

El conocimiento debe estar expresado en un lenguaje simbólico para que pueda ser reconocido por una computadora o ‘agente’.

Los agentes pueden consultar a la base de conocimientos para resolver problema o bien agregar nuevos conocimientos.

Los agentes pueden obtener esta nueva información a través de la inferencia lógica.


Representaci n del conocimiento117 l.jpg
Representación del Conocimiento live cell.

Inicialmente el agente cuenta con unos conocimientos básicos llamados antecedentes o hechos.

Se cuenta con una serie de reglas que definen la forma de deducir conocimiento.

El agente pregunta a estas reglas y hechos para poder razonar que opción le conviene más ejecutar.


El juejo del wumpus l.jpg
El Juejo del Wumpus live cell.

Percepciones: (4 sensores)

{Hedor, Brisa, Resplandor, Nada}

El agente no percibe su situación

Acciones:

Ir hacia adelante, girar izda/dcha 90º

Agarrar (estando en la casillla)

Disparar (sólo una flecha)

Objetivo: salir con el oro lo antes posible

1000 ptos: salir con el oro

1 pto penaliza cada acción. Penaliz. Máxima: 10000 ptos


L gica de proposiciones l.jpg
Lógica de Proposiciones live cell.

La sintaxis nos indica cuáles son los enunciados que se pueden construir.

Los enunciados atómicos se componen de una sola proposición.

Una proposición tiene un solo valor de verdad: Verdadero o Falso.


L gica de proposiciones120 l.jpg
Lógica de Proposiciones live cell.

  • Los enunciados complejos se forman a partir de enunciados más simples y el empleo de conectivos lógicos.

  • Los Conectivos Lógicos son cinco:

    • NO (~) también conocida como Negación.

    • Y (^) también conocida como Conjunción.

    • O (v) también conocida como Disyunción.

    • Implicación (⇒) también conocida como Condicional.

    • Sí y sólo si (⇔) también conocida como Bicondicional.


L gica de proposiciones121 l.jpg
Lógica de Proposiciones live cell.

Las expresiones que contienen conectivos lógicos se interpretan siguiendo el orden de precedencia que corresponde al mostrado en la tabla anterior.

Por ejemplo: ~P ^Q v R ⇒ S equivale a:

(~(P) ^(Q v R)) ⇒ S

Además, se emplean los paréntesis para evitar ambigüedades.


L gica de proposiciones122 l.jpg
Lógica de Proposiciones live cell.

La semántica nos define las reglas que permiten determinar el valor de verdad de un enunciado respecto de algún modelo.

Con dos símbolos proposicionales existen 4 modelos posibles para cada uno de los 5 conectivos lógicos, ¿Cómo quedarían las tablas de verdad?


L gica en wumpus l.jpg
Lógica en Wumpus live cell.

  • Regresemos al mundo del Wumpus para visualizar la construcción de la base de conocimiento.

  • Notación:

    • Bij indica que hay brisa en la celda (i,j).

    • Pij indica que hay un pozo en la celda (i,j).

  • A partir de un conocimiento inicial:

    • E1: ~P11


L gica en wumpus124 l.jpg
Lógica en Wumpus live cell.

Cuando hay brisa en una casilla implica que en una casilla contigua hay un pozo:

E2: B11 ⇔ P12 v P21

Ahora agregamos la primera percepción, no se percibe brisa en la celda (1,1): E3: ~B11

¿Cómo relacionar los enunciados 2 y 3 para obtener nuevo conocimiento?


L gica de proposiciones125 l.jpg
Lógica de Proposiciones live cell.

Cuando los resultados de una Tabla de Verdad son todos verdaderos, a esa proposición compuesta se le llama Tautología. Como ejemplo tenemos a: (p v ~p)

Cuando los resultados de una Tabla de Verdad son todos falsos, a esa proposición compuesta se le llama Contradicción. Como ejemplo tenemos a: (p ^ ~p)


L gica de proposiciones126 l.jpg
Lógica de Proposiciones live cell.

Básicamente la inferencia es la implementación de una implicación.

Los enunciados conocidos como verdaderos forman parte del antecedente.

El consecuente es un nuevo enunciado cuya veracidad se desprende de los anteriores. Simbólicamente se representa así:

antecedente :: consecuente


L gica de proposiciones127 l.jpg
Lógica de Proposiciones live cell.

La equivalencia lógica se presenta cuando dos enunciados α y β tienen los mismos valores de verdad para el mismo conjunto de modelos.

A continuación mostramos una tabla con las equivalencias lógicas más comunes:

Doble Negación: ~( ~p ) ≡ p


L gica de proposiciones128 l.jpg
Lógica de Proposiciones live cell.

Leyes Conmutativas

( p v q ) ≡ ( q v p )

( p ^ q ) ≡ ( q ^ p )

Leyes Asociativas

( p v q ) v r ≡ p v ( q v r )

( p ^ q ) ^ r ≡ p ^ ( q ^ r )


L gica de proposiciones129 l.jpg
Lógica de Proposiciones live cell.

Leyes Distributivas

p v ( q ^ r ) ≡ ( p v q ) ^ ( p v r )

p ^ ( q v r ) ≡ ( p ^ q ) v ( p ^ r )

Leyes de Idempotencia

( p v p ) ≡ p

( p ^ p ) ≡ p


L gica de proposiciones130 l.jpg
Lógica de Proposiciones live cell.

Leyes de DeMorgan

~( p v q ) ≡ ~p ^ ~q

~( p ^ q ) ≡ ~p v ~q

Leyes de Identidad

( p v ~p ) ≡ t

( p ^ ~p ) ≡ f

( p v f ) ≡ p

( p v t ) ≡ t


L gica de proposiciones131 l.jpg
Lógica de Proposiciones live cell.

Leyes de Identidad

( p v f ) ≡ f

( p v t ) ≡ p

Leyes de la Implicación

(p ⇔ q) ≡ (p ⇒ q) ^ (q ⇒ p)

(p ⇒ q) ≡ (~q ⇒ ~p)

(q ⇒ p) ≡ (~p ⇒ ~q)

(p ⇒ q) ≡ (~p v q)


L gica de proposiciones132 l.jpg
Lógica de Proposiciones live cell.

Reglas de Inferencias

La siguiente implicación lógica se llama Modus Ponens y corresponde a la siguiente inferencia:

p ^ ( p ⇒ q ) :: q

Ejemplo:

p: Estudio

p ⇒ q: Si estudio aprobaré Matemáticas

q: Entonces, Aprobaré Matemáticas


L gica de proposiciones133 l.jpg
Lógica de Proposiciones live cell.

La siguiente implicación lógica se llama Modus Tollens y corresponde a la siguiente inferencia:

( p ⇒ q ) ^ ~q :: ~p

Ejemplo:

p ⇒ q: Si estudio apruebo Matemáticas

~q: No aprobé Matemáticas

~p: Entonces, no Estudié


L gica de proposiciones134 l.jpg
Lógica de Proposiciones live cell.

La siguiente implicación lógica se llama Silogismo Hipotético y corresponde a la siguiente inferencia:

( p ⇒ q ) ^ ( q ⇒ r ) :: ( p ⇒ r )

Ejemplo:

p ⇒ q: Si estudio apruebo Matemáticas

q ⇒ r: Si apruebo Matemáticas me regalan un auto

p ⇒ r: Entonces, Si estudio me regalan un auto


L gica de proposiciones135 l.jpg
Lógica de Proposiciones live cell.

La siguiente implicación lógica se llama Silogismo Disyuntivo y corresponde a la siguiente inferencia:

( p v q ) ^ ~p :: q

Ejemplo:

p v q: Hay que estudiar Francés o Alemán

~p: No estudio Francés

q: Entonces, Estudio Alemán


L gica de proposiciones136 l.jpg
Lógica de Proposiciones live cell.

La simplificación conjuntiva consiste en eliminar uno de los términos de una conjunción:

( p ^ q ) :: q o también: ( p ^ q ) :: p

Por el otro lado, la amplificación disyuntiva permite agregar un nuevo término:

p :: ( p v q )


L gica en wumpus137 l.jpg
Lógica en Wumpus live cell.

Se tiene que:

E2: B11 ⇔ P12 v P21

E3: ~ B11

Por lo que tenemos el siguiente razonamiento:

E4: (B11 ⇒ (P12 v P21)) ^ ((P12 v P21) ⇒ B11)

E5: ((P12 v P21) ⇒ B11)

E6: ~B11 ⇒ ~(P12 v P21)

E7: ~(P12 v P21)

E8: ~P12 ^ ~P21


L gica en wumpus138 l.jpg
Lógica en Wumpus live cell.

Del razonamiento anterior concluimos que no hay un pozo en la casilla (1,2) ni en la (2,1).

Ahora veamos el razonamiento cuando el agente llega a la celda (1,2).

E9: ~B12

E10: B12 ⇔ P11 v P13 v P22

E12: ~P22


L gica en wumpus139 l.jpg
Lógica en Wumpus live cell.

Concluimos que no hay pozo ni en la casilla (1,3) ni en la (2,2).

E11: ~P13

E12: ~P22

Pero cuando el agente visitó la celda (2,1) percibió una brisa:

E13: B21

E14: B21 ⇔ P11 v P31 v P22


L gica en wumpus140 l.jpg
Lógica en Wumpus live cell.

Dado que ya verificamos que no hay pozo en las celdas (1,1) y (2,2), resulta evidente la conclusión que:

E15: P31

Es conveniente que nuestra base de conocimiento esté basada solamente en conjunciones y disyunciones.


L gica proposicional l.jpg
Lógica Proposicional live cell.

Cualquier enunciado compuesto puede ser transformado a uno equivalente que esté en la FNC

La Forma Normal Conjuntiva es la conjunción de n disyunciones de k elementos:

( p11 v … v p1k ) ^ … ^ ( pn1 v … v pnk )


L gica proposicional142 l.jpg
Lógica Proposicional live cell.

A continuación se describe un procedimiento para convertir a nuestra FNC:

Eliminar ⇔ usando la equivalencia:

(p ⇔ q) ≡ (p ⇒ q) ^ (q ⇒ p)

Eliminar ⇒ usando la equivalencia:

(p ⇒ q) ≡ (~p v q)


L gica proposicional143 l.jpg
Lógica Proposicional live cell.

Simplificar ~ usando las equivalencias:

~( ~p ) ≡ p

~( p v q ) ≡ ~p ^ ~q

~( p ^ q ) ≡ ~p v ~q

Finalmente, aplicar la ley distributiva donde sea necesario.

p v ( q ^ r ) ≡ ( p v q ) ^ ( p v r )


L gica proposicional144 l.jpg
Lógica Proposicional live cell.

E2: B11 ⇔ (P12 v P21)

(B11 ⇒ (P12 v P21)) ^ ((P12 v P21) ⇒ B11 )

(~B11 v P12 v P21) ^ (~(P12 v P21) v B11 )

(~B11 v P12 v P21) ^ ((~P12 ^ ~P21) v B11 )

(~B11 v P12 v P21) ^ (~P12 v B11) ^ (~P21 v B11)


L gica proposicional145 l.jpg
Lógica Proposicional live cell.

Para demostrar que una implicación BC :: α es válida, se utiliza el método de reducción al absurdo.

Esto es, probar que su negación: BC ^ ~α es una contradicción.

Para ello se lleva a la FNC y luego se prueba que es equivalente a una cláusula vacía.


L gica proposicional146 l.jpg
Lógica Proposicional live cell.

Probar que: E2 ^ E4 :: ~P12.

(B11 ⇔ (P12 - P21)) ^ ~B11 :: ~P12

Se convierte a FNC:

(~B11 v P12 v P21) ^ (~P12 v B11) ^ (¿P21 v B11) ^ ~B11 :: ~P12


L gica proposicional147 l.jpg
Lógica Proposicional live cell.

Y para probar por reducción al absurdo, tenemos la negación:

(~B11 v P12 v P21) ^ (~P12 v B11) ^ (~P21 v B11) ^ ~B11 ^ P12

El proceso de simplificación funciona como sigue:

Si tomamos los primeros dos paréntesis, observamos que contienen a: ~B11 y B11, respectivamente.


L gica proposicional148 l.jpg
Lógica Proposicional live cell.

Como no pueden ser ambos verdaderos simultáneamente, entonces, o (P12 v P21) o bien (~P12 ) son verdaderos, lo que se reduce a la siguiente expresión:

(P12 v P21 v ~P12)

Como (P12 v ~P12 ) es una tautología, la expresión anterior se reduce a: (P21)


L gica proposicional149 l.jpg
Lógica Proposicional live cell.

Similarmente, los dos paréntesis siguientes, también contienen a: ~B11 y B11, por lo que la

expresión simplificada queda: (~P21)

Como ambas no pueden ser verdaderas, la conjunción resulta en una expresión nula.


Ejercicios l.jpg
Ejercicios live cell.

( p ⇒ q ) ^ ( q ⇒ r )

p ^ ( p ⇒ q )

((p ^ q) ⇔ (p v ~q))

((~(p ⇒ q) ^ r ) v ~(p ⇔ ~q))


L gica de predicados l.jpg
Lógica de Predicados live cell.

Hay que aprovechar la característica declarativa y la composicionalidad de la lógica proposicional. Para ello definimos dos tipos de elementos:

Los objetos (Agente, Flecha, Wumpus, Pozo)

Las relaciones entre ellos, generalmente vinculadas por un verbo.

El Agente lanzó una Flecha


L gica de predicados152 l.jpg
Lógica de Predicados live cell.

Las relaciones unitarias también se conocen como Propiedades y se vincula un objeto con una característica por el verbo SER:

La Pelota es roja.

Las Funciones son un tipo especial de relación que involucra un solo objeto y devuelven un valor:

El padre de

Uno más que


L gica de predicados153 l.jpg
Lógica de Predicados live cell.

  • Uno sumado a Dos es igual a Tres

    • Objetos: Uno, Dos y Tres.

    • Relación: es igual a.

    • Función: sumado a; el resultado es un objeto, llamado: Uno sumado a Dos.

  • Las Casillas que rodean al Wumpus apestan.

    • Objetos: Casillas y Wumpus.

    • Relación: que rodean al.

    • Propiedad: apestan.


L gica de primer orden l.jpg
Lógica de Primer Orden live cell.

La lógica de primer orden se construye sobre: Hechos, Objetos y Relaciones.

La lógica de primer orden es universal porque puede expresar cualquier cosa que pueda ser programada.

El dominio de un modelo es el conjunto de objetos que contiene.


L gica de primer orden155 l.jpg
Lógica de Primer Orden live cell.

Una relación binaria es un conjunto de pares ordenados.

Por ejemplo, si Hugo, Paco y Luis son hermanos se denota así:

H = { (Hugo, Paco), (Hugo, Luis), (Paco, Luis),

Por ejemplo, si Pepe es el padre de Hugo, Paco y Luis, tenemos entonces:


L gica de primer orden156 l.jpg
Lógica de Primer Orden live cell.

Padre_de(Hugo) → Pepe

Padre_de(Paco) → Pepe

Padre_de(Luis) → Pepe

Padre_de(Pepe)  ?

A continuación se muestra la gramática de la LPO en BNF.


L gica de primer orden157 l.jpg
Lógica de Primer Orden live cell.

Los símbolos se agrupan en tres clases:

Símbolos de constante, que representan a los Objetos. Cada símbolo constante nombra a exactamente un objeto en el mundo, no todos los objetos necesitan tener nombres y algunos pueden tener más de un nombre.

Ejemplo: Juan, Casa, Wumpus.


L gica de primer orden158 l.jpg
Lógica de Primer Orden live cell.

Símbolos de predicado, que representan a las Relaciones. Ejemplos: Vecino, Hermano, …

Símbolos de función. Ejemplos: Coseno, Padre_de, Oficina_de

Los símbolos de predicado y de función tienen una Aridad que establece el número de argumentos.


L gica de primer orden159 l.jpg
Lógica de Primer Orden live cell.

〈Enunciado〉 → 〈Sentencia Atómica〉 | (〈Enunciado〉〈Conector〉〈Enunciado〉) | 〈Cuantificador〉〈Variable〉…〈Enunciado〉 | ~〈Sentencia〉

〈Sentencia Atómica〉 → 〈Predicado〉(〈Término〉…) | 〈Término〉 = 〈Término〉

〈Término〉 → 〈Función〉(〈Término〉…) | 〈Constante〉| 〈Variable〉


L gica de primer orden160 l.jpg
Lógica de Primer Orden live cell.

〈Conector〉 → . | - | ⇔ | ⇒

〈Cuantificador〉 → ∀ | ∃

〈Constante〉 → Martin | 59302 | Gato | X | …

〈Variable〉 → a | x | s | …

〈Predicado〉 → Previo | Gusta | Llueve | Falla | …

〈Función〉 → Padre_de | Cabello_de | Oficina_de | …


L gica de primer orden161 l.jpg
Lógica de Primer Orden live cell.

  • Un término es una expresión lógica que se refiere a un objeto.

    • Los símbolos constantes son términos

    • Los símbolos de función son términos.

    • Las variables también son términos.

  • Una sentencia atómica está formada por un símbolo predicado seguido por una lista entre paréntesis de términos.


L gica de primer orden162 l.jpg
Lógica de Primer Orden live cell.

Por ejemplo: Hermano(Roberto,Juan) indica que Roberto es el hermano de Juan.

Las sentencias atómicas pueden tener argumentos que son términos complejos: Casado(Padrede(Roberto),Madrede(Juan))

Se pueden usar conectores lógicos para construir sentencias más complejas.


L gica de primer orden163 l.jpg
Lógica de Primer Orden live cell.

Ejemplo:

Hermano(Roberto,Juan) ∧ Hermano(Juan,Roberto)

Es verdadero si Juan y Roberto son hermanos, pues la relación es simétrica.

Los cuantificadores nos permiten expresar propiedades de colecciones de objetos.


L gica de primer orden164 l.jpg
Lógica de Primer Orden live cell.

Hay dos cuantificadores en lógica de primer orden: universal y existencial.

Cuando un enunciado abarca a todos los posibles valores del dominio de una variable, entonces se emplea el Cuantificador Universal, que se denota por ∀. El cual se enuncia con frases similares a: “Para todos …”, “Todos …”

Ejemplo: Todos los gatos son mamíferos.


L gica de primer orden165 l.jpg
Lógica de Primer Orden live cell.

Esta proposición es falsa si al menos un solo valor de la variable no satisface al enunciado.

La representación simbólica es:

∀x Gato(x) ⇒ Mamifero(x)

Sin embargo, mucha gente cae en el error de interpretarla como:

∀x Gato(x) ∧ Mamifero(x)


L gica de primer orden166 l.jpg
Lógica de Primer Orden live cell.

Aparentemente son equivalentes, pero esta segunda forma es más fuerte que la anterior, pues la primera será verdadera cuando el antecedente es falso (v.gr. x es un perro)

Cuando un enunciado indica que al menos uno de los posibles valores del dominio de una variable, entonces se emplea el Cuantificador Existencial, el cual se denota por ∃.


L gica de primer orden167 l.jpg
Lógica de Primer Orden live cell.

Y se enuncia con frases similares a: “Hay ...” o “Existe ...” o “Para algunos ...”

Ejemplo: En mi clase hay mujeres.

Esta proposición es falsa si no existe ningún valor de la variable que satisfaga al enunciado.

La representación simbólica es:

∃x Alumnodemiclase(x) ∧ Mujer(x)


L gica de primer orden168 l.jpg
Lógica de Primer Orden live cell.

Semejante al caso anterior, mucha gente cae en el error de interpretarla como:

∃x Alumnodemiclase(x) ⇒ Mujer(x)

Pero esta segundo enunciado es más débil que el anterior y sería verdadero para los estudiantes que no están en mi clase.

Se pueden realizar afirmaciones muy complejas si se anidan cuantificadores.


L gica de primer orden169 l.jpg
Lógica de Primer Orden live cell.

Sin mezclar tipos de cuantificadores, podemos decir cosas como:

∀x,y Hermano(x,y) ⇒ Hermano(y,x)

También podemos mezclar cuantificadores,

∀x ∃y Buenopara(x,y) “Todos somos buenos para alguna cosa"

∃y ∀x Buenopara(x,y) “Alguien es bueno para todo"


L gica de primer orden170 l.jpg
Lógica de Primer Orden live cell.

Se pueden cambiar los cuantificadores mediante la negación.

Considerar la sentencia:

∀x ~Gusta(x,Verduras) “Para todo x, x no le gustan las verduras."

Es equivalente a decir: “No existe un x que le gusten las verduras.“

~∃x Gusta(x, Verduras)


L gica de primer orden171 l.jpg
Lógica de Primer Orden live cell.

Similarmente, los siguientes enunciados son equivalentes:

∃x P = ~∀x ~P

∀x P = ~∃x ~P

~∀x P = ∃x ~P

∀x ~P = ~∃x P

Con frecuencia el símbolo de igualdad se incluye como un símbolo especial.


L gica de primer orden172 l.jpg
Lógica de Primer Orden live cell.

Ejemplo: Padre(Juan) = José

Afirmar que el objeto que es padre de Juan es el mismo que el objeto José.

Los axiomas capturan los hechos básicos acerca de un dominio. Ejemplos:

∀x,y Padre(x,y) ⇔ Hijo(y,x)

∀x,y Abuelo(x,y) ⇔ ∃z Padre(x,z) . Padre(z,y)

∀x Masculino(x) ⇔ ~Femenino(x)


L gica de primer orden173 l.jpg
Lógica de Primer Orden live cell.

Algunos axiomas son considerados como Definiciones.

Los axiomas son luego usados para probar teoremas.

FOL en Wumpus:

El primer paso es definir la interface entre el agente y el mundo.


Fol wumpus l.jpg
FOL Wumpus live cell.

Un ejemplo de percepción sería:

Percepción([Hedor,Brisa,Brillo,Nada,Nada],5)

El vector de percepciones contiene 5 elementos que son: Hedor, Brisa, Brillo, Golpe con un muro y Grito. Además incluye un sexto elemento para el tiempo.

Las acciones posibles del agente pueden ser las siguientes:


Fol wumpus175 l.jpg
FOL Wumpus live cell.

Girar(Derecha)

Girar(Izquierda)

Avanzar

Disparar

Tomar

Para determinar cuál es la mejor acción, el agente realiza una petición como esta:

PREGUNTAR(BC, ∃x MejorAcción(x,5))


Fol wumpus176 l.jpg
FOL Wumpus live cell.

Esta petición retornará una lista de acciones posibles, tal como: {a/Tomar}.

Antes de realizar esa acción, el agente deberá DECIR a la base de conocimiento su decisión de hacer la acción de Tomar:

DECIR(BC, Acción(5)=Tomar)

Reglas de diagnóstico: nos llevan de los efectos observados a sus causas.


Fol wumpus177 l.jpg
FOL Wumpus live cell.

Por ejemplo: si una casilla tiene brisa significa que una casilla adyacente tiene un pozo.

∀x Brisa(x) ⇒ ∃y Adyacente(y,x) ∧ Pozo(y)

Reglas Causales: reflejan conclusiones respecto de las percepciones y sus causas. Por ejemplo: un pozo en una casilla provoca brisa en todas las casillas adyacentes.

∀y Pozo(y) ⇒ [∀x Adyacente(x,y) ⇒ Brisa(x)]


L gica de primer orden178 l.jpg
Lógica de Primer Orden live cell.

La Ingeniería del Conocimiento es un proceso general para la construcción de una base de conocimiento. A continuación se describen los pasos de este proceso:

Identificación de la tarea.

Recopilación del conocimiento.

Decidir el vocabulario.

Codificar el conocimiento.


Deducci n autom tica l.jpg
Deducción Automática live cell.

Para el hecho: Contrata(Telmex,Toño), podemos construir índices para las siguientes peticiones:

Contrata(Telmex,Toño) ¿Contrata Telmex a Toño?

Contrata(x,Toño) ¿Quién Contrata a Toño?

Contrata(Telmex,y) ¿A quién Contrata Telmex?

Contrata(x,y) ¿Quién Contrata a quién?


Deducci n autom tica180 l.jpg
Deducción automática live cell.

El primer paso consiste en transformar los enunciados en sentencias lógicas.

Posteriormente se aplican las técnicas anteriores para convertirlas en un conjunto de cláusulas positivas de primer orden.

Luego se encadenan esos conocimientos para obtener nuevos enunciados.


Deducci n autom tica181 l.jpg
Deducción Automática live cell.

Pasar a FNC la siguiente base de conocimientos:

Asterix es un galo

Los romanos que son amigos de algún galo odian a César

Asterix ayudó a Marco

Marco es amigo de quien le ayuda

Quien odia a algún romano, lucha contra él

Marco es romano


Deducci n autom tica182 l.jpg
Deducción Automática live cell.

  • Asterix es un galo

  • galo(Asterix) (en FNC)

  • Los romanos que son amigos de algún galo odian a César

  • ∀x [romano(x) . (∃y galo(y) . amigo(x, y)) ⇒ odia(x,Cesar)]


Deducci n autom tica183 l.jpg
Deducción Automática live cell.

Reemplazando la cláusula existencial:

∀x [romano(x) . (galo(G) . amigo(x, G)) ⇒ odia(x,Cesar)]

Asterix ayudó a Marco

ayuda(Asterix,Marco) (en FNC)

Marco es amigo de quien le ayuda

∀x [ayuda(x,Marco) ⇒ amigo(Marco, x)]


Deducci n autom tica184 l.jpg
Deducción Automática live cell.

Quien odia a algún romano, lucha contra él

∀x ∃y [romano(y) . odia(x, y) ⇒ lucha(x, y)]

Reemplazando la cláusula existencial:

∀x [romano(R) . odia(x, R) ⇒ lucha(x, R)]

Marco es romano

romano(Marco) (en FNC)


Deducci n autom tica185 l.jpg
Deducción Automática live cell.

Los Miembros del equipo de tenis son: Juan, Sara, Beto y Elena.

Juan está casado con Sara.

Beto es hermano de Elena.

El cónyuge de un miembro del equipo también es miembro del equipo.


Deducci n autom tica186 l.jpg
Deducción Automática live cell.

La última reunión fue en casa de Juan.

Representar los enunciados anteriores en lógica de predicados. Demostrar que:

La última reunión fue en casa de Sara.

Elena no está casada.

Agregue los hechos que necesite para las demostraciones.


Deducci n autom tica187 l.jpg
Deducción Automática live cell.

A Paco le gustan los cursos fáciles.

Los cursos de Física son difíciles.

Los cursos de Humanidades son fáciles.

El curso de Ética es del área de Humanidades.

¿Qué curso le gustaría tomar a Paco?


Deducci n autom tica188 l.jpg
Deducción Automática live cell.

A Beto le gusta la comida italiana.

En un restaurante hay comida mexicana a no ser que se anuncie explícitamente lo contrario.

En “La Conchita” no anuncian que tipo de comida sirven.


Deducci n autom tica189 l.jpg
Deducción Automática live cell.

A las personas no les gusta ir a restaurantes donde sirven comida que no es de su preferencia.

¿Se puede concluir que a Beto no le gusta ir a “La Conchita”?


Deducci n autom tica190 l.jpg
Deducción Automática live cell.

Formaliza los siguientes hechos:

Todo dragón está feliz si todos sus hijos pueden volar.

Los dragones verdes pueden volar. Un dragón es verde si es hijo de al menos un dragón verde.

Demuestra por resolución que la conjunción de los hechos anteriores implica que:

Todos los dragones verdes son felices.


Deducci n autom tica191 l.jpg
Deducción Automática live cell.

Considere las siguientes relaciones:

Feliz(x) para x es feliz.

Volar(x) para x puede volar.

Verde(x) para x es verde.

Dragón(x) para x es dragón

Rojo(x) para x es rojo.

Hijo(x,y) para x es hijo de y.


Referencias l.jpg
Referencias live cell.

Russel, S. y Norving, P. (2004). Inteligencia Artificial. Un Nuevo enfoque. Pearson Prentice Hall, España

Nilsson, N. (2001). Inteligencia Artificial. Una nueva síntesis. McGraw-Hill, España.

Winston, P. (1992) Artificial Intelligence, 3ra. Edición, Addison-Wesley.


Referencias193 l.jpg
Referencias live cell.

Decker, R. y Hirshfield, S. (2001). Máquina Analítica. Introducción a las Ciencias de la Computación con Uso de Internet, Thomson, México. Capítulo 9 Inteligencia Artificial pp. 295-325.

Hernández, V. (2007). Mapas Conceptuales La gestión del Conocimiento en la Didáctica. Segunda Edición, México: Alfaomega.


Referencias194 l.jpg
Referencias live cell.

G. Polya, (1982), “Cómo Plantear y Resolver Problemas”, traducción al español de “How to Solve It”, Ed. Trillas, México, 1982, ISBN: 968-24-0064-3.

Montes, M. y Villaseñor L. (2008) Fundamentos de Inteligencia Artificial Métodos básicos de solución de problemas, Instituto Nacional de Astrofísica, Óptica y Electrónica, Puebla, México.


Preguntas l.jpg
¿Preguntas? live cell.