Human Computation Steven Emory CS 575 Human Issues in Computing.

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
Genetic Algorithms (Evolutionary Computing) Genetic Algorithms are used to try to “evolve” the solution to a problem Generate prototype solutions called.
Order Statistics Sorted
David Luebke 1 4/22/2015 CS 332: Algorithms Quicksort.
Sorting Part 4 CS221 – 3/25/09. Sort Matrix NameWorst Time Complexity Average Time Complexity Best Time Complexity Worst Space (Auxiliary) Selection SortO(n^2)
Confidentiality/date line: 13pt Arial Regular, white Maximum length: 1 line Information separated by vertical strokes, with two spaces on either side Disclaimer.
Human- Computer Interfaces HUMAN COMPUTATION.  Humans helping solve large problems  Using humans WITH computers to solve problems not solvable be either.
Collaborative Human Computing Zack Zhu March 31, 2010 Seminar for Distributed Computing 1.
Quick Sort, Shell Sort, Counting Sort, Radix Sort AND Bucket Sort
CAPTCHA Presented by: Sari Louis SPAM Group: Marc Gagnon, Sari Louis, Steve White University of Illinois Spring 2006.
Crowdsourcing 04/11/2013 Neelima Chavali ECE 6504.
Sorting and selection – Part 2 Prof. Noah Snavely CS1114
DATA MINING LECTURE 12 Link Analysis Ranking Random walks.
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.
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.
CAPTCHA Presented By Sayani Chandra (Roll )
Crowdsourcing research data UMBC ebiquity,
Human Computation Steven Emory CS 575. Overview What is Human Computation? History of Human Computation Examples of Human Computation Bad Example Good.
Peekaboom: A Game for Locating Objects in Images
CS /29/2004 (Recitation Objectives) and Computer Science and Objects and Algorithms.
CAPTCHA Prabhakar Verma “08MC30”.
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.
Algorithmically Adversarial Input Design “Making Mathematical Reasoning Fun” Workshop ACM SIGCSE, 2013 Brian C. Dean, Chad Waters School of 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.
9/17/20151 Game Look and Feel CIS 487/587 Bruce R. Maxim UM-Dearborn.
Exploration Seminar 3 Human Computation Roy McElmurry.
Visualizing Information in Global Networks in Real Time Design, Implementation, Usability Study.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Lecture 8: 24/5/1435 Genetic Algorithms Lecturer/ Kawther Abas 363CS – Artificial Intelligence.
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.
September 29, Algorithms and Data Structures Lecture V Simonas Šaltenis Aalborg University
Evolutionary Art with Multiple Expression Programming By Quentin Freeman.
ADVANCED PERCEPTRON LEARNING David Kauchak CS 451 – Fall 2013.
Christoph F. Eick: Using EC to Solve Transportation Problems Transportation Problems.
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.
Chapter 4 Decision Support System & Artificial Intelligence.
 Based on observed functioning of human brain.  (Artificial Neural Networks (ANN)  Our view of neural networks is very simplistic.  We view a neural.
Review 1 Selection Sort Selection Sort Algorithm Time Complexity Best case Average case Worst case Examples.
§3.6 Newton’s Method. The student will learn about
Data Structures - CSCI 102 Selection Sort Keep the list separated into sorted and unsorted sections Start by finding the minimum & put it at the front.
ArrayList is a class that implements the List interface. The List interface is a blueprint for its “implementor” classes. There is another implementor.
Data Structures and Algorithms in Parallel Computing Lecture 8.
Data Structures and Algorithms Instructor: Tesfaye Guta [M.Sc.] Haramaya University.
Document that explains the chosen concept to the animator 1.
By: Steven Baker.  What is a CAPTCHA?  History of CAPTCHA  Applications of CAPTCHAs  Accessibility  Examples of CAPTCHAs  reCAPTCHA  Vulnerabilities.
INTRO2CS Tirgul 8 1. Searching and Sorting  Tips for debugging  Binary search  Sorting algorithms:  Bogo sort  Bubble sort  Quick sort and maybe.
Usability of CAPTCHAs Or usability issues in CAPTCHA design Authors: Jeff Yan and Ahmad Salah El Ahmad Presented By: Kim Giglia CSC /19/2008.
Modelling & Simulation of Semiconductor Devices Lecture 1 & 2 Introduction to Modelling & Simulation.
Evolutionary Computation Evolving Neural Network Topologies.
Billy Vivian Dr. Oblitey COSC  What is CAPTCHA?  History  Uses  Artificial Intelligence Relationship  reCAPTCHA  Works Cited.
SANDEEP MEHTA (ECE, IV Year). CAPTCHA Completely Automated Public Turing test to tell Computers and Humans Apart Invented at CMU by Luis von Ahn, Manuel.
Document that explains the chosen concept to the animator
Lesson Objectives Aims Understand the following “standard algorithms”:
Choreographies: the idea
Chapter 7 Sorting Spring 14
Supervised Learning Seminar Social Media Mining University UC3M
Document that explains the chosen concept to the animator
Sorting … and Insertion Sort.
Interactive media.
Presented By Vibhute J.B. Class : M.Sc. (CS)
Quicksort and selection
Presentation transcript:

Human Computation Steven Emory CS 575 Human Issues in Computing

Overview What is Human Computation? History of Human Computation Examples of Human Computation Challenges in Human Computation

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

Definition of Human Computation Some or all steps solved by human(s)‏ Roles reversed: Computer asks us to solve a problem On input: Step #1 Step #2 (ask a human)‏... Step #n Output

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

Notes on Human Computation While Interactive and Human-Based GAs can employ the use of a single person, the term Human Computation is typically only used when many humans are involved Difficult to get a lot of data out of just one person Results are statistically better when many people agree (if it's just one person are you sure he's telling the truth?)‏ Humans are typically networked (not communicating, collaborating, or cheating)‏

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 Wouldn't do this even if I was paid to do it Using first row of students, would everyone pick the same pivots?

Photomosaic Demo To demonstrate that humans are better at some things than computers, consider a photomosaic: 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 Noticeable visual artifacts (no image reuse)‏ Could use a randomized algorithm instead Could optimize important features first However, no general “select important features” algorithm exists Must ask a human (the user) to select important features

Photomosaic Solutions 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. Unlike the Quicksort example: this is rewarding and fun

When to Use When the problem: is hard for a computer, but easy for a human is not boring to humans (music, art, games)‏ is rewarding (financially or emotionally)‏

Human Computation Challenges User interface design Coordinating many human participants Analogous to distributed computing Honesty Prolonged computation Maintaining human interest and motivation

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 az 3 + bz 2 + 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

Animated fractal screensaver application Also an interactive genetic algorithm Humans (users of screensaver) evaluate fitness Animated fractal parameters are mutated Algorithm has been running for years

Electric Sheep Example

Outsourced Human Spam On input “ Find Register link (spam bot)‏ Download registration form (spam bot)‏ Fill out registration form (spam bot)‏ Find CAPTCHA (spam bot)‏ Solve CAPTCHA (human)‏ Send registration form (spam bot)‏ Output: SPAM!!!

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