Categories
Intelligent systems

FIT5047 – Intelligent Systems Week 3

Week number 3, titled ‘Knowledge Representation’ ran through propositional and first-order logic. Specific attention was paid to Inference, the prime reason for creating Knowledge Bases.

I am a little bit cloudy on the methods for attaining inferences in Knowledge Bases. The lecture slides describe ‘Inference – Resolution Refutation’. To my understanding resolution can be attained through refutation or simply by applying the inference to clauses and determining the resolvent.

There is a clear example of ‘General Resolution’ and also ‘Proof by refutation’. I understand the difference in the processes; however I do not understand why one would use resolution by refutation as opposed to general resolution.

Considering our assignment which is due next week requires this understanding and info on this seems scarce in the text book, I shall inquire at next week’s lecture.

generalresolution
General resolution - source week 3 lecture notes

resolutionbyrefutation
Resolution by refutation - source week 3 lecture notes
Categories
Adv. programming for DB apps.

FIT5059 – Adv. Prog. for DB Applications Week 3

Week 3 rolled on with Oracle form builder interface training. Although the power and ease of use that form builder presents is impressive, I think the contents of week three could be extrapolated in a simple tutorial/walkthrough. I am sure as David mentioned that the material ramps up to more complexity.

The items that were covered in the lecture:

  • Introduction to commonly used form objects
  • Creating list of values (LOV)
  • Creating radio buttons
  • Creating check boxes
  • Creating static lists
  • Creating display items
  • Form object guidelines
Next week’s topic appears to be PL/SQL which I assume is where the ‘Advanced Programming’ in Advanced Programming for DB apps comes in  >:D
form
sample of an Orcale form (web based using J2EE)
Categories
Natural computation for intell. sys.

FIT5167 – Natural Computation Week 3

Week 3 of natural computation continued our step by step unraveling of the perceptron. We dealt with the case of classification and supervised training of a single perceptron. Although the concepts and logic are quite straight forward, there was some odd math operations that we spent a lot of our time on. I am not sure why we spent so much time on drawing the discriminant of a perceptron. I can’t see how it could be a useful skill with the exception of when we need to hand draw boundaries in the exam (and learning something just to pass an exam seems nonsensical). Anyway, the tutorial was particularly good in that we did some practical calculations in excel that were closely correlated to what we learnt in the lecture.

Specifically, the process of training a perceptron was emulated. Seeing exactly how altering the Beta value changed the learning process for a perceptron was valuable, along with understanding some of the possible inefficiencies/intractabilities associated with the simple, single perception network.

I am really looking forward to when we can see how an MLP handles a large dataset, sometimes having a vision of the goal makes these simple steps much more understandable.

source week 3 lecture notes
Categories
Network security

FIT5044 – Network Security Week 3

Network security’s third lecture saw an introduction to cryptography. We actually spent the first half of the lecture finishing discussion on week 2’s topics.

First off came Private key vs Public key encryption a nice, clear, diagrammatic explanation of the difference can be for here: http://www.wdvl.com/Authoring/Tools/Tutorial/public_vs_private.html

The main difference between the two being that a public key system has both public and private keys. In a private key system, the same key is used for both encryption and decryption. A key issue here is how the key is to be distributed.

A simple example of how public key systems work:

publickey
example of simple public key system (source: lecturenotes3.pdf)

 

Categories
Intelligent systems

FIT5047 – Intelligent Systems Week 2

Week 2 – search algorithms.I implemented A Breadth first search in Python for application to the Missionaries and cannibals problem.

—–>>>>      Python script:  http://mchost/sourcecode/MandC.py <<<<-—-

To run install python 2.7 then open terminal/cmd and $ python -i MandC.py

The game is not that simple: Play Missionaries and Cannibals game

The other search algorithms that we discussed in the week 2 lecture were:

  • Breadth first search
  • Depth First search
  • Hill climbing
  • Simulated annelaing
  • Graph search (A*)

The most important assessment criteria for search algorithms are:

  • Completeness [If there is a solution will it be found?]
  • Optimality [Will the algorithm find the best solution (lowest path cost)]
  • Time/Space complexity [Processing power and memory requirements]

Also introduced were heuristics [warmer colder hints for the search], two key characteristics:

  • Admissibility [the cost of reaching the goal is never overestimated]
  • Monotonicity [The estimated cost to goal from N1 is not greater than the step cost to N2 plus estimate to goal from N2 (aka consistency]

 

some search algorithms (source: week 2 lecture notes)

<a href=”http://www.novelgames.com/flashgames/game.php?id=54&l=e”>Missionaries and Cannibals</a>
Categories
Adv. programming for DB apps.

FIT5059 – Adv. Prog. for DB Applications Week 2

Week 2 continue with the basics, however this week some of the power of Oracle forms was revealed. It seems that web based DB apps can be developed very quickly with Oracle form builder. I am very interested to see how the performance of this apps it. I assume that they will automatically leverage Oracle’s middleware and end up being faster than a well written program. However, some further reading shows that Oracle have some fairly detailed documents on improving performance. This suggests that it is not all just click and go when high volumes of users and performance becomes an issue (see: http://download.oracle.com/otn_hosted_doc/forms/forms/A73073_01.pdf and http://www.oracle.com/technetwork/developer-tools/forms/overview/technical-overview-130127.pdf).

The lecture and tutorial focussed on Data Block Forms (although the tutorial was wasted populating a DB from non-sql formatted word doc).

Note **OC4J Instance Program must be running to test forms.

The structure of forms can be defined as:

<Layout>
<Window>
<Canvas>
<block>
</block>
</Canvas>
</Window>
</Layout>

Everything except layout can be in multiples.

The lecture continued with very detailed tutorial on the use of datablocks.

The best way to learn that material will be to install Oracle Developer at home and tinker..

 



Categories
Natural computation for intell. sys.

FIT5167 – Natural Computation Week 2

Natural computation’s second week made me feel quite a bit more comfortable with the subject as to the first week.  We discussed artificial neural networks in more specific and relevant detail. Starting of were the main components:

  • Inputs (X1, X2, X3…Xn)
  • Weights(Wj1,  Wj2, Wj3…Wjn)
  • Bias (Bj)
  • Neuron (summation function)
  • Transfer/Transformation/Activation function
    • Threshhold/McCulloch-Pitts function [0,1]
    • Sigmoid function {Yj = 1/(1 + e^(-AUj))}
  • Output

Next came an explanation of the 3 fundamental neural network architectures:

  • Single Layer Feedforward – see image below

 

neural_net
simple feed forward neural network
Categories
Network security

FIT5044 – Network Security Week 2

Network security’s week 2 lecture continued on the theme of thinking about and discussing the possibilities associated with network security. Specifically we learnt about the current trade off between security and services. If a computer is providing more services to external users then it is -ceteris paribus- less secure.

Discussed very briefly was the Open Systems Interconnection model which was a good refresher. Interestingly the LAN at my work office appears to be behind an Application layer firewall. Which in lectures was mentioned as being too slow? I imagine that most corporate firewalls would operate on the application layer?

We began discussing a basic port open/close firewall when I was distracted by the question of what is the difference between ports and sockets? A quick search reveals the answer (see bottom of this post).

The lecture got stuck for a while on the topic of the defence forces network security policy and the possibility of intrusion/data loss. Some reasonable arguments where put forth for why the network was secure enough. I think this is tough to confirm as one can’t predict the actions/inactions of the networks users. Email spoofing in conjunction with man-in-the-middle attacks may not threaten a trained network security engineer but will have a good chance of deceiving a general working from home.

Next came Authentication (username, IP, key decrypt response) and Access Control which was skimmed over.

DDoS attacks came up briefly the audience generally agreeing that this kind of attack can’t be defended. As we discussed this I recall that verisign offer some protects that claim to protect from DDoS attacks (see: http://www.verisigninc.com/en_US/products-and-services/network-intelligence-availability/ddos/index.xhtml). I have not read much on how these products work but according to the promo video above it involves throwing a great deal of resources at the problem 🙂

Sockets vs Ports:

A socket is not a port, though there is a close relationship between them. A socket is associated with a port, though this is a many-to-one relationship. Each port can have a single passive socket, awaiting incoming connections, and multiple active sockets, each corresponding to an open connection on the port.

port is a logical connection method two end points communicate with. Ports operate at the Transport layer of the OSI.

Sockets are a means of plugging the application layer in. Sockets are determined by an IP address and port number. A socket is one end point of a connection

source: http://pro-programmers.blogspot.com/2009/02/socket-vs-port.html

 

Categories
Intelligent systems

FIT5047 – Intelligent Systems Week 1

Kevin Korb presented Intelligent Systems, lecture 1. With a fair bit of general discussion we painted some fairly broad strokes in the initial lecture. It definitely initiated some thinking on the topic but I am still not 100% sure what the course work is going to be like. It was mentioned that the best reveal on course focus was the assignment titles:

  1. Problem solving, Logic (I really hope this does not include propositional logic1)
  2. Bayesian Networks (Looking forward to learning about these as it seems to be a major research area)
  3. Machine learning (I imagine this will tie in well with the neural networks subject)

There was some time spent discussing the definitive of intelligence. I would argue that it is simply an agent acting in a way that best achieves its defined goals. There was some mention of being able to change/update goals but this would be random for all agents unless there was a parent goal… In which case the previous definition still suffices. In regards to general intelligence, it does not seem very practical to spend many resources in developing. We already have 7 billion generally intelligent agents. Software and robotic agents which have specific goals and can execute them better than humans seem much more practical in my opinion.

We ran through some of the basic categories and problem domains in intelligent systems then had some discussion on Turing tests. Kevin mentioned that in the course work we would most likely do some prolog programming which sound like it will be very interesting. I am hoping that we get the chance to do some Python implementation of the search algorithms and Knowledge representation systems that we will be studying.

 

agent
A simple diagram of an agent, this could be robotic or a program in a virtual environment (ie internet)

 

Categories
Adv. programming for DB apps.

FIT5059 – Adv. Prog. for DB Applications Week 1

David Taniar presented the first lecture for DB App Dev. Again we covered the usual first week formalities.

The lecture consisted of a refresher in SQL. For this I can refer back to the FIT9019 course (http://mchost/?category_name=database-technology)

This subject will be using Oracle databases and software. Installation of Oracle Express is free and straight forward: http://www.oracle.com/technetwork/database/express-edition/overview/index.html

To access of Oracle services at Monash, connection via the Monash VPN must be completed. Instructions for this can be found here: http://www.its.monash.edu.au/staff/networks/vpn/ . I did have some issues connecting to the Oracle DBs at Monash through the VPN last year, but have been assured that it is doable.

The lecture covered all the basic SQL tools and David suggested that we could do everything that we needed in the subject with relatively simple SQL queries.

Oracle Text Book
Prescribed text for the subject