AGI & Research

Yapay Zeka Planlamasını Anlama: Klasik Mantıktan Otonom Ajanlara

Yapay Genel Zeka (AGI) alanında, planlama yeteneği öğrenme yeteneğinden belki de daha kritiktir. Makine öğrenimi modelleri desen tanıma ve tepkisel karar vermede başarılı olsa da, gerçek otonomi zaman içinde ileriye bakma kapasitesini gerektirir. Yapay zeka planlaması, başlangıç koşulları ve uygulanabilir eylemler kümesi verildiğinde bir hedefe nasıl ulaşılacağıyla ilgilenen yapay zeka alt alanıdır.

Gelişmiş ajanlar geliştiren geliştiriciler için planlama algoritmalarını anlamak esastır. İster bir robot navigasyon sistemi, isterse otomatik bir veri hattı orkestratörü inşa ediyor olun, çekirdek mantık arama algoritmalarında ve durum uzayı keşfinde kök salmıştır. Bu gönderi, klasik formalizmlerden modern sezgisel uygulamalara geçiş yaparak yapay zeka planlamasının temellerini ele alır.

Durum Uzayı: Problemi Tanımlama

Temelinde, bir planlama problemi durum uzayı içinde bir grafik araması olarak modellenebilir. Üç temel bileşeni tanımlıyoruz:

  • Başlangıç Durumu: Planın başlangıcındaki dünya konfigürasyonu.
  • Hedef Durumu: İstenen dünya konfigürasyonu.
  • Eylemler: Sistemi bir durumdan diğerine geçirebilecek operasyonlar kümesi. Her eylemin ön koşulları (çalıştırılmadan önce doğru olması gereken gerçekler) ve etkileri (çalıştırıldıktan sonra değişen gerçekler) vardır.

Geleneksel olarak, bu STRIPS (Stanford Araştırma Enstitüsü Problem Çözücü) notasyonu kullanılarak formalize edilir. STRIPS'te dünya, akışkan gerçekler (fluent facts) kümesi olarak temsil edilir. Bir eylem, yalnızca tüm ön koşulları mevcut durumda karşılanıyorsa uygulanabilir.

Klasik Planlama: Genişlik Öncelikli Arama vs. Sezgisel Arama

Planlama için en naif yaklaşım Genişlik Öncelikli Arama (BFS)'dır. BFS, hedef bulunana kadar tüm olası durumları seviye seviye keşfeder. Ağırlıksız grafiklerde tam ve optimal olsa da BFS, "boyutlanma laneti"nden muzdariptir. Olası eylemlerin ve durum değişkenlerinin sayısı arttıkça, durum uzayı üstel olarak patlar ve BFS, en basit problemler dışında hesaplamaca uygulanamaz hale gelir.

Bunu azaltmak için modern planlayıcılar, özellikle A* algoritması olan Sezgisel Arama'ya güvenir. A*, şu maliyet fonksiyonunu kullanır: $f(n) = g(n) + h(n)$, burada:

  • $g(n)$, başlangıç düğümünden mevcut düğüme kadar olan maliyettir.
  • $h(n)$, mevcut düğümden hedefe kadar olan maliyetin sezgisel tahminidir.

İyi bir sezgi $h(n)$, uygun (asla gerçek maliyeti abartmamalı) ve tutarlı olmalıdır. Planlamada sezgiler genellikle problem kısıtlamalarının gevşetilmesiyle türetilir. Örneğin, klasik "Bloklar Dünyası" problemde, yaygın bir sezgi, her hareketin tam olarak bir bloğu yerine koyduğu varsayımıyla henüz hedef konumlarında olmayan blokların sayısıdır.

Uygulama: Basit Bir A* Planlayıcı

2B bir ızgara için A* planlayıcısının basitleştirilmiş bir Python uygulamasına bakalım. Bu örnek, sezgilerin aramayı kör aramaya göre daha verimli bir şekilde çıkmaz sokaklardan uzaklaştırıp hedefe yönlendirdiğini gösterir.

import heapq

class Node:
    def __init__(self, position, cost=0):
        self.position = position
        self.cost = cost
    
    def __lt__(self, other):
        # Tahmini toplam maliyete göre karşılaştır (f = g + h)
        return (self.cost + self.heuristic()) < (other.cost + other.heuristic())

    def heuristic(self):
        # Sezgi olarak Manhattan mesafesi
        goal = (5, 5)
        return abs(self.position[0] - goal[0]) + abs(self.position[1] - goal[1])

def a_star_planner(start, goal):
    open_list = []
    heapq.heappush(open_list, Node(start))
    closed_list = set()
    
    while open_list:
        current_node = heapq.heappop(open_list)
        
        if current_node.position == goal:
            # Yolu yeniden oluşturmak için geriye dön
            path = [current_node.position]
            while current_node in open_list or current_node in closed_list:
                # Kısalık için basitleştirilmiş geriye dönme mantığı atlandı
                break
            return path

        if current_node.position in closed_list:
            continue
        
        closed_list.add(current_node.position)
        
        # Komşuları üret (yukarı, aşağı, sol, sağ)
        for move in [(1,0), (-1,0), (0,1), (0,-1)]:
            next_pos = (current_node.position[0] + move[0], 
                        current_node.position[1] + move[1])
            
            # Sınır kontrolü
            if 0 <= next_pos[0] < 6 and 0 <= next_pos[1] < 6:
                if next_pos not in closed_list:
                    new_node = Node(next_pos, current_node.cost + 1)
                    heapq.heappush(open_list, new_node)
    
    return None # Yol bulunamadı

# Örnek Kullanım
start_state = (0, 0)
goal_state = (5, 5)
plan = a_star_planner(start_state, goal_state)
print(f"Optimal Plan Uzunluğu: {len(plan)} adım")

Gerçek dünya AGI bağlamında, durum uzayı nadiren basit bir 2B ızgaradır. Karmaşık mantıksal bağımlılıklar, zaman kısıtlamaları ve olasılıksal sonuçlar içerir. Ancak ilke aynı kalır: Arama uzayını budamak için alan bazlı bilgiyi (sezgileri) kullanın.

Modern Zorluklar: Olasılıksal ve Gerçek Zamanlı Planlama

Klasik planlama, deterministik ve tamamen gözlemlenebilir bir dünya varsayar. Gerçek uygulamalarda bu nadiren geçerlidir. Modern yapay zeka ajanları şunlarla başa çıkmak zorundadır:

  1. Kısmi Gözlemlenebilirlik: Ajan, dünyanın tam durumunu bilmez. Bu, durumun olası dünyalar üzerinde bir olasılık dağılımı olduğu İnanç Durumu Planlaması'na (Belief State Planning) yol açar.
  2. Stokastisite: Eylemler başarısız olabilir veya istenmeyen yan etkilere sahip olabilir. Bunun standart formalizmi POMDP'lerdir (Kısmen Gözlemlenebilir Markov Karar Süreçleri), genellikle Monte Carlo Ağ Araması (MCTS) kullanılarak çözülür.
  3. Gerçek Zamanlı Kısıtlamalar: Robotik veya oyunlarda, ajan yeni bilgiler geldikçe arka planda yeniden planlama yaparken bir planı uygulamaya devam etmelidir. Buna Herhangi Bir Zaman Planlaması (Anytime Planning) denir.

Büyük Dil Modellerindeki (LLM) son gelişmeler yeni bir paradigma getirdi: Dil olarak Planlayıcı. ReAct (Reason + Act) gibi araçlar, LLM'lerin doğal dilde yüksek düzeyde planlar oluşturmasına, ardından bu planların alt düzey kod tarafından uygulanmasına olanak tanır. Sembolik akıl yürütme için güçlü olsalar da, bu yöntemler hâlâ hassas sayısal optimizasyon ve uzun vadeli tutarlılıkta zorluklar yaşıyor; bu da klasik planlama algoritmalarının sinir ağlarıyla entegrasyonuna duyulan ihtiyacı vurguluyor.

Sonuç

Yapay zeka planlaması, algı ile eylem arasındaki köprüdür. Hedefleri ve kısıtlamaları formalize ederek, sadece şimdiki zamana tepki veren değil, geleceği öngören sistemler inşa edebiliriz. Orta düzeyden ileri düzey geliştiriciler için, durum uzayı araması, sezgiler ve mantıksal temsilin temellerini ustalaşmak, sağlam ve otonom ajanlar inşa etmenin temelini oluşturur. AGI'ye doğru ilerledikçe, sembolik planlamanın derin öğrenme ile entegrasyonu, hem zeki hem de güvenilir sistemler oluşturunun anahtarı olacaktır.

Share: