Computer science Expose
Computer science Expose
Group members:
Tamekue Tegnofe Jeremie
Wanda Yomi Emmanuel
Chiekeu Fred Vidal
Heussi Paul
Tiodjo Adriel Jessy
SCHEME OF WORK:
Definition……………………………………………………….
Importance……………………………………………………...
Scope of the study……………………………………………
Objectives……………………………………………………….
Introduction:
Definition:
B) Computational Complexity
Understanding the classification of problems based on their
computational difficulties.
C) Artificial Intelligence and Machine Learning
Investigating the use of machine learning models to solve
problems in areas such as data analysis, pattern
recognition, and predictive modelling.
Exploring how AI-driven approaches can enhance
problem-solving capabilities, including reinforcement
learning, neural networks, and decision-making
algorithms.
Information hiding and abstraction are the principles which are necessary
in the design and use of complicated systems. For example a person using
the web does not need to know what a router is or protocol or how web
browser interqct with the operating system.
Function SumNaturalNumbers(n)
BEGIN
Sum 0
for i 1 To n Do
Sum Sum + i
Endfor
Display Sum
END
Tracing this algorithm for n =100 produces the sum result = 5050.
1
Another way that this can be done using the formula Sum = n ( n+1 )
2
Function SumNaturalNumbersByFormula(n)
BEGIN
Sum n∗(n+1)/2
Tracing this algorithm for n = 100 produces the result Sum = 5050,
In the case of SumNaturalNumbers(n) the basic operation of addition
dominates over all small values of n. In fact there are n additions i.e.
T(n) =n.In the case of SumNaturalNumbersByFormula (n) if we
consider that multiplication, addition and division are basic operations and
that they take the same time, we have
three operations, hence T(n) = 3.
D) Complexity of a problem
- Best case: is the minimum number of steps the algorithm takes for any
possible input (or inputs) of size n.
E) Big O Notation
O(k) = O(1).
Constant times are expressed as O(1).
O(kT) = O(T).
Constants inside a function are ignored.
G) Non-computable Problems
H) Decision Problems
A decision problem is a problem with a YES/NO algorithmic problem or
answer. For example, we require an algorithm to decide if a given positive
integer n is prime. The algorithm is to output Yes if n is prime and No if it is
not. Here is a program outlining that :
#include <stdio.h>
#include <math.h>
int main() {
int i, n, prime;
printf("Input n: ");
scanf("%d", &n);
prime = 1;
for (i = 2; i <= round(sqrt(n)); i++) {
if (n % i == 0) {
prime = 0;
}
}
if (prime) {
printf("Yes\n");
} else {
printf("No\n");
}
system("pause");
return 0;
}
Module 2: Foundation of computational problem solving
Characteristics
B) Definite Constraints
The problem includes certain limitations such as time complexity,
space complexity, and input size, which influence the choice of the
solutions approach.
C) Complexity Measure
Each computational problem has a complexity class (e.g., P, NP, NP-
hard), which determines how efficiently it can be solved using an
algorithm.
D) Computability
A problem is computational if it can be solved algorithmically using a
finite sequence of steps. Some problems are undecidable, meaning
no algorithm can solve them in all cases.
1) P (Polynomial Time)
These are problems that a computer can solve efficiently, meaning
in a reasonable amount of time (Polynomial time). e.g. Sorting a list
of numbers
3) Np-complete (NPC)
These are the hardest problems in NP. If someone finds a fast way to
solve one NP-complete problem, then all NP problems can be solved
quickly. e.g. The Travelling salesman problem (TSP). finding the
shortest route for a salesman visiting multiple cities.
4) NP-Hard
These problems are at least as hard as NP-complete problems, but
they don’t have to be in NP (that is their solutions might not even be
checkable quickly).
b) Problem Analysis
It involves breaking the problem into smaller parts, identifying
input, output and constraint also possible challenges.
d) Implementation (coding)
Translate the algorithm into a programming language such as
Python, Java or C++.
e) Follow the plan
Once you’ve created or describe the step you will use, follow the
plan and check for its efficiency and accuracy, whether it solves
the problem it was meant to solve and possible ameliorations.
A) Impact
1) Technological Advancement
Problem-solving drives the development of new algorithms,
software, and computing technologies.
2) Efficiency and Automation
Optimized problem-solving techniques lead to faster and more
efficient systems. E.g. AI-driven automation in industries reduces
human effort and speeds up processes.
4) Enhanced Decision-Making
Computational problem-solving enables data-driven decisions in
business, healthcare, and science. E.g. Predictive analytics helps
companies forecast market trends and consumer behaviours.
. Conclusion