تبليغاتX
دنیای انفورماتیک و برنامه نویسی

دنیای انفورماتیک و برنامه نویسی

برترین مقالات در زمینه علم انفورماتیک و برنامه نویسی ودانلود کتب الکترونیک در زمینه های مختلف مهندسی

جبررابطه ای

جبر رابطه ای (relational algebra) عمليات روی پايگاه داده را به صورت فرمول بيان می کند. جبر رابطه ای توسط Codd به عنوان مبنای زبان های پرس و جوی پايگاه داده ارائه شد. عملگرهای جبر رابطه ای توسط نمادهائی نمايش داده می شوند.

شش عملگر مبنائی جبر رابطه ای که توسط Codd تعريف شد عبارتند از:

• Selection: σ
• Projection:
• Cartesian Product: ×
• Set union:
• Set difference: –
• Rename:

اکثر عملگرهای ديگر توسط اين عملگرها تعريف می شوند. مهمترين آنها عبارتند از:

• Set Intersection:
• Division: ÷
• Natural Join:

هر عملگرجبر رابطه ای روی يک يا دو رابطه به عنوان ورودی عمل کرده و يک رابطه جديد را به عنوان نتيجه توليد می کنند.


Selection

عملگر انتخاب (selection) يک عملگر يکتائی است که سطرهائی از يک رابطه را انتخاب می کند. فرم کلی آن به صورت زير است:

σشرط(R)

خروجی عملگر selection رابطه ای است شامل سطرهايی از رابطه R که شرط موردنظر در آنها برقرار بوده است.

کارديناليتی جدول حاصل کمتر يا مساوی جدول اوليه است اما درجه آنها تفاوت نمی کند.

شرط می تواند توسط علائم = ، ،> ،< ، ، ، (and) ، (or) و ~(not) ساخته شود.


Projection

عملگر پروژه (projection) عملگر يکتائی که ستون هائی از يک رابطه را انتخاب می کند. شکل کلی آن به صورت زير است:

a1,…,an(R)

a1,…,an مجموعه از اسامی صفات خاصه است که از رابطه R انتخاب می شوند. نتيجه عمل پروژه جدولی شامل کليه تاپل های رابطه R است که محدود به مجموعه صفات مشخص شده است.

اگر در جدول حاصل سطرهايی مشابه هم باشند با هم ترکيب می شوند و سطرهای تکراری حذف می شوند. معمولا يک کليد کانديد را نگه می داريم تا کارديناليتی حفظ شود. درجه جدول حاصل کمتر يا مساوی جدول اوليه است.


Cartesian Product

ضرب دکارتی (Cartesian Product) عملگری است که روی دو جدول کار می کند و جدول جديدی را می دهد که که يک رکورد برای هر جفت رکورد ممکن از هر دو جدول دارد. فرم کلی آن به صورت زير است:

R × S

رکوردهای های رابطه R با کليه رکوردها رابطه S به اين صورت ترکيب می شوند که اولين سطر از رابطه R در کنار اولين سطر رابطه S در جدول حاصل قرار می گيرد و به همين ترتيب تا آخرين سطر S اضافه می شود. همين عمل مجددا برای سطرهای ديگر رابطه R تکرار می شود.

Cartesian product Example

در جدول حاصل احتمال تکرار شدن ستون ها وجود دارد.

درجه جدول حاصل برابر مجموع درجات دو جدول و کارديناليتی آن برابر حاصل ضرب کارديناليتی دو رابطه می باشد.

ضرب دکارتی در جبر رابطه ای متفاوت از آنچه درتئوری مجموعه است تعريف می شود.


Set Union

عملگر اجتماع (union) يک عملگر دوتائی است که مشابه عمل اجتماع در تئوری مجموعه ها عمل می کند. فرم کلی آن به صورت زير است:

R S

اجتماع دو رابطه R و S جدولی است شامل کليه تاپل های رابطه R و رابطه S.

دو رابطه ای که روی آنها عمل اجتماع انجام می شود بايد همساز(compatible) باشند، يعنی بايد دارای مجموعه صفات خاصه يکسان باشند.

Union Example

درجه جدول حاصل تفاوتی نمی کند اما کارديناليتی آن برابر با مجموع سطرهای هردو جدول منهای سطرهای مشترک است.


Difference

عملگر تفاضل (difference) يک عملگر دو تائی است و مشابه عمل تفاضل در تئوری مجموعه ها است. فرم کلی آن به صورت زير است:

R - S

تفاضل R و S جدولی است که شامل کليه تاپل هايی است که در R هست ولی در S نيست. سطر اول رابطه R با کليه سطرهای رابطه S مقايسه می شود هر کدام که در رابطه S نبود در جدول حاصل قرار می گيرد.

دو رابطه ای که روی آنها عمل تفاضل انجام می شود بايد همساز باشند.

Difference Example

کارديناليتی جدول حاصل برابر کارديناليتی رابطه R منهای سطرهای مشابه است. درجه آنها تفاوتی نمی کند.


Rename

عملگر تغيير نام (rename) يک عملگر يکتائی است که برای تغيير نام صفات خاصه يک رابطه يا نام خود رابطه استفاده می شود. تغيير نام به صورت نوشته می شود:

A(B)

نتيجه عمل تغيير نام روی رابطه B همان رابطه B است با نام جديد A به بيان ديگر رابطه B را به A تغيير نام می دهد.


Intersection

عملگر اشتراک (intersection) بر اساس عمل اشتراک مجموعه ها می باشد. فرم کلی آن به صورت زير است:

R S

جدول حاصل از اشتراک دو رابطه R و S جدولی است شامل کليه تاپل هايی که در هر دو جدول وجود دارد.

دو رابطه ای که روی آنها عمل اشتراک انجام می شود بايد همساز باشند.

Intersection Example

Division

عملگر تقسيم (division) روی دو رابطه انجام می شود. فرم کلی آن به صورت زير است:

R ÷ S

حاصل تقسيم رابطه R بر رابطه S رابطه ای است شامل کليه تاپل هائی از R برای صفات خاصه مشترک در رابطه S نيز وجود دارد. در جدول حاصل صفات خاصه ای از R اضافه می شود که در S نيست.

Division Example

عمل تقسيم توسط عملگر های مبنائی به صورت زير شبيه سازی می شود:

T := a1,...,an(R) × S
U := T - R
V := a1,...,an(U)
W := a1,...,an(R) – V


Join

الحاق طبيعی (Natural Join) يک عملگر دوتائی است که به صورت زير نوشته می شود:

R S

نتيجه الحاق طبيعی رابطه ای است شامل کليه ترکيبات تاپل های R و S است که صفات خاصه مشترک آنها برابر است.

الحاق دو رابطه زير مجموعه ای از ضرب دکارتی است. نتيجه ضرب دکارتی بدون هيچ شرطی است و ممکن است اطلاع جديدی را ندهد. ولی عملگر الحاق با استفاده از کليد خارجی دو رابطه را با هم ترکيب کرده و با حذف سطرهائی از ضرب دکارتی اطلاع معنی داری را از ترکيب جداول می دهد.

دو رابطه که در الحاق شرکت می کنند بايد دارای صفت خاصه مشترکی باشند.

مثال. جدول Loan و Borrower که به ترتيب حاوی مشخصات وام ها و وام گيرنده ها هستند را درنبظر بگيريد.

Natural join Example

مثال. در جدول Borrower کليد خارجی فيلد Loan_no است. الحاق جداول Loan و Borrower اسامی وام گيرنده ها و مقدار وام آنها را می دهد.

وقتی عمل الحاق روی دو رابطه انجام می شود بعضی داده ها از دست می روند. بعضی وقت ها اين داده ها اطلاعات مفيدی را دارند. الحاق خارجی (outer join) جداول را به نحوی ترکيب می کند که داده های مورد نظر در جدول نتيجه باقی بمانند.

بسته به اطلاعاتی که حفظ می شود سه نوع الحاق خارجی وجود دارد:

left outer join •
right outer join •
full outer join •

left outer join

نتيجه الحاق چپ مجموعه کليه تاپل های رابطه R و S است که صفات خاصه مشترک آنها يکسان است بعلاوه تاپل هايی در R که برای صفت خاصه مشترک همنظيری در S ندارد. برای اين تاپل ها در صفات خاصه ای که از S اضافه می شوند مقدار null قرارداده می شود.

الحاق چپ به صورت زير نوشته می شود:

R S

مثال. الحاق خارجی چپ دو جدول Loan و Borrower به صورت زير می شود:

Left outer join Example

الحاق چپ با استفاده ازالحاق طبيعی و اجتماع بدست می آيد:

R S = S (R S)

right outer join

الحاق راست مشابه الحاق چپ است با اين تفاوت که کليه مقادير رابطه سمت راست عملگر الحاق در نتيجه ظاهر می شود.

R S

مثال. الحاق خارجی راست دو جدول Loan و Borrower به صورت زير می شود:

Right outer join Example

الحاق چپ با استفاده ازالحاق طبيعی و اجتماع بدست می آيد:

R S = R (R S)

full outer join

الحاق خارجی کامل يا به طور خلاصه الحاق خارجی الحاق خارجی چپ و راست را با هم ترکيب می کند. نتيجه الحاق کامل خارجی مجموعه کليه ترکيبات تاپل های R و S است که صفات خاصه مشترک آنها برابر است بعلاوه تاپل هائی در S که در R نيستند و تاپلهای R که در S وجود ندارند.

الحاق خارجی دو رابطه R و S به صورت زير نوشته می شود:

R S

مثال. الحاق خارجی دو جدول Loan و Borrower به صورت زير می شود:

Full outer join Example

الحاق خارجی کامل با اجتماع الحاق چپ و الحاق راست بدست می آيد:

R S = (R S)(R S)
R S = R S (R S)


مثال های کاربردی

مثال بانک. رابطه های زير را درنظر بگيريد:

branch (branch_name, branch_city, assets)
customer (customer_name, customer_street, customer_city)
account (account_number, branch_name, balance)
loan (loan_number, branch_name, amount)
depositor (customer_name, account_number)
borrower (customer_name, loan_number)

سوال1. کليه شماره وام هائی که مقدارشان از 1200 بيشتر است را پيدا کنيد.

loan_numberamount > 1200 (loan))

سوال2. کليه مشتريانی که يک وام، يک حساب يا هردو را پيدا کنيد.

customer_name (borrower) customer_name (depositor)

سوال3. کليه مشتريانی که يک وام و يک حساب در بانک دارند را پيدا کنيد..

customer_name (borrower) customer_name (depositor)

سوال4. اسامی کليه مشتريانی که يک وام در شعبه Perryridge دارند را پيدا کنيد..

customer_namebranch_name="Perryridge"(borrower loan))

سوال5. اسامی کليه مشتريانی که يا حساب دارند يا وام گرفته اند (ولی نه هردو) را پيدا کنيد.

customer_name ((σ account_number is null or loan_number is null ( depositor borrower))

سوال6. اسامی کليه مشتريانی که يک وام در شعبه Perryridge دارند ولی هيچ حسابی در هيچ شعبه ندارند را پيدا کنيد..

customer_namebranch_name="Perryridge" (borrowerloan)) – customer_name(depositor)

+ نوشته شده در  پنجشنبه پنجم آبان 1390ساعت 18:12  توسط سيد محمدسليماني  | 

معرفی گرایشهای کنکور کارشناسی ارشد کامپیوتر

رشته مهندسی کامپیوتر که به طراحی و ساخت اجزای مختلف کامپیوتر می پردازد، لذا از اهمیت بسیار زیادی در دنیای امروز برخوردار است. هدف از طی این دوره تربیت کارشناسانی است که در زمینه تحلیل، طراحی، ساخت و راه اندازی دستگاهها و مجموعه های سخت افزاری جدید، بررسی و شناخت مجموعه های سخت افزاری و نرم افزاری موجود، نگه داری، عیب یابی و تعمیر و اصلاح و توسعه فعالیت کنند. طراحی، شبیه سازی، فرآوری، پردازش، سنجش، آموزش، ویرایش و ... همه مفاهیمی هستند که با بالاترین دقت و در کوتاه‌ترین مدت زمان ممکن در برنامه های نرم افزاری کامپیوتر انجام می شوند. لذا هدف از این رشته تربیت نیروی متخصص برای انجام امور فوق است.

گرایش‌ها و ابعاد مختلف این رشته در کارشناسی ارشد

این رشته در مقطع ارشد دارای چهار گرایش معماری کامپیوتر، مهندسی نرم‌افزار، هوش مصنوعی و الگوریتم و محاسبات است.

چه مباحثی که در هر گرایش مطرح می‌شود ؟

گرایش نرم‌افزار : در گرایش نرم‌افزار در مقطع کارشناسی ارشد دانشجویان با سیستم‌های عامل پیشرفته ـ بانکهای اطلاعاتی ـ برنامه‌نویسی پیشرفته و تحت WEB ـ الگوریتم‌های پردازش موازی و ... آشنا می‌شوند.

گرایش هوش مصنوعی:  در این گرایش با مطالب جدیدی مانند شبکه‌های عصبی ـ هوش مصنوعی پیشرفته ـ تئوری فازی ـ پردازش تصویر و ... آشنا می‌شوند.

گرایش معماری کامپیوتر : در این گرایش دانشجویان با معماری‌های پیشرفته کامپیوتر و ابر رایانه‌ها شبکه‌های کامپیوتری گسترده ـ پردازش تصویر و طراحی سیستم‌های تحمل‌پذیر خطا و ... آشنا می‌شوند.

گرایش الگوریتم و محاسبات : این گرایش که یک گرایش جدید است. دانشجویان با الگوریتم‌های توزیعی و پیشرفته ـ ریاضیات پیشرفته کامپیوتری و ... آشنا می‌شوند.

توانایی‌های لازم برای داوطلبان این رشته

توانایی ذهنی ویژه‌ای برای تحصیلی در این رشته مورد نیاز نیست. البته دانشجویانی که پایه ریاضی قوی و توانایی استدلالی و استقرایی بهتری دارند، در این رشته موفق‌ترند. از لحاظ جسمانی مهمترین ویژگی داشتن قدرت بصری خوب است و دانشجویان با قدرت شنوایی و حرکتی پایین نیز می‌توانند در این رشته ادامه تحصیل دهند. مهمترین نکته‌ای که در مورد این رشته می‌توان عنوان کرد، داشتن روحیه مطالعه مستمر است چرا که سرعت پیشرفت علم در این رشته نسبت به رشته‌های دیگر بسیار بالاست و دانشجو باید بطور مستمر در پی مطالب جدید و یادگیری آنها باشد.

گرایش‌های این رشته در کارشناسی

رشته مهندسی کامپیوتر در مقطع کارشناسی دارای دو گرایش سخت افزار و نرم افزار است که البته این دو گرایش در مقطع کارشناسی تفاوت قابل توجهی با یکدیگر ندارند. گرایش سخت افزار در برگیرنده فعالیت های آموزشی، پژوهشی و صنعتی در خصوص قطعات، بردها، تجهیزات و در نهایت سیستم های کامپیوتری در مقیاس های مختلف است و یکی از شاخه های مهم آن به نام معماری کامپیوتر ( طراحی و ساخت کامپیوتر ) است. هدف از گرایش نرم افزار کامپیوتر، آموزش و پژوهش در زمینه زبانهای مختلف برنامه نویسی، سیستم های عامل مختلف و طراحی انواع الگوریتم ها است.

هوش مصنوعی

گرایش هوش مصنوعی تنها گرایشی است که داوطلبان کنکور سراسری کارشناسی ارشد می‌توانند در کنار گرایش‌های دلخواه خود  )نرم افزار و محاسبات و الگوریتم یا معماری کامپیوتر ) در وقتی جداگانه به سوال‌های آن پاسخ گویند. داوطلبان در هنگام کنکور موظفند در یک وقت ۶۰ دقیقه ای به سوالات نرم افزار یا سخت افزار پاسخ گویند و سپس در یک وقت ۶۰ دقیقه ای جداگانه به سوالات هوش مصنوعی بپردازند. هیچکدام از دانشجویان دوگرایش به گذراندن واحدهای جبرانی جهت تحصیل در این گرایش نیاز ندارند. این در حالی است که شمار پذیرفته شدگان در گرایش هوش از بقیه گرایش‌ها نیز بیشتر است. در دوره کارشناسی دانشجویان صرفا با یک درس سه واحدی با نام هوش مصنوعی آشنایی پیدا می‌کنند و آشنایی بیشتر با این معقوله به طور کامل در دوره کارشناسی ارشد صورت می‌گیرد . با توجه به واحدهایی که در دوره کارشناسی ارشد گرایش هوش مصنوعی تدریس می‌شود دانشجویان می‌توانند موارد آموزشی و کاربردی متفاوتی را بیاموزند از جمله :

یادگیری ماشین : روشهایی که کامپیوتر را قادر میسازد عملی شبیه به یادگیری و تجربه را در حین انجام مکرر یک عمل انجام دهند یعنی با توجه به اعمالی که دفعات قبل انجام داده و بررسی نتایج آنها سعی کند در دفعات بعدی اعمالی بهتر و مطلوب تر و با خطای کمتر انجام دهد .

شبکه های عصبی :  روش جدید حل مسائل هوش مصنوعی بوسیله شبکه ای از واحدهای متصل به هم که هر کدام قابلیت پردازش داده ها ، ارتباط با نورون های دیگر وهمچنین ایجاد تغییرات در مشخصات شبکه را دارند و این اعمال را در جهت بهینه سازی عملکرد شبکه انجام میدهند .شبکه های عصبی معمولا در مسائلی نظیر بهینه سازی ، تخمین توابع ، کنترل و ... کاربرد دارند

پردازش تکاملی : شاخه ای جدید از هوش مصنوعی که با در نظر گرفتن یک یا چند جواب اولیه برای یک مساله بوجود آوردن جوابهای جدید از جوابهای موجود و انتخاب جوابهای بهتر سعی میکند یک جوابی میکند یک جوابی نسبتا بهینه برای مساله بدست آورد.

رباتیک : طراحی رباتهای کامپیوتری (مکانیکی یا نرم افزاری) برای انجام وظیفه ای خواص .برای هوشمند ساختن رباتها از آلگوریتم های هوش مصنوعی مانند یادگیری ، پردازش تصاویر ، تشخیص گفتار و ... استفاده میشود

منطق فازی : تعمیمی است ازمنطق کلاسیک که در آن بجای دو مقدار درست و غلط ، درجه درستی داریم که میتواند یین عدد صفرو یک باشد. پردازش زبان طبیعی :قسمتی از هوش مصنوعی که به پردازش متون زبانهای طبیعی میپردازد تا معنای آنها را استخراج کند .

سیستم های خبره : سیستم های که بوسیله جمع آوری داده ها و قوانین در یک زمینه خاص میتوانند درآن زمینه مانند یک فرد خبره و متخصص عمل کند  ( نمونه رباتهای جراح )

محاسبات نمادین : انجام محاسبات ریاضی به صورت نمادین نه عددی . یعنی اگر ۲ به توان ۲ چهار میشود این الگوریتمهای هوش مصنوعی قدرت تعمیم آن به x به توان ۲ را دارند و در نهایت به جای عدد جوابی وابسته به نماد برمیگردانند مثل x ضربدر x.

الگوریتم و محاسبات

جدیدترین گرایش رشته مهندسی کامپیوتر در مقطع ارشد می‌باشد که از سال گذشته به فهرست گرایش‌های رشته مهندسی کامپیوتر اضافه شده است. در این گرایش دانشجویان ( علی الخصوص کارشناسان گرایش نرم افزار )  با توجه به ضرایب دروس نخصصی نرم افزار خود پذیرفته شده و به ادامه تحصیل خواهند پرداخت. در این گرایش بیشتر جنبه‌ی الگوریتمیک و وابسته به محاسبات دانشجویان نرم افزاری مورد توجه و تقویت قرار خواهد گرفت. میزان پذیرفته شدگان در این گرایش از همه گرایش‌ها کمتر است ولی قبولی در این گرایش به دلیل توجه داوطلبان به دیگر گرایش‌های شناخته شده این رشته ، برای دانشجویان با پیش زمینه نرم افزار آسان‌تر است. در طول تحصیل در این گرایش دانشجویان در زمینه‌های زیر تعلیم داده شده یا تقویت خواهند شد:

طراحی الگوریتم ها : روش‌های طراحی الگوریتم که در دوره کارشناسی به دانشجویان تا حدودی آموزش داده شده است در این گرایش به صورت پیشرفته و پیچیده‌تری جهت طراحی آلگوریتم‌های قدرتمندتر و بهینه‌تر آموزش داده می‌شود.

ساختمان داده ها : ساختارهای داده‌ای که در طول دوره کارشناسی آموزش داده شده ساده‌ترین نوع ساختارها بوده‌اند حال آن‌که در این گرایش کارشناسی ارشد، ساختارهای پیچیده‌تر و نوین‌تری آموزش داده می‌شود تا برنامه نویسان را قدرتمندتر و مدرن تر از قبل جهت اجرای خواسته های نرم افزاری آماده کند.

ساختمان های گسسته : مجموعه تمام ساختمان‌های منطقی و عددی در قالب ریاضیات آموزش داده می‌شود تا با به کارگیری آن‌ها در الگوریتم‌های محاسباتی و برنامه نویسی بهترین بازدهی حاصل شود.

نظریه محاسبات : این مبحث پس از آشنایی دانشجویان با نظریه زبان‌ها و ماشین‌ها مطرح می‌شود. در این مبحث مدل‌ها و روش‌های مختلف محاسبات مورد مطالعه قرار می‌گیرد . همچنین محدودیت‌های محاسبات به ویژه در الگوریتم‌های کامپیوتری مورد مطالعه قرار می‌گیرد. راه حل‌هایی برای مسائلی که حتی با پیشرفته‌ترین سیستم‌ها هم مدت زمانی طولانی برای اجرای الگوریتمشان نیاز است، در این مبحث ارائه می‌شود.

نظریه گراف : بررسی بسیار پیچیده‌تر گراف‌ها و کاربردهاشان نسبت به آنچه در دوره کارشناسی ارائه شده است .

نظریه بازی ها : در این گرایش مطرح می‌شود و هدف آن بررسی الگوریتم‌هایی است که مانع رسیدن به یک نتیجه خاص و چگونگی چیره شدن بر آن، است.

+ نوشته شده در  پنجشنبه چهاردهم مهر 1390ساعت 11:4  توسط سيد محمدسليماني  |