1 / 35

Mühendislikte Dil Teorisi ve Programlama Paradigmaları

Yrd. Doç. Dr. M. Fatih HOCAOĞLU Mühendislik ve Mimarlık Fakültesi Endüstri Mühendisliği Bölümü. Mühendislikte Dil Teorisi ve Programlama Paradigmaları. Neden Böyle Bir Konu . Üniversitemiz çok disiplinli bir yapıya sahip,

shona
Download Presentation

Mühendislikte Dil Teorisi ve Programlama Paradigmaları

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Yrd. Doç. Dr. M. Fatih HOCAOĞLU Mühendislik ve Mimarlık Fakültesi Endüstri Mühendisliği Bölümü Mühendislikte Dil Teorisi ve Programlama Paradigmaları

  2. Neden Böyle Bir Konu • Üniversitemiz çok disiplinli bir yapıya sahip, • Çalışmalarımızın diğer disiplinlerle olan etkileşimi ve oluşturacağı sinerji, üniversitenin ana profilini oluşturacaktır, • Bilimsel üretimin en önemli gerekliliği, ilgilenilen konunun felsefi arka planına olan hakimiyete bağlıdır, • Bir kavramın anlaşılması, daha basit ifadelere dönüştürebilme becerisi ile tanımlanır,

  3. Sunum Planı • Dil teorisi • Syntax, Semantic ve Grammar • Bir cümlenin bileşenlerine ayrılması (Grammarparsing) ve gramer kuralları • Kural tabanlı cümle üretimi • Mantıksal ifadelerden gramer kuralların üretimi • Modelleme dillerinde ifade • Dillere göre paradigma

  4. Hangi Sorulara Cevap Arıyoruz • Doğal dilin arka planında yer alan matematik gösterim nedir ? • Doğal dil ifadeleri mantık formülasyonu dönüşümü, • Paradigma ve gramer ilişkisi, • Bilgisayar dillerinin muhakeme ve dil yapısının izlenmesi

  5. Temel Varsayım Ortak Dil, gramer ve muhakeme mekanizması

  6. Bir Dil Bileşeni olarak: Bilgi Gösterimi • Bilgi gösteriminin temel hareket noktası Kavramsallaştırmadır. • Kavramsallaştırma dünyanın, belirli bir amaç için, basitleştirilmiş bir soyutlamasıdır. • Ontoloji bu soyutlamaya ilişkin spesifikasyonları belirler.

  7. Dil ve Mantık İlişkisi • Dil bir alfabe üzerinde tanımlanmış (∑), karakter katarları (string) (∑*) olarak tanımlanır. • Karakter katarları bir gramer kuralına tabi olarak üretilirler. • Bir mantıksal dilin bileşenleri; • Syntax • Semantic • Theoremproving • Önerme Mantığı (Propositionallogic) • Dünya tasviri doğrulanan veya doğrulanmayan önermeler ve doğruluğuna inanılan olgular üzerinde kurgulanır • Birinci Derece Mantık (First-OrderLogic); Nesneler, ilişkiler, özellikler ve fonksiyonlar • Dünya varlıkları ve aralarında kurulu ilişkileri açıklar • Temporallogic zaman sırasallık katarak bir adım ileriye taşır • Epistemologicalcommitments; Bilginin stative bilgisi Ontolojik Betimleme

  8. İçerikten Bağımsız Gramer • Değişkenler, sonlandırıcı semboller ve sonlandırıcı olmayan semboller (variable, non-terminal symbols, terminal symbols) • V: Değişkenler, • ∑: Alfabe (terminal ifadeler) • P: Kural seti, P Є V x(V U ∑)* • S: Başlangıç sembolü Context-FreeGrammartree

  9. Formal Diller ve Ontolojik ve Epistemolojik Betimlemeleri • Muhakeme Teknikleri • ModusPonen, Modustolen • And- elimination • And- introduction • Or- introduction • Doublenegationelimination • Unitresolution • Resolution

  10. Bir Cümlenin Anlam Yapısı • Kurulan bir cümle iki temel yapıda ele alınır:Eylem Bildiren ve Durum bildiren cümleler • Önerme içeriği:(e.g., “the door is closed”) • Örnek: Eylem Bildiren • İstenilen durum = “the door is closed ” İstek İfade = “please close the door” • Bilgilendirme içeriği = “the door is closed”” İstek İfade = “the door is closed!” • Sorgulama = “the door is closed” İstek İfade = “is the door closed?”

  11. <Cümle> => <isim-ifadesi><fiil ifadesi> => <uygun isim><fiil ifadesi> => <Ahmet><fiil><zarf> => Ahmet drives <zarf> => Ahmet drivesfrequently Gramer Kuralları • Kural tabanlı cümle oluşturma; • <sentence>→<noun-phrase> <verb-phrase> • <sentence>→<noun-phrase> <verb><direct-object-phrase> • <noun-phrase>→<proper-noun> • <proper-noun>→Ali, Ahmet, Driver • <common-noun>→car; brake • <determiner>→a;the • <verb-phrase>→<verb><adverb>; <verb> • <verb>→stop; • <adverb>→slowly; eventually, Always

  12. Kavramsal Model Mantıksal ifadeler Gramer Gerçek Sistem Davranışı Mantıksal çözümleme ve gramer kuralları üretimi Gerçek dünya ifadeleri KM kullanarak TF kurulması Mantıksal İfadeden Matematiksel Çözümlemeye Mantıksal Gramer Çözümlemesi Paradigma

  13. If brake is pushed, then the car stops. eventually Kuraldan Cümleye Olaylar arası sembolik zaman bilgisi If brake is pushed, then the car stops. IFBrake=“pushed” Then Car=“stop” If brake is pushed, then the car stops. If brake is pushed, then the car stops. If brake is pushed, then the car stops. If brake is pushed, then the car stops. If brake is pushed, then the car stops. If brake is pushed, then the car stops. eventually (Brake=“pushed”  (Car=“stop”)) P V ¬P = 1

  14. A S0 S1 B A B A S1 S0 B A Durum Geçişleri Mantıksal İfade Gramer Kuralları FSA SAB, S ¬A, B B, B¬B B (A(B)) SAB, S ¬A, BB B (A (B))

  15. S0 S0 S0 S0 S0 A A A A A B B B B B A S0 S0 S0 S0 S0 S0 S1 B A S0 S0 S0 S0 B ¬A ¬A ¬A ¬A S0 S0 S0 S0 B B B B B S0 S0 S0 S0 S0 S1 S1 S1 S1 S1 A A A A A S0 S0 S0 S0 S0 B B B B B B S0 S0 S0 S0 S0 S0 ¬B ¬B ¬B ¬B ¬B ¬B S1 S1 S1 S1 S1 S1 Gramer Kuralları ile Cümle Doğrulama (Brake=“pushed”(car=“stops”)) S0 A B S0 S1 A ¬A ¬B S1 S0 B brake(stand_by,12.0). car(moving,12.0). …..

  16. Buraya kadar ne oldu ? • Bir cümlenin oluşumu – alfabe, kelime ve cümle • Bir dilin grameri, • Kurallı cümle oluşturma, • Dil ve muhakeme, • Dil ifadelerinin mantıksal tanımı ve matematiksel çözümlemesi

  17. Sonrası • Programlama Dilleri tüm bu kavramları nasıl ele alır, • Bilgi gösterimi • Yazım ve semantik • Varlık tanımı ve paradigma • Muhakeme mekanizması var mı ? Olmalı mı ?

  18. Deklarative programlama vs. Prosedürel Programlama Nesne Yönelimli Mantık Programlama Fonksiyonel Programlama Programlama Paradigmaları

  19. Programlama Dil Tipleri • Declarative (bildirimsel) • Prosedürel • Yorumlayıcılar • Virtualmachine

  20. Bildirimsel ve Prosedürel Programlamalar • Bildirimsel diller varlıkları tanımlama esaslıdır, bir çözümü tarif etmek üzerine kurgulanmazlar. Problem tanımı ile çözüm arasında bir topolojik benzerlik kurulabilir. • Prosedürel diller temelde problemin tanımlanmasından sonra farklı bir algoritmik çözüm geliştirirler ve topolojik benzerlik yoktur.

  21. Mantık Programlama • Önerme (Proposional) mantığı ve birinci derece mantık (first-orderlogic) üzerine kurgulanmış bir dünya betimlesi vardır. • Tasvir edilen dünya doğruluğu kabul edilen olgular (fact) ve doğruluğu veya yanlışlığı ispat edilecek olan önermeler ile ispat için kullanılan bir muhakeme mekanizması ile kurgulanır.

  22. Örnek: Aile Ağacı Bilgi Tabanı • BİLGİTABANI erkek(fatih). // Erkek çocuklar erkek(salih). erkek(hikmet). kiz(melltem). // Kız çocuklar kiz(ayse). kiz(melek). baba(habip,fatih). Baba(habip,salih). baba(habip,hikmet). baba(habip,melek). baba(habip,meltem). baba(habip,ayse). Evli(habip,gülizar). anne(Anne,Cocuk):-evli(Baba,Anne),baba(Baba,Cocuk). kardes(Cocuk1,Cocuk2):-baba(Baba,Cocuk1),baba(Baba,Cocuk2), Cocuk1\=Cocuk2, anne(Anne,Cocuk1),anne(Anne,Cocuk2). evlat(X,Y):-baba(Y,X),anne(Z,X),evli(Y,Z). ogul(X,Y):-evlat(X,Y), erkek(X). kizEvlat(X,Y):-evlat(X,Y),kiz(X). akraba(X,X,kendisi). akraba(X,Y,kardes):-kardes(X,Y). akraba(X,Y,babasi):-baba(X,Y). akraba(X,Y,annesi):-anne(X,Y).

  23. Örnek: Aile Ağacı Sorgu Yapıları Sorgu Fatih’in babasının oglu olan fakat fatih’in kardeşi olmayan kişi kimdir ve Fatih ile akrabalık ilişkisi nedir ? Fatih’in babasının oğlu olduğu halde kardeşi olmayan kişi kimdir ? baba(X,fatih),ogul(Z,X), not(kardes(fatih,Z)),akraba(fatih,Z,L). Doğal Dil Dönüşümü

  24. Özyineleme vs. iterasyon • Her adımda çözümde gelişme görülür, intfactorial=1; For (int i=1; i<=n; i++) factorial=factorial*i; • Doğal Dil açılımı • Bir sayının faktöryeli, 1’den başlanarak, o sayıya kadar olan tam sayıların birer artımlı olarak çarpımıdır. • Procedural – not declarative • Her adım problemin daha basit bir formuna dönüştürülerek en ilkel, bilinen formuna doğru basitleştirme yapılır. N! = N* (N-1)! factorial(1,1). factorial(X,F):-N is F-1, factorial(K, N),!, X is K*F. • Bir sayının faktöryeli o sayının bir eksigininfaktöryeli ile çarpımına eşittir. Fact, dünya ile ilgili bilinen Problemin anlatımı, çözüm tanımı değil.

  25. Fonksiyonel Programlama • Dünya bir fonksiyonlar ailesi olarak tasvir edilir. • Her bir fonksiyon bir girdi parametre setine, çıktı parametresine ve prosedüre sahiptir. • Büyük çaplı problemlerin çözümünde yönetilmesi zor bir çözümdür: 7 değişken kuralı • NYP fonksiyon tanımları içerisinde bir tür iç tasarım unsuru olarak hala geçerlidir.

  26. NYP: Nesne Yönelim Programlama • Varlıklar birbirlerinden ayırt edilmelerini sağlayan özniteliklere ve fonksiyonlara sahiptirler. Çevrelerindeki varlıklar ile olay etkileşimine sahiptirler. • Dünya tasvirinde kullanılan doğal dil ifadelerinde yer alan Öznelerin nesne (sınıf) fiillerin sınıflara ait fonksiyon ve özellik tanımlamalarının öznitelik olarak tasarlanması doğal dil-OOP arası bir çeviri olarak düşünülebilir.

  27. NYP Özellikleri • Çok biçimlilik • Veri saklama • Soyutlama • Miras mekanizması • Esneklik • Orthogonality

  28. Cephe tabanlı Programlama • NYP’de karşılaşılan ana sorunlar; • Kod saçılması • Saçılmış isterler • İster kümeleri • Cephe tabanlı programlama; Birbirlerini çapraz kesen ilgileri ayrıştırarak modülerliği güçlendirmeyi amaçlayan bir paradigmadır. • NYP’nin dayandığı ontolojiden daha farklı bir paradigmaya sahip değildir. Sunulan paradigma yazılım teknolojine ilişkindir.

  29. Etmen tabanlı Programlama • Esin kaynağı insan benzeri varlık davranışlarıdır, • Temel özellikleri; • Proactive • Reactive • Social • Otonom • %90+ yazılım mühendisliği %10- Yapay Zeka • Bir ortamda varolurlar ve ardıl olarak tanımlı fonksiyonları icra ederek görevlerini tamamlamazlar, bulundukları çevrede tanımlı olaylara amaçlarını sağlayacak şekilde reaksiyon gösterirler.

  30. Etmen Yetenekleri Tümleşimi Akıllı Arayüz

  31. Matematik Modeller: Modelleme Araçları • FSM (FSA) • Varlıkların durumları ve durum geçişleri ile eylem yürütmeleri tasvir edilir. • Bond Graph • Dinamik fiziksel sistemlerin modellemesinde kullanılır, • Enerji, güç, sinyal, akış gibi fiziksel öğelerin modellenmesinde yaygın olarak kullanılır, • Düğümler ve aralarında tek-çift yönlü akışlar olarak tasarlanırlar • Celluarautomaton • Birbiri ile etkileşimli, durumsallık bilgisi olan sonlu sayıda hücre modeli ile dünya kurgulanır.

  32. Sonuç • Bir dil tanımı doğal dil dahil tüm dilleri evrensel bir genelleme ile tanımlamalıdır. • Syntax • Semantic • Grammar bu tanımlamanın elemanlarıdır • Dillerin birbirleri arasında dönüşümü; • Doğal dillerin arkaplanını oluşturan algoritmik yapıya, • Matematiksel dillerin bir ontolojik arkaplana sahip olmasına bağlıdır. • Bir muhakeme mekanizması dil tanımını muhakeme algoritması ile tümleştirir,

  33. Bu dönüşüm ne sağlar ? • Sistem tasarımında doğal dilden başlayan ve VV&A sürecine kadar devam eden sürecin her aşamasında geçiş tasarımı güçlendirir, • Süreç kontrolü sağlar, • Süreç raporlamalarını ve taraflar arasında uzlaşımı güçlendirir, • Ortak bir dil üzerinde kavramları birleştirir, • Süreçler ve dillerin daha geniş bir ontolojik betimleme iddiasına sahip olmasını sağlar, test eder, • İfadelerin nesnelleştirilerek daha güçlü olarak kavranmasını sağlar.

  34. T e ş e k k ü r l e r …

More Related