Resource Systems and AI
Activity 1
Introduction
       During this activity, I was able to learn about intelligent systems and artificial intelligence
and how they are being applied in daily lives. The device that was used during this activity is the
heart monitoring implant system and the home-heating control system and how they have been
capable of making life easy. This capability of monitoring is made possible through the use of the
Internet of Things (IoT). The focus was on the interoperability of hardware and software. The
standards and architectures of the systems were also analyzed in detail by looking at the
requirements from the users' point of view. The perception is achieved through the computers that
are embedded in them and connected with the internet thus they can gather and analyze data leading
to communication with other systems. They are often organized for a common purpose.
Background
       The acquisition of data for the devices was done in different ways through the applications
of algorithms for real-time control while suppressing noise to generate different signals for the
modules that were in use. Artificial intelligence can help in the performance of various tasks just
like human intelligence. Intelligent systems can respond to the world around them. Various
conditions must exist for a system to be regarded as intelligent. It should have the ability to interpret
information by connecting through the objects and how they perform meaningful operations. An
intelligent system should be able to possess certain features such as fault tolerance, self-correcting,
networked, adaptive, and self-organizing among other features (Bennett, Inkpen and Teevan., 2019).
                                                                                Description
       During the activity, various challenges of intelligent systems were encountered especially in
the use of a heart monitoring implant system as we were trying to integrate it with the system for X-
rays such that a doctor can be able to detect any problem in the event of transplant.
           1. The achievement of the features of intelligent systems can be difficult to be achieved
               from a design point of view. It can be tedious to incorporate all the necessary features
               in an intelligent system.
           2. Reliability and the quality of service such as the performance of an intelligent
               system.
           3. There can be errors during a design
           4. Interoperability (Perez-Neira, and Campalans, 2010.).
       There are various applications of Artificial systems such as being able to apply in factory
automation, education, entertainment, visual inspection, and medical care.
Description of the work done
Future Scope
        The different techniques which are used in intelligent systems can be applied to cope with
the local challenges and this is a very important step in solving various challenges that people face
in their daily lives. The approaches that are used should be able to meet the demands of the users.
The extent to which intelligence is added to a system determines how an existing problem can be
solved. There have to be approached which can help in solving the many challenges that exist
(Zhang, J.S. and Chen, A.X., 2012)
Intelligent Techniques
        Different techniques can be used in intelligent systems. The techniques include genetic
algorithms (Gas) which have been applied in cellular automata. It involves various techniques such
as initialization, selection, crossover, and mutation. There can also be particle swarm optimization
(PSO) which makes use of algorithms such as genetic algorithms.
Major Components of Artificial Intelligence
        Artificial Intelligence makes use of machine vision, natural language processing, and
machine learning. Machine learning refers to the ability of a program to understand visual input.
The machines use the training images as the classification base. Face recognition is an example of
machine vision.
        Natural language processing is the ability of the machines to understand text inputs and the
human voice. The machines can be able to understand communication and take actions on the
prebuilt data and contextual variable. An example is Google Assistant (Li and Mourikis, 2012).
Machine learning is the capability of the machines t learn from data that has been fed into them,
decisions, and variables of the environment.
Applications of Artificial intelligence
        Fraud prevention. Theft can be linked to the face of the person who is involved through
attaching a camera to the POS system which will record transactions that have been done by
particular individuals thus they can be linked to the face along with the details which are already
existing in the system. If an individual uses fake currency or commits credit card fraud, it is easy to
detect this fraud hence catching them. An alert is sent to the administrator immediately the system
detects fraud and it stops taking any requests immediately (Skobelev, 2018).
       Brand Management. The understanding of the opinion of the consumers can be done through
automation. The analysis of the content across the internet can help in identifying critical issues.
Watson Analytics for Social Media can be a real example of an automation. Analysis of the users
online can be done within a short time by just referring to the keywords and defining the context
they are being used.
       Software Testing and development. The availability of various tools of automation can help
in testing software and development. Examples of tools used in testing include Applitools and
ReTest.
Human Resource Management. AI can be used to identify potential candidates by helping in CV
analysis. Resumes can also be received through the automated applicant tracking system.
Insights
Importance of Intelligence Automation
          It reduces costs. This can be through avoiding the expense of training staff for various tasks.
Instead of investing in training the employees, one is needed to deal with turn over and being able
to give time for skill development.
       Efficiency is improved through the use of machines as they have little or no errors.
Improvement is also seen as the machine learns with time from its output (Jarvie, 2012).
       New Human Roles. New jobs have been introduced in the use of artificial intelligence.
People who have exceptional skills have been able to find themselves in training low-level
automation thus being able to do most of their work (Wahl, et. al, 2018. ).
Challenges of Artificial intelligence
Building trust can be difficult especially the people who do not understand the technical side of
algorithms since they are the ones that are applied in AI.
AI human interface. The shortage of data science skills in the people to get the maximum output of
AI. There is a shortage of advanced skills in various industries.
Investment is a challenge since it is not all business owners who can afford to invest in artificial
intelligence (Bresina, et. al, 2012).
Conclusion
        Artificial intelligence and intelligent systems are closely related since they apply
intelligence in their application. These systems can be complex to build especially if an individual
does not know about developing such systems as they involve some features which are critical in
their applications. Artificial intelligence and intelligent systems have enabled automation in various
aspects of different industries leading to the achievement of efficiency.
                                             References
Bresina, J., Dearden, R., Meuleau, N., Ramkrishnan, S., Smith, D. and Washington, R., 2012.
Planning under continuous time and resource uncertainty: A challenge for AI. arXiv preprint
arXiv:1301.0559.
Jarvie, D.M., 2012. Shale resource systems for oil and gas: Part 2—Shale-oil resource systems.
Wahl, B., Cossy-Gantner, A., Germann, S. and Schwalbe, N.R., 2018. Artificial intelligence (AI)
and global health: how can AI contribute to health in resource-poor settings?. BMJ global health,
3(4), p.e000798.
Skobelev, P., 2018, June. Towards autonomous AI systems for resource management: applications
in industry and lessons learned. In International Conference on Practical Applications of Agents
and Multi-Agent Systems (pp. 12-25). Springer, Cham.
Li, M. and Mourikis, A.I., 2012, October. Vision-aided inertial navigation for resource-constrained
systems. In 2012 IEEE/RSJ International Conference on Intelligent Robots and Systems (pp. 1057-
1063). IEEE.
Cicalo, S., Tralli, V. and Perez-Neira, A.I., 2011, May. Centralized vs distributed resource allocation
in multi-cell OFDMA systems. In 2011 IEEE 73rd Vehicular Technology Conference (VTC Spring)
(pp. 1-6). IEEE.
Amershi, S., Weld, D., Vorvoreanu, M., Fourney, A., Nushi, B., Collisson, P., Suh, J., Iqbal, S.,
Bennett, P.N., Inkpen, K. and Teevan, J., 2019, May. Guidelines for human-ai interaction. In
Proceedings of the 2019 CHI Conference on Human Factors in Computing Systems (pp. 1-13).
Zhang, J.S. and Chen, A.X., 2012. Review of quantum discord in bipartite and multipartite systems.
In Quantum Physics Letters.
       Perez-Neira, A.I. and Campalans, M.R., 2010. Cross-Layer Resource Allocation in Wireless
Communications: Techniques and Models from PHY and MAC Layer Interaction. Academic Press.
Mao, H., Alizadeh, M., Menache, I. and Kandula, S., 2016, November. Resource management with
deep reinforcement learning. In Proceedings of the 15th ACM Workshop on Hot Topics in Networks
(pp. 50-56).
Activity 2
Introduction
        Deep learning refers to the function of artificial intelligence which imitates workings of the
human brain in data processing and creation of patterns that can be used in decision making.
        Image processing refers to the transformation or modification of an image at the pixel level.
For instance, filtering, blurring, edge detection, and deblurring. Deep learning involves identifying
the features of an image automatically by just learning on various samples of images. Deep learning
is being applied in image processing in the recent past.
Background
        The relationship which exists between deep learning and image processing is that deep
learning is used in processing the image.
Overfitting occurs when a machine learning model becomes too attuned to the data which it has
been trained for hence it loses the applicability to another dataset. A model is said to be overfitted if
it has a reference to the original data in which the application of data being collected in the future
leading to erroneous outcomes (Kamilaris and Prenafeta-Boldú, 2018.). A model that is overfitted
can be useless unless it is applied to the exact dataset since there is no other data which can be able
to fall exactly along the fitted line.
Description of the work done
       Training a dataset involves construction by the use of algorithms that can learn and make
predictions based on the data which has been provided. We were able to realize that the functioning
of the algorithms was based on data-driven predictions.
Fraud detection system. Deep learning can help in finding the frauds which can be committed
through online transaction systems in digital banking such as PayPal. Money laundering can easily
be detected when they occur in the digital transaction system and being able to find an exact address
as well as time.
       Transportation can be facilitated with deep learning technology as it will allow them to be
able to identify traffic signals (Bayar and Stamm, 2016).
Electronics and digital platforms. This can be through image and video recognition. The
commercial applications which make use of image recognition for identity such as Facebook.
Interference on driverless cars can stop based on image recognition. Voice recognition such as
Google Voice Assistant is being powered by deep learning (Cha,, Choi and Büyüköztürk, 2017).
Aerospace and defense. Objects can be found by the use of deep learning for the objects which are
found from satellites and areas that are insecure or may not be accessed easily.
      Medical Research Tools. Researchers can be able to detect cancer cells automatically with
the help of deep learning (Janowczyk and Madabhushi, 2016.).
High machinery industry. Humans can be protected by the use of deep learning to realize loops in
machines that are dangerous and it can also notify humans to shift to safe areas.
       Image processing is used in computerized photography such as Photoshop. It can also be
applied in space image processing such as interplanetary probe (Kussul, Lavreniuk, Skakun and
Shelestov, 2017).
       Automatic character recognition such as zip code and license plate recognition.
Overfitting can lead to misrepresentation of data through which the model has learned from. The
accuracy of an overfitted model is less as compared to a model that is fitted. In training data,
overfitting can be accurate although developers may not be able to use the model to train new data
as it will underperform in its production.
There can be various kinds of problems that will be associated with the deployment of an overfitted
model. For instance, if an individual think that a model is 95% accurate in predicting the likelihood
of reality of a loan default when in reality it is overfitted and its accuracy could be less than 50%
when being applied in decision making in the future. This can result in the loss in business as there
will be less profit being witnessed and the customers will be dissatisfied in the process.
Overfitting should be solved to increase the flexibility of a model that is involved. There should be
careful to avoid too much flexibility as it may not work well for the model that is involved.
Different techniques can be used in regularization to overcome overfittings such as L1
regularization, L2 regularization, and elastic net.
Insights
How to overcome overfitting
       Cross-validation. This involves using the initial training data to generate multiple tests that
are smaller compared to the original model.
Train using more data. There will be better signal detection in the process. The use of clean data is
key to its efficiency and application (Litjens, et. al, 2017).
Remove features. The ability of some algorithms to use built-in feature selection can help however,
those that do not have can be improved manually by removing irrelevant features.
Early stopping (Gal, 2016). Measurement of how well the iteration of a model will perform. There
is a need to have a specific target of several iterations and then proceed to improve the model. The
ability of the model to be able to generalize can weaken when it begins to overfit the training data.
Early stopping will help stop the process of training before a certain point is passed.
       It is mostly used in deep learning while other techniques can be preferred for achieving
classical machine learning (Affonso, et. al, 2017).
Regularization
       It aims at artificially forcing a model to be simpler. It entirely depends on the type of learner
that is being used. Regularization can be used as a hyperparameter thus can be used in cross-
validation.
Ensembling
       It requires a combination of predictions that separate models can be able to learn from. It
makes the use of different methods such as bagging which attempts to make the use of chance
reduction in complex models. Boosting also attempts to improve in predicting the flexibility of
simple models (Wan, et. al, 2014).
Conclusion
       Deep learning works hand in hand with image processing as the different techniques which
are used have to be involved in the process. All of these applications have been made possible or
greatly improved due to the power of Deep Learning. Applying the machine learning model on
data-sets directly, will not predict our accuracy as we expected and it may be full of overfitting or
underfitting representation on our training data. Overfitting can be minimized through different
ways such that the resulting model is accurate as per the functional requirements.
                              References
Kamilaris, A., and Prenafeta-Boldú, F.X., 2018. Deep learning in agriculture: A survey. Computers
and electronics in agriculture, 147, pp.70-90.
Wan, J., Wang, D., Hoi, S.C.H., Wu, P., Zhu, J., Zhang, Y. and Li, J., 2014, November. Deep
learning for content-based image retrieval: A comprehensive study. In Proceedings of the 22nd
ACM international conference on Multimedia (pp. 157-166).
Affonso, C., Rossi, A.L.D., Vieira, F.H.A., and de Leon Ferreira, A.C.P., 2017. Deep learning for
biological image classification. Expert Systems with Applications, 85, pp.114-122.
Litjens, G., Kooi, T., Bejnordi, B.E., Setio, A.A.A., Ciompi, F., Ghafoorian, M., Van Der Laak, J.A.,
Van Ginneken, B. and Sánchez, C.I., 2017. A survey on deep learning in medical image analysis.
Medical image analysis, 42, pp.60-88.
Gal, Y., 2016. Uncertainty in deep learning. University of Cambridge, 1, p.3.
Bayar, B. and Stamm, M.C., 2016, June. A deep learning approach to universal image manipulation
detection using a new convolutional layer. In Proceedings of the 4th ACM Workshop on Information
Hiding and Multimedia Security (pp. 5-10).
Kussul, N., Lavreniuk, M., Skakun, S. and Shelestov, A., 2017. Deep learning classification of land
cover and crop types using remote sensing data. IEEE Geoscience and Remote Sensing Letters,
14(5), pp.778-782.
Janowczyk, A. and Madabhushi, A., 2016. Deep learning for digital pathology image analysis: A
comprehensive tutorial with selected use cases. Journal of pathology informatics, 7.
Guo, Y., Liu, Y., Oerlemans, A., Lao, S., Wu, S. and Lew, M.S., 2016. Deep learning for visual
understanding: A review. Neurocomputing, 187, pp.27-48.
Cha, Y.J., Choi, W. and Büyüköztürk, O., 2017. Deep learning‐based crack damage detection using
convolutional neural networks. Computer‐Aided Civil and Infrastructure Engineering, 32(5),
pp.361-378.
Activity 3
Introduction
       A prolog is a sequence of clauses. The knowledge base that is represented in the prototype is
a collection of facts which are unconditionally true for the cheetah. Knowledge Base 1 (KB1) refers
to the collection of facts which can be used to state things which are unconditionally true.
Knowledge Base 2 (KB2) can be used when there are two facts which are involved. The
information that is stated by the rules are always conditionally true. Knowledge Base 3 (KB3)
contains more than two facts. Therefore, a prototype contains facts and rules on how a certain
problem should be solved. The determination if the animal is a cheetah, it will require checking the
facts for the existence of spots without feathers and it is a carnivore which has a tawny color. There
can be atoms which are made up of strings being either lower case and uppercase letters, digits and
underscores. It always starts with the lower case. Numbers are also contained in prolog
implementations and they are always integer type (Efremidis, Schmidt, Krings and Körner, 2018).
Background
       Knowledge Base is used in answering computing questions. It came up as a result of
answering phone calls and emails in the 1980s. The modus operandi that was in existence at the
time was repetitive answers. Thus there was need for the staff to change and correct the information
that was frequently requested. A repository was required for the results which required length
research in order to be solved. There were no specific ways in which files could be formatted in
order to enhance knowledge base. Later KB2 and KB3 were developed in order to provide easier
maintenance as a result of fast search options. This was also promoted due to features of the web
versions which were developed. Knowledge base is very important in the daily lives as it helps to
solve problems more easily (Schneider-Kamp, et. al, 2010). There are different symbols which can
be used for different purposes and thus they are required to be understood in order to solve the
problems in context. There are predicates that are inbuilt thus simple programs can be easily
interpreted through the facts and rules which certain prolog has. The built-ins can be used the same
way as the user-defined predicates.
Description of the work done
Task 2
gives_milk(yes).
eats(meat).
spots(yes).
colour(tawny).
stripes(no).
feathers(yes).
mammal(yes):- gives_milk(yes).
carnivore(yes):-mammal(yes),eats(meat).
animal(cheetah):- carnivore(yes),colour(tawny),spots(yes),feathers(no)
Determining if the animal is a cheetah, the prolog will run till it finds the word cheetah and it is
being an animal. It will proceed to check what is on the left hand side of the rule. It will run through
all the rules and find different kinds of animals. It will go back to the beginning of the program and
start again. It will proceed indicating that a cheetah provides milk and it eats meat. The color of the
cheetah is also tawny but it does not have feathers (Amaral, Florido and Costa, 2014).
It will skip the strips and feathers. On reaching at the mammal, on the left hand side of the rule, it is
a fact that it is a mammal which gives milk. It continues down the rules and at the animal (cheetah)
it will be able to find the so
                                                                                                  lution
that the animal is not a cheetah.
Task 3
gives_milk(yes).
eats(meat).
spots(no).
colour(tawny).
stripes(no).
feathers(no).
mammal(yes):- gives_milk(yes).
carnivore(yes):-mammal(yes),eats(meat).
animal(cheetah):- carnivore(yes),colour(tawny),spots(yes),feathers(no).
animal(lion):-carnivore(yes),colour(tawny),spots(no),feathers(no).
         The prolog will run from the first first till it finds the first rule which contains the left hand
side and right hand side. It will proceed to check what is on the left hand side of the rule. It will go
back to the beginning of the program and start again. It will proceed indicating that a lion gives mill
and it eats meat. The color of the lion is also tawny but it does not have feathers.
It will skip the strips and feathers. On reaching at the mammal, on the left hand side of the rule, it is
a fact that it is a mammal which gives milk. It continues down the rules and at the animal (cheetah)
it will be able to find the solution since all the facts that are at the right hand side agree with the
facts of the animal being a cheetah (Swift and Warren, 2012)
Task 4
gives_milk(yes).
eats(meat).
spots(yes).
colour(tawny).
stripes(yes).
feathers(no).
mammal(yes):- gives_milk(yes).
carnivore(yes):-mammal(yes),eats(meat).
animal(cheetah):- carnivore(yes),colour(tawny),spots(yes),feathers(no).
animal(lion):-carnivore(yes),colour(tawny),spots(no),feathers(no).
animal(tiger):- carnivore(yes),colour(tawny),stripes(yes),feathers(no).
       The prolog will run from the first till it finds the first rule which contains the left hand side
and right hand side. It will proceed to check what is on the left hand side of the rule. It will go back
to the beginning of the program and start again. It will proceed indicating that a lion gives mill and
it eats meat. The color of the lion is also tawny but it does not have feathers.
It will ignore the feathers. On reaching at the mammal, on the left hand side of the rule, it is a fact
that it is a mammal which gives milk. It continues down the rules and at the animal (tiger) it will be
able to find the solution since all the facts that are at the right hand side agree with the facts of the
animal being a lion (Mera and Wielemaker, 2013).
Task 5
gives_milk(no).
eats(insects).
spots(yes).
colour(tawny).
stripes(no).
has_feathers(yes).
omnivorous(yes):-spots(yes),eats(insects).
bird(kingbird):- omnivorous(yes), has_feathers(yes).
Task 6
gives_milk(no).
eats(insects).
colour(black).
stripes(no).
feathers(no).
amphibian(yes).
mammal(no):- gives_milk(no).
animal(frog):-amphibian(yes),colour(black),stripes(no),feathers(no).
Insights
The prolog interpreter makes use of backtracking in order to solve issues. On reaching a particular
rule, it can go back to be able to start a fresh in order to find the solution for a given query. The
queries are processed in the database where the rules are stored. A trace can be made for a given
predicate. A logical implication is used to describe the relationship which is among the different
facts (Wielemaker and Costa, 2010.).
Conclusion
The rules and facts of a prolog have to be followed in order to find a suitable result of a given query.
Knowledge based facts are very important in solving the different questions of prolog since they
contain. The built-in cannot appear as the principal functor in a fact or the head of a rule. Thus this
has to remain the same as changing it can lead to changing the meaning of the definition. Matching
between two terms can said to exist if they are identical or they have been made to be identical by
the instantiation of a variable. Variables can be used and they consist of strings of letters, digits,
underscores.
                                               References
Wielemaker, J. and Costa, V.S., 2010. Portability of Prolog programs: theory and case-studies.
arXiv preprint arXiv:1009.3796.
Mera, E. and Wielemaker, J., 2013. Porting and refactoring Prolog programs: the PROSYN case
study. TPLP, 13(4-5-Online-Supplement).
Swift, T. and Warren, D.S., 2012. XSB: Extending Prolog with tabled logic programming. Theory
and Practice of Logic Programming, 12(1-2), pp.157-187.
Dunchev, C., Guidi, F., Coen, C.S. and Tassi, E., 2015, November. ELPI: Fast, Embeddable, $
$\lambda $$ Prolog Interpreter. In Logic for Programming, Artificial Intelligence, and Reasoning
(pp. 460-468). Springer, Berlin, Heidelberg.
Wielemaker, J., Schrijvers, T., Triska, M. and Lager, T., 2012. Swi-prolog. Theory and Practice of
Logic Programming, 12(1-2), pp.67-96.
Costa, V.S., Rocha, R. and Damas, L., 2012. The yap prolog system. Theory and Practice of Logic
Programming, 12(1-2), pp.5-34.
Wielemaker, J., Lager, T. and Riguzzi, F., 2015. SWISH: SWI-Prolog for sharing. arXiv preprint
arXiv:1511.00915.
Schneider-Kamp, P., Giesl, J., Ströder, T., Serebrenik, A. and Thiemann, R., 2010. Automated
termination analysis for logic programs with cut. Theory and Practice of Logic Programming, 10(4-
6), pp.365-381.
Amaral, C., Florido, M. and Costa, V.S., 2014, June. PrologCheck–property-based testing in prolog.
In International Symposium on Functional and Logic Programming (pp. 1-17). Springer, Cham.
Efremidis, A., Schmidt, J., Krings, S. and Körner, P., 2018, September. Measuring coverage of
prolog programs using mutation testing. In International Workshop on Functional and Constraint
Logic Programming (pp. 39-55). Springer, Cham.