Title: Computational Marketing Using An AppleSeed Cluster
1Computational Marketing Using An AppleSeed Cluster
Academic Developers Conference 2001
- Dr Kevin Voges Dr Nigel Pope
- Griffith University
2Overview
- Computational Marketing
- What is computational marketing?
- Application area - Rough Clustering
- Building a Computer Cluster
- Building an AppleSeed cluster
- How to use a computer cluster
- Programming considerations
3What is Computational Science?
- Theoretical Science and Experimental Science
- Problems
- Difficult to use experimentation in the study of
social and market processes - Mathematics-based theories are not always the
most useful method of presenting explanations of
social and market behaviour - Computational Science - third approach
- Benefits
- New forms of experimentation through study of
artificial societies and markets - New forms of theory development
- New forms of data analysis based on developments
in Computational Intelligence.
4Computational Science Literature
- Biology
- Environmental Studies
- Geography
- Organizational Theory
- Anthropology
- History
- Sociology and Social Science
- Political Science
- Economics and Finance.
5What is Computational Marketing?
- The application of computational science
techniques to modelling market behaviour and
analysing marketing data
- can consider market mechanisms other than
priceeg. the satisfaction of consumer needs - can consider communication through social
networks - can explicitly study the role of memory in
consumer behaviour - offers a wider range of techniques for analysing
marketing data.
6Rough Clustering
- Based on Rough Sets theory (Pawlak)
- Rough Set defined by two sets
- Lower Approximation - object definitely in the
set - Negative region - objects definitely not in the
set - Boundary region - objects may or may not be in
the set - Upper Approximation - union of Lower
Approximation and boundary region - Rough Cluster defined in the same way
- Lower and Upper Approximation of cluster
- Membership in rough clusters determined by a
distance measure.
7Rough Sets
Person Age Grp Purchase Adam 16 -
25 Yes Bill 16 - 25 No Colin 26 -
35 No Dave 26 - 35 No Evan 36 -
45 Yes Fred 36 - 45 Yes George 36 - 45 Yes
8Rough Set
Person Age Grp Purchase Adam 16 -
25 Yes Bill 16 - 25 No Colin 26 -
35 No Dave 26 - 35 No Evan 36 -
45 Yes Fred 36 - 45 Yes George 36 - 45 Yes
Selected subset of data Call subset X
9Rough Set
Person Age Grp Purchase Adam 16 -
25 Yes Bill 16 - 25 No Colin 26 -
35 No Dave 26 - 35 No Evan 36 -
45 Yes Fred 36 - 45 Yes George 36 - 45 Yes
Lower approximation of X based on Age Group
10Rough Clustering
Person Age Grp Purchase Adam 16 -
25 Yes Bill 16 - 25 No Colin 26 -
35 No Dave 26 - 35 No Evan 36 -
45 Yes Fred 36 - 45 Yes George 36 - 45 Yes
Upper approximation of X based on Age Group
11Rough Clustering
- Computationally expensive
- Large data set (6000 records)
- Number of potential solutions
- Need to form clusters which maximise size of
lower approximation and minimise size of boundary
region - Solution - Evolutionary Algorithm using a
parallel computer cluster
12Rough Clustering
- Uses simple model of evolution to find solution
to problems - Population (ie. more than one) of solutions
randomly generated - Effectiveness (fitness) of each solution
calculated - New solutions are produced by combining and
randomly changing older solutions (mutation) - Best solutions kept each generation
- Process continues until some specified stopping
criteria reached.
13Building a Computer Cluster
- Cluster
- group of computers connected by a switch
- Beowulf Cluster - Unix system
- Building an AppleSeed Cluster
- Obtain hardware
- Connect hardware
- Install software
- Configure software
14Building an AppleSeed Cluster
- A number of Macintosh computers with built-in
Fast Ethernet - A Fast Ethernet switch containing a port for each
Macintosh - A corresponding number of Category 5 Ethernet
cables with RJ-45 jacks
15Building an AppleSeed Cluster
- Connect one end of each Ethernet cable into the
Ethernet port on the Macintosh - Connect the other end into the port on the switch
- Connect monitor to at least one computer
- Connect power cables, etc
16Building an AppleSeed Cluster
- Autoguest control panel on each computer
- AppleSeed Folder on all computers startup disk
- Launch Puppy on each computer
- Launch Den Mother on main computer
17Building an AppleSeed Cluster
- Mac TCP/IP set to Ethernet (Using DHCP Server)
- Turn File Sharing and Program Linking on
- File Sharing Users and Groups - Allow guests to
connect - Allow guests to link to programs - Energy Saver to Never Sleep
18Building an AppleSeed Cluster
- Five G4s
- Cisco Catalyst 3600XL 12-port Ethernet Switch
- MasterView Monitor Switch - can view and control
the desktop of four G4s from a single
monitor and keyboard
19Building an AppleSeed Cluster
20EP2 Cluster
- Fastest AppleSeed cluster in the world?
- 16 Dual PowerPC G4/450
- 50 GigaFlops
- Located in Portugal
- Used for numerical simulation of plasmas
21How to Use a Computer Cluster
- Run same program with different parameters on
each computer - Set up a master / slave process between main
computer and other computers - Divide large matrix into subsections and have
each computer process a subsection
22Same program with different parameters
- Market models using simulation require
investigation of the effect of different
parameters(eg. size of individuals social
network, speed and depth of word-of-mouth
endorsements) - Computer cluster allows for same programs to run
independently on each computer with changed
parameters - Multiple computers enables faster exploration of
effects of varying values of parameters.
23Master / slave process
- Main activity in evolutionary algorithm is
assessing fitness of individual solutions - Depending on type of problem, this can require
noticeable real time - Solution- master computer controls process and
sends copy of solution to slave computers-
slave computer calculates fitness for solution
and returns fitness value to master computer - Process continues until stopping point reached.
24Master / slave process
25Divide matrix into subsections
- Some problems require manipulation of large
matrix of values - Solution- divide matrix up into sections- send
section to each computer- computer processes
section and returns result to main computer-
main computer recombines sections into full
matrix and shows solution - More common in physical sciences.
26Programming Considerations
- Use MPI (Message Passing Interface) to control
computers - MPI is library, not a language
- The computers coordinate their activities by
explicitly sending and receiving messages - MPI is large and small
- standard implementation has 125 functions
- can write a useable program with 6 functions.
27Programming Considerations
- Minimum MPI
- Initialise MPI
- Find out how many computers there are
- Find out which computer I am
- Send a message
- Receive a message
- Terminate MPI
- MacMPI
- public domain version from UCLA
- subset of full MPI.
28Conclusion
In the applications described in this paper, the
choice of computer platform has enabled
researchers, with an extensive knowledge of
market structure and consumer behaviour, but with
limited knowledge of parallel computers and
computer networking, to access very powerful
computer technology.
29QA
30AppleSeed Project Web Site
http//exodus.physics.ucla.edu/appleseed/appleseed
.html
31Computational Marketing Using An AppleSeed Cluster
Academic Developers Conference 2001
- Dr Kevin Voges Dr Nigel Pope
- Griffith University