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