Skip to main content

Logic and Reasoning in AI + programming




After I finished any undertaken work, I always ask myself; “what did I learn? What was the main point about this?” for example about university, end of this year I asked myself what did I learn from my second year in university? And specific about a module which is our main subject “Formal aspect of computer science” (http://scom.hud.ac.uk/scomtlm/cia2326/) with Professor Lee McCluskey. Although I know that I learnt a lot from this module and I almost understand all subjects in this module, but it’s hard to show because all are formula and mathematical, here we are talking about “First Order Logic”, “Clausal Form and Unification”, “Resolution and the Refutation Method”, “Algebraic Specifications” and etc.. A few weeks back, while I was programming I found some logic which seems to be hard, it was a page which only user and admin could access that page. If I need to allow all user access that page, I could write something like this; by assuming I know $user from the session $user=$_SESSION[‘user’] $admin=$_SESSION[‘admin’] Now we could write something like this(picture below) But I have a restriction here(for some reasons); I cannot use else statement, how do we solve this issue? According to what I learnt from "Formal aspect of computer science" module, I can use these formula; These are some well known equivalent FORMS in FOL called laws ( De Morgans laws etc) ¬ ( P & Q ) = ¬P V ¬Q ¬ ( P V Q ) = ¬P & ¬Q P=>Q = ¬P V Q ¬ ¬ P = P P <=> Q = (P=>Q)&(Q=>P) etc Logic and Reasoning in AI So I can easily use above fomula and solve the problem, I know that this example is obvious but my main point here is; to say that when I reached where I had to think about solving this problem, the first thing came in my mind was this module. I also used this logic(above laws) in retrieving data from database(using MySQL code). You are welcome to leave a comment and share your thought.

Comments

Popular posts from this blog

I solved GCHQ puzzle and this is how I did it

Today, I was reading the BBC news and I stumbled upon this GCHQ puzzle:
Take the digits 1,2,3 up to 9 in numerical order and put either a plus sign or a minus sign or neither between the digits to make a sum that adds up to 100. For example, one way of achieving this is:
1 + 2 + 34 - 5 + 67 - 8 + 9 = 100, which uses six plusses and minuses. What is the fewest number of plusses and minuses you need to do this? I love to challenge myself with these kind of puzzles, so I solved this and here is how:
We have 9 numbers [1 to 9] and also we have three possible separators [+, - and nothing] which to fill the gap between numbers we have 8 combinations of separators, e.g. we have 1+2+3+4+5+6+7-89 which in this case we have six times plus, one minus and one time nothing. 
So, I need to find all possibilities of combination which total is: 6561

Then, hook the possible combinations into numbers and check the total, easy enough. Now print the solution.
I have written this algorithm in PHP but ea…

Vim cheatsheet

Global

:help keyword – open help for keyword

: o file – open file

:saveas file – save file as

:close – close current pane

Cursor movement

h – move cursor left

j – move cursor down

k – move cursor up

l – move cursor right

H – move to top of screen

M – move to middle of screen

L – move to bottom of screen

w – jump forwards to the start of a word

W – jump forwards to the start of a word (words can contain punctuation)

e – jump forwards to the end of a word

E – jump forwards to the end of a word (words can contain punctuation)

b – jump backwards to the start of a word

B – jump backwards to the start of a word (words can contain punctuation)

0 – jump to the start of the line

^ – jump to the first non-blank character of the line

$ – jump to the end of the line

g_ – jump to the last non-blank character of the line

gg – go to the first line of the document

G – go to the last line of the document

5G – go to line 5

fx – jump to next occurrence of character x

tx – jump to before next occurrence of character x

} – jump to …

Why Prestashop needs improvement for large application?

I have worked with Prestashop 1.6 long enough to know inside/outside of the application and even I developed few modules myself, all is simple and great but in small scale. My application is big, I am talking about millions rows in database. Two databases weight almost 18G (see the picture).

One day at 2AM I received a notification that my website/application is down. I looked at the server the application seems OK but the databases gone crazy big, (see the picture) it has gone from 18G to over 90G less than 6 hours. 
Since there was almost none free space left on the server, all server running really slow even I could not restart NGINX. All was frozen. All my websites/applications run on dedicated server on UKFast, so none of websites would work because all is glued together. 
There are many issues here, e.g. the server infrastructure is wrong (I know that already), there should be monitoring service in place which there was no such thing (I know that too) etc. but why this happened,…