CSC 415/515 Schedule
Artificial Intelligence

Fall 2011

How to read this schedule:

  1. Lecture topics are planned for discussion on the day indicated.
  2. Reading assignments should be completed before class on the day indicated.
  3. This schedule is not set in stone and may be changed without notice, so refer back to it often.

Week/Date

Topic/Reading

Deliverable(s)/Notes

August 25

Introduction, historical perspective, hard problems, sensory processing, the Turing Test

Begin readings from text—Chapters 1-3

August 30, September 1

Machine Learning

Unsupervised Learning

Markov chains

·         Building a probabilistic state machine (PSM)

    • Data structures – probability tables
    • Control structures

·         Using a PSM to generate words

    • How long will the generated words be?
    • How would one determine the probability of occurrence for each word generated?

Chapter 6

Program Project 1: Create a word generator for a language whose example words are {spare, spear, pares, peers, reaps, peaks, speaker, keeper, pester, paste, tapas, pasta, past, straps, tears, terse, steer, street, stare, rates, streak, taste, tapa, peat, eat, ate, tea, seat}.

·         Use your program to generate at least 100 random words.

·         Are any words repeated?

·         What is the probability of generation for each word?

·         What are the shortest and longest words generated?

·         What is the longest word that can be generated and what is the probability of its occurrence? If you cannot answer this directly, can you provide a bound for the probability of occurrence?

·         Use the words generated by your program to create a second Markov model and compare the transition probabilities of the two models you created.

·         Use you program to create two Markov models based on 500-word (or larger) writing samples from two, different languages (say, English and French, American and German, or possibly American and English). The writing samples are to be taken from web sites using different modern languages that are written using Latin letters. Compare the transition probabilities of the two models you create.

September 6, 8

Machine Learning (continued)

Nearest neighbor classification

Program Project 2: Extend your prior work by creating Markov models for three writing samples that employ different languages, not previously used (in your work for Program 1). Among the five models perform leave-one-out tests to identify the nearest neighbor among the remaining four for each language model.

·         What similarities do you expect?

·         What are the statistical properties of the nearest neighbor measurements for each test?

·         Were the nearest neighbor relations symmetric?

·         Construct and report a matrix that indicates the similarity measure for each pair of models.

September 13, 15

Machine Learning (continued)

K-means clustering

Due 13 Sep: Report of findings and in-class, demonstrations of Programming Project 1

September 20, 22

K- means clustering (continued)

Due 20 Sep: Report of findings of Programming Project 2

 

Program Project 3: Consider the two-dimensional data given in test file xyz.dat to partition it into three, four, and five clusters, using k-means clustering. Plot the data and the cluster centers for each partition. Repeat the process using different initial cluster centers to construct partitions into three, four, and five groups. Compare the clusters with the first partition

September 27, 29

Bayesian Classification

·         Review of basic descriptive statistics

·         Basic operations with matrices

·         Extending statistics to multiple dimensions

·         Covariance

·         Discriminant functions

Due 27 Sep: Report of findings and in-class, demonstrations of Programming Project 3

 

Program Project 4: Use the data given for PP3 to find the matrix form of the discriminant functions, assuming that the data are partitioned into three classes. Use the discriminant functions to classify data points provided in the file rst.dat into the various groups. Plot the original data, distinguishing among the three classes, and the new data, also distinguishing among classes.

·         Were the points classified as you expect?

·         Find and plot the discriminant boundaries among the three classes?

October 4, 6

Bayesian classification (continued), review for Test 1

Test 1: 4 October 2011

 

October 13

Strategies to Find Solutions for Search, Constraint Satisfaction, and Optimization Problems

Evolutionary computation

Genetic algorithms

Due 13 Oct: Report of findings and in-class, demonstrations of Programming Project 4

 

Programming Project 5: Implement a genetic algorithm and use it to find solutions for an optimization (workload balancing, QAP, TSP) or constraint satisfaction problem (such as SAT, cost-based abduction, or N-queens).

 

Search problem examples:

·         Constraint satisfaction (“cyptoquote,” Sudoku, “Jumble,” and nonthreatening queen placement),

·         Resource allocation (scheduling)

·         Optimization

    • Time series estimation such as forecasting sunspots,
    • Traveling salesperson,
    • Quadratic assignment,
    • Weapon-target assignment)

 

October 18

Neural Networks

Feedforward neural networks and the backpropagation learning algorithm

 

Preparation for Programming Project 6: Implement a simulation of a feedforward neural network that uses backpropagation to learn XOR. Plot the network output using at least 121 input pairs that uniformly sample the unit square.

 

Due 31 Oct: Report of findings and in-class, demonstrations of Programming Project 5

 

 

Recent results:

October 25, 27

Feedforward neural networks and the backpropagation learning algorithm (cont’d)

Application examples of feedforward neural networks:

·         sunspot forecasting,

·         river stage forecasting,

·         ensemble coding, and

·         auto-associative networks for novelty detection and data compression

Programming Project 6 (Backpropagation): Use the backpropagation algorithm to train a network to recognize character representations on a 5x5 grid of pixels. Use a representation of the characters +, -, \, /, X, and | on a 5x5 grid. Test the performance of the network using “noisy” representations of the six characters.

November 1, 3

Swarm intelligence

Swarm Intelligence (see handout)

Swarm intelligence (continued) for resource allocation. Representations for constraint satisfaction problems

Some ways to vary a swarm:

  • Change the problem representation
  • Adjust φ1 and φ2
  • Modify the “neighborhood”
  • Change the swarm population size

Adjust the “velocity” computation

Due 17 Nov: Report of findings and in-class, demonstrations of Programming Project 6

 

Recent Results:

November 8, 10

Introduction to Adaptive Resonance Theory (ART)

Design and implementation of ART-2 networks

Programming lab 6 (ART): Implement an ART-2 network simulation and use it to train a network to recognize character representations on a 5x5 grid of pixels. Use a representation of the characters +, -, \, /, X, and | on a 5x5 grid. Test the performance of the network using “noisy” representations of the six characters. Compare your findings with those obtained in Lab 6 (Backpropagation).

 

Recent results: Tag

November 15, 17

Application of ART-2 and fuzzy data representation to image processing/ Putman paper in IJCNN

 

November 22

 

Note: Thanksgiving vacation begins after last class on 22 November 2010

 

 

November 29, Tuesday

December 1, Thursday

Presentation of reports:

Final report examples:

1.      comparing the performance of various algorithms for a resource allocation problem (or a similar one such as QAP, graph isomorphism, or N-Queens)

2.      a comparative study of a variety of techniques on some problem of interest

3.      an application of connectionist AI strategies to a problem of interest

4.      other studies may be acceptable with the prior approval of the professor

 

Reports 2011:

 

Please cc tagliarinig@uncw.edu with ALL comments.

December 6, Tuesday

Presentation of reports(continued)

Last class meeting

Last day to submit any work, other than the Final Examination, for grade consideration.

December 8, Thursday

Reading Day

 

Final Exam

December 15, 2011 Thursday

Test Review

  1. Key history characters of AI
    1. McCulloch and Pitts
    2. Turing
    3. Von Neumann
    4. Shannon
    5. McCarthy
    6. Minsky
    7. Rosenblatt
    8. Zadeh
    9. Werbos, Rumelhart, McClelland, Hinton, Le Cun,   and Parker
    10. Grossberg
    11. Hopfield
    12. Holland, Goldberg, De Jong, and Koza
  1. Evolutionary computation and genetic algorithms
  2. Backpropagation basics
  3. Swarm basics

EPeloquin’s historical character notes (verify and compare with your own study and then use as you may see fit)

END OF COURSE for Fall 2011

 

 

Notes for CSC 517: Biologically Inspired Computing

Problem solving steps (adapted from G. Polya, How to Solve It, Princeton University Press, Expanded Princeton Science Library Edition, 2004):

1.      What is the problem?

      1. Identify unknown(s)
      2. Identify known(s)
      3. What are the dependencies?
    1. What can you do to solve it?
      1. Do you know how to solve a similar problem?
      2. Can you solve a special case?
      3. Can you appeal to an existing solution of a more general problem?
      4. Do you need more data?
      5. Have you used all available information?
    2. Implement at least two solution methods
    3. Evaluate the quality of your solutions and methodology
      1. How do you know your answer is correct?
      2. Is there any easier, faster, or otherwise better solution?
      3. Can you generalize the result?

Notes for additional study

DRAFT NOTES FOLLOW

DRAFT NOTES FOLLOW

DRAFT NOTES FOLLOW

August 25

4.       

Lab 0.1: Write a program that will generate all permutations of n symbols and use the program to find solutions for the four key words in a “Jumble” puzzle. (An in-class demonstration is due 27 August 2009).

 

Note: Unscrambling the key words in a “Jumble” puzzle only requires permutations of 5 and 6-letter words.

 

Extensions:

5.      (This extension is expected of graduate students choosing Lab 0.1) Use your permutation generator and the letters derived from the four key words to unscramble the response to the clue. Recall that the response may contain multiple words. What differences, if any, does it make to simply re-arrange all of the derived letters versus choosing a subset of letters the size of each word and then permuting them as needed?

    1. Add an online dictionary to verify when an actual word has been found;
    2. Use the permutation generator to produce a substitution cipher
    3. Use the dictionary extension and the substitution cipher extensions to find solutions for a “cryptoquote” puzzle.

 

Alternative Lab 0.2: Write a program to generate, count, and tabulate all solutions for the nonthreatening queen placement problem for nxn board sizes, where n>3. Plot a graph of numbers of distinguishable solutions versus board size. How do your findings compare with those reported online? Do you see a pattern? Can you formulate a rule to relate board size (n) to the number of solutions?

Extensions:

1.      Find solutions to nonthreatening rook placement.

    1. Find solutions to nonthreatening knight placement.

 

Alternative Lab 0.3: Write a program to generate solutions for square Sudoku puzzles up to size 16x16.

 

Alternative Lab 0.4: Review the SAT Web site and develop an implementation of at least two methods for finding solutions for satisfiability problems

 

Alternative Lab 0.n (requires instructor approval): Find a problem of interest whose solutions are difficult to find and develop at least two distinct methods to find solutions for that problem. Which method is better? What qualities of the method make it preferable? Are there circumstances under which the alternative is better?

 

August 27

Resource allocation methods, results and solution space characterization

 

September 1

 

Sample optimization problem:

Data for a TSP problem.

 

Programming report example 1:  This link connects to an example showing a study of a resource allocation problem similar to the TSP given above. Use it to obtain guidelines for describing the solution space for the problem you are solving.

 

Exhaustive search results:

12 process results spreadsheet (includes graph)

14 process results without histogram data (text)

 

TSP by:

EPeloquin: Whole space, histogram1, random solutions, random and search on one

ALewis: AllPerms, RandomResults, Report

CTucker: ExhaustiveSearch

September 3

 

Programming lab 1: For the TSP problem, implement a greedy algorithm, exhaustive searching and random sampling and then compare the results achieved by these three methods.

Results (Code samples are for illustrative purposes. Use your own discretion when determining when, how, or if to use any such implementation details.):

EPeloquin: CodeSample1, CodeSample2

November 5

Introduction to Adaptive Resonance Theory (ART)

Design and implementation of ART-2 networks

Programming lab 5: Implement an ART-2 network simulation and use it to train a network to recognize character representations on a 5x5 grid of pixels. Use a representation of the characters +, -, \, /, X, and | on a 5x5 grid. Test the performance of the network using “noisy” representations of the six characters. Compare your findings with those obtained in Lab 3.

 

Recent results: Tag

November 10

Application of ART-2 and fuzzy data representation to image processing/ Putman paper in IJCNN 99

 

November 12

Hopfield networks and the “k-of-n” design rule for constraint satisfaction (Set selection and N-queens)

 

November 17

Hopfield networks continued

Programming lab 6: Implement a simulation of a Hopfield network and use it at least 50 times to find solutions to the resource allocation problem. Compare the distribution of solutions with those obtained by the other approaches studied. What are the relative merits?

 

Resource: Tag’s Hopfield Network Code Sample for “k-of-n”, permutation matrices, and resource allocation examples

 

Results:

MWood

ARose