1,230,908 research outputs found
Negative Results in Computer Vision: A Perspective
A negative result is when the outcome of an experiment or a model is not what
is expected or when a hypothesis does not hold. Despite being often overlooked
in the scientific community, negative results are results and they carry value.
While this topic has been extensively discussed in other fields such as social
sciences and biosciences, less attention has been paid to it in the computer
vision community. The unique characteristics of computer vision, particularly
its experimental aspect, call for a special treatment of this matter. In this
paper, I will address what makes negative results important, how they should be
disseminated and incentivized, and what lessons can be learned from cognitive
vision research in this regard. Further, I will discuss issues such as computer
vision and human vision interaction, experimental design and statistical
hypothesis testing, explanatory versus predictive modeling, performance
evaluation, model comparison, as well as computer vision research culture
Varying the Explanatory Span: Scientific Explanation for Computer Simulations
This article aims to develop a new account of scientific explanation for computer simulations. To this end, two questions are answered: what is the explanatory relation for computer simulations? And what kind of epistemic gain should be expected? For several reasons tailored to the benefits and needs of computer simulations, these questions are better answered within the unificationist model of scientific explanation. Unlike previous efforts in the literature, I submit that the explanatory relation is between the simulation model and the results of the simulation. I also argue that our epistemic gain goes beyond the unificationist account, encompassing a practical dimension as well
Quantum Analogue Computing
We briefly review what a quantum computer is, what it promises to do for us,
and why it is so hard to build one. Among the first applications anticipated to
bear fruit is quantum simulation of quantum systems. While most quantum
computation is an extension of classical digital computation, quantum
simulation differs fundamentally in how the data is encoded in the quantum
computer. To perform a quantum simulation, the Hilbert space of the system to
be simulated is mapped directly onto the Hilbert space of the (logical) qubits
in the quantum computer. This type of direct correspondence is how data is
encoded in a classical analogue computer. There is no binary encoding, and
increasing precision becomes exponentially costly: an extra bit of precision
doubles the size of the computer. This has important consequences for both the
precision and error correction requirements of quantum simulation, and
significant open questions remain about its practicality. It also means that
the quantum version of analogue computers, continuous variable quantum
computers (CVQC) becomes an equally efficient architecture for quantum
simulation. Lessons from past use of classical analogue computers can help us
to build better quantum simulators in future.Comment: 10 pages, to appear in the Visions 2010 issue of Phil. Trans. Roy.
Soc.
Flexible learning in computer science
This paper outlines the concept of Flexible Pedagogy and how it can assist in addressing some of the issues facing STEM disciplines in general, and Computer Science in particular. The paper considers what flexible pedagogy is and how technologies developed by Computer Science can enable flexibility. It then describes some of the issues facing STEM education, with a particular focus on Computer Science education in Higher Education. Finally, it considers how flexible approaches to teaching and learning are particularly pertinent to the issues faced in Computer Science and future opportunities
Julia: A Fresh Approach to Numerical Computing
Bridging cultures that have often been distant, Julia combines expertise from
the diverse fields of computer science and computational science to create a
new approach to numerical computing. Julia is designed to be easy and fast.
Julia questions notions generally held as "laws of nature" by practitioners of
numerical computing:
1. High-level dynamic programs have to be slow.
2. One must prototype in one language and then rewrite in another language
for speed or deployment, and
3. There are parts of a system for the programmer, and other parts best left
untouched as they are built by the experts.
We introduce the Julia programming language and its design --- a dance
between specialization and abstraction. Specialization allows for custom
treatment. Multiple dispatch, a technique from computer science, picks the
right algorithm for the right circumstance. Abstraction, what good computation
is really about, recognizes what remains the same after differences are
stripped away. Abstractions in mathematics are captured as code through another
technique from computer science, generic programming.
Julia shows that one can have machine performance without sacrificing human
convenience.Comment: 37 page
- …