23 research outputs found
Konputagarritasunerako oinarrizko teknikak
Konputagarritasunaren Teoriak sistema informatikoek algoritmoen diseinuaren bitartez problemak ebaztean dituzten muga logikoak ezartzea du helburu. Txosten honetan teoria horren alderdi sinpleena aztertzen da. Konputagarritasunaren eta konputaezintasunaren definizioak ematen dira, eta problemak sailkatzen dira: erabakigarriak, sasierabakigarriak, erabakiezinak. Sailkapen hori gauzatzeko Konputagarritasunaren Teorian erabiltzen diren oinarriak eta frogapen teknikak azaltzen dira. Funtzio unibertsalaren definizioa ematen da eta kasu zailagoetarako prozesu tartekatzearen teknika azaltzen da. Informatikan berebiziko garrantzia duen geratze-problemaren definizioa ematen da eta bere erabakiezintasuna frogatzeko diagonalizazioaren teknika azaltzen da. Teknika hau multzo edo propietate bat erabakiezina dela frogatzeko erabiltzen den lehen tresnetakoa da, eta txosten honetan arreta guztia jarri da bere pausoak eta aldaerak zehazki azaltzeko. Azkenik problema erabakigarri eta sasierabakigarrien karakterizazioa eta propietateak ematen dira.
UPV/EHUko Informatika Fakultatean ematen den Ingeniaritza Informatikoko Graduaren Ikasketa Planaren "Konputazioaren Eredu Abstraktuak" irakasgaiaren ikasleentzat irakaskuntza laguntza moduan idatzia izan den arren, egileen asmoa edo nahia, emaitza eta tekniken deskribapen ulergarria ematea da
Oinarrizko programazioa
84 p.Eskuliburu honen helburua informatikaren oinarriak erakustea da, programazioari dagozkion funtsak aditzera eman arte. Gipuzkoako Ingeniaritza Eskolako (Eibarko atala) Informatika irakasgaian erabiltzeko sortu da. Energia Berriztagarrien ingeniariengan pentsatuz idatzi den arren, testuan zehar erabiltzen diren adibideak orokorrak dira. Era honetan, edozein gradutako ikasleek ere erabil dezakete. Are gehiago, ez da aldez aurretik jakintza aurreikusten aipatutako kontzeptuak ulertzeko; beraz, interesa duen pertsona orok erraz erabil dezake testu hau
Oinarrizko programazioa
84 p.Eskuliburu honen helburua informatikaren oinarriak erakustea da, programazioari dagozkion funtsak aditzera eman arte. Gipuzkoako Ingeniaritza Eskolako (Eibarko atala) Informatika irakasgaian erabiltzeko sortu da. Energia Berriztagarrien ingeniariengan pentsatuz idatzi den arren, testuan zehar erabiltzen diren adibideak orokorrak dira. Era honetan, edozein gradutako ikasleek ere erabil dezakete. Are gehiago, ez da aldez aurretik jakintza aurreikusten aipatutako kontzeptuak ulertzeko; beraz, interesa duen pertsona orok erraz erabil dezake testu hau
Los programas While: bases para una teoría de la computabilidad
La Teoría de la Computabilidad estudia los límites teóricos de los sistemas computacionales. Uno de sus objetivos centrales consiste en clasificar los problemas en computables e incomputables, donde llamamos computable a un problema si admite solución informática. Para desarrollar estos resultados el modelo abstracto de computador más utilizado históricamente es la Máquina de Turing. Los estudiantes de Ingeniería Informática pueden percibir cierta lejanía entre el modelo teórico y los computadores reales por lo que es más adecuado utilizar un modelo más cercano a la programación como son los programas-while.
Los Programas-while permiten resolver los mismos problemas que las máquinas de Turing, pero en cambio son mucho más sencillos de utilizar, sobre todo para personas que tienen una experiencia previa en la informática real, pues toman la forma de lenguaje imperativo clásico. Este texto además utiliza los Programas-while aprovechando sus ventajas y reformulándolos de manera que la computación quede definida en términos de manipulación de símbolos arbitrarios, algo que está mucho más en concordancia con la realidad informática. Además de explicar en detalle qué son los programas while y cómo se utilizan, se justifica por qué no es necesario incorporar otras instrucciones o tipos de datos
Algunas demostraciones de incomputabilidad usando la técnica de diagonalización
Los supuestos fundamentales de la Teoría de la Computabilidad se establecieron antes de la aparición de los primeros ordenadores (a finales de los años 40), supuestos que muchos años de vertiginoso cambio no han conseguido alterar. Alan Mathison Turing demostró ya entonces que ningún ordenador, por muy potente que lo imaginemos, podría resolver algunas cuestiones. Estos problemas para los que no existe ningún algoritmo posible, los incomputables, no son excepcionales y hay un gran número de ellos entre los problemas que se plantean en torno al comportamiento de los programas.
El problema de parada, es sin duda el miembro más conocido de esta familia: no existe un algoritmo para decidir con carácter general si un programa ciclará o no al recibir unos datos de entrada concretos.
Para demostrar la incomputabilidad de un problema necesitamos un argumento lógico que certifique la inexistencia de algoritmo, o lo que es lo mismo, que pruebe que ninguno de los algoritmos existentes es capaz de resolver dicho problema. Tal argumento de carácter universal no suele ser sencillo de establecer, y normalmente suele estar relacionado con una demostración por reducción al absurdo. Existen distintas técnicas para lograr este objetivo. La técnica de diagonalización es la más básica de ellas, y resulta bastante conocida al no tratarse de una herramienta específica de la Informática Teórica. En este documento no se trata de explicar la técnica en sí, que se supone conocida, sino de ilustrarla con una colección de ejemplos de diferente grado de dificultad
Konputagarritasunerako oinarrizko teknikak
Konputagarritasunaren Teoriak sistema informatikoek algoritmoen diseinuaren bitartez problemak ebaztean dituzten muga logikoak ezartzea du helburu. Txosten honetan teoria horren alderdi sinpleena aztertzen da. Konputagarritasunaren eta konputaezintasunaren definizioak ematen dira, eta problemak sailkatzen dira: erabakigarriak, sasierabakigarriak, erabakiezinak. Sailkapen hori gauzatzeko Konputagarritasunaren Teorian erabiltzen diren oinarriak eta frogapen teknikak azaltzen dira. Funtzio unibertsalaren definizioa ematen da eta kasu zailagoetarako prozesu tartekatzearen teknika azaltzen da. Informatikan berebiziko garrantzia duen geratze-problemaren definizioa ematen da eta bere erabakiezintasuna frogatzeko diagonalizazioaren teknika azaltzen da. Teknika hau multzo edo propietate bat erabakiezina dela frogatzeko erabiltzen den lehen tresnetakoa da, eta txosten honetan arreta guztia jarri da bere pausoak eta aldaerak zehazki azaltzeko. Azkenik problema erabakigarri eta sasierabakigarrien karakterizazioa eta propietateak ematen dira.
UPV/EHUko Informatika Fakultatean ematen den Ingeniaritza Informatikoko Graduaren Ikasketa Planaren "Konputazioaren Eredu Abstraktuak" irakasgaiaren ikasleentzat irakaskuntza laguntza moduan idatzia izan den arren, egileen asmoa edo nahia, emaitza eta tekniken deskribapen ulergarria ematea da
El método de reducción en Teoría de la Computabilidad
La Teoría de la Computabilidad es una disciplina encuadrada en la Informática Teórica que tiene como objetivo establecer los límites lógicos que presentan los sistemas informáticos a la hora de resolver problemas mediante el diseño de algoritmos. Estos resultados proporcionan importantes herramientas que se utilizan para demostrar tanto la computabilidad como la incomputabilidad de muchas funciones relevantes. Los primeros problemas incomputables que se encontraron lo fueron allá por la década de los años 30. El problema de parada es el primer y más conocido ejemplo de problema no resoluble mediante técnicas algorítmicas: ningún ordenador, por muy potente que sea, puede anticipar el comportamiento de los programas en ejecución, y decidir de antemano si terminarán o no. Este problema nos proporciona un soporte intuitivo para anticipar la incomputabilidad de otros problemas relacionados y un procedimiento para resolverlos: el método de diagonalización. Sin embargo para determinados problemas también incomputables hay que recurrir a otros métodos. Este texto incluye una descripción de otra técnica básica de Teoría de la Computabilidad: la Reducción. La base del método estriba en demostrar que ciertos pares de problemas están fuertemente relacionados de modo que si el segundo tiene solución algorítmica entonces el primero debe tenerla necesariamente también. Esta relación se establece por medio de funciones transformadoras computables, que permiten convertir de manera automática las instancias positivas del primer problema en instancias positivas del segundo. Esta técnica se utiliza muy a menudo porque resulta comparativamente más sencilla que la diagonalización, ya que en general requiere menos esfuerzo para demostrar la incomputabilidad de un mismo problema
While programak: konputagarritasun teoria oinarritzeko tresna
Konputagarritasun Teoriaren asmoa sistema konputazionalen muga teorikoak aztertzea da. Bere helburu nagusia problemak konputagarri eta konputaezinen artean bereiztea da, problema konputagarria ebazpide informatikoa onartzen duenari deitzen diogula kontuan hartuta. Emaitza horiek garatzeko konputagailu eredu abstraktu erabiliena, historikoki, Turing-en Makina izan da. Ingeniaritza Informatikoko ikasleek eredu abstraktuaren eta konputagailu errealen artean distantzia dagoela nabari dezakete, horregatik programaziotik hurbilago dagoen eredu bat erabiltzea egokiagoa da, while programak hain zuzen ere.
While programekin Turingen makinekin ebazten diren problema berak ebazten dira. Aldiz, while programak erabiltzen askoz errazagoak dira, batez ere aurretik informatika errealean esperientzia duten pertsonentzat, lengoaia agintzaile klasikoen programen itxura hartzen baitute. Testu honek while programak erabiltzen ditu, behar denean hauek birformulatuz eta beraien abantailak aprobetxatuz, konputazioa sinbolo arbitrarioen manipulazioaren baitan definituta gera dadin. Horrela, errealitate informatikotik askoz hurbilagoa egongo da. While programak zer diren eta nola erabiltzen diren zehaztasunez azaltzen da, eta gainera, beste agindu edo datu-mota batzuk gehitzea zergatik ez den beharrezkoa justifikatzen da
Konputaezintasun frogapen batzuk diagonalizazio teknika erabiliz
Konputagarritasunaren Teoriaren oinarriak lehenengo ordenadoreak azaldu aurretik (40. hamarkadaren bukaera aldera) ezarri ziren, eta ziztu biziko eta etenik gabeko eraldaketek aldatzea lortu ez duten oinarriak dira. Alan Mathison Turing-ek jadanik garai hartan frogatu zuen, ahalik eta potentzia handienekoa imajinatuta ere, inolako ordenadorek ebatzi ezingo zituen zenbait gai edo arazo bazeudela. Balizko algoritmorik ez duten problema horiek, konputaezinak deitzen ditugunak, ez dira salbuespenak eta adibide ugari aurki dezakegu. Programen portaeraren inguruan planteatzen diren problemen artean, asko konputaezinak dira.
Familia horretako kide ezagunena, zalantzarik gabe, geratze problema da: sarrerako datu zehatz batzuk hartzerakoan, programa bat begizta infinituan geratuko ote den era orokorrean erabakitzeko algoritmorik ez dago.
Problema baten konputaezintasuna frogatzeko, hau ebatziko duen algoritmo zehatz bat existitzen ez dela ziurtatuko duen argumentu logikoa behar dugu, edo beste era batera esanda, existitzen diren algoritmoak problema hori ebazteko gai izango ez direla egiaztatuko duen argumentua. Izaera unibertsaleko argumentu hori ezartzea ez da batere erraza izaten, eta normalean, absurduraino eramandako frogapen batekin erlazionatuta egon ohi da. Helburu hori lortzeko zenbait teknika daude. Diagonalizazioaren teknika horien artean oinarrizkoena da, eta nahiko ezaguna, ez baita Informatika Teorikoaren tresna espezifikoa. Dokumentu honen helburua ez da teknika bera azaldu edo deskribatzea, ezaguntzat hartzen baita, zailtasun maila desberdineko hainbat adibideren bitartez argitzea baizik
Aprendizaje Basado en Proyectos para la asignatura Ingeniería del Software
Duración (en horas): Más de 50 horas.
Destinatario: Estudiante y DocenteEn este recurso se presenta una experiencia docente diseñada e implementada que utiliza la metodología de Aprendizaje Basado en Proyectos en la asignatura Ingeniería del Software I, correspondiente al cuarto cuatrimestre del Grado en Ingeniería Informática. Su primera implantación de esta experiencia es la descrita en el presente documento, que ha tenido lugar simultáneamente en los tres grupos existentes: el de castellano (35 alumnos), el de euskera (28 alumnos) y el de inglés (7 alumnos), durante el curso 2012/2013, entre el 28 de enero de 2013 y el 24 de mayo del mismo año.
La razón de esta puesta en marcha en todos los grupos al unísono es la existencia de un programa ERAGIN-INFORMATIKA específico en nuestro centro. La Facultad de Informática ha adoptado como línea estratégica el que los estudiantes del grado puedan cursar una asignatura implantada sobre los presupuestos del ABP (Aprendizaje basado en Proyectos) por cada cuatrimestre, a lo largo de todo su currículum, e IKD ha respondido con la adopción de este programa con su planificación y objetivos específicos