INTRODUCCION DE LA INTELIGENCIA ARTIFICIAL EN LA INGENIERIA CIVIL

XIV CONGRESO NACIONAL DE INGENIERIA CIVIL - IQUITOS 2003 Capítulo de Ingeniería Civil del Consejo Departamental de Loreto del Colegio de Ingenieros de

0 downloads 208 Views 428KB Size

Recommend Stories


Aprendizaje en Inteligencia Artificial
Aprendizaje en Inteligencia Artificial Alberto Pesquera Martín 1. Introducción Máquina que Aprende: Sistema Organizado que transforma un mensaje de En

Inteligencia Artificial
Inteligencia Artificial I.T. en Informática de Sistemas, 3º Curso académico: 2008/2009 Profesores : Sascha Ossowski, David Pearce, y Rubén Ortiz –1–

Story Transcript

XIV CONGRESO NACIONAL DE INGENIERIA CIVIL - IQUITOS 2003 Capítulo de Ingeniería Civil del Consejo Departamental de Loreto del Colegio de Ingenieros del Perú

INTRODUCCION DE LA INTELIGENCIA ARTIFICIAL EN LA INGENIERIA CIVIL ATRAVEZ DE LAS REDES NEURONALES ARTIFICIALES * Ing. Karina Carbajal Valdivia RESUMEN: El objetivo de este trabajo es hacer una introducción en el campo de la Inteligencia Artificial, la cual viene desarrollándose en los últimos años, para de esta manera dar a conocer la versatilidad de Las Redes Neuronales Artificiales y poder encontrar en ellas la posibilidad de resolver problemas de ingeniería . Conoceremos a través de este trabajo lo siguiente: La estructura de estas redes. La similitud con Las Redes Neuronales Biológicas que fueron las que sirvieron de guía, para así poder simular el comportamiento del cerebro humano. Así como también la preparación de los datos de ingreso. El procesamiento de estos dentro de las unidades de procesamiento. Los tipos de algoritmo y La interpretación de sus resultados. Para aplicar estos conocimientos se presenta un programa el cual es un clasificador, usado para predecir los diferentes tipos de relación agua/cemento (Ra/c), para nuestro caso los datos con los cuales se ha entrenado a la red, son datos de probetas, tomados de tesis de investigación, que recogían trabajos experimentales de mezclas de concreto, obtenidos de ensayos en laboratorio. INTRODUCCION: Ante algunas preguntas frecuentes como: ¿Por qué no podemos construir un computador que piense?, así como el esperar que las maquinas sean capaces de realizar millones de operaciones por segundo siendo capaces por ejemplo de entender el significado de las formas en imágenes visuales, distinguiendo entre distintas clases de objetos similares. Es aquí cundo surge como respuesta a esto, “La Inteligencia Artificial”, quien a través de las redes neuronales, hará que estas mismas maquinas puede aprender a partir de experiencias en lugar de repetir indefinidamente un conjunto explícito de instrucciones generadas por un programador humano. Dado que nuestros computadores convencionales son evidentemente poco adecuados para este tipo de problemas, vamos a tomar ciertas características de la filosofía del celebro humano como base para nuestros nuevos modelos de procesamiento. Por tanto estas técnicas han recibido el nombre de Sistemas Neuronales Artificiales (ANS), o simplemente Redes Neuronales, siendo posible a través de estas que las maquinas puedan interpretar tramas complejas.

Gerencia XIV CONIC: ICG Instituto de la Construcción y Gerencia Calle Nueve 1056 Urb. Corpac San Isidro, LIMA – PERU / (51 – 1) 225-9066 / www.construccion.org.pe / [email protected]

Ver indice

1

XIV CONGRESO NACIONAL DE INGENIERIA CIVIL - IQUITOS 2003 Capítulo de Ingeniería Civil del Consejo Departamental de Loreto del Colegio de Ingenieros del Perú

COMPARACIÓN ENTRE UNA NEURONA BIOLÓGICA Y UNA NEURONA ARTIFICIAl: NEURONAL BIOLOGICA.La estructura fundamental de una célula nerviosa típica, se encuentra formada por: las dendritas, el cuerpo de la célula y un único axón. El axón de muchas neuronas esta rodeado por una membrana que se denomina Vaina de Mielina, la sinapsis conecta el axón de la neurona con las dendritas de otras neuronas como se observa en la fig. 1 synapse

axon

nucleus cell body

dendrites

Neurofisiología de una neurona biológica Fig. 1 RED NEURONAL ARTIFICIAL.La estructura de las neuronas ANS, son la transmisión de algunas ideas tomadas de la neurobiología siendo esta la base de los modelos ANS . Lo que en el fig. 2 figura como cell body (cuerpo de la célula), viene hacer la unidad de procesamiento de esta neurona artificial, las dendritas que se encuentran llevando la información hacia el cuerpo de la célula y el axón que conduce la única salida de esta neurona artificial.

Neurofisiología de una neurona artificial Fig. 2 PLANTEAMIENTO PRACTICO DEL FUNCIONAMIENTO DE LAS REDES NEURONALES ARTIFICIALES: Gerencia XIV CONIC: ICG Instituto de la Construcción y Gerencia Calle Nueve 1056 Urb. Corpac San Isidro, LIMA – PERU / (51 – 1) 225-9066 / www.construccion.org.pe / [email protected]

Ver indice

2

XIV CONGRESO NACIONAL DE INGENIERIA CIVIL - IQUITOS 2003 Capítulo de Ingeniería Civil del Consejo Departamental de Loreto del Colegio de Ingenieros del Perú

El problema que vamos a acometer es el reconocimiento de caracteres alfanuméricos escritos a mano, el cual nos permitirá ilustrara como es que funcionan estas Redes neuronas . Después de haber ordenado nuestros patrones de datos de ingreso escalándolos adecuadamente, para ello existen diferentes técnicas (Ref1). Definimos la estructura de las redes neuronales de tal modo que sea especifica para cada caso, como observamos en la fig. 3 una referencia de un diagrama típico de red. Se puede representar esquemáticamente una red neuronal, teniendo unidades de procesamiento, representadas como un nodo, indicando las conexiones entre los nodos mediante arcos. Se indicaran la dirección del flujo de información dentro de la red mediante el uso de puntas de flecha en las conexiones.

Arquitectura de una red neuronal Fig. 3 Para simplificar nuestro ejemplo limitaremos el numero de caracteres que debe reconocer la red neuronal a los diez dígitos decimales, del 0 al 9. Dado que nuestro objeto es hacer que la red neuronal determine cual de los diez dígitos decimales es un cierto carácter escrito a mano, podemos crear una estructura de red que tenga diez unidades (o procesadores) de salida discretos, una por cada carácter que haya que identificar. Por ejemplo, para cada trama de entrada que se introduzca en la red, esta solo debería activar una y solo una de las diez unidades de salida. Es preciso determinar como vamos a moldear la entrada de caracteres para la red. Moldearemos los datos de entrada como un vector que contiene elementos binarios, lo cual nos permite utilizar una red con un solo tipo de unidad de procesamiento, para crear este tipo de entrada tomamos una idea del mundo del vídeo y pixelizamos el carácter.

Gerencia XIV CONIC: ICG Instituto de la Construcción y Gerencia Calle Nueve 1056 Urb. Corpac San Isidro, LIMA – PERU / (51 – 1) 225-9066 / www.construccion.org.pe / [email protected]

Ver indice

3

XIV CONGRESO NACIONAL DE INGENIERIA CIVIL - IQUITOS 2003 Capítulo de Ingeniería Civil del Consejo Departamental de Loreto del Colegio de Ingenieros del Perú

Como observamos en la Fig.4; Se toma arbitrariamente una matriz de 10x8 pixeles como imagen, empleando un (1) para denotar que un pixel esta encendido o (0) para denotar que esta apagado; Mas aun se puede descomponer esta matriz en un conjunto de vectores filas, que después se puede concatenar en un solo vector fila de dimensión 80.

Captura de los datos a través de cada pixel Fig. 4 De esta manera hemos definido las dimensiones y características de la trama de entrada para nuestra red. El siguiente paso es determinar el numero de unidades de procesamiento, que irán conectadas a las unidades de entrada y salida . Luego se deberá realizar el proceso de entrenamiento de la red mediante ejemplos. Entonces el ANS se adapta para producir salidas deseadas cuando se presentan las entradas de datos como ejemplos. Respondiendo, después de un adecuado entrenamiento satisfactorio, incluso en el caso de que se le presenten entradas que no haya visto nunca. Una vez que la red este entrenada adecuadamente , se le puede mostrar imágenes de números escritos por personas cuya escritura no ha sido utilizada para entrenar a la red como observamos en la fig. 5. Después de un buen entrenamiento, la información que se propague a través de la red dará lugar a un único elemento de salida que tenga el valor binario (1), y esa unidad será la que corresponda al numero que se hubiera escrito . Así podemos concluir que el proceso de entrenamiento de la red, es simplemente una forma de codificar información acerca del problema que hay que resolver y que la red emplea gran parte de su existencia en su proceso de entrenamiento (ejercitamiento)

y una vez que ha concluido el

entrenamiento habremos descubierto un método para permitir que los sistemas automatizados evolucionen sin Reprogramarlos explícitamente. Gerencia XIV CONIC: ICG Instituto de la Construcción y Gerencia Calle Nueve 1056 Urb. Corpac San Isidro, LIMA – PERU / (51 – 1) 225-9066 / www.construccion.org.pe / [email protected]

Ver indice

4

XIV CONGRESO NACIONAL DE INGENIERIA CIVIL - IQUITOS 2003 Capítulo de Ingeniería Civil del Consejo Departamental de Loreto del Colegio de Ingenieros del Perú

a) Caracteres que fueron aprendidos por la red

B) Caracteres que no fueron aprendidos por la red

Caracteres de entrenamiento Fig. 5 El proceso de entrenar la red neuronal, es simplemente cuestión de modificar los pesos de conexión sistemática para codificar las relaciones de Entrada – Salida deseadas. Estos pesos iniciales se pueden generar dinámicamente o ingresando pesos iniciales de conexión a partir de un archivo y planteando un algoritmo adecuado para cada red el mismo que se encargue de llegar a los pesos óptimos para que la solución converja. Este ejemplo nos nuestra la capacidad de las redes neuronales para enfrentarse a complejos problemas de reconocimiento de tramas . EL PERCEPTRON Para empezar el conocimiento en cuanto a redes neuronales se refiere, tenemos que partir de conocer el funcionamiento de El perceptrón, siendo este un

modelo unidireccional, que intenta simular la

computación neuronal para llevar a cavo tareas complejas. Una unidad de procesamiento tiene muchas entradas, cada una de estas es información que luego será procesada, determinan un valor de entrada neto basándose en todas las conexiones de entrada, lo típico es calcular el valor de entrada neto sumando todos los valores de entrada ( Xi ), ponderados (multiplicados) mediante sus pesos correspondientes( Wi ), en otra palabras “S” la entrada neta de la iesima unidad se puede escribir de la siguiente forma:

•El nudo

recibe los datos de entrada (x1,x2......,xn etc.)

• La entrada es la suma de los pesos por los datos • wij

xi .

es el peso de interconexión del nudo i al nudo j.

S =

n



w ij x i

i=1

• El índice J recorre todas las conexiones que posea el la unidad de procesamiento . •S

esta les la entada neta, de la unidad de procesamiento.

Gerencia XIV CONIC: ICG Instituto de la Construcción y Gerencia Calle Nueve 1056 Urb. Corpac San Isidro, LIMA – PERU / (51 – 1) 225-9066 / www.construccion.org.pe / [email protected]

Ver indice

5

XIV CONGRESO NACIONAL DE INGENIERIA CIVIL - IQUITOS 2003 Capítulo de Ingeniería Civil del Consejo Departamental de Loreto del Colegio de Ingenieros del Perú

Una vez que las entradas ha sido leída y multiplicadas por los pesos correspondientes, se conduce a la unidad de procesamiento en la que a través de una función de activación, determina el valor de salida Yi (t), como observamos en la siguiente ecuación. n

Y i ( t ) = f ( ∑ W ij X j =1

siendo

j

− θ i ), ∀ i ,1 ≤ i ≤ m

 el valor del treshold único para cada unidad de procesamiento y valor que al igual que los

pesos también es corregido para cada interacción. Por ello, la importancia de función de activación, de allí su selección minuciosa, pues la salida de la neurona es decidida por : (la función de Activación) como observamos en la Fig. 6. Tipos de funciones:

– Función Logistic: – Función tangente hiperbólica: – Función identidad:

1 1 + e− x 1 − e−x f ( x) = 1 + e− x f ( x) = x f ( x) =

Funciones de activación Fig. 6 Las bases matemáticas de los modelos de redes, son sistemas dinámicos, esto es un sistema que evoluciona a lo largo del tiempo. La ley del aprendizaje consiste en hallar los pesos que codifican ese conocimiento que deseamos que aprenda el sistema. Para la mayor parte de los sistemas reales, no es fácil determinar una solución en forma cerrada para este sistema de ecuaciones. Existen técnicas que dan lugar a una aproximación razonable de la solución, probar la existencia de soluciones estables para estos tipos de sistemas es objeto de intensas investigaciones en la actualidad y es probable que se sigan haciéndose durante algún tiempo mas .La corrección de pesos en su forma mas simple se denota: EP :=  Ψ i( t) − Y i( t) 

∆ W ij := η ⋅  ψ i( t) − Y i( t)  ⋅ χ

donde

j

ψ es el valor de la solución deseada (solución esperada de acuerdo a los datos de entrenamiento

con los que contamos). El Perceptrón, puede aprender sólo funciones que linealmente separan los datos, por consiguiente: la data es separable por un hiperplano en el espacio (n dimensional).

Gerencia XIV CONIC: ICG Instituto de la Construcción y Gerencia Calle Nueve 1056 Urb. Corpac San Isidro, LIMA – PERU / (51 – 1) 225-9066 / www.construccion.org.pe / [email protected]

Ver indice

6

XIV CONGRESO NACIONAL DE INGENIERIA CIVIL - IQUITOS 2003 Capítulo de Ingeniería Civil del Consejo Departamental de Loreto del Colegio de Ingenieros del Perú

Según la Fig. 7 las clases A, B,C, representan patrones de datos. Separados por limites de selección que serán definidos por el programador.

Problema clasificador usando multilayer perceptrón Fig. 7 BACKPROPAGATION Esta palabra significa propagar hacia atrás “señales de error” dentro de la una red. Los problemas tales como el ejemplo de una imagen con ruido, son difíciles de resolver debido a la incompatibilidad básica existente entre la maquina y el problema. La mayoría de los sistemas actuales de computadores se han diseñado para llevar a cabo funciones matemáticas y lógicas con velocidades que resultan incompresibles para un ser humano, incluso los microcomputadores pueden realizar cientos e incluso miles de comparaciones numéricas o combinaciones por segundo. Sin embargo la destreza matemática no es lo que se necesita para reconocer tramas complejas en entornos ruidosos. De hecho la búsqueda algorítmica, incluso dentro de un espacio de entrada relativamente pequeño, puede llegar a consumir mucho tiempo, lo que necesita es un nuevo sistema de procesamiento que sea capaz de examinar todos lo pixeles de la imagen en paralelo, idealmente ese sistema no tendría que ser programado explícitamente lo que haría es adaptarse a si mismo para “aprender” la relación entre un conjunto de tramas dadas como ejemplo y seria capaz de aplicar la misma relación

ha nuevas tramas de entrada. Este sistema seria capaz de encontrarse en las

características de una entrada arbitraria que se asemeje a otras tramas vistas previamente, tal como los pixeles de una imagen ruidosa que parecen un carácter conocido, y seria capaz de ignorar el ruido, afortunadamente existe un sistema así, que recibe el nombre de red de propagación hacia atrás. Esta red, aprende un conjunto predefinido de pares de entradas y salidas, dados como ejemplos, empleando un ciclo de propagación - adaptación de dos faces. Una vez que se ha aplicado una trama de entrada como estimulo para la primera capa de unidades de la red, esta se va propagando a través de todas las capas superiores hasta generar una salida.

Gerencia XIV CONIC: ICG Instituto de la Construcción y Gerencia Calle Nueve 1056 Urb. Corpac San Isidro, LIMA – PERU / (51 – 1) 225-9066 / www.construccion.org.pe / [email protected]

Ver indice

7

XIV CONGRESO NACIONAL DE INGENIERIA CIVIL - IQUITOS 2003 Capítulo de Ingeniería Civil del Consejo Departamental de Loreto del Colegio de Ingenieros del Perú

La señal de salida se compara con la salida deseada, y se calcula una señal de error para cada unidad de salida. Las señales de error se transmiten entonces hacia a tras, partiendo de la capa de salida hacia todos los nudos de la capa intermedia que contribuyan directamente a la salida. Sin embargo, las unidades de la capa intermedia solo reciben una fracción de la señal total del error, basándose aproximadamente en la contribución relativa que haya aportado la unidad de salida original.

Red Neuronal Artificial: Aplicando El Algoritmo de Backpropagatión Fig. 8 La corrección de pesos:

∆wki = −η

∂+ Ep ∂wki

∂ + E p ∂xi = −η = −ηε i xk ∂xi ∂wki

Este proceso se repite capa por capa, hasta que todos los nodos de la red hayan recibido una señal de error que describa su contribución relativa al error total. Basándose en la señal de error perceptiva, se actualizan los pesos de conexión de cada unidad, para hacer que la red converja hacia un estado que permita codificar todas las tramas de entrenamiento. La importancia de este proceso consiste que a medida que se entrena la red, los nodos de las capas intermedias se organizan a si mismos, de tal modo que los distintos nodos aprendan a reconocer distintas características

del espacio total de entradas. Después del entrenamiento, cuando se les

presenta una trama arbitraria de entrada que contenga ruido o que este incompleta, las unidades de las capas ocultas de la red responderán con una salida activa, si la nueva entrada contiene una trama que se

Gerencia XIV CONIC: ICG Instituto de la Construcción y Gerencia Calle Nueve 1056 Urb. Corpac San Isidro, LIMA – PERU / (51 – 1) 225-9066 / www.construccion.org.pe / [email protected]

Ver indice

8

XIV CONGRESO NACIONAL DE INGENIERIA CIVIL - IQUITOS 2003 Capítulo de Ingeniería Civil del Consejo Departamental de Loreto del Colegio de Ingenieros del Perú

asemeja a aquellas características que las unidades hayan aprendido a reconocer durante su entrenamiento . Y a la inversa, las unidades de las capas ocultas, tienen una tendencia de inhibir sus salidas si la trama de entrada no contiene la características para reconocer la cual han sido entrenadas. El resultado global de este comportamiento es que la propagación hacia atrás constituye un método eficiente para permitir a un sistema de computadoras examinar tramas de datos que pueden ser ruidosas o estar incompletas y reconocer tramas sutiles a partir de entradas parciales. El que una red aprenda mas deprisa dependerá de: El numero de capas ocultas El algoritmo usado, El numero de datos de entrada así como de la confiabilidad de estos, etc. entonces las dimensiones de una red será variante. El tamaño de la capa de entrada suele venir dictado por la naturaleza de la aplicación. En general se puede utilizar todos los datos que estén disponibles para entrenar la red, aunque quizás no sea necesario utilizarlos todos. El numero de unidades que hay que utilizar en la capa oculta no suele ser tan evidente como los es para la capa de entrada y salida. La idea principal consiste en utilizar el menor numero posible de unidades en la capa oculta. Para redes de tamaño razonable (cientos o miles de entradas), el tamaño de la capa oculta solo necesita ser una fracción relativamente pequeña del que tiene la capa de entrada, si la red no llega a converger para llegar a una solución, cabe usar mas nodos ocultos, si converge, se puede probar con un numero inferior de nodos ocultos y determinar el tamaño final basándose en el rendimiento global del sistema. Esto se evaluara a medida que se este entrenando la red. Otra forma de incrementar la velocidad de convergencia consiste en utilizar una técnica llamado MOMENTO

(Cuando se calcula el valor del cambio de peso se añade una fracción de cambio

anterior). Este termino adicional tienden a mantener los cambios de peso en la misma dirección, de aquí el termino MOMENTO. Las ecuaciones de cambio de pesos de la capa de salida pasan entonces a ser:

W ij ⋅ ( t + 1) := W ij ⋅ ( t ) + η ⋅ δ

ik

+ α W ij ⋅ ( t − 1)

Gerencia XIV CONIC: ICG Instituto de la Construcción y Gerencia Calle Nueve 1056 Urb. Corpac San Isidro, LIMA – PERU / (51 – 1) 225-9066 / www.construccion.org.pe / [email protected]

Ver indice

9

XIV CONGRESO NACIONAL DE INGENIERIA CIVIL - IQUITOS 2003 Capítulo de Ingeniería Civil del Consejo Departamental de Loreto del Colegio de Ingenieros del Perú

Siendo “α” alfa el parámetro de momento y suele dársele un valor positivo menor que 1 . también es opcional el uso del termino de momento. Hemos realizado 10000 interaciones, variando el factor de aprendizaje, α para 0.5, 0.75 y 1.0 y de esta manera observar como va variando el % de error, ver Fig. 9. En las primeras 7000 interaciones, es donde se presenta la mayor variación de errores, para luego ir estabilizándose.

Factores de Aprendizaje Fig. 9 APLICACIONES EN LA INGENIERIA CIVIL PROGRAMA CLASIFICADOR: Para desarrollar estos conocimientos, se adjunta un programa el cual es un clasificador, realizado el lenguaje C++, usado para predecir los diferentes tipos de relación agua/cemento ( a/c ), embace ha algunos parámetros que conozcamos (resistencia a la compresión , resistencia a la tracción, etc.), para nuestro caso son datos de probetas, tomados de tesis de investigación, que recogían trabajos experimentales de mezclas de concreto, obtenidos de ensayos en laboratorio (este banco de Datos fue, previamente escalado con otra pequeña rutina). Mencionamos otras aplicaciones en la ingeniería civil (ANNS), que se sugieren como futuros temas de investigación: modelando materiales, mantenimiento de carreteras, asentimientos por licuefacción, la determinación de capacidades, el análisis estructural y diseño, la optimización del diseño Estructural, Diseño de muros de la Albañilería etc. CONCLUSIONES: No hay ninguna regla o parámetros que haya que seguir, la cual nos indique como debe ser la estructura de la red neuronal artificial que debamos usar, esta será diferente para cada tipo de problema a resolver Gerencia XIV CONIC: ICG Instituto de la Construcción y Gerencia Calle Nueve 1056 Urb. Corpac San Isidro, LIMA – PERU / (51 – 1) 225-9066 / www.construccion.org.pe / [email protected]

Ver indice

10

XIV CONGRESO NACIONAL DE INGENIERIA CIVIL - IQUITOS 2003 Capítulo de Ingeniería Civil del Consejo Departamental de Loreto del Colegio de Ingenieros del Perú

y será el operador quien defina esto a medida que vaya aumentando o disminuyendo, las unidades de procesamiento, así como la el numero de capas ocultas y así llegara a que su red funcione satisfactoriamente, encontrando el numero adecuado de epoch, para que la respuestas converjan además pudiendo optimizar la red; Una de las formas de ver por que camino vamos, es ir observando que el % de error baya disminuyendo a medida que aumenta el numero de epoch. El programa desarrollado como aplicación de este trabajo, ha sido realizado en fases, y para poder medir en cada una de estas, el esfuerzos de trabajo, se ha asociado de la siguiente manera: Establecimiento del problema 20%, Preparación de los datos 50%, Procesamiento de la data 20%, Evaluación de resultados 10%. Es posible aplicar estos conocimientos a cualquier problema que deseemos resolver en el campo de la ingeniería, pero de acuerdo a los porcentajes descritos arriba se recomienda como requisito principal, contar con un adecuado banco de datos, lo suficientemente rico, para que nuestra red pueda aprender con ellos. REFERENCIAS: 1.

Cheng M, Popplewell N. Neural network for earthquake selection in structural time history

Analysis. Earthquake Eng. Struct. Dyn,1994. 2.

Waszczyszyn Z. Some new results in applications of backpropagation neural networks in

structural and civil engineering, Edinburgh: Civil-Comp Press; 1998. p. 173–87. 3. Dr. Carlos Zabala Curso de Introducción a Redes Neuronales Universidad Nacional de Ingeniaría , Escuela de pos grado de Facultad de Ingeniería civil. UNI. 2002 4. James e. Freeman. Redes Neuronales, Algoritmos Aplicaciones y Técnicas de Programación. Edición 1997-España.

Ing. Karina Carbajal Valdivia. * Escuela de pos grado de Facultad de Ingeniería CiviL - UNI.

Gerencia XIV CONIC: ICG Instituto de la Construcción y Gerencia Calle Nueve 1056 Urb. Corpac San Isidro, LIMA – PERU / (51 – 1) 225-9066 / www.construccion.org.pe / [email protected]

Ver indice

11

Get in touch

Social

© Copyright 2013 - 2024 MYDOKUMENT.COM - All rights reserved.