Udało mi się napisać taki program dokładnie skrypt np. w bazie jest grupa języki do zadań niskiego poziomu, a tej grupie takie pojęcia jak np. język c, assembler język c++, druga grupa wyglądała by tak języki do zadań wysokiego poziomu, a w tej grupie tak Java, PHP i napisałem skrypt której losuje dowolną grupę i dowolne pojęcie i układa zdanie np. PHP jest językiem niskiego poziomu i stara się określić na podstawie tych danych w bazie czy to zdanie jest prawdziwe czy nie może być jeszcze zdanie z przedrostkiem nie np. język C nie jest językiem wysokiego poziomu. I np. ktoś może dodać następną grupę, a mianowicie języki programowania w taki sposób, że jest np. opcja grupa i pod grupa i doda to tak pod grupa = język niskiego poziomu, a grupa tak język programowania i o tej chwili język c jest językiem programowania będzie prawdą.
Uruchomiłem pierwszy link i dostałem wyjście, które jest nie zrozumiałe. Tak samo jak idea, do czego to może się przydać? Na tej podstawie oceniłem, że nie wiem po co to komu. Można zrobić coś z czego faktycznie ktoś będzie korzystał. Minimalizacja funkcji bool’owskich używana jest przy budowie układów logicznych - oszczędność bramek.
(((prawda lub fałsz) albo fałsz) lub fałsz) no jak na moje to daje prawdę.
Nie wiem gdzie ty tu widzisz sztuczną inteligencję, z jakiej książki do AI korzystałeś pisząc to?
Zainteresuj się raczej terminami: matematyka rozmyta, sieć wielowarstwowa, prorogacja wsteczna, sieć Hopfielda, sieć Kohonena, algorytmy mrówkowe, algorytmy ewolucyjne.
A skąd ty możesz wiedzieć, czy 1234 nie jest rower da prawdę to zależy od tego jakie dane dostałem mój skrypt weź się nim trochę pobaw to może zrozumiesz daj mu na wejściu jakieś dane.
To co próbujesz zrobić nie wiele ma wspólnego ze sztuczną inteligencją bo jeśli chodzi o sztuczną inteligencję, to można ją też zdefiniować jako dział informatyki zajmujący się rozwiązywaniem problemów, które nie są efektywnie algorytmizowalne.
To co Ty robisz wiąże się z tzw. rachunkiem zdań (rachunkiem logicznym) który to rachunek podlega precyzyjnej algorytmizacji, a zatem i automatyzacji, do czego jak wiadomo komputery świetnie się nadają.
W Twoich przykładach uwzględniasz tylko takie pojęcia jak : koniunkcja, alternatywa czy negacja zdania, brak jeszcze takich elementów jak implikacja czy równoważność. Sam chyba widzisz, że tworzone przypadkowe zdania brzmią często idiotycznie i tylko gmatwają to co chciałeś zaprezentować.
Oczywiście sam problem wart jest zainteresowania, ale raczej należało by unikać operacji na konkretnych zdaniach z powodów o których wspomniałem.
O samym rachunku logicznym można znaleźć wiele stron i warto się z nimi zapoznać.
Warto też jak zauważył Kostek zainteresować się w dalszym etapie np. algebrą Boole’a i zastosowaniami praktycznymi związanymi z tą gałęzią matematyki oraz próbować pisać programiki automatyzujące dość nieraz uciążliwe operacje jeśli się je ma wykonywać przy pomocy ołówka i papieru. Stron na ten temat też można znaleźć wiele i na początek np.tu:
Ty nadal nie rozumiesz tego programu bo nie dodałeś do bazy żadnego pojęcia, ani żadnej grupy lub też nie połączyłeś ze sobą żadnych grup np.
Jest są pojęcia mars, wenus, jowisz należą do grupy planety
Są też pojęcia słońce, gwiazda x należą do grupy gwiazdy
i o tej chwili skrypt losując zdanie jowisz jest planetą będzie prawdziwe,a mars jest gwiazdą będzie fałszywe
natomiast jak ktoś połączy grupy planety podlegają kosmosowi czyli jest pod grupa planety i nowa grupa kosmos i następna zależność pod grupa gwiazdy i grupa kosmos
Do zdanie słońce jest kosmosem będzie prawdziwe i mars jest kosmosem też będzie prawdziwe właśnie tym zajmuje się mój program.
Działo się dlatego, ponieważ ktoś dodał ponad kilkaset wpisów do jednej tabeli a na logach apacha nie mam takiego wpisu, żeby ktoś tego dokonał jak to możliwe. Może jakiś botnet.
– Dodane 02.08.2013 (Pt) 13:28 –
Jak wy dodajecie takie dane jak np. 1234 albo 5 albo jakiś ciąg znaków to nie dziwcie się, że program potraktuje was tak że 5 jest 1234 musicie dodawać racjonalne dane.