Human Computation Steven Emory CS 575. Overview What is Human Computation? History of Human Computation Examples of Human Computation Bad Example Good.

Slides:



Advertisements
Similar presentations
Chapter 14 Recursion Lecture Slides to Accompany An Introduction to Computer Science Using Java (2nd Edition) by S.N. Kamin, D. Mickunas,, E. Reingold.
Advertisements

Introduction to Algorithms Quicksort
Numerical Computation Lecture 4: Root Finding Methods - II United International College.
also known as the “Perceptron”
David Luebke 1 4/22/2015 CS 332: Algorithms Quicksort.
Confidentiality/date line: 13pt Arial Regular, white Maximum length: 1 line Information separated by vertical strokes, with two spaces on either side Disclaimer.
The University of Georgia Department of Computer Science Department of Computer Science Introducing Parallelism through Sorting Integrating Concepts from.
Sorting Algorithms Bryce Boe 2012/08/13 CS32, Summer 2012 B.
Quick Sort, Shell Sort, Counting Sort, Radix Sort AND Bucket Sort
Stephen P. Carl - CS 2421 Recursive Sorting Algorithms Reading: Chapter 5.
Quicksort Quicksort     29  9.
Sorting and selection – Part 2 Prof. Noah Snavely CS1114
Quicksort CS 3358 Data Structures. Sorting II/ Slide 2 Introduction Fastest known sorting algorithm in practice * Average case: O(N log N) * Worst case:
CS 206 Introduction to Computer Science II 04 / 28 / 2009 Instructor: Michael Eckmann.
Data Structures and Algorithms PLSD210 Sorting. Card players all know how to sort … First card is already sorted With all the rest, ¶Scan back from the.
Fundamentals of Algorithms MCS - 2 Lecture # 16. Quick Sort.
Section 8.8 Heapsort.  Merge sort time is O(n log n) but still requires, temporarily, n extra storage locations  Heapsort does not require any additional.
CS 206 Introduction to Computer Science II 12 / 09 / 2009 Instructor: Michael Eckmann.
Sorting Part 2 CS221 – 3/4/09. Announcements Midterm: 3/11 – 15% of your total grade – We will review in class on 3/9 – You can bring one sheet of paper.
Crowdsourcing research data UMBC ebiquity,
CS 206 Introduction to Computer Science II 12 / 05 / 2008 Instructor: Michael Eckmann.
S: Application of quicksort on an array of ints: partitioning.
Human Computation CSC4170 Web Intelligence and Social Computing Tutorial 7 Tutor: Tom Chao Zhou
CS 206 Introduction to Computer Science II 12 / 08 / 2008 Instructor: Michael Eckmann.
Lecture 30 CSE 331 Nov 10, Online Office Hours
Human Computation Steven Emory CS 575 Human Issues in Computing.
A Genetic Algorithms Approach to Feature Subset Selection Problem by Hasan Doğu TAŞKIRAN CS 550 – Machine Learning Workshop Department of Computer Engineering.
1 Time Analysis Analyzing an algorithm = estimating the resources it requires. Time How long will it take to execute? Impossible to find exact value Depends.
CHAPTER 09 Compiled by: Dr. Mohammad Omar Alhawarat Sorting & Searching.
Recursion, Complexity, and Sorting By Andrew Zeng.
Merge Sort. What Is Sorting? To arrange a collection of items in some specified order. Numerical order Lexicographical order Input: sequence of numbers.
1 ECE-517 Reinforcement Learning in Artificial Intelligence Lecture 7: Finite Horizon MDPs, Dynamic Programming Dr. Itamar Arel College of Engineering.
Design and Analysis of Algorithms Dynamic Set Model Haidong Xue Summer 2012, at GSU.
CS 61B Data Structures and Programming Methodology July 28, 2008 David Sun.
September 29, Algorithms and Data Structures Lecture V Simonas Šaltenis Aalborg University
Evolutionary Art with Multiple Expression Programming By Quentin Freeman.
CSC 211 Data Structures Lecture 13
ADVANCED PERCEPTRON LEARNING David Kauchak CS 451 – Fall 2013.
Enhanced Learning Through Web-Based Team and Individual Projects.
CS 361 – Chapters 8-9 Sorting algorithms –Selection, insertion, bubble, “swap” –Merge, quick, stooge –Counting, bucket, radix How to select the n-th largest/smallest.
Min Chen School of Computer Science and Engineering Seoul National University Data Structure: Chapter 2.
Algorithms and their Applications CS2004 ( ) 13.1 Further Evolutionary Computation.
Lecture 13: 10/10/2002CS149D Fall CS149D Elements of Computer Science Ayman Abdel-Hamid Department of Computer Science Old Dominion University Lecture.
 Based on observed functioning of human brain.  (Artificial Neural Networks (ANN)  Our view of neural networks is very simplistic.  We view a neural.
Introduction to Genetic Algorithms. Genetic Algorithms We’ve covered enough material that we can write programs that use genetic algorithms! –More advanced.
Review 1 Selection Sort Selection Sort Algorithm Time Complexity Best case Average case Worst case Examples.
Program Design. The design process How do you go about writing a program? –It’s like many other things in life Understand the problem to be solved Develop.
Delivering Business Value through IT Face feature detection using Java and OpenCV 1.
§3.6 Newton’s Method. The student will learn about
Sorting 1. Insertion Sort
Sorting and selection – Part 2 Prof. Noah Snavely CS1114
QuickSort Choosing a Good Pivot Design and Analysis of Algorithms I.
Liz Balsam Advisor: Bahman Kalantari.  Term coined by Dr. Kalantari  Polynomial + graph  Definition: the art and science of visualization in the approximation.
Data Structures and Algorithms in Parallel Computing Lecture 8.
Priority Queues CS 110: Data Structures and Algorithms First Semester,
Department of Computer Science Undergraduate Events More
Lecture 3 Sorting and Selection. Comparison Sort.
Data Structures and Algorithms Instructor: Tesfaye Guta [M.Sc.] Haramaya University.
Document that explains the chosen concept to the animator 1.
INTRO2CS Tirgul 8 1. Searching and Sorting  Tips for debugging  Binary search  Sorting algorithms:  Bogo sort  Bubble sort  Quick sort and maybe.
Evolutionary Computation Evolving Neural Network Topologies.
Algorithm Design Techniques, Greedy Method – Knapsack Problem, Job Sequencing, Divide and Conquer Method – Quick Sort, Finding Maximum and Minimum, Dynamic.
Document that explains the chosen concept to the animator
Chapter 7 Sorting Spring 14
Document that explains the chosen concept to the animator
Sorting … and Insertion Sort.
Quickselect Prof. Noah Snavely CS1114
Interactive media.
Divide & Conquer Sorting
Quicksort and selection
Presentation transcript:

Human Computation Steven Emory CS 575

Overview What is Human Computation? History of Human Computation Examples of Human Computation Bad Example Good Example Challenges in Human Computation

Definition of Computation Normally we rely on computers to do all the work On input: Step #1 Step #2... Step #n Ouput

Definition of Human Computation Some or all steps are solved by human(s)‏ On input: Step #1 Step #2 (ask a human)‏ Step #3 (ask a human)‏... Step #n Ouput

History of Human Computation 1980's: Interactive Genetic Algorithms 2000's: Human-Based Genetic Algorithms 2000's: Outsourced Human Spam 2000's: Interactive Guessing Games

Quicksort Example Bad Example: Quicksort Input: Unsorted array Select a pivot (human selection)‏ Swap last element with pivot element Partition array using pivot element Insert pivot element into correct position Repeat above steps for left/right side partitions Output: Sorted array

Quicksort Problems Solved faster by computer alone Not rewarding Boring Painful

Photomosaic Example Photomosaic Algorithm Can be solved by computer alone. On input “image gallery,” “source image” 1.) Tile source image. 2.) From left-to-right, top-to-bottom, compare each image in the image gallery to each tile in the source image, inserting the gallery image with the lowest error. 3.) Output photomosaic.

Photomosaic Problems Noticable visual artifacts Could use a randomized algorithm instead Can we do better using Human Computation? Of course!

Photomosaic Solutions Optimize important features first Objects (eyes, nose, mouth)‏ Edges (chin, facial edges, hair, body)‏ Revised algorithm: On input “image gallery,” “source image” 1.) Tile source image. 2.) Select important features (ask human). 3.) Optimize (randomly) important features. 4.) Optimize (randomly) unimportant features. 5.) Output photomosaic.

When to Use When the problem: is hard for a computer, but easy for a human can be done better by a human needs a human-like (artistic/creative) solution is not boring to a human (music, art, games)‏ is rewarding (financially or emotionally)‏ is one and done

Human Computation Challenges User interface design Coordinating many human participants Analagous to distributed computing Honesty Prolonged computation

reCAPTCHA Example Used to digitize old books (make e-books)‏ OCR normally works 99% of the time OCR accuracy drops for older books Old paper Old printing techniques Solution: Ask humans to determine words OCR fails to classify When enough humans agree, consider it solved

reCAPTCHA Example

Metadata Example Algorithm: Assign metadata to images Useful for content/multimedia management systems (i.e. Istockphoto)‏ No algorithm exists for image labeling Luis Von Ahn's solution: The ESP Game ESP Game Demo

Metadata Example Problem: Getting humans to agree correctly

Electric Sheep Example Brief fractal explanation: Iterative process based on chaos, dynamical systems Newton's Method Fractal Solve az3 + bz2 + cz + d = 0 for complex numbers a, b, c, d are fractal parameters Cubic equation has 3 roots Red = converges to root #1 Green = converges to root #2 Blue = converges to root #3 Black = fails to converge

Electric Sheep Example

Interactive genetic algorithm Humans evaulate fitness Animated fractal parameters are mutated Algorithm has been running for years Implemented as a screensaver

Electric Sheep Example

Conclusions There many hard/impossible to solve problems Nothing shameful about using Human Computation Applications in art, music, computer vision, security, content management

References Luis Von Ahn Google Talk lecture on Human Computation The Art of Artificial Evolution (2008)‏ 460aa17749eb8153fec3d0507f68&pi=9