Computer Sciences is SCIENCE - Instituto Antioqueño de

Anuncio
RACCIS, 3(2), 43-46, 2013
Revista Antioqueña de las
Ciencias Computacionales y la Ingeniería de Software
ISSN: 2248-7441
www.fundacioniai.org/raccis
[email protected]
Computer Sciences is SCIENCE
Las Ciencias Computacionales como CIENCIA
Alexei Ivan
Software Engineering Institute, Romania. Alexei.i(AT)softute.ro
INFORMACIÓN DEL ARTÍCULO
Tipo de artículo: Reflexión
Historia del artículo
Recibido: 18-08-2013
Correcciones: 25-10-2013
Aceptado: 07-11-2013
Categories and Subject Descriptors
K.3.2 [Computers and Education]:
Computer and Information Science
Education – Computer science
education.
General Terms
Computer Science, Computing.
Keywords
Computer
Science,
Computational Scientists.
Science,
Palabras clave
Ciencias Computacionales, Ciencia,
Científicos Computacionales.
ABSTRACT
In many ways and traditional fields, to Computer Science are seen as a tool, but for most it is
a discipline that enriches many other disciplines, and this is one of the most interesting and
important things about it. But that's also what makes it so difficult to classify and quantify,
though of course it does not have to fit perfectly anywhere. The issue will be classified as
something as something that may be a little easier for other scientists, and provide to
computationals begin to understand what is and what should be your goal. This article is a
thoughtful analysis and presents a vision of these sciences as SCIENCE.
RESUMEN
En muchos aspectos y campos tradicionales, a las Ciencias Computacionales se les observa
como una herramienta, pero para la mayoría es una disciplina que enriquece muchas otras
disciplinas, y esta es una de las cosas más interesantes y más importantes al respecto. Pero
eso es también lo que hace que sea tan difícil de clasificar y de cuantificar, aunque por
supuesto no tiene que encajar perfectamente en cualquier parte. El asunto de clasificarla
como algo puede que sea un poco más fácil para otros científicos, y les facilitaría a los
computacionales comenzar a entender lo que es y cuál debería ser su objetivo. En este
artículo se hace un análisis reflexivo y se presenta una visión de estas ciencias como
CIENCIA.
1. INTRODUCCIÓN
Existe una vieja frase que mantiene su vigencia desde
hace tiempo en ciertos círculos: una disciplina no es
ciencia sólo por el hecho de tener la palabra CIENCIA en
su nombre. ¿Hay algo de verdad en esta afirmación?
Cuando en esos círculos las personas empiezan a pensar y
a analizar esta pregunta, tienen la falsa creencia de que la
respuesta se estructura fácilmente, pero cuanto más
piensan en ella, más se dan cuenta de lo compleja que es
esta cuestión. Y es que este asunto ha sido motivo de
debate por siglos, porque desde que la sociedad comenzó
a superar la era industrial, se generó una especie de
incertidumbre científico-académica, es decir, al pasar de
necesitar operarios, técnicos y tecnicistas en todas las
actividades de desarrollo, ya no sabían cuál era el nivel
que se requería. Entonces se optó, en muchas
comunidades, por agregarle la palabra ciencia a los
nombres de sus disciplinas, como Ciencias Jurídicas,
Ciencias Sociales, Ciencias Políticas, Ciencias Humanas, y
así sucesivamente. Se creó una especie de el último apaga
y cierra, porque todos pescaban en río revuelto y ninguna
disciplina se quería quedar por fuera del juego. Así nació
la mayoría de las que hoy se consideran ciencias, y al
© 2013 IAI. All rights reserved.
parecer nadie se ha preocupado por decir lo contrario; y
siempre que no se refieran a su área disciplinar, todas
pueden ser CIENCIAS.
Por ejemplo, un científico computacional se asocia en el
campus con otros científicos de otras áreas, y hasta cierto
punto esa asociación funciona bien, porque comparten
experiencias y tienen intereses comunes de investigación,
aunque existen cuestiones fundamentales en las que
difieren, como la necesidad que tienen los físicos de un
laboratorio tradicional, y es por esto que algunos colegas
piensan que las Ciencias Computacionales no se deben
considerar una ciencia, porque no pasa esta prueba de
fuego. Pero remplace Ciencias Computacionales, por
ejemplo por Arte, Ingeniería o cualquier otro campo o
disciplina del conocimiento, y se podría llegar a
argumentos similares.
En muchos aspectos, a las Ciencias Computacionales se les
observa como una herramienta, pero es una disciplina
que enriquece muchas otras disciplinas, y esta es una de
las cosas más interesantes y más importantes al respecto.
Pero eso es también lo que hace que sea tan difícil de
43
clasificar y de cuantificar, aunque por supuesto no tiene
que encajar perfectamente en cualquier parte [1]. El
asunto de clasificarla como algo puede que sea un poco
más fácil para otros científicos, y les facilitaría a los
computacionales comenzar a entender lo que es y cuál
debería ser su objetivo. Lograr este fuerte sentido de sí
mismo, de la identidad como campo, es crucial para su
supervivencia como área científica.
En este artículo se hace un análisis al caso de las Ciencias
Computacionales, un área más reciente que muchas de las
nombradas anteriormente. Como campo, estas ciencias
ofrecen algunas de las preguntas y áreas de exploración
más interesantes, desafiantes y fundamentales para la era
actual. Junto a la tecnología en general, han transformado
sustancialmente a la sociedad, la cultura, la ciencia y el
arte, y la humanidad sólo han empezado a conocer la
superficie de lo que se puede realizar con ellas. Sólo para
resaltar este punto, ¿qué actividad humana no tiene
relación con un computador, un programa software o un
microchip? Sin embargo, el asunto es que un científico
computacional no encaja fácilmente en ninguno de los
grupos de las disciplinas tradicionales, porque trabaja con
otros científicos, pero también con ingenieros,
humanistas, artistas, sociólogos, bibliotecarios, y la mayor
parte, por no decir la totalidad, de su labor, no se percibe
en lo físico, porque es lo que la misma ciencia considera
soft.
2. ¿QUÉ ES CIENCIA?
Para la mayoría de personas parece suficiente el hecho de
aplicar cierta prueba de fuego para determinar si algo es
una ciencia, y llegan a la conclusión de que ese algo será
ciencia sí:
1. Utiliza el método científico; es decir, investigación
empírica y observación, y
2. Implica el estudio de los principios fundamentales del
mundo natural o físico.
Para el caso de las Ciencias Computacionales el primer
punto es más fácil de abordar, porque estos científicos
utilizan el método científico todo el tiempo: formulan
hipótesis acerca de cómo se debe comportar un sistema o
algoritmo concreto, desarrollan experimentos para
probar la hipótesis, recogen datos, analizan,… Lo que pasa
es que las Ciencias Computacionales se basan en un
profundo sentido de empirismo, donde el método
científico desempeña un papel esencial en el proceso de
hacer ciencia, y las entidades o sistemas que estudian no
se acoplan al mundo natural sin la intervención del
hombre, porque son sistemas complejos que todavía no se
comprenden ampliamente, debido a se originan en
procesos tecnológicos y sociales complejos [2].
Ahora bien, qué pasa con el segundo punto. Responder si
las Ciencias Computacionales implican suficientemente el
estudio de los principios fundamentales del mundo natural
o físico es mucho más complicado. Es evidente que
algunas partes de ellas estudian el mundo natural y físico,
como la computación científica, por ejemplo, pero en este
contexto, la tecnología computacional se utiliza para
responder a una cuestión científica específica, o a un
conjunto de cuestiones, y necesariamente no implica la
generación efectiva de la hipótesis, porque se supone que
se debe haber conformada primero, y entonces la
tecnología se aplica como una herramienta de prueba.
Pero, ¿implican las Ciencias Computacionales, en sí
mismas, suficientemente el estudio de los principios
fundamentales de algo? Una forma de responder es
ligándolas a las matemáticas, porque en contraste con casi
todas las otras disciplinas el fenómeno central que
estudia está casi enteramente definido e investigado a
través de la abstracción. Además, están tan
estrechamente entrelazadas con sus aplicaciones
tecnológicas que es difícil hacer distinciones entre éstas y
su contenido puramente científico. Pero este contenido,
sin duda, está presente; por ejemplo, si existen algoritmos
eficientes para los problemas NP-difíciles es una cuestión
científica objetiva, que todavía no se ha resuelto.
Por otro lado, la ciencia es algo más que probar hipótesis,
porque en ocasiones las respuestas no son claras. Si así
fuera, sería como un matemático elaborando
especificaciones de diseño, o un ingeniero construyendo
aspectos para diseño, y entonces el argumento parece
reducirse a si las matemáticas son una ciencia. Debido a
que parte de las Ciencias Computacionales estudian los
sistemas, ¿podrían entonces esos sistemas ser
considerados ciencia? [3]. Estudiar los grandes sistemas
es de gran valor, porque los seres humanos han
comenzado a construir sistemas muy complejos, que
actualmente sólo se comprenden superficialmente. Esto
suele ser una sorpresa para los científicos nocomputacionales y las personas no-tecnológicas, porque
poseer la capacidad para construirlos no implica que se
comprendan totalmente.
Hace un tiempo Bertrand Russell dijo que la ciencia trata
acerca de la descripción, no de la lógica o de la causalidad,
o de cualquiera otra noción ingenua que tengamos acerca
de una necesidad. Los científicos describen cosas, y en
este contexto las Ciencias Computacionales son en
muchos sentidos el último esfuerzo científico, o al menos
uno fundamental, porque son las ciencias de la
descripción. Estos científicos aprenden cómo describir
algo y cómo procesarlo mejor, más precisa y más
útilmente. Además, las descripciones de procesos, cuyo
comportamiento se puede observar, son más útiles que
las descripciones estáticas de los limitados poderes
interpretativos de la mente humana. El estudio de cómo
escribir descripciones ―programas― les ha enseñado más
acerca del lenguaje y la expresividad y complejidad de lo
que las matemáticas nunca podrían enseñarles. Y esto
sólo empezando a rasgar la superficie.
Por todo lo anterior se debe asumir que las Ciencias
Computacionales son CIENCIA, aunque de hecho no
cumplan a cabalidad con ambos puntos. Pero también hay
que reconocer que el segundo es un asunto difícil, porque
requiere aceptar que las entidades sintéticas generadas
por el hombre constituyen un mundo, en el que se puede y
necesita descubrir principios fundamentales. Aunque
44
algunos podrían argumentar que, de hecho, el estudio de
lo sintético es ingeniería y no necesariamente ciencia.
3. ¿QUÉ HACEN LOS CIENTÍFICO COMPUTACIONALES?
Antes de analizar más profundamente si las Ciencias
Computacionales son o no ciencia, es conveniente realizar
una presentación, para los lectores científicos no
computacionales, acerca de lo que hacen realmente los
científicos computacionales. La mayor parte de su tiempo
se encuentran trabajando en proyectos, o escribiendo una
conferencia o artículo científico; los problemas de
investigación que abordan son difíciles, y requieren un
proceso de pensar-planificar-analizar; y todo el tiempo
esbozan en papel o en tablero los diseños de sistemas,
diagramas, esquemas de codificación, o algoritmos. En
muchas ocasiones trabajan con ecuaciones para modelar
matemáticamente algún aspecto del sistema que
investigan, y cuando los modelos son complicados,
utilizan herramientas para encontrar patrones, lo que
requiere la mayoría de su atención y energía cerebral.
Parte de su tiempo lo dedican a atender a los estudiantes,
generalmente a través de asesorías y consultas; también
se reúnen con otros colegas, iguales o de otras disciplinas,
para discutir los procesos en los cuales pueden colaborar
de alguna manera, o simplemente para charlar. Luego
regresan a depurar el código, o a configurar y ejecutar
experimentos para recopilar o analizar datos, a la vez que
redactan los informes de resultados y para estructurar
scripts para divulgar su trabajo [4].
4. LAS CIENCIAS COMPUTACIONALES COMO CIENCIA
Esta área del conocimiento tuvo sus inicios en la década
de 1950, y durante los siguientes 40 años acumuló una
serie de principios que se extendían más allá de sus
fundamentos matemáticos originales, que incluyeron a la
ciencia computacional, los sistemas, la ingeniería y el
diseño. En 1989 se opinó que la disciplina computacional
era el estudio sistemático de los procesos algorítmicos,
que describen y transforman información: teoría, análisis,
diseño, eficiencia, implementación y aplicación [5].
En este campo científico se combinan, de forma única y
potencializada, la ciencia, la ingeniería y las matemáticas,
y algunas de sus actividades principalmente son ciencia,
por ejemplo, los algoritmos experimentales, la
informática experimental, y la ciencia computacional;
algunas son principalmente ingeniería, como el diseño, el
desarrollo, la Ingeniería de Software y la ingeniería
informática; algunas son principalmente matemáticas:
complejidad computacional, software matemático, y
análisis numérico; pero la mayoría son combinaciones de
estos conjuntos, aunque estas actividades se basan en los
mismos principios fundamentales [6]. En 1989, se utilizó
el término computación en lugar de Ciencias
Computacionales, matemáticas o ingeniería, pero
actualmente, la informática, la ingeniería, las
matemáticas, el arte y todas sus combinaciones, se
agrupan
bajo
un
mismo
nombre:
Ciencias
Computacionales.
El paradigma científico, que se remonta a Bacon, es el
proceso de formar hipótesis y ponerlas a prueba a través
de experimentos, y entonces las hipótesis exitosas se
convierten en modelos que explican y predicen los
fenómenos en el mundo. Las Ciencias Computacionales
siguen este paradigma en el estudio de los procesos de
información [7]. El sinónimo europeo para Informática
claramente sugiere que el campo trata acerca de los
procesos de la información, no de los computadores. Los
lexicógrafos ofrecen dos distinciones adicionales: 1) entre
ciencia pura y aplicada; la primera se centra en el
conocimiento per se, y la segunda en la utilidad
demostrable del mismo, 2) entre ciencia inexacta
(cualitativa) y exacta (cuantitativa); la primera se refiere
a la predicción y verificación mediante la observación, la
medición y la experimentación.
La investigación Informática está plagada de ejemplos del
paradigma científico, y los investigadores cognitivos están
convencidos de que gran parte del comportamiento
inteligente es el resultado del procesamiento de
información en el cerebro y el sistema nervioso, y para
demostrarlo construyen sistemas en los que implementan
procesos de información hipotéticos para compararlos
con la realidad. En estos estudios los computadores son
herramientas para probar la hipótesis, y los sistemas
exitosos se pueden implementar inmediatamente. Los
investigadores en Ingeniería de Software diseñan
modelos de programación para determinar cómo surgen
los defectos, y a través de las pruebas tratan de
comprender cuáles modelos funcionan bien y la forma de
utilizarlos para crear mejores programas con menos
defectos. Los investigadores en algoritmia experimental
estudian el rendimiento de los algoritmos reales en
conjuntos de datos reales, y formulan modelos para
predecir su tiempo y requisitos de almacenamiento;
además, algún día podrán producir una teoría más precisa
de Big-O-Cálculo e incluir una teoría de localidad. El
naciente campo de Interacción Humano-Computador está
examinando las formas en que los procesos humanos de
información interactúan con los procesos automatizados.
Estos argumentos permiten calificar a las Ciencias
Computacionales como como ciencias exactas, porque
estudian los procesos de información que se producen de
manera natural en el mundo físico; los científicos
computacionales trabajan con un cuerpo de conocimiento
aceptado y sistematizado, en el que aplican mucha ciencia
computacional, que utilizan para predecir y verificar. La
objeción de que estas ciencias no son ciencia porque
estudian objetos artificiales (tecnologías), es una cuestión
sin fundamento, porque estudian los procesos de la
información tanto artificial como natural, y ayudan a que
otros campos de estudio también lo hagan. Los físicos
explican el comportamiento de las partículas con los
procesos de la información cuántica, algunos de los cuales
son bastante extraños, y comprueban sus teorías con
experimentos de simulación por computador; los bioinformáticos explican el ADN como información biológica
codificada, y estudian cómo las enzimas de transcripción
leen y actúan en él; los modelos computacionales de estos
procesos les ayudan a personalizar las terapias para cada
paciente, y la farmacéutica y los laboratorios crean
moléculas artificiales, a través de simulaciones por
45
computador de los procesos de información de las
composiciones químicas subyacentes.
5. CONCLUSIONES
Acerca de este tema todavía queda mucho de qué hablar.
Pero muchos científicos han permitido que el bombo de
los departamentos de publicidad en las organizaciones
infiltre sus laboratorios. En una muestra de 400
documentos
relacionados
con
las
Ciencias
Computacionales y publicados antes de 1995, Tichy
encontró que aproximadamente el 50% de los modelos o
hipótesis que proponen no se han probado [8], mientras
que en otros campos científicos esa misma fracción era de
un 10%. Entonces, Tichy concluyó que esta incapacidad
para probar muchas ideas erróneas se trata de una
práctica que reduce la credibilidad de este campo como
ciencia. Pero también es cierto que es un campo
relativamente joven, apenas 60 años de edad, por lo que
es posible explicar la baja tasa de pruebas. Otras ciencias,
establecidas primero que las Computacionales,
necesitaron hasta tres generaciones para establecer la
solidez de sus principios.
Otra cuestión es que este campo parece ser una cuestión
generacional. Los miembros de mayor edad tienden a
identificarse con una de las tres raíces del campo: ciencia,
ingeniería o matemáticas, aunque el primer paradigma
sea en gran medida invisible en los otros dos. Por su
parte, la generación más joven, más familiarizada y
mucho menos impresionada con las nuevas tecnologías,
es más abierta al pensamiento crítico. Las Ciencias
Computacionales siempre han sido parte de su mundo,
por lo que no cuestionan su validez como CIENCIA, y en
sus investigaciones involucran cada vez más el paradigma
de la ciencia, lo que hace que en la literatura reciente se
muestre un marcado incremento hacia las pruebas que
todavía no se han hecho. El paradigma científico no hacía
parte de la corriente principal de las Ciencia
Computacionales, pero gracias al trabajo de los científicos
jóvenes pronto lo será.
6. REFERENCIAS
[1] Schokosva, N. & Buskova, I. (2013). What is that Thing Called
Computer Science? Rev. Antioqueña Ciencias Comput. Ing.
Softw. RACCIS, 3(1), pp. 12-18.
[2] Graham, P. (2004). Hackers and Painters: Big Ideas from the
Computer Age. O’Reilly and Associates.
[3] Cerrosen, J. & Pong, J. (2012). Science in Computational
Sciences. Rev. Antioqueña Ciencias Comput. Ing. Softw.
RACCIS, 2(2), pp. 12-20.
[4] Horgan, J. (2004). The end of science revisited. IEEE
Computer, 37(1), pp. 37-43.
[5] Denning, P. et al. (1989). Computing as a discipline.
Communications of ACM, 32(1), pp. 9-23
[6] Denning, P. (2003). Great principles of computing.
Communications of ACM, 46(10), pp. 15-20.
[7] National Research Council. (2004). Computer Science:
Reflections on the Field, Reflections from the Field. National
Academy Press.
[8] Tichy, W. (1988). Should computer scientists experiment
more. IEEE Computer, 31(5), pp. 32-40.
46
Descargar