A short Introduction to the Ideas of the Algorithm used in MVQCA

Slides:



Advertisements
Similar presentations
Chapter 7. Binary Search Trees
Advertisements

What is Qualitative Comparative Analysis?
Using (MV-)QCA to determine the conditions of success of Green Parties Lasse Cronqvist Institute of Political Science University of Marburg (Germany)
Midwestern State University Department of Computer Science Dr. Ranette Halverson CMPS 2433 – CHAPTER 4 GRAPHS 1.
Michael Alves, Patrick Dugan, Robert Daniels, Carlos Vicuna
Transportation Problem (TP) and Assignment Problem (AP)
Chapter 4: Trees Part II - AVL Tree
1 Fourth Lecture Static Characteristics of Measurement Systems (continued) Instrumentation and Product Testing.
3 -1 Chapter 3 The Greedy Method 3 -2 The greedy method Suppose that a problem can be solved by a sequence of decisions. The greedy method has that each.
Introduction to Computer Science Exam Information Unit 20.
Programming Logic and Design, Introductory, Fourth Edition1 Understanding Computer Components and Operations (continued) A program must be free of syntax.
Backtracking.

Copyright © Cengage Learning. All rights reserved.
Maps A map is an object that maps keys to values Each key can map to at most one value, and a map cannot contain duplicate keys KeyValue Map Examples Dictionaries:
1.1 Chapter 1: Introduction What is the course all about? Problems, instances and algorithms Running time v.s. computational complexity General description.
Tree.
Data Structures - CSCI 102 Binary Tree In binary trees, each Node can point to two other Nodes and looks something like this: template class BTNode { public:
© The McGraw-Hill Companies, Inc., Chapter 3 The Greedy Method.
WAES 3308 Numerical Methods for AI
CJT 765: Structural Equation Modeling Class 7: fitting a model, fit indices, comparingmodels, statistical power.
Data Presentation & Graphing Introduction to Mechanical Engineering The University of Texas-Pan American College of Science and Engineering.
Introduction Of Tree. Introduction A tree is a non-linear data structure in which items are arranged in sequence. It is used to represent hierarchical.
C++ Programming: Program Design Including Data Structures, Fourth Edition Chapter 19: Searching and Sorting Algorithms.
Introduction Algorithms and Conventions The design and analysis of algorithms is the core subject matter of Computer Science. Given a problem, we want.
1 Introduction to Flowcharting. 2 Writing a program Defining the problem –Write down what the program will do Planning –Write down the steps, draw a flowchart.
Chapter 1 Introduction to Computers and C++ Programming Goals: To introduce the fundamental hardware and software components of a computer system To introduce.
Chapter 4 Techniques of Circuit Analysis So far we have analyzed relatively simple resistive circuits by applying KVL and KCL in combination with Ohm’s.
Graph Coloring Solution in a Deterministic Machine The deterministic solution to coloring problem uses these steps to assign colors to vertices: 1- Given.
1 Problem Solving We now have enough tools to start solving some problems. For any problem, BEFORE you start writing a program, determine: –What are the.
By: Amani Albraikan.  Pearson r  Spearman rho  Linearity  Range restrictions  Outliers  Beware of spurious correlations….take care in interpretation.
Computer Engineering (Logic Circuits) (Karnaugh Map)
ITEC 2620A Introduction to Data Structures Instructor: Prof. Z. Yang Course Website: 2620a.htm Office: TEL 3049.
Week 8 - Wednesday.  What did we talk about last time?  Level order traversal  BST delete  2-3 trees.
1 Network Models Transportation Problem (TP) Distributing any commodity from any group of supply centers, called sources, to any group of receiving.
Sets of Digital Data CSCI 2720 Fall 2005 Kraemer.
D1 stuff The tail wags the dog. M1A1 A1 A1 We mark your best effort.
Binary Search Trees (BSTs) 18 February Binary Search Tree (BST) An important special kind of binary tree is the BST Each node stores some information.
Lecture 3: Bridge Circuits
1 Discrete Structures – CNS2300 Text Discrete Mathematics and Its Applications Kenneth H. Rosen (5 th Edition) Chapter 2 The Fundamentals: Algorithms,
Chapter 13 Backtracking Introduction The 3-coloring problem
BINARY TREES Objectives Define trees as data structures Define the terms associated with trees Discuss tree traversal algorithms Discuss a binary.
1 Binary Search Trees  Average case and worst case Big O for –insertion –deletion –access  Balance is important. Unbalanced trees give worse than log.
Keeping Binary Trees Sorted. Search trees Searching a binary tree is easy; it’s just a preorder traversal public BinaryTree findNode(BinaryTree node,
MDFP Mathematics and Statistics 1. Univariate Data – Today’s Class 1.STATISTICS 2.Univariate (One Variable) Data 1.Definition 2.Mean, Median, Mode, Range.
Part 1 Learning Objectives To understand that variables are a temporary named location to store data and that programmers work with different data types.
Logical path planning Róbert Baláž Technical University of Košice
ALGORITHMS AND FLOWCHARTS
Divide and Conquer.
Management & Planning Tools
Top 50 Data Structures Interview Questions
Newton’s second law In this lesson, students learn to apply Newton's second law to calculate forces from motion, and motion from forces. The lesson includes.
Data Structure and Algorithms
DATA STRUCTURES AND OBJECT ORIENTED PROGRAMMING IN C++
Introduction to Data Structure
Binary and Ternary Search
Siti Nurbaya Ismail Senior Lecturer
What is Qualitative Comparative Analysis?
Testing UW CSE 160 Winter 2016.
Problem Solving and Searching
CSE 373 Data Structures and Algorithms
Linked Lists.
Problem Solving and Searching
Trees (Part 1, Theoretical)
Binary Search A binary search algorithm finds the position of a specified value within a sorted array. Binary search is a technique for searching an ordered.
ITEC 2620M Introduction to Data Structures
Console.WriteLine(“Good luck!”);
Chapter 6 Network Flow Models.
Divide and Conquer Merge sort and quick sort Binary search
Presentation transcript:

A short Introduction to the Ideas of the Algorithm used in MVQCA How MVQCA works A short Introduction to the Ideas of the Algorithm used in MVQCA Lasse Cronqvist lasse@staff.uni-marburg.de

Basic Ideas of a MVQCA Algorithm - Lasse Cronqvist MVQCA vs. QCA The algorithms used in QCA can‘t be used for medium or large size MV-Datasets: Size restriction All variables are treated as nominal scaled variables (but MVQCA cares about ordinal scales) Inputs and Outputs are not elegant with Dummy Variables. Basic Ideas of a MVQCA Algorithm - Lasse Cronqvist

Basic Ideas of a MVQCA Algorithm - Lasse Cronqvist MVQCA vs. QCA We could build a MV-Interface for classical QCA-Algorithms to ease things up. But this has shown to be less successful (Brayton/Khatri 1999: 9) Important theoretical work has been made by the Electronic Engineers at the University of Berkeley. But their procedures are specialised on EE‘Applications: no ordinal scales possible only one solution found (no easy to use User Interface) Basic Ideas of a MVQCA Algorithm - Lasse Cronqvist

Basic Ideas of a MVQCA Algorithm - Lasse Cronqvist Due to this, a new algorithm has been developed and is included in Tosmana, the Tool for Small-N Analysis. In this presentation, 1. special conditions of MVQCA Analysis in the Social Science will be presented. 2. the basic Ideas of the Algorithm will be introduced 3. a sample calculation will be done on a (small) data set Basic Ideas of a MVQCA Algorithm - Lasse Cronqvist

Social Science and MVQCA There are several special conditions of Small-N Analysis, which have to be observed when creating an Algorithm for MVQCA: The number of cases is small. The number of variables is also rather small (no fishing expeditions..) Variables may be of ordinal scale We want more than one (working) solution. Basic Ideas of a MVQCA Algorithm - Lasse Cronqvist

Basic Ideas of a MVQCA Algorithm - Lasse Cronqvist An Algorithm for MVQCA The main problem of Multi Value Datasets is their complexity. Having a data set with ten variable with a range of five possible values leaves us with a mass of 9765625 possible configurations to deal with. => it is not possible to build a configuration tree with all configuration to calculate with as it is used in some Boolean Minimization Algorithms. Basic Ideas of a MVQCA Algorithm - Lasse Cronqvist

Basic Ideas of a MVQCA Algorithm - Lasse Cronqvist Calculation in MVQCA The Calculation is done on a Matrix in MVQCA: Variables States of each Variable Basic Ideas of a MVQCA Algorithm - Lasse Cronqvist

Calculation in MVQCA (2) Each case is placed in the matrix as a link between the fields: Variables cases with the outcome to minimize are called „good cases“ and are drawn with a green line in this presentation cases with a different outcome to outcome to minimize are called „bad cases“ and are drawn with a blue line in this presentation States of each Variable Basic Ideas of a MVQCA Algorithm - Lasse Cronqvist

Calculation in MVQCA (3) When all cases are placed in the matrix, the Implicants are indicated by single fields or paths between fields of one or more „good“ cases, which are not completely followed by one or more „bad“ cases. Variables Some Terms are marked with a red line or a filled red circle on the next page. States of each Variable Basic Ideas of a MVQCA Algorithm - Lasse Cronqvist

Calculation in MVQCA (4) When all cases are placed in the matrix, the Implicants are indicated by single fields or paths between fields of one or more „good“ cases, which are not completely followed by one or more „bad“ cases. Variables States of each Variable Basic Ideas of a MVQCA Algorithm - Lasse Cronqvist

Calculation in MVQCA (5) Only Prime Implicants are of interest: All term-paths that are non shortable and all single field terms are Prime Implicants. Variables The red path is not a representing a prime implicant, as the upper half of the line is a implicant it self. States of each Variable Basic Ideas of a MVQCA Algorithm - Lasse Cronqvist

Calculation in MVQCA (6) Problem: Not all (most actually) Terms are consisting of states of variables „next to each other“. Variables States of each Variable Basic Ideas of a MVQCA Algorithm - Lasse Cronqvist

Calculation in MVQCA (7) To solve this, a null-field is introduced to all variables, and each case has also a path to this null-field. Variables States of each Variable Basic Ideas of a MVQCA Algorithm - Lasse Cronqvist

Calculation in MVQCA (7) When all paths are set, a agent is send out from a root field to all fields of the first variable (including the zero-field) The agent is having to sets with it: A set of good cases still represented by the agent and a set of bad cases still represented by the agent. Basic Ideas of a MVQCA Algorithm - Lasse Cronqvist

Calculation in MVQCA (8) In each field there a various calculations on the agent: The Set of Good Cases is recalculated with the Set of good cases passing the field (boolean AND). The Bad of Good Cases is recalculated with the Set of good cases passing the field (boolean AND). Basic Ideas of a MVQCA Algorithm - Lasse Cronqvist

Calculation in MVQCA (9) The agent has following possibilities in each field of the Variable-Matrix: The agent‘s set of good cases is empty: go back The agent‘s set of bad cases is empty (and the set of good cases is not): The path walked by the agent is a Term. Report and go back. Neither the set of good nor the set of bad cases is empty: Go on to each field of the next variable (if there is one) Basic Ideas of a MVQCA Algorithm - Lasse Cronqvist

Calculation in MVQCA (10) When the agent has ended its expedition through the matrix, all Terms have been collected into a set of Terms. Terms implied by other Terms are sorted out. The remaining Terms (prime implicants) are sorted by length. Then the Terms are combined to find the Solutions Basic Ideas of a MVQCA Algorithm - Lasse Cronqvist

Calculation in MVQCA (11) The solutions are found in a simular way, but there are some differences in the way of calculation: Terms are used instead of variables in the matrix There are just two fields for the each Term: „Used“ and the zero-field The agent has only one set: The set of non-explained good cases. In each „used“-field this set is recalculated by joining the set of the agent with the non-explained set of a Term (= „good“-Cases not implied by the Term) with boolean AND. Basic Ideas of a MVQCA Algorithm - Lasse Cronqvist

Calculation in MVQCA (12) The agent has following possibilities in the used field of the Term-Matrix (1). The agent‘s new set of non-explained cases is simular to the one before visiting the field: The Term does not explain any case not explained by the Terms visited by the agent. Go back (then just the path via the zero-field is used). The agent‘s set of non- explained cases is empty: The path walked by the agent is a Solution. Report and go back. Basic Ideas of a MVQCA Algorithm - Lasse Cronqvist

Calculation in MVQCA (13) The agent has following possibilities in the used field of the Term-Matrix (2). The length of the Terms on „used“-field visited by the path of the agent is longer than the allowed length: STOP and go back. The allowed length is the size of the shortest solution found + allowed extra length by the user. Otherwise: Go on to the zero-field and the used-field of the next Term (if there is one). Basic Ideas of a MVQCA Algorithm - Lasse Cronqvist

Calculation in MVQCA (14) When the agent has ended its expedition through the Term-matrix, all Solutions have been collected into a set of Solution. Solutions longer than allowed are sorted out. Solutions implied by other Solutions are sorted out. The remaining Solution are sorted by length. Basic Ideas of a MVQCA Algorithm - Lasse Cronqvist

Calculation in MVQCA (15) To speed up the calculation a maximum length of prime implicants can be set: If a path is representing more variables (non null) as allowed, the agent is told to go back. If this threshold is used, the length of the solution must be less or equal this threshold, as the completeness of the set of solution may be not given else. (In this case the maximum length must be raised and the calculation repeated). A maximum prime implicant length of 4 has proven to be sufficient for datasets with a large number of variables. Basic Ideas of a MVQCA Algorithm - Lasse Cronqvist

Basic Ideas of a MVQCA Algorithm - Lasse Cronqvist Sample The following sample of the agent‘s way of working is shown with the following MV Data Set Basic Ideas of a MVQCA Algorithm - Lasse Cronqvist

Basic Ideas of a MVQCA Algorithm - Lasse Cronqvist Sample (2) All fields are loaded with the good and bad cases represented by the field * * * * g: a,b b: x g: - b: x g: a,b b: - g: a b: x g:- b: y g: a,b b: y g: - b: x,y g: - b: - g: - b: - g: b b: y Basic Ideas of a MVQCA Algorithm - Lasse Cronqvist

Basic Ideas of a MVQCA Algorithm - Lasse Cronqvist Sample (3) Now the agent is created in the root field and the sets are filled with all cases. * * * * Agent Sets: g: a,b b: x g: - b: x g: a,b b: - g: a b: x Good = {a,b} Bad = {x,y} g:- b: y g: a,b b: y g: - b: x,y g: - b: - g: - b: - g: b b: y Basic Ideas of a MVQCA Algorithm - Lasse Cronqvist

Basic Ideas of a MVQCA Algorithm - Lasse Cronqvist Sample (3) Now the agent is created in the root field and the sets are filled with all cases. * * * * Agent Sets: g: a,b b: x g: - b: x g: a,b b: - g: a b: x Good = {a,b} Bad = {x,y} g:- b: y g: a,b b: y g: - b: x,y g: - b: - g: - b: - g: b b: y Basic Ideas of a MVQCA Algorithm - Lasse Cronqvist

Basic Ideas of a MVQCA Algorithm - Lasse Cronqvist Sample (4) On the following calculation pages the steps by the agent are shown by a red arrow. On left the agents sets are shown. (The old ones above the new ones). The Set of found Terms is shown on the right In this sample we start with the first real field of the first variable. In real, the algorithms allways starts with the zero-field. Basic Ideas of a MVQCA Algorithm - Lasse Cronqvist

Basic Ideas of a MVQCA Algorithm - Lasse Cronqvist Sample (5) Now the agent is created in the root field and the sets are filled with all cases. V1 V2 V3 V4 * * * * Terms found: {Ø} Old agent Sets: g: a,b b: x g: - b: x g: a,b b: - g: a b: x Good = {a,b} Bad = {x,y} g:- b: y g: a,b b: y g: - b: x,y g: - b: - New agent Sets: g: - b: - g: b b: y Good = {a,b} Bad = {x} Basic Ideas of a MVQCA Algorithm - Lasse Cronqvist

Basic Ideas of a MVQCA Algorithm - Lasse Cronqvist Sample (6) Now the agent is created in the root field and the sets are filled with all cases. V1 V2 V3 V4 * * * * Terms found: Old agent Sets: Ø g: a,b b: x g: - b: x g: a,b b: - g: a b: x Good = {a,b} Bad = {x} g:- b: y g: a,b b: y g: - b: x,y g: - b: - New agent Sets: g: - b: - g: b b: y Good = Ø Bad = {x} The good-Set is empty. Go Back Basic Ideas of a MVQCA Algorithm - Lasse Cronqvist

Basic Ideas of a MVQCA Algorithm - Lasse Cronqvist Sample (7) Now the agent is created in the root field and the sets are filled with all cases. V1 V2 V3 V4 * * * * Terms found: V1{0}V2{1} Old agent Sets: g: a,b b: x g: - b: x g: a,b b: - g: a b: x Good = {a,b} Bad = {x} g:- b: y g: a,b b: y g: - b: x,y g: - b: - New agent Sets: g: - b: - g: b b: y Good = {a,b} Bad =Ø The bad-Set is empty. We have found a Term. Report and Go Back Basic Ideas of a MVQCA Algorithm - Lasse Cronqvist

Basic Ideas of a MVQCA Algorithm - Lasse Cronqvist Sample (8) Now the agent is created in the root field and the sets are filled with all cases. V1 V2 V3 V4 * * * * Terms found: V1{0}V2{1} Old agent Sets: g: a,b b: x g: - b: x g: a,b b: - g: a b: x Good = {a,b} Bad = {x} g:- b: y g: a,b b: y g: - b: x,y g: - b: - New agent Sets: g: - b: - g: b b: y Good = {a,b} Bad = {x} Zero-Field. Go on. Basic Ideas of a MVQCA Algorithm - Lasse Cronqvist

Basic Ideas of a MVQCA Algorithm - Lasse Cronqvist Sample (9) Now the agent is created in the root field and the sets are filled with all cases. V1 V2 V3 V4 * * * * Terms found: V1{0}V2{1} V1{0}V3{0} Old agent Sets: g: a,b b: x g: - b: x g: a,b b: - g: a b: x Good = {a,b} Bad = {x} g:- b: y g: a,b b: y g: - b: x,y g: - b: - New agent Sets: g: - b: - g: b b: y Good = {a,b} Bad = {-} The bad-Set is empty. We have found a Term. Report and Go Back Basic Ideas of a MVQCA Algorithm - Lasse Cronqvist

Basic Ideas of a MVQCA Algorithm - Lasse Cronqvist Sample (10) After the agent is finished, we have found the following Terms: V1{0}V2{1} V1{0}V3{0} V1{0}V4{2} V2{1}V3{0} V2{1}V4{0} V3{0} Basic Ideas of a MVQCA Algorithm - Lasse Cronqvist

Basic Ideas of a MVQCA Algorithm - Lasse Cronqvist Sample (11) Two Terms are implied by an other Term and can be deleted. V1{0}V2{1} V1{0}V3{0} V2{1}V3{0} V3{0} V1{0}V4{2} V2{1}V4{0} Basic Ideas of a MVQCA Algorithm - Lasse Cronqvist

Basic Ideas of a MVQCA Algorithm - Lasse Cronqvist Sample (12) In the End, we are having four Terms (and two Solutions consiting of one Term): Terms: Solution: V3{0} yes V1{0}V2{1} yes V1{0}V4{2} no V2{1}V4{0} no To be complete: V1{0}V4{2} + V2{1}V4{0} is a solution as well. Basic Ideas of a MVQCA Algorithm - Lasse Cronqvist