Automatas, Computabilidad y Complejidad

download Automatas, Computabilidad y Complejidad

of 12

Transcript of Automatas, Computabilidad y Complejidad

  • Universidad Autnoma de Sinaloa

    Facultad de Informtica Matemticas VI

    Lic. Roy Jonny Sida Lpez Teora de la Computacin

    1

    Unidad 1

    INTRODUCCIN

    La teora de la computacin es una ciencia, en particular una rama de la matemtica y de la computacin que centra su inters en

    el estudio y definicin formal de los clculos. Se le llama clculo a la obtencin de una solucin o resultado (en el sentido

    matemtico/aritmtico), a partir de datos o entradas utilizando para ello un proceso o algoritmo.

    AUTMATAS, COMPUTABILIDAD Y COMPLEJIDAD Las tres reas tradicionales de la teora de la computacin son: Autmatas, Computabilidad y Complejidad. Las cuales estn unidas

    por la pregunta:

    Cules son las capacidades y las limitaciones de las computadoras?

    Esta interrogante se remonta a la dcada de 1930 cuando la lgica matemtica comenz a explorar el significado de la

    computacin. Los avances tecnolgicos desde entonces han aumentado nuestra capacidad de clculo y han llevado a cabo esta

    cuestin del mbito de la teora a la prctica. En cada uno de los tres mbitos autmatas, computabilidad y complejidad se

    interpreta de manera diferente, y las respuestas varan de acuerdo a la interpretacin. Tras este captulo introductorio, se

    explorar cada de estas reas por separado.

    TEORA DE COMPLEJIDAD

    Los problemas computacionales vienen en diferentes variedades, algunas son fciles, y algunos difciles. Por ejemplo, la

    clasificacin es un problema fcil. Si se necesita organizar una lista de nmeros en orden ascendente un pequeo equipo puede

    ordenar un milln de nmeros rpidamente. Que comparado al problema de programar un calendario de clases para toda la universidad satisfaciendo algunas peticiones razonables, por ejemplo, dos clases no pueden ser impartidas en el mismo saln al

    mismo tiempo. As, el problema de programacin parece ser mucho ms difcil que el problema de clasificacin. Si slo se tiene un millar de clases, encontrar el mejor horario podr tardar siglos, incluso con una supercomputadora.

    Qu hace que algunos problemas sean computacionalmente difciles y otros fciles?

    Esta es la interrogante central de la teora de la complejidad. Sorprendentemente, no sabemos la respuesta, aunque se ha

    investigado intensamente durante los ltimos 35 aos. La teora de la complejidad computacional en s, es la rama de la teora de la computacin que estudia, de manera terica, los recursos necesarios durante el cmputo de un algoritmo en la solucin de

    un problema. Los recursos comnmente estudiados son; el tiempo (utilizando una aproximacin del nmero y tipo de pasos de ejecucin del algoritmo para resolver un problema) y el espacio (mediante una aproximacin a la cantidad de memoria utilizada para resolver el problema). Tambin es posible estudiar otros parmetros, tales como el nmero de procesadores necesarios para resolver el problema en paralelo.

  • Universidad Autnoma de Sinaloa

    Facultad de Informtica Matemticas VI

    Lic. Roy Jonny Sida Lpez Teora de la Computacin

    2

    TEORA DE LA COMPUTABILIDAD

    Durante la primera mitad del siglo XX, matemticos como Kurt Gdel, Alan Turing y Alonzo Church descubrieron que ciertos problemas no pueden resolverse por las computadoras. Un ejemplo de este fenmeno es el problema de determinar si un

    enunciado matemtico es verdadero o falso. Esta tarea es el pan y la mantequilla de matemticos. Parece una solucin natural

    para una computadora, ya que se encuentra estrictamente en el mbito de las matemticas. Pero, un algoritmo computacional no

    puede realizar esta tarea. Como consecuencias de este resultado se desarrollaron ideas sobre modelos tericos para los equipos

    que eventualmente ayudaran a llevar a la construccin real de las computadoras.

    Las teoras de Computabilidad y Complejidad estn estrechamente relacionadas. La teora de complejidad tiene como objetivo

    clasificar los problemas en fciles y difciles, mientras que en la teora de computabilidad clasifica a los problemas como

    solucionables y no solucionables.

    TEORA DE AUTOMATAS

    La teora de autmatas se refiere a las definiciones y propiedades de los modelos matemticos de clculo. Estos modelos son

    aplicados en varias reas de la informtica. Un modelo, llamado autmatas finitos, se utiliza en el procesamiento de texto,

    compiladores, y diseo de hardware. Otro modelo, llamado gramtica libre de contexto, es utilizado en los lenguajes de

    programacin y la inteligencia artificial. La teora de autmatas es un excelente punto de partida para iniciar el estudio de la teora

    de la computacin.

    TERMINOLOGA Y CONCEPTOS MATEMTICOS

    Como en cualquier tema matemtico, iniciamos con una breve discusin de los objetos matemticos bsicos, herramientas, y la notacin que utilizaremos.

    CONJUNTOS

    Un conjunto es, simplemente, una coleccin de objetos. Para representar a los conjuntos, los elementos y la relacin de pertenencia, mediante smbolos, tendremos en cuenta las siguientes convenciones:

    Los conjuntos se designan con letras maysculas.

    Los elementos que forman el conjunto se encierran entre llaves.

    Los elementos se designan con letras minsculas.

    Para indicar que un elemento pertenece al conjunto se escribe el signo . Para indicar que un elemento no pertenece a cierto

    conjunto, se escribe el signo .

    En los conjuntos no hay repeticiones de elementos.

    En los conjuntos no importa el orden de los elementos.

  • Universidad Autnoma de Sinaloa

    Facultad de Informtica Matemticas VI

    Lic. Roy Jonny Sida Lpez Teora de la Computacin

    3

    Por ejemplo, para definir al conjunto B formado por los elementos 1, 2 y 3, lo haramos del siguiente modo:

    1,2,3B

    Al nombrar todos los elementos que forman el conjunto, definimos el conjunto por extensin. Sin embargo, este conjunto est formado por los nmeros naturales menores a 4, sabiendo esto, podemos definir este conjunto por comprensin, es decir haciendo mencin de la caracterstica que define a sus elementos. De este modo, tenemos:

    | 4B x x

    Definicin 1. Un conjunto se determina por extensin si y slo si se enumeran todos los elementos que lo constituyen.

    Un conjunto se define por comprensin, si y slo si se da la propiedad que los caracteriza.

    Existe un conjunto que no tiene elementos. Por supuesto, slo puede haber un conjunto con esta caracterstica: a este conjunto se

    le denomina conjunto vaco y se le denota por el smbolo .

    Si cada elemento de un conjunto A es tambin elemento de un conjunto B , se dice que A es un subconjunto de B A B ,

    o que B incluye a A B A . De acuerdo con esto, todo conjunto es un subconjunto de s mismo. Si A es un subconjunto de

    B , pero es distinto de B, entonces A es un subconjunto propio de B , y se denota por A B . Tambin se dice que dos

    conjuntos son disjuntos cuando no tienen ningn elemento en comn.

    OPERACIONES CON CONJUNTOS

    Varias operaciones permiten combinar dos conjuntos para formar un tercer conjunto, tal como los nmeros se pueden combinar

    con las operaciones aritmticas para obtener otro. Las operaciones ms usuales entre conjuntos son las siguientes:

    1. La unin de A y B:

    A B x x Ao x B 2. La interseccin de A y B:

    A B x x A y x B 3. La diferencia de A y B:

    A B x x A y x B 4. El producto cartesiano de A y B:

    ,A B a b a A y b B 5. El conjunto potencia de A:

    2A S S A

  • Universidad Autnoma de Sinaloa

    Facultad de Informtica Matemticas VI

    Lic. Roy Jonny Sida Lpez Teora de la Computacin

    4

    Ejemplo. Sea A el conjunto ,a b y sea B el conjunto ,b c , entonces las operaciones antes definidas producen los

    siguientes conjuntos:

    , ,A B a b c

    A B b

    A B a

    , , , , , , ,A B a b a c b b b c

    2 , , , ,A a b a b

    SECUENCIAS Y TUPLAS

    Una secuencia es una lista de objetos en un cierto orden. Por lo general, al designar una secuencia esta se escribe dentro de parntesis. Por ejemplo, la secuencia 7, 21, 57, se escribe:

    7,21,57

    En un conjunto el orden no importa, pero en una secuencia s. Por lo tanto, 7,21,57 no es lo mismo que 57,7,21 . Del

    mismo modo, la repeticin es importante en una secuencia, pero no importa en un conjunto. Por lo tanto 7,7,21,57 es

    diferente de las otras dos secuencias, mientras que el conjunto 7,21,57 es idntico al conjunto 7,7,21,57 . Al igual que

    con conjuntos una secuencia puede ser finita o infinita.

    Las secuencias finitas son llamadas tuplas, una secuencia de k elementos es una k tupla . Por ejemplo 7,21,57 es una

    3 tupla .

    FUNCIONES Y RELACIONES

    Las nociones de relaciones y funciones pueden derivarse directamente del producto cartesiano de conjuntos. En efecto, se llama

    relacin a todo subconjunto de un producto cartesiano; por ejemplo la relacin " " contiene los pares de nmeros naturales

    tales que el primer componente es menor o igual al segundo, esto es, 1,1 , 1,2 , 1,3 , , 2,3 ,

    Si A y B son conjuntos. Una relacin binaria R , de A en B asigna a cada pareja ordenada ,a b en A B exactamente

    uno de los siguientes enunciados:

    " a est relacionado con b ", escrito aRb

    " a no est relacionado con b ", escrito aRb

    Cualquier relacin R de un conjunto A en un conjunto B define de manera nica un subconjunto *R de A B como sigue:

    * ,R a b aRb

  • Universidad Autnoma de Sinaloa

    Facultad de Informtica Matemticas VI

    Lic. Roy Jonny Sida Lpez Teora de la Computacin

    5

    Recprocamente, cualquier subconjunto *R de A B define unvocamente una relacin R de A en B de la siguiente manera:

    aRb siempre y cuando *,a b R

    En base a esta correspondencia uno-a-uno entre relaciones R de A en B y subconjuntos de A B , redefinimos una relacin como sigue:

    Definicin 2. Una relacin R de A en B es un subconjunto de A B .

    Un tipo especial de relacin binaria es la relacin de equivalencia. Una relacin binaria R es una relacin de equivalencia si cumple tres condiciones:

    1. R es reflexiva si para toda x , xRx .

    2. R es simtrica si para todo x y y , xRy implica yRx .

    3. R es transitiva si para ,x y y z , xRy y yRz implica xRz .

    La idea general detrs de una relacin de equivalencia es que sta nos da una clasificacin de objetos que de alguna manera son

    "similares". De hecho, la relacin de igualdad en cualquier conjunto S es una relacin de equivalencia; es decir:

    1. a a para cada a en S

    2. Si a b , entonces b a

    3. Si a b y b c , entonces a c .

    Un caso particular de las relaciones son las funciones, que son relaciones en que no hay dos pares ordenados que tengan el mismo

    primer componente. Es decir, los pares ordenados asocian a cada primer componente un nico segundo componente. Por ejemplo,

    la relacin 1,1 , 1,3 , 3,4 no es una funcin, pero 1,1 , 2,3 , 3,4 s lo es, la definicin formal de funcin es la siguiente.

    Definicin 3. Una funcin BAf : es una relacin de A en B (es decir, un subconjunto de A B tal que cada

    a A pertenece a una pareja ordenada nica ,a b en f .

    :f A B se lee: " f es una funcin de A en B ", o " f aplica A en B " para indicar que si ,a b f entonces a A

    y b B ; decimos que A es el dominio de la funcin y B es el codominio (contradominio, rango, imagen).

    Una funcin :f A B puede verse como un mapeo que relaciona cada elemento del dominio A con un elemento del codominio

    B . La notacin habitual para una funcin es f a b , muchas veces consideramos que las funciones obtienen una salida a

    partir de una entrada.

  • Universidad Autnoma de Sinaloa

    Facultad de Informtica Matemticas VI

    Lic. Roy Jonny Sida Lpez Teora de la Computacin

    6

    Ejemplo. La funcin cuadrado :f R R definida como 2f x x relaciona cada nmero natural con su cuadrado,

    es decir,

    1,1 , 2,4 , 3,9 ,f

    Cuando el dominio de una funcin f es 1 2 kA A A para conjuntos 1 2, , , kA A A los valores de funcin f es una

    k tupla 1 2, , , ka a a donde las ia son los argumentos o valores de entrada de f y se le llama k aria .

    GRAFOS Y ARBOLES

    Un grafo es una estructura que consta de un conjunto finito de vrtices V , tambin llamados nodos; y de un conjunto de pares no

    ordenados de vrtices A , llamados aristas del grafo. La forma usual de representar grafos es a travs de un diagrama en que los

    nodos se grafican como puntos y las aristas, como lneas entre los vrtices que forman el par respectivo. Por lo tanto podemos

    describir un grafo con un diagrama o especificando formalmente los conjuntos V y A .

    Ejemplo. Los siguientes diagramas son ejemplos de grafos.

    La descripcin formal de un grafo en la figura (a) es:

    1,2,3,4,5 , 1,2 , 2,3 , 3,4 , 4,5 , 5,1

    y la descripcin formal del grafo de la figura (b) es:

    1,2,3,4 , 1,2 , 1,3 , 1,4 , 2,3 , 2,4 , 3,4

    El nmero de aristas en un nodo es el grado de ese nodo. En la figura (a) todos los nodos tienen grado 2. En la figura (b) todos los

    nodos tienen grado 3.

    No ms de una arista se permite entre dos nodos, en un grafo G que contiene los nodos i y j , el par ,i j representa la

    arista que conecta los nodos i y j , el orden de i y j no importa en un grafo no dirigido, de modo que los pares ,i j y

    ,j i representan la misma arista.

  • Universidad Autnoma de Sinaloa

    Facultad de Informtica Matemticas VI

    Lic. Roy Jonny Sida Lpez Teora de la Computacin

    7

    Frecuentemente los grafos son utilizados para representar datos y en ocasiones, por comodidad, se etiquetan los nodos y las aristas de un grafo que, a continuacin, se llama grafo etiquetado. La figura muestra un grafo cuyos nodos son las ciudades y

    cuyas aristas estn marcadas con el costo en dlares de la tarifa area ms barata de vuelo sin escalas para viajes entre las

    ciudades, si entre ellos es posible.

    Un camino en un grafo es una secuencia de nodos conectados por las aristas. Un camino simple es un camino en el que no se repite

    ningn nodo. Un grafo est conectado, si cada par de nodos tienen una ruta entre ellos. Un ciclo es un camino que comienza y

    termina en el mismo nodo. Un ciclo simple es aquel que contiene al menos tres nodos y slo se repite el primer y ltimo nodo. Un

    grafo es un rbol si est conectado y no tiene ciclos simples. Un rbol puede contener un nodo designado especialmente llamado

    raz. Los nodos de grado 1 en un rbol, que no sean raz, son llamados hojas del rbol.

    (a) Camino b) Ciclo (c) rbol

    Si el grafo tiene flechas en lugar de lneas, es un grafo dirigido, como se muestra en la siguiente figura. El nmero de flechas

    apuntando desde un nodo en particular es el grado de salida de ese nodo, y el nmero de flechas que apuntan a un nodo en

    particular es el grado. En un grafo dirigido representamos una arista que une los nodos i y j como el par ,i j .

    Ejemplo. Diagrama de un grafo dirigido.

    Grafo dirigido

    La descripcin formal del grafo anterior es:

    1,2,3,4,5,6 , 1,2 , 1,5 , 2,1 , 2,4 , 5,4 , 5,6 , 6,1 , 6,3

  • Universidad Autnoma de Sinaloa

    Facultad de Informtica Matemticas VI

    Lic. Roy Jonny Sida Lpez Teora de la Computacin

    8

    Un camino en que todas las flechas apuntan en la misma direccin se llama camino dirigido. Un grafo dirigido est firmemente conectado si un camino dirigido conecta a cada dos nodos. El siguiente grafo muestra un camino dirigido.

    Los grafos dirigidos son una manera prctica de representar relaciones binarias. Si R es una relacin binaria cuyo dominio es

    V V un grafo etiquetado ,G V A representa a R , donde ,A x y xRy . La figura anterior ilustra esta representacin.

    CADENAS Y LENGUAJES

    Las cadenas de caracteres son elementos fundamentales en ciencias de la computacin. El alfabeto sobre el que se definen las

    cadenas puede variar en funcin de la aplicacin. Para nuestros fines, definimos un alfabeto como un conjunto finito no vaco. Por

    regla general, se utilizan las letras griegas y para designar alfabetos y un tipo de fuente para escribir los smbolos del

    alfabeto. Los siguientes son algunos ejemplos de alfabetos.

    1 0,1

    2 a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z

    0,1, , ,x y z

    Una cadena de un alfabeto es una secuencia finita de smbolos de ese alfabeto, normalmente escrito uno despus de otro. Si

    1 0,1 , entonces 01001 es una cadena 1 . Si 2 a, b, , z , entonces abracadabra es una cadena de 2 .

    Si w es una cadena de , la longitud de w , que se escribe como w , es el nmero de smbolos que contiene. A la cadena de

    longitud cero se le llama cadena vaca y es escrita como .

    Si w tiene longitud n , podemos escribir 1 2 3 nw ww w w donde cada iw . La inversa de w que se escribe como Rw

    es la cadena w escrita en el orden inverso (es decir, 1 2 1n n nw w w w ). La cadena z es una subcadena de w si aparece

    consecutivamente en w . Por ejemplo, cad es una subcadena de la cadena abracadabra. Si tenemos la cadena x de longitud m y

    una cadena y de la longitud n , la concatenacin de x y y , escrita como xy es la cadena que se obtiene aadiendo y al final

    de x , es decir 1 2 3 1 2 3m nx x x x y y y y . Para concatenar una cadena consigo misma utilizamos notacin exponencial.

    k

    kxxx x x

    El ordenamiento lexicogrfico de cadenas es el mismo que el conocido en el diccionario, excepto que las cadenas ms cortas

    precedan a las cadenas ms largas. Por lo tanto, el lexicogrfico de ordenacin de todas las cadenas sobre el alfabeto

    1 0,1 es ,0,1,00,01,10,11,000, . Un lenguaje es un conjunto de cadenas.

  • Universidad Autnoma de Sinaloa

    Facultad de Informtica Matemticas VI

    Lic. Roy Jonny Sida Lpez Teora de la Computacin

    9

    LGICA BOOLEANA

    La lgica booleana es un sistema matemtico construido en torno a dos valores TRUE y FALSE. Aunque originalmente concebida

    como la matemtica pura, este sistema es ahora considerado como la base de la electrnica digital y equipo de diseo. Los valores

    TRUE y FALSE se llaman valores booleanos y son frecuentemente representados por los valores 1 y 0. Los valores booleanos se

    utilizan en situaciones con dos posibilidades, por ejemplo; un cable que puede tener voltaje alto o bajo, una proposicin que puede

    ser falsa o verdadera, una pregunta puede ser respondida con s o no.

    Podemos manipular valores booleanos con operaciones especialmente diseadas, llamadas operaciones booleanas.

    La negacin u operador NOT, designada con el smbolo . La negacin de un valor booleano es el valor opuesto. Por lo

    tanto 0 = 1 y 1 = 0.

    La conjuncin o AND se representa con el smbolo , la conjuncin de dos valores booleanos es 1 si ambos valores son 1.

    La disyuncin o OR se representa con el smbolo , la disyuncin de dos valores booleanos es 1 si alguno de los valores

    es 1.

    Resumimos esta informacin de la siguiente manera.

    NOT AND OR

    p p p q p q p q p q 0 1 0 0 0 0 0 0

    1 0 0 1 0 0 1 1

    1 0 0 1 0 1

    1 1 1 1 1 1

    Usamos las operaciones booleanas para combinar declaraciones simples en expresiones booleanas ms complejas, al igual que el

    uso de las operaciones aritmticas suma y multiplicacin para la construccin de expresiones aritmticas complejas.

    Otras operaciones booleanas aparecen ocasionalmente. La OR exclusiva o XOR, la operacin ha sido designada por el smbolo y

    es 1 si alguno de sus dos operandos lo es, no ambos. La operacin igualdad, que se escribe con el smbolo es 1 si sus operandos

    tienen el mismo valor. Por ltimo, la operacin de implicacin que es designada por el smbolo es 0 si el primer operando es 1 y

    su segundo operando es 0, de otro modo es 1.

    Resumimos esta informacin de la siguiente manera.

    XOR IGUALDAD IMPLICACIN

    p Q p q p q pq p q pq

    0 0 0 0 0 1 0 0 1

    0 1 1 0 1 0 0 1 1

    1 0 1 1 0 0 1 0 0

    1 1 0 1 1 1 1 1 1

  • Universidad Autnoma de Sinaloa

    Facultad de Informtica Matemticas VI

    Lic. Roy Jonny Sida Lpez Teora de la Computacin

    10

    Podemos establecer diversas relaciones entre estas operaciones. De hecho, podemos expresar todas las operaciones booleanas

    en trminos de operaciones NOT y AND, como muestran las siguientes identidades.

    P Q P Q

    P Q P Q

    P Q P Q Q P

    P Q P Q

    Las leyes de distribucin de AND y OR son tiles en la manipulacin de expresiones booleanas.

    P Q R P Q P R

    P Q R P Q P R

    TIPOS DE PRUEBAS

    Varios tipos de argumentos surgen con frecuencia en pruebas matemticas. En este sentido, describiremos algunas que ocurren a

    menudo en la teora de la computacin. Teniendo en cuenta que una prueba puede contener ms de un tipo de argumento, porque la

    prueba puede contener dentro de ella varias sub-pruebas.

    PRUEBA POR CONSTRUCCIN

    Muchos teoremas establecen que un determinado tipo de objeto existe. Una forma de probar ese teorema es demostrando cmo

    construir el objeto. Esta tcnica es una prueba de construccin. Vamos a usar esta prueba para demostrar la construccin del

    siguiente teorema. Se define un grafo que es k regular si cada nodo en el grafo tiene grado k .

    TEOREMA: Para cada nmero par n mayor que 2, existe un grafo 3 regular con n nodos.

    PRUEBA. Sea un nmero par mayor que 2. Construir el grafo G = (V, E) con los n nodos de la siguiente manera. El conjunto

    de nodos de G es V = {0, 1, 2,, n-1}, y el conjunto de aristas de G es el conjunto:

    , 1 0 2 1,0 , 2 0 2 1E i i para i n n i i n para i n

    Los nodos de la imagen grfica escritos consecutivamente en torno a la circunferencia de un crculo. En este caso las aristas se

    describen en la lnea superior de E y van entre pares adyacentes alrededor del crculo. Las aristas se describen en la lnea inferior de E y van entre los nodos en los lados opuestos de la circunferencia. Esta imagen mental demuestra claramente que cada nodo G

    tiene grado 3.

    c.q.d.

  • Universidad Autnoma de Sinaloa

    Facultad de Informtica Matemticas VI

    Lic. Roy Jonny Sida Lpez Teora de la Computacin

    11

    PRUEBA POR INDUCCIN

    Toda demostracin por induccin se compone de tres pasos: el paso base, que hay que demostrar es verdadero, y se suele

    corresponder con la instancia ms sencilla de la propiedad a demostrar, la hiptesis de induccin que se supone verdadera y el paso de induccin, que hay que demostrar utilizando la hiptesis de induccin y el paso base.

    Proposicin 1. Si A es un conjunto finito, entonces el nmero de elementos del conjunto potencia de A es 2A

    siendo A el nmero de elementos del conjunto A , es decir, su cardinalidad.

    Demostracin:

    Paso Base: Sea A un conjunto de cardinalidad 0, es decir, A entonces el conjunto potencia de A es: 2A

    por lo tanto 2 1A . Tambin se cumple que 02 2 1A , as tenemos que 2 1 2

    AA

    Hiptesis de Induccin: Para 0n y A un conjunto de cardinalidad n , suponemos que se cumple 2 2AA .

    Paso de Induccin: Sea A un conjunto tal que 1A n . Como 0n entonces el conjunto A contiene al menos 1

    elemento, denotmoslo por a .

    Sea el conjunto B , B A a entonces B n . Por Hiptesis de induccin se sabe que al ser B

    un conjunto con n elementos se cumple que 2 2 2BB n .

    Dividiendo el conjunto potencia de A en dos partes, aquellos conjuntos que no contienen al elemento

    a , es decir, 2B

    conjuntos, y por otra lado aquellos conjuntos que contienen al elemento a , es decir

    2BC X a X que se obtienen introduciendo en cada conjunto de 2 B el elemento a .

    Esta divisin particiona el conjunto 2Aen dos partes disjuntas que poseen el mismo nmero de

    elementos. Por lo que la cardinalidad del conjunto 2A sera:

    12 2 2 2 2 2 2

    AA B C n n n

    c.q.d.

  • Universidad Autnoma de Sinaloa

    Facultad de Informtica Matemticas VI

    Lic. Roy Jonny Sida Lpez Teora de la Computacin

    12

    PRUEBA POR CONTRADICCIN

    Esta prueba es denominada tambin como reduccin al absurdo, en la que se establece una suposicin inicial y al ser

    consecuente con ella se llega a una conclusin que la refuta. Por lo tanto, esa suposicin inicial no puede ser correcta puesto que,

    de ser as, entonces se establecera un enunciado que resulta ser a la vez verdadero y falso.

    Proposicin 2. Dados los lenguajes 1L y 2L , 1 2L L s, y slo si,

    Demostracin:

    1 2 1 2 1 2" " L L L L L L

    Por reduccin al absurdo.

    Supngase que se cumple que 1 2L L , entonces si 1 2 1 2L L L L existe x tal que

    1 2x L L o 1 2x L L . En cualquiera de estos casos la cadena x pertenece a uno de los dos lenguajes y no al otro; por lo tanto, ambos lenguajes no pueden ser iguales (difieren en al menos una cadena), lo

    que contradice la suposicin inicial. Por lo tanto, esa suposicin no puede ser verdadera.

    1 2 1 2 1 2" " L L L L L L Por reduccin al absurdo.

    Supngase que se cumple que 1 2 1 2L L L L , entonces si 1 2L L existe al menos una cadena que pertenece a un lenguaje y no pertenece al otro, de lo que se deduce que 1 2 1 2L L L L , lo que contradice la suposicin inicial. Por lo tanto, esa suposicin no puede ser verdadera.

    c.q.d.

    1 2 1 2L L L L