Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Please post a runable and correct code. The previous answer is wrong and has errors, so I am posting again. Please also comment some explanation

Please post a runable and correct code. The previous answer is wrong and has errors, so I am posting again. Please also comment some explanation besides the code so that I can also understand the code properly.

image text in transcribedimage text in transcribed

Write a program in C++ that implements the following unification algorithm. Unify(E1,E2) If ( both E1 and E2 are constant or empty ) \{ If ( E1=E2 ), then return \{\} Else return FAIL \} If ( E 1 is a variable ) \{ If E1 occurs in E2, then return FAIL Else return { E2/E1 } \} If ( E2 is variable ) \{ If E2 occurs in E1, then return FAIL Else return { E1/E2 } \} If ( E1 or E2 is empty ), then return FAIL HE1 = first element of E1 HE2 = first element of E2 SUBS1 = unify (HE1, HE2) If (SUBS1 = FAIL) then return FAIL TE1 = apply SUBS1 to rest of E1 TE2 = apply SUBS1 to rest of E2 SUBS2 = unify (TE1,TE2) If (SUBS2 = FAIL) then return FAIL Else return composition(SUBS1, SUBS2) E1 and E2 are two terms where variables start with upper case letters and function/constant symbols start with lower case letters. You need to consider "Occur Check". Example This is an implementation of the unification algarithm. Phease enter the first term: a Flease enter the second terme x The unifiar is: X= Flease enter the first term: X Flease enter the second terme Y The unifier is: Y=X Flease enter the first term: X Flease enter the second terex 1[Y] The unifier is: X=f(g) Flease enter the first term: X Flease enter the secoond terem M(a,Y] The unifor is: x=h(a,y) Phease enter the first term. f(fIX, 1,x Flease enter the second term flf(V,U),giU,r)] The unifier is: X=V,Y=U,V=g(U,U] Flease enter the first term: f(f|X, Y, 5 ) Flease enter the second terme fif(V,U),g[U,Y]] The unifier is: Invald Please enter the first term: X Flease enter the second teren fX The unifier is: there is no unifier

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Hands On Database

Authors: Steve Conger

1st Edition

013610827X, 978-0136108276

More Books

Students also viewed these Databases questions

Question

How do you add two harmonic motions having different frequencies?

Answered: 1 week ago